From a66b19e1c09201a922735c2325ca04df7fe544af Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期二, 14 一月 2025 14:57:58 +0800 Subject: [PATCH] 空校验;提高代码的健壮性 --- src/main/java/com/zy/asrs/controller/AgvBasDevpController.java | 139 +++++++++++++++++++++------------------------ 1 files changed, 65 insertions(+), 74 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java index c167c1d..feba49f 100644 --- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java +++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java @@ -14,13 +14,12 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.LocMastInitParam; import com.zy.asrs.service.*; +import com.zy.asrs.utils.CodeDetectionUtil; 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") @@ -36,6 +35,8 @@ AgvWaitPakinService agvWaitPakinService; @Autowired AgvWorkService agvWorkService; + @Autowired + AgvLocDetlService agvLocDetlService; @RequestMapping(value = "/basDevp/list/auth") @ManagerAuth @@ -83,7 +84,7 @@ @ManagerAuth(memo = "绔欑偣淇敼") public R update(AgvBasDevp basDevp){ if (Cools.isEmpty(basDevp) || null==basDevp.getDevNo()){ - return R.error(); + return R.error("鍙傛暟缂哄け"); } basDevp.setModiUser(getUserId()); basDevp.setModiTime(new Date()); @@ -96,7 +97,7 @@ public R delete(@RequestParam String param){ List<AgvBasDevp> list = JSONArray.parseArray(param, AgvBasDevp.class); if (Cools.isEmpty(list)){ - return R.error(); + return R.error("鍙傛暟缂哄け"); } for (AgvBasDevp entity : list){ agvBasDevpService.delete(new EntityWrapper<>(entity)); @@ -108,13 +109,16 @@ @ManagerAuth(memo = "绔欑偣瑙g粦") public R unbind(@RequestParam String param){ AgvBasDevp agvBasDevp = JSONArray.parseObject(param,AgvBasDevp.class); - + if (agvBasDevp==null){ + return R.error("鍙傛暟缂哄け"); + } //鑻ュ綋鍓嶇珯鐐硅揣浣嶇姸鎬佷笉涓篎.鍦ㄥ簱鐘舵�侊紝鍒欒繑鍥為敊璇� if(!agvBasDevp.getLocSts().equals("F")){ return R.error("褰撳墠绔欑偣璐т綅鐘舵�佷笉涓哄湪搴擄紝鏃犳硶瑙i櫎缁戝畾"); } agvBasDevp.setLocSts("O"); agvBasDevp.setBarcode(""); + agvBasDevp.setLocType2(null); agvBasDevpService.update(agvBasDevp,new EntityWrapper<AgvBasDevp>().eq("dev_no",agvBasDevp.getDevNo())); return R.ok(); @@ -166,6 +170,9 @@ @RequestParam(defaultValue = "10")Integer limit, @RequestParam Map<String, Object> param){ String devNo = param.get("devNo").toString(); + if (Cools.isEmpty(devNo) || !CodeDetectionUtil.carCodeDetection(devNo)){ + throw new CoolException(devNo + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�"); + } AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){ //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏 @@ -178,6 +185,15 @@ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() .eq("loc_no", agvBasDevp.getDevNo()) .or().eq("source_loc_no",agvBasDevp.getDevNo())); + if (Cools.isEmpty(agvWrkMast)) { + Page<AgvLocDetl> agvLocDetlPage = agvLocDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvLocDetl>() + .eq("supp_code", agvBasDevp.getBarcode())); + if (agvLocDetlPage.getRecords().size() > 0) { + return R.ok(agvLocDetlPage); + } else { + return R.error("褰撳墠璐ф灦鐮佸紓甯革紒"); + } + } Page<AgvWrkDetl> agvWrkDetlPage = agvWrkDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWrkDetl>() .eq("wrk_no", agvWrkMast.getWrkNo())); @@ -208,100 +224,75 @@ return R.ok(result); } /* - 瀹瑰櫒绂诲満 + 浠诲姟瀹屾垚 */ @RequestMapping(value = "/basDevp/visualized/container/moveOut") + @ManagerAuth(memo = "纭鍑哄簱") public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) { - List<String> devNos = new ArrayList<>(); - List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); - try { - devNos = (List<String>) map.get("devNo"); - agvWrkMastList = devNos.stream().map(devNo -> { - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); - if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ - throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); - } - return agvWrkMast; - }).collect(Collectors.toList()); - }catch (Exception e){ - String devNo = map.get("devNo").toString(); - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); - if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ - throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); - } - agvWrkMastList.add(agvWrkMast); + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if (agvWrkMast == null){ + R.error("宸ヤ綔妗d笉瀛樺湪"); + } + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); } -// List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> { -// AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); -// if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ -// throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); -// } -// return agvWrkMast; -// }).collect(Collectors.toList()); + agvWrkMast.setWrkSts(206L); + agvWrkMast.setModiTime(new Date()); + agvWrkMastService.updateById(agvWrkMast); - try { - int code = agvWrkMastService.containerMoveOut(agvWrkMastList); - if(code == 0){ - //灏嗗伐浣滃厷鐘舵�佹敼涓哄鍣ㄧ鍦� - agvWrkMastList.forEach(agvWrkMast -> { - agvWrkMast.setWrkSts(206L); - 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("璐ф灦绂诲満鎴愬姛"); + } + + /* + 浠诲姟瀹屾垚 + */ + @RequestMapping(value = "/basDevp/visualized/container/moveOut2") + @ManagerAuth(memo = "纭鍑哄簱2") + public R visualiZedContainerMoveOut2(@RequestBody Map<String,Object> map) { + + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if (agvWrkMast == null){ + return R.error("宸ヤ綔妗d笉瀛樺湪"); + } + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); } - return R.ok("瀹瑰櫒绂诲満鎴愬姛"); + agvWrkMast.setWrkSts(208L); + agvWrkMast.setModiTime(new Date()); + agvWrkMastService.updateById(agvWrkMast); + + return R.ok("璐ф灦绂诲満鎴愬姛"); } /* 鎷f枡/鐩樼偣鍏ュ簱 */ @RequestMapping(value = "/basDevp/visualized/container/pickIn") + @ManagerAuth(memo = "宸叉嫞鏂欏洖搴�") public R visualiZedPickIn(@RequestBody Map<String,Object> map){ - List<String> devNos = new ArrayList<>(); List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); - try { - devNos = (List<String>) map.get("devNo"); - 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()); - }catch (Exception e){ - String devNo = map.get("devNo").toString(); - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); + String devNo = map.get("devNo").toString(); + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if (agvWrkMast != null) { if(agvWrkMast.getIoType() == 101){ throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍑哄簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); } + agvWrkMast.setLocNo(devNo); agvWrkMastList.add(agvWrkMast); + agvWorkService.pickIn(agvWrkMastList); + } else { + return R.error("鏌ヤ笉鍒版嫞鏂欏嚭搴撲换鍔�"); } -// 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枡鍑哄簱浠诲姟鎴愬姛"); + return R.ok("鐢熸垚鎷f枡鍥炲簱浠诲姟鎴愬姛"); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ -- Gitblit v1.9.1