From 378636d4c82186414728f7cc7debcef867cffed2 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 28 三月 2022 16:36:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/WorkService.java | 2 src/main/webapp/static/js/order/out.js | 5 + src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 132 ++++++++++++++++++++++--------------------- src/main/java/com/zy/asrs/controller/OutController.java | 7 +- 4 files changed, 75 insertions(+), 71 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 4d5bf1f..483db64 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -112,11 +112,12 @@ @PostMapping("/out/pakout/auth") @ManagerAuth(memo = "璁㈠崟鍑哄簱") - public R pakout(@RequestBody List<LocDto> locDtos) { + public synchronized R pakout(@RequestBody List<LocDto> locDtos) { if (Cools.isEmpty(locDtos)) { return R.parse(BaseRes.PARAM); } List<TaskDto> taskDtos = new ArrayList<>(); + // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔� for (LocDto locDto : locDtos) { if (locDto.isLack()) { continue; } TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto); @@ -130,10 +131,8 @@ } // ----------------------------------------------------------------------------------------------- for (TaskDto taskDto : taskDtos) { - // 鐩爣绔欑偣鐘舵�佹娴� BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); -// workService.stockOut(); - + workService.stockOut(staNo, taskDto, getUserId()); } 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 2e2b522..39aef46 100644 --- a/src/main/java/com/zy/asrs/service/WorkService.java +++ b/src/main/java/com/zy/asrs/service/WorkService.java @@ -32,7 +32,7 @@ */ void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId); - void stockOut(BasDevp staNo, List<LocDto> locDtos, Long userId); + void stockOut(BasDevp staNo, TaskDto taskDto, Long userId); /** * 绌烘澘鍏ュ簱 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 8a36745..55b15fd 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -262,75 +262,79 @@ @Override @Transactional - public void stockOut(BasDevp staNo, List<LocDto> locDtos, Long userId) { + public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) { Date now = new Date(); + List<LocDto> locDtos = taskDto.getLocDtos(); 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("鍑哄簱璺緞涓嶅瓨鍦�"); + if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) { + 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()); + } + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(taskDto.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(taskDto.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け璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo()); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + for (LocDto locDto : taskDto.getLocDtos()) { + // 鍑哄簱鏃讹紝鏁伴噺涓�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槑缁� - 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(taskDto.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("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo()); } - // 淇敼搴撲綅鐘舵��: 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() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); - } + } else { + throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); } } diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index 7de5fcb..36a9d82 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -198,7 +198,8 @@ } function pakout(tableCache, layerIndex) { - let loadIndex = layer.load(2); + // let loadIndex = layer.load(2); + notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4, position: "top"}); $.ajax({ url: baseUrl + "/out/pakout/auth", headers: {'token': localStorage.getItem('token')}, @@ -206,7 +207,7 @@ data: JSON.stringify(tableCache), method: 'POST', success: function (res) { - layer.close(loadIndex); + notice.destroy(); if (res.code === 200) { layer.close(layerIndex); layer.msg(res.msg, {icon: 1}); -- Gitblit v1.9.1