From ab14726215678ac69adfeafbd845ebc5b0776ea2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:56:41 +0800
Subject: [PATCH] 优化订单同步逻辑及库位查找
---
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 103 insertions(+), 16 deletions(-)
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 f069bb5..395972f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,16 +1,21 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
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.core.exception.CoolException;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.utils.Utils;
+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 {
@@ -22,18 +27,71 @@
@Override
public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) {
page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
- page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
+ //page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
return page;
}
@Override
- public OrderDetl selectItem(Long orderId, String matnr, String batch) {
- return this.baseMapper.selectItem(orderId, matnr, batch);
+ public Page<OrderDetl> getOrderDetlByDoctype(Page<OrderDetl> page) {
+ page.setRecords(baseMapper.getOrderDetlByDoctype(page.getCondition()));
+ page.setTotal(baseMapper.getOrderDetlByDoctypeCount(page.getCondition()));
+ return page;
}
@Override
- public OrderDetl selectItem(String orderNo, String matnr, String batch) {
- return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+ public OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItem(orderId, matnr, batch, csocode, isoCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
+ }
+
+ @Override
+ public OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch, csocode, isoCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
+ }
+
+ @Override
+ public OrderDetl selectItem(String orderNo, String matnr, String batch, String threeCode) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo2(orderNo, matnr, batch, threeCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
+ }
+
+
+ @Override
+ public OrderDetl selectItemNoneOfBatch(String orderNo, String matnr) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemNoneOfBatch(orderNo, matnr);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
+ }
+
+ @Override
+ public OrderDetl selectItemOfBatch(String matnr, String batch) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemOfBatch(matnr, batch);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
@Override
@@ -49,20 +107,20 @@
}
@Override
- public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty) {
- return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty) > 0;
+ public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty, csocode, isoCode) > 0;
}
@Override
- public boolean increase(Long orderId, String matnr, String batch, Double qty) {
- return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
+ public boolean increase(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ return this.baseMapper.increase(orderId, matnr, batch, qty, csocode, isoCode) > 0;
}
@Override
- public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
- int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
+ public boolean decrease(String orderNo, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty, csocode, isoCode);
if (decrease == 0) {
- return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
+ return this.baseMapper.decrease(orderNo, matnr, null, qty, csocode, isoCode) > 0;
} else {
return true;
}
@@ -73,4 +131,33 @@
return this.baseMapper.modifyStatus(orderId, status) > 0;
}
+ @Override
+ public List<OrderDetl> selectRemainder(Long orderId) {
+ return this.baseMapper.selectRemainder(orderId);
+ }
+
+ @Override
+ public OrderDetl selectContainBatch(String batch) {
+ OrderDetl orderDetl = this.selectOne(new EntityWrapper<OrderDetl>().like("batch", batch));
+ return orderDetl;
+// if (!Cools.isEmpty(orderDetls)) {
+// if (orderDetls.size() > 1) {
+// log.error("{}鏉$爜鍚屾椂瀛樺湪澶氱瑪璁㈠崟锛岃娉ㄦ剰鏌ョ湅锛�", matnr);
+// } else {
+// return orderDetls.get(0);
+// }
+// }
+// return null;
+ }
+
+ @Override
+ public OrderDetl selectByOrderNoAndMatnr(String orderNo, String matnr, String csocode, String isoseq) {
+ Wrapper<OrderDetl> wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", matnr);
+ Utils.wapperSetCondition(wrapper, "three_code", csocode);
+ Utils.wapperSetCondition(wrapper, "dead_time", isoseq);
+
+ return this.selectOne(wrapper);
+ }
+
+
}
--
Gitblit v1.9.1