From b248de310fd65c11f959f4cd0f02d3a6d3edb2c2 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期六, 12 十月 2024 16:41:21 +0800 Subject: [PATCH] 优化订单上报功能 --- src/main/resources/mapper/OrderMapper.xml | 9 ++++ src/main/resources/mapper/WrkDetlMapper.xml | 6 +++ src/main/java/com/zy/asrs/service/OrderService.java | 2 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 2 + src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/mapper/OrderMapper.java | 2 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 40 +++++++++++++++++++ src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 + 9 files changed, 68 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java index 5500ade..eb249f6 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java @@ -13,7 +13,7 @@ public interface OrderMapper extends BaseMapper<Order> { int updateSettle(@Param("orderId")Long orderId, @Param("settle")Long settle, @Param("userId")Long userId); - + List<Order> selectWork(); List<Order> selectComplete(); List<Order> selectComplete8(); diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java index 15503d5..e4445bc 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java @@ -19,6 +19,8 @@ int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); + List<WrkDetl>selectByOrderNo(String orderNo); + List<WrkDetl> selectAndLogByOrderNo(String orderNo); int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java index c9df78f..af6ff2c 100644 --- a/src/main/java/com/zy/asrs/service/OrderService.java +++ b/src/main/java/com/zy/asrs/service/OrderService.java @@ -21,7 +21,7 @@ //boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls); void remove(Long orderId); - + List<Order> selectWork(); List<Order> selectComplete(); List<Order> selectComplete8(); diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java index acba09e..5274a67 100644 --- a/src/main/java/com/zy/asrs/service/WrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java @@ -15,6 +15,8 @@ boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch); + List<WrkDetl> selectByOrderNo(String orderNo); + List<WrkDetl> selectAndLogByOrderNo(String orderNo); boolean updateInspect(Integer wrkNo, String matnr, String batch); 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 84cbac4..ca68042 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -131,7 +131,10 @@ } orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", orderId)); } - + @Override + public List<Order> selectWork() { + return this.baseMapper.selectWork(); + } @Override public List<Order> selectComplete() { return this.baseMapper.selectComplete(); diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index 9c67431..b18d0fc 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -64,7 +64,10 @@ return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; } } - + @Override + public List<WrkDetl> selectByOrderNo(String orderNo) { + return this.baseMapper.selectByOrderNo(orderNo); + } @Override public List<WrkDetl> selectAndLogByOrderNo(String orderNo) { return this.baseMapper.selectAndLogByOrderNo(orderNo); diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java index 06a0624..bd1e371 100644 --- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java @@ -1,6 +1,14 @@ package com.zy.asrs.task; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.exception.CoolException; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.service.OrderService; +import com.zy.asrs.service.WrkDetlService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.WorkLogHandler; @@ -22,9 +30,15 @@ private WorkLogHandler workLogHandler; @Autowired private WrkMastService wrkMastService; + @Autowired + private OrderService orderService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private OrderDetlMapper orderDetlMapper; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + private void execute() { List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData(); if (wrkMasts.isEmpty()) { return; @@ -37,4 +51,28 @@ } } + + @Scheduled(cron = "0/3 * * * * ? ") + private void execute2() { + List<Order> orders = orderService.selectWork(); + for (Order order : orders) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByOrderNo(order.getOrderNo()); + if (wrkDetls != null) { + return; + } + List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId())); + boolean complete = true; + for (OrderDetl orderDetl : orderDetls) { + if (orderDetl.getAnfme() > orderDetl.getQty()) { + complete = false; + break; + } + } + if (complete) { + if (!orderService.updateSettle(order.getId(), 4L, null)) { + throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); + } + } + } + } } diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml index cac5835..06a13d9 100644 --- a/src/main/resources/mapper/OrderMapper.xml +++ b/src/main/resources/mapper/OrderMapper.xml @@ -59,6 +59,15 @@ and id = #{orderId} </update> + <select id="selectWork" resultMap="BaseResultMap"> + select top 5 * + from man_order + where 1=1 + and settle = 2 + and status = 1 + order by create_time asc + </select> + <select id="selectComplete" resultMap="BaseResultMap"> select top 5 * from man_order diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index d12a84f..6abf636 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -95,6 +95,12 @@ <include refid="batchSeq"></include> </update> + <select id="selectByOrderNo" resultMap="BaseResultMap"> + SELECT d.* + FROM asr_wrk_detl d + WHERE order_no = #{orderNo} + </select> + <select id="selectAndLogByOrderNo" resultMap="BaseResultMap"> SELECT d.* -- Gitblit v1.9.1