Commit d83e0987 authored by 周昊's avatar 周昊

Merge branch 'zhouhao' into develop

parents c6343a47 3d90bab5
......@@ -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()));
}
/**
* 根据风险任务审批列表
......@@ -402,8 +414,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.getRiskPlanAppListDtoListByApproveUser(getUserId()));
}
......
......@@ -57,4 +57,10 @@ public class RiskPlanUserBuilding {
@TableField("status")
private String status;
/**
* 提交人id
*/
@TableField("submit_user_id")
private Long submitUserId;
}
......@@ -2,8 +2,10 @@ package com.censoft.censoftrongtong.mapper;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.dto.*;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import org.apache.ibatis.annotations.Param;
import java.util.Arrays;
import java.util.List;
/**
......@@ -63,7 +65,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);
......@@ -73,4 +75,6 @@ public interface RiskPlanMapper
,@Param("buildingId") Long buildingId);
List<RiskPlanAppApproveListDto> getApproveListDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(@Param("userId") Long userId);
}
......@@ -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);
......@@ -76,4 +77,6 @@ public interface IRiskPlanService
int approveAppApproveDto(RiskPlanAppApproveDto appApproveDto);
int revokeByPlanId(Long planId, Long userId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId);
}
......@@ -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
......@@ -265,6 +268,18 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
return 1;
}
@Override
public List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId) {
//查询并把状态值转化为状态名称
return riskPlanMapper.getRiskPlanAppListDtoListByApproveUser(userId)
.stream()
.map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle();
dto.setStatus(status);
return dto;
}).collect(Collectors.toList());
}
private String getNo() {
Random random = new Random();
int randomNumber = random.nextInt(1000); // 生成0到999之间的随机数
......
......@@ -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=")">
......@@ -174,6 +175,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY
rpt.start_time ASC
</select>
<select id="getRiskPlanAppListDtoListByApproveUser"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto">
SELECT
rp.id,
rp.`name`,
rp.start_time AS startTime,
rp.`status`,
su.nick_name AS leaderUserName
FROM
risk_plan rp
LEFT JOIN sys_user su ON su.user_id = rp.leader_user_id
<where>
<if test="userId != null">
and ((rp.approval_user_id = #{userId} and rp.`status` = 'WAIT_LEADER_APPROVE')
or
(rp.create_user_id = #{userId} and rp.`status` = 'WAIT_APPROVE'))
</if>
</where>
ORDER BY
rp.start_time DESC
</select>
<insert id="insertRiskPlan" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" useGeneratedKeys="true" keyProperty="id">
insert into risk_plan
......
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