src/main/java/com/zy/asrs/service/WorkService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/WorkService.java
@@ -2,6 +2,7 @@ import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.WaitPakin; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.entity.param.FullStoreParam; import com.zy.asrs.entity.param.LocDetlAdjustParam; @@ -48,6 +49,13 @@ void emptyPlateOut(EmptyPlateOutParam param, Long userId); /** * 自动空板出库 * @param param * @return */ public WrkMast emptyPlateOut(EmptyPlateOutParam param); /** * 盘点出库 */ void locCheckOut(StockOutParam param, Long userId); src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -480,6 +480,70 @@ @Override @Transactional public WrkMast emptyPlateOut(EmptyPlateOutParam param) { WrkMast wrkMast = new WrkMast(); if (Cools.isEmpty(param.getOutSite())) { throw new CoolException("站点不存在"); } for (String locNo : param.getLocNos()) { // 获取工作号 int workNo = commonService.getWorkNo(0); // 获取库位 LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"库位不存在"); } // 获取源站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", 110) .eq("stn_no", param.getOutSite()) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); Integer sourceStaNo = staDesc.getCrnStn(); if (Cools.isEmpty(sourceStaNo)) { throw new CoolException("检索源站失败"); } Date now = new Date(); // 保存工作档 wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID wrkMast.setIoType(110); // 入出库状态: 110.空板出库 wrkMast.setIoPri(10D); wrkMast.setSourceStaNo(sourceStaNo); // 源站 wrkMast.setStaNo(param.getOutSite()); // 目标站 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locNo); // 源库位 wrkMast.setFullPlt("N"); // 满板:Y wrkMast.setPicking("N"); // 拣料 wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("Y"); // 空板 wrkMast.setLinkMis("N"); wrkMast.setAppeUser(1L); wrkMast.setAppeTime(now); wrkMast.setModiUser(1L); wrkMast.setModiTime(now); wrkMast.setMemo("生成自动空板出库"); boolean res = wrkMastService.insert(wrkMast); if (!res) { throw new CoolException("保存工作档失败"); } // 更新库位状态 D.空板 -> R.出库预约 if (locMast.getLocSts().equals("D")){ locMast.setLocSts("R"); locMast.setModiUser(1L); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("更新库位状态失败"); } } } return wrkMast; } @Override @Transactional public void locCheckOut(StockOutParam param, Long userId) { // 目标站点状态检测 BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); src/main/java/com/zy/common/web/WcsController.java
@@ -6,6 +6,7 @@ import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.service.*; import com.zy.common.CodeRes; import com.zy.common.model.LocTypeDto; @@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -45,6 +47,8 @@ private LocDetlService locDetlService; @Autowired private RowLastnoService rowLastnoService; @Autowired private WorkService workService; @PostMapping("/pakin/loc/v1") @ResponseBody @@ -133,6 +137,21 @@ return wrkMastService.insert(wrkMast) ? R.ok("自动空托入库成功,工作号:"+wrkMast.getWrkNo()) : R.error("生成自动空托入库失败"); } @PostMapping("auto/emptyOut/v1") @ResponseBody public R autoEmptyOut(){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_sts", "D")); if (Cools.isEmpty(locMast)) { return R.error("库存没有空板"); } EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); emptyPlateOutParam.setOutSite(11); emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}}); WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam); return R.ok(!Cools.isEmpty(wrkMast)? R.ok("自动空托出库成功,工作号:" + wrkMast.getWrkNo()) : R.error("生成自动空托出库失败")); } /** * 全板入库 */