diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plantaskbom/vo/PlanTaskBomRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plantaskbom/vo/PlanTaskBomRespVO.java index 5a319cd..386eea4 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plantaskbom/vo/PlanTaskBomRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plantaskbom/vo/PlanTaskBomRespVO.java @@ -27,7 +27,7 @@ public class PlanTaskBomRespVO { @Schema(description = "负责人") @ExcelProperty("负责人") private String owner; - + private String bomBlueprintNo; @Schema(description = "要求完成日期") @ExcelProperty("要求完成日期") private LocalDateTime requireEndDate; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchSaveReqVO.java index d04f1b7..f9aebc8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchSaveReqVO.java @@ -58,6 +58,7 @@ public class TaskDispatchSaveReqVO { @Schema(description = "操作类型") @NotBlank(message = "操作类型不能为空") private String active; + private String bomBlueprintNo; @Schema(description = "操作意见") private String activeOpinion; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plan/PlanDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plan/PlanDO.java index 7f95d0e..426beb5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plan/PlanDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plan/PlanDO.java @@ -116,6 +116,8 @@ public class PlanDO extends BaseDO { *要求设计结束日期 * */ private LocalDateTime changeEndTime; + private String name; + private String brief; /** * 子项目id */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plantaskbom/PlanTaskBomDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plantaskbom/PlanTaskBomDO.java index 91649d8..091d122 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plantaskbom/PlanTaskBomDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plantaskbom/PlanTaskBomDO.java @@ -45,7 +45,8 @@ public class PlanTaskBomDO extends BaseDO { * 要求完成日期 */ private LocalDateTime requireEndDate; - + @TableField(exist = false) + private String bomBlueprintNo; @TableField(exist = false) private String materialName; /**材质名称*/ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java index be9ef95..137fc6c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java @@ -69,6 +69,7 @@ public class ProcessBomDetailDO extends BaseDO { * 图号 */ private String blueprintNo; + private String bomBlueprintNo; /** * 数量 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java index 3bd6e7c..6a0095d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDO.java @@ -37,6 +37,8 @@ public class TaskDispatchDO extends BaseDO { * 编号,唯一 */ private String code; + private String bomBlueprintNo; + /** * 派工类型 生产任务|装配任务 PRODUCTION|ASSEMBLE * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantaskbom/PlanTaskBomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantaskbom/PlanTaskBomMapper.java index 36a79d9..fffe93b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantaskbom/PlanTaskBomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plantaskbom/PlanTaskBomMapper.java @@ -38,6 +38,7 @@ public interface PlanTaskBomMapper extends BaseMapperX { .select("f.memo as memo","f.bom_edit_status as bomEditStatus","f.bom_operate_count as bomOperateCount") .select("g.name as compositionName") .select("u1.nickname as ownerName") + .select("f.bom_blueprint_no as bomBlueprintNo") .leftJoin(PlanTaskDO.class, "a", PlanTaskDO::getId, PlanTaskBomDO::getTaskId) .leftJoin(PlanSubDO.class, "b", PlanSubDO::getId, PlanTaskDO::getProjectPlanSubId) .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, PlanSubDO::getProjectSubId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java index fac345a..c97b547 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java @@ -58,6 +58,14 @@ public interface ProcessBomDetailMapper extends BaseMapperX "GROUP BY p.id") //2025 0601 因为bom明细页查询到结果 由 group by materialcode转换为 group by id List selectStandardListByBomId(@Param("bomId") Long bomId); + + @Select("SELECT p.*, IFNULL(SUM(s.storage_ok_qty), 0) AS storage_ok_qty " + + "FROM pro_process_bom_detail p " + + "LEFT JOIN v_storage_material_now s ON p.material_name = s.mat_name " + + "WHERE p.bom_id = #{bomId} and p.type = 1 AND p.deleted IN (0, 1) " + + "GROUP BY p.material_name") + //2025 0601 因为bom明细页查询到结果 由 group by materialcode转换为 group by id + List selectStandardListByBomId20250609(@Param("bomId") Long bomId); default Long getBomDetailByBluePrintNoAndBomId(String bomCode,String bluePrintNo){ MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.leftJoin(ProcessBomDO.class,"q",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java index 4edc6ae..fc399fb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java @@ -531,6 +531,7 @@ public class CrossOrderManager { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PlanTaskBomDO.class) .select("bom_edit_status as bom_deleted") + .select("b.bom_blueprint_no as bomBlueprintNo") .leftJoin(PlanTaskDO.class, "a", PlanTaskDO::getId, PlanTaskBomDO::getTaskId) .leftJoin(ProcessBomDetailDO.class, "b", ProcessBomDetailDO::getId, PlanTaskBomDO::getBomDetailId) .disableSubLogicDel() @@ -581,6 +582,7 @@ public class CrossOrderManager { .setProjectId(planTaskDO.getProjectId()) .setProjectSubId(planSubDO.getProjectSubId()) .setBomDetailId(planTaskBomDO.getBomDetailId()) + .setBomBlueprintNo(planTaskBomDO.getBomBlueprintNo() == null ?"":planTaskBomDO.getBomBlueprintNo()) .setActive(OperateTypeEnum.SAVE.name()) .setDispatchStatus(TaskDispatchStatusEnum.SAVE.getCode()) .setStatus(ValidStatusEnum.VALID.getCode()); @@ -612,6 +614,7 @@ public class CrossOrderManager { .setPlanId(planTaskDO.getProjectPlanId()) .setProjectId(planTaskDO.getProjectId()) .setProjectSubId(planSubDO.getProjectSubId()) + .setBomBlueprintNo(planTaskBomDO.getBomBlueprintNo() == null ?"":planTaskBomDO.getBomBlueprintNo()) .setBomDetailId(planTaskBomDO.getBomDetailId()) .setActive(OperateTypeEnum.SAVE.name()) .setDispatchStatus(TaskDispatchStatusEnum.SAVE.getCode()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index 974bfa4..4479eea 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -117,7 +117,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { // 插入子表 if(createReqVO.getProcessBomDetails() != null && !createReqVO.getProcessBomDetails().isEmpty()) - createProcessBomDetailList(processBom.getId(), createReqVO.getProcessBomDetails(),0); + createProcessBomDetailList(processBom.getCode() == null ? "":processBom.getCode(),processBom.getId(), createReqVO.getProcessBomDetails(),0); createReqVO.setId(processBom.getId()); // 返回 return processBom.getId(); @@ -357,6 +357,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { @Override @Transactional(rollbackFor = Exception.class) public void updateProcessBom(ProcessBomSaveReqVO updateReqVO) { + // 校验存在 validateProcessBomExists(updateReqVO.getId()); // 提交的时候 明细不容许为空 @@ -676,12 +677,14 @@ public class ProcessBomServiceImpl implements ProcessBomService { }else{ updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode()); } - + if (updateReqVO.getProjectSubCode() != null){ + updateObj.setCode("BOM-"+updateReqVO.getProjectSubCode() ); + } processBomMapper.updateById(updateObj); // 更新子表 - updateProcessBomDetailList(updateReqVO.getId(), updateReqVO.getProcessBomDetails()); + updateProcessBomDetailList(updateObj.getCode() == null ? "": updateObj.getCode(),updateReqVO.getId(), updateReqVO.getProcessBomDetails()); } @Override @@ -753,7 +756,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { List list = new ArrayList<>(); // List processBomDetailDOS = processBomDetailMapper.selectStandardListByBomId(bomId); //这一部分是标准件,含id的,是有库存的 - list.addAll(processBomDetailMapper.selectStandardListByBomId(bomId)); + list.addAll(processBomDetailMapper.selectStandardListByBomId20250609(bomId)); // Map> standardGroupByMatId = processBomDetailDOS.stream().collect(Collectors.groupingBy(vo -> vo.getMaterialId() == null ? -1 : vo.getMaterialId())); //查非标准件的 @@ -984,7 +987,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { public void updateProcessBomDetail(ProcessBomDetailDO processBomDetailDO){ processBomDetailMapper.updateById(processBomDetailDO); } - private void createProcessBomDetailList(Long bomId, List list,Integer num) { + private void createProcessBomDetailList(String bomCode,Long bomId, List list,Integer num) { LocalDateTime now = LocalDateTime.now(); /*list.forEach(o -> {o.setBomId(bomId);o.setUpdateTimes(now);} );*/ @@ -992,6 +995,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { for (ProcessBomDetailDO originalObj : list) { originalObj.setBomId(bomId); + originalObj.setBomBlueprintNo(bomCode+"-"+originalObj.getBlueprintNo()); originalObj.setUpdateTimes(now); if (originalObj.getId()!= null ) { originalObj.setBomType(4); @@ -1036,8 +1040,8 @@ public class ProcessBomServiceImpl implements ProcessBomService { } } - private void updateProcessBomDetailList(Long bomId, List list) { - createProcessBomDetailList(bomId, list,1); + private void updateProcessBomDetailList(String bomCode,Long bomId, List list) { + createProcessBomDetailList(bomCode,bomId, list,1); } public HashMap getUnitDictData(){ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java index 4677a02..db78107 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java @@ -27,6 +27,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumber import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; @@ -90,7 +91,6 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { @Resource private FileService fileService; - @Resource private AdminUserApi userApi; @Resource @@ -297,6 +297,8 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { serialNumberService.updateSerialNumber(serialNumberDO); } updateObj.setOrderStatus(ProjectOrderStatusEnum.valueOf(updateReqVO.getActive()).getCode()); + + projectOrderMapper.updateById(updateObj); updateReqVO.setOrderStatus(updateObj.getOrderStatus()); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/detail.vue index 2a1fbf0..a41a0c3 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/detail.vue @@ -31,7 +31,8 @@ - @@ -41,7 +42,8 @@ - {{ dict.label }} @@ -53,7 +55,8 @@ - @@ -62,7 +65,8 @@ - @@ -70,7 +74,8 @@ - @@ -96,7 +101,8 @@ - @@ -106,7 +112,8 @@ - @@ -116,7 +123,8 @@ - @@ -125,7 +133,8 @@ - @@ -137,7 +146,8 @@ - @@ -146,7 +156,8 @@ - @@ -155,7 +166,8 @@ - @@ -164,7 +176,8 @@ - @@ -173,7 +186,8 @@ - @@ -182,7 +196,8 @@ - @@ -191,7 +206,8 @@ - @@ -210,7 +226,8 @@ - {{ ' 共计' + @@ -227,7 +244,8 @@ - @@ -236,7 +254,8 @@ - @@ -244,7 +263,8 @@ - @@ -274,13 +294,18 @@ - - + - + + @@ -307,7 +332,8 @@