Commit c712937f authored by 周昊's avatar 周昊

1、修改任务管理列表状态筛选

2、开发任务执行情况列表
parent dd385468
......@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
......@@ -63,6 +64,9 @@ public class RiskPlanAppController extends BaseController {
@Resource
private ISysDictDataService dictDataService;
@Resource
private IRiskPlanUserBuildingService riskPlanUserBuildingService;
/**
* 服务器地址
*/
......@@ -126,19 +130,55 @@ public class RiskPlanAppController extends BaseController {
*/
@GetMapping("/create/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByCreateUser(String status) {
List<RiskPlanStatusType> statusList;
String state;
if ("running".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_START, RiskPlanStatusType.RUNNING);
List<RiskPlanStatusType> statusList = new ArrayList<>();
String state = "";
if ("wait".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.CREATE_TASK,RiskPlanStatusType.WAIT_START);
state = "待执行";
} else {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_FINISH, RiskPlanStatusType.FINISH
, RiskPlanStatusType.WAIT_ADJUST, RiskPlanStatusType.REVOKE);
} else if ("running".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.RUNNING,RiskPlanStatusType.WAIT_RETURN);
state = "执行中";
} else if ("finish".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_LEADER_APPROVE,RiskPlanStatusType.WAIT_APPROVE
,RiskPlanStatusType.PROJECT_REPORT,RiskPlanStatusType.FINISH);
state = "已执行";
}
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList, getUserId(), null);
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList,getUserId(),null );
String finalState = state;
list.forEach(dto -> {
dto.setState(finalState);
});
return R.ok(list);
}
/**
* 任务执行情况列表
*
* @param status 状态
* @real_return {@link R<List<RiskPlanAppListDto>>}
*/
@GetMapping("/allocation/list")
public R<List<RiskPlanAppListDto>> getAllocationRiskPlanAppListDtoListByCreateUser(String status) {
List<RiskPlanStatusType> statusList = new ArrayList<>();
String state = "";
if ("wait".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.CREATE_TASK,RiskPlanStatusType.WAIT_START);
state = "待评估";
} else if ("running".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.RUNNING,RiskPlanStatusType.WAIT_RETURN);
state = "执行中";
} else if ("finish".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_LEADER_APPROVE,RiskPlanStatusType.WAIT_APPROVE
,RiskPlanStatusType.PROJECT_REPORT,RiskPlanStatusType.FINISH);
state = "已完成";
}
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList, getUserId(),null);
String finalState = state;
list.forEach(dto -> {
dto.setState(state);
Long finishNumber = riskPlanUserBuildingService.countStatusByPlanIdAndStatus(dto.getId(), "finish");
Long totalNumber = riskPlanUserBuildingService.countStatusByPlanIdAndStatus(dto.getId(), null);
dto.setState(finalState+"("+finishNumber+"/"+totalNumber+")");
});
return R.ok(list);
}
......@@ -351,7 +391,7 @@ public class RiskPlanAppController extends BaseController {
*/
@GetMapping("/approve/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser() {
List<RiskPlanStatusType> statusList = Arrays.asList(RiskPlanStatusType.WAIT_FINISH);
List<RiskPlanStatusType> statusList = Arrays.asList(RiskPlanStatusType.WAIT_LEADER_APPROVE);
return R.ok(riskPlanService.getRiskPlanAppListDtoList(statusList, null, getUserId()));
}
......
package com.censoft.censoftrongtong.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* 计划人员与楼宇关系表 risk_plan_user_building
*
* @author ruoyi
* @date 2023-07-05
*/
@Data
@TableName("risk_plan_user_building")
public class RiskPlanUserBuilding {
@TableId(type = IdType.AUTO)
private Long id;
/**
* 计划id
*/
@TableField("plan_id")
private Long planId;
/**
* 楼宇id
*/
@TableField("building_id")
private Long buildingId;
/**
* 处理人员ids
*/
@TableField("user_ids")
private String userIds;
/**
* 发起时间
*/
@TableField("start_time")
private Date startTime;
/**
* 结束时间
*/
@TableField("finish_time")
private Date finishTime;
/**
* 执行状态
*/
@TableField("status")
private String status;
}
......@@ -2,56 +2,82 @@ package com.censoft.censoftrongtong.enums;
public enum RiskPlanStatusType {
/**
* 任务发起
* 创建任务计划
*/
WAIT_START("WAIT_START"),
CREATE_TASK("CREATE_TASK","创建任务计划"),
/**
* 风险评估
* 任务待执行
*/
RUNNING("RUNNING"),
WAIT_START("WAIT_START","任务待执行"),
/**
* 评估审核
* 执行任务
*/
WAIT_FINISH("WAIT_APPROVE"),
RUNNING("RUNNING","执行任务"),
/**
* 验收任务
*/
WAIT_LEADER_APPROVE("WAIT_LEADER_APPROVE","验收任务"),
/**
* 审批任务
*/
WAIT_APPROVE("WAIT_APPROVE","审批任务"),
/**
* 项目评估报告
*/
PROJECT_REPORT("PROJECT_REPORT","项目评估报告"),
/**
* 项目完成
*/
FINISH("FINISH"),
FINISH("FINISH","项目完成"),
/**
* 已退回
*/
WAIT_ADJUST("WAIT_RETURN"),
WAIT_RETURN("WAIT_RETURN","已退回"),
/**
* 已撤销
*/
REVOKE("REVOKE");
REVOKE("REVOKE","已撤销");
private final String status;
RiskPlanStatusType(String status) {
private final String title;
RiskPlanStatusType(String status, String title) {
this.status = status;
this.title = title;
}
public String getStatus() {
return status;
}
public String getTitle() {
return title;
}
public static String getTitleByStatus(String status){
public static RiskPlanStatusType getTitleByStatus(String status){
switch (status){
case "CREATE_TASK":
return CREATE_TASK;
case "WAIT_START":
return "任务发起";
return WAIT_START;
case "RUNNING":
return "风险评估";
return RUNNING;
case "WAIT_LEADER_APPROVE":
return WAIT_LEADER_APPROVE;
case "WAIT_APPROVE":
return "评估审核";
return WAIT_APPROVE;
case "PROJECT_REPORT":
return PROJECT_REPORT;
case "FINISH":
return "项目完成";
return FINISH;
case "WAIT_RETURN":
return "已退回";
return WAIT_RETURN;
case "REVOKE":
return "已撤销";
return REVOKE;
}
return "";
return null;
}
}
package com.censoft.censoftrongtong.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.censoft.censoftrongtong.domain.LawList;
import com.censoft.censoftrongtong.domain.LedgerRoom;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import java.util.List;
/**
* 计划人员与楼宇关系表Mapper接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface RiskPlanUserBuildingMapper extends BaseMapper<RiskPlanUserBuilding>
{
}
package com.censoft.censoftrongtong.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
/**
* 基Service接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuilding> {
Long countStatusByPlanIdAndStatus(Long planId, String status);
}
......@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.RiskPlanTask;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppDetailsDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto;
......@@ -15,6 +16,7 @@ import com.censoft.censoftrongtong.mapper.RiskPlanMapper;
import com.censoft.censoftrongtong.service.ILedgerBuildingService;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.censoft.censoftrongtong.service.IRiskPlanTaskService;
import com.censoft.censoftrongtong.service.IRiskPlanUserBuildingService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -38,6 +40,9 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
@Resource
private ILedgerBuildingService ledgerBuildingService;
@Resource
private IRiskPlanUserBuildingService riskPlanUserBuildingService;
/**
* 查询风险计划
*
......@@ -110,14 +115,14 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
public int saveRiskPlan(RiskPlan riskPlan) {
//插入主表
riskPlan.setNo(getNo());
riskPlan.setStatus(RiskPlanStatusType.RUNNING.getStatus());
riskPlan.setStatus(RiskPlanStatusType.WAIT_START.getStatus());
int i = insertRiskPlan(riskPlan);
//插入任务表 已完成任务发起
RiskPlanTask riskPlanTask = new RiskPlanTask();
riskPlanTask.setPlanId(riskPlan.getId());
riskPlanTask.setTaskKey(RiskPlanStatusType.WAIT_START.getStatus());
riskPlanTask.setTaskName(RiskPlanStatusType.getTitleByStatus(RiskPlanStatusType.WAIT_START.getStatus()));
riskPlanTask.setTaskKey(RiskPlanStatusType.CREATE_TASK.getStatus());
riskPlanTask.setTaskName(RiskPlanStatusType.CREATE_TASK.getTitle());
riskPlanTask.setStatus("completed");
riskPlanTask.setStartTime(new Date());
riskPlanTask.setCompletedTime(new Date());
......@@ -127,11 +132,24 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(riskPlan.getId());
riskPlanTask1.setApprovalUserId(riskPlan.getLeaderUserId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.RUNNING.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.getTitleByStatus(RiskPlanStatusType.RUNNING.getStatus()));
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_START.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_START.getTitle());
riskPlanTask1.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//插入计划人员与楼宇关系表
List<RiskPlanUserBuilding> list = Arrays.stream(riskPlan.getBuildingIds().split(",")).map(buildingId -> {
RiskPlanUserBuilding riskPlanUserBuilding = new RiskPlanUserBuilding();
riskPlanUserBuilding.setPlanId(riskPlan.getId());
riskPlanUserBuilding.setBuildingId(Long.valueOf(buildingId));
riskPlanUserBuilding.setUserIds(riskPlan.getWorkUserIds());
riskPlanUserBuilding.setStartTime(new Date());
riskPlanUserBuilding.setStatus("wait");
return riskPlanUserBuilding;
}).collect(Collectors.toList());
riskPlanUserBuildingService.saveBatch(list);
return i;
}
......@@ -147,7 +165,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
//查询并把状态值转化为状态名称
return riskPlanMapper.getRiskPlanAppListDtoList(statusStringList, createUserId, leaderUserId).stream().map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus());
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus()).getTitle();
dto.setStatus(status);
return dto;
}).collect(Collectors.toList());
......@@ -157,7 +175,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
public RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(Long planId) {
//获取任务单基础信息
RiskPlanAppDetailsDto dto = riskPlanMapper.getRiskPlanAppDetailsDtoByPlanId(planId);
dto.setStatus(RiskPlanStatusType.getTitleByStatus(dto.getStatusKey()));
dto.setStatus(RiskPlanStatusType.getTitleByStatus(dto.getStatusKey()).getTitle());
//获取任务详情
dto.setDetailsDto(riskPlanMapper.getRiskPlanAppTaskDetailsDtoByPlanId(planId));
......@@ -199,14 +217,14 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setApprovalUserId(riskPlan.getLeaderUserId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_ADJUST.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.getTitleByStatus(RiskPlanStatusType.WAIT_ADJUST.getStatus()));
riskPlanTask1.setTaskKey(RiskPlanStatusType.WAIT_RETURN.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.WAIT_RETURN.getStatus());
riskPlanTask1.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.WAIT_ADJUST.getStatus());
riskPlan.setStatus(RiskPlanStatusType.WAIT_RETURN.getStatus());
updateRiskPlan(riskPlan);
} else {
//修改计划状态
......@@ -231,7 +249,7 @@ public class RiskPlanServiceImpl implements IRiskPlanService {
RiskPlanTask riskPlanTask1 = new RiskPlanTask();
riskPlanTask1.setPlanId(lastRiskPlanTask.getPlanId());
riskPlanTask1.setTaskKey(RiskPlanStatusType.REVOKE.getStatus());
riskPlanTask1.setTaskName(RiskPlanStatusType.getTitleByStatus(RiskPlanStatusType.REVOKE.getStatus()));
riskPlanTask1.setTaskName(RiskPlanStatusType.REVOKE.getStatus());
riskPlanTask1.setStatus("completed");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
......
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.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper;
import com.censoft.censoftrongtong.service.IRiskPlanUserBuildingService;
import org.springframework.stereotype.Service;
/**
* 基础数据-楼层Service业务层处理
*
* @author ruoyi
* @date 2023-06-26
*/
@Service
public class RiskPlanUserBuildingServiceImpl
extends ServiceImpl<RiskPlanUserBuildingMapper, RiskPlanUserBuilding>
implements IRiskPlanUserBuildingService {
@Override
public Long countStatusByPlanIdAndStatus(Long planId, String status) {
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper.eq(RiskPlanUserBuilding::getPlanId, planId).eq(RiskPlanUserBuilding::getStatus, status);
return count(wrapper);
}
}
......@@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectLawListVo">
select id, name, type, sketch, `RANGE`, normative_references, issue_date, implementation_date, del_flag, create_by, create_time, update_by, update_time from law_list
select id, name, type, sketch, `range`, normative_references, issue_date, implementation_date, del_flag, create_by, create_time, update_by, update_time from law_list
</sql>
<select id="selectLawListList" parameterType="com.censoft.censoftrongtong.domain.LawList" resultMap="LawListResult">
......@@ -30,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''"> and type = #{type}</if>
<if test="sketch != null and sketch != ''"> and sketch = #{sketch}</if>
<if test="range != null and range != ''"> and range = #{range}</if>
<if test="range != null and range != ''"> and `range` = #{range}</if>
<if test="normativeReferences != null and normativeReferences != ''"> and normative_references = #{normativeReferences}</if>
<if test="issueDate != null "> and issue_date = #{issueDate}</if>
<if test="implementationDate != null "> and implementation_date = #{implementationDate}</if>
......@@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null">name,</if>
<if test="type != null">type,</if>
<if test="sketch != null">sketch,</if>
<if test="range != null">range,</if>
<if test="range != null">`range`,</if>
<if test="normativeReferences != null">normative_references,</if>
<if test="issueDate != null">issue_date,</if>
<if test="implementationDate != null">implementation_date,</if>
......@@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="name != null">name = #{name},</if>
<if test="type != null">type = #{type},</if>
<if test="sketch != null">sketch = #{sketch},</if>
<if test="range != null">range = #{range},</if>
<if test="range != null">`range` = #{range},</if>
<if test="normativeReferences != null">normative_references = #{normativeReferences},</if>
<if test="issueDate != null">issue_date = #{issueDate},</if>
<if test="implementationDate != null">implementation_date = #{implementationDate},</if>
......
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