From 4bb325d96182b7598e5ec15fd106d8ecd337e573 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 28 八月 2026 23:08:02 +0800
Subject: [PATCH] fix(quality): 中间工序报工质检都不入库
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 63069a7..9c4c722 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -360,7 +360,8 @@
qualityInspectParamMapper.insert(param);
});
}
- } else {
+ } else if(isLastOperation){
+ //(鏈�鍚庝竴閬撳伐搴忔墠鍏ュ簱)
StockInventoryDto stockInventoryDto = new StockInventoryDto();
stockInventoryDto.setRecordId(productionProductMain.getId());
stockInventoryDto.setRecordType(String.valueOf(StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode()));
@@ -459,10 +460,28 @@
formConfig.put("summaryPlaceholder", "鎶ュ伐瀹℃壒");
formConfig.put("approvalType", "production_report");
+ ProductionOperationTask task = productionOperationTaskMapper.selectById(productionProductMain.getProductionOperationTaskId());
+ ProductionProductOutput output = productionProductOutputMapper.selectOne(
+ Wrappers.<ProductionProductOutput>lambdaQuery()
+ .eq(ProductionProductOutput::getProductionProductMainId, productionProductMain.getId())
+ .last("limit 1"));
+ BigDecimal schedulingNum = task == null ? BigDecimal.ZERO : defaultDecimal(task.getPlanQuantity());
+ BigDecimal finishedNum = output == null ? BigDecimal.ZERO : defaultDecimal(output.getQuantity());
+ BigDecimal scrapQty = output == null ? BigDecimal.ZERO : defaultDecimal(output.getScrapQty());
+ BigDecimal pendingNum = schedulingNum.subtract(finishedNum);
+ if (pendingNum.compareTo(BigDecimal.ZERO) < 0) {
+ pendingNum = BigDecimal.ZERO;
+ }
+
List<Map<String, Object>> fields = new ArrayList<>();
fields.add(buildReportField("productNo", "鎶ュ伐鍗曞彿", "text", productionProductMain.getProductNo()));
fields.add(buildReportField("userName", "鎶ュ伐浜哄憳", "text", productionProductMain.getUserName()));
+ fields.add(buildReportField("teamInfo", "鐝粍淇℃伅", "text", productionProductMain.getUserName()));
fields.add(buildReportField("workOrderNo", "宸ュ崟缂栧彿", "text", resolveWorkOrderNo(productionProductMain.getProductionOperationTaskId())));
+ fields.add(buildReportField("schedulingNum", "鎺掍骇鏁伴噺", "number", schedulingNum));
+ fields.add(buildReportField("pendingNum", "寰呯敓浜ф暟閲�", "number", pendingNum));
+ fields.add(buildReportField("finishedNum", "鐢熶骇鍚堟牸鏁伴噺", "number", finishedNum));
+ fields.add(buildReportField("scrapQty", "鎶ュ簾鏁伴噺", "number", scrapQty));
fields.add(buildReportField("reportType", "鎶ュ伐缁撴灉", "select", resolveReportTypeLabel(productionProductMain.getReportType())));
fields.add(buildReportField("workHour", "宸ユ椂", "number", productionProductMain.getWorkHour()));
fields.add(buildReportField("auditStatus", "瀹℃牳鐘舵��", "select", resolveAuditStatusLabel(productionProductMain.getAuditStatus())));
@@ -472,7 +491,12 @@
Map<String, Object> formPayload = new LinkedHashMap<>();
formPayload.put("productNo", productionProductMain.getProductNo());
formPayload.put("userName", productionProductMain.getUserName());
+ formPayload.put("teamInfo", productionProductMain.getUserName());
formPayload.put("workOrderNo", resolveWorkOrderNo(productionProductMain.getProductionOperationTaskId()));
+ formPayload.put("schedulingNum", schedulingNum);
+ formPayload.put("pendingNum", pendingNum);
+ formPayload.put("finishedNum", finishedNum);
+ formPayload.put("scrapQty", scrapQty);
formPayload.put("reportType", resolveReportTypeLabel(productionProductMain.getReportType()));
formPayload.put("workHour", productionProductMain.getWorkHour());
formPayload.put("auditStatus", resolveAuditStatusLabel(productionProductMain.getAuditStatus()));
@@ -811,13 +835,14 @@
&& productionProductMain.getAuditStatus() != null
&& productionProductMain.getAuditStatus() == 1
&& productionProductMain.getReportType() != null
- && productionProductMain.getReportType() == 0;
+ && (productionProductMain.getReportType() == 0 || productionProductMain.getReportType() == 1);
}
private boolean isExcludedFromWage(ProductionProductMain productionProductMain) {
return productionProductMain != null
&& productionProductMain.getReportType() != null
- && productionProductMain.getReportType() != 0;
+ && productionProductMain.getReportType() != 0
+ && productionProductMain.getReportType() != 1;
}
@Override
--
Gitblit v1.9.3