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; ...@@ -2,19 +2,24 @@ package com.censoft.censoftrongtong.controller;
import com.censoft.censoftrongtong.domain.LedgerBuilding; import com.censoft.censoftrongtong.domain.LedgerBuilding;
import com.censoft.censoftrongtong.domain.LedgerProject; 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.ILedgerBuildingService;
import com.censoft.censoftrongtong.service.ILedgerProjectService; import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import org.springframework.web.bind.annotation.GetMapping; import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* 计划app端接口 * 计划app端接口
* *
...@@ -32,6 +37,9 @@ public class RiskPlanAppController extends BaseController { ...@@ -32,6 +37,9 @@ public class RiskPlanAppController extends BaseController {
@Resource @Resource
private ILedgerBuildingService ledgerBuildingService; private ILedgerBuildingService ledgerBuildingService;
@Resource
private IRiskPlanService riskPlanService;
/** /**
* 获取自身部门及以下的项目 * 获取自身部门及以下的项目
* *
...@@ -44,14 +52,78 @@ public class RiskPlanAppController extends BaseController { ...@@ -44,14 +52,78 @@ public class RiskPlanAppController extends BaseController {
ledgerProject.setDeptId(getLoginUser().getDeptId()); ledgerProject.setDeptId(getLoginUser().getDeptId());
return R.ok(ledgerProjectService.getProjectListByDeptId(ledgerProject)); return R.ok(ledgerProjectService.getProjectListByDeptId(ledgerProject));
} }
/** /**
* 获取项目下的楼宇 * 获取项目下的楼宇
* *
* @param projectId 项目id * @param projectId 项目id
* @real_return {@link R<List<LedgerProject>>} * @real_return {@link R<List<LedgerBuilding>>}
*/ */
@GetMapping("/building/list/{projectId}") @GetMapping("/building/list/{projectId}")
public R<List<LedgerBuilding>> getBuildingListByProjectId(@PathVariable Long projectId){ public R<List<LedgerBuilding>> getBuildingListByProjectId(@PathVariable Long projectId){
return R.ok(ledgerBuildingService.getBuildingListByProjectId(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 ...@@ -52,6 +52,10 @@ public class RiskPlan extends BaseEntity
@Excel(name = "执行人员ids") @Excel(name = "执行人员ids")
private String workUserIds; private String workUserIds;
/** 审批人id */
@Excel(name = "审批人id")
private Long approveUserId;
/** 开始时间 */ /** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
...@@ -187,6 +191,14 @@ public class RiskPlan extends BaseEntity ...@@ -187,6 +191,14 @@ public class RiskPlan extends BaseEntity
return delFlag; return delFlag;
} }
public Long getApproveUserId() {
return approveUserId;
}
public void setApproveUserId(Long approveUserId) {
this.approveUserId = approveUserId;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
......
...@@ -24,6 +24,10 @@ public class RiskPlanTask extends BaseEntity ...@@ -24,6 +24,10 @@ public class RiskPlanTask extends BaseEntity
@Excel(name = "计划id") @Excel(name = "计划id")
private Long planId; private Long planId;
/** 任务状态key值 */
@Excel(name = "任务状态key值")
private String taskKey;
/** 任务名称 */ /** 任务名称 */
@Excel(name = "任务名称") @Excel(name = "任务名称")
private String taskName; private String taskName;
...@@ -36,14 +40,6 @@ public class RiskPlanTask extends BaseEntity ...@@ -36,14 +40,6 @@ public class RiskPlanTask extends BaseEntity
@Excel(name = "经办意见") @Excel(name = "经办意见")
private String taskOpinion; private String taskOpinion;
/** 审批单位 */
@Excel(name = "审批单位")
private Long approvalDeptId;
/** 审批角色 */
@Excel(name = "审批角色")
private String approvalRoleKey;
/** 状态 */ /** 状态 */
@Excel(name = "状态") @Excel(name = "状态")
private String status; private String status;
...@@ -107,25 +103,16 @@ public class RiskPlanTask extends BaseEntity ...@@ -107,25 +103,16 @@ public class RiskPlanTask extends BaseEntity
{ {
return taskOpinion; return taskOpinion;
} }
public void setApprovalDeptId(Long approvalDeptId)
{
this.approvalDeptId = approvalDeptId;
}
public Long getApprovalDeptId() public String getTaskKey() {
{ return taskKey;
return approvalDeptId;
}
public void setApprovalRoleKey(String approvalRoleKey)
{
this.approvalRoleKey = approvalRoleKey;
} }
public String getApprovalRoleKey() public void setTaskKey(String taskKey) {
{ this.taskKey = taskKey;
return approvalRoleKey;
} }
public void setStatus(String status)
public void setStatus(String status)
{ {
this.status = status; this.status = status;
} }
...@@ -170,8 +157,6 @@ public class RiskPlanTask extends BaseEntity ...@@ -170,8 +157,6 @@ public class RiskPlanTask extends BaseEntity
.append("taskName", getTaskName()) .append("taskName", getTaskName())
.append("taskResult", getTaskResult()) .append("taskResult", getTaskResult())
.append("taskOpinion", getTaskOpinion()) .append("taskOpinion", getTaskOpinion())
.append("approvalDeptId", getApprovalDeptId())
.append("approvalRoleKey", getApprovalRoleKey())
.append("status", getStatus()) .append("status", getStatus())
.append("approvalUserId", getApprovalUserId()) .append("approvalUserId", getApprovalUserId())
.append("startTime", getStartTime()) .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; package com.censoft.censoftrongtong.mapper;
import com.censoft.censoftrongtong.domain.RiskPlan; import com.censoft.censoftrongtong.domain.RiskPlan;
import com.censoft.censoftrongtong.domain.dto.*;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -59,4 +61,15 @@ public interface RiskPlanMapper ...@@ -59,4 +61,15 @@ public interface RiskPlanMapper
* @return 结果 * @return 结果
*/ */
public int deleteRiskPlanByIds(Long[] ids); 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; package com.censoft.censoftrongtong.service;
import com.censoft.censoftrongtong.domain.LedgerProject; import com.censoft.censoftrongtong.domain.LedgerProject;
import com.ruoyi.common.core.domain.entity.SysUser;
import java.util.List; import java.util.List;
...@@ -67,4 +68,12 @@ public interface ILedgerProjectService ...@@ -67,4 +68,12 @@ public interface ILedgerProjectService
* @return 基础数据-项目集合 * @return 基础数据-项目集合
*/ */
public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject); public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject);
/**
* 获取项目所在部门下的所有人员
*
* @param projectId 项目id
* @return 人员list
*/
public List<SysUser> getUserListByProjectId(Long projectId);
} }
package com.censoft.censoftrongtong.service; package com.censoft.censoftrongtong.service;
import com.censoft.censoftrongtong.domain.RiskPlan; 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; import java.util.List;
...@@ -59,4 +62,10 @@ public interface IRiskPlanService ...@@ -59,4 +62,10 @@ public interface IRiskPlanService
* @return 结果 * @return 结果
*/ */
public int deleteRiskPlanById(Long id); 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; ...@@ -6,10 +6,14 @@ import com.censoft.censoftrongtong.domain.LedgerProject;
import com.censoft.censoftrongtong.mapper.LedgerProjectMapper; import com.censoft.censoftrongtong.mapper.LedgerProjectMapper;
import com.censoft.censoftrongtong.service.ILedgerProjectService; import com.censoft.censoftrongtong.service.ILedgerProjectService;
import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/** /**
* 基础数据-项目Service业务层处理 * 基础数据-项目Service业务层处理
* *
...@@ -22,6 +26,9 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService ...@@ -22,6 +26,9 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService
@Autowired @Autowired
private LedgerProjectMapper ledgerProjectMapper; private LedgerProjectMapper ledgerProjectMapper;
@Resource
private ISysUserService userService;
/** /**
* 查询基础数据-项目 * 查询基础数据-项目
* *
...@@ -100,4 +107,10 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService ...@@ -100,4 +107,10 @@ public class LedgerProjectServiceImpl implements ILedgerProjectService
public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject) { public List<LedgerProject> getProjectListByDeptId(LedgerProject ledgerProject) {
return ledgerProjectMapper.getProjectListByDeptId(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; 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.List;
import java.util.Random;
import java.util.stream.Collectors;
import com.censoft.censoftrongtong.domain.RiskPlan; 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.mapper.RiskPlanMapper;
import com.censoft.censoftrongtong.service.IRiskPlanService; import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.censoft.censoftrongtong.service.IRiskPlanTaskService;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/** /**
* 风险计划Service业务层处理 * 风险计划Service业务层处理
* *
* @author ruoyi * @author ruoyi
* @date 2023-06-26 * @date 2023-06-26
*/ */
@Service @Service
public class RiskPlanServiceImpl implements IRiskPlanService public class RiskPlanServiceImpl implements IRiskPlanService {
{
@Autowired @Autowired
private RiskPlanMapper riskPlanMapper; private RiskPlanMapper riskPlanMapper;
@Resource
private IRiskPlanTaskService riskPlanTaskService;
/** /**
* 查询风险计划 * 查询风险计划
* *
* @param id 风险计划主键 * @param id 风险计划主键
* @return 风险计划 * @return 风险计划
*/ */
@Override @Override
public RiskPlan selectRiskPlanById(Long id) public RiskPlan selectRiskPlanById(Long id) {
{
return riskPlanMapper.selectRiskPlanById(id); return riskPlanMapper.selectRiskPlanById(id);
} }
/** /**
* 查询风险计划列表 * 查询风险计划列表
* *
* @param riskPlan 风险计划 * @param riskPlan 风险计划
* @return 风险计划 * @return 风险计划
*/ */
@Override @Override
public List<RiskPlan> selectRiskPlanList(RiskPlan riskPlan) public List<RiskPlan> selectRiskPlanList(RiskPlan riskPlan) {
{
return riskPlanMapper.selectRiskPlanList(riskPlan); return riskPlanMapper.selectRiskPlanList(riskPlan);
} }
/** /**
* 新增风险计划 * 新增风险计划
* *
* @param riskPlan 风险计划 * @param riskPlan 风险计划
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertRiskPlan(RiskPlan riskPlan) public int insertRiskPlan(RiskPlan riskPlan) {
{
riskPlan.setCreateTime(DateUtils.getNowDate()); riskPlan.setCreateTime(DateUtils.getNowDate());
return riskPlanMapper.insertRiskPlan(riskPlan); return riskPlanMapper.insertRiskPlan(riskPlan);
} }
/** /**
* 修改风险计划 * 修改风险计划
* *
* @param riskPlan 风险计划 * @param riskPlan 风险计划
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateRiskPlan(RiskPlan riskPlan) public int updateRiskPlan(RiskPlan riskPlan) {
{
riskPlan.setUpdateTime(DateUtils.getNowDate()); riskPlan.setUpdateTime(DateUtils.getNowDate());
return riskPlanMapper.updateRiskPlan(riskPlan); return riskPlanMapper.updateRiskPlan(riskPlan);
} }
/** /**
* 批量删除风险计划 * 批量删除风险计划
* *
* @param ids 需要删除的风险计划主键 * @param ids 需要删除的风险计划主键
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteRiskPlanByIds(Long[] ids) public int deleteRiskPlanByIds(Long[] ids) {
{
return riskPlanMapper.deleteRiskPlanByIds(ids); return riskPlanMapper.deleteRiskPlanByIds(ids);
} }
/** /**
* 删除风险计划信息 * 删除风险计划信息
* *
* @param id 风险计划主键 * @param id 风险计划主键
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteRiskPlanById(Long id) public int deleteRiskPlanById(Long id) {
{
return riskPlanMapper.deleteRiskPlanById(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" ...@@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createDeptId" column="create_dept_id" /> <result property="createDeptId" column="create_dept_id" />
<result property="leaderUserId" column="leader_user_id" /> <result property="leaderUserId" column="leader_user_id" />
<result property="workUserIds" column="work_user_ids" /> <result property="workUserIds" column="work_user_ids" />
<result property="approveUserId" column="approve_user_id" />
<result property="startTime" column="start_time" /> <result property="startTime" column="start_time" />
<result property="endTime" column="end_time" /> <result property="endTime" column="end_time" />
<result property="status" column="status" /> <result property="status" column="status" />
...@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectRiskPlanVo"> <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> </sql>
<select id="selectRiskPlanList" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" resultMap="RiskPlanResult"> <select id="selectRiskPlanList" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" resultMap="RiskPlanResult">
...@@ -39,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -39,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null "> and create_dept_id = #{createDeptId}</if> <if test="createDeptId != null "> and create_dept_id = #{createDeptId}</if>
<if test="leaderUserId != null "> and leader_user_id = #{leaderUserId}</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="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="startTime != null "> and start_time = #{startTime}</if>
<if test="endTime != null "> and end_time = #{endTime}</if> <if test="endTime != null "> and end_time = #{endTime}</if>
<if test="status != null and status != ''"> and status = #{status}</if> <if test="status != null and status != ''"> and status = #{status}</if>
...@@ -49,7 +51,127 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -49,7 +51,127 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRiskPlanVo"/> <include refid="selectRiskPlanVo"/>
where id = #{id} where id = #{id}
</select> </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 id="insertRiskPlan" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" useGeneratedKeys="true" keyProperty="id">
insert into risk_plan insert into risk_plan
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -61,6 +183,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -61,6 +183,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">create_dept_id,</if> <if test="createDeptId != null">create_dept_id,</if>
<if test="leaderUserId != null">leader_user_id,</if> <if test="leaderUserId != null">leader_user_id,</if>
<if test="workUserIds != null">work_user_ids,</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="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</if> <if test="endTime != null">end_time,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
...@@ -79,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -79,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">#{createDeptId},</if> <if test="createDeptId != null">#{createDeptId},</if>
<if test="leaderUserId != null">#{leaderUserId},</if> <if test="leaderUserId != null">#{leaderUserId},</if>
<if test="workUserIds != null">#{workUserIds},</if> <if test="workUserIds != null">#{workUserIds},</if>
<if test="approveUserId != null">#{approveUserId},</if>
<if test="startTime != null">#{startTime},</if> <if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</if> <if test="endTime != null">#{endTime},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
...@@ -101,6 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -101,6 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDeptId != null">create_dept_id = #{createDeptId},</if> <if test="createDeptId != null">create_dept_id = #{createDeptId},</if>
<if test="leaderUserId != null">leader_user_id = #{leaderUserId},</if> <if test="leaderUserId != null">leader_user_id = #{leaderUserId},</if>
<if test="workUserIds != null">work_user_ids = #{workUserIds},</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="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if> <if test="endTime != null">end_time = #{endTime},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
......
...@@ -7,11 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -7,11 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="com.censoft.censoftrongtong.domain.RiskPlanTask" id="RiskPlanTaskResult"> <resultMap type="com.censoft.censoftrongtong.domain.RiskPlanTask" id="RiskPlanTaskResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="planId" column="plan_id" /> <result property="planId" column="plan_id" />
<result property="taskKey" column="task_key" />
<result property="taskName" column="task_name" /> <result property="taskName" column="task_name" />
<result property="taskResult" column="task_result" /> <result property="taskResult" column="task_result" />
<result property="taskOpinion" column="task_opinion" /> <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="status" column="status" />
<result property="approvalUserId" column="approval_user_id" /> <result property="approvalUserId" column="approval_user_id" />
<result property="startTime" column="start_time" /> <result property="startTime" column="start_time" />
...@@ -19,18 +18,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -19,18 +18,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectRiskPlanTaskVo"> <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> </sql>
<select id="selectRiskPlanTaskList" parameterType="com.censoft.censoftrongtong.domain.RiskPlanTask" resultMap="RiskPlanTaskResult"> <select id="selectRiskPlanTaskList" parameterType="com.censoft.censoftrongtong.domain.RiskPlanTask" resultMap="RiskPlanTaskResult">
<include refid="selectRiskPlanTaskVo"/> <include refid="selectRiskPlanTaskVo"/>
<where> <where>
<if test="planId != null "> and plan_id = #{planId}</if> <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="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
<if test="taskResult != null and taskResult != ''"> and task_result = #{taskResult}</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="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="status != null and status != ''"> and status = #{status}</if>
<if test="approvalUserId != null "> and approval_user_id = #{approvalUserId}</if> <if test="approvalUserId != null "> and approval_user_id = #{approvalUserId}</if>
<if test="startTime != null "> and start_time = #{startTime}</if> <if test="startTime != null "> and start_time = #{startTime}</if>
...@@ -47,11 +45,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -47,11 +45,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into risk_plan_task insert into risk_plan_task
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planId != null">plan_id,</if> <if test="planId != null">plan_id,</if>
<if test="taskKey != null">task_key,</if>
<if test="taskName != null">task_name,</if> <if test="taskName != null">task_name,</if>
<if test="taskResult != null">task_result,</if> <if test="taskResult != null">task_result,</if>
<if test="taskOpinion != null">task_opinion,</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="status != null">status,</if>
<if test="approvalUserId != null">approval_user_id,</if> <if test="approvalUserId != null">approval_user_id,</if>
<if test="startTime != null">start_time,</if> <if test="startTime != null">start_time,</if>
...@@ -59,11 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -59,11 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="planId != null">#{planId},</if> <if test="planId != null">#{planId},</if>
<if test="taskKey != null">#{taskKey},</if>
<if test="taskName != null">#{taskName},</if> <if test="taskName != null">#{taskName},</if>
<if test="taskResult != null">#{taskResult},</if> <if test="taskResult != null">#{taskResult},</if>
<if test="taskOpinion != null">#{taskOpinion},</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="status != null">#{status},</if>
<if test="approvalUserId != null">#{approvalUserId},</if> <if test="approvalUserId != null">#{approvalUserId},</if>
<if test="startTime != null">#{startTime},</if> <if test="startTime != null">#{startTime},</if>
...@@ -75,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -75,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update risk_plan_task update risk_plan_task
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="planId != null">plan_id = #{planId},</if> <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="taskName != null">task_name = #{taskName},</if>
<if test="taskResult != null">task_result = #{taskResult},</if> <if test="taskResult != null">task_result = #{taskResult},</if>
<if test="taskOpinion != null">task_opinion = #{taskOpinion},</if> <if test="taskOpinion != null">task_opinion = #{taskOpinion},</if>
......
...@@ -124,4 +124,6 @@ public interface SysUserMapper ...@@ -124,4 +124,6 @@ public interface SysUserMapper
* @return 结果 * @return 结果
*/ */
public SysUser checkEmailUnique(String email); public SysUser checkEmailUnique(String email);
List<SysUser> getListByDeptIdUnder(@Param("deptId") Long deptId);
} }
...@@ -203,4 +203,12 @@ public interface ISysUserService ...@@ -203,4 +203,12 @@ public interface ISysUserService
* @return 结果 * @return 结果
*/ */
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); 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 ...@@ -541,4 +541,9 @@ public class SysUserServiceImpl implements ISysUserService
} }
return successMsg.toString(); 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" ...@@ -141,8 +141,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
</select> </select>
<select id="getListByDeptIdUnder" resultMap="SysUserResult">
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId"> 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( insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if> <if test="userId != null and userId != 0">user_id,</if>
<if test="deptId != null and deptId != 0">dept_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