diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanSaveReqVO.java index 3cea641..2f86601 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanSaveReqVO.java @@ -41,5 +41,4 @@ public class MaterialPlanSaveReqVO { @Schema(description = "备注") private String description; - } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java index 30b6aa8..659bfab 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java @@ -38,7 +38,7 @@ public class ProjectOrderDO extends BaseDO { * 项目编号,唯一 */ private String code; - /** + /**bubu * 单据状态 已保存/已送审/已审核/已启动/已打回/已终止 * * 枚举 {@link TODO heli_project_order_status 对应的类} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/screen/ScreenServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/screen/ScreenServiceImpl.java index 6664ff0..4cf89ea 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/screen/ScreenServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/screen/ScreenServiceImpl.java @@ -370,21 +370,32 @@ public class ScreenServiceImpl implements ScreenService { Calendar calendar = Calendar.getInstance(); LocalDateTime firstDayInNewYearTime = LocalDateTime.of(calendar.get(Calendar.YEAR), 1, 1, 0, 0); - MPJLambdaWrapper query = new MPJLambdaWrapper<>(); - query.selectAll(ProjectOrderDO.class) -// .selectCount(ProjectOrderDO::getId, "projectCount") - .select("DATE_FORMAT(create_time, '%m') as projectMonth") - .ge(ProjectOrderDO::getCreateTime, firstDayInNewYearTime) - .eq(ProjectOrderDO::getProperty,1) +// MPJLambdaWrapper query = new MPJLambdaWrapper<>(); +// query.selectAll(ProjectOrderDO.class) +//// .selectCount(ProjectOrderDO::getId, "projectCount") +// .select("DATE_FORMAT(create_time, '%m') as projectMonth") +// .ge(ProjectOrderDO::getCreateTime, firstDayInNewYearTime) +// .eq(ProjectOrderDO::getProperty,1) +// .eq(ProjectOrderDO::getIsSnapshot,0) +// .eq(ProjectOrderDO::getOrderStatus, ProjectOrderStatusEnum.APPROVE.getCode()) +//// .groupBy("t.business_line", "DATE_FORMAT(create_time, '%m')") +// ; +// List projectOrderDOList = projectOrderMapper.selectList(query); + MPJLambdaWrapper planQuery = new MPJLambdaWrapper<>(); + planQuery.selectAll(PlanSubDO.class) + .select("DATE_FORMAT(t.create_time, '%m') as projectMonth") + .select("po.business_line as businessLine") + .leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId,PlanSubDO::getProjectId) + .ge(PlanSubDO::getCreateTime, firstDayInNewYearTime) .eq(ProjectOrderDO::getIsSnapshot,0) - .eq(ProjectOrderDO::getOrderStatus, ProjectOrderStatusEnum.APPROVE.getCode()) -// .groupBy("t.business_line", "DATE_FORMAT(create_time, '%m')") - ; - List projectOrderDOList = projectOrderMapper.selectList(query); + .innerJoin(PlanDO.class, "a", PlanDO::getId, PlanSubDO::getProjectPlanId) + .notIn(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode(), ProjectPlanStatusEnum.COMPLETE.getCode()); + List planSubDOS = planSubMapper.selectList(planQuery); - Map> countWithByBusinessLineGroupMonth = projectOrderDOList.stream().collect(Collectors.groupingBy(ProjectOrderDO::getProjectMonth)); + + Map> countWithByBusinessLineGroupMonth = planSubDOS.stream().collect(Collectors.groupingBy(PlanSubDO::getProjectMonth)); months.forEach(month -> { - List monthProjectList = countWithByBusinessLineGroupMonth.get(Integer.valueOf(month.replace("月",""))); + List monthProjectList = countWithByBusinessLineGroupMonth.get(Integer.valueOf(month.replace("月",""))); if (CollUtil.isEmpty(monthProjectList)){ total.add(0); black.add(0); @@ -393,7 +404,7 @@ public class ScreenServiceImpl implements ScreenService { } int coloredCount = 0; int blackCount=0; - Map> countWithByBusinessLine = monthProjectList.stream().collect(Collectors.groupingBy(ProjectOrderDO::getBusinessLine)); + Map> countWithByBusinessLine = monthProjectList.stream().collect(Collectors.groupingBy(PlanSubDO::getBusinessLine)); if(CollUtil.isNotEmpty(countWithByBusinessLine.get(BusinessLineEnum.BLACK.getCode()))){ blackCount = countWithByBusinessLine.get(BusinessLineEnum.BLACK.getCode()).size() ; } @@ -646,10 +657,18 @@ public class ScreenServiceImpl implements ScreenService { data[0][2] = processDesignMapper.selectList(designQuery).size(); // 在制项目数量:取系统中《生产计划》的状态不为“已完成”或“已终止”的生产计划的子项目的个数和; + + //2025 04 10 更改,改为查询一年的数据 + LocalDateTime now = LocalDateTime.now(); + LocalDateTime currentYearStart = LocalDateTime.of(now.getYear(), 1, 1, 0, 0, 0); + + MPJLambdaWrapper planQuery = new MPJLambdaWrapper<>(); planQuery.selectAll(PlanSubDO.class) + .ge(PlanSubDO::getCreateTime,currentYearStart) .innerJoin(PlanDO.class, "a", PlanDO::getId, PlanSubDO::getProjectPlanId) .notIn(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode(), ProjectPlanStatusEnum.COMPLETE.getCode()); + data[0][3] = planSubMapper.selectList(planQuery).size(); screenDO.setData(JSON.toJSONString(data)); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java index b42d7c3..7e6d7b3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java @@ -655,6 +655,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { if(!updateList.isEmpty()){ for (TaskDispatchDetailDO taskDispatchDetailDO : updateList) { + if (taskDispatchDetailDO.getDispatchType() == 2){ taskDispatchDetailMapper.updateOwnerAndPostIdById(taskDispatchDetailDO.getId(),1); }else { diff --git a/mes-module-infra/mes-module-infra-biz/src/main/java/com/chanko/yunxi/mes/module/infra/service/file/FileServiceImpl.java b/mes-module-infra/mes-module-infra-biz/src/main/java/com/chanko/yunxi/mes/module/infra/service/file/FileServiceImpl.java index 76b1f15..50998b6 100644 --- a/mes-module-infra/mes-module-infra-biz/src/main/java/com/chanko/yunxi/mes/module/infra/service/file/FileServiceImpl.java +++ b/mes-module-infra/mes-module-infra-biz/src/main/java/com/chanko/yunxi/mes/module/infra/service/file/FileServiceImpl.java @@ -65,7 +65,8 @@ public class FileServiceImpl implements FileService { file.setName(name); file.setPath(path); file.setUrl(url); - file.setPreviewUrl(url.replace("/admin-api/infra/file/5/get/","/fileview/")); + String[] split = url.split("/"); + file.setPreviewUrl(url.replace("/"+split[3]+"/"+split[4]+"/"+split[5]+"/"+split[6]+"/"+split[7]+"/","/fileview/")); file.setType(type); file.setSize(content.length); fileMapper.insert(file); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue index 500ef76..77a5a5b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/PriceQuoteRecord/detail.vue @@ -645,7 +645,8 @@ const handleDeleteAttachment = async (index, type) => { // 下载文件 const downloadAttachment = async (name, url) => { - const data = await downloadFile(url) + const baseUrl = import.meta.env.VITE_BASE_URL; + url =baseUrl+'/admin-api/'+ url.split('/admin-api/')[1]; const data = await downloadFile(url) download.any(data, name) } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/customer/CustomerForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/customer/CustomerForm.vue index 88ca0f7..7c6a074 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/customer/CustomerForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/customer/CustomerForm.vue @@ -301,7 +301,7 @@ ref="contractUploadRef" :file-list="contractUploadFiles" multiple :action="uplo 上传附件 - + @@ -475,7 +475,7 @@ const refreshAttachments = (files, type) => { formData.value.attachments = formData.value.attachments.filter((value, index, array) => { return value.businessFileType != type || value.id }) - + for (let i = 0; i < files.length; i++) { let file = files[i] @@ -534,7 +534,8 @@ const handleDeleteAttachment = async (index, type) => { // 下载文件 const downloadAttachment = async (name, url) => { - const data = await downloadFile(url) + const baseUrl = import.meta.env.VITE_BASE_URL; + url =baseUrl+'/admin-api/'+ url.split('/admin-api/')[1]; const data = await downloadFile(url) download.any(data, name) } @@ -552,7 +553,7 @@ const open = async (type: string, id?: number) => { formType.value = type resetForm() console.log("打印typ"); - + console.log(type); // 修改时,设置数据 @@ -586,7 +587,7 @@ const submitForm = async () => { formLoading.value = true try { const data = formData.value as unknown as CustomerApi.CustomerVO - + let orderId =formData.value.id; data.status = data.status == true ? 1 : 2 if (formType.value === 'create') { @@ -596,8 +597,8 @@ const submitForm = async () => { await CustomerApi.updateCustomer(data) message.success(t('common.updateSuccess')) } - - + + // 上传附件 if (contractUploadFiles.value.length > 0) { contractUploadData.value.businessId = orderId @@ -607,18 +608,18 @@ const submitForm = async () => { protocolUploadData.value.businessId = orderId await protocolUploadRef.value!.submit() } - + // 如非保存 返回列表页 if (active != 'SAVE') { router.back() } else { - + // 成功后刷新 query.active = 'update' //if(query.active != 'update'){ query.id = orderId //} - + if (sumbefore.value == 0) { reload() } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue index 3bd7d2b..2ffe58e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue @@ -646,9 +646,9 @@ const submitForm = async (operate) => { var data = formData.value as unknown as DeliverOrderApi.DeliverOrderVO // if(data.deliverOrderSubs.length >1){ // data.deliverOrderSubs.forEach(element => { - // element.saleOrderSubId = element.projectOrderId; + // element.saleOrderSubId = element.projectOrderId; // }); - + // } const orderId = await DeliverOrderApi.operateDeliverOrder(data) message.success(t('common.operationSuccess')) @@ -876,7 +876,8 @@ const handleDeleteAttachment = async (index, type) => { // 下载文件 const downloadAttachment = async (name, url) => { - const data = await downloadFile(url) + const baseUrl = import.meta.env.VITE_BASE_URL; + url =baseUrl+'/admin-api/'+ url.split('/admin-api/')[1]; const data = await downloadFile(url) download.any(data, name) } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/detail.vue index 514bf84..56d5933 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/inspectionreport/detail.vue @@ -49,7 +49,8 @@ - @@ -57,7 +58,8 @@ 上传材质报告 - @@ -65,7 +67,8 @@ 上传热处理报告 - @@ -73,7 +76,8 @@ 上传扫描报告 - @@ -81,7 +85,8 @@ 上传三坐标检测报告 - @@ -118,7 +123,7 @@ -