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 | 149 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 105 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 6d86d71..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;
/**
@@ -689,6 +692,7 @@
if (wrkMast.getSourceStaNo() == 106 && wrkMast.getWrkSts() == 12L) {
wrkMast.setWrkSts(16L);
wrkMast.setCrnNo(1);
+ wrkMast.setIoPri(14D); // 浼樺厛绾ф彁鍗�
if (wrkMast.getStaNo() == 107) {
wrkMast.setSourceStaNo(107);
} else if(wrkMast.getStaNo()==104) {
@@ -697,11 +701,7 @@
staProtocol.setStaNo((short) 106);
log.info("----------106绉诲簱鏍囪瘑---------");
- }else if(wrkMast.getSourceStaNo() == 105 && wrkMast.getWrkSts() == 16L) {
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
- log.info("106绉诲簱瀹屾垚锛岃緭閫佺嚎鍙戦��105鍒�104锛屾簮绔欎负锛�" + staProtocol.getSiteId());
- wrkMast.setWrkSts(14L);
- }else {
+ } else {
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
wrkMast.setWrkSts(14L);
}
@@ -1071,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")) {
@@ -1882,11 +1887,16 @@
LocMast loc = null;
for (Integer row : rows) {
if (Utils.isDeepLoc(slaveProperties, row)) {
- loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+ loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
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;
@@ -1903,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")) {
@@ -1935,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"); // 绌烘澘
@@ -3095,29 +3105,48 @@
crnCommand.setTraySize(true); //搴撲綅绫诲瀷
if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(2, crnCommand))) {
News.error("106绉诲簱1鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ wrkMast.setWrkSts(12L);
+ wrkMastMapper.updateById(wrkMast);
+ log.info("1鍙峰爢鍨涙満杞繍106鎺ㄩ�佸埌鍛戒护闃熷垪鎴愬姛");
}
-// else {
-// wrkMast.setCrnNo(2);
-// wrkMastMapper.updateById(wrkMast);
-// }
News.infoNoLog("106绉诲簱缁�1鍙峰爢鍨涙満涓嬪彂瀹屾垚");
}
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));
@@ -3125,28 +3154,60 @@
}
public synchronized void invokingBase() {
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
- .eq("source_sta_no", 305));
- if (wrkMast != null) {
- int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L).eq("io_type", 1)
- .eq("source_sta_no", 305));
- if (count != 0) {
- log.warn("瀛樺湪305鍏ュ簱浠诲姟锛岀姸鎬佷负璁惧涓婅蛋");
- return;
- }
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol= devpThread.getStation().get(wrkMast.getStaNo());
- if (staProtocol == null) {
- return;
- } else {
- staProtocol = staProtocol.clone();
- }
- if(staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
+// WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+// .eq("source_sta_no", 305));
+// if (wrkMast != null) {
+// int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L).eq("io_type", 1)
+// .eq("source_sta_no", 305));
+// if (count != 0) {
+// log.warn("瀛樺湪305鍏ュ簱浠诲姟锛岀姸鎬佷负璁惧涓婅蛋");
+// return;
+// }
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+ .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());
+ if (staProtocol == null) {
+ return;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if(staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getSourceStaNo().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp,1, new Task(2, staProtocol));
+ log.info("鍏ュ簱璇锋眰搴曞骇-,浠诲姟鍙凤細{}锛岀洰鏍囩珯锛歿}-----", wrkMast.getWrkNo(), wrkMast.getStaNo());
+ }
+ }
+
+// }
+ }
+
+ 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(wrkMast.getSourceStaNo().shortValue());
+ staProtocol.setStaNo((short) 0);
devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp,1, new Task(2, staProtocol));
- log.info("鍏ュ簱璇锋眰搴曞骇------");
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+
+ log.info("鍑哄簱浠诲姟瀹屾垚杞叆搴�,浠诲姟鍙凤細{}锛岀洰鏍囩珯锛歿}-----", wrkMast.getWrkNo(), wrkMast.getStaNo());
+ break;
}
}
}
--
Gitblit v1.9.1