From 23e81c5d24c37a87fbbbf67c68b17e8f78832148 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 03 十一月 2025 18:56:42 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 651 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 610 insertions(+), 41 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 f9d8209..d358482 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.*;
@@ -81,6 +82,8 @@
private CrnController crnController;
@Autowired
private BasDevpPositionService basDevpPositionService;
+ @Autowired
+ private OpenService openService;
@Value("${wms.url}")
private String wmsUrl;
@@ -204,6 +207,7 @@
staProtocol.setWorkNo(9999);
staProtocol.setStaNo(inSta.getBackSta());
devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMkRun(staProtocol.getSiteId(), false);
devpThread.setErrorDev(staProtocol.getSiteId(), errMsg);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
@@ -668,7 +672,8 @@
}
CrnSlave crnSlave = new CrnSlave(crn);
- if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -760,32 +765,38 @@
if (!taskWrks.isEmpty()) {
continue;
}
- List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",true));
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",false));
if (!taskWrkLogs.isEmpty()) {
- TaskWrkLog taskWrkLog = taskWrkLogs.get(0);
- Date completeTime = taskWrkLog.getCompleteTime();
- if (completeTime==null){
- completeTime = taskWrkLog.getCancelTime();
+ boolean signT = false;
+ for (TaskWrkLog taskWrkLog : taskWrkLogs){
+ Date completeTime = taskWrkLog.getCompleteTime();
if (completeTime==null){
- completeTime = taskWrkLog.getModiTime();
+ continue;
+ }
+ long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
+ if (differenceInSeconds <= 60*2*1000) {
+ signT = true;
+ break;
+ } else {
+ signT = false;
+ break;
}
}
- long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
- if (differenceInSeconds <= 60*10*1000) {
- return;
+ if (signT){
+ continue;
}
}
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setCrnNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+ crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
+ crnCommand.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡: 绔欎綅绉昏浆4
int row = crnProtocol.getLaneNo() * 2;
+ crnCommand.setSourcePosX((short) row); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX((short) row); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅灞�
crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅鍒�
@@ -808,7 +819,7 @@
}
}
} catch (Exception e){
- log.error("鍫嗗灈鏈�5鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣澶辫触");
+ log.error("鍫嗗灈鏈�10鍒嗛挓鏃犱换鍔″垯鍥炲埌婧愮偣澶辫触");
}
}
}
@@ -831,7 +842,8 @@
}
CrnSlave crn = new CrnSlave(crnSlave);
- if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -988,22 +1000,22 @@
// }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
- crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ CrnCommand crnCommand1 = new CrnCommand();
+ crnCommand1.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand1.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+ crnCommand1.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand1.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand1.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand1.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand1.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand1.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand1.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
- crnCommand.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
+ crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
// crnCommand.setCommand((short) 1);
- if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
+ log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
@@ -1096,11 +1108,11 @@
}
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
- if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
+// if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
// // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-// if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
-// && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+ if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+ && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
// 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -1202,6 +1214,9 @@
if (staProtocol.isOutEnable()){
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "娌℃湁鍙嚭");
}
+ if (staProtocol.isLoading()){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍑哄簱绔欐湁鐗�");
+ }
} else {
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍑哄簱绔欑偣锛氶潪鑷姩");
}
@@ -1240,6 +1255,7 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
continue;
}
@@ -1335,7 +1351,8 @@
}
CrnSlave crn = new CrnSlave(crnSlave);
- if (Cools.isEmpty(crnProtocol.getLoaded()) || crnProtocol.getLoaded()==0){
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
continue;
}
@@ -1357,11 +1374,14 @@
}
// Thread.sleep(300);
//纭瀹屾垚淇″彿
- CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
- crnOperatorParam.setCrnNo(crn.getId());
+// CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
+// crnOperatorParam.setCrnNo(crn.getId());
Date now = new Date();
- crnController.crnTaskComplete(crnOperatorParam);
+// crnController.crnTaskComplete(crnOperatorParam);
+// MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))
+ crnThread.setResetFlag(true);
+
if (!Cools.isEmpty(taskWrk)) {
if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
@@ -1532,8 +1552,8 @@
null, // 缁撴潫鏃堕棿
null, // 宸ヤ綔鐘舵��
null, // 鍏ュ嚭搴撶被鍨�
- crn.getId(), // 鍫嗗灈鏈�
- null, // plc
+ crnProtocol.getLaneNo(), // 鍫嗗灈鏈�
+ crn.getId(), // plc
null, // 鐩爣搴撲綅
null, // 鐩爣绔�
null, // 婧愮珯
@@ -1880,6 +1900,11 @@
return null;
}
// 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+ if (!staProtocol.isPakMkTask()) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "浠诲姟宸蹭笅鍙戠瓑寰呭皬杞﹀彇");
+ return null;
+ }
+ // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
if (staProtocol.isAutoing()
// && staProtocol.isLoading()
// && staProtocol.isStaOk()
@@ -1888,8 +1913,20 @@
if (taskWrk != null) {
Integer stano = staProtocol.getStaNo();
if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){
- // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
+ if (!staProtocol.isPakMkRun()) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "寮傚父鍥為��鏍囪锛岄渶瑕佸洖閫�");
+ return null;
+ }
if (!staProtocol.isLoading()) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "鏃犵墿");
+ return null;
+ }
+ if (!staProtocol.isInEnable()) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "绛夊緟鍙叆淇″彿");
+ return null;
+ }
+ if (!staProtocol.isStaOk()) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "绛夊緟閾炬潯灏辩华");
return null;
}
// 灏哄妫�娴嬪紓甯�
@@ -1964,6 +2001,8 @@
staProtocol.setWorkNo(9999);
staProtocol.setStaNo(staProtocol.getStaNo()+1);
devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMkRun(staProtocol.getSiteId(), false);
+ devpThread.setPakMkTask(staProtocol.getSiteId(), false);
devpThread.setErrorDev(staProtocol.getSiteId(), errMsg);
MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
try{
@@ -2430,6 +2469,7 @@
try {
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
TaskProtocol issuedTake = new TaskProtocol();
TaskProtocol issuedPut = new TaskProtocol();
@@ -2452,6 +2492,12 @@
return false;
}
}
+ try{
+ devpThread.setPakMkTask(rgvStn.getStaNo(), false);
+ } catch (Exception e2){
+ RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"灏忚溅浠诲姟涓嬪彂鏍囪鏇存柊澶辫触");
+ }
+
BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo()));
BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));
@@ -2637,4 +2683,527 @@
}
+
+ /**
+ * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+ */
+ public boolean crnStnDEMOStop2() {
+ int signHpMk = 0;
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ signHpMk++;
+ }
+ }
+ if (signHpMk == slaveProperties.getCrn().size()){
+ return true;
+ }
+ return false;
+ }
+
+
+
+ /**
+ * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+ */
+ public boolean crnStnDEMOStop3() {
+ int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>().eq("io_type",4));
+ if (selectCount>0) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 婕旂ず妯″紡鍚姩
+ */
+ public boolean crnStnDEMOOpen0() {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ continue;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 婕旂ず妯″紡鍚姩
+ */
+ public boolean crnStnDEMOOpen1() {
+ int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
+ if (selectCount>0) {
+ return false;
+ }
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "瀛樺湪鍏跺畠鍫嗗灈鏈哄紑鍚紨绀烘ā寮忥紒");
+ continue;
+ }
+
+ CrnSlave crnSlave = new CrnSlave(crn);
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+ continue;
+ }
+
+ if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+ for (CrnSlave crnOther : slaveProperties.getCrn()) {
+ if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+ crnSlave.updateCrnInStn(crnOther);
+ }
+ }
+ }
+ for (String locNo : crnProtocol.getLocMastDemoList()){
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
+ taskCreateParam.setStartPointSta(crnProtocol.getStaIntDemo());
+ taskCreateParam.setTargetPointSta(crnProtocol.getStaOutDemo());
+ openService.taskCreate(taskCreateParam);
+ }
+
+ return true;
+ }
+ return false;
+ }
+
+
+ /**
+ * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 婕旂ず
+ */
+ public synchronized void crnIoExecuteDemo() throws IOException {
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
+ continue;
+ }
+
+ CrnSlave crn = new CrnSlave(crnSlave);
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+ continue;
+ }
+
+ if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
+ for (CrnSlave crnOther : slaveProperties.getCrn()) {
+ if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+ crn.updateCrnInStn(crnOther);
+ }
+ }
+ }
+
+// try{
+// // 搴撲綅绉昏浆
+// this.locToLoc(crn, crnProtocol);
+// } catch (Exception e) {
+// log.error("搴撲綅绉昏浆澶辫触");
+// }
+
+ // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
+ // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
+ if (crnProtocol.getLastIo().equals("I")) {
+ if (basCrnp.getInEnable().equals("Y")) {
+ this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
+ crnProtocol.setLastIo("O");
+ } else if (basCrnp.getOutEnable().equals("Y")) {
+ this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ crnProtocol.setLastIo("I");
+ }
+ }
+ // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+ else if (crnProtocol.getLastIo().equals("O")) {
+ if (basCrnp.getOutEnable().equals("Y")) {
+ this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ crnProtocol.setLastIo("I");
+ } else if (basCrnp.getInEnable().equals("Y")) {
+ this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
+ crnProtocol.setLastIo("O");
+ }
+ }
+ } else {
+ if (crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getStatusType() == CrnStatusType.IDLE){
+ if (crnProtocol.getTaskNo() != 0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0");
+ }
+ if (crnProtocol.getLoaded() != 0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杞借揣鍙版湁鐗�");
+ }
+ if (crnProtocol.getForkPos() != 0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "璐у弶浣嶇疆涓嶅湪涓綅");
+ }
+ }
+ }
+ }
+ }
+
+
+
+ /**
+ * 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣�
+ */
+ public void crnStnToLocDemo(CrnSlave slave, CrnProtocol crnProtocol) {
+ for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
+ List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
+
+ for (StaDesc staDesc : staDescs) {
+ boolean flag = false;
+ // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ // 鏌ヨ绔欑偣璇︾粏淇℃伅
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ continue;
+ }
+ if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0
+// && staProtocol.isInEnable()
+ && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
+ flag = true;
+ }
+ if (!flag) {
+ continue;
+ }
+
+ // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectPakInDemo(crnProtocol.getLaneNo(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
+ if (null == taskWrk) {
+ continue;
+ }
+
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽");
+ continue;
+ }
+ if (crnProtocol.getTaskNo() != 0) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄伐浣滃彿涓嶄负0");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0");
+ continue;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
+ continue;
+ }
+
+// int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+// taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
+ Date now = new Date();
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+// taskWrk.setAssignTime(now);//娲惧彂鏃堕棿
+ taskWrk.setExecuteTime(now);
+ taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
+ taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
+ taskWrk.setModiTime(now);
+ taskWrk.setModiUser(9988L);
+
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand1 = new CrnCommand();
+ crnCommand1.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand1.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+ crnCommand1.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand1.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand1.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand1.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand1.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand1.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand1.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
+ crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
+ crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand1.setCommand((short) 0);
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
+ log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
+
+ throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
+ } else {
+ try {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "-");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-");
+
+ taskWrkService.updateById(taskWrk);
+ } catch (Exception e) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
+ }
+
+ }
+ }
+
+ // return;
+ }
+ }
+
+ /**
+ * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
+ * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
+ */
+ public void locToCrnStnDemo(CrnSlave slave, CrnProtocol crnProtocol) {
+ List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(crnProtocol.getLaneNo(), null);
+ if (taskWrksInitial.size() == 0) {
+ return;
+ }
+ for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
+ List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
+ for (StaDesc staDesc : staDescs) {
+ // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
+ List<TaskWrk> taskWrks = taskWrkMapper.selectPakOutDemo(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
+ for (TaskWrk taskWrk : taskWrks) {
+ if (taskWrk == null) {
+ continue;
+ }
+ // 宸ヤ綔妗g姸鎬佸垽鏂�
+ if (taskWrk.getIoType() != 4 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
+ log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType());
+ continue;
+ }
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ if (staProtocol == null) {
+ break;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
+ // 鏌ヨ绔欑偣璇︾粏淇℃伅
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ break;
+ }
+
+ // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
+ if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
+
+// // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
+// if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+// && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽");
+ continue;
+ }
+ if (crnProtocol.getTaskNo() != 0) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄伐浣滃彿涓嶄负0");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0");
+
+ continue;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
+ break;
+ }
+
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
+ command.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint())); // 婧愬簱浣嶆帓
+ int bayS = Utils.getBayShort(taskWrk.getStartPoint()) + 1;
+ command.setSourcePosY((short)bayS); // 婧愬簱浣嶅垪
+ command.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅眰
+ command.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺�
+ command.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
+ command.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
+// command.setCommand((short) 1);
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command))) {
+ log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屽贩閬�={}锛屼换鍔℃暟鎹�={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command));
+ devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
+ throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
+ } else {
+ try {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ taskWrk.setWrkSts(12);
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
+ taskWrk.setModiTime(now);
+ taskWrk.setExecuteTime(now);
+ devpThread.setErrorDev(staProtocol.getSiteId(), "-");
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-");
+
+ if (taskWrkMapper.updateById(taskWrk) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ }
+ } catch (Exception e) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
+ }
+ }
+ } else {
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-");
+ if (staProtocol.isAutoing()){
+ if (staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鑳藉嚭锛氭湭鎵撳紑");
+ }
+ if (staProtocol.getWorkNo() == 0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0");
+ }
+ if (staProtocol.isOutEnable()){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "娌℃湁鍙嚭");
+ }
+ if (staProtocol.isLoading()){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍑哄簱绔欐湁鐗�");
+ }
+ } else {
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍑哄簱绔欑偣锛氶潪鑷姩");
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+
+ /**
+ * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+ */
+ public void crnStnToOutStnDemo() {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+
+ CrnSlave crnSlave = new CrnSlave(crn);
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+ continue;
+ }
+
+ if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+ for (CrnSlave crnOther : slaveProperties.getCrn()) {
+ if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+ crnSlave.updateCrnInStn(crnOther);
+ }
+ }
+ }
+ // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
+ for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
+
+ List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
+ for (StaDesc staDesc : staDescs) {
+ try {
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+ // 鏌ヨ宸ヤ綔妗�
+ TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorkingDemo(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
+ if (taskWrk == null) {
+ continue;
+ }
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
+ staProtocol.setWorkNo(taskWrk.getWrkNo());
+ staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+ }
+// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+ Date now = new Date();
+// taskWrk.setStatus(TaskStatusType.OVER3.id);
+ taskWrk.setWrkSts(2);
+ taskWrk.setModiTime(now);
+ taskWrk.setCompleteTime(now);
+ taskWrkService.updateById(taskWrk);
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
+ }
+ }
+ } catch (Exception e) {
+ log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ }
+ }
+
+ }
+ }
+ }
+
}
--
Gitblit v1.9.1