Commit 18935870 authored by 鲍德's avatar 鲍德

Merge branch 'develop' into dev-鲍德

parents 053cfcfc c39e94b4
......@@ -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,31 +130,101 @@ 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 ,null);
String finalState = state;
list.forEach(dto -> {
dto.setState(finalState);
});
return R.ok(list);
}
/**
* 任务执行情况列表
*
* @param status 状态 wait 待评估,running 执行中,finish 已完成
* @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,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);
}
/**
* 任务执行情况-楼栋详情列表
*
* @param planId 任务id
* @real_return {@link R<List<RiskPlanAppListDto>>}
*/
@GetMapping("/allocation/building/list/{planId}")
public R<List<RiskPlanAppBuildingListDto>> getRiskPlanAppBuildingListDtoByPlanId(@PathVariable Long planId) {
return R.ok(riskPlanUserBuildingService.getRiskPlanAppBuildingListDtoByPlanId(planId));
}
/**
* 风险评估列表
*
* @param status 状态 running 待执行,finish 已执行,return 已退回
* @real_return {@link R<List<RiskPlanAppListDto>>}
*/
@GetMapping("/task/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByLeaderUser() {
return R.ok(riskPlanService.getRiskPlanAppListDtoList(null, null, getUserId()));
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByLeaderUser(String status) {
List<RiskPlanStatusType> statusList = new ArrayList<>();
String state = "";
if ("running".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.CREATE_TASK,RiskPlanStatusType.WAIT_START,RiskPlanStatusType.RUNNING);
state = "待执行";
} else if ("finish".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_LEADER_APPROVE,RiskPlanStatusType.WAIT_APPROVE
,RiskPlanStatusType.PROJECT_REPORT,RiskPlanStatusType.FINISH);
state = "已执行";
} else if ("return".equals(status)) {
statusList = Arrays.asList(RiskPlanStatusType.WAIT_RETURN);
state = "已退回";
}
List<RiskPlanAppListDto> list = riskPlanService.getRiskPlanAppListDtoList(statusList, null, null,getUserId());
String finalState = state;
list.forEach(dto -> {
Long finishNumber = riskPlanUserBuildingService.countStatusByPlanIdAndStatus(dto.getId(), "finish");
Long totalNumber = riskPlanUserBuildingService.countStatusByPlanIdAndStatus(dto.getId(), null);
dto.setState(finalState+"("+finishNumber+"/"+totalNumber+")");
});
return R.ok(list);
}
/**
......@@ -160,8 +234,8 @@ public class RiskPlanAppController extends BaseController {
* @real_return {@link R<RiskPlanAppDetailsDto>}
*/
@GetMapping("/details/{planId}")
public R<RiskPlanAppDetailsDto> getRiskPlanAppDetailsDtoByPlanId(@PathVariable("planId") Long planId) {
return R.ok(riskPlanService.getRiskPlanAppDetailsDtoByPlanId(planId));
public R<RiskPlanAppDetailsDto> getRiskPlanAppDetailsDtoByPlanId(@PathVariable("planId") Long planId,Long buildingId) {
return R.ok(riskPlanService.getRiskPlanAppDetailsDtoByPlanId(planId,buildingId));
}
/**
......@@ -343,16 +417,28 @@ 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}/{buildingId}")
public R<Integer> submitByPlanIdAndBuildingId(@PathVariable Long planId, @PathVariable Long buildingId) {
return R.ok(riskPlanUserBuildingService.submitByPlanIdAndBuildingId(planId,buildingId, getUserId()));
}
/**
* 根据风险任务审批列表
*
* @param status 状态 running 待审批 completed 已审批
* @real_return {@link R<List<RiskPlanAppExistingListDto>>}
*/
@GetMapping("/approve/list")
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser() {
List<RiskPlanStatusType> statusList = Arrays.asList(RiskPlanStatusType.WAIT_FINISH);
return R.ok(riskPlanService.getRiskPlanAppListDtoList(statusList, null, getUserId()));
public R<List<RiskPlanAppListDto>> getRiskPlanAppListDtoListByApproveUser(String status) {
return R.ok(riskPlanService.getRiskPlanAppListDtoListByApproveUser(getUserId(),status));
}
......@@ -363,6 +449,7 @@ public class RiskPlanAppController extends BaseController {
*/
@PostMapping("/approve")
public R<Integer> approveAppApproveDto(@RequestBody RiskPlanAppApproveDto appApproveDto) {
appApproveDto.setUserId(getUserId());
return R.ok(riskPlanService.approveAppApproveDto(appApproveDto));
}
......
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;
/**
* 提交人id
*/
@TableField("submit_user_id")
private Long submitUserId;
/**
* 经办结果
*/
@TableField("task_result")
private String taskResult;
/**
* 经办意见
*/
@TableField("task_opinion")
private String taskOpinion;
/**
* 审批人id
*/
@TableField("approval_user_id")
private Long approvalUserId;
}
package com.censoft.censoftrongtong.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author 周昊
* @desc ...
* @date 2023-06-27 14:45:45
*/
@Data
public class RiskPlanAppApproveBuildingDto {
/** id */
private Long buildingId;
/** 经办结果 */
private String taskResult;
/** 经办意见 */
private String taskOpinion;
}
......@@ -3,6 +3,8 @@ package com.censoft.censoftrongtong.domain.dto;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.List;
/**
* @author 周昊
......@@ -19,4 +21,10 @@ public class RiskPlanAppApproveDto {
/** 经办意见 */
private String taskOpinion;
/** 操作人id */
private Long userId;
/** 楼宇经办意见 */
private List<RiskPlanAppApproveBuildingDto> buildingDtos;
}
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 RiskPlanAppBuildingListDto {
/** 计划id */
private Long id;
/** 楼宇id */
private Long buildingId;
/** 楼宇名称 */
private String buildingName;
/** 创建人员 */
private String createUserName;
/** 处理人员 */
private String workUserNames;
/** 发起时间 */
private Date startTime;
/** 状态 */
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;
}
}
......@@ -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,13 +65,16 @@ 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);
RiskPlanAppTaskDetailsDto getRiskPlanAppTaskDetailsDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppRiskBuildingListDto> getRiskBuildingListDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppRiskBuildingListDto> getRiskBuildingListDtoByPlanId(@Param("planId") Long planId
,@Param("buildingId") Long buildingId);
List<RiskPlanAppApproveListDto> getApproveListDtoByPlanId(@Param("planId") Long planId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(@Param("userId") Long userId,@Param("status") String status);
}
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 com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 计划人员与楼宇关系表Mapper接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface RiskPlanUserBuildingMapper extends BaseMapper<RiskPlanUserBuilding> {
List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(@Param("planId") Long planId);
}
......@@ -67,13 +67,16 @@ 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);
RiskPlanAppDetailsDto getRiskPlanAppDetailsDtoByPlanId(Long planId,Long buildingId);
List<LedgerBuilding> getBuildingListByPlanId(Long planId);
int approveAppApproveDto(RiskPlanAppApproveDto appApproveDto);
int revokeByPlanId(Long planId, Long userId);
List<RiskPlanAppListDto> getRiskPlanAppListDtoListByApproveUser(Long userId,String status);
}
package com.censoft.censoftrongtong.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.censoft.censoftrongtong.domain.RiskPlanUserBuilding;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveBuildingDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import java.util.List;
/**
* 基Service接口
*
* @author ruoyi
* @date 2023-06-26
*/
public interface IRiskPlanUserBuildingService extends IService<RiskPlanUserBuilding> {
Long countStatusByPlanIdAndStatus(Long planId, String status);
List<RiskPlanAppBuildingListDto> getRiskPlanAppBuildingListDtoByPlanId(Long planId);
Integer submitByPlanIdAndBuildingId(Long planId, Long buildingId, Long userId);
void updateByRiskPlanAppApproveBuildingDto(Long planId,Long userId, List<RiskPlanAppApproveBuildingDto> buildingDtos);
}
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.RiskPlanAppApproveBuildingDto;
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;
/**
* 基础数据-楼层Service业务层处理
*
* @author ruoyi
* @date 2023-06-26
*/
@Service
public class RiskPlanUserBuildingServiceImpl
extends ServiceImpl<RiskPlanUserBuildingMapper, RiskPlanUserBuilding>
implements IRiskPlanUserBuildingService {
@Resource
private RiskPlanUserBuildingMapper riskPlanUserBuildingMapper;
@Resource
private IRiskPlanService riskPlanService;
@Resource
private IRiskPlanTaskService riskPlanTaskService;
@Override
public Long countStatusByPlanIdAndStatus(Long planId, String status) {
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper.eq(RiskPlanUserBuilding::getPlanId, planId);
if (status != null){
wrapper = wrapper.eq(RiskPlanUserBuilding::getStatus, status);
}
return count(wrapper);
}
@Override
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);
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.getTitle());
riskPlanTask1.setStatus("running");
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.WAIT_LEADER_APPROVE.getStatus());
riskPlanService.updateRiskPlan(riskPlan);
}
return 1;
}
@Override
public void updateByRiskPlanAppApproveBuildingDto(Long planId, Long userId, List<RiskPlanAppApproveBuildingDto> buildingDtos) {
buildingDtos.forEach(dto -> {
LambdaQueryWrapper<RiskPlanUserBuilding> wrapper = new LambdaQueryWrapper<>();
wrapper = wrapper
.eq(RiskPlanUserBuilding::getPlanId, planId)
.eq(RiskPlanUserBuilding::getBuildingId, dto.getBuildingId());
RiskPlanUserBuilding planUserBuilding = getOne(wrapper);
planUserBuilding.setTaskResult(dto.getTaskResult());
planUserBuilding.setTaskOpinion(dto.getTaskOpinion());
planUserBuilding.setStatus("return");
planUserBuilding.setApprovalUserId(userId);
updateById(planUserBuilding);
});
}
}
......@@ -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>
......
......@@ -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(#{workUserId},rp.work_user_ids) or rp.leader_user_id = #{workUserId}) </if>
<if test="statusStringList != null and statusStringList.size >0">
and rp.`status` in
<foreach collection="statusStringList" item="status" open="(" separator="," close=")">
......@@ -151,6 +152,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND lf.del_flag = '0'
AND lr.`status` = '0'
AND lr.del_flag = '0'
<if test="buildingId != null">
AND lb.id = #{buildingId}
</if>
GROUP BY
lb.id
</select>
......@@ -171,6 +175,34 @@ 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
LEFT JOIN risk_plan_task rpt ON rpt.plan_id = rp.id
<where>
<if test="userId != null">
and ((rpt.approval_user_id = #{userId} and (rpt.task_key = 'WAIT_LEADER_APPROVE' or rpt.task_key = 'WAIT_RETURN'))
or
(rpt.approval_user_id = #{userId} and rpt.task_key = 'WAIT_APPROVE'))
</if>
<if test="status != null and status != '' ">
and rpt.`status` = #{status}
</if>
</where>
GROUP BY
rp.id
ORDER BY
rp.start_time DESC
</select>
<insert id="insertRiskPlan" parameterType="com.censoft.censoftrongtong.domain.RiskPlan" useGeneratedKeys="true" keyProperty="id">
insert into risk_plan
......
......@@ -43,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getLastRiskPlanTaskByPlanId" resultMap="RiskPlanTaskResult">
<include refid="selectRiskPlanTaskVo"/>
where plan_id = #{id}
order BY start_time desc
order BY start_time desc,id desc
limit 1
</select>
......@@ -81,8 +81,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="taskName != null">task_name = #{taskName},</if>
<if test="taskResult != null">task_result = #{taskResult},</if>
<if test="taskOpinion != null">task_opinion = #{taskOpinion},</if>
<if test="approvalDeptId != null">approval_dept_id = #{approvalDeptId},</if>
<if test="approvalRoleKey != null">approval_role_key = #{approvalRoleKey},</if>
<if test="status != null">status = #{status},</if>
<if test="approvalUserId != null">approval_user_id = #{approvalUserId},</if>
<if test="startTime != null">start_time = #{startTime},</if>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper">
<select id="getRiskPlanAppBuildingListDtoByPlanId"
resultType="com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto">
SELECT
rp.id,
rpub.building_id AS buildingId,
lb.`name` AS buildingName,
( SELECT nick_name FROM sys_user WHERE user_id = rp.create_user_id ) AS createUserName,
( SELECT GROUP_CONCAT( nick_name ) FROM sys_user WHERE FIND_IN_SET( user_id, rpub.user_ids ) ) AS workUserNames,
rpub.start_time AS startTime,
rpub.`status`
FROM
risk_plan rp
LEFT JOIN risk_plan_user_building rpub ON rpub.plan_id = rp.id
LEFT JOIN ledger_building lb ON lb.id = rpub.building_id
WHERE
rp.id = #{planId}
</select>
</mapper>
\ No newline at end of file
package com.ruoyi.web.controller.app;
import com.censoft.censoftrongtong.domain.*;
import com.censoft.censoftrongtong.domain.dto.*;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.service.*;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUploadFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 菜单app端接口
*
* @author censoft
* @date 2023-06-27
* @module 融通项目
*/
@RestController
@RequestMapping("/app-api/menu")
public class SysMenuAppController extends BaseController {
@Autowired
private ISysMenuService menuService;
/**
* 菜单栏
*
* @param httpServletRequest
* @return
*/
@GetMapping("/getMenu")
@ResponseBody
public AjaxResult menu(HttpServletRequest httpServletRequest) {
SysMenu menu = new SysMenu();
menu.setParentId(2055L);
menu.getParams().put("userId", getUserId());
Map menus = new HashMap<>();
if (SysUser.isAdmin(getUserId())) {
menu.getParams().put("isAdmin", true);
}
List<SysMenu> title = menuService.selectMenusApp(menu);
for (int i = 0; i < title.size(); i++) {
menu.setParentId(title.get(i).getMenuId());
List<SysMenu> menus1 = menuService.selectMenusApp(menu);
menus.put(title.get(i).getMenuName(), menus1);
}
return AjaxResult.success(menus);
}
}
......@@ -19,6 +19,13 @@ public interface SysMenuMapper
*/
public List<SysMenu> selectMenuList(SysMenu menu);
/**
* 查询移动端菜单
* @param menu
* @return
*/
public List<SysMenu> selectMenusApp(SysMenu menu);
/**
* 根据用户所有权限
*
......
......@@ -2,29 +2,36 @@ package com.ruoyi.system.service;
import java.util.List;
import java.util.Set;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.system.domain.vo.RouterVo;
/**
* 菜单 业务层
*
*
* @author ruoyi
*/
public interface ISysMenuService
{
public interface ISysMenuService {
/**
* 根据用户查询系统菜单列表
*
*
* @param userId 用户ID
* @return 菜单列表
*/
public List<SysMenu> selectMenuList(Long userId);
/**
* 根据用户查询移动端菜单列表
*
* @return 菜单列表
*/
public List<SysMenu> selectMenusApp(SysMenu menu);
/**
* 根据用户查询系统菜单列表
*
* @param menu 菜单信息
*
* @param menu 菜单信息
* @param userId 用户ID
* @return 菜单列表
*/
......@@ -32,7 +39,7 @@ public interface ISysMenuService
/**
* 根据用户ID查询权限
*
*
* @param userId 用户ID
* @return 权限列表
*/
......@@ -40,7 +47,7 @@ public interface ISysMenuService
/**
* 根据角色ID查询权限
*
*
* @param roleId 角色ID
* @return 权限列表
*/
......@@ -48,7 +55,7 @@ public interface ISysMenuService
/**
* 根据用户ID查询菜单树信息
*
*
* @param userId 用户ID
* @return 菜单列表
*/
......@@ -56,7 +63,7 @@ public interface ISysMenuService
/**
* 根据角色ID查询菜单树信息
*
*
* @param roleId 角色ID
* @return 选中菜单列表
*/
......@@ -64,7 +71,7 @@ public interface ISysMenuService
/**
* 构建前端路由所需要的菜单
*
*
* @param menus 菜单列表
* @return 路由列表
*/
......@@ -72,7 +79,7 @@ public interface ISysMenuService
/**
* 构建前端所需要树结构
*
*
* @param menus 菜单列表
* @return 树结构列表
*/
......@@ -80,7 +87,7 @@ public interface ISysMenuService
/**
* 构建前端所需要下拉树结构
*
*
* @param menus 菜单列表
* @return 下拉树结构列表
*/
......@@ -88,7 +95,7 @@ public interface ISysMenuService
/**
* 根据菜单ID查询信息
*
*
* @param menuId 菜单ID
* @return 菜单信息
*/
......@@ -96,7 +103,7 @@ public interface ISysMenuService
/**
* 是否存在菜单子节点
*
*
* @param menuId 菜单ID
* @return 结果 true 存在 false 不存在
*/
......@@ -104,7 +111,7 @@ public interface ISysMenuService
/**
* 查询菜单是否存在角色
*
*
* @param menuId 菜单ID
* @return 结果 true 存在 false 不存在
*/
......@@ -112,7 +119,7 @@ public interface ISysMenuService
/**
* 新增保存菜单信息
*
*
* @param menu 菜单信息
* @return 结果
*/
......@@ -120,7 +127,7 @@ public interface ISysMenuService
/**
* 修改保存菜单信息
*
*
* @param menu 菜单信息
* @return 结果
*/
......@@ -128,7 +135,7 @@ public interface ISysMenuService
/**
* 删除菜单管理信息
*
*
* @param menuId 菜单ID
* @return 结果
*/
......@@ -136,7 +143,7 @@ public interface ISysMenuService
/**
* 校验菜单名称是否唯一
*
*
* @param menu 菜单信息
* @return 结果
*/
......
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