From f7549d786a572e344e8cd3e94a0827a8c219760b Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 05 十一月 2025 13:47:24 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 360 +++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 210 insertions(+), 150 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 e3494e1..27aa6a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4,13 +4,16 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.controller.CrnController;
+import com.zy.asrs.controller.TaskWrkController;
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.param.CarryParam;
import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
@@ -70,6 +73,8 @@
private TaskWrkMapper taskWrkMapper;
@Autowired
private TaskWrkService taskWrkService;
+ @Autowired
+ private TaskWrkController taskWrkController;
@Autowired
private StaDescMapper staDescMapper;
@Autowired
@@ -2687,7 +2692,7 @@
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
- public boolean crnStnDEMOStop2() {
+ public int crnStnDEMOStop2() {
int signHpMk = 0;
for (CrnSlave crn : slaveProperties.getCrn()) {
@@ -2707,10 +2712,13 @@
signHpMk++;
}
}
- if (signHpMk == slaveProperties.getCrn().size()){
- return true;
+ if (signHpMk == 0){
+ return 2;
}
- return false;
+ if (signHpMk == slaveProperties.getCrn().size()){
+ return 0;
+ }
+ return 3;
}
@@ -2755,13 +2763,9 @@
/**
* 婕旂ず妯″紡鍚姩
*/
- public boolean crnStnDEMOOpen1() {
- int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
- if (selectCount>0) {
- return false;
- }
+ public int crnStnDEMOOpen1() {
+ int sign = 0;
for (CrnSlave crn : slaveProperties.getCrn()) {
-
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -2775,34 +2779,17 @@
}
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;
+ sign++;
}
- return false;
+ if (sign == slaveProperties.getCrn().size()){
+ return 2;
+ } else if (sign==0){
+ return 0;
+ } else {
+ return 1;
+ }
}
@@ -2823,51 +2810,26 @@
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); // 鍏ュ簱
+ this.crnStnToLocDemo(crnSlave, crnProtocol); // 鍏ュ簱
crnProtocol.setLastIo("O");
} else if (basCrnp.getOutEnable().equals("Y")) {
- if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
- }
+ this.locToCrnStnDemo(crnSlave, crnProtocol); // 鍑哄簱
crnProtocol.setLastIo("I");
}
}
// 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
else if (crnProtocol.getLastIo().equals("O")) {
if (basCrnp.getOutEnable().equals("Y")) {
- if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
- }
+ this.locToCrnStnDemo(crnSlave, crnProtocol); // 鍑哄簱
crnProtocol.setLastIo("I");
} else if (basCrnp.getInEnable().equals("Y")) {
- this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
+ this.crnStnToLocDemo(crnSlave, crnProtocol); // 鍏ュ簱
crnProtocol.setLastIo("O");
}
}
@@ -2887,12 +2849,10 @@
}
}
-
-
/**
* 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣�
*/
- public void crnStnToLocDemo(CrnSlave slave, CrnProtocol crnProtocol) {
+ public void crnStnToLocDemo(CrnSlave slave, CrnProtocol crnProtocol) throws IOException {
for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("CRN_NO", crnProtocol.getLaneNo()).eq("CRN_STN", crnStn.getStaNo()));
@@ -2912,7 +2872,7 @@
log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
continue;
}
- if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0
// && staProtocol.isInEnable()
&& staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
flag = true;
@@ -2922,11 +2882,20 @@
}
// 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkMapper.selectPakInDemo(crnProtocol.getLaneNo(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
+ TaskWrk taskWrk = null;
+ for (String locNo : crnProtocol.getLocMastDemoList()) {
+ TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo);
+ if (Cools.isEmpty(taskWrk1)){
+ continue;
+ }
+ if (taskWrk1.getIoType() == 3 && taskWrk1.getWrkSts()<3){
+ taskWrk = taskWrk1;
+ break;
+ }
+ }
if (null == taskWrk) {
continue;
}
-
// 鍫嗗灈鏈烘帶鍒惰繃婊�
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) {
devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽");
@@ -2945,11 +2914,8 @@
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());//鍫嗗灈鏈哄彿
@@ -2970,7 +2936,7 @@
int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
- crnCommand1.setCommand((short) 0);
+// crnCommand.setCommand((short) 1);
if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
@@ -2987,11 +2953,8 @@
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
-
}
}
-
- // return;
}
}
@@ -3008,13 +2971,13 @@
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());
+ List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
for (TaskWrk taskWrk : taskWrks) {
if (taskWrk == null) {
continue;
}
// 宸ヤ綔妗g姸鎬佸垽鏂�
- if (taskWrk.getIoType() != 4 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
+ if (taskWrk.getIoType() != 2 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) {
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType());
continue;
}
@@ -3036,12 +2999,6 @@
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
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(), "鍫嗗灈鏈洪潪绌洪棽");
@@ -3098,6 +3055,36 @@
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
+ try {
+ HashMap<String, Object> headParam = new HashMap<>();
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
+ String response;
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(taskStatusFeedbackPath)
+ .setJson(JSON.toJSONString(headParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
+ , wmsUrl + taskStatusFeedbackPath
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(headParam)
+ , response
+ , true
+ );
+ } catch (Exception e) {
+ log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
+// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ }
}
} else {
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-");
@@ -3123,12 +3110,10 @@
}
}
-
-
/**
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
- public void crnStnToOutStnDemo() {
+ public void crnStnToOutStnDemo() {
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -3172,7 +3157,7 @@
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
// 鏌ヨ宸ヤ綔妗�
- TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorkingDemo(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
+ TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnProtocol.getLaneNo(), staDesc.getStnNo().toString());
if (taskWrk == null) {
continue;
}
@@ -3192,9 +3177,22 @@
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
Date now = new Date();
// taskWrk.setStatus(TaskStatusType.OVER3.id);
- taskWrk.setWrkSts(2);
+ taskWrk.setStatus(TaskStatusType.OVER.id);//鎵嬪姩瀹屾垚浠诲姟
+ taskWrk.setWrkSts(14);
taskWrk.setModiTime(now);
taskWrk.setCompleteTime(now);
+
+ LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if(Cools.isEmpty(locMast)){
+ R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+ }
+ locMast.setLocSts("O");
+ locMast.setModiTime(now);
+ locMast.setModiTime(now);
+
+
+
+ locMastService.updateById(locMast);
taskWrkService.updateById(taskWrk);
} else {
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
@@ -3211,75 +3209,137 @@
}
+ /**
+ * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+ */
+ public void storeFinishedDemo() throws InterruptedException {
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ try{
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
- public synchronized void taskStartDemo() {
- for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
- try {
- if (rgvDetection(rgvSlave)) {
- String taskNoNow = rgvOtherTaskWrk(rgvSlave);
- List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("PLC_POSITION", true));
- boolean itSmall = new TrackRangeUtils().IsItSmall(rgvSlave);
- if (basDevpPositions.isEmpty()) {
- log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�");
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚锛氳幏鍙栨墍鏈夌珯鐐逛俊鎭紓甯�");
- } catch (Exception e2){
- }
+ CrnSlave crn = crnSlave;
+
+ // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
+ if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
+ //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
+ if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
+ log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
continue;
}
- List<TaskWrk> taskWrkList = new ArrayList<>();
- List<Integer> staList = new ArrayList<>();
- for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
- TaskWrk taskWrk = deviceDetection(inSta);
- if (taskWrk != null) {
- if (taskWrk.getWrkNo().toString().equals(taskNoNow)) continue;
- taskWrkList.add(taskWrk);
- staList.add(inSta.getStaNo());
+ Date now = new Date();
+ crnThread.setResetFlag(true);
+
+ if (!Cools.isEmpty(taskWrk)) {
+ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
+ taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast.setLocSts("F");//F.鍦ㄥ簱
+ locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
+ taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ locMast.setLocSts("O");//O.绌哄簱浣�
+ locMast.setBarcode("");//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
+ taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.OVER.id);//瀹岀粨
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast.setLocSts("F");//F.鍦ㄥ簱
+ locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+
+ LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ locMast1.setLocSts("O");//O.绌哄簱浣�
+ locMast1.setBarcode("");//鎵樼洏鐮�
+ locMast1.setModiTime(now);
+ locMast1.setModiUser(9999L);
+ locMastService.updateById(locMast1);
}
+ taskWrk.setModiTime(now);
+ taskWrk.setCompleteTime(now);
+ taskWrkService.updateById(taskWrk);
+
}
- if (taskWrkList.isEmpty() || staList.isEmpty()) continue;
-
- boolean sign = false;
-
- if (!sign){
- //鍙敤鍖哄煙灏辫繎鍙栬揣
- //灏辫繎鎺掑簭
- RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(rgvSlave.getId());
- List<Integer> rangeList = RouteUtils.SortNearby(staList, rgvProtocol.RgvPos, basDevpPositions);
- // 鍗婅竟鍖哄煙鍐呭彇璐т换鍔�
- for (Integer staNoNow : rangeList) {
- for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
- if (rgvStn.getStaNo().equals(staNoNow)) {
- TaskWrk taskWrk = deviceDetection(rgvStn);
- if (taskWrk != null) {
- Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
- for (RgvSlave.RgvStn rgvStnOut : rgvSlave.getRgvOutSta()) {
- if (rgvStnOut.getStaNo().equals(outStaNo)) {
- sign = taskGenerate(rgvSlave, rgvStn, 0);
- break;
- }
- }
- }
- break;
- }
- }
- if (sign) {
- break;
- }
- }
- }
}
- } catch (Exception e) {
- log.error("浠诲姟鐢熸垚澶辫触===銆嬪紓甯镐俊鎭細{}", e.getMessage());
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("rgvErr", rgvSlave.getId(), "鎸囦护鐢熸垚澶辫触");
- } catch (Exception e2){
- }
+ } catch (Exception e){
+ log.error("鍫嗗灈鏈烘墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔澶辫触 ===>> [id:{}] [error:{}]", crnSlave.getId(), e.getMessage());
}
}
}
+ public void locMastTaskDemo(){
+ try{
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ try{
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ if (Cools.isEmpty(crnProtocol.getLocMastDemoList())) {
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
+ continue;
+ }
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ continue;
+ }
+ for (String locNo : crnProtocol.getLocMastDemoList()){
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ if (locMast.getLocSts().equals("F")){
+ CarryParam carryParam = new CarryParam();
+ carryParam.setTaskNo(locNo);
+ carryParam.setBarcode(locNo);
+ carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+ carryParam.setTaskPriority(1);
+ carryParam.setTargetPoint("1012");
+ carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
+ carryParam.setMeno("Demo");
+ taskWrkController.addTaskPoint(carryParam);
+ Thread.sleep(50);
+ } else if (locMast.getLocSts().equals("O")){
+ CarryParam carryParam = new CarryParam();
+ carryParam.setTaskNo(locNo);
+ carryParam.setBarcode(locNo);
+ carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+ carryParam.setTaskPriority(1);
+ carryParam.setStartPoint("1012");
+ carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
+ carryParam.setMeno("Demo");
+ taskWrkController.addTaskPoint(carryParam);
+ Thread.sleep(50);
+ }
+ }
+ } catch (Exception e){
+
+ }
+ }
+ } catch (Exception e){
+
+ }
+ }
}
--
Gitblit v1.9.1