src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
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/asrs/controller/OpenController.java
@@ -1,18 +1,17 @@ package com.zy.asrs.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.MatCode; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.param.OpenApiStockOutParam; import com.zy.asrs.entity.result.PakoutVo; import com.zy.asrs.entity.result.StoPreTab; import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.MatCodeService; import com.zy.asrs.service.WorkService; import com.zy.asrs.service.*; import com.zy.common.model.LocDetlDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -40,6 +39,8 @@ private WorkService workService; @Autowired private BasDevpService basDevpService; @Autowired private WrkMastService wrkMastService; @PostMapping("/stockOut/prew") @Transactional @@ -96,6 +97,10 @@ List<PakoutVo> result = new ArrayList<>(); if (!Cools.isEmpty(params)) { for (OpenApiStockOutParam param : params) { // 推荐货位补仓工作档防重 if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("packed", param.getAllotNo()).le("wrk_sts", 14)) > 0) { throw new CoolException("当前补仓任务正在执行,请耐心等待"); } Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(param.getMatnr())).orElse(0.0D); if (sumAnfme < param.getAnfme()) { throw new CoolException(param.getMatnr() + "物料数量不足,缺货数量:" + (param.getAnfme() - sumAnfme)); @@ -116,7 +121,7 @@ dto.setLocDetl(locDetl); dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued); detlDtos.add(dto); workService.stockOut(staNo, detlDtos, 101, 9527L); workService.stockOut(staNo, detlDtos, 101, 9527L, param.getAllotNo()); // 拣料 } else { BasDevp staNo = basDevpService.checkSiteStatus(107); @@ -125,7 +130,7 @@ dto.setLocDetl(locDetl); dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued); detlDtos.add(dto); workService.stockOut(staNo, detlDtos, 103, 9527L); workService.stockOut(staNo, detlDtos, 103, 9527L, param.getAllotNo()); } PakoutVo pakoutVo = new PakoutVo(); src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java
@@ -14,4 +14,6 @@ private Double total; private String allotNo; } src/main/java/com/zy/asrs/service/WorkService.java
@@ -28,7 +28,7 @@ * @param locDetls 待出库物料 * @param ioType 入出库类型 */ void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId); void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId, String allotNo); /** * 空板入库 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -149,7 +149,7 @@ } if (!locDetlDtos.isEmpty()) { // 启动出库开始 101.出库 stockOut(staNo, locDetlDtos, null, userId); stockOut(staNo, locDetlDtos, null, userId, null); } else { throw new CoolException("库位物料不存在"); } @@ -157,7 +157,7 @@ @Override @Transactional public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) { public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, String allotNo) { // 合并同类项 Set<String> locNos = new HashSet<>(); locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo())); @@ -209,6 +209,7 @@ wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("N"); wrkMast.setPacked(allotNo); // 平仓补仓单号 wrkMast.setAppeUser(userId); // 操作人员数据 wrkMast.setAppeTime(new Date()); wrkMast.setModiUser(userId); @@ -385,7 +386,7 @@ } if (!locDetlDtos.isEmpty()) { // 启动出库开始 107.盘点出库 stockOut(staNo, locDetlDtos, 107, userId); stockOut(staNo, locDetlDtos, 107, userId, null); } else { throw new CoolException("库位物料不存在"); }