From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板

---
 src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 74 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
index 5c246bc..bec6aea 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
@@ -1,40 +1,98 @@
 package com.ruoyi.quality.service.impl;
 
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
 import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.quality.pojo.QualityTestStandard;
-import com.ruoyi.quality.service.IQualityInspectService;
+import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.pojo.QualityTestStandardBinding;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
 import com.ruoyi.quality.service.IQualityTestStandardService;
-import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
-import lombok.AllArgsConstructor;
-import org.springframework.security.core.parameters.P;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.quality.service.QualityTestStandardParamService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
-@AllArgsConstructor
+
+/**
+ * <p>
+ * 妫�娴嬫爣鍑嗕富琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 03:40:24
+ */
 @Service
-public class QualityTestStandardServiceImpl extends ServiceImpl<QualityTestStandardMapper, QualityTestStandard>  implements IQualityTestStandardService {
+public class QualityTestStandardServiceImpl extends ServiceImpl<QualityTestStandardMapper, QualityTestStandard> implements IQualityTestStandardService {
 
+    @Autowired
     private QualityTestStandardMapper qualityTestStandardMapper;
 
+    @Autowired
+    private QualityTestStandardParamMapper qualityTestStandardParamMapper;
+
+    @Autowired
+    private QualityTestStandardParamService qualityTestStandardParamService;
+
+    @Autowired
+    private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
+
+    @Autowired
+    private QualityInspectMapper qualityInspectMapper;
 
     @Override
     public IPage<QualityTestStandard> qualityTestStandardListPage(Page page, QualityTestStandard qualityTestStandard) {
-        return qualityTestStandardMapper.qualityTestStandardListPage(page,qualityTestStandard);
+        return qualityTestStandardMapper.qualityTestStandardListPage(page, qualityTestStandard);
     }
 
     @Override
-    public void qualityTestStandardListPageExport(HttpServletResponse response, QualityTestStandard qualityTestStandard) {
-        List<QualityTestStandard> qualityTestStandards =qualityTestStandardMapper.qualityTestStandardList(qualityTestStandard);
-        ExcelUtil<QualityTestStandard> util = new ExcelUtil<QualityTestStandard>(QualityTestStandard.class);
-        util.exportExcel(response, qualityTestStandards, "妫�娴嬫寚鏍囧鍑�");
+    public int copyParam(QualityTestStandard qualityTestStandard) {
+        //鍏堟煡璇㈣澶嶅埗鐨勬娴嬫爣鍑嗙殑璇︽儏鍙傛暟
+        List<QualityTestStandardParam> oldQualityTestStandardParams = qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.getId()));
+        QualityTestStandard testStandard = qualityTestStandardMapper.selectById(qualityTestStandard.getId());
+        testStandard.setId(null);
+        testStandard.setStandardNo(null);
+        qualityTestStandardMapper.insert(testStandard);
+        List<QualityTestStandardParam> newQualityTestStandardParams = oldQualityTestStandardParams.stream().map(oldQualityTestStandardParam -> {
+            oldQualityTestStandardParam.setTestStandardId(testStandard.getId());
+            oldQualityTestStandardParam.setId(null);
+            return oldQualityTestStandardParam;
+        }).collect(Collectors.toList());
+        qualityTestStandardParamService.saveBatch(newQualityTestStandardParams);
+        return 0;
     }
+
+    @Override
+    public List<QualityTestStandard> getQualityTestStandardByProductId(Long productId, Integer inspectType, String process) {
+        return qualityTestStandardMapper.getQualityTestStandardByProductId(productId, inspectType, process);
+    }
+
+    @Override
+    public int delQualityTestStandard(List<Integer> ids) {
+        //鍏堟煡璇㈣妫�娴嬫爣鍑嗘槸鍚︽湁琚紩鐢ㄥ鏋滆寮曠敤灏变笉鍏佽鍒犻櫎
+        List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(Wrappers.<QualityInspect>lambdaQuery().in(QualityInspect::getTestStandardId, ids));
+        if (qualityInspects.size() > 0) {
+            throw new RuntimeException("璇ユ娴嬫爣鍑嗘湁琚紩鐢ㄤ笉鍏佽鍒犻櫎");
+        }
+        return qualityTestStandardMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public List<QualityTestStandardParam> getParameterItemByProcessOrCategory(Long id, Integer inspectType) {
+        return qualityTestStandardParamMapper.selectParameterItemByProcessOrCategory(id, inspectType);
+    }
+
+
 }

--
Gitblit v1.9.3