src/main/java/com/zy/asrs/mapper/LocMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/LocMastService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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(); } 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(); } 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(); } } src/main/java/com/zy/asrs/task/CheckLocDetlExistScheduler.java
New file @@ -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(); } } } 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() + ",修改库位状态Q=>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: 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())) { 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} 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>