From 20235a873f123a83f7763c0327e5845caa32c9b9 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 03 四月 2025 16:15:19 +0800
Subject: [PATCH] 入出库订单打印,拣货单打印,搜索条件增加
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 40 insertions(+), 12 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java
index b7dec62..518fd8f 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java
@@ -4,15 +4,10 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
-import com.zy.asrs.wms.asrs.entity.Order;
-import com.zy.asrs.wms.asrs.entity.OrderDetl;
-import com.zy.asrs.wms.asrs.entity.TaskDetl;
+import com.zy.asrs.wms.asrs.entity.*;
+import com.zy.asrs.wms.asrs.entity.enums.OrderPickStatus;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
-import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper;
-import com.zy.asrs.wms.asrs.mapper.OrderMapper;
-import com.zy.asrs.wms.asrs.mapper.TaskDetlMapper;
-import com.zy.asrs.wms.asrs.mapper.WaveSeedMapper;
-import com.zy.asrs.wms.asrs.entity.WaveSeed;
+import com.zy.asrs.wms.asrs.mapper.*;
import com.zy.asrs.wms.asrs.service.OrderDetlService;
import com.zy.asrs.wms.asrs.service.WaveSeedService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,6 +15,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -35,6 +31,9 @@
private OrderDetlMapper orderDetlMapper;
@Autowired
private TaskDetlMapper taskDetlMapper;
+
+ @Autowired
+ private CacheSiteMapper cacheSiteMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -60,7 +59,10 @@
throw new CoolException("鎾鏁版嵁涓嶅瓨鍦�");
}
-
+ List<CacheSite> sites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, waveSeed.getOrderNo()));
+ if (sites.isEmpty()) {
+ throw new CoolException("褰撳墠璁㈠崟鏈粦瀹氭挱绉嶅簱浣嶏紝璇蜂娇鐢≒DA->鍦版爣缁戝畾,鍔熻兘缁戝畾鍚庡啀鎿嶄綔锛侊紒");
+ }
Double stock = Optional.of(waveSeed.getAnfme() - waveSeed.getWorkQty()).orElse(0.0D);
if (stock - param.getReviewNum() < 0) {
@@ -80,16 +82,42 @@
if (Objects.isNull(orderDetl)) {
throw new CoolException("褰撳墠鎾璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
}
- orderDetl.setWorkQty(orderDetl.getWorkQty() + param.getReviewNum());
+
+ if (param.getReviewNum() + orderDetl.getQty() > orderDetl.getAnfme()) {
+ throw new CoolException("璇锋牳瀵规槑缁嗘暟閲忓悗锛屽啀杩涜鎿嶄綔!!");
+ }
+
+ //濡傛灉鎷h揣鏁伴噺涓庤鍗曟槑缁嗘暟閲忕浉绛夛紝琛ㄦ槑鎷h揣瀹屾垚
+ if (new BigDecimal(param.getReviewNum() + orderDetl.getQty()).compareTo(new BigDecimal(orderDetl.getAnfme())) == 0) {
+ orderDetl.setPickStatus(OrderPickStatus.ORDER_PICK_STATUS_DONE.val);
+ } else {
+ orderDetl.setPickStatus(OrderPickStatus.ORDER_PICK_STATUS_SECTION.val);
+ }
+
if (orderDetlMapper.updateById(orderDetl) < 1) {
- throw new CoolException("璁㈠崟鏄庣粏鏁伴噺鏇存柊澶辫触");
+ throw new CoolException("璁㈠崟鐘舵�佹洿鏂板け璐�!!");
+ }
+
+ List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderNo, orderDetl.getOrderNo()));
+ List<OrderDetl> detlList = detls.stream().filter(ord -> {
+ return ord.getPickStatus() != OrderPickStatus.ORDER_PICK_STATUS_DONE.val;
+ }).collect(Collectors.toList());
+
+ int update;
+ if (detlList.isEmpty()) {
+ update = orderMapper.update(new LambdaUpdateWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()).set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_DONE.val));
+ } else {
+ update = orderMapper.update(new LambdaUpdateWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()).set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_SECTION.val));
+ }
+
+ if (update < 1) {
+ throw new CoolException("鍘熷璁㈠崟涓诲崟鎷h揣鐘舵�佹洿鏂板け璐ワ紒锛�");
}
waveSeed.setUpdateTime(new Date());
if (!this.updateById(waveSeed)) {
throw new CoolException("鎾澶嶆牳鏇存柊澶辫触");
}
-
}
--
Gitblit v1.9.1