package com.ruoyi.ams.asn.service; import com.ruoyi.ams.asn.domain.WmsDocAsnDetails; import com.ruoyi.ams.asn.dto.WmsDetailsReqDTO; import com.ruoyi.ams.asn.dto.WmsDetailsTotalDTO; import com.ruoyi.common.enums.Granularity; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 入库单明细Service接口 * * @author ruoyi * @date 2022-11-03 */ public interface IWmsDocAsnDetailsService { /** * 查询入库单明细 * * @param asnLineNo 入库单明细主键 * @return 入库单明细 */ WmsDocAsnDetails selectWmsDocAsnDetailsByAsnNoLineNo(String asnNo,String asnLineNo); /** * 查询入库单明细列表 * * @param wmsDocAsnDetails 入库单明细 * @return 入库单明细集合 */ List selectWmsDocAsnDetailsList(WmsDocAsnDetails wmsDocAsnDetails); /** * 查询入库单明细 * * @param wmsDocAsnDetails 入库单明细 * @return 入库单明细集合 */ WmsDocAsnDetails selectWmsDocAsnDetailsByModel(WmsDocAsnDetails wmsDocAsnDetails); /** * 新增入库单明细 * * @param wmsDocAsnDetails 入库单明细 * @return 结果 */ int insertWmsDocAsnDetails(WmsDocAsnDetails wmsDocAsnDetails); /** * 修改入库单明细 * * @param wmsDocAsnDetails 入库单明细 * @return 结果 */ int updateWmsDocAsnDetails(WmsDocAsnDetails wmsDocAsnDetails); /** * 批量删除入库单明细 * * @param asnLineNos 需要删除的入库单明细主键集合 * @return 结果 */ int deleteWmsDocAsnDetailsByAsnLineNos(Long[] asnLineNos); /** * 删除入库单明细信息 * * @param asnLineNo 入库单明细主键 * @return 结果 */ int deleteWmsDocAsnDetailsByAsnLineNo(Long asnLineNo); /** * 根据单号和明细删除 * * @param asnNo * @param asnLineNo * @return */ int deleteWmsDocAsnDetailsByAsnNoLineNo(String asnNo, Long asnLineNo); /** * 批量删除 * @param list * @return */ int deleteWmsDocAsnDetailsByAsnNoLineNos(List> list); /** * 根据status获取字段状态率 * @param field 字段名 * @param beginTime 起始时间 * @param endTime 结束时间 * @param status 默认总量 HG: 合格 BHG:不合格 DJ:待检 * @param granularity 时间粒度 * @return */ List getPassRate(String field, String beginTime, String endTime, String status, Granularity granularity); /** * 根据字段名获取时间段内年/月/日总量 * @param field 字段名 * @param beginTime 起始时间 * @param endTime 结束时间 * @return */ Map> queryAllGranularityTotal(String field, String beginTime, String endTime); /** * 根据字段field获取时间段根据时间粒度切割后产量 data不传即获取总量 * @param wmsDetailsReqDTO * @return */ List queryFieldTotalList(WmsDetailsReqDTO wmsDetailsReqDTO); }