From 04475829f3de5ae3e35fb72d3e96391bab3a084e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 09 十二月 2022 14:48:34 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/OrderDetlMapper.xml | 8 ++
src/main/java/com/zy/asrs/service/OrderDetlService.java | 3 +
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 24 ++++++-
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 12 ++++
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 79 +++++++++++++++-----------
6 files changed, 90 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 901910d..ea2f5e5 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -33,4 +33,6 @@
List<OrderDetl> selectRemainder(@Param("orderId") Long orderId);
+ List<OrderDetl> selectByMatnr(@Param("matnr") String matnr);
+
}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 73740a9..12e102e 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -27,4 +27,7 @@
boolean modifyStatus(Long orderId, Integer status);
List<OrderDetl> selectRemainder(Long orderId);
+
+ OrderDetl selectByMatnr(String matnr);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 806dba6..aa0f93e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -2,15 +2,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.Cools;
-import com.zy.asrs.mapper.OrderDetlMapper;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.OrderDetlService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
+@Slf4j
@Service("orderDetlService")
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
@@ -78,4 +80,18 @@
return this.baseMapper.selectRemainder(orderId);
}
+ @Override
+ public OrderDetl selectByMatnr(String matnr) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectByMatnr(matnr);
+ if (!Cools.isEmpty(orderDetls)) {
+ if (orderDetls.size() > 1) {
+ log.error("{}鏉$爜鍚屾椂瀛樺湪澶氱瑪璁㈠崟锛岃娉ㄦ剰鏌ョ湅锛�", matnr);
+ } else {
+ return orderDetls.get(0);
+ }
+ }
+ return null;
+ }
+
+
}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 4b26efd..6571c51 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -48,7 +48,19 @@
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
// 鍏ュ簱瀹屾垚涓婃姤
if (docType.getPakin() == 1) {
+ try {
+ // erp 鍚屾
+ int state = 2;
+ if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) {
+ throw new CoolException(order.getOrderNo() + "璁㈠崟淇敼State涓�"+state+"澶辫触");
+ } else {
+ erpService.updateTimeForVoucherDetail(order.getOrderNo());
+ }
+ } catch (Exception e) {
+ log.error("fail", e);
+ return FAIL.setMsg(e.getMessage());
+ }
}
// 鍑哄簱瀹屾垚涓婃姤
if (docType.getPakout() == 1) {
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 70e6a25..49e3237 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -3,8 +3,8 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -38,13 +38,13 @@
@Autowired
private WrkDetlLogService wrkDetlLogService;
@Autowired
- private WaitPakinService waitPakinService;
- @Autowired
- private WaitPakinLogService waitPakinLogService;
- @Autowired
private OrderService orderService;
@Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
private ErpService erpService;
+ @Autowired
+ private DocTypeService docTypeService;
// update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no =
@Transactional
@@ -67,37 +67,48 @@
// 鍏ュ簱 --------------------------------------------------------------------------------
if (wrkMast.getWrkSts() == 10) {
- // 鎼滅储瀵瑰簲鍏ュ簱鏉$爜鍦╡rp鏁版嵁搴撲腑鐨勭姸鎬�
- List<WrkDetl> wrkDetls0 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- for (WrkDetl wrkDetl : wrkDetls0) {
- Goods goods = erpService.selectGoodsOne(wrkDetl.getMatnr());
- if (!Cools.isEmpty(goods)) {
- if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) {
- log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode());
- }
- } else {
- log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr());
- }
- }
-
-
// 鍏ㄦ澘鍏ュ簱
if (wrkMast.getIoType() == 1) {
- // 鍏ュ簱閫氱煡鍗�
- if (!Cools.isEmpty(wrkMast.getBarcode())) {
- // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
- if (!waitPakinLogService.save(wrkMast.getBarcode())) {
- exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎鍏ュ簱閫氱煡妗�
-// if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
-// exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
-// }
- }
- // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
+
+ // 銆� 涓婃姤涓夋柟骞冲彴 銆�
if (!Cools.isEmpty(wrkDetls)) {
- if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
- exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ // Goods 琛�
+ Goods goods = erpService.selectGoodsOne(wrkDetl.getMatnr());
+ if (!Cools.isEmpty(goods)) {
+ if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) {
+ log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode());
+ }
+ } else {
+ log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr());
+ }
+ // OrderDetl 琛�
+ OrderDetl orderDetl = orderDetlService.selectByMatnr(wrkDetl.getMatnr());
+ if (!Cools.isEmpty(orderDetl)) {
+ Order order = orderService.selectById(orderDetl.getOrderId());
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if (docType.getPakin() == 1) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme())) {
+ log.error("{}缂栧彿璁㈠崟锛屾洿鏂皗}鏉$爜鏁伴噺澶辫触", orderDetl.getOrderNo(), orderDetl.getMatnr());
+ }
+ }
+ // Order 琛�
+ if (order.getSettle() < 3L) {
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+ boolean complete = true;
+ for (OrderDetl detl : orderDetls) {
+ if (detl.getAnfme() > detl.getQty()) {
+ complete = false;
+ break;
+ }
+ }
+ if (complete) {
+ if (!orderService.updateSettle(order.getId(), 4L, null)) {
+ throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
+ }
+ }
+ }
+ }
}
}
// 鎷f枡鍐嶅叆搴�
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 6cab66f..ee1bf31 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -190,4 +190,12 @@
and order_id = #{orderId}
</select>
+ <select id="selectByMatnr" resultMap="BaseResultMap">
+ select
+ *
+ from man_order_detl
+ where 1=1
+ and matnr = #{matnr}
+ </select>
+
</mapper>
--
Gitblit v1.9.1