| | |
| | | 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.google.common.collect.Lists; |
| | | import com.ruoyi.basic.dto.ProductDto; |
| | | import com.ruoyi.basic.dto.ProductModelDto; |
| | | import com.ruoyi.basic.dto.ProductModelExportDto; |
| | |
| | | import com.ruoyi.sales.pojo.SalesLedgerProduct; |
| | | import com.ruoyi.sales.service.ISalesLedgerProductService; |
| | | import com.ruoyi.sales.service.ISalesLedgerService; |
| | | import com.ruoyi.stock.pojo.StockInventory; |
| | | import com.ruoyi.stock.service.StockInventoryService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @RestController |
| | | @AllArgsConstructor |
| | |
| | | private IProductModelService productModelService; |
| | | @Autowired |
| | | private ISalesLedgerProductService salesLedgerProductService; |
| | | @Autowired |
| | | private StockInventoryService stockInventoryService; |
| | | |
| | | /** |
| | | * 查询产品 |
| | | */ |
| | |
| | | if (ids == null || ids.length == 0) { |
| | | return AjaxResult.error("请传入要删除的ID"); |
| | | } |
| | | List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids)); |
| | | // 检查是否有销售商品记录关联该产品 |
| | | LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(SalesLedgerProduct::getProductId, ids); |
| | | List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper); |
| | | if (salesLedgerProductList.size() > 0) { |
| | | return AjaxResult.error("该产品存在销售/采购记录,不能删除"); |
| | | if (!productModels.isEmpty()) { |
| | | LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList())); |
| | | List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper); |
| | | if (!salesLedgerProductList.isEmpty()) { |
| | | return AjaxResult.error("该产品存在销售/采购记录,不能删除"); |
| | | } |
| | | LambdaQueryWrapper<StockInventory> inventoryLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | inventoryLambdaQueryWrapper.in(StockInventory::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList())); |
| | | |
| | | List<StockInventory> list = stockInventoryService.list(inventoryLambdaQueryWrapper); |
| | | if (!list.isEmpty()) { |
| | | return AjaxResult.error("该产品存在库存记录,不能删除"); |
| | | } |
| | | productModelService.removeBatchByIds(productModels); |
| | | } |
| | | |
| | | return toAjax(productService.delProductByIds(ids)); |
| | | } |
| | | |