From 3f30983db5b3cd2b25cb215579501a2ef134883c Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 04 八月 2023 17:00:11 +0800 Subject: [PATCH] agv 订单出库功能完善 --- src/main/java/com/zy/asrs/controller/AgvBasDevpController.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java index 6587f41..241d8cd 100644 --- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java +++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java @@ -10,15 +10,17 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; -import com.zy.asrs.entity.AgvBasDevp; -import com.zy.asrs.entity.BasDevp; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.LocMastInitParam; -import com.zy.asrs.service.AgvBasDevpService; +import com.zy.asrs.service.*; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("/agv") @@ -26,6 +28,14 @@ @Autowired AgvBasDevpService agvBasDevpService; + @Autowired + AgvWrkMastService agvWrkMastService; + @Autowired + AgvWrkDetlService agvWrkDetlService; + @Autowired + AgvWaitPakinService agvWaitPakinService; + @Autowired + AgvWorkService agvWorkService; @RequestMapping(value = "/basDevp/list/auth") @ManagerAuth @@ -148,6 +158,36 @@ return R.ok(); } + @RequestMapping(value = "/basDevp/detail/list/auth") + public R basDevpDetailList(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam Map<String, Object> param){ + String devNo = param.get("devNo").toString(); + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); + if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){ + //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏 + Page<AgvWaitPakin> agvWaitPakinPage = agvWaitPakinService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWaitPakin>() + .eq("zpallet", agvBasDevp.getBarcode())); + if(agvWaitPakinPage.getRecords().size()>0){ + return R.ok(agvWaitPakinPage); + }else { + //濡傛灉鍏ュ簱閫氭。鏄庣粏涓虹┖锛屽垯鍘诲伐浣滄。鎵炬槑缁� + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() + .eq("loc_no", agvBasDevp.getDevNo()) + .or().eq("source_loc_no",agvBasDevp.getDevNo())); + + Page<AgvWrkDetl> agvWrkDetlPage = agvWrkDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWrkDetl>() + .eq("wrk_no", agvWrkMast.getWrkNo())); + + if(agvWrkDetlPage.getRecords().size()>0){ + return R.ok(agvWrkDetlPage); + } + } + } + + return R.error("鏁版嵁寮傚父"); + } + @RequestMapping(value = "/basDevp/visualized/list/auth") public R visualizedList(@RequestBody JSONObject param){ @@ -159,6 +199,64 @@ return R.ok(result); } + /* + 瀹瑰櫒绂诲満 + */ + @RequestMapping(value = "/basDevp/visualized/container/moveOut") + public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) { + + List<String> devNos = (List<String>) map.get("devNo"); + List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> { + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); + if(agvWrkMast.getIoType() == 103){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�103.鎷f枡鍏ュ簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + return agvWrkMast; + }).collect(Collectors.toList()); + + try { + int code = agvWrkMastService.containerMoveOut(agvWrkMastList); + if(code == 0){ + //灏嗗伐浣滃厷鐘舵�佹敼涓哄鍣ㄧ鍦� + agvWrkMastList.forEach(agvWrkMast -> { + agvWrkMast.setWrkSts(207L); + agvWrkMastService.updateById(agvWrkMast); + }); + //淇敼绔欑偣鐘舵�� + devNos.forEach(devNo -> { + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); + agvBasDevp.setBarcode(""); + agvBasDevp.setLocSts("O"); + agvBasDevpService.updateById(agvBasDevp); + }); + } + } catch (IOException e) { + e.printStackTrace(); + return R.error("瀹瑰櫒绂诲満澶辫触"); + } + + return R.ok("瀹瑰櫒绂诲満鎴愬姛"); + } + + /* + 鎷f枡鍏ュ簱 + */ + @RequestMapping(value = "/basDevp/visualized/container/pickIn") + public R visualiZedPickIn(@RequestBody Map<String,Object> map){ + List<String> devNos = (List<String>) map.get("devNo"); + List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> { + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); + if(agvWrkMast.getIoType() == 101){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍏ュ簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + return agvWrkMast; + }).collect(Collectors.toList()); + + agvWorkService.pickIn(agvWrkMastList); + + return R.ok("鐢熸垚鎷f枡鍑哄簱浠诲姟鎴愬姛"); + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); -- Gitblit v1.9.1