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