From 149c89d3dafac946ea769367b5717bdcd0a6c1f8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 28 三月 2022 16:13:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/WorkService.java | 4 ++ src/main/java/com/zy/asrs/utils/VersionUtils.java | 8 +++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++--- src/main/java/com/zy/asrs/controller/OutController.java | 11 ++++- 4 files changed, 101 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index d7deb51..4d5bf1f 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -5,6 +5,7 @@ import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; +import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.result.StoPreTab; @@ -37,6 +38,11 @@ private LocMastService locMastService; @Autowired private StaDescService staDescService; + @Autowired + private WorkService workService; + @Autowired + private BasDevpService basDevpService; + // @PostMapping("/out/pakout/preview/auth") // public R pakoutPreview(@RequestBody List<Long> ids) { @@ -124,8 +130,9 @@ } // ----------------------------------------------------------------------------------------------- for (TaskDto taskDto : taskDtos) { - - + // 鐩爣绔欑偣鐘舵�佹娴� + BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); +// workService.stockOut(); } return R.ok(); diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java index f639fba..2e2b522 100644 --- a/src/main/java/com/zy/asrs/service/WorkService.java +++ b/src/main/java/com/zy/asrs/service/WorkService.java @@ -6,6 +6,8 @@ import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.param.StockOutParam; import com.zy.common.model.LocDetlDto; +import com.zy.common.model.LocDto; +import com.zy.common.model.TaskDto; import java.util.List; @@ -30,6 +32,8 @@ */ void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId); + void stockOut(BasDevp staNo, List<LocDto> locDtos, Long userId); + /** * 绌烘澘鍏ュ簱 * @return 搴撲綅鍙� 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 91d8964..8a36745 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -168,6 +168,7 @@ @Override @Transactional public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) { + Date now = new Date(); // 鍚堝苟鍚岀被椤� Set<String> locNos = new HashSet<>(); locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo())); @@ -206,7 +207,7 @@ // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(new Date()); + wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� wrkMast.setIoPri(13D); // 浼樺厛绾э細13 @@ -220,9 +221,9 @@ wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 - wrkMast.setAppeTime(new Date()); + wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); - wrkMast.setModiTime(new Date()); + wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo()); } @@ -236,9 +237,9 @@ Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); wrkDetl.setAnfme(anfme); // 鏁伴噺 VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗 - wrkDetl.setAppeTime(new Date()); + wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); - wrkDetl.setModiTime(new Date()); + wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); @@ -249,7 +250,7 @@ if (locMast.getLocSts().equals("F")) { locMast.setLocSts(ioType==101?"R":"P"); locMast.setModiUser(userId); - locMast.setModiTime(new Date()); + locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo()); } @@ -261,6 +262,80 @@ @Override @Transactional + public void stockOut(BasDevp staNo, List<LocDto> locDtos, Long userId) { + Date now = new Date(); + for (LocDto locDto : locDtos) { + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(locDto.getLocNo()); + // 鑾峰彇璺緞 + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", ioType) + .eq("stn_no", staNo.getDevNo()) + .eq("crn_no", locMast.getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�"); + } + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� + wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 + wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� + wrkMast.setSourceLocNo(locDto.getLocNo()); // 婧愬簱浣� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + if (!wrkMastService.insert(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+locDto.getLocNo()); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + for (LocDetlDto detlDto : dto.getLocDetlDtos()) { + // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣� + if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(new Date()); + Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); + wrkDetl.setAnfme(anfme); // 鏁伴噺 + VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + } + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� + locMast = locMastService.selectById(locDto.getLocNo()); + if (locMast.getLocSts().equals("F")) { + locMast.setLocSts(ioType==101?"R":"P"); + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+locDto.getLocNo()); + } + } else { + throw new CoolException(locDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); + } + } + } + + @Override + @Transactional public String emptyPlateIn(Integer devpNo, Long userId) { // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java index b89240c..55377b5 100644 --- a/src/main/java/com/zy/asrs/utils/VersionUtils.java +++ b/src/main/java/com/zy/asrs/utils/VersionUtils.java @@ -26,7 +26,9 @@ public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) { wrkDetl.setMatnr(locDetl.getMatnr()); // 鐗╂枡缂栧彿 - wrkDetl.setMaktx(locDetl.getMaktx()); // 鐗╂枡鎻忚堪 + wrkDetl.setMaktx(locDetl.getMaktx()); // 鐗╂枡鎻忚堪w + wrkDetl.setBatch(locDetl.getBatch()); + wrkDetl.setOrderNo(locDetl.getOrderNo()); wrkDetl.setLgnum(locDetl.getLgnum()); // 瑙勬牸 wrkDetl.setType(locDetl.getType()); // 鍨嬪彿 wrkDetl.setColor(locDetl.getColor()); // 鏉$爜 @@ -54,6 +56,8 @@ public static void setLocDetl(LocDetl locDetl, WrkDetl wrkDetl) { locDetl.setMatnr(wrkDetl.getMatnr()); // 鐗╂枡缂栧彿 locDetl.setMaktx(wrkDetl.getMaktx()); // 鐗╂枡鎻忚堪 + locDetl.setBatch(wrkDetl.getBatch()); + locDetl.setOrderNo(wrkDetl.getOrderNo()); locDetl.setLgnum(wrkDetl.getLgnum()); // 瑙勬牸 locDetl.setType(wrkDetl.getType()); // 鍨嬪彿 locDetl.setColor(wrkDetl.getColor()); // 鏉$爜 @@ -88,6 +92,8 @@ public static void setWaitPakIn(WaitPakin waitPakIn, OrderDetl orderDetl) { waitPakIn.setMatnr(orderDetl.getMatnr()); // 鐗╂枡缂栧彿 waitPakIn.setMaktx(orderDetl.getMaktx()); // 鐗╂枡鎻忚堪 + waitPakIn.setBatch(orderDetl.getBatch()); + waitPakIn.setOrderNo(orderDetl.getOrderNo()); waitPakIn.setLgnum(orderDetl.getSpecs()); // 瑙勬牸 waitPakIn.setType(orderDetl.getModel()); // 鍨嬪彿 waitPakIn.setSupplier(orderDetl.getSupplier()); // 鎵瑰彿 -- Gitblit v1.9.1