From 1af222e201ad79526abca68c71207286ddf49188 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 12 五月 2025 19:53:34 +0800
Subject: [PATCH] no message
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 88 insertions(+), 7 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
index f4457a3..d78953b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -8,17 +8,14 @@
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.controller.params.IsptItemsParams;
-import com.vincent.rsf.server.manager.entity.QlyInspect;
-import com.vincent.rsf.server.manager.entity.QlyInspectResult;
+import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.QlyIsptResult;
import com.vincent.rsf.server.manager.mapper.QlyIsptItemMapper;
-import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.QlyInspectResultService;
import com.vincent.rsf.server.manager.service.QlyInspectService;
import com.vincent.rsf.server.manager.service.QlyIsptItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +37,8 @@
private QlyInspectResultService qlyInspectResultService;
@Autowired
private QlyIsptItemService qlyIsptItemService;
+ @Autowired
+ private WarehouseAreasItemServiceImpl warehouseAreasItemService;
/**
* @param
@@ -76,6 +75,7 @@
QlyInspectResult result = new QlyInspectResult();
result.setIsptId(item.getIspectId())
+ .setRcptId(item.getRcptId())
.setIsptItemId(item.getId());
if (!Objects.isNull(item.getDisQty()) && item.getDisQty().compareTo(0.00) > 0) {
result.setAnfme(item.getDisQty())
@@ -85,6 +85,7 @@
result = new QlyInspectResult();
result.setIsptId(item.getIspectId())
+ .setRcptId(item.getRcptId())
.setIsptItemId(item.getId());
if (!Objects.isNull(item.getSafeQty()) && item.getSafeQty().compareTo(0.00) > 0) {
result.setAnfme(item.getSafeQty())
@@ -104,10 +105,34 @@
.eq(QlyIsptItem::getId, item.getId()))) {
throw new CoolException("鍗曟嵁鏄庣粏鏁伴噺淇敼澶辫触锛侊紒");
}
+
+ WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId());
+ if (Objects.isNull(orderItem)) {
+ throw new CoolException("鏀惰揣鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+
+ Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty();
+ Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty();
+
+ Double sum = disQty + safeQty;
+ orderItem.setIsptQty(sum);
+
+ if (sum.compareTo(0.0) > 0) {
+ if (!warehouseAreasItemService.updateById(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�");
+ }
+
+ if (Objects.isNull(orderItem.getIsptResult())) {
+ operateReceipt(item, orderItem);
+ } else {
+
+ }
+ }
}
Set<Long> isptIds = isptItem.stream().map(QlyIsptItem::getIspectId).collect(Collectors.toSet());
- List<QlyInspectResult> items = qlyInspectResultService.list(new LambdaQueryWrapper<QlyInspectResult>().in(QlyInspectResult::getIsptId, isptIds));
+ List<QlyInspectResult> items = qlyInspectResultService.list(new LambdaQueryWrapper<QlyInspectResult>()
+ .in(QlyInspectResult::getIsptId, isptIds));
Double sum = items.stream().mapToDouble(QlyInspectResult::getAnfme).sum();
if (sum.compareTo(0.00) > 0) {
qlyInspectService.update(new LambdaUpdateWrapper<QlyInspect>()
@@ -116,7 +141,58 @@
.eq(QlyInspect::getId, isptItem.stream().findFirst().get().getIspectId()));
}
+// qlyIsptItemService.pageByIsptResult(null, new QueryWrapper<QlyIsptItem>())
return true;
+ }
+
+ /**
+ * @author Ryan
+ * @date 2025/5/12
+ * @description: 璐ㄦ鍚庝慨鏀规敹璐у尯瀛樹俊鎭�
+ * @version 1.0
+ */
+ private void operateReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) {
+ Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty();
+ Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty();
+ Double sum = disQty + safeQty;
+ if (sum.compareTo(orderItem.getAnfme()) >= 0) {
+ //瀹屾垚璐ㄦ,鍋氭洿鏂版搷浣�
+ if (safeQty.compareTo(0.0) > 0) {
+ orderItem.setIsptQty(safeQty);
+ orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
+ if (!warehouseAreasItemService.updateById(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+
+ if (disQty.compareTo(0.0) > 0) {
+ orderItem.setIsptQty(disQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+ } else {
+ //鏈畬鎴愬仛娣诲姞鎿嶄綔
+ if (safeQty.compareTo(0.0) > 0) {
+ orderItem.setIsptQty(safeQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+
+ if (disQty.compareTo(0.0) > 0) {
+ orderItem.setIsptQty(disQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+ }
}
/**
@@ -132,7 +208,7 @@
List<QlyIsptItem> records = page.getRecords();
for (int i = 0; i < records.size(); i++) {
List<QlyInspectResult> results = qlyInspectResultService.list(new QueryWrapper<QlyInspectResult>()
- .select("id, ispt_result, SUM(anfme) anfme, ispt_item_id, ispt_id")
+ .select("id, ispt_result, SUM(anfme) anfme, ispt_item_id, ispt_id, rcpt_id")
.lambda()
.eq(QlyInspectResult::getIsptItemId, records.get(i).getId()).groupBy(QlyInspectResult::getIsptResult));
if (!results.isEmpty()) {
@@ -152,6 +228,11 @@
@Override
public IPage<QlyIsptItem> pageByIsptResult(PageParam<QlyIsptItem, BaseParam> pageParam, QueryWrapper<QlyIsptItem> queryWrapper) {
- return this.baseMapper.pageByWrapper(pageParam, queryWrapper);
+ if (Objects.isNull(pageParam)) {
+ PageParam<QlyIsptItem, BaseParam> param = new PageParam<>();
+ return this.baseMapper.selectPage(param, queryWrapper);
+ } else {
+ return this.baseMapper.pageByWrapper(pageParam, queryWrapper);
+ }
}
}
--
Gitblit v1.9.1