src/main/java/com/zy/asrs/controller/WorkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/StaDescMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/RowLastnoService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/StaDescService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/WorkService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/RowLastnoMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/StaDescMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -154,8 +154,8 @@ @RequestMapping("/deal/preHave/start") @ManagerAuth(memo = "先入品处理") public R dealPreHave(@RequestParam Integer wrkNo) { StartupDto startupDto = workService.dealPreHaveStart(wrkNo, getUserId()); return R.ok("任务重新入库,目标库位:" + startupDto.getLocNo()); String locNo = workService.dealPreHaveStart(wrkNo, getUserId()); return R.ok("任务重新入库,目标库位:" + locNo); } } src/main/java/com/zy/asrs/mapper/RowLastnoMapper.java
@@ -9,4 +9,6 @@ @Repository public interface RowLastnoMapper extends BaseMapper<RowLastno> { RowLastno findBySection(Integer row); } src/main/java/com/zy/asrs/mapper/StaDescMapper.java
@@ -14,4 +14,6 @@ List<Integer> queryOutStaNosByLocNo(@Param("locNo") String locNo, @Param("typeNo") Integer typeNo); StaDesc queryCrnStn(Integer crnNo); } src/main/java/com/zy/asrs/service/RowLastnoService.java
@@ -5,4 +5,6 @@ public interface RowLastnoService extends IService<RowLastno> { RowLastno findBySection(Integer row); } src/main/java/com/zy/asrs/service/StaDescService.java
@@ -13,4 +13,6 @@ StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo); StaDesc queryCrnStn(Integer crnNo); } src/main/java/com/zy/asrs/service/WorkService.java
@@ -85,6 +85,6 @@ /** * 通知档手动生成任务 */ StartupDto dealPreHaveStart(Integer wrkNo, Long userId); String dealPreHaveStart(Integer wrkNo, Long userId); } src/main/java/com/zy/asrs/service/impl/RowLastnoServiceImpl.java
@@ -9,4 +9,8 @@ @Service("rowLastnoService") public class RowLastnoServiceImpl extends ServiceImpl<RowLastnoMapper, RowLastno> implements RowLastnoService { @Override public RowLastno findBySection(Integer row) { return this.baseMapper.findBySection(row); } } src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -54,4 +54,9 @@ return staDesc; } @Override public StaDesc queryCrnStn(Integer crnNo) { return this.baseMapper.queryCrnStn(crnNo); } } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,9 +13,11 @@ import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; import com.zy.common.model.enums.IoWorkType; import com.zy.common.model.enums.WorkNoType; import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; import com.zy.common.web.WcsController; import lombok.extern.slf4j.Slf4j; @@ -69,6 +71,10 @@ private OrderDetlService orderDetlService; @Autowired private WcsController wcsController; @Autowired private RowLastnoService rowLastnoService; @Autowired private SlaveProperties slaveProperties; @Override @Transactional @@ -881,9 +887,76 @@ } @Override public StartupDto dealPreHaveStart(Integer wrkNo, Long userId) { @Transactional public String dealPreHaveStart(Integer wrkNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(wrkNo); if (wrkMast == null) { throw new CoolException("任务已失效"); } String locNo = wrkMast.getLocNo(); LocMast locMast = locMastService.selectById(locNo); assert locMast != null; RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1()); assert rowLastno != null; return null; // 目标库位 LocMast targetLoc = null; for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) { if (Utils.isShallowLoc(slaveProperties, curRow)) { Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1()); // 因库位移转、需预留空库位 if (!locMastService.checkEmptyCount(targetLoc)) { continue; } } if (Cools.isEmpty(targetLoc)) { targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1()); // 因库位移转、需预留空库位 if (!locMastService.checkEmptyCount(targetLoc)) { continue; } // 目标库位 ===>> 浅库位, 则校验其深库位是否为 F D X if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) { LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo())); if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { continue; } } // 目标库位 ===>> 深库位, 则校验其浅库位是否为 O if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) { LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo())); if (!shallowLoc.getLocSts().equals("O")) { continue; } } } if (!Cools.isEmpty(targetLoc)) { break; } } if (targetLoc == null) { throw new CoolException("操作失败,当前仓库找不到空库位"); } // 修改工作档 StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo()); if (Cools.isEmpty(staDesc)) { throw new CoolException("入库路径不存在"); } wrkMast.setWrkSts(2L); wrkMast.setLocNo(targetLoc.getLocNo()); wrkMast.setStaNo(staDesc.getCrnStn()); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("修改工作档失败"); } return targetLoc.getLocNo(); } } src/main/resources/mapper/RowLastnoMapper.xml
@@ -19,4 +19,12 @@ </resultMap> <select id="findBySection" resultMap="BaseResultMap"> select * from asr_row_lastno where 1=1 and s_row <= #{row} and e_row >= #{row} order by (e_row - s_row) </select> </mapper> src/main/resources/mapper/StaDescMapper.xml
@@ -29,7 +29,13 @@ <if test="typeNo != null and typeNo !=''"> and asd.type_no = #{typeNo} </if> </select> <select id="queryCrnStn" resultMap="BaseResultMap"> select top 1 * from asr_sta_desc where 1=1 and crn_no = #{crnNo} and type_no = 1 </select> </mapper>