package com.zy.asrs.mapper; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.InLocTimeDto; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.result.StockVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; import java.util.Set; @Mapper @Repository public interface LocDetlMapper extends BaseMapper { List listByPage(Map map); Integer listByPageCount(Map map); LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch); int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch); int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch); int deleteItem2(@Param("locNo")String locNo, @Param("model")String model, @Param("batch")String batch); int updateAnfme2(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("model")String model, @Param("batch")String batch); List getStockOutPage(Map map); Integer getStockOutPageCount(Map map); @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}") int updateLocNo(String newLocNo, String oldLocNo); @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC") List selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end); @Select("SELECT distinct ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE 1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, lm.modi_time, getdate()) = 0 AND (left(ld.batch, 4)) = (left(#{batch}, 4))") List selectSameDetlToday2(@Param("matnr") String matnr, @Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end); List getStockStatis(Map map); Integer getStockStatisCount(Map map); List getStockStatisExcel(); @Select("select sum(a.anfme) as sum from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr}") Double selectSumAnfmeByMatnr(@Param("matnr") String matnr); List selectPakoutByRule(String matnr); List getAsrsLocDetl(String matnr); Integer countLocNoNum(String locNo); // ------------------------------------------------- List queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set locNos); Double queryStockAnfme(String matnr, String batch); List queryStockTotal(); Integer sum(); List unreason(); Double selectLocDetlSumQty(String locNo); void updateMatTurn(@Param("matnrOld")String matnrOld,@Param("matnr")String matnr); /** * 批量插入库存明细 */ int batchDetls(@Param("locDetls") List locDetls); /** * 查询包装组号在库时间 */ List queryInLocTime(@Param("param") List param); /** * 按包装组号列表查询库位号列表 */ List selectLocNoByGroupNo(@Param("packageGroupNos") List packageGroupNos); /** * 查找不在备货区,没有理货的,不是一箱多卷的物料集合(只会是一托一箱一卷或一托两箱都一卷),按分切时间排序,确保最先匹配的日期最接近 * @param columnNum 备货区前几列 * @return 库存明细 */ List selectTallyGoosList(@Param("columnNum") int columnNum); /** * 按库位号更新库存明细理货状态 * @param locNo 库位号 * @param status 状态 */ void updateLhStsByLocNo(@Param("locNo") String locNo,@Param("status") int status); /** * 更新成品校验结果 * @param rollNo 卷号 * @param qualified 校验结果 合格/不合格 */ void updateQualifiedByRollNo(@Param("rollNo") String rollNo, @Param("qualified") String qualified); }