From 77c0b3a6d94eab894dbc7472e530c484dcfc424e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 07 一月 2026 16:59:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jnejc-jgwcs' into jnejc-jgwcs
---
src/main/java/com/zy/common/model/MatDto.java | 5 +
src/main/resources/mapper/WrkDetlMapper.xml | 6 +
src/main/java/com/zy/controller/MonitorController.java | 49 +++++++----
src/main/java/com/zy/entity/WrkDetl.java | 39 +++++++++
src/main/java/com/zy/service/impl/MainServiceImpl.java | 24 +++--
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/common/model/LocTypeDto.java | 9 +
src/main/resources/application.yml | 48 +++++++----
8 files changed, 132 insertions(+), 50 deletions(-)
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index a1224cf..319e4f4 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -31,8 +31,13 @@
}
public LocTypeDto(StaProtocol staProtocol) {
- if (staProtocol.isHigh() == staProtocol.isLow() || staProtocol.isChang() == staProtocol.isDuan()) {
- News.error("plc楂樹綆/闀跨煭妫�娴嬪紓甯�,high:{},low:{}锛宑hang:{},duan:{}",staProtocol.isHigh(),staProtocol.isLow(),staProtocol.isChang(),staProtocol.isDuan());
+ // todo 楂樹綆搴撲綅鏆傛椂涓嶆娴�
+// if (staProtocol.isHigh() == staProtocol.isLow() || staProtocol.isChang() == staProtocol.isDuan()) {
+// News.error("plc楂樹綆/闀跨煭妫�娴嬪紓甯�,high:{},low:{}锛宑hang:{},duan:{}",staProtocol.isHigh(),staProtocol.isLow(),staProtocol.isChang(),staProtocol.isDuan());
+// return;
+// }
+ if (staProtocol.isChang() == staProtocol.isDuan()) {
+ News.error("plc闀跨煭妫�娴嬪紓甯�,high:{},low:{}锛宑hang:{},duan:{}",staProtocol.isHigh(),staProtocol.isLow(),staProtocol.isChang(),staProtocol.isDuan());
return;
}
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 684c601..ed7b457 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -43,6 +43,8 @@
private Double total;
+ private String standby1 = "";
+
public MatDto() {
}
public MatDto(String matnr, String maknx, String batch, String specs, String manu, String memo, Double count, Double total) {
@@ -55,7 +57,7 @@
this.count = count;
this.total = total;
}
- public MatDto(String orderNo,String matnr,String maknx, String batch,String specs,String manuDate,String model,Double anfme) {
+ public MatDto(String orderNo,String matnr,String maknx, String batch,String specs,String manuDate,String model,Double anfme,String standby1) {
this.orderNo = orderNo;
this.matnr = matnr;
this.maknx = maknx;
@@ -64,6 +66,7 @@
this.manuDate = manuDate;
this.model = model;
this.anfme = anfme;
+ this.standby1 = standby1;
}
public MatDto(String matNo, String maknx, Double count) {
diff --git a/src/main/java/com/zy/controller/MonitorController.java b/src/main/java/com/zy/controller/MonitorController.java
index e566421..b54a038 100644
--- a/src/main/java/com/zy/controller/MonitorController.java
+++ b/src/main/java/com/zy/controller/MonitorController.java
@@ -75,13 +75,16 @@
* 鑾峰彇鍏朵粬淇℃伅
*/
@GetMapping("/other")
- public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer sta) {
+ public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") String ledIdString) {
Integer ledId = 0;
- for (LedSlave led : slaveProperties.getLed()) {
- for (Integer staNo : led.getStaArr()) {
- if (staNo.equals(sta)) {
- ledId = led.getId();
- break;
+ String[] ledIds = ledIdString.split(",");
+ for (String id : ledIds) {
+ for (LedSlave led : slaveProperties.getLed()) {
+ for (Integer staNo : led.getStaArr()) {
+ if (staNo.equals(Integer.parseInt(id))) {
+ ledId = led.getId();
+ break;
+ }
}
}
}
@@ -261,18 +264,23 @@
* 鑾峰彇鍏朵粬淇℃伅
*/
@GetMapping("/led")
- public R monitorLed(@RequestParam("ledId") Integer ledId) {
+ public R monitorLed(@RequestParam("ledId") String ledIdString) {
+ String[] ledIds = ledIdString.split(",");
String ledContent = "";
List<LedCommand> commandList = null;
- for (LedSlave slave : slaveProperties.getLed()) {
- if (slave.getStaArr().contains(ledId)) {
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
- if (null != ledThread) {
- ledContent = ledThread.getStringBuffer().toString();
- commandList = ledThread.getCommandList();
+ for(String ledId: ledIds) {
+
+ for (LedSlave slave : slaveProperties.getLed()) {
+ if (slave.getStaArr().contains(Integer.parseInt(ledId))) {
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
+ if (null != ledThread) {
+ ledContent = ledThread.getStringBuffer().toString();
+ commandList = ledThread.getCommandList();
+ }
}
}
}
+
return R.ok().add(commandList);
}
@@ -280,13 +288,16 @@
* 寮傚父閫氱煡
*/
@GetMapping("/led/error")
- public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+ public R monitorLedError(@RequestParam("ledId") String ledIdString) {
String errorMsg = "";
- for (LedSlave slave : slaveProperties.getLed()) {
- if (slave.getStaArr().contains(ledId)) {
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
- if (null != ledThread) {
- errorMsg = ledThread.getErrorMsg().toString();
+ String[] ledIds = ledIdString.split(",");
+ for(String ledId: ledIds) {
+ for (LedSlave slave : slaveProperties.getLed()) {
+ if (slave.getStaArr().contains(Integer.parseInt(ledId))) {
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
+ if (null != ledThread) {
+ errorMsg = ledThread.getErrorMsg().toString();
+ }
}
}
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 8823dba..9f482ba 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -41,7 +41,7 @@
}
// 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
-// mainService.stnToCrnStnPick(3);
+ mainService.stnToCrnStnPick(3);
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateStoreWrkFile(); // 缁勬墭
diff --git a/src/main/java/com/zy/entity/WrkDetl.java b/src/main/java/com/zy/entity/WrkDetl.java
index 9b6f8db..e406632 100644
--- a/src/main/java/com/zy/entity/WrkDetl.java
+++ b/src/main/java/com/zy/entity/WrkDetl.java
@@ -268,6 +268,45 @@
@ApiModelProperty(value= "澶囨敞")
private String memo;
+ /**
+ * 澶囩敤1
+ */
+ @ApiModelProperty(value= "澶囩敤1")
+ private String standby1 = "";
+
+ /**
+ * 澶囩敤2
+ */
+ @ApiModelProperty(value= "澶囩敤2")
+ private String standby2 = "";
+
+ /**
+ * 澶囩敤3
+ */
+ @ApiModelProperty(value= "澶囩敤3")
+ private String standby3 = "";
+
+ /**
+ * 澶囩敤1
+ */
+ @ApiModelProperty(value= "澶囩敤1")
+ @TableField("box_type1")
+ private String boxType1 = "1";
+
+ /**
+ * 澶囩敤2
+ */
+ @ApiModelProperty(value= "澶囩敤2")
+ @TableField("box_type2")
+ private String boxType2 = "1";
+
+ /**
+ * 澶囩敤3
+ */
+ @ApiModelProperty(value= "澶囩敤3")
+ @TableField("box_type3")
+ private String boxType3 = "1";
+
public String getIoTime$(){
if (Cools.isEmpty(this.ioTime)){
return "";
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 46d313c..54b1d2e 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -173,7 +173,12 @@
&& staProtocol.isPakMk() && staProtocol.getWorkNo() >= 9993 && staProtocol.getWorkNo() <= 9995) { // 9990-9992绌烘墭锛�9993-9995 婊℃墭锛�9999鍥為��
if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
News.info("{}鏉$爜鎵弿閿欒锛歿}",barcodeThread.getSlave().getId(),barcode);
- continue;
+ staProtocol.setWorkNo(wrkNo);
+ staProtocol.setStaNo(inSta.getBackSta().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鏉$爜鎵弿閿欒"));
+ return;
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
@@ -268,7 +273,8 @@
staProtocol = staProtocol.clone();
}
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9999) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()
+ && staProtocol.getWorkNo() >= 9993 && staProtocol.getWorkNo() <= 9995) {
News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�");
WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
if (wrkMast == null) {
@@ -283,16 +289,16 @@
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("stn_no", wrkMast.getSourceStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.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(wrkNo);
- staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
+ staProtocol.setStaNo(pickSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- log.error("杈撻�佺嚎涓嬪彂4锛�"+wrkNo+","+(pickSta.getStaNo().shortValue()-(short)1));
+ log.error("杈撻�佺嚎涓嬪彂4锛�"+wrkNo+","+pickSta.getBackSta());
//LED
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
// led 寮傚父鏄剧ず
@@ -320,7 +326,7 @@
wrkMast.setIoTime(now);
wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
- wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+ wrkMast.setSourceStaNo(staProtocol.getSiteId()); // 婧愮珯
wrkMast.setStaNo(staNo); // 鐩爣绔�
wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
@@ -1366,9 +1372,9 @@
if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getOrderNo(),wrkDetl.getMatnr(),wrkDetl.getMaktx(),
- wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getAnfme())));
+ wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getAnfme(),wrkDetl.getStandby1())));
} else {
- ledCommand.getMatDtos().add(new MatDto("","","","","","","",1.0));
+ ledCommand.getMatDtos().add(new MatDto("","","","","","","",1.0,""));
}
commands.add(ledCommand);
}
@@ -1506,7 +1512,7 @@
wrkMast.setCrnNo(crn.getId());
wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
- wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+ wrkMast.setFullPlt(shallowLoc.getLocSts().equals("F") ? "Y" : "N"); // 婊℃澘
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5dcb7a0..b82ada6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -69,6 +69,13 @@
row: 1
bay: 1
lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�3
+ crnInStn[2]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 205
+ row: 1
+ bay: 9
+ lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�1
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
@@ -132,18 +139,23 @@
barcode: ${wcs-slave.barcode[1].id}
backSta: 204
led: ${wcs-slave.led[1].id}
-# # 鎷f枡鍏ュ簱鍙�1
-# pickSta[0]:
-# staNo: 104
-# barcode: ${wcs-slave.barcode[0].id}
-# backSta: 103
-# led: ${wcs-slave.led[1].id}
-# # 鎷f枡鍏ュ簱鍙�2
-# pickSta[1]:
-# staNo: 106
-# barcode: ${wcs-slave.barcode[1].id}
-# backSta: 105
-# led: ${wcs-slave.led[2].id}
+ # 鎷f枡鍏ュ簱鍙�1
+ pickSta[0]:
+ staNo: 201
+ barcode: ${wcs-slave.barcode[0].id}
+ backSta: 202
+ led: ${wcs-slave.led[0].id}
+ # 鎷f枡鍏ュ簱鍙�2
+ pickSta[1]:
+ staNo: 205
+ barcode: ${wcs-slave.barcode[2].id}
+ led: ${wcs-slave.led[2].id}
+ # 鎷f枡鍏ュ簱鍙�3
+ pickSta[2]:
+ staNo: 203
+ barcode: ${wcs-slave.barcode[1].id}
+ led: ${wcs-slave.led[1].id}
+ backSta: 204
# 鍑哄簱鍙�1
outSta[0]:
staNo: 204
@@ -155,7 +167,7 @@
# 鍑哄簱鍙�3
outSta[2]:
staNo: 202
- led: ${wcs-slave.led[1].id}
+ led: ${wcs-slave.led[0].id}
# 鏉$爜鎵弿浠�1
barcode[0]:
@@ -176,23 +188,23 @@
# LED1
led[0]:
id: 1
- ip: 192.168.5.104
+ ip: 172.26.11.83
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 202
+ staArr: 201,202
crnId: 1
# LED2
led[1]:
id: 2
- ip: 192.168.5.105
+ ip: 172.26.11.84
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 204
+ staArr: 203,204
crnId: 1
# LED3
led[2]:
id: 3
- ip: 192.168.5.106
+ ip: 172.26.11.85
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
staArr: 205
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 6e87030..956fd40 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -24,6 +24,12 @@
<result column="modi_time" property="modiTime" />
<result column="appe_user" property="appeUser" />
<result column="appe_time" property="appeTime" />
+ <result column="standby1" property="standby1" />
+ <result column="standby2" property="standby2" />
+ <result column="standby3" property="standby3" />
+ <result column="box_type1" property="boxType1" />
+ <result column="box_type2" property="boxType2" />
+ <result column="box_type3" property="boxType3" />
</resultMap>
<select id="findByWorkNo" resultMap="BaseResultMap">
--
Gitblit v1.9.1