| src/main/java/com/zy/asrs/controller/OutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/WrkDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/WrkDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/report/locDetl.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OutController.java
@@ -84,6 +84,10 @@ for (Integer row : locRowGroupAsc) { String shallow = Utils.getLocNo(row, Utils.getBay(locNo), Utils.getLev(locNo)); LocMast shallowLoc = locMastService.selectById(shallow); if (shallowLoc == null) { continue; } if (shallowLoc.getLocSts().equals("F")) { LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); if (locDetl1 == null) { src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -25,4 +25,6 @@ List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr); List<WrkDetl> findByWorkNo(Integer workNo); boolean updateWorkNo(@Param("oldWrkNo") Integer oldWrkNo, @Param("newWrkNo") Integer newWrkNo); } src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -19,6 +19,8 @@ boolean updateInspect(Integer wrkNo, String matnr, String batch); boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo); List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr); List<WrkDetl> findByWorkNo(Integer wrkNo); src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -85,4 +85,9 @@ public List<WrkDetl> findByWorkNo(Integer workNo) { return this.baseMapper.findByWorkNo(workNo); } @Override public boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo) { return this.baseMapper.updateWorkNo(oldWrkNo, newWrkNo); } } src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java
@@ -179,6 +179,10 @@ Map<String,Object> map=new HashMap<>(); map.put("to",ledId); BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId)); if (basDevp.getDevMk().equals("O")){ basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1001)); } if (basDevp == null ){ return; } @@ -188,25 +192,12 @@ return; } List<LedCommand> commandList = new ArrayList<>(); if (basDevp.getDevMk().equals("I")){ if (basDevp.getWrkNo() != 0){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); if (null != wrkMast){ commandList = getCommandList(basDevp.getWrkNo().toString()); } if (basDevp.getWrkNo() != 0 && basDevp.getLoading().equals("Y")){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); if (null != wrkMast){ commandList = getCommandList(basDevp.getWrkNo().toString()); } map.put("message",Cools.add("type", "task").add("taskList",commandList)); webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId); }else if (basDevp.getDevMk().equals("O")){ BasDevp basDevpOut = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1001)); if (basDevp.getWrkNo() != 0){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpOut.getWrkNo())); if (null != wrkMast){ commandList = getCommandList(basDevp.getWrkNo().toString()); } } } map.put("message",Cools.add("type", "task").add("taskList",commandList)); webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId); src/main/java/com/zy/common/web/WcsController.java
@@ -126,6 +126,20 @@ return R.ok().add(dto); } @PostMapping("/pakin/loc/returnWarehouse") @ResponseBody public synchronized R returnWarehouse(@RequestBody(required = false) SearchLocParam param) { log.info("收到WCS拣选盘点入库接口请求====>>入参:{}", param); if (Cools.isEmpty(param.getSourceStaNo())) { return R.error("源站编号不能为空"); } LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1(param.getLocType1()); StartupDto dto = startupPickIn(param.getSourceStaNo(), param.getBarcode(), locTypeDto);; log.info("WCS拣选盘点入库接口返参:{},托盘码:{}", dto, param.getBarcode()); return R.ok().add(dto); } /** * 全板入库 @@ -210,6 +224,87 @@ return dto; } /** * 拣选入库 */ @Transactional public StartupDto startupPickIn(Integer devpNo, String barcode, LocTypeDto locTypeDto) { // 源站点状态检测 BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); WrkMast wrkMastOut = wrkMastService.selectByBarcode(barcode); if (wrkMastOut == null) { throw new CoolException("拣选盘点任务不存在"); } List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMastOut.getWrkNo()); if (wrkDetls.isEmpty()) { throw new CoolException("拣选盘点任务数据不存在"); } FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); findLocNoAttributeVo.setMatnr(wrkDetls.get(0).getMatnr()); StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto, barcode); if (dto == null) { throw new CoolException("找不到空库位"); } Date now = new Date(); // 生成工作档 WrkMast wrkMast = new WrkMast(); int workNo = dto.getWorkNo(); wrkMast.setWrkNo(workNo); wrkMast.setWrkSts(2L); // 工作状态:生成入库ID wrkMast.setIoType(wrkMastOut.getIoType() - 50); // 入出库状态:53.拣料再入库 wrkMast.setIoPri(30D); // 优先级 wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); wrkMast.setBarcode(barcode); // 托盘码 wrkMast.setFullPlt("Y"); // 满板:Y wrkMast.setPicking("N"); // 拣料 wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("Y"); wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 // 操作人员数据 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); boolean res = wrkMastService.insert(wrkMast); if (!res) { throw new CoolException("保存工作档失败"); } wrkDetlService.updateWorkNo(wrkMastOut.getWrkNo(), workNo); // 删除工作主档 if (!wrkMastService.deleteById(wrkMastOut)) { throw new CoolException("删除工作主档失败,workNo=" + wrkMastOut.getWrkNo()); } // 更新源站点信息 sourceStaNo.setWrkNo(wrkMast.getWrkNo()); sourceStaNo.setModiTime(now); if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("更新源站失败"); } // 更新目标库位状态 LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.入库预约 locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("改变库位状态失败"); } } else { throw new CoolException(dto.getLocNo() + "目标库位已被占用"); } return dto; } @Transactional public StartupDto emptyPlateIn(Integer devpNo, String barcode) { // 检索库位 src/main/resources/application.yml
@@ -12,7 +12,7 @@ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://127.0.0.1:1433;databasename=qlasrs-sxk username: sa password: sa@123 password: spcyy@2025 mvc: static-path-pattern: /** redis: @@ -78,7 +78,7 @@ ip: 192.168.1.198 url: wms port: 8081 id: 1001 id: 1002 #erp对接 erp: src/main/resources/mapper/WrkDetlMapper.xml
@@ -81,6 +81,14 @@ <include refid="batchSeq"></include> </update> <update id="updateWorkNo"> update asr_wrk_detl set wrk_no = #{newWrkNo} , modi_time = getdate() where 1=1 and wrk_no = #{oldWrkNo} </update> <select id="selectAndLogByOrderNo" resultMap="BaseResultMap"> select * from asr_wrk_detl where order_no = #{orderNo} union src/main/resources/mapper/WrkMastMapper.xml
@@ -71,7 +71,7 @@ where wrk_sts=5 or wrk_sts=20 or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and dateadd(mi,15,modi_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and dateadd(mi,8,modi_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and modi_time is null and wrk_no not in (select wrk_no from asr_bas_devp)) order by modi_time,wrk_no asc </select> src/main/webapp/views/report/locDetl.html
@@ -26,7 +26,7 @@ </body> <script type="text/html" id="operateDetl"> <!-- <button id="batch" class="layui-btn layui-btn-primary layui-btn-radius" style="height: auto" lay-submit lay-filter="batch">修改合同号</button>--> <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>修改合同号</a> <!-- <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>修改合同号</a>--> </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>