From 92d8d06d8ae38c407715a5e9389691b446413e0a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 27 三月 2026 10:06:09 +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