From 75fb6e4b979b6f3825b60551d9b46a751c35c712 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Sun, 29 Sep 2024 17:08:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=BA=E5=91=98=E6=80=A7?= =?UTF-8?q?=E8=B4=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SafetyHatDevServiceImpl.java | 13 ++++++++++ .../controller/WorkerInfoController.java | 10 ++++++++ .../modules/worker/entity/WorkerInfo.java | 5 ++++ .../worker/service/IWorkerInfoService.java | 8 ++++++ .../service/impl/WorkerInfoServiceImpl.java | 25 +++++++++++++++++++ 5 files changed, 61 insertions(+) diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDevServiceImpl.java index 57c01b18b..e001daee2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDevServiceImpl.java @@ -22,13 +22,16 @@ import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDevMapper; import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatFenceMapper; import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDevService; import com.zhgd.xmgl.modules.vehicleposition.entity.vo.CountVehiclePositionDevVo; +import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; +import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; import com.zhgd.xmgl.util.ExcelUtils; import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -61,6 +64,8 @@ public class SafetyHatDevServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { @@ -85,6 +90,14 @@ public class SafetyHatDevServiceImpl extends ServiceImpl dealList(List list) { + List enterpriseInfos = enterpriseInfoMapper.selectList(null); + for (SafetyHatDev safetyHatDev : list) { + List collect = enterpriseInfos.stream().filter(e -> StringUtils.isNotBlank(safetyHatDev.getEnterpriseIds()) + && safetyHatDev.getEnterpriseIds().contains(e.getId().toString())).collect(Collectors.toList()); + if (collect.size() > 0) { + safetyHatDev.setEnterpriseName(collect.stream().map(c -> c.getEnterpriseName()).collect(Collectors.joining(","))); + } + } return list; } 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 63101aad6..d03fb0455 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 @@ -767,4 +767,14 @@ public class WorkerInfoController { public Result> getTrainRecordsByWorkerId(@ApiIgnore @RequestBody Map param) { return Result.success(workerInfoService.getTrainRecordsByWorkerId(param)); } + + @OperLog(operModul = "劳务管理", operType = "导出", operDesc = "根据人员性质统计") + @ApiOperation(value = "根据人员性质统计", notes = "根据人员性质统计", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/getWorkerByNature") + public Result>> getWorkerByNature(@ApiIgnore @RequestBody Map param) { + return Result.success(workerInfoService.getWorkerByNature(param)); + } } 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 2dd92ea65..50308ec2d 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 @@ -343,6 +343,11 @@ public class WorkerInfo implements Serializable { private Integer sendSuccessStatus; @ApiModelProperty(value = "退场的安全分数") private Double exitSafeScore; + @ApiModelProperty(value = "人员性质") + private Integer workerNature; + @TableField(exist = false) + @ApiModelProperty(value = "人员性质") + private String workerNatureName; @TableField(exist = false) @ApiModelProperty(value = "人脸分数") private java.lang.Integer faceScore; 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 4c77bad77..cd3216e15 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 @@ -577,4 +577,12 @@ public interface IWorkerInfoService extends IService { * @return */ List getTrainRecordsByWorkerId(Map param); + + /** + * 根据人员性质统计 + * + * @param param + * @return + */ + List> getWorkerByNature(Map param); } 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 e320b56e0..970f426b4 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 @@ -31,6 +31,7 @@ import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.entity.Company; +import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.enums.CompanyTypeEnum; import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum; @@ -1312,6 +1313,13 @@ public class WorkerInfoServiceImpl extends ServiceImpl viewWorkerInfoDetail(Map map) { Map data = new HashMap<>(16); EntityMap info = workerInfoMapper.viewWorkerInfoDetail(map); + Object nature = info.get("workerNature"); + if (nature != null) { + String workerNature = String.valueOf(nature); + List dictList = dictionaryItemService.getDictList("worker_nature", info.get("projectSn")); + List itemList = dictList.stream().filter(d -> d.getData().equals(workerNature)).collect(Collectors.toList()); + info.put("workerNatureName", itemList.size() > 0 ? itemList.get(0).getName() : ""); + } map.put("personSn", MapUtils.getString(info, "personSn")); int totalAttendanceDay = workerAttendanceMapper.getWorkerAttendanceCountDay(map); map.put("idCard", MapUtils.getString(info, "idCard")); @@ -2631,6 +2639,23 @@ public class WorkerInfoServiceImpl extends ServiceImpl> getWorkerByNature(Map param) { + String projectSn = MapUtils.getString(param, "projectSn"); + List workerInfos = this.list(Wrappers.lambdaQuery() + .eq(WorkerInfo::getProjectSn, projectSn)); + List dictionaryItems = dictionaryItemService.getDictList("worker_nature", projectSn); + List> resultList = new ArrayList<>(); + dictionaryItems.forEach(w -> { + Map map = new HashMap<>(); + map.put("name", w.getName()); + map.put("num", workerInfos.stream().filter(i -> i.getWorkerNature() != null && + i.getWorkerNature().toString().equals(w.getData())).count()); + resultList.add(map); + }); + return resultList; + } + /** * 获取是否合格 *