From f0e2feba85291e700eae3b0a8cedd28f37b44c02 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 19 四月 2025 20:04:34 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 88 insertions(+), 18 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 7dd60f7..8d84d27 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -40,6 +40,7 @@
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;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -98,6 +99,8 @@
private LiftAction liftAction;
@Autowired
private BasWrkStatusService wrkStatusService;
+ @Value("${asrs.wmsUrl}")
+ private String wmsUrl;
public boolean isInEnable(DevpThread devpThread, Integer staNo) {
@@ -184,8 +187,8 @@
if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
String barcode = staProtocol.getBarcode();
// 鍒ゆ柇閲嶅宸ヤ綔妗�
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode));
- if (wrkMast != null) {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
+ if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) {
News.error("宸ヤ綔妗e凡瀛樺湪,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
//鍒ゆ柇鏃舵彁鍗囨満渚э紝杩樻槸鏃犳彁鍗囨満娴�
staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -195,14 +198,15 @@
wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
wrkMast.setModiTime(new Date());
wrkMastService.updateById(wrkMast);
+ } else if (wrkMast != null && wrkMast.getWrkSts() != WrkStsType.NEW_INBOUND.sts) {
+ continue;
}
try {
- String wmsUrl = "192.168.10.201:8080/fyxcwms";
SearchLocParam param = new SearchLocParam();
param.setBarcode(barcode);
param.setIoType(1);
param.setSourceStaNo(inSta.getStaNo());
- param.setLocType1(staProtocol.getLocType1().shortValue());
+ param.setLocType1((short) 1);
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath("/rpc/pakin/loc/v1")
@@ -257,10 +261,58 @@
News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("璋冪敤wms鎶ラ敊1锛寋}", e.getMessage());
}
}
+ } else if (inSta.getStaNo() == 1012 || inSta.getStaNo() == 1022) {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ Short workNo = staProtocol.getWorkNo();
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
+ String barcode = staProtocol.getBarcode();
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
+ if (wrkMast == null) {
+ try {
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setIoType(1);
+ param.setSourceStaNo(inSta.getStaNo());
+ param.setLocType1((short) 1);
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {
+ } else {
+ String msg = jsonObject.getString("msg");
+ HashMap<String, String> hashMap = new HashMap<>();
+ hashMap.put("msg", msg);
+ hashMap.put("sta", inSta.getStaNo().toString());
+ new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/led/getError")
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
+ }
+ } catch (Exception e) {
+ log.error("璋冪敤wms鎶ラ敊2锛寋}", e.getMessage());
+ }
+ }
+ }
}
}
} catch (Exception e) {
@@ -831,6 +883,8 @@
short staNo = 1012;
if (wrkMast.getSourceStaNo() == 1022) {
staNo = 1023;
+ } else if (wrkMast.getSourceStaNo() == 1031 || wrkMast.getSourceStaNo() == 1032) {
+ staNo = 1032;
}
staProtocol = staProtocol.clone();
@@ -922,7 +976,16 @@
News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
return false;
}
- } else {
+ } else if (sourceStaNo == 1012) {
+ if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ return false;
+ }
+ if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+ return false;
+ }
+ } else if (sourceStaNo == 1032 || sourceStaNo == 1031) {
if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
@@ -936,6 +999,8 @@
String locNo = "0200305";
if (wrkMast.getSourceStaNo() == 1012) {
locNo = "0200301";
+ } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
+ locNo = "0200308";
}
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
if (!dispatchShuttle) {
@@ -943,9 +1008,13 @@
return false;
}
- int lev = 105;
- if (wrkMast.getSourceStaNo() == 1012) {
- lev = 101;
+ int lev = 101;
+ if (wrkMast.getSourceStaNo() == 1021) {
+ //TODO
+ // lev = 105;
+ lev = 1021;
+ } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
+ lev = 1031;
}
//鑾峰彇鎻愬崌鏈哄懡浠�
List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), sourceStaNo, lev);
@@ -1078,6 +1147,8 @@
String locNo = "0200305";
if (wrkMast.getStaNo() == 1011) {
locNo = "0200301";
+ } else if (wrkMast.getStaNo() == 1032) {
+ locNo = "0200308";
}
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_LIFT");
if (!dispatchShuttle) {
@@ -2095,10 +2166,11 @@
}
private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) {
- if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) {
+ WrkMast mainWrk = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+ if (mainWrk != null && mainWrk.getIoType() == 1) {
//鍏ュ簱
- noLiftInService.shuttleMoveExecute(wrkMast);
- } else {
+ noLiftInService.shuttleMoveExecute(wrkMast, mainWrk.getStaNo());
+ } else if (mainWrk != null && mainWrk.getIoType() == 101) {
//鍑哄簱
noLiftOutService.shuttleMoveExecute(wrkMast);
}
@@ -2112,15 +2184,13 @@
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- WrkMast pakout = wrkMastMapper.selectWorkingPakout(1032);
+ WrkMast pakout = wrkMastService.selectWorkingPakout(1032);
if (pakout != null) {
if (devpThread.ioModeOf2_5 != IoModeType.PAKOUT_MODE) {
// 鍑哄簱鍒囨崲涓�
- devpThread.ioModeOf2_5 = IoModeType.PAKOUT_BOOTING;
- WrkMast pakin = wrkMastMapper.selectWorkingPakin(1032);
- if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
- && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
- && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
+ WrkMast pakin = wrkMastService.selectWorkingPakin(1032);
+ if (pakin == null && !devpThread.getStation().get(1031).isLoading()
+ && !devpThread.getStation().get(1032).isLoading()) {
// 鍑哄簱妯″紡
devpThread.ioModeOf2_5 = IoModeType.PAKOUT_MODE;
}
--
Gitblit v1.9.1