From 62aa9d143a12ba3c8094dc9542c11c83b2c0c6d1 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期日, 25 五月 2025 11:00:27 +0800 Subject: [PATCH] 初始化 --- src/main/java/com/zy/asrs/controller/OpenController.java | 182 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 165 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 408172d..605e473 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -14,11 +14,13 @@ import com.zy.asrs.utils.Utils; import com.zy.common.web.BaseController; import com.zy.core.CrnThread; +import com.zy.core.cache.RgvStatusCache; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.model.CrnSlave; import com.zy.core.model.RgvSlave; import com.zy.core.model.protocol.CrnProtocol; +import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.properties.SlaveProperties; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -55,6 +57,10 @@ private StaDescService staDescService; @Autowired private LocMastService locMastService; + @Autowired + private BasRgvErrService basRgvErrService; + @Autowired + private BasCrnErrorServiceImpl basCrnErrorService; @Value("${wms.url}") private String wmsUrl; @@ -64,8 +70,6 @@ public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{ add("ea1f0459efc02a79f046f982767939ae"); }}; - @Autowired - private BasCrnErrorServiceImpl basCrnErrorService; //agv浠诲姟瀹屾垚 @PostMapping("/toAgvTaskOver") @@ -88,9 +92,10 @@ } //鍒涘缓浠诲姟 - @PostMapping("/taskCreate") + @PostMapping("/taskCreate2") + @AppAuth(memo = "WMS浠诲姟涓嬪彂") @Transactional - public R taskCreate(@RequestHeader String appkey, + public synchronized R taskCreate(@RequestHeader String appkey, @RequestBody List<TaskCreateParam> param1, HttpServletRequest request) { auth(appkey, param1, request); @@ -101,15 +106,19 @@ if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } + if (Cools.isEmpty(param.getTaskNo())) { return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖"); } if (Cools.isEmpty(param.getIoType())) { return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖"); } + param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴� + if (Cools.isEmpty(param.getBarcode())) { return R.error("鏉$爜[barcode]涓嶈兘涓虹┖"); } + String locNo=null; if(param.getIoType()==1){ locNo=param.getTargetPoint(); @@ -323,9 +332,9 @@ } //浠诲姟涓嬪彂鎺ュ彛 - @PostMapping("/outboundTaskSend") -// @PostMapping("/taskCreate") -// @AppAuth(memo = "浠诲姟涓嬪彂鎺ュ彛") +// @PostMapping("/outboundTaskSend") + @PostMapping("/taskCreate") + @AppAuth(memo = "浠诲姟涓嬪彂鎺ュ彛") @Transactional public R outboundTaskSend(@RequestHeader String appkey, @RequestBody List<CarryParam> params,//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� @@ -334,7 +343,7 @@ // List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>(); for (CarryParam param:params){ param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴� - + param.updateLocNo(); if (Cools.isEmpty(param)){ return R.error("鍙傛暟涓虹┖锛�"); } else if (Cools.isEmpty(param.getTaskNo())){ @@ -357,7 +366,14 @@ // } // } - LocMast locMast = locMastService.selectByLocNo(param.getStartPoint()); + + String locNo=null; + if(param.getIoType()==1){ + locNo=param.getTargetPoint(); + }else{ + locNo=param.getStartPoint(); + } + LocMast locMast = locMastService.selectByLocNo(locNo); if(Cools.isEmpty(locMast)){ return R.error("鍒濆搴撲綅鏃犳硶鎵惧埌"); } @@ -373,7 +389,7 @@ if(Cools.isEmpty(staDesc)){ return R.error("鍏ュ簱璺姴涓嶅瓨鍦�"); } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn())); }else if(param.getIoType() == 2){ //鍑哄簱浠诲姟鍒涘缓 @@ -384,7 +400,7 @@ if(Cools.isEmpty(staDesc)){ return R.error("鍑哄簱璺姴涓嶅瓨鍦�"); } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getStnNo())); }else if (param.getIoType() == 3){ LocMast locMast2 = locMastService.selectByLocNo(param.getTargetPoint()); if(Cools.isEmpty(locMast2)){ @@ -475,8 +491,19 @@ auth(appkey, "璁惧鐘舵�佹煡璇㈡帴鍙�", request); List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); List<Object> list = new ArrayList<>(); + WcsStatusResponseModel wcsStatusResponseModel = new WcsStatusResponseModel(); for (BasDevp basDevp:basDevps){ - list.add(basDevp); + BasDevpWmsParam basDevpWmsParam = new BasDevpWmsParam(); + basDevpWmsParam.setDevNo(basDevp.getDevNo()); + basDevpWmsParam.setWrkNo(basDevp.getWrkNo().longValue()); + basDevpWmsParam.setAutoing(basDevp.getAutoing()); + basDevpWmsParam.setLoading(basDevp.getLoading()); + basDevpWmsParam.setInEnable(basDevp.getInEnable()); + basDevpWmsParam.setOutEnable(basDevp.getOutEnable()); + basDevpWmsParam.setDevErr(basDevp.getStaErr().longValue()); + basDevpWmsParam.setDevErrM(basDevpWmsParam.getDevErr$()); +// list.add(basDevpWmsParam); + wcsStatusResponseModel.getChainList().add(basDevpWmsParam); } List<BasCrnpWmsParam> basCrnpWmsParamList = new ArrayList<>(); for (CrnSlave crn : slaveProperties.getCrn()) { @@ -493,21 +520,142 @@ basCrnpWmsParam.sync(basCrnp); basCrnpWmsParam.setCrnNoH(crnProtocol.getLaneNo()); + + try{ + BasCrnError basCrnError = basCrnErrorService.selectById(basCrnp.getCrnErr()); + basCrnpWmsParam.setCrnErrM(basCrnError.getErrName()); + } catch (Exception e){ + basCrnpWmsParam.setCrnErrM("鏈煡寮傚父"); + } + if (crnProtocol.getMode()!=3){ + basCrnpWmsParam.setCrnErr(999L); + basCrnpWmsParam.setCrnErrM("闈炶嚜鍔紒锛侊紒"); + } basCrnpWmsParamList.add(basCrnpWmsParam); - BasCrnError basCrnError = basCrnErrorService.selectById(basCrnp.getCrnErr()); - basCrnpWmsParam.setCrnErrM(basCrnError.getErrName()); - - list.add(basCrnpWmsParam); +// list.add(basCrnpWmsParam); } + wcsStatusResponseModel.setPilingCarList(basCrnpWmsParamList); for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + RgvProtocol rgvStatus = RgvStatusCache.getRgvStatus(rgvSlave.getId()); + if (Cools.isEmpty(rgvStatus)){ + continue; + } + BasRgvWmsParam basRgvWmsParam = new BasRgvWmsParam(); + basRgvWmsParam.setWrkNo(rgvStatus.getTaskNo()); + basRgvWmsParam.setCrnSts(rgvStatus.getStatus().intValue()); + basRgvWmsParam.setStatusType(rgvStatus.getStatusType().desc); + basRgvWmsParam.setSteNo(rgvSlave.getId()); + basRgvWmsParam.setSteErr(rgvStatus.getAlarm().longValue()); + try{ + BasRgvErr basRgvErr = basRgvErrService.selectById((long)rgvStatus.getAlarm$()); + + basRgvWmsParam.setSteErrM(basRgvErr.getErrName()); + } catch (Exception e){ + basRgvWmsParam.setSteErrM("鏈煡寮傚父"); + } + if (rgvStatus.getMode()!=1){ + basRgvWmsParam.setSteErr(999L); + basRgvWmsParam.setSteErrM("闈炶嚜鍔紒锛侊紒"); + } +// list.add(basRgvWmsParam); + wcsStatusResponseModel.getRgvList().add(basRgvWmsParam); } // List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); // for (BasCrnp basCrnp:basCrnps){ // list.add(basCrnp); // } - return R.ok(list); + return R.ok(wcsStatusResponseModel); + } + + + + //璁惧鐘舵�佹煡璇㈡帴鍙� + @PostMapping("/errorRgv1") + @Transactional + public R errorRgv(@RequestHeader String appkey, + HttpServletRequest request) { + auth(appkey, "璁惧鐘舵�佹煡璇㈡帴鍙�", request); + List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); + List<Object> list = new ArrayList<>(); + WcsStatusResponseModel wcsStatusResponseModel = new WcsStatusResponseModel(); + for (BasDevp basDevp:basDevps){ + BasDevpWmsParam basDevpWmsParam = new BasDevpWmsParam(); + basDevpWmsParam.setDevNo(basDevp.getDevNo()); + basDevpWmsParam.setWrkNo(basDevp.getWrkNo().longValue()); + basDevpWmsParam.setAutoing(basDevp.getAutoing()); + basDevpWmsParam.setLoading(basDevp.getLoading()); + basDevpWmsParam.setInEnable(basDevp.getInEnable()); + basDevpWmsParam.setOutEnable(basDevp.getOutEnable()); + basDevpWmsParam.setDevErr(basDevp.getStaErr().longValue()); + basDevpWmsParam.setDevErrM(basDevpWmsParam.getDevErr$()); +// list.add(basDevpWmsParam); + wcsStatusResponseModel.getChainList().add(basDevpWmsParam); + } + List<BasCrnpWmsParam> basCrnpWmsParamList = new ArrayList<>(); + for (CrnSlave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { continue; } + BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); + if (basCrnp == null) { + log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); + continue; + } + BasCrnpWmsParam basCrnpWmsParam = new BasCrnpWmsParam(); + basCrnpWmsParam.sync(basCrnp); + + basCrnpWmsParam.setCrnNoH(crnProtocol.getLaneNo()); + + try{ + BasCrnError basCrnError = basCrnErrorService.selectById(basCrnp.getCrnErr()); + basCrnpWmsParam.setCrnErrM(basCrnError.getErrName()); + } catch (Exception e){ + basCrnpWmsParam.setCrnErrM("鏈煡寮傚父"); + } + if (crnProtocol.getMode()!=3){ + basCrnpWmsParam.setCrnErr(999L); + basCrnpWmsParam.setCrnErrM("闈炶嚜鍔紒锛侊紒"); + } + basCrnpWmsParamList.add(basCrnpWmsParam); + +// list.add(basCrnpWmsParam); + } + wcsStatusResponseModel.setPilingCarList(basCrnpWmsParamList); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + RgvProtocol rgvStatus = RgvStatusCache.getRgvStatus(rgvSlave.getId()); + if (Cools.isEmpty(rgvStatus)){ + continue; + } + BasRgvWmsParam basRgvWmsParam = new BasRgvWmsParam(); + basRgvWmsParam.setWrkNo(rgvStatus.getTaskNo()); + basRgvWmsParam.setCrnSts(rgvStatus.getStatus().intValue()); + basRgvWmsParam.setStatusType(rgvStatus.getStatusType().desc); + basRgvWmsParam.setSteNo(rgvSlave.getId()); + basRgvWmsParam.setSteErr(rgvStatus.getAlarm().longValue()); + basRgvWmsParam.setSteErrM(rgvStatus.getAlarmM()); + try{ +// BasRgvErr basRgvErr = basRgvErrService.selectById((long)rgvStatus.getAlarm$()); + +// basRgvWmsParam.setSteErrM(basRgvErr.getErrName()); + } catch (Exception e){ + basRgvWmsParam.setSteErrM("鏈煡寮傚父"); + } + if (rgvStatus.getMode()!=1){ + basRgvWmsParam.setSteErr(999L); + basRgvWmsParam.setSteErrM("闈炶嚜鍔紒锛侊紒"); + } +// list.add(basRgvWmsParam); + wcsStatusResponseModel.getRgvList().add(basRgvWmsParam); + + } +// List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); +// for (BasCrnp basCrnp:basCrnps){ +// list.add(basCrnp); +// } + return R.ok(wcsStatusResponseModel); } -- Gitblit v1.9.1