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 | 235 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 156 insertions(+), 79 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 027c0fd..9568608 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -11,11 +11,15 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; +import com.zy.asrs.entity.param.OffSaleParam; import com.zy.asrs.entity.result.MobileAdjustResult; +import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; 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; @@ -51,6 +55,30 @@ private BasDevpService basDevpService; @Autowired private PackService packService; + @Autowired + private ManLocDetlMapper manLocDetlMapper; + @Autowired + private CommonService commonService; + @Autowired + private StaDescService staDescService; + + + // 鍟嗗搧涓婃灦 + @RequestMapping("/mat/onSale/auth") + @ManagerAuth + public R matOnSale(@RequestBody CombParam combParam){ + mobileService.onSale(combParam); + return R.ok("涓婃灦鎴愬姛"); + } + // 鍟嗗搧涓嬫灦 + @RequestMapping("/mat/offSale/auth") + //@ManagerAuth + public R matOffSale(@RequestBody OffSaleParam offSaleParam){ + mobileService.offSale(offSaleParam); + return R.ok("涓嬫灦鎴愬姛"); + } + + // 缁勬墭 ---------------------------------------------------------------------------------------------------- @@ -153,48 +181,10 @@ } /** - * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧 + * 鍑哄簱纭瀹屾垚 + * @param list + * @return */ - @RequestMapping("/pakout/confirm/pick/auth") - @ManagerAuth - public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo - , @RequestParam(required = false) String matnr){ - if (Cools.isEmpty(wrkNo)) { - return R.ok(); - } - if (Cools.isEmpty(matnr)) { - return R.ok(); - } - WrkMast wrkMast = wrkMastService.selectById(wrkNo); - if (wrkMast == null) { - return R.ok(); - } - String orderNo = null; - List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - for (WrkDetl wrkDetl : wrkDetls) { - if (Cools.isEmpty(orderNo)) { - orderNo = wrkDetl.getOrderNo(); - } - if ((wrkDetl.getMatnr() + "-" + wrkDetl.getBatch()).equals(matnr)) { - return R.ok().add(wrkDetl); - } - } - // 鏇挎崲 鏄庣粏 - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo())); - for (LocDetl locDetl : locDetls) { - if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) { - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(locDetl); - wrkDetl.setOrderNo(orderNo); - wrkDetl.setIoTime(wrkMast.getIoTime()); - wrkDetl.setWrkNo(wrkNo); - return R.ok().add(wrkDetl); - } - } - return R.error("绯荤粺閿欒锛屾潯鐮佷笉瀛樺湪"); - } - - @RequestMapping("/pakout/confirm/auth") @ManagerAuth @Transactional @@ -244,7 +234,7 @@ for (Integer wrkNo : wrkNos) { WrkMast wrkMast = wrkMastService.selectById(wrkNo); - if (wrkMast.getWrkSts() == 14 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) { + 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) { @@ -264,6 +254,129 @@ } 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 + , @RequestParam(required = false) String matnr){ + //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr); + ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr); + return R.ok(manLocDetl); + //return R.ok(manLocDetlMapper.selectItem0(locNo, matnr)); + } + + /** + * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧 + */ + @RequestMapping("/pakout/confirm/pick/auth") + @ManagerAuth + public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo + , @RequestParam(required = false) String matnr){ + if (Cools.isEmpty(wrkNo)) { + return R.ok(); + } + if (Cools.isEmpty(matnr)) { + return R.ok(); + } + WrkMast wrkMast = wrkMastService.selectById(wrkNo); + if (wrkMast == null) { + return R.ok(); + } + String orderNo = null; + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + if (Cools.isEmpty(orderNo)) { + orderNo = wrkDetl.getOrderNo(); + } + if ((wrkDetl.getMatnr() + "-" + wrkDetl.getBatch()).equals(matnr)) { + return R.ok().add(wrkDetl); + } + } + // 鏇挎崲 鏄庣粏 + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo())); + for (LocDetl locDetl : locDetls) { + if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); + wrkDetl.setOrderNo(orderNo); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setWrkNo(wrkNo); + return R.ok().add(wrkDetl); + } + } + return R.error("绯荤粺閿欒锛屾潯鐮佷笉瀛樺湪"); + } + + + // 鐩樼偣 ---------------------------------------------------------------------------------------------------- @@ -299,49 +412,13 @@ } @PostMapping("/order/out/pakout/auth") -// @ManagerAuth(memo = "鏍规嵁璁㈠崟鍑哄簱") + @ManagerAuth(memo = "璁㈠崟鍑哄簱") public synchronized R pakoutByOrder(@RequestBody JSONObject param) { if(!param.containsKey("staNo") || !param.containsKey("orderNo")){ return R.parse(BaseRes.PARAM); } mobileService.pakoutByOrder(param,getUserId()); return R.ok("鍑哄簱鎴愬姛"); - -// if (Cools.isEmpty(locDtos)) { -// return R.parse(BaseRes.PARAM); -// } -// boolean lack = true; -// for (LocDto locDto : locDtos) { -// if (!locDto.isLack()) { -// lack = false; -// break; -// } -// } -// if (lack) { -// return R.error("搴撳瓨涓嶈冻"); -// } -// -// Thread.sleep(1000L); -// -// List<TaskDto> taskDtos = new ArrayList<>(); -// // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔� -// for (LocDto locDto : locDtos) { -// if (locDto.isLack()) { continue; } -// TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto); -// if (TaskDto.has(taskDtos, taskDto)) { -// TaskDto dto = TaskDto.find(taskDtos, taskDto); -// assert dto != null; -// dto.getLocDtos().addAll(taskDto.getLocDtos()); -// } else { -// taskDtos.add(taskDto); -// } -// } -// // ----------------------------------------------------------------------------------------------- -// for (TaskDto taskDto : taskDtos) { -// BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); -// workService.stockOut(staNo, taskDto, getUserId()); -// } -// return R.ok(); } } -- Gitblit v1.9.1