From a790b7d249485b907a0b31082f404cec1f415625 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期一, 31 三月 2025 14:21:18 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 1 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
index 73eeacb..1348ba0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.controller.params.IsptOrderParam;
import com.vincent.rsf.server.manager.controller.params.QlyInspectAndItem;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
@@ -16,13 +17,17 @@
import com.vincent.rsf.server.manager.service.QlyIsptItemService;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
@Service("qlyInspectService")
public class QlyInspectServiceImpl extends ServiceImpl<QlyInspectMapper, QlyInspect> implements QlyInspectService {
@@ -65,7 +70,7 @@
if (Objects.isNull(inspect.getWkType())) {
throw new CoolException("涓氬姟绫诲瀷涓嶈兘涓虹┖锛侊紒");
}
- String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_WK_TYPE, inspect);
+ String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, inspect);
inspect.setCode(code);
if (!this.saveOrUpdate(inspect)) {
throw new CoolException("璐ㄦ鍗曚繚瀛樺け璐ワ紒锛�");
@@ -87,4 +92,71 @@
}
return R.ok("淇濆瓨鎴愬姛锛侊紒");
}
+
+ /**
+ * @author Ryan
+ * @description 鑾峰彇鏈川妫�鍗曟嵁
+ * @param
+ * @return
+ * @time 2025/3/31 10:12
+ */
+
+ @Override
+ public List<AsnOrder> getUnInspect() {
+ List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getStatus, 1).eq(AsnOrder::getNtyStatus, 0));
+ return asnOrders;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R saveSelected(IsptOrderParam param) {
+ if (Objects.isNull(param.getIds()) || param.getIds().isEmpty()) {
+ throw new CoolException("鍗曟嵁ID涓嶈兘涓虹┖锛侊紒");
+ }
+ List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 1));
+ if (asnOrders.isEmpty()) {
+ throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+ List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds()));
+ if (orderItems.isEmpty()) {
+ throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+ Map<Long, List<AsnOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
+ List<QlyInspect> qlyInspects = new ArrayList<>();
+ for (AsnOrder asnOrder : asnOrders) {
+ QlyInspect inspect = new QlyInspect();
+ String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null);
+ if (StringUtils.isBlank(ruleCode)) {
+ throw new CoolException("绛栫暐閿欒锛氳妫�鏌ョ瓥鐣ャ��" + SerialRuleCode.SYS_INSPECT_CODE + "銆嶆槸鍚﹁缃纭紒锛�");
+ }
+ inspect.setCode(ruleCode).setWkType(asnOrder.getWkType()).setAsnId(asnOrder.getId()).setCode(asnOrder.getCode());
+ /**鑾峰彇鍗曟嵁鏄庣粏*/
+ List<AsnOrderItem> asnOrderItems = listMap.get(asnOrder.getId());
+ if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) {
+ continue;
+ }
+ double rcptQty = asnOrderItems.stream().mapToDouble(AsnOrderItem::getQty).sum();
+ double anfme = asnOrderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
+ inspect.setRcptQty(rcptQty).setDlyQty(anfme);
+ if (!this.save(inspect)) {
+ throw new CoolException("鍗曟嵁" + asnOrder.getCode() + "淇濆瓨澶辫触锛侊紒");
+ }
+ List<QlyIsptItem> items = new ArrayList<>();
+ for (AsnOrderItem orderItem : asnOrderItems) {
+ QlyIsptItem isptItem = new QlyIsptItem();
+ BeanUtils.copyProperties(orderItem, isptItem);
+ isptItem.setAsnItemId(orderItem.getId())
+ .setRcptQty(orderItem.getQty())
+ .setDlyQty(orderItem.getAnfme());
+ items.add(isptItem);
+ }
+ if (!qlyIsptItemService.saveBatch(items)) {
+ throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
+ }
+ }
+ if (!this.saveBatch(qlyInspects)) {
+ throw new CoolException("璐ㄦ鍗曚繚瀛樺け璐ワ紒锛�");
+ }
+ return R.ok("淇濆瓨鎴愬姛锛侊紒");
+ }
}
--
Gitblit v1.9.1