| | |
| | | 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; |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public Result add(ProgressReportResponseVO form) { |
| | | ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport(); |
| | | projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); |
| | | projectPlanProgressReport.setStartTime(form.getActualStartTime()); |
| | | projectPlanProgressReport.setEndTime(form.getActualEndTime()); |
| | | projectPlanProgressReport.setProgressStatus(form.getProgressStatus()); |
| | | projectPlanProgressReport.setActualInvest(form.getActualInvest()); |
| | | if (form.getProgressReportId() == null) { |
| | | baseMapper.insertOne(projectPlanProgressReport); |
| | | }else { |
| | | projectPlanProgressReport.setId(form.getProgressReportId()); |
| | | // baseMapper.updateOne(projectPlanProgressReport); |
| | | |
| | | // 判断上报状态 |
| | | if (form.getProgressStatusInt() == 0) { // 未开始 上报进度 |
| | | ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport(); |
| | | projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); |
| | | projectPlanProgressReport.setStartTime(form.getActualStartTime()); |
| | | projectPlanProgressReport.setEndTime(form.getActualEndTime()); |
| | | projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr()); |
| | | projectPlanProgressReport.setActualInvest(form.getActualInvest()); |
| | | // 新增进度上报内容 |
| | | baseMapper.insert(projectPlanProgressReport); |
| | | }else if (form.getProgressStatusInt() == 2) { // 已驳回 重新上报 |
| | | ProjectPlanProgressReport projectPlanProgressReport = baseMapper.selectById(form.getProgressReportId()); |
| | | projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); |
| | | projectPlanProgressReport.setStartTime(form.getActualStartTime()); |
| | | projectPlanProgressReport.setEndTime(form.getActualEndTime()); |
| | | projectPlanProgressReport.setProgressStatus(form.getProgressStatusStr()); |
| | | projectPlanProgressReport.setActualInvest(form.getActualInvest()); |
| | | // 更新进度上报内容 |
| | | baseMapper.updateById(projectPlanProgressReport); |
| | | } |
| | | |
| | |
| | | if (form.getFileList() != null && form.getFileList().size() > 0) { |
| | | form.getFileList().stream() |
| | | .forEach(file -> { |
| | | file.setId(null); |
| | | file.setBusId(form.getId().longValue()); |
| | | file.setType(FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT); |
| | | file.setGmtCreate(new Date()); |
| | |
| | | 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) |
| | |
| | | .collect(Collectors.toList()); |
| | | return Result.ok().data(vos); |
| | | } |
| | | |
| | | @Override |
| | | public Result examine(ProgressReportResponseVO form) { |
| | | // 获得审批记录副本 |
| | | ProjectPlanExamineRecord record = projectPlanExamineRecordMapper.selectById(form.getExamineRecordId()); |
| | | |
| | | // 新增一条审批记录 |
| | | 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 { // 审批不通过 |
| | | // 计划项进度状态更新为已驳回 |
| | | new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) |
| | | .eq(ProjectPlanInfo::getId, form.getId()) |
| | | .set(ProjectPlanInfo::getProgressStatus, 2) |
| | | .update(); |
| | | } |
| | | return Result.ok("审批成功"); |
| | | } |
| | | } |