feat(wms): 继承BaseEntity并优化BOM默认属性创建逻辑
- WmsMaterialCoilVo类继承BaseEntity以支持基础字段 - 合并产品和原料的厚度、宽度为规格字段 - 调整默认BOM属性创建方法中的字段组合方式 - 清理冗余空行,优化代码结构可读性
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user