diff --git a/os-mes/src/main/java/com/os/mes/prod/controller/ProdBomInfoController.java b/os-mes/src/main/java/com/os/mes/prod/controller/ProdBomInfoController.java index ca037df..8d55ae6 100644 --- a/os-mes/src/main/java/com/os/mes/prod/controller/ProdBomInfoController.java +++ b/os-mes/src/main/java/com/os/mes/prod/controller/ProdBomInfoController.java @@ -45,6 +45,15 @@ public class ProdBomInfoController extends BaseController { return getDataTable(list); } + /** + * 查询生产BOM树列表 + */ + @GetMapping("/productionBomTreeList") + public AjaxResult productionBomTreeList(ProdBomInfo prodBomInfo) { + List list = prodBomInfoService.selectProductionBomTreeList(prodBomInfo); + return success(list); + } + /** * 查询生产BOM列表 */ diff --git a/os-mes/src/main/java/com/os/mes/prod/domain/ProdBomInfo.java b/os-mes/src/main/java/com/os/mes/prod/domain/ProdBomInfo.java index d9b5110..b3281b6 100644 --- a/os-mes/src/main/java/com/os/mes/prod/domain/ProdBomInfo.java +++ b/os-mes/src/main/java/com/os/mes/prod/domain/ProdBomInfo.java @@ -57,6 +57,12 @@ public class ProdBomInfo extends BaseEntity { @Excel(name = "父物料ID") private Long parentId; + /** + * 父物料编码 + */ + @Excel(name = "父物料编码") + private String parentCode; + /** * 父物料名称 */ @@ -69,6 +75,12 @@ public class ProdBomInfo extends BaseEntity { @Excel(name = "工厂编号") private String factoryCode; + /** + * 工厂名称 + */ + @Excel(name = "工厂名称") + private String factoryName; + /** * 排序 */ @@ -99,6 +111,22 @@ public class ProdBomInfo extends BaseEntity { @Excel(name = "是否标识") private String isFlag; + public String getParentCode() { + return parentCode; + } + + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + public void setObjId(Long objId) { this.objId = objId; } diff --git a/os-mes/src/main/java/com/os/mes/prod/service/IProdBomInfoService.java b/os-mes/src/main/java/com/os/mes/prod/service/IProdBomInfoService.java index 124a97b..6892afd 100644 --- a/os-mes/src/main/java/com/os/mes/prod/service/IProdBomInfoService.java +++ b/os-mes/src/main/java/com/os/mes/prod/service/IProdBomInfoService.java @@ -58,4 +58,11 @@ public interface IProdBomInfoService { * @return 结果 */ public int deleteProdBomInfoByObjId(Long objId); + + /** + * 查询生产BOM树列表 + * @param prodBomInfo + * @return + */ + List selectProductionBomTreeList(ProdBomInfo prodBomInfo); } diff --git a/os-mes/src/main/java/com/os/mes/prod/service/impl/ProdBomInfoServiceImpl.java b/os-mes/src/main/java/com/os/mes/prod/service/impl/ProdBomInfoServiceImpl.java index da923f1..6a623f2 100644 --- a/os-mes/src/main/java/com/os/mes/prod/service/impl/ProdBomInfoServiceImpl.java +++ b/os-mes/src/main/java/com/os/mes/prod/service/impl/ProdBomInfoServiceImpl.java @@ -44,6 +44,25 @@ public class ProdBomInfoServiceImpl implements IProdBomInfoService { return prodBomInfoMapper.selectProdBomInfoList(prodBomInfo); } + /** + * 查询生产BOM树列表 + * @param prodBomInfo + * @return + */ + @Override + public List selectProductionBomTreeList(ProdBomInfo prodBomInfo) { + List prodBomInfos = prodBomInfoMapper.selectProdBomInfoList(prodBomInfo); + try { + ProdBomInfo bomInfo = new ProdBomInfo(); + bomInfo.setAncestors(prodBomInfos.get(0).getObjId().toString()); + List infos = prodBomInfoMapper.selectProdBomInfoList(bomInfo); + prodBomInfos.addAll(infos); + } catch (Exception e) { + e.printStackTrace(); + } + return prodBomInfos; + } + /** * 新增生产BOM * diff --git a/os-mes/src/main/resources/mapper/mes/prod/ProdBomInfoMapper.xml b/os-mes/src/main/resources/mapper/mes/prod/ProdBomInfoMapper.xml index 91934f2..a945644 100644 --- a/os-mes/src/main/resources/mapper/mes/prod/ProdBomInfoMapper.xml +++ b/os-mes/src/main/resources/mapper/mes/prod/ProdBomInfoMapper.xml @@ -12,8 +12,10 @@ + + @@ -26,56 +28,62 @@ - select obj_id, - bom_code, - material_code, - material_name, - material_type, - standard_amount, - parent_id, - parent_name, - factory_code, - sort, - vbeln, - vbpos, - ancestors, - is_flag, - create_by, - create_time, - update_by, - update_time - from prod_bom_info + select pbi.obj_id, + pbi.bom_code, + pbi.material_code, + bmi.material_name, + pbi.material_type, + pbi.standard_amount, + pbi.parent_id, + pbi2.material_code parent_code, + pbi2.material_name parent_name, + bf.factory_code, + bf.factory_name, + pbi.sort, + pbi.vbeln, + pbi.vbpos, + pbi.ancestors, + pbi.is_flag, + pbi.create_by, + pbi.create_time, + pbi.update_by, + pbi.update_time + from prod_bom_info pbi + left join base_material_info bmi on bmi.material_code = pbi.material_code + left join prod_bom_info pbi2 on pbi.obj_id = pbi2.parent_id + left join base_product_line bpl on bpl.product_line_code = bmi.product_line_code + left join base_factory bf on bf.factory_code = bpl.plant_code