From 2cf52f66f3e7ffd415dbf49eb74aed441871f3a4 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 23 一月 2026 17:52:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
index d519593..06d4d09 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
@@ -1,19 +1,23 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.basic.service.IProductModelService;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductBomDto;
-import com.ruoyi.production.dto.ProductProcessDto;
-import com.ruoyi.production.pojo.ProductBom;
import com.ruoyi.production.mapper.ProductBomMapper;
-import com.ruoyi.production.pojo.ProductProcess;
+import com.ruoyi.production.mapper.ProductStructureMapper;
+import com.ruoyi.production.pojo.ProductBom;
+import com.ruoyi.production.pojo.ProductStructure;
import com.ruoyi.production.service.ProductBomService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
/**
* <p>
@@ -29,12 +33,19 @@
@Autowired
private ProductBomMapper productBomMapper;
+ @Autowired
+ private IProductModelService productModelService;
+
+ @Autowired
+ private ProductStructureMapper productStructureMapper;
+
@Override
public IPage<ProductBomDto> listPage(Page page, ProductBomDto productBomDto) {
- return productBomMapper.listPage(page,productBomDto);
+ return productBomMapper.listPage(page, productBomDto);
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public AjaxResult add(ProductBom productBom) {
boolean save = productBomMapper.insert(productBom) > 0;
if (save) {
@@ -42,6 +53,26 @@
String no = "BM." + String.format("%05d", productBom.getId());
productBom.setBomNo(no);
productBomMapper.updateById(productBom);
+
+ // 鏌ヨ鍑轰骇鍝佹ā鍨嬩俊鎭�
+ if (productBom.getProductModelId() == null) {
+ throw new ServiceException("璇烽�夋嫨浜у搧妯″瀷");
+ }
+
+ ProductModel productModel = productModelService.getById(productBom.getProductModelId());
+ if (productModel == null) {
+ throw new ServiceException("閫夋嫨鐨勪骇鍝佹ā鍨嬩笉瀛樺湪");
+ }
+
+ // 娣诲姞鍒濆鐨勪骇鍝佺粨鏋�
+ ProductStructure productStructure = new ProductStructure();
+ productStructure.setProductModelId(productBom.getProductModelId());
+ productStructure.setUnit(productModel.getUnit());
+ productStructure.setUnitQuantity(BigDecimal.valueOf(1));
+ productStructure.setBomId(Long.valueOf(productBom.getId()));
+
+ productStructureMapper.insert(productStructure);
+
return AjaxResult.success();
}
return AjaxResult.error();
--
Gitblit v1.9.3