From d9c906634caef1128f0976b346c676f5c97032d6 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期六, 10 五月 2025 15:14:50 +0800 Subject: [PATCH] 123 --- src/main/java/com/zy/asrs/controller/DevopsController.java | 194 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 162 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/DevopsController.java b/src/main/java/com/zy/asrs/controller/DevopsController.java index 8da1cf5..9c22537 100644 --- a/src/main/java/com/zy/asrs/controller/DevopsController.java +++ b/src/main/java/com/zy/asrs/controller/DevopsController.java @@ -1,12 +1,15 @@ package com.zy.asrs.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.domain.devops.DevopsMessage; import com.zy.asrs.domain.devops.ErrorType; +import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.mapper.WrkMastMapper; +import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.WrkMastService; import com.zy.core.CrnThread; import com.zy.core.DevpThread; @@ -20,6 +23,7 @@ import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -39,25 +43,43 @@ @Autowired private WrkMastMapper wrkMastMapper; + @Autowired + private BasDevpService basDevpService; + @RequestMapping("/wrkMast/list") public R list() { List<DevopsMessage> devopsMessages = new ArrayList<>(); DevopsMessage devopsMessage; for (CrnSlave crnSlave : slaveProperties.getCrn()) { - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnSlave.getId()).in("io_type", 101, 103, 107).orderBy("wrk_sts", false)); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnSlave.getId()).orderBy("wrk_sts", false)); + //鍏堟煡璇㈠爢鍨涙満鏄惁鍦ㄥ伐浣� WrkMast working = wrkMastMapper.selectWorking(crnSlave.getId()); for (WrkMast wrkMast : wrkMasts) { + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + crnProtocol = new CrnProtocol(); + } devopsMessage = new DevopsMessage(); devopsMessage.setWrkNo(wrkMast.getWrkNo()); if (working != null) { + //鍦ㄥ伐浣滐紝鍒欏垽鏂槸鍚︽湭褰撳墠杩欐潯 if (working.getWrkNo().equals(wrkMast.getWrkNo())) { - devopsMessage.setError("璇ュ伐浣滄。姝e湪鍑哄簱锛岃绋嶅悗"); + if (crnProtocol.getTaskNo().intValue() == working.getWrkNo()) { + devopsMessage.setError("璇ュ伐浣滄。姝e湪鎵ц锛岃绋嶅悗"); + } else { + devopsMessage.setError("璇ュ伐浣滄。鐘舵�佷笉瀵癸紝涓庡爢鍨涙満鐨勫伐浣滃彿涓嶅尮閰�"); + devopsMessage.setMethod("缁撳悎浠诲姟鎯呭喌杩涜鎿嶄綔;濡傛灉瀹為檯宸插畬鎴愶紝灏卞皢宸ヤ綔妗e畬鎴�;濡傛灉鏈畬鎴愶紝鍒欒皟鏁村伐浣滄。鐘舵��"); + } } else { - devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鍑哄簱"); + devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鎵ц锛岃绋嶅悗"); } + devopsMessages.add(devopsMessage); continue; } - List<ErrorType> staError = isStaError(wrkMast); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo()); + List<ErrorType> staError = isStaError(staProtocol, wrkMast); for (ErrorType type : staError) { if (!Cools.isEmpty(devopsMessage.getError())) { devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc()); @@ -67,15 +89,14 @@ devopsMessage.setMethod(type.getMethod()); } } - List<ErrorType> crnError = isCrnError(wrkMast); + List<ErrorType> crnError = isCrnError(crnProtocol, wrkMast); for (ErrorType type : crnError) { if (!Cools.isEmpty(devopsMessage.getError())) { devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc()); devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod()); } else { devopsMessage.setError(type.getDesc()); - devopsMessage - .setMethod(type.getMethod()); + devopsMessage.setMethod(type.getMethod()); } } devopsMessages.add(devopsMessage); @@ -84,69 +105,178 @@ return R.ok(devopsMessages); } - private List<ErrorType> isStaError(WrkMast staNo) { + private List<ErrorType> isStaError(StaProtocol staProtocol, WrkMast wrkMast) { List<ErrorType> types = new ArrayList<>(); - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); - StaProtocol staProtocol = devpThread.getStation().get(staNo); if (staProtocol == null) { types.add(ErrorType.ERROR); return types; } else { staProtocol = staProtocol.clone(); } + // 鑷姩 if (staProtocol.isAutoing()) { types.add(ErrorType.FEIZIDONG); } - if (staProtocol.isLoading()) { - types.add(ErrorType.YOUWU); - } - if (staProtocol.getWorkNo() == 0) { - types.add(ErrorType.GONGZUOHAO); - } - if (staProtocol.getStaNo() == null) { - types.add(ErrorType.STANO); + if (wrkMast.getIoType() > 100) { + // 鍑哄簱鏍¢獙 + // 鏈夌墿 + if (staProtocol.isLoading()) { + types.add(ErrorType.YOUWU); + } // 宸ヤ綔鍙锋槸鍚︿负0 + if (staProtocol.getWorkNo() == 0) { + types.add(ErrorType.GONGZUOHAO); + } + // 鐩爣绔欑偣 + if (staProtocol.getStaNo() == null) { + types.add(ErrorType.STANO); + } + } else { + // 鍏ュ簱鏍¢獙 + } return types; } - private List<ErrorType> isCrnError(WrkMast wrkMast) { + private List<ErrorType> isCrnError(CrnProtocol crnProtocol, WrkMast wrkMast) { List<ErrorType> types = new ArrayList<>(); - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - + // 鍫嗗灈鏈烘槸鍚︾┖闂� if (crnProtocol.getStatusType() == CrnStatusType.IDLE) { - + types.add(ErrorType.CRN_NO_IDLE); } + //浠诲姟鍙锋槸鍚︿负0 if (crnProtocol.getTaskNo() == 0) { - + types.add(ErrorType.WORKING); } + // 鍫嗗灈鏈烘槸鍚﹁嚜鍔� if (crnProtocol.getModeType() == CrnModeType.AUTO) { - + types.add(ErrorType.CRN_FEIZIDONG); } + // 杞借揣鍙版湁鐗� if (crnProtocol.getLoaded() == 0) { - + types.add(ErrorType.LOAD); } + // 鍫嗗灈鏈哄彇璐т腑 if (crnProtocol.statusType == CrnStatusType.FETCHING) { types.add(ErrorType.WORKING); } + // 鏀捐揣涓� if (crnProtocol.statusType == CrnStatusType.PUTTING) { types.add(ErrorType.WORKING); } + // 鍫嗗灈鏈虹瓑寰呯‘璁ょ姸鎬� if (crnProtocol.statusType == CrnStatusType.WAITING) { types.add(ErrorType.WORKING); } + // 璐у弶鏄惁浼氬洖涓� if (crnProtocol.forkPosType == CrnForkPosType.HOME) { types.add(ErrorType.HOME); } - if (crnProtocol.modeType == CrnModeType.AUTO) { - types.add(ErrorType.FEIZIDONG); - } -// if (crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())) { -// types.add(ErrorType.CRNGONGZUOHAO); -// } return types; } + @PostMapping("/site/list") + @ManagerAuth(memo = "绔欑偣淇℃伅琛�") + public R siteTable() { + List<DevopsMessage> devopsMessages = new ArrayList<>(); + DevopsMessage devopsMessage; + List<Integer> outSta = slaveProperties.getOutSta(); + List<Integer> inSta = slaveProperties.getInSta(); + // 鎸佷箙鏁版嵁 + List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no")); + for (Integer out : outSta) { + for (BasDevp devp : basDevps) { + if (devp.getDevNo().equals(out)) { + devopsMessage = new DevopsMessage(); + devopsMessage.setStaNo(out); + devopsMessage.setType("鍑哄簱绔欑偣"); + if (devp.getLoading().equalsIgnoreCase("Y")) { + devopsMessage.setError(ErrorType.YOUWU.getDesc()); + devopsMessage.setMethod("璇峰皢鐗╂枡鎸蛋锛屾墠鑳藉嚭搴�"); + } else { + List<ErrorType> crnError = isOutStaError(devp); + for (ErrorType type : crnError) { + if (!Cools.isEmpty(devopsMessage.getError())) { + devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc()); + devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod()); + } else { + devopsMessage.setError(type.getDesc()); + devopsMessage.setMethod(type.getMethod()); + } + } + } + devopsMessages.add(devopsMessage); + } + } + } + for (Integer in : inSta) { + for (BasDevp devp : basDevps) { + if (devp.getDevNo().equals(in)) { + devopsMessage = new DevopsMessage(); + devopsMessage.setStaNo(in); + devopsMessage.setType("鍏ュ簱绔欑偣"); + if (devp.getLoading().equalsIgnoreCase("Y")) { + List<ErrorType> crnError = isInStaError(devp); + for (ErrorType type : crnError) { + if (!Cools.isEmpty(devopsMessage.getError())) { + devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc()); + devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod()); + } else { + devopsMessage.setError(type.getDesc()); + devopsMessage.setMethod(type.getMethod()); + } + } + } else { + devopsMessage.setError(ErrorType.WUWU.getDesc()); + devopsMessage.setMethod(ErrorType.WUWU.getMethod()); + } + devopsMessages.add(devopsMessage); + } + } + } + return R.ok().add(devopsMessages); + } + + private List<ErrorType> isOutStaError(BasDevp devp) { + List<ErrorType> types = new ArrayList<>(); + // 鑷姩 + if (!devp.getAutoing().equalsIgnoreCase("Y")) { + types.add(ErrorType.FEIZIDONG); + } + // 宸ヤ綔鍙锋槸鍚︿负0 + if (devp.getWrkNo() != null && devp.getWrkNo() > 0) { + types.add(ErrorType.GONGZUOHAO); + } + if (devp.getCanouting().equalsIgnoreCase("N")) { + types.add(ErrorType.CANOUTING); + } + // 鐩爣绔欑偣 + //TODO +// if (devp.getStaNo() == null) { +// types.add(ErrorType.STANO); +// } + + return types; + } + + private List<ErrorType> isInStaError(BasDevp devp) { + List<ErrorType> types = new ArrayList<>(); + // 鑷姩 + if (!devp.getAutoing().equalsIgnoreCase("Y")) { + types.add(ErrorType.FEIZIDONG); + } + // 宸ヤ綔鍙锋槸鍚︿负0 + if (devp.getWrkNo() != null && devp.getWrkNo() > 0) { + types.add(ErrorType.GONGZUOHAO); + } + if (devp.getCanining().equalsIgnoreCase("N")) { + types.add(ErrorType.CANINING); + } + // 鐩爣绔欑偣 +// if (staProtocol.getStaNo() == null) { +// types.add(ErrorType.STANO); +// } + return types; + } } -- Gitblit v1.9.1