Commit 02cd9be3 authored by 鲍德's avatar 鲍德

风险巡查用户请假功能

parent bc41b68f
......@@ -3,8 +3,15 @@ package com.censoft.censoftrongtong.controller;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysUserService;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
......@@ -29,21 +36,48 @@ import com.ruoyi.common.core.page.TableDataInfo;
* @date 2023-12-05
*/
@RestController
@AllArgsConstructor
@RequestMapping(value = {"/risk/currentRiskHoliday","/app-api/risk/currentRiskHoliday"})
public class CurrentRiskUserHolidayController extends BaseController
{
@Autowired
private ICurrentRiskUserHolidayService currentRiskUserHolidayService;
private ISysUserService sysUserService;
/**
* 查询现状风险巡查用户请假列表
*/
@PreAuthorize("@ss.hasPermi('risk:currentRiskHoliday:list')")
@GetMapping("/list")
public TableDataInfo list(CurrentRiskUserHoliday currentRiskUserHoliday)
{
startPage();
List<CurrentRiskUserHoliday> list = currentRiskUserHolidayService.selectCurrentRiskUserHolidayList(currentRiskUserHoliday);
QueryWrapper<CurrentRiskUserHoliday> queryWrapper = new QueryWrapper<>();
if("0".equals(currentRiskUserHoliday.getType())){
//申请人
queryWrapper.eq("apply_user_id",getUserId());
}else{
//审批人
queryWrapper.in("apply_user_id",currentRiskUserHolidayService.memberUserIds(getUserId()));
}
if(!StringUtils.isEmpty(currentRiskUserHoliday.getStatus())){
queryWrapper.eq("status",currentRiskUserHoliday.getStatus());
}
queryWrapper.orderByAsc(" status");
queryWrapper.orderByDesc("holiday_time");
List<CurrentRiskUserHoliday> list = currentRiskUserHolidayService.list(queryWrapper);
if(!CollectionUtils.isEmpty(list)){
list.forEach(holiday ->{
if("0".equals(currentRiskUserHoliday.getType())){
holiday.setApplyUserName(getUsername());
}else{
SysUser sysUser = sysUserService.selectUserById(holiday.getApplyUserId());
holiday.setApplyUserName(sysUser.getNickName());
}
if(holiday.getApproveUserId() != null){
SysUser sysUser = sysUserService.selectUserById(holiday.getApproveUserId());
holiday.setApproveUserName(sysUser.getNickName());
}
});
}
return getDataTable(list);
}
......@@ -82,11 +116,11 @@ public class CurrentRiskUserHolidayController extends BaseController
currentRiskUserHoliday.setApplyUserId(getUserId());
currentRiskUserHoliday.setApplyTime(new Date());
currentRiskUserHoliday.setStatus("0");
//查询上级项目经理
//TODO 查询上级项目经理 改为已知晓,不做逻辑处理
currentRiskUserHolidayService.insertCurrentRiskUserHoliday(currentRiskUserHoliday);
}else{
currentRiskUserHoliday.setApproveTime(new Date());
currentRiskUserHoliday.setApproveUserId(getUserId());
currentRiskUserHolidayService.updateCurrentRiskUserHoliday(currentRiskUserHoliday);
}
return AjaxResult.success();
......
package com.censoft.censoftrongtong.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.censoft.censoftrongtong.domain.CurrentRiskUserPatrol;
import com.censoft.censoftrongtong.domain.RiskExistingListPatrolVO;
import com.censoft.censoftrongtong.domain.req.CurrentRiskUserPatrolDetailUpdateStatusReqVO;
import com.censoft.censoftrongtong.service.ICurrentRiskUserPatrolService;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
......@@ -30,11 +38,14 @@ import com.ruoyi.common.core.page.TableDataInfo;
* @date 2023-12-05
*/
@RestController
@AllArgsConstructor
@RequestMapping(value = {"/risk/currentRiskPatrolDetail","/app-api/risk/currentRiskPatrolDetail"})
public class CurrentRiskUserPatrolDetailController extends BaseController
{
@Autowired
private ICurrentRiskUserPatrolDetailService currentRiskUserPatrolDetailService;
private ICurrentRiskUserPatrolService currentRiskUserPatrolDetail;
/**
* 查询现状风险用户巡查明细列表
......@@ -61,6 +72,32 @@ public class CurrentRiskUserPatrolDetailController extends BaseController
return getDataTable(list);
}
@ApiModelProperty("更改状态")
@PostMapping("/updateStatus")
public AjaxResult updateStatus(@RequestBody CurrentRiskUserPatrolDetailUpdateStatusReqVO reqVO)
{
//更新巡查信息为已巡查
CurrentRiskUserPatrol currentRiskUserPatrol = currentRiskUserPatrolDetail.selectCurrentRiskUserPatrolById(Long.valueOf(reqVO.getPatrolId()));
//状态 0 未巡查 1 已巡查 2 已请假 3 已过期
currentRiskUserPatrol.setStatus("1");
currentRiskUserPatrolDetail.updateCurrentRiskUserPatrol(currentRiskUserPatrol);
//更新巡查明细信息
List<CurrentRiskUserPatrolDetail> details = new ArrayList<>();
List<Map<String,Object>> list = reqVO.getList();
if(CollectionUtils.isEmpty(list)){
return AjaxResult.success();
}
list.forEach(map ->{
CurrentRiskUserPatrolDetail detail = new CurrentRiskUserPatrolDetail();
detail.setId(Long.parseLong(String.valueOf(map.get("patrolDetailId"))));
detail.setStatus(String.valueOf(map.get("patrolStatus")));
details.add(detail);
});
currentRiskUserPatrolDetailService.updateBatchById(details);
return AjaxResult.success();
}
/**
* 导出现状风险用户巡查明细列表
*/
......
package com.censoft.censoftrongtong.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntityClean;
import lombok.Data;
......@@ -64,4 +66,13 @@ public class CurrentRiskUserHoliday extends BaseEntityClean
/** 删除标志(0代表存在 1代表删除) */
private String delFlag;
@TableField(exist = false)
private String type;
@TableField(exist = false)
private String applyUserName;
@TableField(exist = false)
private String approveUserName;
}
......@@ -3,7 +3,7 @@ package com.censoft.censoftrongtong.domain;
import lombok.Data;
@Data
public class RiskExistingListPatrolVO extends RiskExistingList{
public class RiskExistingListPatrolVO extends RiskPlanExistingList{
private String patrolDetailId;
......
package com.censoft.censoftrongtong.domain.req;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @author baoxiaode
*/
@Data
public class CurrentRiskUserPatrolDetailUpdateStatusReqVO {
@ApiModelProperty
private List<Map<String,Object>> list;
@ApiModelProperty("巡查id")
private String patrolId;
}
......@@ -3,6 +3,7 @@ package com.censoft.censoftrongtong.mapper;
import java.util.List;
import com.censoft.censoftrongtong.domain.CurrentRiskUserHoliday;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* 现状风险巡查用户请假Mapper接口
......@@ -59,4 +60,6 @@ public interface CurrentRiskUserHolidayMapper extends MPJBaseMapper<CurrentRisk
* @return 结果
*/
public int deleteCurrentRiskUserHolidayByIds(Long[] ids);
List<Long> memberUserIds(@Param("userId") Long userId);
}
......@@ -3,6 +3,8 @@ package com.censoft.censoftrongtong.service;
import java.util.List;
import com.censoft.censoftrongtong.domain.CurrentRiskUserHoliday;
import com.github.yulichang.base.MPJBaseService;
import org.apache.ibatis.annotations.Param;
/**
* 现状风险巡查用户请假Service接口
*
......@@ -58,4 +60,6 @@ public interface ICurrentRiskUserHolidayService extends MPJBaseService<CurrentR
* @return 结果
*/
public int deleteCurrentRiskUserHolidayById(Long id);
List<Long> memberUserIds(@Param("userId") Long userId);
}
......@@ -93,4 +93,9 @@ public class CurrentRiskUserHolidayServiceImpl extends MPJBaseServiceImpl<Curren
{
return currentRiskUserHolidayMapper.deleteCurrentRiskUserHolidayById(id);
}
@Override
public List<Long> memberUserIds(Long userId) {
return currentRiskUserHolidayMapper.memberUserIds(userId);
}
}
......@@ -117,4 +117,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select id="memberUserIds" parameterType="java.lang.Long" resultType="java.lang.Long">
SELECT
user_id
FROM
project_user_post
WHERE
project_id IN ( SELECT project_id FROM project_user_post
WHERE post_id = ( SELECT post_id FROM sys_post WHERE post_code = 'inspection_project_manager' ) AND user_id = #{userId} )
AND post_id = (SELECT post_id FROM sys_post WHERE post_code = 'inspection_project_member')
</select>
</mapper>
\ No newline at end of file
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.censoft.censoftrongtong.mapper.CurrentRiskUserPatrolDetailMapper">
<resultMap type="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail" id="CurrentRiskUserPatrolDetailResult">
<result property="id" column="id" />
<result property="patrolId" column="patrol_id" />
<result property="currentRiskId" column="current_risk_id" />
<result property="status" column="status" />
<result property="sortNum" column="sort_num" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="riskSourceType" column="riskSourceType" />
<resultMap type="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail"
id="CurrentRiskUserPatrolDetailResult">
<result property="id" column="id"/>
<result property="patrolId" column="patrol_id"/>
<result property="currentRiskId" column="current_risk_id"/>
<result property="status" column="status"/>
<result property="sortNum" column="sort_num"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="riskSourceType" column="riskSourceType"/>
</resultMap>
<sql id="selectCurrentRiskUserPatrolDetailVo">
select id, patrol_id, current_risk_id, status, sort_num, del_flag, create_by, create_time, update_by, update_time, remark from current_risk_user_patrol_detail
select id,
patrol_id,
current_risk_id,
status,
sort_num,
del_flag,
create_by,
create_time,
update_by,
update_time,
remark
from current_risk_user_patrol_detail
</sql>
<select id="selectCurrentRiskUserPatrolDetailList" parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail" resultMap="CurrentRiskUserPatrolDetailResult">
<select id="selectCurrentRiskUserPatrolDetailList"
parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail"
resultMap="CurrentRiskUserPatrolDetailResult">
SELECT
a.id,
a.patrol_id,
......@@ -42,21 +56,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
INNER JOIN current_risk_user_patrol b ON a.patrol_id = b.id
INNER JOIN risk_plan_existing_list c ON a.current_risk_id = c.id
<where>
<if test="riskPostId != null "> and b.risk_post_id = #{riskPostId}</if>
<if test="userId != null "> and b.user_id = #{userId}</if>
<if test="patrolId != null "> and a.patrol_id = #{patrolId}</if>
<if test="currentRiskId != null "> and a.current_risk_id = #{currentRiskId}</if>
<if test="status != null and status != ''"> and a.status = #{status}</if>
<if test="sortNum != null "> and a.sort_num = #{sortNum}</if>
<if test="riskPostId != null ">and b.risk_post_id = #{riskPostId}</if>
<if test="userId != null ">and b.user_id = #{userId}</if>
<if test="patrolId != null ">and a.patrol_id = #{patrolId}</if>
<if test="currentRiskId != null ">and a.current_risk_id = #{currentRiskId}</if>
<if test="status != null and status != ''">and a.status = #{status}</if>
<if test="sortNum != null ">and a.sort_num = #{sortNum}</if>
</where>
</select>
<select id="selectCurrentRiskUserPatrolDetailById" parameterType="Long" resultMap="CurrentRiskUserPatrolDetailResult">
<select id="selectCurrentRiskUserPatrolDetailById" parameterType="Long"
resultMap="CurrentRiskUserPatrolDetailResult">
<include refid="selectCurrentRiskUserPatrolDetailVo"/>
where id = #{id}
</select>
<insert id="insertCurrentRiskUserPatrolDetail" parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail" useGeneratedKeys="true" keyProperty="id">
<insert id="insertCurrentRiskUserPatrolDetail"
parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail" useGeneratedKeys="true"
keyProperty="id">
insert into current_risk_user_patrol_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="patrolId != null">patrol_id,</if>
......@@ -84,7 +101,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<update id="updateCurrentRiskUserPatrolDetail" parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail">
<update id="updateCurrentRiskUserPatrolDetail"
parameterType="com.censoft.censoftrongtong.domain.CurrentRiskUserPatrolDetail">
update current_risk_user_patrol_detail
<trim prefix="SET" suffixOverrides=",">
<if test="patrolId != null">patrol_id = #{patrolId},</if>
......@@ -102,7 +120,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<delete id="deleteCurrentRiskUserPatrolDetailById" parameterType="Long">
delete from current_risk_user_patrol_detail where id = #{id}
delete
from current_risk_user_patrol_detail
where id = #{id}
</delete>
<delete id="deleteCurrentRiskUserPatrolDetailByIds" parameterType="String">
......@@ -112,40 +132,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</delete>
<resultMap type="com.censoft.censoftrongtong.domain.RiskExistingListPatrolVO" id="RiskExistingListResult">
<result property="id" column="id" />
<result property="inherentId" column="inherent_id" />
<result property="code" column="code" />
<result property="name" column="name" />
<result property="type" column="type" />
<result property="describe" column="describe" />
<result property="evaluationModel" column="evaluation_model" />
<result property="evaluationRange" column="evaluation_range" />
<result property="level" column="level" />
<result property="factor" column="factor" />
<result property="measuresProject" column="measures_project" />
<result property="measuresProjectFileIds" column="measures_project_file_ids" />
<result property="measuresAdministration" column="measures_administration" />
<result property="measuresAdministrationFileIds" column="measures_administration_file_ids" />
<result property="measuresEmergency" column="measures_emergency" />
<result property="measuresEmergencyFileIds" column="measures_emergency_file_ids" />
<result property="referenceBasis" column="reference_basis" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="patrolDetailId" column="patrolDetailId" />
<result property="patrolId" column="patrol_id" />
<result property="patrolStatus" column="patrolStatus" />
<resultMap type="com.censoft.censoftrongtong.domain.RiskExistingListPatrolVO" id="RiskPlanExistingListResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="inherentId" column="inherent_id"/>
<result property="planId" column="plan_id"/>
<result property="roomId" column="room_id"/>
<result property="name" column="name"/>
<result property="factor" column="factor"/>
<result property="type" column="type"/>
<result property="level" column="level"/>
<result property="presenceLocation" column="presence_location"/>
<result property="pictureFileIds" column="picture_file_ids"/>
<result property="measuresProject" column="measures_project"/>
<result property="measuresProjectFileIds" column="measures_project_file_ids"/>
<result property="measuresAdministration" column="measures_administration"/>
<result property="measuresDeptName" column="measures_dept_name"/>
<result property="measuresUserName" column="measures_user_name"/>
<result property="measuresUserPhone" column="measures_user_phone"/>
<result property="measuresAdministrationFileIds" column="measures_administration_file_ids"/>
<result property="measuresEmergency" column="measures_emergency"/>
<result property="measuresEmergencyFileIds" column="measures_emergency_file_ids"/>
<result property="referenceBasis" column="reference_basis"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="evaluationItemIds" column="evaluation_item_ids"/>
<result property="factorItems" column="factor_items"/>
<result property="patrolDetailId" column="patrolDetailId"/>
<result property="patrolId" column="patrol_id"/>
<result property="patrolStatus" column="patrolStatus"/>
</resultMap>
<select id="riskExistingLists" resultMap="RiskExistingListResult" parameterType="java.lang.String">
select b.id, b.inherent_id, b.code, b.name, b.type, b.describe, b.evaluation_model, b.evaluation_range, b.level, b.factor, b.measures_project,
b.measures_project_file_ids, b.measures_administration,b. measures_administration_file_ids, b.measures_emergency,
b.measures_emergency_file_ids, b.reference_basis, b.del_flag, b.create_by, b.create_time, b.update_by, b.update_time,
<select id="riskExistingLists" resultMap="RiskPlanExistingListResult" parameterType="java.lang.String">
select b.id,b.user_id,b.inherent_id,
b.plan_id,b.room_id,b.name,b.factor,b.type,
b.level,b.presence_location,b.picture_file_ids,b.measures_project,b.measures_project_file_ids,
b.measures_administration,b.measures_dept_name,b.measures_user_name,b.measures_user_phone,
b.measures_administration_file_ids,b.measures_emergency,
b.measures_emergency_file_ids,b.reference_basis,b.del_flag,b.create_by,
b.create_time,b.update_by,b.update_time,b.remark,b.factor_items,
a.id patrolDetailId,a.patrol_id patrolId,a.STATUS patrolStatus
from current_risk_user_patrol_detail a
INNER JOIN risk_existing_list b ON a.current_risk_id = b.id
INNER JOIN risk_plan_existing_list b ON a.current_risk_id = b.id
where a.patrol_id = #{patrolId}
</select>
</mapper>
\ No newline at end of file
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