Browse Source

提交

mine
袁强 5 months ago
parent
commit
c84016cd8b
  1. 5
      yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java
  2. 1
      yq-system/src/main/java/yq/system/domain/MineWarning.java
  3. 4
      yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java
  4. 2
      yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java
  5. 4
      yq-system/src/main/java/yq/system/service/IMineWarningService.java
  6. 4
      yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java
  7. 1
      yq-system/src/main/resources/mapper/system/MineGroupMapper.xml
  8. 22
      yq-system/src/main/resources/mapper/system/MineWarningMapper.xml

5
yq-admin/src/main/java/yq/web/controller/mine/MineWarningController.java

@ -77,8 +77,9 @@ public class MineWarningController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('earlywarning:druid:list')")
@GetMapping("/statistic/list")
public TableDataInfo statisticList(StatisticVo statisticVo){
List<StatisticVo> list = mineWarningService.selectMineWarningStatisticList(statisticVo);
public TableDataInfo statisticList(MineWarning mineWarning){
List<StatisticVo> list = mineWarningService.selectMineWarningStatisticList(mineWarning);
return getDataTable(list);
}

1
yq-system/src/main/java/yq/system/domain/MineWarning.java

@ -82,4 +82,5 @@ public class MineWarning {
private String deptIdStr;
private Long userId;
private String search;
}

4
yq-system/src/main/java/yq/system/domain/vo/StatisticVo.java

@ -6,12 +6,14 @@ import lombok.Data;
* @auther yq
* @data 2025/1/10
*/
@Data
public class StatisticVo {
private String search;
private String mineGroupName;
private Integer clock;
private Integer unClock;
private String unClockNames;
}

2
yq-system/src/main/java/yq/system/mapper/MineWarningMapper.java

@ -33,7 +33,7 @@ public interface MineWarningMapper
public List<MineWarning> selectMineWarningUnMedicalList(MineWarning mineWarning);
public List<StatisticVo> selectMineWarningStatisticList(StatisticVo statisticVo);
public List<StatisticVo> selectMineWarningStatisticList(MineWarning mineWarning);
public List<MineWarning> selectMineWarningListOne(MineWarning mineWarning);

4
yq-system/src/main/java/yq/system/service/IMineWarningService.java

@ -42,10 +42,10 @@ public interface IMineWarningService
/**
* 查询请填写功能名称列表
*
* @param statisticVo 请填写功能名称
* @param请填写功能名称
* @return 请填写功能名称集合
*/
public List<StatisticVo> selectMineWarningStatisticList(StatisticVo statisticVo);
public List<StatisticVo> selectMineWarningStatisticList(MineWarning mineWarning);

4
yq-system/src/main/java/yq/system/service/impl/MineWarningServiceImpl.java

@ -74,8 +74,8 @@ public class MineWarningServiceImpl implements IMineWarningService
}
@Override
public List<StatisticVo> selectMineWarningStatisticList(StatisticVo statisticVo) {
return mineWarningMapper.selectMineWarningStatisticList(statisticVo);
public List<StatisticVo> selectMineWarningStatisticList(MineWarning mineWarning) {
return mineWarningMapper.selectMineWarningStatisticList(mineWarning);
}
/**

1
yq-system/src/main/resources/mapper/system/MineGroupMapper.xml

@ -23,6 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptId != null "> and d.dept_id =#{deptId}</if>
<if test="deptName != null and deptName != ''"> and d.dept_name like concat('%', #{deptName}, '%')</if>
</where>
order by mg.mine_group_name desc
</select>
<select id="selectMineGroupById" parameterType="Long" resultMap="MineGroupResult">

22
yq-system/src/main/resources/mapper/system/MineWarningMapper.xml

@ -206,18 +206,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectMineWarningStatisticList" resultType="yq.system.domain.vo.StatisticVo">
SELECT
mg.mine_group_name,
COUNT(CASE WHEN mw.create_time IS NOT NULL THEN 1 END) AS clock, -- 计算已打卡的人数
COUNT(CASE WHEN mw.create_time IS NULL THEN 1 END) AS unClock -- 计算未打卡的人数
mg.mine_group_name AS mineGroupName,
COUNT(DISTINCT CASE WHEN mw.create_time IS NOT NULL THEN mf.id END) AS clock, -- 统计已打卡的人数
COUNT(DISTINCT CASE WHEN mw.create_time IS NULL THEN mf.id END) AS unClock , -- 统计未打卡的人数
GROUP_CONCAT(CASE WHEN mw.create_time IS NULL THEN mf.face_name END) AS unClockNames -- 统计未打卡的人员名称
FROM
mine_face mf
LEFT JOIN
mine_warning mw ON mw.face_id = mf.id
<if test="search == 今日 "> AND DATE(mw.create_time) = CURDATE() </if>
<if test="search == 7天 "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 7 DAY </if>
<if test="search == 30天 "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 1 MONTH </if>
LEFT JOIN
mine_group mg ON mg.id = mf.group_id
mine_group mg
LEFT JOIN mine_face mf ON mg.id = mf.group_id
LEFT JOIN mine_warning mw ON mw.face_id = mf.id
<if test="search == '今日' "> AND DATE(mw.create_time) = CURDATE() </if>
<if test="search == '7天' "> AND mw.create_time >= CURDATE() - INTERVAL 7 DAY -- 过去7天内的打卡记录 </if>
<if test="search == '30天' "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 1 MONTH </if>
GROUP BY
mg.dept_id, mg.id;
</select>

Loading…
Cancel
Save