木垒安全管理调整bug修改

This commit is contained in:
guoshengxiong 2024-10-28 15:27:01 +08:00
parent de02477417
commit 43a4a16b62
2 changed files with 45 additions and 22 deletions

View File

@ -86,6 +86,9 @@
<if test="param.startTime != null and param.startTime != ''"> <if test="param.startTime != null and param.startTime != ''">
and w.study_time &gt;= #{param.startTime} and w.study_time &gt;= #{param.startTime}
</if> </if>
<if test="param.videoType != null and param.videoType != ''">
and w1.video_type = #{param.videoType}
</if>
</select> </select>
<select id="getPersonNumberByEduType" resultType="java.lang.Long"> <select id="getPersonNumberByEduType" resultType="java.lang.Long">

View File

@ -1,7 +1,9 @@
package com.zhgd.xmgl.modules.worker.service.impl; package com.zhgd.xmgl.modules.worker.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -137,10 +139,17 @@ public class WorkerSafeEducationWorkerServiceImpl extends ServiceImpl<WorkerSafe
public Map<String, Object> selectWorkerEducationOverview(Map<String, Object> param) { public Map<String, Object> selectWorkerEducationOverview(Map<String, Object> param) {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String projectSn = MapUtils.getString(param, "projectSn"); String projectSn = MapUtils.getString(param, "projectSn");
List<WorkerSafeEducationWorker> list = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery().eq(WorkerSafeEducationWorker::getProjectSn, projectSn) List<Long> eduIds = workerSafeEducationService.list(new LambdaQueryWrapper<WorkerSafeEducation>()
.orderByDesc(WorkerSafeEducationWorker::getId)); .eq(WorkerSafeEducation::getVideoType, 1)).stream().map(WorkerSafeEducation::getId).collect(Collectors.toList());
List<WorkerSafeEducationWorker> list = new ArrayList<>();
if (CollUtil.isNotEmpty(eduIds)) {
list = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery()
.eq(WorkerSafeEducationWorker::getProjectSn, projectSn)
.in(WorkerSafeEducationWorker::getEduId, eduIds)
.orderByDesc(WorkerSafeEducationWorker::getId));
}
resultMap.put("educationNum", list.size()); resultMap.put("educationNum", list.size());
resultMap.put("educationPass", list.stream().filter(l -> l.getIsQualified() == 1).count()); resultMap.put("educationPass", list.stream().filter(l -> Objects.equals(l.getIsQualified(), 1)).count());
resultMap.put("educationNewRecord", list.get(0).getStudyTime()); resultMap.put("educationNewRecord", list.get(0).getStudyTime());
return resultMap; return resultMap;
} }
@ -148,19 +157,20 @@ public class WorkerSafeEducationWorkerServiceImpl extends ServiceImpl<WorkerSafe
@Override @Override
public List<Map<String, Object>> selectWorkerEducationByWeek(Map<String, Object> param) { public List<Map<String, Object>> selectWorkerEducationByWeek(Map<String, Object> param) {
String projectSn = MapUtils.getString(param, "projectSn"); String projectSn = MapUtils.getString(param, "projectSn");
List<WorkerSafeEducation> list = workerSafeEducationService.list(Wrappers.<WorkerSafeEducation>lambdaQuery() List<Long> list = workerSafeEducationService.list(Wrappers.<WorkerSafeEducation>lambdaQuery()
.eq(WorkerSafeEducation::getVideoType, 1)
.eq(WorkerSafeEducation::getEduType, 5) .eq(WorkerSafeEducation::getEduType, 5)
.eq(WorkerSafeEducation::getProjectSn, projectSn)); .eq(WorkerSafeEducation::getProjectSn, projectSn)).stream().map(WorkerSafeEducation::getId).collect(Collectors.toList());
List<WorkerSafeEducationWorker> educationWorkers = new ArrayList<>(); List<WorkerSafeEducationWorker> educationWorkers = new ArrayList<>();
if (list.size() > 0) { if (list.size() > 0) {
educationWorkers = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery() educationWorkers = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery()
.in(WorkerSafeEducationWorker::getEduId) .in(WorkerSafeEducationWorker::getEduId, list)
.ge(WorkerSafeEducationWorker::getStudyTime, DateUtil.offsetDay(new Date(), -7))); .ge(WorkerSafeEducationWorker::getStudyTime, DateUtil.offsetDay(new Date(), -7)));
} }
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
Map<String, Object> resultMap = new HashMap<>(); for (int i = 7; i >= 0; i--) {
for (int i = 1; i < 8; i++) {
String formatDate = DateUtil.formatDate(DateUtil.offsetDay(new Date(), -i)); String formatDate = DateUtil.formatDate(DateUtil.offsetDay(new Date(), -i));
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("time", formatDate); resultMap.put("time", formatDate);
resultMap.put("num", educationWorkers.stream().filter(e -> DateUtil.formatDate(DateUtil.parseDate(e.getStudyTime())) resultMap.put("num", educationWorkers.stream().filter(e -> DateUtil.formatDate(DateUtil.parseDate(e.getStudyTime()))
.equals(formatDate)).count()); .equals(formatDate)).count());
@ -172,22 +182,25 @@ public class WorkerSafeEducationWorkerServiceImpl extends ServiceImpl<WorkerSafe
@Override @Override
public List<Map<String, Object>> selectWorkerEducationByType(Map<String, Object> param) { public List<Map<String, Object>> selectWorkerEducationByType(Map<String, Object> param) {
String projectSn = MapUtils.getString(param, "projectSn"); String projectSn = MapUtils.getString(param, "projectSn");
String [] type = {"入场安全教育", "日常安全教育", "每日安全交底", "VR安全教育", "班前教育", "日常教育(日常违规教育)", "每日交底(方案交底)", "每日交底(安全技术交底)", "每日交底(大工程交底)"}; String[] type = {"入场安全教育", "日常安全教育", "每日安全交底", "VR安全教育", "班前教育", "日常教育(日常违规教育)", "每日交底(方案交底)", "每日交底(安全技术交底)", "每日交底(大工程交底)"};
List<WorkerSafeEducation> list = workerSafeEducationService.list(Wrappers.<WorkerSafeEducation>lambdaQuery() List<WorkerSafeEducation> list = workerSafeEducationService.list(Wrappers.<WorkerSafeEducation>lambdaQuery()
.eq(WorkerSafeEducation::getProjectSn, projectSn)); .eq(WorkerSafeEducation::getProjectSn, projectSn)
.eq(WorkerSafeEducation::getVideoType, 1)
);
List<WorkerSafeEducationWorker> workerList = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery() List<WorkerSafeEducationWorker> workerList = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery()
.eq(WorkerSafeEducationWorker::getProjectSn, projectSn)); .eq(WorkerSafeEducationWorker::getProjectSn, projectSn));
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
Map<String, Object> resultMap = new HashMap<>();
for (int i = 0; i < type.length; i++) { for (int i = 0; i < type.length; i++) {
int i1 = i + 1; int j = i + 1;
List<String> collect = list.stream().filter(l -> l.getType() == i1).map(l -> l.getId().toString()).collect(Collectors.toList()); List<String> collect = list.stream().filter(l -> l.getEduType() == j).map(l -> l.getId().toString()).collect(Collectors.toList());
int num = 0; int num = 0;
if (collect.size() > 0) { if (collect.size() > 0) {
num = (int) workerList.stream().filter(w -> collect.contains(w.getEduId().toString())).count(); num = (int) workerList.stream().filter(w -> collect.contains(w.getEduId().toString())).count();
} }
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("type", type[i]); resultMap.put("type", type[i]);
resultMap.put("num", num); resultMap.put("num", num);
resultList.add(resultMap);
} }
return resultList; return resultList;
} }
@ -201,16 +214,23 @@ public class WorkerSafeEducationWorkerServiceImpl extends ServiceImpl<WorkerSafe
.eq(WorkerInfo::getProjectSn, projectSn) .eq(WorkerInfo::getProjectSn, projectSn)
.eq(WorkerInfo::getPersonType, 1) .eq(WorkerInfo::getPersonType, 1)
.eq(WorkerInfo::getInserviceType, 1)); .eq(WorkerInfo::getInserviceType, 1));
List<WorkerSafeEducationWorker> workerList = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery() List<Long> eduIds = workerSafeEducationService.list(Wrappers.<WorkerSafeEducation>lambdaQuery()
.eq(WorkerSafeEducationWorker::getProjectSn, projectSn) .eq(WorkerSafeEducation::getVideoType, 1)
.ge(WorkerSafeEducationWorker::getStudyTime, DateUtil.offsetMonth(new Date(), -1))); .eq(WorkerSafeEducation::getProjectSn, projectSn)).stream().map(WorkerSafeEducation::getId).collect(Collectors.toList());
List<WorkerSafeEducationWorker> workerEduList = new ArrayList<>();
if (CollUtil.isNotEmpty(eduIds)) {
workerEduList = this.list(Wrappers.<WorkerSafeEducationWorker>lambdaQuery()
.in(WorkerSafeEducationWorker::getEduId, eduIds)
.eq(WorkerSafeEducationWorker::getProjectSn, projectSn)
.ge(WorkerSafeEducationWorker::getStudyTime, DateUtil.offsetMonth(new Date(), -1)));
}
List<WorkerInfo> workerFilter = new ArrayList<>(); List<WorkerInfo> workerFilter = new ArrayList<>();
if (workerList.size() > 0) { if (workerEduList.size() > 0) {
workerFilter = workerInfoService.list(Wrappers.<WorkerInfo>lambdaQuery().in(WorkerInfo::getId, workerList.stream().map(w -> w.getWorkerId()).collect(Collectors.toList()))); workerFilter = workerInfoService.list(Wrappers.<WorkerInfo>lambdaQuery().in(WorkerInfo::getId, workerEduList.stream().map(WorkerSafeEducationWorker::getWorkerId).collect(Collectors.toList())));
} }
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
Map<String, Object> teamMap = new HashMap<>();
for (TeamInfo teamInfo : teamInfoList) { for (TeamInfo teamInfo : teamInfoList) {
Map<String, Object> teamMap = new HashMap<>();
teamMap.put("name", teamInfo.getTeamName()); teamMap.put("name", teamInfo.getTeamName());
teamMap.put("num", workerFilter.stream().filter(w -> w.getTeamId().toString().equals(teamInfo.getId().toString())).count()); teamMap.put("num", workerFilter.stream().filter(w -> w.getTeamId().toString().equals(teamInfo.getId().toString())).count());
resultList.add(teamMap); resultList.add(teamMap);
@ -219,9 +239,9 @@ public class WorkerSafeEducationWorkerServiceImpl extends ServiceImpl<WorkerSafe
Map<String, Object> workerStatMap = new HashMap<>(); Map<String, Object> workerStatMap = new HashMap<>();
workerStatMap.put("workerNum", count); workerStatMap.put("workerNum", count);
workerStatMap.put("educationNum", workerFilter.size()); workerStatMap.put("educationNum", workerEduList.size());
workerStatMap.put("passNum", workerList.stream().filter(w -> w.getIsQualified() == 1).count()); workerStatMap.put("passNum", workerEduList.stream().filter(w -> Objects.equals(w.getIsQualified(), 1)).count());
workerStatMap.put("unPassNum", workerList.stream().filter(w -> w.getIsQualified() == 2).count()); workerStatMap.put("unPassNum", workerEduList.stream().filter(w -> Objects.equals(w.getIsQualified(), 2)).count());
resultMap.put("workerStat", workerStatMap); resultMap.put("workerStat", workerStatMap);
return resultMap; return resultMap;
} }