diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java index 76235b140..6925cf0df 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java @@ -7,6 +7,8 @@ import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.redis.annotation.ApiIdempotent; 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.vo.*; 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 = "attendance", 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") public Result> selectWorkerInfoList(@RequestBody Map map) { @@ -663,11 +666,40 @@ public class WorkerInfoController { @ApiOperation(value = "根据身份证号查询劳务人员", notes = "根据身份证号查询劳务人员", httpMethod = "POST") @ApiImplicitParams({ @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") public Result selectWorkerInfoByIdCard(@RequestBody Map 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 statsSafeScore(@RequestBody Map 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 statsEnterprise(@RequestBody Map 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> statsEnterpriseRisk(@RequestBody Map map) { + return Result.success(workerInfoService.statsEnterpriseRisk(map)); + } + + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java index f7aed5906..38aedfd10 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java @@ -337,7 +337,7 @@ public class WorkerInfo implements Serializable { private Integer devType; @ApiModelProperty(value = "门禁设备-分组id") private String ufaceDevGroupId; - @ApiModelProperty(value = "安全分数") + @ApiModelProperty(value = "安全分数,低中高-80-90-") private Double safeScore; @ApiModelProperty(value = "下发状态:1成功2失败3部分成功") private Integer sendSuccessStatus; diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/StatsTrendVo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/StatsTrendVo.java new file mode 100644 index 000000000..822e2c20a --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/StatsTrendVo.java @@ -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; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java index b5c24290f..120af7f18 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.DataScope; 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.vo.*; import org.apache.ibatis.annotations.Mapper; @@ -238,4 +240,11 @@ public interface WorkerInfoMapper extends BaseMapper { void updateScore(HashMap map); + List stats(@Param("param") Map map); + + List statsSector(@Param("param") Map map); + + List statsEnterprise(@Param("param") Map map); + + List statsEnterpriseRisk(@Param("param") Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml index 6c6a20e83..793886509 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml @@ -192,6 +192,9 @@ and a.vaccine_status = 3 + + and pinyin(a.worker_name) like concat(#{param.letter},'%') + and FIND_IN_SET(a.id, #{param.workerInfos}) @@ -2445,4 +2448,75 @@ update worker_info set safe_score = safe_score - #{deductScore} where id = #{id} + + + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java index 53d6ecf34..ab7c92c82 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.api.vo.Result; 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.dto.GetWorkerInfoByDevDto; import com.zhgd.xmgl.modules.worker.entity.vo.*; @@ -133,4 +135,9 @@ public interface IWorkerInfoService extends IService { WorkerInfo selectWorkerInfoByIdCard(Map map); + SectorVo statsSector(Map map); + + SectorVo statsEnterprise(Map map); + + List statsEnterpriseRisk(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index 30c6b0135..4c4981dbf 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -24,6 +24,9 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.async.AsyncHikvision; import com.zhgd.xmgl.async.AsyncJiLianDa; 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.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; @@ -2124,6 +2127,21 @@ public class WorkerInfoServiceImpl extends ServiceImpl map) { + return SectorVo.getSectorVo(baseMapper.statsSector(map)); + } + + @Override + public SectorVo statsEnterprise(Map map) { + return SectorVo.getSectorVo(baseMapper.statsEnterprise(map)); + } + + @Override + public List statsEnterpriseRisk(Map map) { + return baseMapper.statsEnterpriseRisk(map); + } + /** * 真正递归的方法 *