From fef0596c74e1a82f5c5b7fac7686e3b520844555 Mon Sep 17 00:00:00 2001
From: tzsk <Administrator@qq.com>
Date: 星期四, 14 十二月 2023 19:13:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzskwcs_3' into tzskwcs_3
---
src/main/resources/mapper/WrkMastLogMapper.xml | 9 ++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 67 ++++++++++++++++++++++++---------
src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java | 4 +
3 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastLocMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
similarity index 77%
rename from src/main/java/com/zy/asrs/mapper/WrkMastLocMapper.java
rename to src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
index ae2b22e..e91341d 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastLocMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -8,9 +8,11 @@
@Mapper
@Repository
-public interface WrkMastLocMapper extends BaseMapper<WrkMastLog> {
+public interface WrkMastLogMapper extends BaseMapper<WrkMastLog> {
@Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
int save(Integer workNo);
+ WrkMastLog selectLatestByWorkNo(Integer workNo);
+
}
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 6b15116..d3b815d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,7 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -37,8 +36,6 @@
import java.util.*;
import java.util.stream.Collectors;
-
-import static com.zy.asrs.utils.Utils.isJson;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -106,7 +103,7 @@
@Autowired
private RedisUtil redisUtil;
@Autowired
- private WrkMastLocMapper wrkMastLocMapper;
+ private WrkMastLogMapper wrkMastLogMapper;
@Autowired
private BasLiftOptService basLiftOptService;
@Autowired
@@ -1390,7 +1387,7 @@
if (wrkMastMapper.updateById(wrkMast) > 0) {
if (wrkMast.getWrkSts() == 111) {
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLocMapper.save(wrkMast.getWrkNo()) <= 0) {
+ if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
}
// 鍒犻櫎宸ヤ綔涓绘。
@@ -1680,6 +1677,16 @@
News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀湪杈撻�佺珯鐐硅皟搴﹀皬杞﹂伩璁╁け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
+ }
+
+ if (!basDevp.getAutoing().equals("Y")) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夎嚜鍔ㄤ俊鍙凤紝绂佹娲惧彂", wrkMast.getWrkNo(), basDevp.getDevNo());
+ return false;//鍑哄簱绔欑偣涓嶅彲鍑�
+ }
+
+ if (basDevp.getLoading().equals("Y")) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屽瓨鍦ㄦ湁鐗╀俊鍙凤紝绂佹娲惧彂", wrkMast.getWrkNo(), basDevp.getDevNo());
+ return false;//鍑哄簱绔欑偣涓嶅彲鍑�
}
if (!basDevp.getOutEnable().equals("Y")) {
@@ -2827,16 +2834,40 @@
}
// 鑾峰彇宸ヤ綔妗f暟鎹�
WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
- if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) {
- continue;
+ Integer wrkNo = staProtocol.getWorkNo().intValue();
+ Integer ioType = null;
+ String sourceLocNo = null;
+ String locNo = null;
+ Integer wrkStaNo = null;
+ String barcode = null;
+ if (wrkMast == null) {
+ //鏌ヨ鍘嗗彶妗�
+ WrkMastLog wrkMastLog = wrkMastLogMapper.selectLatestByWorkNo(staProtocol.getWorkNo().intValue());
+ if (wrkMastLog == null) {
+ continue;
+ }
+ ioType = wrkMastLog.getIoType();
+ sourceLocNo = wrkMastLog.getSourceLocNo();
+ locNo = wrkMastLog.getLocNo();
+ wrkStaNo = wrkMastLog.getStaNo();
+ barcode = wrkMastLog.getBarcode();
+ }else {
+ if (wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) {
+ continue;
+ }
+ ioType = wrkMast.getIoType();
+ sourceLocNo = wrkMast.getSourceLocNo();
+ locNo = wrkMast.getLocNo();
+ wrkStaNo = wrkMast.getStaNo();
+ barcode = wrkMast.getBarcode();
}
wrkMasts.add(wrkMast);
// 缁勮鍛戒护
LedCommand ledCommand = new LedCommand();
- ledCommand.setWorkNo(wrkMast.getWrkNo());
- ledCommand.setIoType(wrkMast.getIoType());
+ ledCommand.setWorkNo(wrkNo);
+ ledCommand.setIoType(ioType);
// 鍑哄簱妯″紡
- switch (wrkMast.getIoType()) {
+ switch (ioType) {
case 101:
ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
break;
@@ -2854,15 +2885,15 @@
ledCommand.setEmptyMk(true);
break;
default:
- News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+ News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkNo, ioType);
break;
}
- ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
- ledCommand.setLocNo(wrkMast.getLocNo());
- ledCommand.setStaNo(wrkMast.getStaNo());
- ledCommand.setBarcode(wrkMast.getBarcode());
- if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+ ledCommand.setSourceLocNo(sourceLocNo);
+ ledCommand.setLocNo(locNo);
+ ledCommand.setStaNo(wrkStaNo);
+ ledCommand.setBarcode(barcode);
+ if (ioType != 110 && ioType != 10) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
locDetls.forEach(locDetl -> {
Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq("matnr", locDetl.getMatnr()).eq("wrk_no", wrkMast.getWrkNo());
Utils.wapperSetCondition(wrapper, "batch", locDetl.getBatch());
@@ -3828,7 +3859,7 @@
if (wrkMast.getWrkSts() == 111) {
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLocMapper.save(wrkMast.getWrkNo()) <= 0) {
+ if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
}
// 鍒犻櫎宸ヤ綔涓绘。
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index 33f19d8..7d67a75 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -66,4 +66,13 @@
<result column="take_none" property="takeNone" />
</resultMap>
+ <select id="selectLatestByWorkNo" resultMap="BaseResultMap">
+ select * from asr_wrk_mast_log wml,(select top 1 io_time,wrk_no from asr_wrk_mast_log
+ where wrk_no = #{workNo}
+ group by io_time,wrk_no
+ order by io_time desc) a
+ where wml.wrk_no = a.wrk_no
+ and wml.io_time = a.io_time
+ </select>
+
</mapper>
--
Gitblit v1.9.1