From c7221d56da7bf4efa1672a15d2f1b66adbca20fc Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期三, 18 六月 2025 13:09:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 151 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 98 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 45033ce..da110a0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -39,6 +39,8 @@ import com.zy.core.thread.LedThread; import com.zy.core.thread.RgvThread; import com.zy.core.thread.SiemensDevpThread; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -91,6 +93,8 @@ private WrkMastService wrkMastService; @Autowired private WrkMastLogService wrkMastLogService; + @Autowired + private ConfigService configService; @Value("${wms.url}") private String wmsUrl; @@ -235,21 +239,21 @@ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } - // led 鍏ュ簱淇℃伅鏄剧ず - if (ledThread != null) { - // 鍛戒护闆嗗悎 - List<LedCommand> commands = new ArrayList<>(); - // 缁勮鍛戒护 - LedCommand ledCommand = new LedCommand(); - ledCommand.setWorkNo(dto.getWorkNo()); - ledCommand.setIoType(1); - ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); - ledCommand.setLocNo(dto.getLocNo()); - ledCommand.setStaNo(dto.getStaNo()); - commands.add(ledCommand); - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, commands)); -// ledThread.errorReset(); - } +// // led 鍏ュ簱淇℃伅鏄剧ず +// if (ledThread != null) { +// // 鍛戒护闆嗗悎 +// List<LedCommand> commands = new ArrayList<>(); +// // 缁勮鍛戒护 +// LedCommand ledCommand = new LedCommand(); +// ledCommand.setWorkNo(dto.getWorkNo()); +// ledCommand.setIoType(1); +// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); +// ledCommand.setLocNo(dto.getLocNo()); +// ledCommand.setStaNo(dto.getStaNo()); +// commands.add(ledCommand); +// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, commands)); +//// ledThread.errorReset(); +// } } else { News.error(""+mark+" - 5"+" - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); // staProtocol.setWorkNo((short)9992); @@ -364,26 +368,30 @@ staProtocol = staProtocol.clone(); } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && staProtocol.isInEnable() + && staProtocol.getWorkNo() > 0 + && staProtocol.isPakMk()) { News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�"); - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if(!Cools.isEmpty(barcode)) { - News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); - if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { - continue; - } - } else { - continue; - } +// // 鑾峰彇鏉$爜鎵弿浠俊鎭� +// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); +// if (barcodeThread == null) { +// continue; +// } +// String barcode = barcodeThread.getBarcode(); +// if(!Cools.isEmpty(barcode)) { +// News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); +// if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { +// continue; +// } +// } else { +// continue; +// } - WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); -// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); +// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); + WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); if (wrkMast == null) { // 鏃犳嫞鏂欐暟鎹� continue; @@ -409,11 +417,11 @@ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { - News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); - staProtocol.setWorkNo((short) 9989); - staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1)); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); +// staProtocol.setWorkNo((short) 9989); +// staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1)); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); //LED LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); // led 寮傚父鏄剧ず @@ -907,7 +915,23 @@ } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") - && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { + && staProtocol.getWorkNo() == 0) { + + //鏍规嵁鍙傛暟鍒ゆ柇鏄惁鏍¢獙鍙嚭淇″彿 + String crnOutVerifyOut = "Y"; + Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>() + .eq("code", "crnOutVerifyOutEnable")); + if(crnOutVerifyOutEnableConfig != null) { + crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue(); + } + + if (crnOutVerifyOut.equals("Y")) { + if (!staProtocol.isOutEnable()) { + continue; + } + } + + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鍫嗗灈鏈烘帶鍒惰繃婊� @@ -1647,24 +1671,39 @@ ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); ledCommand.setLocNo(wrkMast.getLocNo()); ledCommand.setStaNo(wrkMast.getStaNo()); + ledCommand.setBarcode(wrkMast.getBarcode()); // ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - try{ - if (wrkMast.getIoType()>100){ - for (WrkDetl wrkDetl : wrkDetls){ - LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); - wrkDetl.setWeight(locDetl.getAnfme()); - } - }else { - for (WrkDetl wrkDetl : wrkDetls){ - wrkDetl.setWeight(wrkDetl.getAnfme()); - } - } - }catch (Exception e){ - log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); - } - wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getWeight(),wrkDetl.getSpecs(),wrkDetl.getSku()))); +// try{ +// if (wrkMast.getIoType()>100){ +// for (WrkDetl wrkDetl : wrkDetls){ +// LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); +// wrkDetl.setWeight(locDetl.getAnfme()); +// } +// }else { +// for (WrkDetl wrkDetl : wrkDetls){ +// wrkDetl.setWeight(wrkDetl.getAnfme()); +// } +// } +// }catch (Exception e){ +// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); +// } + wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto( + wrkDetl.getMatnr() + , wrkDetl.getMaktx() + , wrkDetl.getAnfme() + , wrkDetl.getWeight() + , wrkDetl.getStockNum() + , wrkDetl.getStockNum2() + , wrkDetl.getSpecs() + , wrkDetl.getSku() + , wrkDetl.getZpallet() + , wrkDetl.getModel() + , wrkDetl.getSupp() + , wrkDetl.getKpCstmrName() + , wrkDetl.getOrderNo() + ))); } commands.add(ledCommand); } @@ -2013,6 +2052,11 @@ continue; } + Integer ctnType = 1; + if (ctnType.equals(loc.getCtnType())) { + continue; + } + String sourceLocNo = sourceLoc.getLocNo(); String locNo = loc.getLocNo(); @@ -2067,6 +2111,7 @@ // 淇敼鐩爣搴撲綅鐘舵�� if (loc.getLocSts().equals("O")) { loc.setLocSts("S"); // S.鍏ュ簱棰勭害 + loc.setCtnType(1); loc.setModiTime(new Date()); if (!locMastService.updateById(loc)) { throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); -- Gitblit v1.9.1