From d613408e745a87c2ed77506a96097b0185352d78 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期一, 05 五月 2025 14:52:18 +0800 Subject: [PATCH] pda呼叫空板、出库确认 --- src/main/java/com/zy/asrs/controller/MobileController.java | 217 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 149 insertions(+), 68 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index c832de4..9568608 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -18,6 +18,8 @@ import com.zy.common.model.LocDto; import com.zy.common.model.TaskDto; import com.zy.common.model.WrkDto; +import com.zy.common.model.enums.WorkNoType; +import com.zy.common.service.CommonService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -55,6 +57,10 @@ private PackService packService; @Autowired private ManLocDetlMapper manLocDetlMapper; + @Autowired + private CommonService commonService; + @Autowired + private StaDescService staDescService; // 鍟嗗搧涓婃灦 @@ -174,6 +180,149 @@ return R.ok(); } + /** + * 鍑哄簱纭瀹屾垚 + * @param list + * @return + */ + @RequestMapping("/pakout/confirm/auth") + @ManagerAuth + @Transactional + public R pakoutConfirm(@RequestBody List<WrkDetl> list) { + if (Cools.isEmpty(list)) { + return R.ok(); + } + Set<Integer> wrkNos = new HashSet<>(); + List<WrkDto> dtos = new ArrayList<>(); + for (WrkDetl wrkDetl : list) { + if (wrkNos.contains(wrkDetl.getWrkNo())) { + for (WrkDto dto : dtos) { + if (dto.getWrkNo().equals(wrkDetl.getWrkNo())) { + dto.getWrkDetls().add(wrkDetl); + break; + } + } + } else { + wrkNos.add(wrkDetl.getWrkNo()); + dtos.add(new WrkDto(wrkDetl.getWrkNo(), wrkDetl)); + } + } + + for (WrkDto dto : dtos) { + WrkMast wrkMast = wrkMastService.selectById(dto.getWrkNo()); + if (wrkMast != null) { + // 101 + if (wrkMast.getIoType() == 101) { + for (WrkDetl wrkDetl : dto.getWrkDetls()) { + wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + } + } + // 103 + if (wrkMast.getIoType() == 103) { + if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { + throw new CoolException("鎷f枡鍑哄簱纭澶辫触"); + } + for (WrkDetl wrkDetl : dto.getWrkDetls()) { + wrkDetl.setInspect(1); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("鎷f枡鍑哄簱纭澶辫触"); + } + } + } + } + } + + for (Integer wrkNo : wrkNos) { + WrkMast wrkMast = wrkMastService.selectById(wrkNo); + if (wrkMast.getWrkSts() == 15 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo); + boolean complete = true; + for (WrkDetl wrkDetl : wrkDetls) { + if (wrkDetl.getInspect() == null || wrkDetl.getInspect() == 0) { + complete = false; + break; + } + } + if (complete) { + wrkMast.setInvWh("Y"); + wrkMast.setModiTime(new Date()); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("淇敼宸ヤ綔妗�" + wrkNo + "澶辫触"); + } + } + } + } + return R.ok("瀹屾垚纭"); + } + + + /** + * 琛ョ┖鎵樼洏鍒板叆搴撶紦瀛樹綅 + * @param map + * @return + */ + @RequestMapping("/supplementEmpty") + @ManagerAuth + @Transactional + public R supplementEmpty(@RequestBody HashMap<String,Object> map){ + if (Cools.isEmpty(map)) { + return R.error("琛ョ┖鎵樼洏搴撲綅涓虹┖"); + } + List<LocMast> locMastList=locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")); + if (locMastList.isEmpty()) { + return R.error("绔嬪簱閲屾病鏈夌┖鎵樼洏"); + } + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); + + // 鑾峰彇婧愮珯 + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 110) + .eq("stn_no", 102) + .eq("crn_no", locMastList.get(0).getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + Integer sourceStaNo = staDesc.getCrnStn(); + if (Cools.isEmpty(sourceStaNo)) { + throw new CoolException("妫�绱㈡簮绔欏け璐�"); + } + Date now = new Date(); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 + wrkMast.setIoPri(10D); + wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 + wrkMast.setStaNo(102); // 鐩爣绔� + wrkMast.setCrnNo(locMastList.get(0).getCrnNo()); + wrkMast.setSourceLocNo(locMastList.get(0).getLocNo()); // 婧愬簱浣� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(getUserId()); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(getUserId()); + wrkMast.setModiTime(now); + wrkMast.setMemo((String) map.get("locNo"));//agv鏀捐揣浣� + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMastList.get(0).getLocSts().equals("D")){ + locMastList.get(0).setLocSts("R"); + locMastList.get(0).setModiUser(getUserId()); + locMastList.get(0).setModiTime(now); + if (!locMastService.updateById(locMastList.get(0))) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + return R.ok(); + } + // 鏍规嵁搴撲綅鐮佸拰鍟嗗搧鐮佹悳绱㈠晢鍝� @RequestMapping("/mat/find/auth") public R find(@RequestParam(required = false) String locNo @@ -227,75 +376,7 @@ } - @RequestMapping("/pakout/confirm/auth") - @ManagerAuth - @Transactional - public R pakoutConfirm(@RequestBody List<WrkDetl> list) { - if (Cools.isEmpty(list)) { - return R.ok(); - } - Set<Integer> wrkNos = new HashSet<>(); - List<WrkDto> dtos = new ArrayList<>(); - for (WrkDetl wrkDetl : list) { - if (wrkNos.contains(wrkDetl.getWrkNo())) { - for (WrkDto dto : dtos) { - if (dto.getWrkNo().equals(wrkDetl.getWrkNo())) { - dto.getWrkDetls().add(wrkDetl); - break; - } - } - } else { - wrkNos.add(wrkDetl.getWrkNo()); - dtos.add(new WrkDto(wrkDetl.getWrkNo(), wrkDetl)); - } - } - for (WrkDto dto : dtos) { - WrkMast wrkMast = wrkMastService.selectById(dto.getWrkNo()); - if (wrkMast != null) { - // 101 - if (wrkMast.getIoType() == 101) { - for (WrkDetl wrkDetl : dto.getWrkDetls()) { - wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - } - } - // 103 - if (wrkMast.getIoType() == 103) { - if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { - throw new CoolException("鎷f枡鍑哄簱纭澶辫触"); - } - for (WrkDetl wrkDetl : dto.getWrkDetls()) { - wrkDetl.setInspect(1); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("鎷f枡鍑哄簱纭澶辫触"); - } - } - } - } - } - - for (Integer wrkNo : wrkNos) { - WrkMast wrkMast = wrkMastService.selectById(wrkNo); - if (wrkMast.getWrkSts() == 14 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) { - List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo); - boolean complete = true; - for (WrkDetl wrkDetl : wrkDetls) { - if (wrkDetl.getInspect() == null || wrkDetl.getInspect() == 0) { - complete = false; - break; - } - } - if (complete) { - wrkMast.setInvWh("Y"); - wrkMast.setModiTime(new Date()); - if (!wrkMastService.updateById(wrkMast)) { - throw new CoolException("淇敼宸ヤ綔妗�" + wrkNo + "澶辫触"); - } - } - } - } - return R.ok("瀹屾垚纭"); - } // 鐩樼偣 ---------------------------------------------------------------------------------------------------- -- Gitblit v1.9.1