feat(wms): 继承BaseEntity并优化BOM默认属性创建逻辑

- WmsMaterialCoilVo类继承BaseEntity以支持基础字段
- 合并产品和原料的厚度、宽度为规格字段
- 调整默认BOM属性创建方法中的字段组合方式
- 清理冗余空行,优化代码结构可读性
This commit is contained in:
2025-10-31 11:30:30 +08:00
parent 70cb16618c
commit 4f0a246f0f
3 changed files with 18 additions and 21 deletions

View File

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert; import com.klp.common.convert.ExcelDictConvert;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@@ -17,7 +18,7 @@ import java.util.List;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class WmsMaterialCoilVo { public class WmsMaterialCoilVo extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -101,10 +101,10 @@ public class WmsProductServiceImpl implements IWmsProductService {
bomBo.setBomName("产品BOM" + System.currentTimeMillis()); bomBo.setBomName("产品BOM" + System.currentTimeMillis());
bomBo.setIsEnabled(1); bomBo.setIsEnabled(1);
bomBo.setRemark("产品创建时自动生成的BOM"); bomBo.setRemark("产品创建时自动生成的BOM");
WmsBomBo savedBom = wmsBomService.insertByBo(bomBo); WmsBomBo savedBom = wmsBomService.insertByBo(bomBo);
Long bomId = savedBom.getBomId(); Long bomId = savedBom.getBomId();
// 2. 创建产品并关联BOM // 2. 创建产品并关联BOM
WmsProduct add = BeanUtil.toBean(bo, WmsProduct.class); WmsProduct add = BeanUtil.toBean(bo, WmsProduct.class);
add.setBomId(bomId); add.setBomId(bomId);
@@ -112,37 +112,35 @@ public class WmsProductServiceImpl implements IWmsProductService {
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setProductId(add.getProductId()); bo.setProductId(add.getProductId());
// 3. 创建默认的BOM明细项根据截图的默认属性 // 3. 创建默认的BOM明细项根据截图的默认属性
createDefaultBomItems(bomId, "产品"); createDefaultBomItems(bomId, "产品");
} }
return flag; return flag;
} }
/** /**
* 创建默认的BOM明细项 * 创建默认的BOM明细项
*/ */
private void createDefaultBomItems(Long bomId, String type) { private void createDefaultBomItems(Long bomId, String type) {
List<String[]> defaultAttrs; List<String[]> defaultAttrs;
if ("产品".equals(type)) { if ("产品".equals(type)) {
// 产品默认属性(根据截图) // 产品默认属性(根据截图)
defaultAttrs = Arrays.asList( defaultAttrs = Arrays.asList(
new String[]{"厚度", "0.6"}, new String[]{"规格", "1250 * 0.6"},
new String[]{"宽度", "1250"},
new String[]{"材质", "SPCC"}, new String[]{"材质", "SPCC"},
new String[]{"表面处理", "涂油"} new String[]{"表面处理", "涂油"}
); );
} else { } else {
// 原料默认属性(根据截图) // 原料默认属性(根据截图)
defaultAttrs = Arrays.asList( defaultAttrs = Arrays.asList(
new String[]{"宽度", "1265"}, new String[]{"规格", "1265 * 4"},
new String[]{"厚度", "4"},
new String[]{"材质", "Q195L"}, new String[]{"材质", "Q195L"},
new String[]{"厂家", "天铁"} new String[]{"厂家", "天铁"}
); );
} }
for (String[] attr : defaultAttrs) { for (String[] attr : defaultAttrs) {
WmsBomItemBo itemBo = new WmsBomItemBo(); WmsBomItemBo itemBo = new WmsBomItemBo();
itemBo.setBomId(bomId); itemBo.setBomId(bomId);

View File

@@ -211,10 +211,10 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
bomBo.setBomName("原材料BOM" + System.currentTimeMillis()); bomBo.setBomName("原材料BOM" + System.currentTimeMillis());
bomBo.setIsEnabled(1); bomBo.setIsEnabled(1);
bomBo.setRemark("原材料创建时自动生成的BOM"); bomBo.setRemark("原材料创建时自动生成的BOM");
WmsBomBo savedBom = wmsBomService.insertByBo(bomBo); WmsBomBo savedBom = wmsBomService.insertByBo(bomBo);
Long bomId = savedBom.getBomId(); Long bomId = savedBom.getBomId();
// 2. 创建原材料并关联BOM // 2. 创建原材料并关联BOM
WmsRawMaterial add = BeanUtil.toBean(bo, WmsRawMaterial.class); WmsRawMaterial add = BeanUtil.toBean(bo, WmsRawMaterial.class);
add.setBomId(bomId); add.setBomId(bomId);
@@ -222,37 +222,35 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setRawMaterialId(add.getRawMaterialId()); bo.setRawMaterialId(add.getRawMaterialId());
// 3. 创建默认的BOM明细项根据截图的默认属性 // 3. 创建默认的BOM明细项根据截图的默认属性
createDefaultBomItems(bomId, "原料"); createDefaultBomItems(bomId, "原料");
} }
return bo; return bo;
} }
/** /**
* 创建默认的BOM明细项 * 创建默认的BOM明细项
*/ */
private void createDefaultBomItems(Long bomId, String type) { private void createDefaultBomItems(Long bomId, String type) {
List<String[]> defaultAttrs; List<String[]> defaultAttrs;
if ("产品".equals(type)) { if ("产品".equals(type)) {
// 产品默认属性(根据截图) // 产品默认属性(根据截图)
defaultAttrs = Arrays.asList( defaultAttrs = Arrays.asList(
new String[]{"厚度", "0.6"}, new String[]{"规格", "1250 * 0.6"},
new String[]{"宽度", "1250"},
new String[]{"材质", "SPCC"}, new String[]{"材质", "SPCC"},
new String[]{"表面处理", "涂油"} new String[]{"表面处理", "涂油"}
); );
} else { } else {
// 原料默认属性(根据截图) // 原料默认属性(根据截图)
defaultAttrs = Arrays.asList( defaultAttrs = Arrays.asList(
new String[]{"宽度", "1265"}, new String[]{"规格", "1265 * 4"},
new String[]{"厚度", "4"},
new String[]{"材质", "Q195L"}, new String[]{"材质", "Q195L"},
new String[]{"厂家", "天铁"} new String[]{"厂家", "天铁"}
); );
} }
for (String[] attr : defaultAttrs) { for (String[] attr : defaultAttrs) {
WmsBomItemBo itemBo = new WmsBomItemBo(); WmsBomItemBo itemBo = new WmsBomItemBo();
itemBo.setBomId(bomId); itemBo.setBomId(bomId);