From b1a7da2f261b1fd67cd5435bd3e3214840e519cb Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 5 Mar 2024 11:32:29 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E7=89=A9=E6=96=99BOM=E5=B7=B2?= =?UTF-8?q?=E8=A2=AB=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=8D=95=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E7=9A=84=E6=97=A0=E6=B3=95=E4=BF=AE=E6=94=B9=E3=80=81=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E3=80=81=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MesProductOrderController.java | 2 +- .../mes/service/IMesMaterialBomService.java | 8 + .../mes/service/IMesProductOrderService.java | 2 - .../impl/MesMaterialBomServiceImpl.java | 26 +++ .../impl/MesProductOrderServiceImpl.java | 14 +- hw-ui/src/api/mes/productOrder.js | 8 + hw-ui/src/views/mes/baseRoute/index.vue | 2 +- hw-ui/src/views/mes/materialBom/index.vue | 212 +++++++++++------- 8 files changed, 182 insertions(+), 92 deletions(-) diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java index 1708218c..5b381494 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductOrderController.java @@ -132,7 +132,7 @@ public class MesProductOrderController extends BaseController { * * @return materialBomId */ - @GetMapping(value = "/VerifyBOMIsProduction/{materialBomId}") + @GetMapping(value = "/verifyBOMIsProduction/{materialBomId}") public AjaxResult verifyBOMIsProduction(@PathVariable Long materialBomId) { return success(mesProductOrderService.verifyBOMIsProduction(materialBomId)); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesMaterialBomService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesMaterialBomService.java index d48d0fca..66b9532b 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesMaterialBomService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesMaterialBomService.java @@ -74,4 +74,12 @@ public interface IMesMaterialBomService * @return */ public List getMaterialVisionList(Long materialId); + + /** + * 查询物料顶级BOM信息 + * + * @param materialBomId 物料BOM信息主键 + * @return 物料BOM信息 + */ + public MesMaterialBom selectTopMaterialBomByMaterialBomId(Long materialBomId); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java index bdc064ec..48441abd 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductOrderService.java @@ -81,8 +81,6 @@ public interface IMesProductOrderService */ public int productOrderPublish(MesProductOrder mesProductOrder); - - /** * 校验BOM是否被生产工单选择 * @param materialBomId diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesMaterialBomServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesMaterialBomServiceImpl.java index 5f4b1157..e438bf83 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesMaterialBomServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesMaterialBomServiceImpl.java @@ -128,6 +128,32 @@ public class MesMaterialBomServiceImpl implements IMesMaterialBomService } /** + * 查询物料顶级BOM信息 + * @param materialBomId 物料BOM信息主键 + * @return + */ + @Override + public MesMaterialBom selectTopMaterialBomByMaterialBomId(Long materialBomId) { + MesMaterialBom mesMaterialBom = mesMaterialBomMapper.selectMesMaterialBomByMaterialBomId(materialBomId); + return recursionSelectTopMaterialBom(mesMaterialBom); + } + + /** + * 递归查询顶级BOM + * @param mesMaterialBom + * @return + */ + public MesMaterialBom recursionSelectTopMaterialBom(MesMaterialBom mesMaterialBom) { + if (mesMaterialBom.getTopFlag() == 1L){ + //返回顶级BOM信息 + return mesMaterialBom; + } + MesMaterialBom materialBom = mesMaterialBomMapper.selectMesMaterialBomByMaterialBomId(mesMaterialBom.getParentId()); + return recursionSelectTopMaterialBom(materialBom); + } + + /** + * SET顶级标识 * 判断是否顶级BOM * @param mesMaterialBom */ diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java index 6ffe75a3..9e11f73c 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductOrderServiceImpl.java @@ -8,6 +8,8 @@ import com.hw.common.core.exception.ServiceException; import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.StringUtils; import com.hw.common.core.utils.uuid.Seq; +import com.hw.mes.domain.MesMaterialBom; +import com.hw.mes.service.IMesMaterialBomService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hw.mes.mapper.MesProductOrderMapper; @@ -25,6 +27,9 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { @Autowired private MesProductOrderMapper mesProductOrderMapper; + @Autowired + private IMesMaterialBomService mesMaterialBomService; + /** * 查询生产工单 * @@ -195,8 +200,15 @@ public class MesProductOrderServiceImpl implements IMesProductOrderService { @Override public Boolean verifyBOMIsProduction(Long materialBomId) { //查询顶级BOM + MesMaterialBom mesMaterialBom = mesMaterialBomService.selectTopMaterialBomByMaterialBomId(materialBomId); //通过顶级BOM主键查询生产工单 - return null; + MesProductOrder mesProductOrder = new MesProductOrder(); + mesProductOrder.setMaterialBomId(mesMaterialBom.getMaterialBomId()); + List productOrderList = mesProductOrderMapper.selectMesProductOrderList(mesProductOrder); + if (productOrderList.size() > 0){ + return true; + } + return false; } } diff --git a/hw-ui/src/api/mes/productOrder.js b/hw-ui/src/api/mes/productOrder.js index e844104b..e372de11 100644 --- a/hw-ui/src/api/mes/productOrder.js +++ b/hw-ui/src/api/mes/productOrder.js @@ -77,3 +77,11 @@ export function delProductOrder(productOrderId) { method: 'delete' }) } + +// 校验BOM是否被生产工单选择 +export function verifyBOMIsProduction(materialBomId) { + return request({ + url: '/mes/productOrder/verifyBOMIsProduction/' + materialBomId, + method: 'get' + }) +} diff --git a/hw-ui/src/views/mes/baseRoute/index.vue b/hw-ui/src/views/mes/baseRoute/index.vue index 281b9976..c09511eb 100644 --- a/hw-ui/src/views/mes/baseRoute/index.vue +++ b/hw-ui/src/views/mes/baseRoute/index.vue @@ -230,7 +230,7 @@ export default { multiple: true, // 显示搜索条件 showSearch: true, - // 显示工艺步骤添加 + // 显示工艺步骤提交 submitShow: true, // 显示工艺步骤提示 tagShow: true, diff --git a/hw-ui/src/views/mes/materialBom/index.vue b/hw-ui/src/views/mes/materialBom/index.vue index ae617227..cb5ca44c 100644 --- a/hw-ui/src/views/mes/materialBom/index.vue +++ b/hw-ui/src/views/mes/materialBom/index.vue @@ -45,18 +45,18 @@ @keyup.enter.native="handleQuery" /> - - - - - - - - - - + + + + + + + + + + - 搜索 + 搜索 重置 @@ -70,7 +70,8 @@ size="mini" @click="handleAdd" v-hasPermi="['mes:materialBom:add']" - >新增 + >新增 + 展开/折叠 + >展开/折叠 + - + - + - - + + - + - + - + @@ -123,21 +125,24 @@ icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['mes:materialBom:edit']" - >修改 + >修改 + 新增子BOM + >新增子BOM + 删除 + >删除 + @@ -145,43 +150,44 @@ - + - - - + + + - + - - + + - + - - - - - - - - - + + + + + + + + + {{dict.label}} + >{{ dict.label }} + - + @@ -189,11 +195,12 @@ v-for="dict in dict.type.active_flag" :key="dict.value" :label="dict.value" - >{{dict.label}} + >{{ dict.label }} + - +