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