安全首页接口
This commit is contained in:
parent
094b1eae79
commit
6d24138445
@ -7,6 +7,8 @@ import com.zhgd.jeecg.common.api.vo.Result;
|
|||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
import com.zhgd.redis.annotation.ApiIdempotent;
|
import com.zhgd.redis.annotation.ApiIdempotent;
|
||||||
import com.zhgd.redis.lock.RedisRepository;
|
import com.zhgd.redis.lock.RedisRepository;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
||||||
@ -150,6 +152,7 @@ public class WorkerInfoController {
|
|||||||
@ApiImplicitParam(name = "presence", value = "1在场2离场", paramType = "body", required = false, dataType = "Integer"),
|
@ApiImplicitParam(name = "presence", value = "1在场2离场", paramType = "body", required = false, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "attendance", value = "1今日出勤", paramType = "body", required = false, dataType = "Integer"),
|
@ApiImplicitParam(name = "attendance", value = "1今日出勤", paramType = "body", required = false, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "isFilterQualityRegionEnterprise", value = "是否查询过滤区域管理下的企业,1是", paramType = "body", required = false, dataType = "Integer"),
|
@ApiImplicitParam(name = "isFilterQualityRegionEnterprise", value = "是否查询过滤区域管理下的企业,1是", paramType = "body", required = false, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "letter", value = "首字母", paramType = "body", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/selectWorkerInfoList")
|
@PostMapping(value = "/selectWorkerInfoList")
|
||||||
public Result<IPage<WorkerInfo>> selectWorkerInfoList(@RequestBody Map<String, Object> map) {
|
public Result<IPage<WorkerInfo>> selectWorkerInfoList(@RequestBody Map<String, Object> map) {
|
||||||
@ -663,11 +666,40 @@ public class WorkerInfoController {
|
|||||||
@ApiOperation(value = "根据身份证号查询劳务人员", notes = "根据身份证号查询劳务人员", httpMethod = "POST")
|
@ApiOperation(value = "根据身份证号查询劳务人员", notes = "根据身份证号查询劳务人员", httpMethod = "POST")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "idCard", value = "身份证号", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "idCard", value = "身份证号", paramType = "body", required = false, dataType = "String"),
|
||||||
@ApiImplicitParam(name = "projectSn", value = "projectSn", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/selectWorkerInfoByIdCard")
|
@PostMapping(value = "/selectWorkerInfoByIdCard")
|
||||||
public Result<WorkerInfo> selectWorkerInfoByIdCard(@RequestBody Map<String, Object> map) {
|
public Result<WorkerInfo> selectWorkerInfoByIdCard(@RequestBody Map<String, Object> map) {
|
||||||
return Result.success(workerInfoService.selectWorkerInfoByIdCard(map));
|
return Result.success(workerInfoService.selectWorkerInfoByIdCard(map));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "人员风险概览", notes = "人员风险概览", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/statsSafeScore")
|
||||||
|
public Result<SectorVo> statsSafeScore(@RequestBody Map<String, Object> map) {
|
||||||
|
return Result.success(workerInfoService.statsSector(map));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "企业安全评分汇总", notes = "企业安全评分汇总", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/statsEnterprise")
|
||||||
|
public Result<SectorVo> statsEnterprise(@RequestBody Map<String, Object> map) {
|
||||||
|
return Result.success(workerInfoService.statsEnterprise(map));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "企业安全评分汇总表", notes = "企业安全评分汇总表", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/statsEnterpriseRisk")
|
||||||
|
public Result<List<StatsTrendVo>> statsEnterpriseRisk(@RequestBody Map<String, Object> map) {
|
||||||
|
return Result.success(workerInfoService.statsEnterpriseRisk(map));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -337,7 +337,7 @@ public class WorkerInfo implements Serializable {
|
|||||||
private Integer devType;
|
private Integer devType;
|
||||||
@ApiModelProperty(value = "门禁设备-分组id")
|
@ApiModelProperty(value = "门禁设备-分组id")
|
||||||
private String ufaceDevGroupId;
|
private String ufaceDevGroupId;
|
||||||
@ApiModelProperty(value = "安全分数")
|
@ApiModelProperty(value = "安全分数,低中高-80-90-")
|
||||||
private Double safeScore;
|
private Double safeScore;
|
||||||
@ApiModelProperty(value = "下发状态:1成功2失败3部分成功")
|
@ApiModelProperty(value = "下发状态:1成功2失败3部分成功")
|
||||||
private Integer sendSuccessStatus;
|
private Integer sendSuccessStatus;
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.zhgd.xmgl.modules.worker.entity.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class StatsTrendVo {
|
||||||
|
@ApiModelProperty("人数")
|
||||||
|
private Integer workerNum;
|
||||||
|
@ApiModelProperty("高风险数量")
|
||||||
|
private Integer highRiskNum;
|
||||||
|
@ApiModelProperty("中风险数量")
|
||||||
|
private Integer mediumRiskNum;
|
||||||
|
@ApiModelProperty("低风险数量")
|
||||||
|
private Integer lowRiskNum;
|
||||||
|
|
||||||
|
}
|
||||||
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.annotation.DataScope;
|
import com.zhgd.annotation.DataScope;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -238,4 +240,11 @@ public interface WorkerInfoMapper extends BaseMapper<WorkerInfo> {
|
|||||||
|
|
||||||
void updateScore(HashMap<String, Object> map);
|
void updateScore(HashMap<String, Object> map);
|
||||||
|
|
||||||
|
List<StatsTrendVo> stats(@Param("param") Map<String, Object> map);
|
||||||
|
|
||||||
|
List<SectorOneVo> statsSector(@Param("param") Map<String, Object> map);
|
||||||
|
|
||||||
|
List<SectorOneVo> statsEnterprise(@Param("param") Map<String, Object> map);
|
||||||
|
|
||||||
|
List<StatsTrendVo> statsEnterpriseRisk(@Param("param") Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -192,6 +192,9 @@
|
|||||||
<if test="param.selectType == '12'.toString()">
|
<if test="param.selectType == '12'.toString()">
|
||||||
and a.vaccine_status = 3
|
and a.vaccine_status = 3
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.letter != null and param.letter != ''">
|
||||||
|
and pinyin(a.worker_name) like concat(#{param.letter},'%')
|
||||||
|
</if>
|
||||||
<if test="param.workerInfos != null and param.workerInfos != ''">
|
<if test="param.workerInfos != null and param.workerInfos != ''">
|
||||||
and FIND_IN_SET(a.id, #{param.workerInfos})
|
and FIND_IN_SET(a.id, #{param.workerInfos})
|
||||||
</if>
|
</if>
|
||||||
@ -2445,4 +2448,75 @@
|
|||||||
<update id="updateScore">
|
<update id="updateScore">
|
||||||
update worker_info set safe_score = safe_score - #{deductScore} where id = #{id}
|
update worker_info set safe_score = safe_score - #{deductScore} where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="stats" resultType="com.zhgd.xmgl.modules.worker.entity.vo.StatsTrendVo">
|
||||||
|
select
|
||||||
|
<choose>
|
||||||
|
<when test="param.groupby == 'safeScore'.toString()">
|
||||||
|
CASE WHEN t.safe_score < 80 THEN '高风险' When t.safe_score >= 80 and t.safe_score < 90 then '中风险'
|
||||||
|
ELSE '低风险' END as name,
|
||||||
|
count(*) as count,
|
||||||
|
</when>
|
||||||
|
<when test="param.groupby == 'enterprise'.toString()">
|
||||||
|
ei.enterprise_name as name,
|
||||||
|
avg(t.safe_score) as count,
|
||||||
|
</when>
|
||||||
|
<when test="param.groupby == 'enterprise_safeScore'.toString()">
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
1
|
||||||
|
from worker_info t
|
||||||
|
left join enterprise_info ei on ei.id=t.enterprise_id
|
||||||
|
where t.project_sn=#{param.projectSn}
|
||||||
|
<choose>
|
||||||
|
<when test="param.groupby == 'safeScore'.toString()">
|
||||||
|
group by name
|
||||||
|
</when>
|
||||||
|
<when test="param.groupby == 'enterprise'.toString()">
|
||||||
|
group by t.enterprise_id
|
||||||
|
</when>
|
||||||
|
<when test="param.groupby == 'enterprise_safeScore'.toString()">
|
||||||
|
group by t.enterprise_id
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="statsSector" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
|
||||||
|
select
|
||||||
|
CASE WHEN t.safe_score < 80 THEN '高风险' When t.safe_score >= 80 and t.safe_score < 90 then '中风险' ELSE '低风险'
|
||||||
|
END as name,
|
||||||
|
count(*) as count
|
||||||
|
from worker_info t
|
||||||
|
where t.project_sn=#{param.projectSn}
|
||||||
|
group by name
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="statsEnterprise" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
|
||||||
|
select
|
||||||
|
ei.enterprise_name as name,
|
||||||
|
avg(t.safe_score) as count
|
||||||
|
from worker_info t
|
||||||
|
join enterprise_info ei on ei.id=t.enterprise_id
|
||||||
|
where t.project_sn=#{param.projectSn}
|
||||||
|
group by t.enterprise_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="statsEnterpriseRisk" resultType="com.zhgd.xmgl.modules.worker.entity.vo.StatsTrendVo">
|
||||||
|
select
|
||||||
|
ei.enterprise_name as name,
|
||||||
|
CASE WHEN t.safe_score < 80 THEN '高风险' When t.safe_score >= 80 and t.safe_score < 90 then '中风险' ELSE '低风险'
|
||||||
|
END as name,
|
||||||
|
ifnull(round(sum(if(t.safe_score < 80,1,0)),2),0) as highRiskNum,
|
||||||
|
ifnull(round(sum(if(t.safe_score >= 80 and t.safe_score < 90,1,0)),2),0) as mediumRiskNum,
|
||||||
|
ifnull(round(sum(if(t.safe_score >= 90,1,0)),2),0) as lowRiskNum,
|
||||||
|
count(*) as workerNum
|
||||||
|
from worker_info t
|
||||||
|
join enterprise_info ei on ei.id=t.enterprise_id
|
||||||
|
where t.project_sn=#{param.projectSn}
|
||||||
|
group by t.enterprise_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.dto.GetWorkerInfoByDevDto;
|
import com.zhgd.xmgl.modules.worker.entity.dto.GetWorkerInfoByDevDto;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
import com.zhgd.xmgl.modules.worker.entity.vo.*;
|
||||||
@ -133,4 +135,9 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
|||||||
|
|
||||||
WorkerInfo selectWorkerInfoByIdCard(Map<String, Object> map);
|
WorkerInfo selectWorkerInfoByIdCard(Map<String, Object> map);
|
||||||
|
|
||||||
|
SectorVo statsSector(Map<String, Object> map);
|
||||||
|
|
||||||
|
SectorVo statsEnterprise(Map<String, Object> map);
|
||||||
|
|
||||||
|
List<StatsTrendVo> statsEnterpriseRisk(Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,9 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
|
|||||||
import com.zhgd.xmgl.async.AsyncHikvision;
|
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||||
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
import com.zhgd.xmgl.async.AsyncJiLianDa;
|
||||||
import com.zhgd.xmgl.async.AsyncWorker;
|
import com.zhgd.xmgl.async.AsyncWorker;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||||
|
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||||
import com.zhgd.xmgl.call.HikvisionCall;
|
import com.zhgd.xmgl.call.HikvisionCall;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
@ -2124,6 +2127,21 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
return workerInfos.get(0);
|
return workerInfos.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SectorVo statsSector(Map<String, Object> map) {
|
||||||
|
return SectorVo.getSectorVo(baseMapper.statsSector(map));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SectorVo statsEnterprise(Map<String, Object> map) {
|
||||||
|
return SectorVo.getSectorVo(baseMapper.statsEnterprise(map));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StatsTrendVo> statsEnterpriseRisk(Map<String, Object> map) {
|
||||||
|
return baseMapper.statsEnterpriseRisk(map);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 真正递归的方法
|
* 真正递归的方法
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user