From 0e10bf39c53b0b79cbdc051ddb10845d361042c3 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 06 五月 2026 09:51:50 +0800
Subject: [PATCH] 初始化
---
src/main/java/com/zy/service/impl/MainServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 74 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index bf67c99..3c1a631 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -95,6 +95,9 @@
@Value("${wms.url}")
private String wmsUrl;
+ @Value("${open-door.site}")
+ private String openDoorSite;
+
public Integer wrkNo = 9901;
/**
@@ -1068,7 +1071,12 @@
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
News.warnNoLog(""+mark+" - 2"+" - 6"+" - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}",wrkMast.getWrkNo());
- String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+ String shallowLocNo = "";
+ if (Utils.getRow(wrkMast.getSourceLocNo()) == 11 && Utils.getBay(wrkMast.getSourceLocNo()) <= 18){
+ shallowLocNo = "10" + Utils.getBay(wrkMast.getSourceLocNo()) + Utils.getLev(wrkMast.getSourceLocNo());
+ }else {
+ shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+ }
LocMast shallowLoc = locMastService.selectById(shallowLocNo);
// O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
@@ -1883,7 +1891,12 @@
if (loc != null) {
if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
- String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+ String shallowLocNo = "";
+ if (row == 11){
+ shallowLocNo = "10" + loc.getBay1() + loc.getLev1();
+ }else {
+ shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+ }
LocMast shallowLoc1 = locMastService.selectById(shallowLocNo);
if (!shallowLoc1.getLocSts().equals("O")) {
loc = null;
@@ -1900,7 +1913,7 @@
if (Utils.isShallowLoc(slaveProperties, row)) {
loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
- if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
+ if (null != loc && row != 9 && row != 10) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
LocMast deepLoc1 = locMastService.selectById(deepLoc);
if (!deepLoc1.getLocSts().equals("F") && !deepLoc1.getLocSts().equals("D")) {
@@ -1932,7 +1945,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"); // 绌烘澘
@@ -3101,20 +3114,39 @@
}
public synchronized void writePlc305() {
- BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
- if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
- WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
- if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol305 = devpThread.getStation().get(305);
- if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
- // 璇锋眰鎵撳紑
- if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
- log.error("璇锋眰寮�闂ㄥけ璐�");
+ String[] sites = openDoorSite.split(",");
+ for (String site : sites) {
+ Integer sta = Integer.valueOf(site);
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", sta));
+ if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
+ WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
+ if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol305 = devpThread.getStation().get(sta);
+ if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
+ // 璇锋眰鎵撳紑
+// if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
+ if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, site))){ // data涓洪渶瑕佸紑闂ㄧ殑绔欑偣 閫氱煡PLC闇�瑕佸紑鍝釜闂�
+ log.error("璇锋眰寮�闂ㄥけ璐�");
+ }
}
}
}
}
+// BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
+// if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
+// WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
+// if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
+// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+// StaProtocol staProtocol305 = devpThread.getStation().get(305);
+// if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
+// // 璇锋眰鎵撳紑
+// if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
+// log.error("璇锋眰寮�闂ㄥけ璐�");
+// }
+// }
+// }
+// }
}
public synchronized void readPlc305() {
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 16L));
@@ -3132,7 +3164,7 @@
// return;
// }
List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
- .eq("source_sta_no", 305).orderBy("appe_time",true));
+ .in("source_sta_no", 305, 1202).orderBy("appe_time",true));
for (WrkMast wrkMast : wrkMastList) {
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
StaProtocol staProtocol= devpThread.getStation().get(wrkMast.getStaNo());
@@ -3152,4 +3184,31 @@
// }
}
+
+ public synchronized void inOutSwap() {
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(305);
+ if (staProtocol == null) {
+ return;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 6000 && staProtocol.getWorkNo() <= 9000) {
+
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+ .eq("source_sta_no", 305).orderBy("appe_time", true));
+ for (WrkMast wrkMast : wrkMasts) {
+ wrkMast.setWhsType(3);
+ wrkMastService.updateById(wrkMast);
+
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo((short) 0);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+
+ log.info("鍑哄簱浠诲姟瀹屾垚杞叆搴�,浠诲姟鍙凤細{}锛岀洰鏍囩珯锛歿}-----", wrkMast.getWrkNo(), wrkMast.getStaNo());
+ break;
+ }
+ }
+ }
}
--
Gitblit v1.9.1