Commit ff4cf21f authored by 周昊's avatar 周昊

1、修改任务审批接口

parent dfa89ab2
...@@ -410,11 +410,12 @@ public class RiskPlanAppController extends BaseController { ...@@ -410,11 +410,12 @@ public class RiskPlanAppController extends BaseController {
/** /**
* 根据风险任务审批列表 * 根据风险任务审批列表
* *
* @param status 状态 running 待审批 completed 已审批
* @real_return {@link R<List<RiskPlanAppExistingListDto>>} * @real_return {@link R<List<RiskPlanAppExistingListDto>>}
*/ */
@GetMapping("/approve/list") @GetMapping("/approve/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser() { public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser(String status) {
return R.ok(riskPlanService.getRiskPlanAppListDtoListByApproveUser(getUserId())); return R.ok(riskPlanService.getRiskPlanAppListDtoListByApproveUser(getUserId(),status));
} }
...@@ -425,6 +426,7 @@ public class RiskPlanAppController extends BaseController { ...@@ -425,6 +426,7 @@ public class RiskPlanAppController extends BaseController {
*/ */
@PostMapping("/approve") @PostMapping("/approve")
public R<Integer> approveAppApproveDto(@RequestBody RiskPlanAppApproveDto appApproveDto) { public R<Integer> approveAppApproveDto(@RequestBody RiskPlanAppApproveDto appApproveDto) {
appApproveDto.setUserId(getUserId());
return R.ok(riskPlanService.approveAppApproveDto(appApproveDto)); return R.ok(riskPlanService.approveAppApproveDto(appApproveDto));
} }
......
...@@ -63,4 +63,22 @@ public class RiskPlanUserBuilding { ...@@ -63,4 +63,22 @@ public class RiskPlanUserBuilding {
@TableField("submit_user_id") @TableField("submit_user_id")
private Long submitUserId; private Long submitUserId;
/**
* 经办结果
*/
@TableField("task_result")
private String taskResult;
/**
* 经办意见
*/
@TableField("task_opinion")
private String taskOpinion;
/**
* 审批人id
*/
@TableField("approval_user_id")
private Long approvalUserId;
} }
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppApproveBuildingDto {
/** id */
private Long buildingId;
/** 经办结果 */
private String taskResult;
/** 经办意见 */
private String taskOpinion;
}
...@@ -3,6 +3,8 @@ package com.censoft.censoftrongtong.domain.dto; ...@@ -3,6 +3,8 @@ package com.censoft.censoftrongtong.domain.dto;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author 周昊 * @author 周昊
...@@ -19,4 +21,10 @@ public class RiskPlanAppApproveDto { ...@@ -19,4 +21,10 @@ public class RiskPlanAppApproveDto {
/** 经办意见 */ /** 经办意见 */
private String taskOpinion; private String taskOpinion;
/** 操作人id */
private Long userId;
/** 楼宇经办意见 */
private List<RiskPlanAppApproveBuildingDto> buildingDtos;
} }
...@@ -76,5 +76,5 @@ public interface RiskPlanMapper ...@@ -76,5 +76,5 @@ public interface RiskPlanMapper
List<RiskPlanAppApproveListDto> getApproveListDtoByPlanId(@Param("planId") Long planId); List<RiskPlanAppApproveListDto> getApproveListDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(@Param("userId") Long userId); List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(@Param("userId") Long userId,@Param("status") String status);
} }
...@@ -78,5 +78,5 @@ public interface IRiskPlanService ...@@ -78,5 +78,5 @@ public interface IRiskPlanService
int revokeByPlanId(Long planId, Long userId); int revokeByPlanId(Long planId, Long userId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId); List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId,String status);
} }
...@@ -2,6 +2,7 @@ package com.censoft.censoftrongtong.service; ...@@ -2,6 +2,7 @@ package com.censoft.censoftrongtong.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding; import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveBuildingDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto; import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import java.util.List; import java.util.List;
...@@ -19,4 +20,6 @@ public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuild ...@@ -19,4 +20,6 @@ public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuild
List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(Long planId); List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(Long planId);
Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId); Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId);
void updateByRiskPlanAppApproveBuildingDto(Long planId,Long userId, List<RiskPlanAppApproveBuildingDto> buildingDtos);
} }
...@@ -207,6 +207,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService { ...@@ -207,6 +207,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
@Override @Override
public int approveAppApproveDto(RiskPlanAppApproveDto appApproveDto) { public int approveAppApproveDto(RiskPlanAppApproveDto appApproveDto) {
//获取最新的task //获取最新的task
RiskPlanTask lastRiskPlanTask = riskPlanTaskService.getLastRiskPlanTaskByPlanId(appApproveDto.getId()); RiskPlanTask lastRiskPlanTask = riskPlanTaskService.getLastRiskPlanTaskByPlanId(appApproveDto.getId());
lastRiskPlanTask.setTaskResult(appApproveDto.getTaskResult()); lastRiskPlanTask.setTaskResult(appApproveDto.getTaskResult());
...@@ -223,7 +224,6 @@ public class RiskPlanServiceImpl implements IRiskPlanService { ...@@ -223,7 +224,6 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
//插入任务表 已退回风险评估 //插入任务表 已退回风险评估
RiskPlanTask riskPlanTask1 = new RiskPlanTask(); RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId()); riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setApprovalUserId(riskPlan.getLeaderUserId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_RETURN.getStatus()); riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_RETURN.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_RETURN.getStatus()); riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_RETURN.getStatus());
riskPlanTask1.setStatus("running"); riskPlanTask1.setStatus("running");
...@@ -233,10 +233,53 @@ public class RiskPlanServiceImpl implements IRiskPlanService { ...@@ -233,10 +233,53 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
//修改计划状态 //修改计划状态
riskPlan.setStatus(RiskPlanStatusType.WAIT_RETURN.getStatus()); riskPlan.setStatus(RiskPlanStatusType.WAIT_RETURN.getStatus());
updateRiskPlan(riskPlan); updateRiskPlan(riskPlan);
//如果是组长审批 同时退回修改 楼宇单子的状态
riskPlanUserBuildingService.updateByRiskPlanAppApproveBuildingDto(appApproveDto.getId(),appApproveDto.getUserId()
,appApproveDto.getBuildingDtos());
} else { } else {
//修改计划状态 if (riskPlan.getStatus().equals(RiskPlanStatusType.WAIT_LEADER_APPROVE.getStatus())){
riskPlan.setStatus(RiskPlanStatusType.FINISH.getStatus()); //修改计划状态
updateRiskPlan(riskPlan); riskPlan.setStatus(RiskPlanStatusType.WAIT_APPROVE.getStatus());
updateRiskPlan(riskPlan);
//插入任务表 审批任务
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setApprovalUserId(riskPlan.getCreateUserId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_APPROVE.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_APPROVE.getTitle());
riskPlanTask1.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
}else {
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.FINISH.getStatus());
updateRiskPlan(riskPlan);
//插入任务表 项目评估报告
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.PROJECT_REPORT.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.PROJECT_REPORT.getTitle());
riskPlanTask1.setStatus("completed");
riskPlanTask1.setStartTime(new Date());
riskPlanTask1.setCompletedTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//插入任务表 已完成
RiskPlanTask riskPlanTask2 = new RiskPlanTask();
riskPlanTask2.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask2.setTaskKey(RiskPlanStatusType.FINISH.getStatus());
riskPlanTask2.setTaskName(RiskPlanStatusType.FINISH.getTitle());
riskPlanTask2.setStatus("completed");
riskPlanTask2.setStartTime(new Date());
riskPlanTask2.setCompletedTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask2);
}
} }
return 1; return 1;
} }
...@@ -256,7 +299,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService { ...@@ -256,7 +299,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
RiskPlanTask riskPlanTask1 = new RiskPlanTask(); RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId()); riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.REVOKE.getStatus()); riskPlanTask1.setTaskKey(RiskPlanStatusType.REVOKE.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.REVOKE.getStatus()); riskPlanTask1.setTaskName(RiskPlanStatusType.REVOKE.getTitle());
riskPlanTask1.setStatus("completed"); riskPlanTask1.setStatus("completed");
riskPlanTask1.setStartTime(new Date()); riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1); riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
...@@ -269,13 +312,13 @@ public class RiskPlanServiceImpl implements IRiskPlanService { ...@@ -269,13 +312,13 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
} }
@Override @Override
public List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId) { public List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId,String status) {
//查询并把状态值转化为状态名称 //查询并把状态值转化为状态名称
return riskPlanMapper.getRiskPlanAppListDtoListByApproveUser(userId) return riskPlanMapper.getRiskPlanAppListDtoListByApproveUser(userId,status)
.stream() .stream()
.map(dto -> { .map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle(); String statusName = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle();
dto.setStatus(status); dto.setStatus(statusName);
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.censoft.censoftrongtong.domain.RiskPlan; import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.RiskPlanTask; import com.censoft.censoftrongtong.domain.RiskPlanTask;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding; import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveBuildingDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto; import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType; import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper; import com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper;
...@@ -54,7 +55,7 @@ public class RiskPlanUserBuildingServiceImpl ...@@ -54,7 +55,7 @@ public class RiskPlanUserBuildingServiceImpl
public Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId) { public Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId) {
//更新楼宇人员关系表状态 //更新楼宇人员关系表状态
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper.eq(RiskPlanUserBuilding::getPlanId,planId).eq(RiskPlanUserBuilding::getBuildingId,buildingId); wrapper = wrapper.eq(RiskPlanUserBuilding::getPlanId, planId).eq(RiskPlanUserBuilding::getBuildingId, buildingId);
RiskPlanUserBuilding riskPlanUserBuilding = getOne(wrapper); RiskPlanUserBuilding riskPlanUserBuilding = getOne(wrapper);
riskPlanUserBuilding.setStatus("finish"); riskPlanUserBuilding.setStatus("finish");
...@@ -64,9 +65,9 @@ public class RiskPlanUserBuildingServiceImpl ...@@ -64,9 +65,9 @@ public class RiskPlanUserBuildingServiceImpl
//查看是否全部楼宇提交 //查看是否全部楼宇提交
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RiskPlanUserBuilding> wrapper2 = new LambdaQueryWrapper<>();
wrapper2 = wrapper2.eq(RiskPlanUserBuilding::getPlanId,planId).eq(RiskPlanUserBuilding::getBuildingId,buildingId); wrapper2 = wrapper2.eq(RiskPlanUserBuilding::getPlanId, planId).eq(RiskPlanUserBuilding::getBuildingId, buildingId);
List<RiskPlanUserBuilding> list = list(wrapper2); List<RiskPlanUserBuilding> list = list(wrapper2);
if (list.stream().allMatch(po -> po.getStatus().equals("finish"))){ if (list.stream().allMatch(po -> po.getStatus().equals("finish"))) {
//获取最新的task //获取最新的task
RiskPlanTask lastRiskPlanTask = riskPlanTaskService.getLastRiskPlanTaskByPlanId(planId); RiskPlanTask lastRiskPlanTask = riskPlanTaskService.getLastRiskPlanTaskByPlanId(planId);
...@@ -94,4 +95,19 @@ public class RiskPlanUserBuildingServiceImpl ...@@ -94,4 +95,19 @@ public class RiskPlanUserBuildingServiceImpl
} }
return 1; return 1;
} }
@Override
public void updateByRiskPlanAppApproveBuildingDto(Long planId, Long userId, List<RiskPlanAppApproveBuildingDto> buildingDtos) {
buildingDtos.forEach(dto -> {
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper
.eq(RiskPlanUserBuilding::getPlanId, planId)
.eq(RiskPlanUserBuilding::getBuildingId, dto.getBuildingId());
RiskPlanUserBuilding planUserBuilding = getOne(wrapper);
planUserBuilding.setTaskResult(dto.getTaskResult());
planUserBuilding.setTaskOpinion(dto.getTaskOpinion());
planUserBuilding.setApprovalUserId(userId);
updateById(planUserBuilding);
});
}
} }
...@@ -186,14 +186,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -186,14 +186,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM FROM
risk_plan rp risk_plan rp
LEFT JOIN sys_user su ON su.user_id = rp.leader_user_id LEFT JOIN sys_user su ON su.user_id = rp.leader_user_id
LEFT JOIN risk_plan_task rpt ON rpt.plan_id = rp.id
<where> <where>
<if test="userId != null"> <if test="userId != null">
and ((rp.approval_user_id = #{userId} and rp.`status` = 'WAIT_LEADER_APPROVE') and ((rpt.approval_user_id = #{userId} and (rpt.task_key = 'WAIT_LEADER_APPROVE' or rpt.task_key = 'WAIT_RETURN'))
or or
(rp.create_user_id = #{userId} and rp.`status` = 'WAIT_APPROVE')) (rpt.approval_user_id = #{userId} and rpt.task_key = 'WAIT_APPROVE'))
</if>
<if test="status != null and status != '' ">
and rpt.`status` = #{status}
</if> </if>
</where> </where>
GROUP BY
rp.id
ORDER BY ORDER BY
rp.start_time DESC rp.start_time DESC
</select> </select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment