From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 120 insertions(+), 6 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..ccf2f5b 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,16 +8,15 @@
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.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,6 +39,10 @@
private QlyInspectResultService qlyInspectResultService;
@Autowired
private QlyIsptItemService qlyIsptItemService;
+ @Autowired
+ private WarehouseAreasItemServiceImpl warehouseAreasItemService;
+ @Autowired
+ private CompanysServiceImpl companysService;
/**
* @param
@@ -76,6 +79,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 +89,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 +109,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("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�");
+// }
+// //鏂板缓璐ㄦ鍗曪紝涓嶄細鏈夎川妫�缁撴灉
+// confirmReceipt(item, orderItem);
+//
+//// if (Objects.isNull(orderItem.getIsptResult())) {
+//// operateReceipt(item, orderItem);
+//// }
+// }
}
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>()
@@ -117,6 +146,86 @@
}
return true;
+ }
+
+ /**
+ * @author Ryan
+ * @date 2025/5/12
+ * @description: 璐ㄦ鍚庝慨鏀规敹璐у尯瀛樹俊鎭�
+ * @version 1.0
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public void confirmReceipt(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;
+
+ WkOrderItem wkOrderItem = asnOrderItemService.getById(item.getAsnItemId());
+ if (Objects.isNull(wkOrderItem)) {
+ if (StringUtils.isNoneBlank(wkOrderItem.getSplrCode())) {
+ Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, wkOrderItem.getSplrCode()));
+ orderItem.setSplrId(companys.getId());
+ }
+ }
+
+ if (sum.compareTo(orderItem.getAnfme()) >= 0) {
+ //瀹屾垚璐ㄦ,鍋氭洿鏂版搷浣�
+ if (safeQty.compareTo(0.0) > 0) {
+ orderItem.setIsptQty(safeQty).setAnfme(safeQty);
+ orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
+ if (!warehouseAreasItemService.updateById(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+
+ WarehouseAreasItem areasItem = new WarehouseAreasItem();
+ BeanUtils.copyProperties(orderItem, areasItem);
+ if (disQty.compareTo(0.0) > 0) {
+ areasItem.setIsptQty(disQty)
+ .setAnfme(disQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(areasItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+ } else {
+ Double anfme = Math.round((orderItem.getAnfme() - sum) * 10000) / 10000.0;
+ orderItem.setAnfme(anfme);
+ if (!warehouseAreasItemService.updateById(orderItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+
+ WarehouseAreasItem areasItem = new WarehouseAreasItem();
+ BeanUtils.copyProperties(orderItem, areasItem);
+ //鏈畬鎴愬仛娣诲姞鎿嶄綔
+ if (safeQty.compareTo(0.0) > 0) {
+ areasItem.setIsptQty(safeQty)
+ .setAnfme(safeQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(areasItem)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+
+ WarehouseAreasItem items = new WarehouseAreasItem();
+ BeanUtils.copyProperties(orderItem, items);
+ if (disQty.compareTo(0.0) > 0) {
+ items.setIsptQty(disQty)
+ .setAnfme(disQty)
+ .setId(null)
+ .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val);
+ if (!warehouseAreasItemService.saveOrUpdate(items)) {
+ throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�");
+ }
+ }
+ }
+ }
+
+ @Override
+ public List<QlyIsptItem> selectIsptResult(LambdaQueryWrapper<QlyIsptItem> eq) {
+ return this.baseMapper.selectIsptResult(eq);
}
/**
@@ -132,7 +241,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 +261,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