From 1be8074de2176459ccea92115e4adb0704769104 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 16 三月 2026 16:43:40 +0800
Subject: [PATCH] 质量管理:提交原料后,不合格的生成不合格记录;合格则生成审批记录

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java              |    2 
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java           |    5 +
 src/main/java/com/ruoyi/quality/controller/RawMaterialController.java                 |    5 -
 src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java                              |    7 +
 src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java              |   82 +++++++++++++++++++-
 src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java                              |    4 +
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   69 ++++++++--------
 src/main/java/com/ruoyi/quality/pojo/RawMaterial.java                                 |    7 -
 src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java              |   10 ++
 src/main/java/com/ruoyi/quality/service/RawMaterialService.java                       |    2 
 doc/20260313_坤泰化工.sql                                                                 |    5 
 11 files changed, 146 insertions(+), 52 deletions(-)

diff --git "a/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql" "b/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
index 275e581..031af7d 100644
--- "a/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
+++ "b/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
@@ -25,5 +25,6 @@
     update_time             datetime null comment '鏇存柊鏃堕棿',
     unique idx_raw_material_id_quality_inspect_item_id (raw_material_id, quality_inspect_item_id)
 );
-alter table raw_material
-    add quantity decimal(18, 2) null;
\ No newline at end of file
+
+alter table approve_process
+    add approve_record_id bigint not null default 0;
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
index 7554ff4..ea2efaa 100644
--- a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
@@ -192,4 +192,14 @@
         ExcelUtil<ApproveProcess> util = new ExcelUtil<ApproveProcess>(ApproveProcess.class);
         util.exportExcel(response, accountExpenses, "鍗遍櫓浣滀笟瀹℃壒瀵煎嚭");
     }
+
+    @ApiOperation(value = "鍘熸枡瀹℃壒瀵煎嚭")
+    @PostMapping("/exportNine")
+    public void exportNine(HttpServletResponse response) {
+        List<ApproveProcess> accountExpenses = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
+                .eq(ApproveProcess::getApproveDelete, 0)
+                .eq(ApproveProcess::getApproveType, 9));
+        ExcelUtil<ApproveProcess> util = new ExcelUtil<ApproveProcess>(ApproveProcess.class);
+        util.exportExcel(response, accountExpenses, "鍘熸枡瀹℃壒瀵煎嚭");
+    }
 }
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
index 808199f..902d0a2 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -127,10 +127,15 @@
     private Long tenantId;
 
     /**
-     * 瀹℃壒绫诲瀷 1-鍏嚭绠$悊 2-璇峰亣绠$悊 3-鍑哄樊绠$悊 4-鎶ラ攢绠$悊 5-閲囪喘瀹℃壒 6-鎶ヤ环瀹℃壒 7-鍙戣揣瀹℃壒 8-鍗遍櫓浣滀笟瀹℃壒
+     * 瀹℃壒绫诲瀷 1-鍏嚭绠$悊 2-璇峰亣绠$悊 3-鍑哄樊绠$悊 4-鎶ラ攢绠$悊 5-閲囪喘瀹℃壒 6-鎶ヤ环瀹℃壒 7-鍙戣揣瀹℃壒 8-鍗遍櫓浣滀笟瀹℃壒 9-鍘熸枡瀹℃壒
      */
     private Integer approveType;
 
+    /**
+     * 瀹℃壒鍏宠仈璁板綍id
+     */
+    private Long approveRecordId;
+
     @TableField(exist = false)
     private String approveTypeName;
 
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 47c7264..c048e98 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -325,6 +325,8 @@
                 return "鍙戣揣瀹℃壒";
             case 8:
                 return "鍗遍櫓浣滀笟瀹℃壒";
+            case 9:
+                return "鍘熸枡瀹℃壒";
         }
         return null;
     }
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index a624661..2be01f0 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -115,6 +115,9 @@
         approveProcess.setApproveStatus(0);
         approveProcess.setApproveDelete(0);
         approveProcess.setApproveType(approveProcessVO.getApproveType());
+        if (approveProcessVO.getApproveRecordId() != null) {
+            approveProcess.setApproveRecordId(approveProcessVO.getApproveRecordId());
+        }
         approveProcess.setCreateTime(LocalDateTime.now());
         approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
         approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
@@ -441,6 +444,8 @@
                 return "鍙戣揣瀹℃壒";
             case 8:
                 return "鍗遍櫓浣滀笟瀹℃壒";
+            case 9:
+                return "鍘熸枡瀹℃壒";
         }
         return null;
     }
diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
index bf8edae..7a958c8 100644
--- a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
+++ b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
@@ -67,6 +67,10 @@
      * 瀹℃壒绫诲瀷
      */
     private Integer approveType;
+    /**
+     * 瀹℃壒鍏宠仈璁板綍id
+     */
+    private Long approveRecordId;
      /**
      * 璁惧鎶ヤ慨id
      */
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 31d9632..d811177 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -171,41 +171,40 @@
             /*鏂板璐ㄦ*/
             List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
             if (productProcessRouteItem.getIsQuality()) {
-                //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
-                int inspectType = 1;
-                String process = productProcess.getName();//宸ュ簭
-                if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
-                    //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
-                    inspectType = 2;
-                    process = null;
-                }
-                Product product = productMapper.selectById(productModel.getProductId());
-                QualityInspect qualityInspect = new QualityInspect();
-                qualityInspect.setProductId(product.getId());
-                qualityInspect.setProductName(product.getProductName());
-                qualityInspect.setModel(productModel.getModel());
-                qualityInspect.setUnit(productModel.getUnit());
-                qualityInspect.setQuantity(productQty);
-                qualityInspect.setProcess(process);
-                qualityInspect.setInspectState(0);
-                qualityInspect.setInspectType(inspectType);
-                qualityInspect.setProductMainId(productionProductMain.getId());
-                qualityInspect.setProductModelId(productModel.getId());
-                qualityInspectMapper.insert(qualityInspect);
-                List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
-                if (qualityTestStandard.size() > 0) {
-                    qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
-                    qualityInspectMapper.updateById(qualityInspect);
-                    qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
-                                    .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
-                            .forEach(qualityTestStandardParam -> {
-                                QualityInspectParam param = new QualityInspectParam();
-                                BeanUtils.copyProperties(qualityTestStandardParam, param);
-                                param.setId(null);
-                                param.setInspectId(qualityInspect.getId());
-                                qualityInspectParamMapper.insert(param);
-                            });
-                }
+//                int inspectType = 1;
+//                String process = productProcess.getName();//宸ュ簭
+//                if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
+//                    //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
+//                    inspectType = 2;
+//                    process = null;
+//                }
+//                Product product = productMapper.selectById(productModel.getProductId());
+//                QualityInspect qualityInspect = new QualityInspect();
+//                qualityInspect.setProductId(product.getId());
+//                qualityInspect.setProductName(product.getProductName());
+//                qualityInspect.setModel(productModel.getModel());
+//                qualityInspect.setUnit(productModel.getUnit());
+//                qualityInspect.setQuantity(productQty);
+//                qualityInspect.setProcess(process);
+//                qualityInspect.setInspectState(0);
+//                qualityInspect.setInspectType(inspectType);
+//                qualityInspect.setProductMainId(productionProductMain.getId());
+//                qualityInspect.setProductModelId(productModel.getId());
+//                qualityInspectMapper.insert(qualityInspect);
+//                List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
+//                if (qualityTestStandard.size() > 0) {
+//                    qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+//                    qualityInspectMapper.updateById(qualityInspect);
+//                    qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
+//                                    .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
+//                            .forEach(qualityTestStandardParam -> {
+//                                QualityInspectParam param = new QualityInspectParam();
+//                                BeanUtils.copyProperties(qualityTestStandardParam, param);
+//                                param.setId(null);
+//                                param.setInspectId(qualityInspect.getId());
+//                                qualityInspectParamMapper.insert(param);
+//                            });
+//                }
             }else {
                 //鐩存帴鍏ュ簱
                 stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
diff --git a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
index 92f13f1..5937ffb 100644
--- a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
+++ b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -59,10 +59,7 @@
      */
     @PatchMapping("/submit/{id}")
     public AjaxResult submit(@PathVariable Long id) {
-        RawMaterial rawMaterial = new RawMaterial();
-        rawMaterial.setId(id);
-        rawMaterial.setInspectState(RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode());
-        return AjaxResult.success(rawMaterialService.updateById(rawMaterial));
+        return AjaxResult.success(rawMaterialService.submit(id));
     }
 
     /**
diff --git a/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java b/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
index 098ca2a..df0c2d2 100644
--- a/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
+++ b/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
@@ -6,6 +6,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -44,10 +45,6 @@
     @Excel(name = "鎵规鍙�")
     private String batchNo;
 
-    @ApiModelProperty("鏁伴噺")
-    @Excel(name = "鏁伴噺")
-    private BigDecimal quantity;
-
     @ApiModelProperty("妫�楠岀粨鏋� 0鍚堟牸 1涓嶅悎鏍�")
     @Excel(name = "妫�楠岀粨鏋�", readConverterExp = "0=鍚堟牸,1=涓嶅悎鏍�")
     private Integer checkResult;
@@ -63,7 +60,7 @@
     @ApiModelProperty("妫�楠屾棩鏈�")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "妫�娴嬫棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
-    private LocalDate checkTime;
+    private Date checkTime;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/quality/service/RawMaterialService.java b/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
index d032c3c..2b0ce8b 100644
--- a/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
+++ b/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
@@ -21,6 +21,8 @@
 
     RawMaterialDto detail(Long id);
 
+    boolean submit(Long id);
+
     boolean add(RawMaterialDto rawMaterialDto);
 
     boolean update(RawMaterialDto rawMaterialDto);
diff --git a/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
index 035648f..d3ce5cd 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
@@ -2,10 +2,13 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+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.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
+import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.basic.mapper.ProductMapper;
 import com.ruoyi.basic.mapper.ProductModelMapper;
 import com.ruoyi.basic.pojo.Product;
@@ -14,21 +17,22 @@
 import com.ruoyi.common.enums.RawMaterialCheckType;
 import com.ruoyi.common.enums.RawMaterialInspectState;
 import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.inspectiontask.mapper.QualityInspectItemMapper;
 import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
 import com.ruoyi.quality.dto.RawMaterialDto;
 import com.ruoyi.quality.dto.RawMaterialQualityInspectItemDto;
+import com.ruoyi.quality.mapper.QualityUnqualifiedMapper;
 import com.ruoyi.quality.mapper.RawMaterialMapper;
-import com.ruoyi.quality.pojo.QualityInspect;
-import com.ruoyi.quality.pojo.QualityInspectParam;
-import com.ruoyi.quality.pojo.RawMaterial;
-import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem;
+import com.ruoyi.quality.pojo.*;
 import com.ruoyi.quality.service.RawMaterialQualityInspectItemService;
 import com.ruoyi.quality.service.RawMaterialService;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -36,13 +40,14 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
@@ -60,6 +65,11 @@
     private ProductModelMapper productModelMapper;
 
     private ProductMapper productMapper;
+
+    private QualityUnqualifiedMapper qualityUnqualifiedMapper;
+
+    @Autowired
+    private  ApproveProcessServiceImpl approveProcessService;
 
     @Override
     public IPage<RawMaterialDto> listPage(Page page, RawMaterialDto rawMaterialDto) {
@@ -93,6 +103,9 @@
     public RawMaterialDto detail(Long id) {
         RawMaterial rawMaterial = rawMaterialMapper.selectById(id);
         RawMaterialDto rawMaterialDto = new RawMaterialDto();
+        if (rawMaterial == null) {
+            return rawMaterialDto;
+        }
         BeanUtils.copyBeanProp(rawMaterialDto, rawMaterial);
         // 鑾峰彇妫�娴嬮」鍏宠仈鍏崇郴
         List<RawMaterialQualityInspectItem> rawQualityList = rawMaterialQualityInspectItemService.list(new LambdaQueryWrapper<RawMaterialQualityInspectItem>()
@@ -113,13 +126,72 @@
 
         // 鏌ヨ浜у搧id
         ProductModel productModel = productModelMapper.selectById(rawMaterialDto.getProductModelId());
+        Product product = productMapper.selectById(productModel.getProductId());
         rawMaterialDto.setProductId(productModel.getProductId());
+        rawMaterialDto.setProductName(product.getProductName());
+        rawMaterialDto.setModel(productModel.getModel());
         rawMaterialDto.setUnit(productModel.getUnit());
+        rawMaterialDto.setCheckResultText(RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()) == null ? "" : RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()).getValue());
+        rawMaterialDto.setCheckTypeText(RawMaterialCheckType.fromValue(rawMaterial.getCheckType()) == null ? "" : RawMaterialCheckType.fromValue(rawMaterial.getCheckType()).getValue());
         return rawMaterialDto;
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public boolean submit(Long id) {
+        RawMaterial rawMaterial = rawMaterialMapper.selectById(id);
+        if (rawMaterial.getCheckResult() == null) {
+            throw new RuntimeException("璇峰厛鍒ゆ柇鏄惁鍚堟牸");
+        }
+
+        // 涓嶅悎鏍硷細鐢熸垚涓嶅悎鏍艰褰�
+        if (rawMaterial.getCheckResult().equals(RawMaterialCheckResult.RawMaterialCheckResultUnqualified.getCode())) {
+            QualityUnqualified qualityUnqualified = new QualityUnqualified();
+            qualityUnqualified.setInspectId(rawMaterial.getId());//妫�楠宨d
+            qualityUnqualified.setInspectType(rawMaterial.getCheckType());//妫�楠岀被鍨�
+            qualityUnqualified.setInspectState(0);//寰呭鐞�
+            qualityUnqualified.setCheckName(rawMaterial.getCheckUserName());//妫�楠屽憳鍚嶇О
+            qualityUnqualified.setCheckTime(rawMaterial.getCheckTime());//妫�楠屾棩鏈�
+            ProductModel productModel = productModelMapper.selectById(rawMaterial.getProductModelId());
+            Product product = productMapper.selectById(productModel.getProductId());
+            qualityUnqualified.setProductId(productModel.getProductId());//浜у搧id
+            qualityUnqualified.setProductName(product.getProductName());//浜у搧鍚嶇О
+            qualityUnqualified.setModel(productModel.getModel());//瑙勬牸鍨嬪彿
+            qualityUnqualified.setUnit(productModel.getUnit());//鍗曚綅
+            List<RawMaterialQualityInspectItem> inspectParams = rawMaterialQualityInspectItemService.list(Wrappers.<RawMaterialQualityInspectItem>lambdaQuery().eq(RawMaterialQualityInspectItem::getRawMaterialId, rawMaterial.getId()));
+            // 鑾峰彇鍏宠仈鐨凲ualityInspectItem椤圭洰鍚�
+            String text = inspectParams.stream().map(item -> {
+                QualityInspectItem qualityInspectItem = qualityInspectItemMapper.selectById(item.getQualityInspectItemId());
+                return qualityInspectItem != null ? qualityInspectItem.getName() : "";
+            }).collect(Collectors.joining(","));
+            qualityUnqualified.setDefectivePhenomena(text + "杩欎簺椤圭洰涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
+            qualityUnqualifiedMapper.insert(qualityUnqualified);
+        } else {
+            //鍚堟牸: 浜х敓鍘熸枡瀹℃牳璁板綍
+            LoginUser loginUser = SecurityUtils.getLoginUser();
+            ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+            approveProcessVO.setApproveType(9);
+            approveProcessVO.setApproveRecordId(rawMaterial.getId());
+            approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
+            approveProcessVO.setApproveReason( "鍘熸枡瀹℃牳鎵瑰彿锛�"+rawMaterial.getBatchNo());
+            Long adminUserId = 1L; // todo 鍋囪绗竴涓鐞嗗憳鐨処D涓�1
+            approveProcessVO.setApproveUserIds(String.valueOf(adminUserId));
+            approveProcessVO.setApproveUser(loginUser.getUserId());
+            approveProcessVO.setApproveTime(LocalDate.now().toString());
+            try {
+                approveProcessService.addApprove(approveProcessVO);
+            }catch (Exception e){
+                log.error("RawMaterialServiceImpl error:{}", e);
+                throw new RuntimeException("瀹℃壒澶辫触");
+            }
+        }
+
+        rawMaterial.setInspectState(RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode());
+        return rawMaterialMapper.updateById(rawMaterial) > 0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean add(RawMaterialDto rawMaterialDto) {
         rawMaterialDto.setInspectState(RawMaterialInspectState.RawMaterialInspectStateUnsubmitted.getCode());
         // 鏂板鍘熸枡

--
Gitblit v1.9.3