feat(wms): 新增产品和原材料时自动创建BOM及默认属性

- 在产品和原材料控制器中新增 addWithBom 接口
- 实现新增产品/原材料时自动创建BOM头信息
- 新增方法 createDefaultBomItems 用于创建默认BOM明细项- 根据类型(产品或原料)设置不同的默认属性值
- 使用事务确保数据一致性
- 注入 IWmsBomService 和 IWmsBomItemService 服务依赖
This commit is contained in:
2025-10-31 11:22:38 +08:00
parent 26f504367e
commit fd40fa0e18
4 changed files with 138 additions and 0 deletions

View File

@@ -103,4 +103,14 @@ public class WmsProductController extends BaseController {
public DashboardOverviewVO getDashboardOverview() {
return iWmsProductService.getDashboardOverview();
}
/**
* 新增产品并自动创建BOM带默认属性
*/
@Log(title = "产品", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/addWithBom")
public R<Void> addWithBom(@Validated(AddGroup.class) @RequestBody WmsProductBo bo) {
return toAjax(iWmsProductService.insertByBo(bo));
}
}

View File

@@ -105,4 +105,14 @@ public class WmsRawMaterialController extends BaseController {
public TableDataInfo<WmsRawMaterialVo> listWithDemand(WmsRawMaterialBo bo, PageQuery pageQuery) {
return iWmsRawMaterialService.queryPageListWithDemand(bo, pageQuery);
}
/**
* 新增原材料并自动创建BOM带默认属性
*/
@Log(title = "原材料", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/addWithBom")
public R<WmsRawMaterialBo> addWithBom(@Validated(AddGroup.class) @RequestBody WmsRawMaterialBo bo) {
return R.ok(iWmsRawMaterialService.insertByBo(bo));
}
}