From 9909b15c6d0435bee3b2a92115762f2c046d238f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 27 三月 2026 17:57:43 +0800
Subject: [PATCH] yys 1.删除报工记录bug

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |  237 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 157 insertions(+), 80 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 6f71f6b..f8408e2 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,8 +12,10 @@
 import com.ruoyi.basic.mapper.ProductModelMapper;
 import com.ruoyi.basic.pojo.Product;
 import com.ruoyi.basic.pojo.ProductModel;
-import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.dto.ProductStructureDto;
@@ -24,15 +27,18 @@
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.quality.mapper.*;
 import com.ruoyi.quality.pojo.*;
+import com.ruoyi.quality.service.IQualityInspectService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import com.ruoyi.production.mapper.ProductionProductMainMapper;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -41,6 +47,7 @@
 @Transactional(rollbackFor = Exception.class)
 public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
 
+    private IQualityInspectService qualityInspectService;
     private ProductionProductMainMapper productionProductMainMapper;
 
 
@@ -92,6 +99,30 @@
         if (productProcessRouteItem == null) {
             throw new RuntimeException("宸ヨ壓璺嚎椤逛笉瀛樺湪");
         }
+        // 鑾峰彇璁㈠崟鐨勫伐鍗�
+        List<ProductWorkOrder> productWorkOrderList = productWorkOrderMapper.selectList(Wrappers.<ProductWorkOrder>lambdaQuery()
+                .eq(ProductWorkOrder::getProductOrderId, productProcessRouteItem.getProductOrderId()));
+        // 鑾峰彇瀹屾垚鏁伴噺
+        BigDecimal completeQuantity = productWorkOrderList
+                .stream()
+                .filter(item -> item.getStatus() == 3)
+                .map(ProductWorkOrder::getCompleteQuantity)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        // 鑾峰彇鎵�鏈夋暟閲�
+        BigDecimal totalQuantity = productWorkOrderList
+                .stream()
+                .map(ProductWorkOrder::getPlanQuantity)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        // 鑾峰彇鏈畬鎴愭暟閲�
+        BigDecimal unCompleteQuantity = totalQuantity.subtract(completeQuantity);
+        if (unCompleteQuantity.compareTo(BigDecimal.ZERO) <= 0) {
+            throw new ServiceException("璇ュ伐鍗曞凡鍏ㄩ儴瀹屾垚");
+        }
+        // 璁$畻姣斾緥
+        BigDecimal ratio = unCompleteQuantity.divide(totalQuantity, 2, RoundingMode.HALF_UP);
+        if(CollectionUtils.isEmpty(productWorkOrderList)){
+            productWorkOrderList = new ArrayList<>();
+        }
         //褰撳墠鍏蜂綋宸ュ簭
         ProductProcess productProcess = productProcessMapper.selectById(productProcessRouteItem.getProcessId());
         //宸ヨ壓璺嚎涓綋鍓嶅伐搴忓搴旂殑浜у嚭瑙勬牸鍨嬪彿
@@ -132,25 +163,25 @@
         productionProductMain.setWorkOrderId(dto.getWorkOrderId());
         productionProductMain.setStatus(0);
         productionProductMainMapper.insert(productionProductMain);
-        /*鏂板鎶ュ伐鎶曞叆琛�*/
-        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
-        if (productStructureDtos.size() == 0) {
-            //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
-            ProductStructureDto productStructureDto = new ProductStructureDto();
-            productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
-            productStructureDto.setUnitQuantity(BigDecimal.ONE);
-            productStructureDtos.add(productStructureDto);
-        }
-        for (ProductStructureDto productStructureDto : productStructureDtos) {
-
-            ProductionProductInput productionProductInput = new ProductionProductInput();
-            productionProductInput.setProductModelId(productStructureDto.getProductModelId());
-            productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
-            productionProductInput.setProductMainId(productionProductMain.getId());
-            productionProductInputMapper.insert(productionProductInput);
-            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
-
-        }
+        /*鏂板鎶ュ伐鎶曞叆琛紙閫昏緫鏀逛负鎵嬪姩棰嗘枡锛�*/
+//        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcess.getId());
+//        if (productStructureDtos.size() == 0) {
+//            //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
+//            ProductStructureDto productStructureDto = new ProductStructureDto();
+//            productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
+//            productStructureDto.setUnitQuantity(BigDecimal.ONE);
+//            productStructureDtos.add(productStructureDto);
+//        }
+//        for (ProductStructureDto productStructureDto : productStructureDtos) {
+//
+//            ProductionProductInput productionProductInput = new ProductionProductInput();
+//            productionProductInput.setProductModelId(productStructureDto.getProductModelId());
+//            productionProductInput.setQuantity(dto.getQuantity());
+//            productionProductInput.setProductMainId(productionProductMain.getId());
+//            productionProductInputMapper.insert(productionProductInput);
+//            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
+//
+//        }
         /*鏂板鎶ュ伐浜у嚭琛�*/
         ProductionProductOutput productionProductOutput = new ProductionProductOutput();
         productionProductOutput.setProductMainId(productionProductMain.getId());
@@ -161,73 +192,83 @@
         //鍚堟牸鏁伴噺=鎶ュ伐鏁伴噺-鎶ュ簾鏁伴噺
         BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty());
         //鍙湁鍚堟牸鏁伴噺>0鎵嶈兘澧炲姞鐩稿簲鏁版嵁
-        if (productQty.compareTo(BigDecimal.ZERO)>0) {
+        if (productQty.compareTo(BigDecimal.ZERO) > 0) {
             /*鏂板璐ㄦ*/
-            //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
             List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
-            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);
-                        });
+            if (productProcessRouteItem.getIsQuality()) {
+                //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
+                int inspectType = 1;
+                String process = productProcess.getName();//宸ュ簭
+                if (productWorkOrderList.size() == productProcessRouteItems.size() - 1) {
+                    //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
+                    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());
             }
             /*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
             ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
             productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().add(productQty));
             if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) {
                 productWorkOrder.setActualStartTime(LocalDate.now());//瀹為檯寮�濮嬫椂闂�
+                productWorkOrder.setStatus(2);
             }
             if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) == 0) {
                 productWorkOrder.setActualEndTime(LocalDate.now());//瀹為檯缁撴潫鏃堕棿
+                productWorkOrder.setStatus(3);
             }
             productWorkOrderMapper.updateById(productWorkOrder);
             //鐢熶骇璁㈠崟
             ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
             if (ObjectUtils.isNull(productOrder.getStartTime())) {
                 productOrder.setStartTime(LocalDateTime.now());//寮�濮嬫椂闂�
+                productOrder.setStatus("鐢熶骇涓�");
             }
-            if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
+            // 閫氳繃姣斾緥璁$畻瀹屾垚鏁伴噺
+            productOrder.setCompleteQuantity(productOrder.getQuantity().multiply(ratio));
+            if (productWorkOrderList.size() == productProcessRouteItems.size() - 1) {
                 //濡傛灉鏄渶鍚庝竴閬撳伐搴忔姤宸ヤ箣鍚庣敓浜ц鍗曞畬鎴愭暟閲�+
-                productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().add(productQty));
+                productOrder.setCompleteQuantity(productOrder.getQuantity());
                 if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) == 0) {
                     productOrder.setEndTime(LocalDateTime.now());//缁撴潫鏃堕棿
+                    productOrder.setStatus("宸插畬鎴�");
+                    // 鐢熶骇瀹屾垚鍏ュ簱
+                    stockUtils.addStock(productProcessRouteItem.getProductModelId(), productOrder.getCompleteQuantity(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
                 }
             }
             productOrderMapper.updateById(productOrder);
             /*娣诲姞鐢熶骇鏍哥畻*/
             SalesLedgerProductionAccounting salesLedgerProductionAccounting = SalesLedgerProductionAccounting.builder()
-                    .salesLedgerWorkId(productionProductMain.getId())
-                    .salesLedgerSchedulingId(0L)
-                    .salesLedgerId(productOrder.getSalesLedgerId())
-                    .salesLedgerProductId(productOrder.getSaleLedgerProductId())
+                    .productMainId(productionProductMain.getId())
                     .schedulingUserId(user.getUserId())
                     .schedulingUserName(user.getNickName())
                     .finishedNum(productQty)
@@ -239,37 +280,64 @@
             salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
         }
         //濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
-        if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
-            stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
-        }
+//        if (ObjectUtils.isNotEmpty(dto.getScrapQty())) {
+//            if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
+//                stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+//            }
+//        }
         return true;
     }
 
     @Override
-    public Boolean removeProductMain(ProductionProductMainDto dto) {
-        ProductionProductMain productionProductMain = productionProductMainMapper.selectById(dto.getId());
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean removeProductMain(Long id) {
+        ProductionProductMain productionProductMain = productionProductMainMapper.selectById(id);
         //璇ユ姤宸ュ搴旂殑宸ヨ壓璺嚎璇︽儏
         ProductProcessRouteItem productProcessRouteItem = productProcessRouteItemMapper.selectById(productionProductMain.getProductProcessRouteItemId());
         ProductionProductOutput productionProductOutput = productionProductOutputMapper.selectList(Wrappers.<ProductionProductOutput>lambdaQuery().eq(ProductionProductOutput::getProductMainId, productionProductMain.getId())).get(0);
         /*鍒犻櫎鏍哥畻*/
         salesLedgerProductionAccountingMapper.delete(
                 new LambdaQueryWrapper<SalesLedgerProductionAccounting>()
-                        .eq(SalesLedgerProductionAccounting::getSalesLedgerWorkId, productionProductMain.getId())
+                        .eq(SalesLedgerProductionAccounting::getProductMainId, productionProductMain.getId())
         );
         /*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
         ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
-        productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().subtract(productionProductOutput.getQuantity()));
-        productWorkOrder.setActualEndTime(null);
-        productWorkOrderMapper.updateById(productWorkOrder);
+        if (productWorkOrder != null && productionProductOutput != null) {
+            BigDecimal outputQty = productionProductOutput.getQuantity() == null ? BigDecimal.ZERO : productionProductOutput.getQuantity();
+            BigDecimal scrapQty = productionProductOutput.getScrapQty() == null ? BigDecimal.ZERO : productionProductOutput.getScrapQty();
+            BigDecimal completeQty = productWorkOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productWorkOrder.getCompleteQuantity();
+
+            BigDecimal validQuantity = outputQty.subtract(scrapQty);
+            productWorkOrder.setStatus(2);
+            productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity));
+            productWorkOrder.setActualEndTime(null);
+            productWorkOrderMapper.updateById(productWorkOrder);
+        } else {
+            throw new ServiceException("鎿嶄綔澶辫触锛氬伐鍗曚俊鎭垨浜у嚭璁板綍涓嶅瓨鍦�");
+        }
+
         //鍒ゆ柇鏄惁鏄渶鍚庝竴閬撳伐搴�
         List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
-        if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()){
+        if (productProcessRouteItem.getDragSort() != null && productProcessRouteItems != null && productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
             ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
-            productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().subtract(productionProductOutput.getQuantity()));
-            productOrder.setEndTime(null);
-            productOrderMapper.updateById(productOrder);
+            if (productOrder != null) {
+                BigDecimal orderCompleteQty = productOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productOrder.getCompleteQuantity();
+                BigDecimal totalQty = productionProductOutput.getQuantity() != null ? productionProductOutput.getQuantity() : BigDecimal.ZERO;
+                BigDecimal scrapQty = productionProductOutput.getScrapQty() != null ? productionProductOutput.getScrapQty() : BigDecimal.ZERO;
+
+                BigDecimal actualQualifiedQty = totalQty.subtract(scrapQty);
+
+                BigDecimal newCompleteQty = orderCompleteQty.subtract(actualQualifiedQty);
+
+                productOrder.setCompleteQuantity(newCompleteQty.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : newCompleteQty);
+
+                productOrder.setEndTime(null);
+                productOrder.setStatus("鐢熶骇涓�");
+                productOrderMapper.updateById(productOrder);
+            } else {
+                throw new ServiceException("鍏宠仈鐨勭敓浜ц鍗曚笉瀛樺湪");
+            }
         }
-        /*鍒犻櫎浜у嚭*/
         //鍒犻櫎璐ㄦ
         qualityInspectMapper.selectList(
                 new LambdaQueryWrapper<QualityInspect>()
@@ -279,19 +347,28 @@
                     new LambdaQueryWrapper<QualityInspectParam>()
                             .eq(QualityInspectParam::getInspectId, q.getId()));
             qualityInspectMapper.deleteById(q.getId());
+                stockUtils.deleteStockInRecord(q.getId(), StockInQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode());
         });
+
         // 鍒犻櫎浜у嚭璁板綍
         productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
                 .eq(ProductionProductOutput::getProductMainId, productionProductMain.getId()));
         //鍒犻櫎鎶曞叆璁板綍
-        productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
-                .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
+//        productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
+//                .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
         //鍒犻櫎鎶ュ簾鐨勫叆搴撹褰�
-        stockUtils.deleteStockInRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+        stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+        //鍒犻櫎涓嶉渶瑕佽川妫�鐨勫悎鏍煎叆搴�
+        stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode());
         //鍒犻櫎鎶曞叆瀵瑰簲鐨勫嚭搴撹褰�
-        stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
+        stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
         // 鍒犻櫎涓昏〃
         productionProductMainMapper.deleteById(productionProductMain.getId());
         return true;
     }
+
+    @Override
+    public ArrayList<Long> listMain(List<Long> idList) {
+        return productionProductMainMapper.listMain(idList);
+    }
 }

--
Gitblit v1.9.3