src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/WrkDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.WrkDetl; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -13,4 +14,8 @@ List<WrkDetl> selectByWrkNo(Integer wrkNo); int deleteItem(@Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); } src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -12,4 +12,6 @@ List<WrkDetl> selectByWrkNo(Integer wrkNo); boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch); } src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -16,6 +16,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; /** @@ -146,6 +147,7 @@ } @Override @Transactional public void adjust(MobileAdjustParam param, Long userId) { BasDevp basDevp = basDevpService.selectById(param.getStaNo()); if (null == basDevp || basDevp.getWrkNo() == null) { @@ -158,9 +160,67 @@ if (wrkMast.getWrkSts() < 10) { throw new CoolException("盘点无效,任务已盘点再入库"); } Date now = new Date(); List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<WrkDetl> list = param.getWrkDetls(); // 修改数量 Iterator<WrkDetl> iterator = wrkDetls.iterator(); while (iterator.hasNext()) { WrkDetl wrkDetl = iterator.next(); Iterator<WrkDetl> iterator1 = list.iterator(); while (iterator1.hasNext()) { WrkDetl wrkDetl1 = iterator1.next(); if (wrkDetl1.getAnfme() == 0) { iterator1.remove(); } if (wrkDetl.getMatnr().equals(wrkDetl1.getMatnr()) && Cools.eq(wrkDetl.getBatch(), wrkDetl1.getBatch())) { if (!wrkDetl.getAnfme().equals(wrkDetl1.getAnfme())) { // todo 盘点记录、保存调整记录 // 修改明细 if (!wrkDetlService.updateAnfme(wrkDetl1.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { throw new CoolException(wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号修改数量失败"); } } iterator.remove(); iterator1.remove(); } } } // 删除明细 for (WrkDetl wrkDetl : wrkDetls) { // todo 盘点记录、保存调整记录 if (!wrkDetlService.updateAnfme(-1.0D, wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { throw new CoolException("删除" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); } } // 添加明细 for (WrkDetl wrkDetl : list) { if (wrkDetl.getAnfme() == 0.0D) { continue; } // todo 盘点记录、保存调整记录 String orderNo = wrkDetl.getOrderNo(); Mat mat = matService.selectByMatnr(wrkDetl.getMatnr()); wrkDetl.sync(mat); wrkDetl.setOrderNo(orderNo); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); } } // 修改盘点任务主档状态 wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0?"Y":"N"); wrkMast.setModiTime(now); wrkMast.setModiUser(userId); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("修改盘点任务主档失败"); } } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -663,7 +663,7 @@ locDetl.setAppeUser(userId); locDetl.setAppeTime(now); if (!locDetlService.insert(locDetl)) { throw new CoolException("保存库存明细失败"); throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); } // 保存调整记录 AdjDetl adjDetl = new AdjDetl(); src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -56,4 +56,13 @@ public List<WrkDetl> selectByWrkNo(Integer wrkNo) { return this.baseMapper.selectByWrkNo(wrkNo); } @Override public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch) { if (anfme <= 0) { return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0; } else { return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; } } } src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -204,7 +204,7 @@ } // 修改库位状态 Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts("F"); locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); src/main/resources/mapper/WrkDetlMapper.xml
@@ -47,8 +47,38 @@ <result column="memo" property="memo" /> </resultMap> <sql id="batchSeq"> <choose> <when test="batch != null and batch != ''"> and batch = #{batch} </when> <otherwise> and (batch IS NULL OR batch = '') </otherwise> </choose> </sql> <select id="selectByWrkNo" resultMap="BaseResultMap"> select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo} </select> <delete id="deleteItem"> delete from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo} and matnr = #{matnr} <include refid="batchSeq"></include> </delete> <update id="updateAnfme"> update asr_wrk_detl set anfme = #{anfme} , modi_time = getdate() where 1=1 and wrk_no = #{wrkNo} and matnr = #{matnr} <include refid="batchSeq"></include> </update> </mapper>