From 4bcd26a4975d6722bff65690e7a8331cd0afd520 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 31 三月 2026 17:46:19 +0800
Subject: [PATCH] yys 1.销售,采购台账产品反着来 2.产品图纸带到生产订单来

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
index 49765c0..931f343 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
@@ -1,15 +1,24 @@
 package com.ruoyi.production.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.dto.ProductionProductInputDto;
+import com.ruoyi.production.mapper.ProductStructureRecordMapper;
 import com.ruoyi.production.mapper.ProductionProductInputMapper;
+import com.ruoyi.production.pojo.ProductStructureRecord;
 import com.ruoyi.production.pojo.ProductionProductInput;
 import com.ruoyi.production.service.ProductionProductInputService;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
 
 @Service
 @AllArgsConstructor
@@ -17,8 +26,37 @@
     @Autowired
     private ProductionProductInputMapper productionProductInputMapper;
 
+    @Autowired
+    private StockUtils stockUtils;
+
+    @Autowired
+    private ProductStructureRecordMapper productStructureRecordMapper;
+
     @Override
     public IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, ProductionProductInputDto productionProductInputDto) {
         return productionProductInputMapper.listPageProductionProductInputDto(page, productionProductInputDto);
     }
+
+    @Override
+    public Object returnMaterial(List<ProductionProductInput> productionProductInput) {
+        if(CollectionUtils.isEmpty(productionProductInput)){
+            return "璇烽�夋嫨瑕侀��鏂欑殑鏁版嵁";
+        }
+        for (ProductionProductInput input : productionProductInput) {
+            ProductionProductInput productionProductInput1 = productionProductInputMapper.selectById(input.getId());
+            BigDecimal qty = input.getReturnQuantity() == null ? BigDecimal.ZERO : input.getReturnQuantity();
+            BigDecimal qty1 = productionProductInput1.getReturnQuantity() == null ? BigDecimal.ZERO : productionProductInput1.getReturnQuantity();
+            productionProductInput1.setReturnQuantity(qty.add(qty1));
+            productionProductInputMapper.updateById(productionProductInput1);
+            // 閫�鏂欏叆搴�
+            stockUtils.addStock(input.getProductModelId(), input.getReturnQuantity(), StockInQualifiedRecordTypeEnum.RETURN_MATERIAL_IN.getCode(), input.getId());
+            // 澧炲姞鐗╂枡娓呭崟
+            ProductStructureRecord productStructureRecord = productStructureRecordMapper.selectById(input.getProductStructureRecordId());
+            if(productStructureRecord != null){
+                productStructureRecord.setCompletedQuantity(productStructureRecord.getCompletedQuantity().subtract(qty));
+                productStructureRecordMapper.updateById(productStructureRecord);
+            }
+        }
+        return "閫�鏂欐垚鍔�";
+    }
 }

--
Gitblit v1.9.3