From 13e8005d15a12d34835a954022ce0e5a169aff78 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 10 五月 2025 09:21:21 +0800
Subject: [PATCH] wcs监控界面显示内容调整
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 369 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 275 insertions(+), 94 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 8edd7e5..e69cd54 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,12 +7,17 @@
import com.core.exception.CoolException;
import com.zy.asrs.controller.CrnController;
import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.wms.StorageEscalationParam;
-import com.zy.asrs.mapper.*;
+import com.zy.asrs.mapper.BasCrnErrorMapper;
+import com.zy.asrs.mapper.StaDescMapper;
+import com.zy.asrs.mapper.TaskWrkMapper;
+import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
+import com.zy.common.service.CommonService;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
@@ -29,6 +34,7 @@
import com.zy.core.thread.SiemensDevpThread;
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 org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -36,6 +42,7 @@
import java.io.IOException;
import java.util.Date;
import java.util.List;
+import java.util.Random;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -55,6 +62,8 @@
@Autowired
private LocMastService locMastService;
@Autowired
+ private LocDetlService locDetlService;
+ @Autowired
private BasCrnpService basCrnpService;
@Autowired
private BasDevpService basDevpService;
@@ -66,10 +75,9 @@
private TaskWrkMapper taskWrkMapper;
@Autowired
- private DevpTaskMapper devpTaskMapper;
- @Autowired
private TaskWrkService taskWrkService;
-
+ @Autowired
+ private CommonService commonService;
@Autowired
private StaDescMapper staDescMapper;
@@ -85,13 +93,34 @@
@Autowired
private CrnController crnController;
+ @Autowired
+ private TransferTaskService transferTaskService;
- public void generateStoreWrkFile() throws IOException, InterruptedException {
+ @Autowired
+ private WrkMastService wrkMastService;
+
+ @Autowired
+ private WrkDetlService wrkDetlService;
+
+ @Value("${loc-move.enable}")
+ private boolean enable;
+ @Value("${loc-move.crn1}")
+ private boolean crn1;
+ @Value("${loc-move.crn2}")
+ private boolean crn2;
+ @Value("${loc-move.crn3}")
+ private boolean crn3;
+
+
+ public synchronized void generateStoreWrkFile() {
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
for (DevpSlave.Sta inSta : devp.getInSta()) {
+ if (inSta.getStaNo() != 114) {
+ continue;
+ }
StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
storageEscalationParam.setStationCode(inSta.getStaNo());
// 鑾峰彇鍏ュ簱绔欎俊鎭�
@@ -135,28 +164,32 @@
back = true;
}
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
- if (staProtocol.isAutoing() && staProtocol.isLoading()
- && staProtocol.isInEnable()
- && !staProtocol.isEmptyMk() && workNo >= 9790
- && staProtocol.isPakMk()) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
+ && !staProtocol.isEmptyMk() && workNo >= 9000 && staProtocol.isPakMk()) {
+// if(true){
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
if (barcodeThread == null) {
continue;
}
String BoxNo = barcodeThread.getBarcode();
+ if (Cools.isEmpty(BoxNo)) {
+ log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo);
+ continue;
+ }
TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
if (!Cools.isEmpty(taskWrk1)) {
log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�");
- if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- if (Cools.isEmpty(staDesc)) {
- return;
- } else {
- continue;
- }
- }
+ continue;
+// if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
+// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+// if (Cools.isEmpty(staDesc)) {
+// return;
+// } else {
+// continue;
+// }
+// }
}
if (back) {
storageEscalationParam.setWCSStatus(1);
@@ -165,26 +198,37 @@
storageEscalationParam.setBarcode(BoxNo);
log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
+ if (taskWrk == null) {
+ log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam);
+ continue;
+ }
if (back) {
log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg);
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
} else {
- if (!Cools.isEmpty(taskWrk)) {
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- //娣诲姞涓婃姤鏃ュ織
- toWmsService.addReportLog(taskWrk);
- } else {
- log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ //娣诲姞涓婃姤鏃ュ織
+// toWmsService.addReportLog(taskWrk);
+// if (!Cools.isEmpty(taskWrk)) {
+// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+// staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+// staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// //娣诲姞涓婃姤鏃ュ織
+// toWmsService.addReportLog(taskWrk);
+// } else {
+// log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
+// staProtocol.setStaNo(inSta.getBackSta().shortValue());
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// }
}
@@ -205,8 +249,8 @@
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
// 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
- List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
- for (StaDesc staDesc : staDescs) {
+// List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
+// for (StaDesc staDesc : staDescs) {
try {
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
@@ -218,34 +262,42 @@
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
// 鏌ヨ宸ヤ綔妗�
- TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString());
+ TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1));
if (taskWrk == null) {
continue;
}
- log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getStnNo().shortValue());
- boolean offer = false;
- try {
- offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
- } catch (Exception e) {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
- }
- if (offer) {
- log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
- taskWrk.setStatus(5);
- taskWrk.setWrkSts(14);
- taskWrkService.updateById(taskWrk);
+ // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
+// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo());
+// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+// log.info(crnProtocol.statusType+""+crnProtocol.getForkPosType());
+// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue())
+// && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED
+// && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+ }
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ taskWrk.setStatus(5);
+ taskWrk.setWrkSts(14);
+ taskWrkService.updateById(taskWrk);
- } else {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
- }
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ }
+// }
}
} catch (Exception e) {
log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
}
- }
+// }
}
}
@@ -372,6 +424,8 @@
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
} else {
try {
+ // 涓婃姤鎵ц鐘舵��
+ toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
taskWrkService.updateById(taskWrk);
} catch (Exception e) {
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
@@ -496,6 +550,8 @@
if (taskWrkMapper.updateById(taskWrk) == 0) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
}
+ // 涓婃姤鎵ц鐘舵��
+ toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
} catch (Exception e) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
@@ -836,6 +892,9 @@
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
+ if (devp.getId() == 2) {
+ continue;
+ }
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
for (DevpSlave.Sta inSta : devp.getInSta()) {
WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
@@ -996,15 +1055,123 @@
/**
- * 鐙珛杈撻�佺嚎
+ * 璺戝簱绋嬪簭
*/
- public void onlyDevp() {
- DevpSlave devpSlave = slaveProperties.getDevp().get(1);
- List<DevpSlave.Sta> inSta = devpSlave.getInSta();
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
- for (DevpSlave.Sta sta : inSta) {
+ public void debug(String sts, Long modiUser, Integer loc_type1) {
+ if (!enable) {
+ return;
+ }
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
+ if (basCrnps.isEmpty()) {
+ return;
+ }
+ for (BasCrnp basCrnp : basCrnps) {
+ if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) {
+ continue;
+ }
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11));
+ if (Cools.isEmpty(wrkMasts) || wrkMasts.isEmpty()) {
+ int i = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser));
+ LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser));
+ if (locMastStart == null || i > 1) {
+ continue;
+ }
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "O")
+ .eq("crn_no", basCrnp.getCrnNo())
+ .eq("loc_type1", locMastStart.getLocType1())
+ .ne("modi_user", 77));
+ if (Cools.isEmpty(locMasts)) {
+ continue;
+ }
+ Random random = new Random();
+ LocMast locMastEnd = locMasts.get(random.nextInt(locMasts.size()));
+ locMove(locMastStart, locMastEnd, Long.parseLong(basCrnp.getCrnNo().toString()));
+ }
+ }
+ }
+
+
+ public void locMove(LocMast sourceLoc, LocMast locNo, Long userId) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLoc.getLocNo()));
+ LocMast loc = locMastService.selectById(locNo);
+ if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
+ throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
+ }
+ Date now = new Date();
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+ wrkMast.setIoPri(10D);
+ wrkMast.setCrnNo(sourceLoc.getCrnNo());
+ wrkMast.setSourceLocNo(sourceLoc.getLocNo()); // 婧愬簱浣�
+ wrkMast.setLocNo(locNo.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
+ wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeUser(userId);
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
+ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ sourceLoc.setModiUser(userId);
+ sourceLoc.setModiTime(now);
+ if (!locMastService.updateById(sourceLoc)) {
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLoc.getLocSts$());
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(now);
+ loc.setModiUser(userId);
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細" + loc.getLocSts$());
+ }
+ }
+
+ /**
+ * 杞Щ浠诲姟涓嬪彂
+ */
+ public void transferTaskStart() {
+ for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
try {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo());
if (staProtocol == null) {
continue;
@@ -1013,48 +1180,62 @@
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
// 鏌ヨ宸ヤ綔妗�
-// TaskWrk taskWrk = devpTaskMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString());
-// if (taskWrk == null) {
-// continue;
-// }
-// log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-// staProtocol.setStaNo(staDesc.getStnNo().shortValue());
-// boolean offer = false;
-// try {
-// offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-// } catch (Exception e) {
-// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
-// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
-// }
-// if (offer) {
-// log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// taskWrk.setStatus(5);
-// taskWrk.setWrkSts(14);
-// taskWrkService.updateById(taskWrk);
-//
-// } else {
-// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// }
+ TransferTask transferTask = transferTaskService.selectByStartPoint(sta.getStaNo());
+ if (transferTask == null) {
+ continue;
+ }
+ log.info("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛歵askWrk:" + JSON.toJSONString(transferTask));
+ staProtocol.setWorkNo(transferTask.getWrkNo().shortValue());
+ staProtocol.setStaNo(transferTask.getTargetPoint().shortValue());
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:offer:" + offer);
+ }
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(transferTask));
+ transferTask.setStatus(2);
+ transferTaskService.updateById(transferTask);
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(transferTask));
+ }
}
} catch (Exception e) {
- log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
}
}
}
-
/**
- * 璺戝簱绋嬪簭
+ * 杞Щ浠诲姟瀹屾垚
*/
- public void debug() {
- //棣栧厛搴撲綅鏈変竴涓湪搴撶殑搴撲綅
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F"));
- if (locMast != null) {
- // 鍐嶇敓鎴愪竴涓Щ搴撲换鍔�
- LocMast mk = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").ne("mk", 1));
-
+ public void transferTaskEnd() {
+ for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
+ try {
+ // 鑾峰彇缁堢偣绔�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(sta.getOverSta());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+ // 鏌ヨ宸ヤ綔妗�
+ TransferTask transferTask = transferTaskService.selectByEndPoint(sta.getStaNo());
+ if (transferTask == null) {
+ continue;
+ }
+ log.info("杞Щ浠诲姟瀹屾垚锛歵ransferTask:" + JSON.toJSONString(transferTask));
+ transferTask.setStatus(3);
+ transferTaskService.updateById(transferTask);
+ }
+ } catch (Exception e) {
+ log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
+ }
}
}
--
Gitblit v1.9.1