From df4bc39ad9cf5d35d5be0c24c74141d14a4e16c9 Mon Sep 17 00:00:00 2001 From: z Date: Thu, 15 May 2025 14:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/taskreport/vo/TaskReportRespVO.java | 4 +- .../taskreport/vo/TaskReportSaveReqVO.java | 4 +- .../taskdispatch/TaskDispatchDetailDO.java | 1 + .../dataobject/taskreport/TaskReportDO.java | 2 + .../taskdispatch/TaskDispatchMapper.java | 2 +- .../taskdispatch/TaskDispatchServiceImpl.java | 25 +++++- .../src/api/heli/taskreport/index.ts | 87 ++++++++++--------- .../views/heli/taskdispatch/detailDialog.vue | 59 +++++++++---- .../views/heli/taskreport/TaskReportForm.vue | 5 ++ 9 files changed, 126 insertions(+), 63 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportRespVO.java index 033e4d7..2e9ed0e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportRespVO.java @@ -56,7 +56,9 @@ public class TaskReportRespVO { @Schema(description = "报工人") @ExcelProperty("报工人") private String ownerName; - + @Schema(description = "原因说明") + @ExcelProperty("原因说明") + private String remark; @Schema(description = "报工工序") @ExcelProperty("报工工序") private String procedureName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportSaveReqVO.java index 491fa20..726e332 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskreport/vo/TaskReportSaveReqVO.java @@ -52,5 +52,7 @@ public class TaskReportSaveReqVO { @Schema(description = "报工工时", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "报工工时不能为空") private BigDecimal workTime; - + @Schema(description = "原因说明", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "原因说明不能为空") + private String remark; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java index 75e1f4c..a9e2d4d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java @@ -81,6 +81,7 @@ public class TaskDispatchDetailDO extends BaseDO { private LocalDateTime endTime; private Long dispatchType; private String postId; + private String isOutsourcing; /** * 工序状态 默认 已提交 已完成 0 1 2 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskreport/TaskReportDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskreport/TaskReportDO.java index 3ddf6ee..d586aea 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskreport/TaskReportDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskreport/TaskReportDO.java @@ -69,6 +69,8 @@ public class TaskReportDO extends BaseDO { */ private BigDecimal workTime; + private String workType; + private String remark; @TableField(exist = false) private String projectName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java index f4ce523..14b68d1 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java @@ -163,7 +163,7 @@ public interface TaskDispatchMapper extends BaseMapperX { query.selectAll(TaskDispatchDO.class) .select("z.name as materialName", "z.procedure_type as materialType", "SUM(COALESCE(d.work_time, 0)) as amount") .select("p.grade_cost as shiJiMoney","u1.nickname as ownerName","p.name as name") - .select(" ROUND(SUM(COALESCE(d.work_time, 0)) * p.grade_cost, 2) as zanGuMoney") + .select(" ROUND(SUM(CASE WHEN d.work_type = 1 THEN COALESCE(d.work_time, 0) * p.grade_cost ELSE COALESCE(d.work_time, 0) END), 2) as zanGuMoney") .leftJoin(TaskDispatchDetailDO.class, "x", TaskDispatchDetailDO::getDispatchId,TaskDispatchDO::getId) .leftJoin(ProcedureDO.class, "z", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) .leftJoin(TaskReportDO.class, "d", TaskReportDO::getDispatchDetailId,TaskDispatchDetailDO::getId) 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 28d2b06..8b569e2 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 @@ -37,6 +37,8 @@ import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService import com.chanko.yunxi.mes.module.heli.service.zjpgmaster.ZjPgMasterService; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; +import io.minio.messages.Item; +import org.checkerframework.checker.units.qual.N; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -501,6 +503,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { }else{ lastReportDO.setOwner(taskDispatchDetailDO.getOwner()); } + if ("Y".equals(taskDispatchDetailDO.getIsOutsourcing())){ + lastReportDO.setWorkType("2"); + }else { + lastReportDO.setWorkType("1"); + } //更新生产计划单 if (planDO.getStatus() != 2 && planDO.getStatus()!=3){ planDO.setStatus(2); @@ -513,6 +520,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { taskReportMapper.updateById(lastReportDO); break; case SUBMIT: + if ("Y".equals(taskDispatchDetailDO.getIsOutsourcing())){ + lastReportDO.setWorkType("2"); + }else { + lastReportDO.setWorkType("1"); + } lastReportDO.setAmount(operateReqVO.getAmount()) .setWorkTime(operateReqVO.getWorkTime()) .setReportTime(now) @@ -685,7 +697,18 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { } private void createTaskDispatchDetailList(Long dispatchId, List list) { - list.forEach(o -> o.setDispatchId(dispatchId)); +// list.forEach(o -> o.setDispatchId(dispatchId)); + list = list.stream() + .peek(item -> { + item.setDispatchId(dispatchId); + if ("true".equals(item.getIsOutsourcing())) { + // 外协处理逻辑 + item.setIsOutsourcing("Y"); + }else { + item.setIsOutsourcing("N"); + } + }) + .collect(Collectors.toList()); // 分组更新与插入 List updateList = list.stream().filter(o -> o.getId() != null).collect(Collectors.toList()); List insertList = list.stream().filter(o -> o.getId() == null).collect(Collectors.toList()); diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/taskreport/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/taskreport/index.ts index 37589db..8ba9340 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/taskreport/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/taskreport/index.ts @@ -1,43 +1,44 @@ -import request from '@/config/axios' - -export interface TaskReportVO { - id: number - dispatchDetailId: number - owner: number - amount: number - startTime: Date - endTime: Date - reportTime: Date - hasReport: number - status: number -} - -// 查询任务报工分页 -export const getTaskReportPage = async (params) => { - return await request.get({ url: `/heli/task-report/page`, params }) -} - -// 查询任务报工详情 -export const getTaskReport = async (id: number) => { - return await request.get({ url: `/heli/task-report/get?id=` + id }) -} - -// 新增任务报工 -export const createTaskReport = async (data: TaskReportVO) => { - return await request.post({ url: `/heli/task-report/create`, data }) -} - -// 修改任务报工 -export const updateTaskReport = async (data: TaskReportVO) => { - return await request.put({ url: `/heli/task-report/update`, data }) -} - -// 删除任务报工 -export const deleteTaskReport = async (id: number) => { - return await request.delete({ url: `/heli/task-report/delete?id=` + id }) -} - -// 导出任务报工 Excel -export const exportTaskReport = async (params) => { - return await request.download({ url: `/heli/task-report/export-excel`, params }) -} \ No newline at end of file +import request from '@/config/axios' + +export interface TaskReportVO { + id: number + dispatchDetailId: number + owner: number + amount: number + startTime: Date + endTime: Date + reportTime: Date + hasReport: number + status: number + remark:string +} + +// 查询任务报工分页 +export const getTaskReportPage = async (params) => { + return await request.get({ url: `/heli/task-report/page`, params }) +} + +// 查询任务报工详情 +export const getTaskReport = async (id: number) => { + return await request.get({ url: `/heli/task-report/get?id=` + id }) +} + +// 新增任务报工 +export const createTaskReport = async (data: TaskReportVO) => { + return await request.post({ url: `/heli/task-report/create`, data }) +} + +// 修改任务报工 +export const updateTaskReport = async (data: TaskReportVO) => { + return await request.put({ url: `/heli/task-report/update`, data }) +} + +// 删除任务报工 +export const deleteTaskReport = async (id: number) => { + return await request.delete({ url: `/heli/task-report/delete?id=` + id }) +} + +// 导出任务报工 Excel +export const exportTaskReport = async (params) => { + return await request.download({ url: `/heli/task-report/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue index 29ee5e1..9845edb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue @@ -190,7 +190,9 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x" - + + + @@ -201,7 +203,12 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x" v-loading="subFormLoading" label-width="0"> - + + + +