Commit f9cf5d4e authored by 周昊's avatar 周昊

1、修改风险评估列表 数据权限

2、开发风险评估-任务完成接口
parent e193fcb0
......@@ -143,7 +143,7 @@ public class RiskPlanAppController extends BaseController {
,RiskPlanStatusType.PROJECT_REPORT,RiskPlanStatusType.FINISH);
state = "已执行";
}
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList,getUserId(),null );
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList,getUserId(),null ,null);
String finalState = state;
list.forEach(dto -> {
dto.setState(finalState);
......@@ -172,7 +172,7 @@ public class RiskPlanAppController extends BaseController {
,RiskPlanStatusType.PROJECT_REPORT,RiskPlanStatusType.FINISH);
state = "已完成";
}
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList, getUserId(),null);
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList, getUserId(),null,null);
String finalState = state;
list.forEach(dto -> {
Long finishNumber = riskPlanUserBuildingService.countStatusByPlanIdAndStatus(dto.getId(), "finish");
......@@ -201,7 +201,7 @@ public class RiskPlanAppController extends BaseController {
*/
@GetMapping("/task/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByLeaderUser() {
return R.ok(riskPlanService.getRiskPlanAppListDtoList(null, null, getUserId()));
return R.ok(riskPlanService.getRiskPlanAppListDtoList(null, null, getUserId(),null));
}
/**
......@@ -394,6 +394,18 @@ public class RiskPlanAppController extends BaseController {
return R.ok(riskPlanExistingListService.saveRiskExistingListSaveDto(saveDto));
}
/**
* 风险评估-任务完成
*
* @param planId 任务id
* @param buildingId 楼宇id
* @real_return {@link R<Integer>}
*/
@PostMapping("/submit/{planId}/{building}")
public R<Integer> submitByPlanIdAndBuildingId(@PathVariable Long planId, @PathVariable Long buildingId) {
return R.ok(riskPlanUserBuildingService.submitByPlanIdAndBuildingId(planId,buildingId, getUserId()));
}
/**
* 根据风险任务审批列表
......@@ -403,7 +415,7 @@ public class RiskPlanAppController extends BaseController {
@GetMapping("/approve/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser() {
List<RiskPlanStatusType> statusList = Arrays.asList(RiskPlanStatusType.WAIT_LEADER_APPROVE);
return R.ok(riskPlanService.getRiskPlanAppListDtoList(statusList, null, getUserId()));
return R.ok(riskPlanService.getRiskPlanAppListDtoList(statusList, null, getUserId(),null));
}
......
......@@ -57,4 +57,10 @@ public class RiskPlanUserBuilding {
@TableField("status")
private String status;
/**
* 提交人id
*/
@TableField("submit_user_id")
private Long submitUserId;
}
......@@ -63,7 +63,7 @@ public interface RiskPlanMapper
public int deleteRiskPlanByIds(Long[] ids);
List<RiskPlanAppListDto> getRiskPlanAppListDtoList(@Param("statusStringList") List<String> statusStringList
, @Param("createUserId") Long createUserId, @Param("leaderUserId") Long leaderUserId);
, @Param("createUserId") Long createUserId, @Param("leaderUserId") Long leaderUserId, @Param("workUserId") Long workUserId);
RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(@Param("planId") Long planId);
......
......@@ -67,7 +67,8 @@ public interface IRiskPlanService
int saveRiskPlan(RiskPlan riskPlan);
List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId, Long leaderUserId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId
, Long leaderUserId, Long workUserId);
RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(Long planId,Long buildingId);
......
......@@ -17,4 +17,6 @@ public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuild
Long countStatusByPlanIdAndStatus(Long planId, String status);
List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(Long planId);
Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId);
}
......@@ -154,7 +154,8 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
}
@Override
public List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId, Long leaderUserId) {
public List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId
, Long leaderUserId, Long workUserId) {
List<String> statusStringList = null;
//枚举类转化为数据库存的状态值
if (statusList != null) {
......@@ -164,11 +165,13 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
}
//查询并把状态值转化为状态名称
return riskPlanMapper.getRiskPlanAppListDtoList(statusStringList, createUserId, leaderUserId).stream().map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle();
dto.setStatus(status);
return dto;
}).collect(Collectors.toList());
return riskPlanMapper.getRiskPlanAppListDtoList(statusStringList, createUserId, leaderUserId, workUserId)
.stream()
.map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle();
dto.setStatus(status);
return dto;
}).collect(Collectors.toList());
}
@Override
......
......@@ -2,13 +2,19 @@ package com.censoft.censoftrongtong.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.RiskPlanTask;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.censoft.censoftrongtong.service.IRiskPlanTaskService;
import com.censoft.censoftrongtong.service.IRiskPlanUserBuildingService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
......@@ -25,6 +31,12 @@ public class RiskPlanUserBuildingServiceImpl
@Resource
private RiskPlanUserBuildingMapper riskPlanUserBuildingMapper;
@Resource
private IRiskPlanService riskPlanService;
@Resource
private IRiskPlanTaskService riskPlanTaskService;
@Override
public Long countStatusByPlanIdAndStatus(Long planId, String status) {
......@@ -37,4 +49,49 @@ public class RiskPlanUserBuildingServiceImpl
public List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(Long planId) {
return riskPlanUserBuildingMapper.getRiskPlanAppBuildingListDtoByPlanId(planId);
}
@Override
public Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId) {
//更新楼宇人员关系表状态
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper.eq(RiskPlanUserBuilding::getPlanId,planId).eq(RiskPlanUserBuilding::getBuildingId,buildingId);
RiskPlanUserBuilding riskPlanUserBuilding = getOne(wrapper);
riskPlanUserBuilding.setStatus("finish");
riskPlanUserBuilding.setFinishTime(new Date());
riskPlanUserBuilding.setSubmitUserId(userId);
updateById(riskPlanUserBuilding);
//查看是否全部楼宇提交
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper2 = new LambdaQueryWrapper<>();
wrapper2 = wrapper2.eq(RiskPlanUserBuilding::getPlanId,planId).eq(RiskPlanUserBuilding::getBuildingId,buildingId);
List<RiskPlanUserBuilding> list = list(wrapper2);
if (list.stream().allMatch(po -> po.getStatus().equals("finish"))){
//获取最新的task
RiskPlanTask lastRiskPlanTask = riskPlanTaskService.getLastRiskPlanTaskByPlanId(planId);
lastRiskPlanTask.setStatus("completed");
lastRiskPlanTask.setCompletedTime(new Date());
riskPlanTaskService.updateRiskPlanTask(lastRiskPlanTask);
//计划
RiskPlan riskPlan = riskPlanService.selectRiskPlanById(planId);
//插入任务表 组长验收任务
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setApprovalUserId(riskPlan.getLeaderUserId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_LEADER_APPROVE.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_LEADER_APPROVE.getStatus());
riskPlanTask1.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.WAIT_LEADER_APPROVE.getStatus());
riskPlanService.updateRiskPlan(riskPlan);
}
return 1;
}
}
......@@ -65,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if test="createUserId != null"> and rp.create_user_id = #{createUserId}</if>
<if test="leaderUserId != null"> and rp.leader_user_id = #{leaderUserId}</if>
<if test="workUserId != null"> and (find_in_set(#{leaderUserId},rp.work_user_ids) or rp.leader_user_id = #{leaderUserId}) </if>
<if test="statusStringList != null and statusStringList.size >0">
and rp.`status` in
<foreach collection="statusStringList" item="status" open="(" separator="," close=")">
......
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