From cd2fff830de5a879ef2e6b18adebcbe46f28392a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 26 三月 2021 15:59:36 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/WorkService.java | 2 +- src/main/java/com/zy/asrs/controller/OpenController.java | 17 +++++++++++------ src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java | 2 ++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 7 ++++--- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index f158401..88cc293 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/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) { + // 鎺ㄨ崘璐т綅琛ヤ粨宸ヤ綔妗i槻閲� + if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("packed", param.getAllotNo()).le("wrk_sts", 14)) > 0) { + throw new CoolException("褰撳墠琛ヤ粨浠诲姟姝e湪鎵ц锛岃鑰愬績绛夊緟"); + } 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()); // 鎷f枡 } 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(); diff --git a/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java b/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java index 4160f3e..cac303e 100644 --- a/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java +++ b/src/main/java/com/zy/asrs/entity/param/OpenApiStockOutParam.java @@ -14,4 +14,6 @@ private Double total; + private String allotNo; + } diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java index f639fba..b41422f 100644 --- a/src/main/java/com/zy/asrs/service/WorkService.java +++ b/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); /** * 绌烘澘鍏ュ簱 diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 9261bf6..1f66bb6 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/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("搴撲綅鐗╂枡涓嶅瓨鍦�"); } -- Gitblit v1.9.1