From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板
---
src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 116 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
index 8b07b9f..020a9cd 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
@@ -1,21 +1,136 @@
package com.ruoyi.basic.service.impl;
+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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.SupplierManageDto;
+import com.ruoyi.basic.excel.SupplierManageExcelDto;
import com.ruoyi.basic.mapper.SupplierManageMapper;
+import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.basic.service.ISupplierService;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
@Service
public class SupplierServiceImpl extends ServiceImpl<SupplierManageMapper,SupplierManage> implements ISupplierService {
@Autowired
private SupplierManageMapper supplierMapper;
+ @Autowired
+ private PurchaseLedgerMapper purchaseLedgerMapper;
+ /**
+ * 渚涘簲鍟嗘柊澧�
+ * @param supplierManage
+ * @return
+ */
@Override
public void saveSupplier(SupplierManage supplierManage) {
- int i = supplierMapper.selectAll();
+ LambdaQueryWrapper<SupplierManage> supplierManageLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ supplierManageLambdaQueryWrapper.eq(SupplierManage::getSupplierName,supplierManage.getSupplierName());
+ if (supplierMapper.selectCount(supplierManageLambdaQueryWrapper) > 0) {
+ throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪");
+ }
supplierMapper.insert(supplierManage);
}
+
+ /**
+ * 渚涘簲鍟嗗垹闄�
+ * @param ids
+ * @return
+ */
+ @Override
+ public int delSupplier(List<Integer> ids) {
+ List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(new QueryWrapper<PurchaseLedger>().lambda().in(PurchaseLedger::getSupplierId, ids));
+ if (purchaseLedgers.size() > 0) {
+ throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪閲囪喘鍚堝悓");
+ }
+ LambdaQueryWrapper<SupplierManage> delWrapper = new LambdaQueryWrapper<>();
+ delWrapper.in(SupplierManage::getId, ids);
+
+ return supplierMapper.delete(delWrapper);
+ }
+
+ /**
+ * 渚涘簲鍟嗚鎯�
+ * @param id
+ * @return
+ */
+ @Override
+ public SupplierManage supplierDetail(Integer id) {
+ return supplierMapper.selectById(id);
+ }
+
+ /**
+ * 渚涘簲鍟嗕慨鏀�
+ * @param supplierManage
+ * @return
+ */
+ @Override
+ public int supplierUpdate(SupplierManage supplierManage) {
+ return supplierMapper.updateById(supplierManage);
+ }
+
+ /**
+ * 渚涘簲鍟嗗垎椤垫煡璇�
+ * @param page
+ * @param supplierManageDto
+ * @return
+ */
+ @Override
+ public IPage<SupplierManage> supplierListPage(Page page, SupplierManageDto supplierManageDto) {
+ return supplierMapper.supplierListPage(page,supplierManageDto);
+ }
+
+ /**
+ * 渚涘簲鍟嗗鍑�
+ * @param response
+ * @param supplierManageDto
+ */
+ @Override
+ public void supplierExport(HttpServletResponse response, SupplierManageDto supplierManageDto) {
+ List<SupplierManageExcelDto> supplierManageList = supplierMapper.supplierExportList(supplierManageDto);
+ ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
+ util.exportExcel(response, supplierManageList, "渚涘簲鍟嗗鍑�");
+ }
+
+ @Override
+ public Boolean importData(MultipartFile file) {
+
+ try {
+ ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
+ List<SupplierManageExcelDto> list = util.importExcel(file.getInputStream());
+ ArrayList<SupplierManage> supplierManages = new ArrayList<>();
+ list.stream().forEach(dto -> {
+ SupplierManage supplierManage = new SupplierManage();
+ BeanUtils.copyProperties(dto,supplierManage);
+ supplierManage.setMaintainTime(LocalDate.now());
+ Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
+
+ supplierManage.setMaintainUserId(Integer.parseInt(userId+""));
+ supplierManages.add(supplierManage);
+ });
+
+ this.saveOrUpdateBatch(supplierManages);
+ return true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return false;
+ }
}
--
Gitblit v1.9.3