From 3989e356b6b8bcd31e2d2981ac78e41f8ebbdfa5 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期三, 19 十月 2022 10:02:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OrderController.java | 4 +++- src/main/resources/mapper/WrkDetlMapper.xml | 8 ++++---- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 18 ++++++++++++++++-- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 4 ++-- src/main/java/com/zy/common/web/BaseController.java | 11 ++++------- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 2 +- src/main/java/com/zy/asrs/controller/OutController.java | 2 +- 7 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 4741832..1ebddbd 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/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") diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 14b79e7..50e7ad1 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/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)) { diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index c50a9df..319c1a0 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/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("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�"); + throw new CoolException("閲嶇粍鍑哄簱璁㈠崟銆恛rderNo = " + 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()); diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 2a8104d..ee7c48f 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -351,7 +351,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } // 淇敼璁㈠崟鏄庣粏 - 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 7600ab2..0fbb782 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/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 { // 璁㈠崟鍚堝苟鍑哄簱 diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java index 01ce52c..c0455b4 100644 --- a/src/main/java/com/zy/common/web/BaseController.java +++ b/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("]"); } } } diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index a9a84f2..fbdfeef 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/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> -- Gitblit v1.9.1