From add402ec68d150cd8b13c231ce991cf49889259c Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 21 十月 2025 14:03:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop_whxrwms' into devlop_whxrwms
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 90 +++++++++++++++++++++++++++++++++------------
1 files changed, 66 insertions(+), 24 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 c163e61..3305f54 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
@@ -2,13 +2,11 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.*;
-import com.vincent.rsf.server.manager.enums.QlyIsptResult;
import com.vincent.rsf.server.manager.enums.QlyIsptStatus;
import com.vincent.rsf.server.manager.mapper.QlyInspectMapper;
import com.vincent.rsf.server.manager.service.*;
@@ -46,23 +44,23 @@
private WarehouseAreasItemService warehouseAreasItemService;
@Override
- public List<AsnOrderItem> listByAsn(Map<String, Object> map) {
+ public List<WkOrderItem> listByAsn(Map<String, Object> map) {
if (Objects.isNull(map.get("asnCode"))) {
throw new CoolException("鏀惰揣鍗曟嵁鏄庣粏缂栫爜涓嶈兘涓虹┖锛侊紒");
}
- AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
- .eq(AsnOrder::getCode, map.get("asnCode"))
- .ne(AsnOrder::getNtyStatus, 0));
- if (Objects.isNull(asnOrder)) {
+ WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
+ .eq(WkOrder::getCode, map.get("asnCode"))
+ .ne(WkOrder::getNtyStatus, 0));
+ if (Objects.isNull(wkOrder)) {
throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
}
- List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
- .eq(AsnOrderItem::getAsnCode, map.get("asnCode"))
- .eq(AsnOrderItem::getNtyStatus, 1));
- if (asnOrderItems.isEmpty()) {
+ List<WkOrderItem> wkOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>()
+ .eq(WkOrderItem::getOrderCode, map.get("asnCode"))
+ .eq(WkOrderItem::getNtyStatus, 1));
+ if (wkOrderItems.isEmpty()) {
return new ArrayList<>();
}
- return asnOrderItems;
+ return wkOrderItems;
}
@Override
@@ -112,7 +110,7 @@
.select("asn_id as id, SUM(anfme) anfme, SUM(qty) qty, area_id, area_name, asn_code, asn_id, splr_id, splr_batch")
.eq(StringUtils.isNotBlank(code), "asn_code", code)
.lambda()
- .isNull(WarehouseAreasItem::getIsptResult)
+// .isNull(WarehouseAreasItem::getIsptResult)
.lt(WarehouseAreasItem::getWorkQty, 1)
.lt(WarehouseAreasItem::getQty, 1)
.groupBy(WarehouseAreasItem::getAsnCode));
@@ -133,8 +131,8 @@
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()));
- if (asnOrders.isEmpty()) {
+ List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, param.getIds()));
+ if (wkOrders.isEmpty()) {
throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
}
// List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds()));
@@ -145,27 +143,27 @@
List<WarehouseAreasItem> orderItems = warehouseAreasItemService.list(new LambdaQueryWrapper<WarehouseAreasItem>()
.in(WarehouseAreasItem::getAsnId, param.getIds()));
Map<Long, List<WarehouseAreasItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(WarehouseAreasItem::getAsnId));
- for (AsnOrder asnOrder : asnOrders) {
+ for (WkOrder wkOrder : wkOrders) {
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())
+ .setWkType(wkOrder.getWkType())
.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val)
.setCreateBy(loginUserId)
- .setAsnId(asnOrder.getId())
- .setAsnCode(asnOrder.getCode());
+ .setAsnId(wkOrder.getId())
+ .setAsnCode(wkOrder.getCode());
/**鑾峰彇鍗曟嵁鏄庣粏*/
- List<WarehouseAreasItem> asnOrderItems = listMap.get(asnOrder.getId());
+ List<WarehouseAreasItem> asnOrderItems = listMap.get(wkOrder.getId());
if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) {
continue;
}
double anfme = asnOrderItems.stream().mapToDouble(WarehouseAreasItem::getAnfme).sum();
inspect.setRcptQty(anfme);
if (!this.save(inspect)) {
- throw new CoolException("鍗曟嵁" + asnOrder.getCode() + "淇濆瓨澶辫触锛侊紒");
+ throw new CoolException("鍗曟嵁" + wkOrder.getCode() + "淇濆瓨澶辫触锛侊紒");
}
List<QlyIsptItem> items = new ArrayList<>();
for (WarehouseAreasItem orderItem : asnOrderItems) {
@@ -175,11 +173,16 @@
.setIspectId(inspect.getId())
.setRcptQty(orderItem.getAnfme())
.setRcptId(orderItem.getId())
+ .setPlatItemId(orderItem.getPlatItemId())
+ .setPlatOrderCode(orderItem.getPlatOrderCode())
+ .setPlatWorkCode(orderItem.getPlatWorkCode())
+ .setProjectCode(orderItem.getProjectCode())
.setAnfme(0.0)
.setFieldsIndex(orderItem.getFieldsIndex())
.setSplrBatch(orderItem.getSplrBatch())
.setSplrName(orderItem.getSplrId$())
.setCreateBy(loginUserId)
+ .setUpdateBy(loginUserId)
.setDlyQty(orderItem.getAnfme());
items.add(isptItem);
}
@@ -203,12 +206,51 @@
if (Objects.isNull(qlyInspect.getAsnCode()) || StringUtils.isBlank(qlyInspect.getAsnCode())) {
throw new CoolException("鏀惰揣鍗曞彿涓嶈兘涓虹┖锛侊紒");
}
- AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, qlyInspect.getAsnCode()));
- if (Objects.isNull(asnOrder)) {
+ WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getId, qlyInspect.getAsnCode()));
+ if (Objects.isNull(wkOrder)) {
throw new CoolException("鏀惰揣鍗曚笉瀛樺湪锛侊紒");
}
- qlyInspect.setAsnCode(asnOrder.getCode()).setAsnId(asnOrder.getId());
+ qlyInspect.setAsnCode(wkOrder.getCode()).setAsnId(wkOrder.getId());
return this.save(qlyInspect);
}
+
+ /**
+ * @author Ryan
+ * @date 2025/5/14
+ * @description: 璐ㄦ瀹℃牳纭
+ * @version 1.0
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R verifyComplate(Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ QlyInspect inspect = this.getById(id);
+ if (Objects.isNull(inspect)) {
+ throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+ inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
+ if (!this.saveOrUpdate(inspect)) {
+ throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒");
+ }
+ List<QlyIsptItem> items = qlyIsptItemService.selectIsptResult(new LambdaQueryWrapper<QlyIsptItem>().eq(QlyIsptItem::getIspectId, inspect.getId()));
+ if (items.isEmpty()) {
+ throw new CoolException("璐ㄦ鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+
+ for (QlyIsptItem isptItem : items) {
+ if (isptItem.getSafeQty().compareTo(0.0) <= 0 && isptItem.getDisQty().compareTo(0.0) <= 0 ) {
+ continue;
+ }
+ WarehouseAreasItem item = warehouseAreasItemService.getById(isptItem.getRcptId());
+ if (Objects.isNull(item)) {
+ throw new CoolException("搴撳瓨鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+ qlyIsptItemService.confirmReceipt(isptItem, item);
+ }
+
+ return R.ok("瀹℃牳瀹屾垚锛侊紒");
+ }
}
--
Gitblit v1.9.1