From 26418cc1daa621ab76b8168e00407e5b88874d60 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 03 一月 2024 10:56:30 +0800
Subject: [PATCH] #更改库位状态代码
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 85 ++++++++++++++++++++++++++++++------------
1 files changed, 60 insertions(+), 25 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 18d1323..bdc694d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -155,12 +155,14 @@
if (workNo == 0 && stano == 0){
continue;
}
+ if (!staProtocol.isPakMk()){
+ continue;
+ }
// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
staProtocol.setWorkNo(workNo);
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
-
TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo));
if (taskWrk != null) {
taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず
@@ -179,20 +181,26 @@
continue;
}
String barcode = barcodeThread.getBarcode();
+ staProtocol.setBarcode(barcode);
if(!Cools.isEmpty(barcode)) {
StaDescService staDescService = SpringUtils.getBean(StaDescService.class);
ToWmsDTO toWmsDTO = new ToWmsDTO();
Map<String, Object> map = new HashMap<>();
map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
- List<Integer> list = openServiceImpl.getInEnableRoadway();
+
TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
if (Cools.isEmpty(taskWrk)){
continue;
}
+ List<Integer> list = new ArrayList<>();
+ list.add(taskWrk.getCrnNo());
//StaDesc staDesc1 = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no",inSta.getBackSta()));
- if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null && taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() != workNo){
+ if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null){
+ if ( taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() == workNo ){
+ continue;
+ }
//鑾峰彇鍫嗗灈鏈虹珯鐐�
StaDesc staDesc = new StaDesc();
if (devp.getId() <= 1){
@@ -205,7 +213,7 @@
staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
- Thread.sleep(200);
+ Thread.sleep(500);
}else {
//TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
toWmsDTO.setWarehouseId("1688469798893297665");
@@ -574,6 +582,13 @@
if (commandInfos.isEmpty()) {
continue;//鍛戒护绌�
}
+
+ //鍒ゆ柇鏈鍛戒护鏄惁鎵ц
+ CommandInfo commandInfo2 = commandInfos.get(commandInfos.size() - 1);
+ if (commandInfo2.getCommandStatus() != CommandStatusType.CREATE.id) {
+ continue;//鎸囦护宸叉墽琛�
+ }
+
CommandInfo commandInfo = commandInfos.get(commandStep);
CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃
CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class);
@@ -616,6 +631,24 @@
.eq("wrk_sts",11)
.eq("io_type",3));
for (TaskWrk taskWrk : taskWrks){
+
+ // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
+ if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
+ String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
+ TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
+ if (!Cools.isEmpty(hallowLocNoTask)){
+ continue;
+ }
+ }
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ continue;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) {
+ continue;
+ }
if (Cools.isEmpty(taskWrk.getTargetPoint())){
List<Integer> list = openServiceImpl.getInEnableRoadway();
Map<String, Object> map = new HashMap<>();
@@ -653,7 +686,7 @@
continue;
}
- }
+ }
if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("") || taskWrk.getWrkNo() == null) {
continue;
}
@@ -665,15 +698,7 @@
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
- continue;
- }
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) {
- continue;
- }
// 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
@@ -726,8 +751,15 @@
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
if (crnProtocol == null) { continue; }
+
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
+ //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
+ if (Cools.isEmpty(taskWrk)) {
+// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+ continue;
+ }
//鑾峰彇鎸囦护ID
Integer commandId = crnProtocol.getCommandId();
@@ -740,11 +772,14 @@
commandInfo = commandInfoService.selectById(commandId);
}
+
if (commandInfo == null) {
//鎸囦护涓嶅瓨鍦�
continue;
}
-
+ if (commandInfo.getCommandStatus() == 3){
+ continue;
+ }
commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚
commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿
if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
@@ -812,20 +847,20 @@
if (crnProtocol == null) {
continue;
}
- if (true) {
+ if (false) {
// if (crnProtocol.getModeType() != CrnModeType.STOP) {
// 鏈変换鍔�
if (crnProtocol.getTaskNo() != 0) {
BasErrLog latest = basErrLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue());
// 鏈夊紓甯�
if (latest == null) {
- if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
+ if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo());
if (wrkMast == null) {
continue;
}
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
- String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+ String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
wrkMast.getWrkNo(), // 宸ヤ綔鍙�
@@ -868,11 +903,11 @@
} else {
BasErrLog latest = basErrLogService.findLatest(crn.getId());
// 鏈夊紓甯�
- if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
+ if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm() > 0) {
// 璁板綍鏂板紓甯�
- if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
- String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
+ if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
+ String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
null, // 宸ヤ綔鍙�
@@ -944,7 +979,7 @@
for (TaskWrk taskWrk : taskWrks) {
//鑾峰彇鍛戒护闆嗗悎
List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
- if (taskWrk.getCommandStep() != commandInfos.size()) {
+ if (taskWrk.getCommandStep() < commandInfos.size()) {
continue;//褰撳墠姝ュ簭娌℃湁鍒拌揪鏈�鍚庝竴鏉″懡浠�
}
@@ -965,7 +1000,7 @@
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- locMast.setLocSts("F");//F.鍦ㄥ簱
+ locMast.setLocSts("Z");//F.鍦ㄥ簱
locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
locMast.setModiTime(now);
locMast.setModiUser(9999L);
@@ -979,7 +1014,7 @@
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- locMast.setLocSts("O");//O.绌哄簱浣�
+ locMast.setLocSts("K");//O.绌哄簱浣�
locMast.setBarcode("");//鎵樼洏鐮�
locMast.setModiTime(now);
locMast.setModiUser(9999L);
--
Gitblit v1.9.1