From dd78a469b3167d5c0251427dcaab82f81bb3f3a5 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 22 一月 2024 15:03:09 +0800
Subject: [PATCH] #检料再入库逻辑修改,定时器检测是否存在在库无资料数据
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 6 +
src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java | 74 ++++++++++++++++++++++++
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 14 ++++
src/main/resources/mapper/LocDetlMapper.xml | 1
src/main/resources/mapper/LocMastMapper.xml | 7 ++
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2
src/main/java/com/zy/common/web/WcsController.java | 20 +++---
src/main/java/com/zy/asrs/service/LocMastService.java | 2
8 files changed, 115 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 35e946b..3b8193d 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -47,4 +47,6 @@
Integer updateLocType2ByRBL(Integer locType2, Integer startRow, Integer endRow, Integer startBay, Integer endBay, Integer startLev, Integer endLev);
+ List<LocMast> selectLocDetlNotExist();
+
}
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 38b0869..b730745 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -67,4 +67,6 @@
Integer updateLocType2ByRBL(Integer locType2, Integer startRow, Integer endRow, Integer startBay, Integer endBay, Integer startLev, Integer endLev);
void updateByLocNo(LocMast locMast);
+
+ List<LocMast> selectLocDetlNotExist();
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 92799e0..035c797 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -207,7 +207,11 @@
}
public void updateByLocNo(LocMast locMast){
-
this.update(locMast,new EntityWrapper<LocMast>().eq("loc_no",locMast.getLocNo()));
}
+
+ @Override
+ public List<LocMast> selectLocDetlNotExist() {
+ return this.baseMapper.selectLocDetlNotExist();
+ }
}
diff --git a/src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java b/src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java
new file mode 100644
index 0000000..bd762f0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java
@@ -0,0 +1,74 @@
+package com.zy.asrs.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.LocMastService;
+import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 妫�娴嬪簱浣嶇姸鎬佷负F浣嗘棤搴撳瓨鏁版嵁
+ * 姣忓垎閽熸壂鎻忎竴娆�
+ */
+@Component
+public class CheckLocDetlExistScheduler {
+
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private ConfigService configService;
+
+ @Scheduled(cron = "*/1 * * * * ? ")
+ private void execute(){
+ List<LocMast> locMasts = locMastService.selectLocDetlNotExist();
+ if (locMasts.isEmpty()) {
+ return;
+ }
+
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","dingdingReportUrl"));
+ if (config == null) {
+ return;
+ }
+
+ if (config.getStatus() == 0) {
+ return;//閫氱煡绂佺敤
+ }
+
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("銆愰�氱煡銆戜笁鍑洓鍚戝簱-搴撳瓨璧勬枡寮傚父\n");//娑堟伅鏍囬
+
+ for (LocMast locMast : locMasts) {
+ buffer.append(locMast.getLocNo()).append("\n");
+ }
+
+ try {
+ HashMap<String, Object> param = new HashMap<>();
+ HashMap<String, Object> data = new HashMap<>();
+ data.put("content", buffer.toString());
+ param.put("msgtype", "text");
+ param.put("text", data);
+ String response = new HttpHandler.Builder()
+ .setUri(config.getValue())
+ .setJson(JSON.toJSONString(param))
+ .setHttps(true)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.get("errmsg").equals("ok")) {
+ return;//鍙戦�佹垚鍔�
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 46beecb..7885214 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkDetl;
@@ -165,6 +166,19 @@
List<LocDetl> locDetls1 = locDetlService.selectByLocNo(locMast.getLocNo());
log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屼慨鏀瑰簱浣嶇姸鎬丵=>F鎴愬姛锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetls1));
}
+
+ //娓呯┖婧愬簱浣嶆暟鎹� P ====>> O
+ LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo());
+ if (locMast1.getLocSts().equals("P")) {
+ locMast1.setLocSts("O"); // 娓呯┖搴撲綅
+ locMast1.setModiTime(new Date());
+ if (!locMastService.updateById(locMast1)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶇姸鎬佸紓甯�");
+ }
+
break;
// 骞舵澘鍏ュ簱
case 54:
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index bb8ce9a..d0bb461 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -497,17 +497,17 @@
}
}
- //娓呯┖婧愬簱浣嶆暟鎹�
+// //娓呯┖婧愬簱浣嶆暟鎹�
LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo());
- if (locMast1.getLocSts().equals("P")) {
- locMast1.setLocSts("O"); // 娓呯┖搴撲綅
- locMast1.setModiTime(new Date());
- if (!locMastService.updateById(locMast1)) {
- throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
- }
- } else {
- throw new CoolException("婧愬簱浣嶇姸鎬佸紓甯�");
- }
+// if (locMast1.getLocSts().equals("P")) {
+// locMast1.setLocSts("O"); // 娓呯┖搴撲綅
+// locMast1.setModiTime(new Date());
+// if (!locMastService.updateById(locMast1)) {
+// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+// }
+// } else {
+// throw new CoolException("婧愬簱浣嶇姸鎬佸紓甯�");
+// }
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 8e6b7de..e62d6f0 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -64,6 +64,7 @@
where 1=1
and loc_no = #{locNo}
and matnr = #{matnr}
+ and (batch IS NULL OR batch = '')
<choose>
<when test="suppCode != null and suppCode != ''">
and supp_code = #{suppCode}
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index ee92255..81f5acf 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -155,4 +155,11 @@
and (bay1 >= #{startBay} and bay1 <= #{endBay})
and (lev1 >= #{startLev} and lev1 <= #{endLev})
</select>
+
+ <select id="selectLocDetlNotExist" resultMap="BaseResultMap">
+ select * from asr_loc_mast lm
+ left join asr_loc_detl ld
+ on lm.loc_no = ld.loc_no
+ where ld.matnr is null and lm.loc_sts = 'F'
+ </select>
</mapper>
--
Gitblit v1.9.1