From 6f094df5ca2b3fd83f6c2c64c72dd177756d4601 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 06 十二月 2024 14:04:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java | 6 +++ business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 5 ++ business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java | 3 + business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 11 +++++ business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java | 6 +- business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java | 4 ++ business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml | 11 ++++- business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java | 64 +++++++++++++++++--------------- 8 files changed, 73 insertions(+), 37 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java index 4f4652f..099bf2d 100644 --- a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java +++ b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java @@ -6,6 +6,7 @@ import com.ycl.common.group.Update; import com.ycl.domain.form.ProjectPlanExamineRecordForm; import com.ycl.domain.query.ProjectPlanExamineRecordQuery; +import com.ycl.domain.vo.ProgressReportResponseVO; import com.ycl.service.ProjectPlanExamineRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -108,4 +109,8 @@ return projectPlanExamineRecordService.todoList(getUserId(),query); } + @PostMapping("/reply") + public Result reply(@RequestBody ProgressReportResponseVO form) { + return projectPlanExamineRecordService.reply(form); + } } diff --git a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java index dfa3ff4..920c4c6 100644 --- a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java +++ b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java @@ -23,11 +23,12 @@ private Integer planTime; private Integer PlanTimeFlag; private String title; + private Integer progressStatusInt; private Date startTime; private Date endTime; private Date actualStartTime; private Date actualEndTime; - private String progressStatus; + private String progressStatusStr; private BigDecimal actualInvest; private Integer departmentExamine; private String departmentApproval; diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java index b12c748..e5ed1df 100644 --- a/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java +++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanResponseVO.java @@ -12,11 +12,11 @@ private String projectName; private Integer reportStatus; private String projectCode; - private Integer projectType; + private String projectType; private Integer projectPhase; private Integer monthStatus; private Integer seasonStatus; private Integer yearStatus; - private Integer projectStatus; - private Integer investType; + private String projectStatus; + private String investType; } diff --git a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java index 79393e9..6aa2acb 100644 --- a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java +++ b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java @@ -5,6 +5,8 @@ import com.ycl.common.base.Result; import com.ycl.domain.form.ProjectPlanExamineRecordForm; import com.ycl.domain.query.ProjectPlanExamineRecordQuery; +import com.ycl.domain.vo.ProgressReportResponseVO; + import java.util.List; /** @@ -92,4 +94,6 @@ Result saveExamine(ProjectPlanExamineRecordForm form); Result todoList(Long userId,ProjectPlanExamineRecordQuery query); + + Result reply(ProgressReportResponseVO form); } diff --git a/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java index ab00a4e..ef903c0 100644 --- a/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java @@ -129,6 +129,8 @@ progressPlanInfoFlag.setPlanInfoList( new LambdaQueryChainWrapper<>(projectPlanInfoMapper) .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 .list() ); monthProgress.add(progressPlanInfoFlag); @@ -146,6 +148,8 @@ progressPlanInfoFlag.setPlanInfoList( new LambdaQueryChainWrapper<>(projectPlanInfoMapper) .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 .list() ); seasonProgress.add(progressPlanInfoFlag); @@ -163,6 +167,8 @@ progressPlanInfoFlag.setPlanInfoList( new LambdaQueryChainWrapper<>(projectPlanInfoMapper) .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 .list() ); yearProgress.add(progressPlanInfoFlag); diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java index a176a1c..c8a6e44 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java @@ -7,6 +7,7 @@ import com.ycl.domain.entity.ProjectPlanInfo; import com.ycl.domain.entity.ProjectPlanRecord; import com.ycl.domain.vo.DepartmentApprovalResponseVO; +import com.ycl.domain.vo.ProgressReportResponseVO; import com.ycl.domain.vo.ProjectProcessToDoVo; import com.ycl.mapper.ProjectPlanExamineRecordMapper; import com.ycl.mapper.ProjectPlanInfoMapper; @@ -202,4 +203,14 @@ baseMapper.todoList(page, query, userId); return Result.ok().data(page.getRecords()).total(page.getTotal()); } + + @Override + public Result reply(ProgressReportResponseVO form) { + new LambdaUpdateChainWrapper<>(baseMapper) + .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId()) + .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply()) + .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply()) + .update(); + return Result.ok("鍥炲鎴愬姛"); + } } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java index 1a1384a..58300ba 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.ycl.common.base.Result; import com.ycl.common.enums.business.FileTypeEnum; +import com.ycl.common.utils.SecurityUtils; import com.ycl.domain.entity.File; import com.ycl.domain.entity.ProjectPlanExamineRecord; import com.ycl.domain.entity.ProjectPlanInfo; @@ -62,12 +63,15 @@ projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); projectPlanProgressReport.setStartTime(form.getActualStartTime()); projectPlanProgressReport.setEndTime(form.getActualEndTime()); - projectPlanProgressReport.setProgressStatus(form.getProgressStatus()); + projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr()); projectPlanProgressReport.setActualInvest(form.getActualInvest()); - if (form.getProgressReportId() == null) { - baseMapper.insertOne(projectPlanProgressReport); - }else { - projectPlanProgressReport.setId(form.getProgressReportId()); + + // 鍒ゆ柇涓婃姤鐘舵�� + if (form.getProgressStatusInt() == 0) { // 鏈紑濮� 涓婃姤杩涘害 + // 鏂板杩涘害涓婃姤鍐呭 + baseMapper.insert(projectPlanProgressReport); + }else if (form.getProgressStatusInt() == 2) { // 宸查┏鍥� 閲嶆柊涓婃姤 + // 鏇存柊杩涘害涓婃姤鍐呭 baseMapper.updateById(projectPlanProgressReport); } @@ -89,15 +93,7 @@ fileMapper.insert(file); }); } - - // 鏇存柊涓婄骇鎵瑰 - new LambdaUpdateChainWrapper<>(projectPlanExamineRecordMapper) - .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId()) - .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply()) - .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply()) - .update(); - - // 鏇存柊涓婃姤鐘舵�� + // 鏇存柊璁″垝椤圭殑杩涘害鐘舵�佷负鏈鏍� new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) .eq(ProjectPlanInfo::getId, form.getId()) .set(ProjectPlanInfo::getProgressStatus, 1) @@ -184,29 +180,37 @@ @Override public Result examine(ProgressReportResponseVO form) { - // 鏇存柊瀹℃壒璁板綍 - ProjectPlanExamineRecord record = new ProjectPlanExamineRecord(); - record.setId(form.getExamineRecordId().longValue()); - record.setDepartmentExamine(form.getDepartmentExamine()); - record.setDepartmentApproval(form.getDepartmentApproval()); - record.setManageExamine(form.getManageExamine()); - record.setManageApproval(form.getManageApproval()); - projectPlanExamineRecordMapper.updateById(record); + // 鑾峰緱瀹℃壒璁板綍鍓湰 + ProjectPlanExamineRecord record = projectPlanExamineRecordMapper.selectById(form.getExamineRecordId()); - // 鏇存柊璁″垝椤圭姸鎬� - if (form.getDepartmentExamine() == 0 && form.getManageExamine() == 0){ + // 鏂板涓�鏉″鎵硅褰� + ProjectPlanExamineRecord newRecord = new ProjectPlanExamineRecord();; + newRecord.setProjectPlanRecordId(record.getProjectPlanRecordId()); + newRecord.setProjectPlanInfoId(record.getProjectPlanInfoId()); + newRecord.setDepartmentUserId(SecurityUtils.getUserId()); + newRecord.setDepartmentExamine(form.getDepartmentExamine()); + newRecord.setDepartmentApproval(form.getDepartmentApproval()); + newRecord.setManagerUserId(SecurityUtils.getUserId()); + newRecord.setManageExamine(form.getManageExamine()); + newRecord.setManageApproval(form.getManageApproval()); + newRecord.setEventType(2); + newRecord.setDeleted(0); + projectPlanExamineRecordMapper.insert(newRecord); + + // 鍒ゆ柇瀹℃壒缁撴灉 + if (form.getDepartmentExamine() == 0 && form.getManageExamine() == 0) { // 瀹℃壒閫氳繃 + // 璁″垝椤硅繘搴︾姸鎬佹洿鏂颁负宸插畬鎴� new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) - .eq(ProjectPlanInfo::getId, form.getId()) - .set(ProjectPlanInfo::getProgressStatus, 3) - .update(); - }else { + .eq(ProjectPlanInfo::getId, form.getId()) + .set(ProjectPlanInfo::getProgressStatus, 3) + .update(); + }else { // 瀹℃壒涓嶉�氳繃 + // 璁″垝椤硅繘搴︾姸鎬佹洿鏂颁负宸查┏鍥� new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) .eq(ProjectPlanInfo::getId, form.getId()) .set(ProjectPlanInfo::getProgressStatus, 2) .update(); } - - return Result.ok("瀹℃壒鎴愬姛"); } } diff --git a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml b/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml index 8d2b74d..893f1cb 100644 --- a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml +++ b/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml @@ -76,11 +76,12 @@ ppr.plan_time, ppr.plan_time_flag, ppi.title, + ppi.progress_status AS progress_status_int, ppi.start_time, ppi.end_time, pppr.start_time AS actual_start_time, pppr.end_time AS actual_end_time, - pppr.progress_status, + pppr.progress_status AS progress_status_str, pppr.actual_invest, pper.department_examine, pper.department_approval, @@ -91,8 +92,12 @@ FROM t_project_plan_info AS ppi INNER JOIN t_project_plan_record AS ppr ON ppi.project_plan_record_id = ppr.id LEFT JOIN t_project_plan_progress_report AS pppr ON pppr.project_plan_info_id = ppi.id - RIGHT JOIN t_project_plan_examine_record AS pper ON pper.project_plan_info_id = ppi.id - WHERE ppi.id = #{id} + LEFT JOIN t_project_plan_examine_record AS pper ON pper.project_plan_info_id = ppi.id + WHERE + ppi.id = #{id} + AND pper.event_type = 2 + AND pper.deleted = 0 + ORDER BY pper.gmt_create DESC LIMIT 1 </select> </mapper> -- Gitblit v1.8.0