From ee60c94396ade467285b7e1550860a8148cf8cfc Mon Sep 17 00:00:00 2001 From: z Date: Mon, 19 Jan 2026 15:16:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E4=BA=A4=E9=9B=86=E7=AE=A1?= =?UTF-8?q?=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/pgmaster/PgMasterController.java | 168 ++++++++++++++++-- .../admin/plansub/PlanSubController.java | 7 +- .../heli/service/plansub/PlanSubService.java | 2 + .../service/plansub/PlanSubServiceImpl.java | 134 ++++++++++++++ .../taskinreport/TaskInReportServiceImpl.java | 2 +- .../src/api/heli/plansub/index.ts | 3 + .../src/views/heli/plan/edit.vue | 44 ++++- .../src/views/heli/processdesign/overview.vue | 13 ++ mes-ui/mini-app/src/pages/index/index.vue | 2 +- .../productionInReport-detail.vue | 64 +++++-- mes-ui/mini-app/src/services/constants.ts | 6 +- .../static/images/approveOrder-default.png | Bin 62849 -> 0 bytes .../src/static/images/productionInReport.png | Bin 0 -> 33189 bytes mes-ui/mini-app/src/utils/http.ts | 10 +- 14 files changed, 419 insertions(+), 36 deletions(-) delete mode 100644 mes-ui/mini-app/src/static/images/approveOrder-default.png create mode 100644 mes-ui/mini-app/src/static/images/productionInReport.png diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java index b4e7371d..1d870a44 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/pgmaster/PgMasterController.java @@ -20,6 +20,8 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMap import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.chanko.yunxi.mes.module.system.dal.mysql.user.AdminUserMapper; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -74,6 +76,8 @@ public class PgMasterController { private BgMasterLineMapper bgMasterLineMapper; @Resource private ProcedureMapper procedureMapper; + @Resource + private AdminUserMapper adminUserMapper; @GetMapping("/getBomMx") @@ -180,31 +184,165 @@ public class PgMasterController { }else { LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDO.getId()); - wrapper1.eq(TaskDispatchDetailDO::getCheckYn,0); - wrapper1.eq(TaskDispatchDetailDO::getTestYn,"Y"); + wrapper1.eq(TaskDispatchDetailDO::getCheckYn, 0); + wrapper1.eq(TaskDispatchDetailDO::getTestYn, "Y"); List list = taskDispatchDetailMapper.selectList(wrapper1); - if (ObjectUtil.isNotEmpty( list)){ - if (list.size()==detailDOS.size()){ - return error(400,"零件已全部检验完成"); - }else{ + if (ObjectUtil.isNotEmpty(list)) { + if (list.size() == detailDOS.size()) { + return error(400, "零件已全部检验完成"); + } else { + Map userNameMap = new HashMap<>(); + Map procedureNameMap = new HashMap<>(); List collect1 = detailDOS.stream().filter(item -> item.getProcedureStatus() != 2).collect(Collectors.toList()); - List collect = collect1.stream().map(TaskDispatchDetailDO::getProcedureId).collect(Collectors.toList()); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(ProcedureDO::getId, collect); - List procedureDOS = procedureMapper.selectList(lambdaQueryWrapper); - // 转换为 Map - Map procedureNameMap = procedureDOS.stream() + List collect = collect1.stream().map(TaskDispatchDetailDO::getProcedureId).filter(Objects::nonNull).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(collect)) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(ProcedureDO::getId, collect); + List procedureDOS = procedureMapper.selectList(lambdaQueryWrapper); + +// 转换为 Map + procedureNameMap = procedureDOS.stream() .collect(Collectors.toMap( ProcedureDO::getId, ProcedureDO::getName, (existing, replacement) -> existing )); + } + + List collectOwer = collect1.stream().map(TaskDispatchDetailDO::getOwner).filter(Objects::nonNull).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(collectOwer)) { + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.in(AdminUserDO::getId, collectOwer); + List userDOS = adminUserMapper.selectList(queryWrapper2); + userNameMap = userDOS.stream() + .collect(Collectors.toMap( + AdminUserDO::getId, + AdminUserDO::getNickname, + (existing, replacement) -> existing + )); + } + List collect2 = collect1.stream().filter(item -> item.getReportProcess() == 1).collect(Collectors.toList()); List collect3 = collect1.stream().filter(item -> item.getReportProcess() != 1).collect(Collectors.toList()); - return error(400,"该零件没有报工完成,请联系报工人员!"); + // 1. 遍历 collect2(正在报工的) + StringBuilder messageBuilder = new StringBuilder("该零件"); + for (TaskDispatchDetailDO item : collect2) { + Long procedureId = item.getProcedureId(); // 获取工序ID + Long ownerId = item.getOwner(); // 获取负责人ID + + // 从map中获取名称 + String procedureName = procedureNameMap.getOrDefault(procedureId, "未知工序"); + String ownerName = ""; + if (item.getDispatchType() == 1) { + ownerName = userNameMap.getOrDefault(ownerId, "未知负责人"); + } else { + ownerName = item.getPostId(); + } + // 拼接消息 + messageBuilder.append(String.format("%s工序正在报工,没有结束,负责人%s,", + procedureName, ownerName)); + } + + // 2. 遍历 collect3(没有报工的) + for (TaskDispatchDetailDO item : collect3) { + Long procedureId = item.getProcedureId(); // 获取工序ID + Long ownerId = item.getOwner(); // 获取负责人ID + + // 从map中获取名称 + String procedureName = procedureNameMap.getOrDefault(procedureId, "未知工序"); + String ownerName = ""; + if (item.getDispatchType() == 1) { + ownerName = userNameMap.getOrDefault(ownerId, "未知负责人"); + } else { + ownerName = item.getPostId(); + } + // 拼接消息 + messageBuilder.append(String.format("%s工序没有报工,负责人%s,", + procedureName, ownerName)); + } + + String fullMessage = messageBuilder.toString(); + if (fullMessage.endsWith(",")) { + fullMessage = fullMessage.substring(0, fullMessage.length() - 1); + } + return error(411, fullMessage); } - }else{ - return error(400,"该零件没有报工完成,请联系报工人员!"); + } else { + Map userNameMap = new HashMap<>(); + Map procedureNameMap = new HashMap<>(); + List collect1 = detailDOS.stream().filter(item -> item.getProcedureStatus() != 2).collect(Collectors.toList()); + List collect = collect1.stream().map(TaskDispatchDetailDO::getProcedureId).filter(Objects::nonNull).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(collect)) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(ProcedureDO::getId, collect); + List procedureDOS = procedureMapper.selectList(lambdaQueryWrapper); + +// 转换为 Map + procedureNameMap = procedureDOS.stream() + .collect(Collectors.toMap( + ProcedureDO::getId, + ProcedureDO::getName, + (existing, replacement) -> existing + )); + } + + List collectOwer = collect1.stream().map(TaskDispatchDetailDO::getOwner).filter(Objects::nonNull).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(collectOwer)) { + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.in(AdminUserDO::getId, collectOwer); + List userDOS = adminUserMapper.selectList(queryWrapper2); + userNameMap = userDOS.stream() + .collect(Collectors.toMap( + AdminUserDO::getId, + AdminUserDO::getNickname, + (existing, replacement) -> existing + )); + } + + List collect2 = collect1.stream().filter(item -> item.getReportProcess() == 1).collect(Collectors.toList()); + List collect3 = collect1.stream().filter(item -> item.getReportProcess() != 1).collect(Collectors.toList()); + // 1. 遍历 collect2(正在报工的) + StringBuilder messageBuilder = new StringBuilder("该零件"); + for (TaskDispatchDetailDO item : collect2) { + Long procedureId = item.getProcedureId(); // 获取工序ID + Long ownerId = item.getOwner(); // 获取负责人ID + + // 从map中获取名称 + String procedureName = procedureNameMap.getOrDefault(procedureId, "未知工序"); + String ownerName = ""; + if (item.getDispatchType() == 1) { + ownerName = userNameMap.getOrDefault(ownerId, "未知负责人"); + } else { + ownerName = item.getPostId(); + } + // 拼接消息 + messageBuilder.append(String.format("%s工序正在报工,没有结束,负责人%s,", + procedureName, ownerName)); + } + + // 2. 遍历 collect3(没有报工的) + for (TaskDispatchDetailDO item : collect3) { + Long procedureId = item.getProcedureId(); // 获取工序ID + Long ownerId = item.getOwner(); // 获取负责人ID + + // 从map中获取名称 + String procedureName = procedureNameMap.getOrDefault(procedureId, "未知工序"); + String ownerName = ""; + if (item.getDispatchType() == 1) { + ownerName = userNameMap.getOrDefault(ownerId, "未知负责人"); + } else { + ownerName = item.getPostId(); + } + // 拼接消息 + messageBuilder.append(String.format("%s工序没有报工,负责人%s,", + procedureName, ownerName)); + } + + String fullMessage = messageBuilder.toString(); + if (fullMessage.endsWith(",")) { + fullMessage = fullMessage.substring(0, fullMessage.length() - 1); + } + return error(411, fullMessage); } } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/PlanSubController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/PlanSubController.java index 2317fda4..85264a34 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/PlanSubController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/PlanSubController.java @@ -150,5 +150,10 @@ public class PlanSubController { ExcelUtils.write(response, "生产计划子项目.xls", "数据", PlanSubRespVO.class, BeanUtils.toBean(list, PlanSubRespVO.class)); } - + @PostMapping("/verification") + @Operation(summary = "创建生产计划子项目") + @PreAuthorize("@ss.hasPermission('heli:plan-sub:create')") + public CommonResult verification(@RequestBody List list) { + return planSubService.verification(list); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubService.java index 7369ff1e..92881690 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubService.java @@ -79,4 +79,6 @@ public interface PlanSubService { PageResult getPlanSubPage(PlanSubPageReqVO pageReqVO); Integer getSearchRlT(PlanSubDetailRespVO pageReqVO); + + CommonResult verification(List list); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java index 6bb6164b..24c950cd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java @@ -665,4 +665,138 @@ public class PlanSubServiceImpl implements PlanSubService { return 1; } + @Override + public CommonResult verification(List list) { + HashSet userIds = new HashSet<>(); + for (PlanSubSaveReqVO planSubSaveReqVO : list) { + if (planSubSaveReqVO.getTwoDimOwner() != null) { + userIds.add(planSubSaveReqVO.getTwoDimOwner()); + } + if (planSubSaveReqVO.getThreeDimOwner() != null) { + userIds.add(planSubSaveReqVO.getThreeDimOwner()); + } + if (planSubSaveReqVO.getBlankOwner() != null) { + userIds.add(planSubSaveReqVO.getBlankOwner()); + } + } + if (ObjectUtil.isNotEmpty(userIds)) { + List planSubDetailDOS = planSubDetailMapper.selectExistList(userIds); +// checkForConflicts(list, planSubDetailDOS); + + // 为了提高查询效率,将 list2 按 Owner 转换为 Map + Map> tasksByOwner = new HashMap<>(); + for (PlanSubDetailDO task : planSubDetailDOS) { + tasksByOwner.computeIfAbsent(task.getTwoDimOwner(), k -> new ArrayList<>()).add(task); + } + + // 将每个工艺任务拆分成独立的任务项,方便统一检查 + List allNewItems = new ArrayList<>(); + for (PlanSubSaveReqVO task : list) { + if (!task.isHasSaveInBlankDetail() && task.getBlankOwner() != null && task.getStartBlankDate() != null && task.getBlankDate() != null) { + allNewItems.add(new TaskItem(Long.valueOf(task.getBlankOwner()), task.getStartBlankDate(), task.getBlankDate(), "毛坯",task.getName())); + } + if (!task.isHasSaveIn2DDetail() && task.getTwoDimOwner() != null && task.getStartTwoDimDate() != null && task.getTwoDimDate() != null) { + allNewItems.add(new TaskItem(Long.valueOf(task.getTwoDimOwner()), task.getStartTwoDimDate(), task.getTwoDimDate(), "2D",task.getName())); + } + if (!task.isHasSaveIn3DDetail() && task.getThreeDimOwner() != null && task.getStartThreeDimDate() != null && task.getThreeDimDate() != null) { + allNewItems.add(new TaskItem(Long.valueOf(task.getThreeDimOwner()), task.getStartThreeDimDate(), task.getThreeDimDate(), "3D",task.getName())); + } + } + + // 对所有新任务项进行两两比较 + for (int i = 0; i < allNewItems.size(); i++) { + TaskItem item1 = allNewItems.get(i); + for (int j = i + 1; j < allNewItems.size(); j++) { + TaskItem item2 = allNewItems.get(j); + // 只检查同一个责任人负责的任务 + if (item1.owner.equals(item2.owner)) { + if (hasOverlap(item1.start, item1.end, item2.start, item2.end)) { + return CommonResult.success(item1.projectName+" "+item1.type+item1.start.toString().substring(0,10)+" -"+item1.end.toString().substring(0,10)+"跟"+item1.projectName+" "+item1.type+" "+item2.start.toString().substring(0,10)+item2.end.toString().substring(0,10)+"存在交集,请确认!"); + } + } + } + } + for (PlanSubSaveReqVO newTask : list) { + // 检查毛坯任务 + if (!newTask.isHasSaveInBlankDetail() && newTask.getBlankOwner() != null){ + Long owner = Long.valueOf(newTask.getBlankOwner()); + // 2. 检查 list1 与 list2 之间的时间冲突 + if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartBlankDate()) || ObjectUtil.isEmpty(newTask.getBlankDate())) { + continue; + } + + List existingTasksForOwner = tasksByOwner.get(owner); + if (existingTasksForOwner == null) { + continue; + } + for (PlanSubDetailDO existingTask : existingTasksForOwner) { + if (hasOverlap(newTask.getStartBlankDate(), newTask.getBlankDate(), existingTask.getStartTwoDimDate(), existingTask.getTwoDimDate())) { + String typeName = ""; + if ("BLUEPRINT_3D".equals(existingTask.getSubType())){ + typeName = "3D"; + }else if ("BLUEPRINT_2D".equals(existingTask.getSubType())){ + typeName = "2D"; + }else if ("BLUEPRINT_WORKBLANK".equals(existingTask.getSubType())){ + typeName = "毛坯"; + } + return CommonResult.success(newTask.getName()+" 毛坯 "+newTask.getStartBlankDate().toString().substring(0,10)+" -"+ newTask.getBlankDate().toString().substring(0,10)+"跟"+existingTask.getName()+" "+typeName+" "+existingTask.getStartTwoDimDate().toString().substring(0,10)+" -"+existingTask.getTwoDimDate().toString().substring(0,10)+"存在交集,请确认!"); + } + } + } + // 检查2D任务 + if (!newTask.isHasSaveIn2DDetail() && newTask.getTwoDimOwner() != null){ + Long owner = Long.valueOf(newTask.getTwoDimOwner()); + // 2. 检查 list1 与 list2 之间的时间冲突 + if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartTwoDimDate()) || ObjectUtil.isEmpty(newTask.getTwoDimDate())) { + continue; + } + + List existingTasksForOwner = tasksByOwner.get(owner); + if (existingTasksForOwner == null) { + continue; + } + for (PlanSubDetailDO existingTask : existingTasksForOwner) { + if (hasOverlap(newTask.getStartTwoDimDate(), newTask.getTwoDimDate(), existingTask.getStartTwoDimDate(), existingTask.getTwoDimDate())) { + String typeName = ""; + if ("BLUEPRINT_3D".equals(existingTask.getSubType())){ + typeName = "3D"; + }else if ("BLUEPRINT_2D".equals(existingTask.getSubType())){ + typeName = "2D"; + }else if ("BLUEPRINT_WORKBLANK".equals(existingTask.getSubType())){ + typeName = "毛坯"; + } + return CommonResult.success(newTask.getName()+" 2D "+newTask.getStartTwoDimDate().toString().substring(0,10)+" -"+ newTask.getTwoDimDate().toString().substring(0,10)+"跟"+existingTask.getName()+" "+typeName+" "+existingTask.getStartTwoDimDate().toString().substring(0,10)+" -"+existingTask.getTwoDimDate().toString().substring(0,10)+"存在交集,请确认!"); + } + } + } + // 检查3D任务 + if (!newTask.isHasSaveIn3DDetail() && newTask.getThreeDimOwner() != null){ + Long owner = Long.valueOf(newTask.getThreeDimOwner()); + // 2. 检查 list1 与 list2 之间的时间冲突 + if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartThreeDimDate()) || ObjectUtil.isEmpty(newTask.getThreeDimDate())) { + continue; + } + + List existingTasksForOwner = tasksByOwner.get(owner); + if (existingTasksForOwner == null) { + continue; + } + for (PlanSubDetailDO existingTask : existingTasksForOwner) { + if (hasOverlap(newTask.getStartThreeDimDate(), newTask.getThreeDimDate(), existingTask.getStartTwoDimDate(), existingTask.getTwoDimDate())) { + String typeName = ""; + if ("BLUEPRINT_3D".equals(existingTask.getSubType())){ + typeName = "3D"; + }else if ("BLUEPRINT_2D".equals(existingTask.getSubType())){ + typeName = "2D"; + }else if ("BLUEPRINT_WORKBLANK".equals(existingTask.getSubType())){ + typeName = "毛坯"; + } + return CommonResult.success(newTask.getName()+" 3D "+newTask.getStartThreeDimDate().toString().substring(0,10)+" -"+ newTask.getThreeDimDate().toString().substring(0,10)+"跟"+existingTask.getName()+" "+typeName+" "+existingTask.getStartTwoDimDate().toString().substring(0,10)+" -"+existingTask.getTwoDimDate().toString().substring(0,10)+"存在交集,请确认!"); + } + } + } + } + } + return CommonResult.success(true); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskinreport/TaskInReportServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskinreport/TaskInReportServiceImpl.java index 49c821cf..2361d293 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskinreport/TaskInReportServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskinreport/TaskInReportServiceImpl.java @@ -163,6 +163,6 @@ public class TaskInReportServiceImpl implements TaskInReportService { updateWrapper.eq(TaskDispatchDetailDO::getId, taskInReport.getDispatchDetailId()); updateWrapper.set(TaskDispatchDetailDO::getInReportProcess, 1); taskDispatchDetailMapper.update(updateWrapper); - return null; + return CommonResult.success( true); } } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/plansub/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/plansub/index.ts index 8fc4f641..de3c1ba1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/plansub/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/plansub/index.ts @@ -86,3 +86,6 @@ export const deletePlanSub = async (id: number) => { export const exportPlanSub = async (params) => { return await request.download({ url: `/heli/plan-sub/export-excel`, params }) } +export const verification = async (data) => { + return await request.post({ url: `/heli/plan-sub/verification`, data }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue index 255c33ba..a65c8ad9 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue @@ -878,7 +878,7 @@ class="!w-265px" v-model="row.twoDimOwner" clearable - @change="handleSelectedUser7($index)" + @change="handleUser7($index)" filterable > { if (!formData.value.projectPlanSubs[currentIndex].startBlankDate) { for (var i = 0; i < formData.value.projectPlanSubs.length; i++) { var item = formData.value.projectPlanSubs[i] - console.log(item.blankOwner) if (item.blankOwner != null && item.blankOwner == userId) { if (item.blankDate != null) { if (maxBeginDate == null) { @@ -2850,6 +2864,14 @@ const handleSelectedUser6 = async (currentIndex) => { formData.value.projectPlanSubs[currentIndex].startBlankDate = maxDateDO.maxTime } } + if (formData.value.projectPlanSubs[currentIndex].blankOwner && formData.value.projectPlanSubs[currentIndex].startBlankDate && formData.value.projectPlanSubs[currentIndex].blankDate) { + var newVar = await PlanSubApi.verification(formData.value.projectPlanSubs); + if (!(newVar == true)) { + message.error(newVar); + formData.value.projectPlanSubs[currentIndex].blankOwner = null + return + } + } } // 设备型号 const handleSelectedequip = (scope, newValue: any) => { @@ -2862,7 +2884,7 @@ const handleSelectedequip = (scope, newValue: any) => { } } // 2D负责人 -const handleSelectedUser7 = async (currentIndex) => { +const handleUser7 = async (currentIndex) => { var userId = formData.value.projectPlanSubs[currentIndex].twoDimOwner var maxBeginDate = null if (!formData.value.projectPlanSubs[currentIndex].startTwoDimDate) { @@ -2913,6 +2935,14 @@ const handleSelectedUser7 = async (currentIndex) => { formData.value.projectPlanSubs[currentIndex].startTwoDimDate = maxDateDO.maxTime } } + if (formData.value.projectPlanSubs[currentIndex].twoDimOwner&&formData.value.projectPlanSubs[currentIndex].startTwoDimDate&&formData.value.projectPlanSubs[currentIndex].twoDimDate){ + var newVar = await PlanSubApi.verification(formData.value.projectPlanSubs); + if (!(newVar==true)){ + message.error(newVar); + formData.value.projectPlanSubs[currentIndex].twoDimOwner = null + return + } + } } // 3D负责人 const handleSelectedUser8 = async (currentIndex) => { @@ -2966,6 +2996,14 @@ const handleSelectedUser8 = async (currentIndex) => { formData.value.projectPlanSubs[currentIndex].startThreeDimDate = maxDateDO.maxTime } } + if (formData.value.projectPlanSubs[currentIndex].threeDimOwner&&formData.value.projectPlanSubs[currentIndex].startThreeDimDate&&formData.value.projectPlanSubs[currentIndex].threeDimDate){ + var newVar = await PlanSubApi.verification(formData.value.projectPlanSubs); + if (!(newVar==true)){ + message.error(newVar); + formData.value.projectPlanSubs[currentIndex].threeDimOwner = null + return + } + } } // 责任人 const handleSelectedUser9 = (currentIndex, newValue: any) => { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/overview.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/overview.vue index 8e731bca..89faef83 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/overview.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/overview.vue @@ -223,6 +223,19 @@ const exportLoading = ref(false) // 导出的加载中 /** 查询列表 */ const getList = async () => { + if (queryParams.designDate && typeof queryParams.designDate === 'number') { + // 检查是否是合理的时间戳(在1970-01-01之后的时间戳) + const timestamp = queryParams.designDate; + const dateObj = new Date(timestamp); + // 验证日期有效性 + if (!isNaN(dateObj.getTime())) { + const year = dateObj.getFullYear(); + const month = String(dateObj.getMonth() + 1).padStart(2, '0'); + const day = String(dateObj.getDate()).padStart(2, '0'); + queryParams.designDate = `${year}-${month}-${day}`; + } + } + loading.value = true try { const data = await ProcessDesignApi.getProcessDesignPages(queryParams) diff --git a/mes-ui/mini-app/src/pages/index/index.vue b/mes-ui/mini-app/src/pages/index/index.vue index 7c96560b..7f2c9e92 100644 --- a/mes-ui/mini-app/src/pages/index/index.vue +++ b/mes-ui/mini-app/src/pages/index/index.vue @@ -98,7 +98,7 @@ const categoryList = ref([ path: "productionInReport", name: "下料报工", auth: false, - imgUrl: "/static/images/productionReport.png", + imgUrl: "/static/images/productionInReport.png", defaultImgUrl: "/static/images/approveOrder-default.png", }, ]); diff --git a/mes-ui/mini-app/src/pages/productionInReport/productionInReport-detail.vue b/mes-ui/mini-app/src/pages/productionInReport/productionInReport-detail.vue index c2e09fa1..5cc141fd 100644 --- a/mes-ui/mini-app/src/pages/productionInReport/productionInReport-detail.vue +++ b/mes-ui/mini-app/src/pages/productionInReport/productionInReport-detail.vue @@ -196,13 +196,19 @@ if (val){ length.value = parseFloat(val).toFixed(2) var newPrice = await getCompositionAPI(detailInfo.value.compositionId); - console.log(newPrice) - console.log(newPrice.price) + if (newPrice.price!=detailInfo.value.price){ + uni.showToast({ + icon: 'none', + duration: 3000, + title: '单价有调整,请刷新界面', + }) + } if (matType.value == '1' || matType.value == '3') { if (widht.value > 0 && hight.value > 0) { var rawResult = length.value * widht.value * hight.value * detailInfo.value.density / 1000000; weight.value = rawResult.toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value = price.toFixed(2) } } else if (matType.value=='2'){ @@ -214,20 +220,37 @@ const CONSTANT_FACTOR = 3.14 / 1000000; var rawResult = CONSTANT_FACTOR * radiusSquared * hight.value * detailInfo.value.density; weight.value = rawResult.toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value = price.toFixed(2) } } } } + const handleMatTypeChange=(val)=>{ + if (val){ + if (val=='2'){ + widht.value='' + } + } + } const handleWidhtChange =async (val) => { if (val){ widht.value=parseFloat(val).toFixed(2) + var newPrice = await getCompositionAPI(detailInfo.value.compositionId); + if (newPrice.price!=detailInfo.value.price){ + uni.showToast({ + icon: 'none', + duration: 3000, + title: '单价有调整,请刷新界面', + }) + } if (matType.value=='1'||matType.value=='3'){ if (length.value>0&&hight.value>0){ var rawResult = length.value*widht.value*hight.value*detailInfo.value.density/1000000; weight.value= rawResult.toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value= price.toFixed(2) } } @@ -236,11 +259,20 @@ const handleHightChange =async (val) => { if (val){ hight.value=parseFloat(val).toFixed(2) + var newPrice = await getCompositionAPI(detailInfo.value.compositionId); + if (newPrice.price!=detailInfo.value.price){ + uni.showToast({ + icon: 'none', + duration: 3000, + title: '单价有调整,请刷新界面', + }) + } if (matType.value=='1'||matType.value=='3'){ if (widht.value>0&&length.value>0){ var rawResult = length.value*widht.value*hight.value*detailInfo.value.density/1000000; weight.value= rawResult.toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value= price.toFixed(2) } }else if (matType.value=='2') { @@ -252,7 +284,8 @@ const CONSTANT_FACTOR = 3.14 / 1000000; var rawResult = CONSTANT_FACTOR * radiusSquared * hight.value * detailInfo.value.density; weight.value= rawResult.toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value= price.toFixed(2) } } @@ -261,8 +294,17 @@ } const handleWeightChange =async (val) => { if (val){ + var newPrice = await getCompositionAPI(detailInfo.value.compositionId); + if (newPrice.price!=detailInfo.value.price){ + uni.showToast({ + icon: 'none', + duration: 3000, + title: '单价有调整,请刷新界面', + }) + } weight.value=parseFloat(val).toFixed(2) - var price = weight.value * detailInfo.value.price; + // var price = weight.value * detailInfo.value.price; + var price = weight.value * newPrice.price; reportPrice.value= price.toFixed(2) } } @@ -434,7 +476,7 @@ *物料类型: + :localdata="unitDict" placeholder="请选择物料类型" @change="handleMatTypeChange"> @@ -446,7 +488,7 @@ *宽度: - mm @@ -454,7 +496,7 @@ *高度: + placeholder="请输入高度" > mm diff --git a/mes-ui/mini-app/src/services/constants.ts b/mes-ui/mini-app/src/services/constants.ts index 55827869..1e4754d2 100644 --- a/mes-ui/mini-app/src/services/constants.ts +++ b/mes-ui/mini-app/src/services/constants.ts @@ -7,7 +7,7 @@ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ // export const serviceDomain = 'https://nxhs.cjyx.cc' -// export const serviceDomain = 'https://star.hz-hl.com' + // export const serviceDomain = 'https://star.hz-hl.com' // export const serviceDomain = 'http://222.71.165.187:9010' -// export const serviceDomain = 'http://localhost:8080' -export const serviceDomain = 'https://nxhs.cjyx.cc' +export const serviceDomain = 'http://localhost:8080' +// export const serviceDomain = 'https://nxhs.cjyx.cc' diff --git a/mes-ui/mini-app/src/static/images/approveOrder-default.png b/mes-ui/mini-app/src/static/images/approveOrder-default.png deleted file mode 100644 index dd157789cfaa6a2f5fff8e0cd0a78b97e5d9d2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62849 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 C{#M)o diff --git a/mes-ui/mini-app/src/static/images/productionInReport.png b/mes-ui/mini-app/src/static/images/productionInReport.png new file mode 100644 index 0000000000000000000000000000000000000000..c7160d729966b8803bdae0c2ab8858ddda5f9725 GIT binary patch literal 33189 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äx$Qaj>K#p2_v)J`_Ph= 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 Y3TicpZM9xjLV!O~V)CNZ!iItW2ZIqSAOHXW literal 0 HcmV?d00001 diff --git a/mes-ui/mini-app/src/utils/http.ts b/mes-ui/mini-app/src/utils/http.ts index 7007ffcf..250b558e 100644 --- a/mes-ui/mini-app/src/utils/http.ts +++ b/mes-ui/mini-app/src/utils/http.ts @@ -96,7 +96,15 @@ export const http = (options: UniApp.RequestOptions) => { loginStore.clearInfo() uni.navigateTo({ url: '/pages/login/login' }) reject(res) - } else { + } else if (res.data?.code === 411){ + const msg = (res.data as Data).msg + uni.showModal({ + icon: 'none', + duration: 3000, + title: msg || '请求错误', + }) + reject(res) + }else { const msg = (res.data as Data).msg uni.showToast({ icon: 'none',