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 | 86 ++++++++++++++++++++++++++++++++++++------
1 files changed, 73 insertions(+), 13 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 0419b37..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,12 +1,15 @@
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.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;
@@ -24,23 +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) {
- return this.baseMapper.selectItemNoneOfBatch(orderNo, 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
@@ -56,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;
}
@@ -99,5 +150,14 @@
// 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