From d0b101c3cdbd9c9b1929232e768b5b8f72b6352a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 27 三月 2026 10:18:13 +0800
Subject: [PATCH] yys 1.生产逻辑修改

---
 src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index b93e14a..2a2b9eb 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,7 +1,10 @@
 package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.ProductAndModelDto;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductTreeDto;
 import com.ruoyi.basic.mapper.ProductMapper;
@@ -9,16 +12,21 @@
 import com.ruoyi.basic.pojo.Product;
 import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.basic.service.IProductService;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
 import lombok.AllArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @AllArgsConstructor
@@ -27,6 +35,8 @@
     private ProductMapper productMapper;
 
     private ProductModelMapper productModelMapper;
+
+    private final CommonFileServiceImpl commonFileService;
 
     @Override
     public List<ProductTreeDto> selectProductList(ProductDto productDto) {
@@ -52,6 +62,19 @@
         return tree;
     }
 
+    @Override
+    public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
+        return productModelMapper.listPageProductModel(page, productModel);
+    }
+
+    @Override
+    public AjaxResult listPage(Page page, ProductAndModelDto productDto) {
+        IPage<ProductAndModelDto> productAndModelDtoIPage = productModelMapper.listPage(page, productDto);
+        productAndModelDtoIPage.getRecords().forEach(item -> {
+            item.setSalesLedgerFiles(commonFileService.getFileListByBusinessId(item.getId(), FileNameType.PRODUCT_MODEL.getValue()));
+        });
+        return AjaxResult.success(productAndModelDtoIPage);
+    }
 
 
     // 閫掑綊鏋勫缓瀛愯妭鐐�
@@ -110,14 +133,24 @@
     @Override
     public int delProductByIds(Long[] ids) {
         // 1. 鍒犻櫎瀛愯〃 product_model 涓叧鑱旂殑鏁版嵁
-        LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(ProductModel::getProductId, ids);
-        productModelMapper.delete(queryWrapper);
+        for (Long id : ids) {
+            LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(ProductModel::getId, id);
+            List<ProductModel> productModels = productModelMapper.selectList(queryWrapper);
+            if(CollectionUtils.isNotEmpty(productModels)){
+                List<ProductModel> productList = productModelMapper.selectList(new LambdaQueryWrapper<ProductModel>()
+                        .eq(ProductModel::getProductId, productModels.get(0).getProductId()));
+                if(CollectionUtils.isNotEmpty(productList) && productList.size() == 1){
+                    // 褰撳彧鏈変竴鏉℃暟鎹椂鍒犻櫎浜у搧
+                    productMapper.deleteBatchIds(productModels.stream()
+                            .map(ProductModel::getProductId)
+                            .collect(Collectors.toList()));
+                }
+                return productModelMapper.deleteBatchIds(Arrays.asList(ids));
 
-        // 2. 鍒犻櫎涓昏〃 product 鏁版嵁
-        int deleteCount = productMapper.deleteBatchIds(Arrays.asList(ids));
-
-        return deleteCount;
+            }
+        }
+        return 1;
     }
 
 }

--
Gitblit v1.9.3