src/main/java/com/zy/asrs/controller/OrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/OutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/BaseController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -101,7 +101,9 @@ @RequestMapping(value = "/order/detl/all/auth") @ManagerAuth public R head(@RequestParam Long orderId){ return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId))); List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId)); orderDetls.removeIf(next -> next.getQty() > 0); return R.ok().add(orderDetls); } @RequestMapping(value = "/order/form/add/auth") src/main/java/com/zy/asrs/controller/OutController.java
@@ -113,7 +113,7 @@ // 订单预校验 ===>> 1.订单状态; 2.订单带出数量 List<OrderDto> orderDtos = new ArrayList<>(); for (LocDto locDto : locDtos) { if (!isJSON(locDto.getOrderNo())) { if (isJSON(locDto.getOrderNo())) { if (Cools.isEmpty(locDto.getOrderNo())) { continue; } OrderDto orderDto = new OrderDto(locDto.getOrderNo(), locDto.getMatnr(), locDto.getAnfme()); if (OrderDto.has(orderDtos, orderDto)) { src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -1,5 +1,6 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; @@ -15,6 +16,7 @@ import com.zy.common.model.DetlDto; import com.zy.common.model.OrderDto; import com.zy.common.model.OrderMergeVo; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,15 +82,27 @@ if (null != docType && docType.getPakout() == 1) { // 重组明细 if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); throw new CoolException("重组出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); } List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo); for (WrkDetl wrkDetl : wrkDetls) { OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(wrkDetl); orderDetl.setQty(orderDetl.getAnfme()); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(orderNo); if (BaseController.isJSON(wrkDetl.getOrderNo())) { orderDetl.setQty(orderDetl.getAnfme()); } else { // 订单合并出库 List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); for (OrderDto one : orderDtoList) { if (one.getOrderNo().equals(orderNo)) { orderDetl.setAnfme(one.getAnfme()); orderDetl.setQty(one.getAnfme()); break; } } } orderDetl.setStatus(1); orderDetl.setCreateTime(order.getCreateTime()); orderDetl.setCreateBy(order.getCreateBy()); src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -351,7 +351,7 @@ throw new CoolException("保存工作档明细失败"); } // 修改订单明细 if (!BaseController.isJSON(locDto.getOrderNo())) { if (BaseController.isJSON(locDto.getOrderNo())) { OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); @@ -828,7 +828,7 @@ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { if (!BaseController.isJSON(wrkDetl.getOrderNo())) { if (BaseController.isJSON(wrkDetl.getOrderNo())) { if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { throw new CoolException("订单数据回滚失败"); } src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -118,7 +118,7 @@ } // 修改订单状态 作业中 ===>> 已完成 for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { if (!BaseController.isJSON(wrkDetl.getOrderNo())) { if (BaseController.isJSON(wrkDetl.getOrderNo())) { orderService.checkComplete(wrkDetl.getOrderNo()); } else { // 订单合并出库 src/main/java/com/zy/common/web/BaseController.java
@@ -1,6 +1,5 @@ package com.zy.common.web; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; @@ -146,14 +145,12 @@ public static boolean isJSON(String str) { if (Cools.isEmpty(str)) { return false; return true; } else { try { JSON.parse(str); return true; } catch (Exception e) { str = str.trim(); if (str.startsWith("{") && str.endsWith("}")) { return false; } } else return !str.startsWith("[") || !str.endsWith("]"); } } } src/main/resources/mapper/WrkDetlMapper.xml
@@ -85,12 +85,12 @@ select awd.* from asr_wrk_detl awd left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time where order_no = #{orderNo} where order_no like '%' + #{orderNo} + '%' union select distinct awdl.* from asr_wrk_detl_log awdl left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time where awdl.order_no = #{orderNo} where awdl.order_no like '%' + #{orderNo} + '%' and (awml.manu_type is null or awml.manu_type != '手动取消') </select> @@ -98,13 +98,13 @@ select awd.wrk_no, awd.io_time, awd.matnr, sum(awd.anfme) as anfme from asr_wrk_detl awd left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time where order_no = #{orderNo} where order_no like '%' + #{orderNo} + '%' group by awd.wrk_no, awd.io_time, awd.matnr union select distinct awdl.wrk_no, awdl.io_time, awdl.matnr, sum(awdl.anfme) as anfme from asr_wrk_detl_log awdl left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time where awdl.order_no = #{orderNo} where awdl.order_no like '%' + #{orderNo} + '%' and (awml.manu_type is null or awml.manu_type != '手动取消') group by awdl.wrk_no, awdl.io_time, awdl.matnr </select>