From d635a99e20e207b40b16b8536c02a0b74df63c61 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 23 三月 2026 14:19:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 118 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 65 insertions(+), 53 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index e2922d6..d07afd0 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkLastno;
import com.zy.asrs.entity.WrkMast;
@@ -56,7 +57,8 @@
@Autowired
private WrkDetlService wrkDetlService;
-
+ @Autowired
+ private LocMastService locMastService;
@Autowired
private SlaveProperties slaveProperties;
@@ -178,52 +180,44 @@
// 2. 淇濆瓨WrkMast
WrkMast wrkMast = new WrkMast();
int workNo = getWorkNo(0);
- if(param.getIoType() == 2 || param.getIoType() == 12){
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
- wrkMast.setIoType(param.getIoType() != 2?10:1);
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }else if(param.getIoType() == 22 || param.getIoType() == 32){
- wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
- wrkMast.setWrkSts(param.getIoType() != 32 ? 53L: 57L);
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }else if(param.getIoType() == 3){
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
+
+ Integer sourceStaNo = (param.getStartPoint() == null || param.getStartPoint().isEmpty())
+ ? null : Integer.valueOf(param.getStartPoint());
+
+ Integer targetStaNo = (param.getTargetPoint() == null || param.getTargetPoint().isEmpty())
+ ? null : Integer.valueOf(param.getTargetPoint());
+
+ if (param.getIoType() == 2 || param.getIoType() == 12) {
+
+ wrkMast.setIoType(param.getIoType() != 2 ? 10 : 1);
+
+ } else if (param.getIoType() == 22 || param.getIoType() == 32) {
+
+ wrkMast = wrkMastService.selectOne(
+ new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())
+ );
+
+ wrkMast.setWrkSts(param.getIoType() != 32 ? 53L : 57L);
+
+ } else if (param.getIoType() == 3) {
+ wrkMast.setEmptyMk("N");
wrkMast.setIoType(11);
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 12.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }else{
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
+
+ } else {
+
wrkMast.setIoType(ioType);
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
}
+
+ /* 鍏叡瀛楁 */
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setUserNo(param.getTaskNo());
+ wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
+ wrkMast.setBarcode(param.getBarcode());
+ wrkMast.setMemo(param.getMemo());
+ wrkMast.setSourceStaNo(sourceStaNo);
+ wrkMast.setStaNo(targetStaNo);
+ wrkMast.setLocNo(param.getTargetLocNo());
+ wrkMast.setSourceLocNo(param.getSourceLocNo());
if(Inbound){
wrkMast.setWrkSts(2L);
@@ -231,10 +225,10 @@
wrkMast.setWrkSts(11L);
}
String locNo = null;
- if(param.getSourceLocNo() != null){
+ if (param.getSourceLocNo() != null && !param.getSourceLocNo().isEmpty()) {
locNo = param.getSourceLocNo();
}
- if(param.getTargetLocNo() !=null){
+ if (param.getTargetLocNo() != null && !param.getTargetLocNo().isEmpty()) {
locNo = param.getTargetLocNo();
}
// 鍙栧墠涓や綅
@@ -255,6 +249,7 @@
}
wrkMast.setCrnNo(crnNo);
+ wrkMast.setIoTime(new Date());
wrkMast.setModiTime(new Date());
wrkMast.setAppeTime(new Date());
wrkMast.setWrkDate(new Date());
@@ -265,7 +260,7 @@
}
// 3. 淇濆瓨WrkDetl
- if (param.getDetlList() != null && !param.getDetlList().isEmpty()) {
+ if (param.getDetlList() != null && !param.getDetlList().isEmpty() && param.getIoType()!=3) {
for (TaskCreateParam.Detl detl : param.getDetlList()) {
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.setWrkNo(wrkMast.getWrkNo());
@@ -278,7 +273,19 @@
wrkDetlService.insert(wrkDetl);
}
}
-
+ if(param.getIoType() == 2 || param.getIoType() == 12){
+ locMastService.updateLocMast(param.getTargetLocNo(),"S");
+ }else if(param.getIoType() == 3){
+ locMastService.updateLocMast(param.getSourceLocNo(),"R");
+ locMastService.updateLocMast(param.getTargetLocNo(),"S");
+ }else if(param.getIoType() == 22 || param.getIoType() == 32){
+ locMastService.updateLocMast(param.getTargetLocNo(),"Q");
+ }else if(param.getIoType() == 1 || param.getIoType() == 11){
+ locMastService.updateLocMast(param.getSourceLocNo(),"R" );
+ }else{
+ locMastService.updateLocMast(param.getSourceLocNo(),"P" );
+ }
+
// 4. 涓嬪彂缁橮LC
if(Inbound){
writeToPlc(wrkMast);
@@ -327,17 +334,22 @@
if (devpThread == null) continue;
// 妫�鏌ヨPLC鏄惁绠$悊璇ョ珯鐐�
- if (devpThread.getStation().containsKey(sourceStaNo.shortValue())) {
- StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo.shortValue());
- if (staProtocol != null && staProtocol.getWorkNo() == 9998) {
+ if (devpThread.getStation().containsKey(sourceStaNo)) {
+ StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo);
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol != null && staProtocol.getWorkNo() == 9999) {
staProtocol.setWorkNo(wrkMast.getWrkNo());
if (wrkMast.getStaNo() != null) {
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ staProtocol.setStaNo((short)(wrkMast.getSourceStaNo()- 1));
}
// 涓嬪彂PLC鎸囦护
- devpThread.setPakMk(staProtocol.getSiteId(), false, 283);
+ devpThread.setPakMk(staProtocol.getSiteId(), false, 9999);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (result) {
--
Gitblit v1.9.1