| | |
| | | import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; |
| | | import com.ycl.common.utils.SecurityUtils; |
| | | import com.ycl.domain.entity.ProjectPlanExamineRecord; |
| | | import com.ycl.domain.vo.DepartmentApprovalResponseVO; |
| | | import com.ycl.domain.entity.ProjectPlanInfo; |
| | | import com.ycl.domain.form.ProgressReportResponseForm; |
| | | import com.ycl.domain.vo.ProjectProcessToDoVo; |
| | | import com.ycl.mapper.ProjectPlanExamineRecordMapper; |
| | | import com.ycl.mapper.ProjectPlanInfoMapper; |
| | | import com.ycl.mapper.ProjectPlanRecordMapper; |
| | | import com.ycl.service.ProjectPlanExamineRecordService; |
| | | import com.ycl.common.base.Result; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import com.ycl.framework.utils.PageUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.Assert; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | public class ProjectPlanExamineRecordServiceImpl extends ServiceImpl<ProjectPlanExamineRecordMapper, ProjectPlanExamineRecord> implements ProjectPlanExamineRecordService { |
| | | |
| | | private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper; |
| | | private final ProjectPlanRecordMapper projectPlanRecordMapper; |
| | | private final ProjectPlanInfoMapper projectPlanInfoMapper; |
| | | |
| | | /** |
| | | * 添加 |
| | | * |
| | | * @param form |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改 |
| | | * |
| | | * @param form |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 批量删除 |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * id删除 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | | * @param query |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据id查找 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 列表 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result departmentApproval(Integer projectPlanRecordId) { |
| | | List<DepartmentApprovalResponseVO> vo =baseMapper.selectInfo(projectPlanRecordId); |
| | | return Result.ok().data(vo); |
| | | public Result departmentApproval(Long projectPlanRecordId) { |
| | | return Result.ok().data(baseMapper.selectInfo(projectPlanRecordId)); |
| | | } |
| | | |
| | | @Override |
| | | public Result planLog(Integer projectPlanRecordId) { |
| | | List<DepartmentApprovalResponseVO> vo =baseMapper.getPlanLog(projectPlanRecordId); |
| | | return Result.ok().data(vo); |
| | | public Result planLog(Long projectPlanRecordId) { |
| | | return Result.ok().data(baseMapper.getPlanLog(projectPlanRecordId)); |
| | | } |
| | | |
| | | /** |
| | | * 回复审批事项 |
| | | * |
| | | * @param form |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Result replyExamine(ProjectPlanExamineRecordForm form) { |
| | | ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null); |
| | | projectPlanExamineRecord.setId(form.getId().longValue()); |
| | | projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId()); |
| | | projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId()); |
| | | projectPlanExamineRecord.setId(form.getId()); |
| | | baseMapper.updateById(projectPlanExamineRecord); |
| | | return Result.ok("回复成功"); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Result saveExamine(ProjectPlanExamineRecordForm form) { |
| | | ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null); |
| | | projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId()); |
| | | projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId()); |
| | | baseMapper.updateById(projectPlanExamineRecord); |
| | | // 更新审批记录 |
| | | ProjectPlanExamineRecord entity = new ProjectPlanExamineRecord(); |
| | | BeanUtils.copyProperties(form, entity); |
| | | entity.setId(form.getId()); |
| | | entity.setDepartmentUserId(SecurityUtils.getUserId()); |
| | | entity.setManagerUserId(SecurityUtils.getUserId()); |
| | | baseMapper.updateById(entity); |
| | | Long projectPlanRecordId = baseMapper.selectById(entity.getId()).getProjectPlanRecordId(); |
| | | // 如果同意,计划项状态为已通过,并且新增一条项目进度审核记录,否则为已驳回 |
| | | if (null != form.getDepartmentExamine() && null != form.getManageExamine() && form.getDepartmentExamine() == 0 && form.getManageExamine() == 0) { |
| | | new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) |
| | | .eq(ProjectPlanInfo::getId, form.getProjectPlanInfoId()) |
| | | .set(ProjectPlanInfo::getPlanStatus, 2) |
| | | .update(); |
| | | // 新增项目进度审核记录 |
| | | ProjectPlanExamineRecord newItem = new ProjectPlanExamineRecord(); |
| | | newItem.setProjectPlanRecordId(projectPlanRecordId); // 项目计划记录ID |
| | | newItem.setProjectPlanInfoId(entity.getProjectPlanInfoId()); // 项目计划项ID |
| | | newItem.setEventType(2); // 进度上报 |
| | | baseMapper.insert(newItem); |
| | | }else{ |
| | | new LambdaUpdateChainWrapper<>(projectPlanInfoMapper) |
| | | .eq(ProjectPlanInfo::getId, form.getProjectPlanInfoId()) |
| | | .set(ProjectPlanInfo::getPlanStatus, 1) |
| | | .update(); |
| | | } |
| | | return Result.ok("审批成功"); |
| | | } |
| | | |
| | | @Override |
| | | public Result todoList(Long userId, ProjectPlanExamineRecordQuery query) { |
| | | |
| | | IPage<ProjectProcessToDoVo> page = PageUtil.getPage(query, ProjectProcessToDoVo.class); |
| | | |
| | | baseMapper.todoList(page, query, userId); |
| | | return Result.ok().data(page.getRecords()).total(page.getTotal()); |
| | | } |
| | | |
| | | @Override |
| | | public Result reply(ProgressReportResponseForm form) { |
| | | new LambdaUpdateChainWrapper<>(baseMapper) |
| | | .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId()) |
| | | .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply()) |
| | | .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply()) |
| | | .update(); |
| | | return Result.ok("回复成功"); |
| | | } |
| | | } |