Commit f3379f77 authored by 陈晓晋's avatar 陈晓晋

Merge branch 'develop' into 'xjchen'

# Conflicts:
#   ruoyi-common/pom.xml
parents 5aa1d56b f55045b4
......@@ -2,19 +2,24 @@ package com.censoft.censoftrongtong.controller;
import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.LedgerProject;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppDetailsDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.service.ILedgerBuildingService;
import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* 计划app端接口
*
......@@ -32,6 +37,9 @@ public class RiskPlanAppController extends BaseController {
@Resource
private ILedgerBuildingService ledgerBuildingService;
@Resource
private IRiskPlanService riskPlanService;
/**
* 获取自身部门及以下的项目
*
......@@ -44,14 +52,78 @@ public class RiskPlanAppController extends BaseController {
ledgerProject.setDeptId(getLoginUser().getDeptId());
return R.ok(ledgerProjectService.getProjectListByDeptId(ledgerProject));
}
/**
* 获取项目下的楼宇
*
* @param projectId 项目id
* @real_return {@link R<List<LedgerProject>>}
* @real_return {@link R<List<LedgerBuilding>>}
*/
@GetMapping("/building/list/{projectId}")
public R<List<LedgerBuilding>> getBuildingListByProjectId(@PathVariable Long projectId){
return R.ok(ledgerBuildingService.getBuildingListByProjectId(projectId));
}
/**
* 获取项目下的人员
*
* @param projectId 项目id
* @real_return {@link R<List<SysUser>>}
*/
@GetMapping("/user/list/{projectId}")
public R<List<SysUser>> getUserListByProjectId(@PathVariable Long projectId){
return R.ok(ledgerProjectService.getUserListByProjectId(projectId));
}
/**
* 保存计划
*
* @param riskPlan 项目id
* @real_return {@link R<List<LedgerProject>>}
*/
@PostMapping()
public R<Integer> saveRiskPlan(@RequestBody RiskPlan riskPlan){
riskPlan.setCreateUserId(getUserId());
riskPlan.setCreateDeptId(getDeptId());
return R.ok(riskPlanService.saveRiskPlan(riskPlan));
}
/**
* 任务管理列表
*
* @param status 状态
* @real_return {@link R<List<RiskPlanAppListDto>>}
*/
@GetMapping("/create/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByCreateUser(String status){
List<RiskPlanStatusType> statusList;
if ("running".equals(status)){
statusList = Arrays.asList(RiskPlanStatusType.WAIT_START,RiskPlanStatusType.RUNNING);
}else {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_FINISH,RiskPlanStatusType.FINISH
,RiskPlanStatusType.WAIT_ADJUST,RiskPlanStatusType.REVOKE);
}
return R.ok(riskPlanService.getRiskPlanAppListDtoList(statusList,getUserId(),null));
}
/**
* 风险评估列表
*
* @real_return {@link R<List<RiskPlanAppListDto>>}
*/
@GetMapping("/task/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByLeaderUser(){
return R.ok(riskPlanService.getRiskPlanAppListDtoList(null,null,getUserId()));
}
/**
* 获取任务单详情
*
* @param planId 计划id
* @real_return {@link R<RiskPlanAppDetailsDto>}
*/
@GetMapping("/details/{planId}")
public R<RiskPlanAppDetailsDto> getRiskPlanAppDetailsDtoByPlanId(@PathVariable("planId") Long planId){
return R.ok(riskPlanService.getRiskPlanAppDetailsDtoByPlanId(planId));
}
}
......@@ -52,6 +52,10 @@ public class RiskPlan extends BaseEntity
@Excel(name = "执行人员ids")
private String workUserIds;
/** 审批人id */
@Excel(name = "审批人id")
private Long approveUserId;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
......@@ -187,6 +191,14 @@ public class RiskPlan extends BaseEntity
return delFlag;
}
public Long getApproveUserId() {
return approveUserId;
}
public void setApproveUserId(Long approveUserId) {
this.approveUserId = approveUserId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
......@@ -24,6 +24,10 @@ public class RiskPlanTask extends BaseEntity
@Excel(name = "计划id")
private Long planId;
/** 任务状态key值 */
@Excel(name = "任务状态key值")
private String taskKey;
/** 任务名称 */
@Excel(name = "任务名称")
private String taskName;
......@@ -36,14 +40,6 @@ public class RiskPlanTask extends BaseEntity
@Excel(name = "经办意见")
private String taskOpinion;
/** 审批单位 */
@Excel(name = "审批单位")
private Long approvalDeptId;
/** 审批角色 */
@Excel(name = "审批角色")
private String approvalRoleKey;
/** 状态 */
@Excel(name = "状态")
private String status;
......@@ -107,25 +103,16 @@ public class RiskPlanTask extends BaseEntity
{
return taskOpinion;
}
public void setApprovalDeptId(Long approvalDeptId)
{
this.approvalDeptId = approvalDeptId;
}
public Long getApprovalDeptId()
{
return approvalDeptId;
}
public void setApprovalRoleKey(String approvalRoleKey)
{
this.approvalRoleKey = approvalRoleKey;
public String getTaskKey() {
return taskKey;
}
public String getApprovalRoleKey()
{
return approvalRoleKey;
public void setTaskKey(String taskKey) {
this.taskKey = taskKey;
}
public void setStatus(String status)
public void setStatus(String status)
{
this.status = status;
}
......@@ -170,8 +157,6 @@ public class RiskPlanTask extends BaseEntity
.append("taskName", getTaskName())
.append("taskResult", getTaskResult())
.append("taskOpinion", getTaskOpinion())
.append("approvalDeptId", getApprovalDeptId())
.append("approvalRoleKey", getApprovalRoleKey())
.append("status", getStatus())
.append("approvalUserId", getApprovalUserId())
.append("startTime", getStartTime())
......
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.Date;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppApproveListDto {
/** 流程步骤id */
private Long taskId;
/** 开始时间 */
private Date startTime;
/** 审批人id */
private Long approvalUserId;
/** 审批人名称 */
private String approvalUserName;
/** 流程名称 */
private String taskName;
/** 审批结果 */
private String taskResult;
}
package com.censoft.censoftrongtong.domain.dto;
import com.ruoyi.framework.web.domain.server.SysFile;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppDetailsDto {
/** id */
private Long id;
/** 发起人员id */
private Long createUserId;
/** 发起人员名称 */
private String createUserName;
/** 项目负责人id */
private Long leaderUserId;
/** 项目负责人名称 */
private String leaderUserName;
/** 状态 */
private String status;
/** 发起时间 */
private Date startTime;
/** 结束时间 */
private Date endTime;
/** 任务流程节点 */
private String statusKey;
/** 任务详情 */
private RiskPlanAppTaskDetailsDto detailsDto;
/** 风险清单 */
private List<RiskPlanAppRiskBuildingListDto> riskBuildingListDtos;
/** 风险清单 */
private List<RiskPlanAppApproveListDto> approveListDtos;
/** 风险评估报告 */
private List<SysFile> files;
}
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.Date;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppListDto {
/** id */
private Long id;
/** 计划名称 */
private String name;
/** 发起时间 */
private Date startTime;
/** 状态 */
private String status;
/** 处理人员 */
private String leaderUserName;
}
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.Date;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppRiskBuildingListDto {
/** 建筑id */
private Long buildingId;
/** 建筑名称 */
private String buildingName;
/** 固有风险数量 */
private Integer inherentNumber;
/** 现有风险数量 */
private Integer existingNumber;
/** 状态 */
private String status;
}
package com.censoft.censoftrongtong.domain.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppTaskDetailsDto {
/** id */
private Long id;
/** 任务编号 */
private String no;
/** 创建人员id */
private Long createUserId;
/** 创建人员名称 */
private String createUserName;
/** 创建单位 */
private Long createDeptId;
/** 创建单位名称 */
private String createDeptName;
/** 创建时间 */
private Date createTime;
/** 项目id */
private Long projectId;
/** 项目名称 */
private String projectName;
/** 所属单位id */
private Long projectDeptId;
/** 所属单位 */
private String projectDeptName;
/** 所在城市 */
private String city;
/** 楼栋ids */
private String buildingIds;
/** 楼栋名称 */
private String buildingNames;
/** 负责人id */
private Long leaderUserId;
/** 负责人名称 */
private String leaderUserName;
/** 执行人员ids */
private String workUserIds;
/** 执行人员名称 */
private String workUserNames;
/** 开始时间 */
private Date startTime;
/** 结束时间 */
private Date endTime;
}
package com.censoft.censoftrongtong.enums;
public enum RiskPlanStatusType {
/**
* 任务发起
*/
WAIT_START("WAIT_START"),
/**
* 风险评估
*/
RUNNING("RUNNING"),
/**
* 评估审核
*/
WAIT_FINISH("WAIT_APPROVE"),
/**
* 项目完成
*/
FINISH("FINISH"),
/**
* 已退回
*/
WAIT_ADJUST("WAIT_RETURN"),
/**
* 已撤销
*/
REVOKE("REVOKE");
private final String status;
RiskPlanStatusType(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public static String getTitleByStatus(String status){
switch (status){
case "WAIT_START":
return "任务发起";
case "RUNNING":
return "风险评估";
case "WAIT_APPROVE":
return "评估审核";
case "FINISH":
return "项目完成";
case "WAIT_RETURN":
return "已退回";
case "REVOKE":
return "已撤销";
}
return "";
}
}
package com.censoft.censoftrongtong.mapper;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.dto.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -59,4 +61,15 @@ public interface RiskPlanMapper
* @return 结果
*/
public int deleteRiskPlanByIds(Long[] ids);
List<RiskPlanAppListDto> getRiskPlanAppListDtoList(@Param("statusStringList") List<String> statusStringList
, @Param("createUserId") Long createUserId, @Param("leaderUserId") Long leaderUserId);
RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(@Param("planId") Long planId);
RiskPlanAppTaskDetailsDto getRiskPlanAppTaskDetailsDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppRiskBuildingListDto> getRiskBuildingListDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppApproveListDto> getApproveListDtoByPlanId(@Param("planId") Long planId);
}
package com.censoft.censoftrongtong.service;
import com.censoft.censoftrongtong.domain.LedgerProject;
import com.ruoyi.common.core.domain.entity.SysUser;
import java.util.List;
......@@ -67,4 +68,12 @@ public interface ILedgerProjectService
* @return 基础数据-项目集合
*/
public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject);
/**
* 获取项目所在部门下的所有人员
*
* @param projectId 项目id
* @return 人员list
*/
public List<SysUser> getUserListByProjectId(Long projectId);
}
package com.censoft.censoftrongtong.service;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppDetailsDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import java.util.List;
......@@ -59,4 +62,10 @@ public interface IRiskPlanService
* @return 结果
*/
public int deleteRiskPlanById(Long id);
int saveRiskPlan(RiskPlan riskPlan);
List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId, Long leaderUserId);
RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(Long planId);
}
......@@ -6,10 +6,14 @@ import com.censoft.censoftrongtong.domain.LedgerProject;
import com.censoft.censoftrongtong.mapper.LedgerProjectMapper;
import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 基础数据-项目Service业务层处理
*
......@@ -22,6 +26,9 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService
@Autowired
private LedgerProjectMapper ledgerProjectMapper;
@Resource
private ISysUserService userService;
/**
* 查询基础数据-项目
*
......@@ -100,4 +107,10 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService
public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject) {
return ledgerProjectMapper.getProjectListByDeptId(ledgerProject);
}
@Override
public List<SysUser> getUserListByProjectId(Long projectId) {
LedgerProject ledgerProject = selectLedgerProjectById(projectId);
return userService.getListByDeptIdUnder(ledgerProject.getDeptId());
}
}
package com.censoft.censoftrongtong.service.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.RiskPlanTask;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppDetailsDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.mapper.RiskPlanMapper;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.censoft.censoftrongtong.service.IRiskPlanTaskService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 风险计划Service业务层处理
*
*
* @author ruoyi
* @date 2023-06-26
*/
@Service
public class RiskPlanServiceImpl implements IRiskPlanService
{
public class RiskPlanServiceImpl implements IRiskPlanService {
@Autowired
private RiskPlanMapper riskPlanMapper;
@Resource
private IRiskPlanTaskService riskPlanTaskService;
/**
* 查询风险计划
*
*
* @param id 风险计划主键
* @return 风险计划
*/
@Override
public RiskPlan selectRiskPlanById(Long id)
{
public RiskPlan selectRiskPlanById(Long id) {
return riskPlanMapper.selectRiskPlanById(id);
}
/**
* 查询风险计划列表
*
*
* @param riskPlan 风险计划
* @return 风险计划
*/
@Override
public List<RiskPlan> selectRiskPlanList(RiskPlan riskPlan)
{
public List<RiskPlan> selectRiskPlanList(RiskPlan riskPlan) {
return riskPlanMapper.selectRiskPlanList(riskPlan);
}
/**
* 新增风险计划
*
*
* @param riskPlan 风险计划
* @return 结果
*/
@Override
public int insertRiskPlan(RiskPlan riskPlan)
{
public int insertRiskPlan(RiskPlan riskPlan) {
riskPlan.setCreateTime(DateUtils.getNowDate());
return riskPlanMapper.insertRiskPlan(riskPlan);
}
/**
* 修改风险计划
*
*
* @param riskPlan 风险计划
* @return 结果
*/
@Override
public int updateRiskPlan(RiskPlan riskPlan)
{
public int updateRiskPlan(RiskPlan riskPlan) {
riskPlan.setUpdateTime(DateUtils.getNowDate());
return riskPlanMapper.updateRiskPlan(riskPlan);
}
/**
* 批量删除风险计划
*
*
* @param ids 需要删除的风险计划主键
* @return 结果
*/
@Override
public int deleteRiskPlanByIds(Long[] ids)
{
public int deleteRiskPlanByIds(Long[] ids) {
return riskPlanMapper.deleteRiskPlanByIds(ids);
}
/**
* 删除风险计划信息
*
*
* @param id 风险计划主键
* @return 结果
*/
@Override
public int deleteRiskPlanById(Long id)
{
public int deleteRiskPlanById(Long id) {
return riskPlanMapper.deleteRiskPlanById(id);
}
@Override
public int saveRiskPlan(RiskPlan riskPlan) {
//插入主表
riskPlan.setNo(getNo());
riskPlan.setStatus(RiskPlanStatusType.RUNNING.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.setStatus("completed");
riskPlanTask.setStartTime(new Date());
riskPlanTask.setCompletedTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask);
//插入任务表 待执行风险评估
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.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
return i;
}
@Override
public List<RiskPlanAppListDto> getRiskPlanAppListDtoList(List<RiskPlanStatusType> statusList, Long createUserId, Long leaderUserId) {
List<String> statusStringList = null;
//枚举类转化为数据库存的状态值
if (statusList != null) {
statusStringList = statusList.stream()
.map(RiskPlanStatusType::getStatus)
.collect(Collectors.toList());
}
//查询并把状态值转化为状态名称
return riskPlanMapper.getRiskPlanAppListDtoList(statusStringList, createUserId, leaderUserId).stream().map(dto -> {
String status = RiskPlanStatusType.getTitleByStatus(dto.getStatus());
dto.setStatus(status);
return dto;
}).collect(Collectors.toList());
}
@Override
public RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(Long planId) {
//获取任务单基础信息
RiskPlanAppDetailsDto dto = riskPlanMapper.getRiskPlanAppDetailsDtoByPlanId(planId);
dto.setStatus(RiskPlanStatusType.getTitleByStatus(dto.getStatusKey()));
//获取任务详情
dto.setDetailsDto(riskPlanMapper.getRiskPlanAppTaskDetailsDtoByPlanId(planId));
//风险清单
dto.setRiskBuildingListDtos(riskPlanMapper.getRiskBuildingListDtoByPlanId(planId));
//审批记录
dto.setApproveListDtos(riskPlanMapper.getApproveListDtoByPlanId(planId));
//风险评估报告
dto.setFiles(new ArrayList());
return dto;
}
private String getNo() {
Random random = new Random();
int randomNumber = random.nextInt(1000); // 生成0到999之间的随机数
String formattedNumber = String.format("%03d", randomNumber); // 格式化为三位数,不足三位前面补0
return DateUtils.dateTimeNow() + formattedNumber;
}
}
......@@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createDeptId" column="create_dept_id" />
<result property="leaderUserId" column="leader_user_id" />
<result property="workUserIds" column="work_user_ids" />
<result property="approveUserId" column="approve_user_id" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="status" column="status" />
......@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectRiskPlanVo">
select id, name, no, project_id, building_ids, create_user_id, create_dept_id, leader_user_id, work_user_ids, start_time, end_time, status, del_flag, create_by, create_time, update_by, update_time from risk_plan
select id, name, no, project_id, building_ids, create_user_id, create_dept_id, leader_user_id, work_user_ids,approve_user_id, start_time, end_time, status, del_flag, create_by, create_time, update_by, update_time from risk_plan
</sql>
<select id="selectRiskPlanList" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" resultMap="RiskPlanResult">
......@@ -39,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null "> and create_dept_id = #{createDeptId}</if>
<if test="leaderUserId != null "> and leader_user_id = #{leaderUserId}</if>
<if test="workUserIds != null and workUserIds != ''"> and work_user_ids = #{workUserIds}</if>
<if test="approveUserId != null "> and approve_user_id = #{approveUserId}</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
<if test="endTime != null "> and end_time = #{endTime}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
......@@ -49,7 +51,127 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRiskPlanVo"/>
where id = #{id}
</select>
<select id="getRiskPlanAppListDtoList"
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="createUserId != null"> and rp.create_user_id = #{createUserId}</if>
<if test="leaderUserId != null"> and 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=")">
#{status}
</foreach>
</if>
</where>
ORDER BY
rp.start_time DESC
</select>
<select id="getRiskPlanAppDetailsDtoByPlanId"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppDetailsDto">
SELECT
rp.id,
su1.user_id AS createUserId,
su1.nick_name AS createUserName,
su2.user_id AS leaderUserId,
su2.nick_name AS leaderUserName,
rp.`status` AS statusKey ,
rp.start_time AS startTime,
rp.end_time AS endTime
FROM
risk_plan rp
LEFT JOIN sys_user su1 ON su1.user_id = rp.create_user_id
LEFT JOIN sys_user su2 ON su2.user_id = rp.leader_user_id
WHERE
rp.id = #{planId}
</select>
<select id="getRiskPlanAppTaskDetailsDtoByPlanId"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppTaskDetailsDto">
SELECT
rp.id,
rp.`no`,
su1.user_id AS createUserId,
su1.nick_name AS createUserName,
sd1.dept_id AS createDeptId,
sd1.dept_name AS createDeptName,
rp.create_time AS createTime,
lp.id AS projectId,
lp.`name` AS projectName,
sd2.dept_id AS projectDeptId,
sd2.dept_name AS projectDeptName,
lp.city,
rp.building_ids AS buildingIds,
( SELECT GROUP_CONCAT( `name` ) FROM ledger_building WHERE project_id = lp.id ) AS buildingNames,
su2.user_id AS leaderUserId,
su2.nick_name AS leaderUserName,
rp.work_user_ids AS workUserIds,
( SELECT GROUP_CONCAT( nick_name ) FROM sys_user WHERE FIND_IN_SET( user_id, rp.work_user_ids ) ) AS workUserNames,
rp.start_time AS startTime,
rp.end_time AS endTime
FROM
risk_plan rp
LEFT JOIN sys_user su1 ON su1.user_id = rp.create_user_id
LEFT JOIN sys_user su2 ON su2.user_id = rp.leader_user_id
LEFT JOIN sys_dept sd1 ON sd1.dept_id = rp.create_dept_id
LEFT JOIN ledger_project lp ON lp.id = rp.project_id
LEFT JOIN sys_dept sd2 ON sd2.dept_id = lp.dept_id
WHERE
rp.id = #{planId}
ORDER BY
rp.start_time DESC
</select>
<select id="getRiskBuildingListDtoByPlanId"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppRiskBuildingListDto">
SELECT
lb.id AS buildingId,
lb.`name` AS buildingName,
count( rpil.id ) AS inherentNumber,
count( rpel.id ) AS existingNumber
FROM
risk_plan rp
LEFT JOIN ledger_building lb ON FIND_IN_SET( lb.id, rp.building_ids )
LEFT JOIN ledger_floor lf ON lf.building_id = lb.id
LEFT JOIN ledger_room lr ON lr.floor_id = lf.id
LEFT JOIN risk_plan_inherent_list rpil ON rpil.room_id = lr.id
AND rpil.plan_id = rp.id
LEFT JOIN risk_plan_existing_list rpel ON rpel.room_id = lr.id
AND rpel.plan_id = rp.id
WHERE
rp.id = #{planId}
AND lf.`status` = '0'
AND lf.del_flag = '0'
AND lr.`status` = '0'
AND lr.del_flag = '0'
GROUP BY
lb.id
</select>
<select id="getApproveListDtoByPlanId"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveListDto">
SELECT
rpt.id AS taskId,
rpt.start_time AS startTime,
rpt.approval_user_id AS approvalUserId,
su.nick_name AS approvalUserName,
rpt.task_name AS taskName,
rpt.task_result AS taskResult
FROM
risk_plan_task rpt
LEFT JOIN sys_user su ON su.user_id = rpt.approval_user_id
WHERE
rpt.plan_id = #{planId}
ORDER BY
rpt.start_time ASC
</select>
<insert id="insertRiskPlan" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" useGeneratedKeys="true" keyProperty="id">
insert into risk_plan
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -61,6 +183,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">create_dept_id,</if>
<if test="leaderUserId != null">leader_user_id,</if>
<if test="workUserIds != null">work_user_ids,</if>
<if test="approveUserId != null">approve_user_id,</if>
<if test="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</if>
<if test="status != null">status,</if>
......@@ -79,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">#{createDeptId},</if>
<if test="leaderUserId != null">#{leaderUserId},</if>
<if test="workUserIds != null">#{workUserIds},</if>
<if test="approveUserId != null">#{approveUserId},</if>
<if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</if>
<if test="status != null">#{status},</if>
......@@ -101,6 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">create_dept_id = #{createDeptId},</if>
<if test="leaderUserId != null">leader_user_id = #{leaderUserId},</if>
<if test="workUserIds != null">work_user_ids = #{workUserIds},</if>
<if test="approveUserId != null">approve_user_id = #{approveUserId},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if>
<if test="status != null">status = #{status},</if>
......
......@@ -7,11 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="com.censoft.censoftrongtong.domain.RiskPlanTask" id="RiskPlanTaskResult">
<result property="id" column="id" />
<result property="planId" column="plan_id" />
<result property="taskKey" column="task_key" />
<result property="taskName" column="task_name" />
<result property="taskResult" column="task_result" />
<result property="taskOpinion" column="task_opinion" />
<result property="approvalDeptId" column="approval_dept_id" />
<result property="approvalRoleKey" column="approval_role_key" />
<result property="status" column="status" />
<result property="approvalUserId" column="approval_user_id" />
<result property="startTime" column="start_time" />
......@@ -19,18 +18,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectRiskPlanTaskVo">
select id, plan_id, task_name, task_result, task_opinion, approval_dept_id, approval_role_key, status, approval_user_id, start_time, completed_time from risk_plan_task
select id, plan_id, task_key, task_name, task_result, task_opinion, status, approval_user_id, start_time, completed_time from risk_plan_task
</sql>
<select id="selectRiskPlanTaskList" parameterType="com.censoft.censoftrongtong.domain.RiskPlanTask" resultMap="RiskPlanTaskResult">
<include refid="selectRiskPlanTaskVo"/>
<where>
<if test="planId != null "> and plan_id = #{planId}</if>
<if test="taskKey != null and taskKey != ''"> and task_key = #{taskKey}</if>
<if test="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
<if test="taskResult != null and taskResult != ''"> and task_result = #{taskResult}</if>
<if test="taskOpinion != null and taskOpinion != ''"> and task_opinion = #{taskOpinion}</if>
<if test="approvalDeptId != null "> and approval_dept_id = #{approvalDeptId}</if>
<if test="approvalRoleKey != null and approvalRoleKey != ''"> and approval_role_key = #{approvalRoleKey}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="approvalUserId != null "> and approval_user_id = #{approvalUserId}</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
......@@ -47,11 +45,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into risk_plan_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planId != null">plan_id,</if>
<if test="taskKey != null">task_key,</if>
<if test="taskName != null">task_name,</if>
<if test="taskResult != null">task_result,</if>
<if test="taskOpinion != null">task_opinion,</if>
<if test="approvalDeptId != null">approval_dept_id,</if>
<if test="approvalRoleKey != null">approval_role_key,</if>
<if test="status != null">status,</if>
<if test="approvalUserId != null">approval_user_id,</if>
<if test="startTime != null">start_time,</if>
......@@ -59,11 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="planId != null">#{planId},</if>
<if test="taskKey != null">#{taskKey},</if>
<if test="taskName != null">#{taskName},</if>
<if test="taskResult != null">#{taskResult},</if>
<if test="taskOpinion != null">#{taskOpinion},</if>
<if test="approvalDeptId != null">#{approvalDeptId},</if>
<if test="approvalRoleKey != null">#{approvalRoleKey},</if>
<if test="status != null">#{status},</if>
<if test="approvalUserId != null">#{approvalUserId},</if>
<if test="startTime != null">#{startTime},</if>
......@@ -75,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update risk_plan_task
<trim prefix="SET" suffixOverrides=",">
<if test="planId != null">plan_id = #{planId},</if>
<if test="taskKey != null">task_key = #{taskKey},</if>
<if test="taskName != null">task_name = #{taskName},</if>
<if test="taskResult != null">task_result = #{taskResult},</if>
<if test="taskOpinion != null">task_opinion = #{taskOpinion},</if>
......
......@@ -124,4 +124,6 @@ public interface SysUserMapper
* @return 结果
*/
public SysUser checkEmailUnique(String email);
List<SysUser> getListByDeptIdUnder(@Param("deptId") Long deptId);
}
......@@ -203,4 +203,12 @@ public interface ISysUserService
* @return 结果
*/
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
/**
* 获取部门及以下的人员
*
* @param deptId 部门id
* @return 用户信息集合信息
*/
List<SysUser> getListByDeptIdUnder(Long deptId);
}
......@@ -541,4 +541,9 @@ public class SysUserServiceImpl implements ISysUserService
}
return successMsg.toString();
}
@Override
public List<SysUser> getListByDeptIdUnder(Long deptId) {
return userMapper.getListByDeptIdUnder(deptId);
}
}
......@@ -141,8 +141,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
</select>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
<select id="getListByDeptIdUnder" resultMap="SysUserResult">
SELECT
u.user_id,
u.dept_id,
u.nick_name,
u.user_name,
u.email,
u.avatar,
u.phonenumber,
u.sex,
u.STATUS,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark,
d.dept_name,
d.leader
FROM
sys_user u
LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
WHERE
u.del_flag = '0'
AND ( u.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = #{deptId} OR find_in_set( #{deptId}, ancestors ) ) )
</select>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if>
<if test="deptId != null and deptId != 0">dept_id,</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