From d1cff7e7ca19fb4523d51bb67d63d5f88d87189f Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Sat, 11 Jan 2025 16:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=9A=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E4=B8=8B=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mine/MineWarningController.java | 10 +++ .../main/java/yq/system/domain/MineFace.java | 6 +- .../main/java/yq/system/domain/MineGroup.java | 2 +- .../java/yq/system/domain/MineHealth.java | 5 +- .../java/yq/system/domain/MineWarning.java | 9 ++- .../yq/system/domain/vo/NormalCountVo.java | 28 +++++++ .../java/yq/system/domain/vo/StatisticVo.java | 2 +- .../yq/system/mapper/MineWarningMapper.java | 3 +- .../system/service/IMineWarningService.java | 2 + .../service/impl/MineWarningServiceImpl.java | 5 ++ .../mapper/system/MineFaceMapper.xml | 21 +++-- .../mapper/system/MineGroupMapper.xml | 1 - .../mapper/system/MineHealthMapper.xml | 13 ++-- .../mapper/system/MineWarningMapper.xml | 78 +++++++++++++------ 14 files changed, 126 insertions(+), 59 deletions(-) create mode 100644 yq-system/src/main/java/yq/system/domain/vo/NormalCountVo.java diff --git a/yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java b/yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java index 80d8eb8..0075685 100644 --- a/yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java +++ b/yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java @@ -20,6 +20,7 @@ import yq.common.enums.BusinessType; import yq.system.domain.MineWarning; +import yq.system.domain.vo.NormalCountVo; import yq.system.domain.vo.StatisticVo; import yq.system.service.IMineWarningService; import yq.common.utils.poi.ExcelUtil; @@ -83,7 +84,16 @@ public class MineWarningController extends BaseController return getDataTable(list); } + /** + * 异常、正常所占比 + */ + @PreAuthorize("@ss.hasPermi('earlywarning:druid:list')") + @GetMapping("/normal/list") + public TableDataInfo normalList(MineWarning mineWarning){ + List list = mineWarningService.selectMineWarningNormalList(mineWarning); + return getDataTable(list); + } /** diff --git a/yq-system/src/main/java/yq/system/domain/MineFace.java b/yq-system/src/main/java/yq/system/domain/MineFace.java index ba23170..80004b0 100644 --- a/yq-system/src/main/java/yq/system/domain/MineFace.java +++ b/yq-system/src/main/java/yq/system/domain/MineFace.java @@ -31,8 +31,6 @@ public class MineFace @Excel(name = "姓名") private String faceName; - @Excel(name = "组名") - private String mineGroupName; @Excel(name = "年龄") private Long age; @@ -70,8 +68,10 @@ public class MineFace @NotNull(message = "未选择部门") private Long deptId; + private String deptIdStr; + /** 组名 */ - @Excel(name = "部门名称") + @Excel(name = "所属部门") private String deptName; } diff --git a/yq-system/src/main/java/yq/system/domain/MineGroup.java b/yq-system/src/main/java/yq/system/domain/MineGroup.java index 0ce0acf..4e1731a 100644 --- a/yq-system/src/main/java/yq/system/domain/MineGroup.java +++ b/yq-system/src/main/java/yq/system/domain/MineGroup.java @@ -39,7 +39,7 @@ public class MineGroup { private Long deptId; /** 组名 */ - @Excel(name = "部门名称") + @Excel(name = "所属部门") private String deptName; } diff --git a/yq-system/src/main/java/yq/system/domain/MineHealth.java b/yq-system/src/main/java/yq/system/domain/MineHealth.java index f38f153..aa7ba6e 100644 --- a/yq-system/src/main/java/yq/system/domain/MineHealth.java +++ b/yq-system/src/main/java/yq/system/domain/MineHealth.java @@ -31,8 +31,7 @@ public class MineHealth { private String facePhone; - @Excel(name = "组名") - private String mineGroupName; + @Excel(name = "高压") private Integer bpHigh; @@ -62,7 +61,7 @@ public class MineHealth { private Long deptId; /** 组名 */ - @Excel(name = "部门名称") + @Excel(name = "所属部门") private String deptName; diff --git a/yq-system/src/main/java/yq/system/domain/MineWarning.java b/yq-system/src/main/java/yq/system/domain/MineWarning.java index f5c30f6..9c425e0 100644 --- a/yq-system/src/main/java/yq/system/domain/MineWarning.java +++ b/yq-system/src/main/java/yq/system/domain/MineWarning.java @@ -74,11 +74,12 @@ public class MineWarning { @Excel(name = "手机号") private String facePhone; - @NotNull(message = "未选择分组") - private Long groupId; - @Excel(name = "组名") - private String mineGroupName; + private Long deptId; + + /** 组名 */ + @Excel(name = "所属部门") + private String deptName; private String deptIdStr; private Long userId; diff --git a/yq-system/src/main/java/yq/system/domain/vo/NormalCountVo.java b/yq-system/src/main/java/yq/system/domain/vo/NormalCountVo.java new file mode 100644 index 0000000..ceddfea --- /dev/null +++ b/yq-system/src/main/java/yq/system/domain/vo/NormalCountVo.java @@ -0,0 +1,28 @@ +package yq.system.domain.vo; + +import lombok.Data; + +/** + * @auther yq + * @data 2025/1/10 + */ + +@Data +public class NormalCountVo { + + + //部门名称 + private String deptName; + //正常人数(打卡次数为1 + private Integer normalCount; + // 异常人数(打卡次数不为1 + private Integer abnormalCount; + //小组总人数 + private Integer totalCount; + //正常人数占比 + private double normalPercentage; + //异常人数占 + private double abnormalPercentage ; + //异常名单 + private String abnormalNmaes; +} diff --git a/yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java b/yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java index 2e3f6f2..3fb4b5a 100644 --- a/yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java +++ b/yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java @@ -12,7 +12,7 @@ public class StatisticVo { - private String mineGroupName; + private String deptName; private Integer clock; private Integer unClock; private String unClockNames; diff --git a/yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java b/yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java index 31fb971..74a63ed 100644 --- a/yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java +++ b/yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java @@ -3,6 +3,7 @@ package yq.system.mapper; import java.util.List; import yq.system.domain.MineWarning; import yq.system.domain.vo.MineWarningVo; +import yq.system.domain.vo.NormalCountVo; import yq.system.domain.vo.StatisticVo; /** @@ -35,7 +36,7 @@ public interface MineWarningMapper public List selectMineWarningStatisticList(MineWarning mineWarning); - + public List selectMineWarningNormalList(MineWarning mineWarning); public List selectMineWarningListOne(MineWarning mineWarning); /** diff --git a/yq-system/src/main/java/yq/system/service/IMineWarningService.java b/yq-system/src/main/java/yq/system/service/IMineWarningService.java index 0af72fa..77cf69a 100644 --- a/yq-system/src/main/java/yq/system/service/IMineWarningService.java +++ b/yq-system/src/main/java/yq/system/service/IMineWarningService.java @@ -3,6 +3,7 @@ package yq.system.service; import java.util.List; import yq.system.domain.MineWarning; import yq.system.domain.vo.MineWarningVo; +import yq.system.domain.vo.NormalCountVo; import yq.system.domain.vo.StatisticVo; /** @@ -47,6 +48,7 @@ public interface IMineWarningService */ public List selectMineWarningStatisticList(MineWarning mineWarning); + public List selectMineWarningNormalList(MineWarning mineWarning); /** diff --git a/yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java b/yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java index a8c70df..75ed23b 100644 --- a/yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java +++ b/yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java @@ -14,6 +14,7 @@ import yq.common.utils.SecurityUtils; import yq.system.domain.MineFace; import yq.system.domain.MineWarning; import yq.system.domain.vo.MineWarningVo; +import yq.system.domain.vo.NormalCountVo; import yq.system.domain.vo.StatisticVo; import yq.system.mapper.MineFaceMapper; import yq.system.mapper.MineWarningMapper; @@ -77,6 +78,10 @@ public class MineWarningServiceImpl implements IMineWarningService public List selectMineWarningStatisticList(MineWarning mineWarning) { return mineWarningMapper.selectMineWarningStatisticList(mineWarning); } + @Override + public List selectMineWarningNormalList(MineWarning mineWarning) { + return mineWarningMapper.selectMineWarningNormalList(mineWarning); + } /** * 新增【请填写功能名称】 diff --git a/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml b/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml index f4e71c8..0b508b7 100644 --- a/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml +++ b/yq-system/src/main/resources/mapper/system/MineFaceMapper.xml @@ -15,17 +15,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - select mf.id, mf.face_name,mg.dept_id,d.dept_name, mf.age, mf.face_phone, mf.face_url, mf.is_work, mf.remark, mf.create_time,mf.use_time, mf.group_id ,mg.mine_group_name + select mf.id, mf.face_name, mf.age, mf.face_phone, mf.face_url, + mf.is_work, mf.remark, mf.create_time,mf.use_time,mf.dept_id,d.dept_name from mine_face mf - inner join mine_group mg on mg.id =mf.group_id - inner join sys_dept d on mg.dept_id = d.dept_id + inner join sys_dept d on mf.dept_id = d.dept_id @@ -55,11 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mf.face_url, mf.face_phone, mf.remark, - mf.group_id, - mg.mine_group_name + d.dept_id,d.dept_name FROM mine_face mf - LEFT JOIN mine_group mg ON mg.id = mf.group_id + inner join sys_dept d on mg.dept_id = d.dept_id WHERE mf.face_byte is not null @@ -76,7 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, use_time, face_byte, - group_id, + dept_id, #{id}, @@ -89,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{useTime}, #{faceByte}, - #{groupId}, + #{deptId}, @@ -103,7 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_work = #{isWork}, remark = #{remark}, create_time = #{createTime}, - group_id = #{groupId}, + dept_id = #{deptId}, use_time=#{useTime}, face_byte = #{faceByte}, diff --git a/yq-system/src/main/resources/mapper/system/MineGroupMapper.xml b/yq-system/src/main/resources/mapper/system/MineGroupMapper.xml index eb48fbd..735a0ca 100644 --- a/yq-system/src/main/resources/mapper/system/MineGroupMapper.xml +++ b/yq-system/src/main/resources/mapper/system/MineGroupMapper.xml @@ -6,7 +6,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - diff --git a/yq-system/src/main/resources/mapper/system/MineHealthMapper.xml b/yq-system/src/main/resources/mapper/system/MineHealthMapper.xml index 157b3aa..34f5640 100644 --- a/yq-system/src/main/resources/mapper/system/MineHealthMapper.xml +++ b/yq-system/src/main/resources/mapper/system/MineHealthMapper.xml @@ -14,7 +14,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -42,22 +41,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mf.face_name, mf.face_phone , mf.age , - mg.dept_id, - d.dept_name, - mg.mine_group_name + mf.dept_id, + d.dept_name FROM mine_health mh INNER JOIN mine_face mf on mf.id =mh.face_id - INNER JOIN mine_group mg - on mg.id =mf.group_id inner join sys_dept d - on d.dept_id =mg.dept_id + on d.dept_id =mf.dept_id - and mg.mine_group_name like concat('%', #{mineGroupName}, '%') + and d.dept_name like concat('%', #{deptName}, '%') and mf.face_name like concat('%', #{faceName}, '%') - and mf.group_id =#{groupId} and mw.bp_high = #{bpHigh} and mw.bp_low = #{bpLow} - and mg.id = #{groupId} + and d.dept_id = #{deptId} and mw.br = #{br} and mw.hr = #{hr} and mw.hrv = #{hrv} @@ -160,18 +154,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mf.is_work, mw.create_time, mf.face_name, - mg.mine_group_name, + d.dept_name, ROW_NUMBER() OVER (PARTITION BY mf.face_name ORDER BY mw.create_time DESC) AS rn FROM mine_warning mw INNER JOIN mine_face mf ON mf.id = mw.face_id - INNER JOIN mine_group mg ON mg.id = mf.group_id + inner join sys_dept d on mf.dept_id = d.dept_id - and mg.mine_group_name like concat('%', #{mineGroupName}, '%') + and d.dept_name like concat('%', #{deptName}, '%') and mf.face_name like concat('%', #{faceName}, '%') and mw.bp_high = #{bpHigh} and mw.bp_low = #{bpLow} - and mg.id = #{groupId} + and d.dept_id = #{deptId} and mw.br = #{br} and mw.hr = #{hr} and mw.hrv = #{hrv} @@ -197,7 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_work as isWork, create_time as createTime, face_name as faceName, - mine_group_name as mineGroupName + dept_name as deptName FROM RankedWarnings WHERE @@ -206,20 +200,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +