From 709148d9f07ebfdc952a7c5d71073ce29d2ac7e2 Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Wed, 14 Jun 2023 17:08:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LifterController.java | 7 +++-- .../xmgl/modules/bigdevice/entity/Lifter.java | 24 +++++++++++++--- .../entity/vo/LifterAlarmAndDevCountVo.java | 23 +++++++++++++++ .../bigdevice/mapper/LifterMapper.java | 5 ++-- .../bigdevice/mapper/xml/LifterMapper.xml | 24 ++++++++-------- .../bigdevice/service/ILifterService.java | 5 ++-- .../service/impl/LifterServiceImpl.java | 26 +++++++++-------- .../controller/WorkerInfoController.java | 4 +-- .../entity/vo/ProjectWorkerTypeTotalVo.java | 28 +++++++++++++++++++ .../worker/mapper/WorkerInfoMapper.java | 5 ++-- .../worker/mapper/xml/WorkerInfoMapper.xml | 18 +++++++++--- .../worker/service/IWorkerInfoService.java | 2 +- .../service/impl/WorkerInfoServiceImpl.java | 18 ++++++------ 13 files changed, 137 insertions(+), 52 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/vo/LifterAlarmAndDevCountVo.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/ProjectWorkerTypeTotalVo.java diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/LifterController.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/LifterController.java index b02ed452d..c633fb77d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/LifterController.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/controller/LifterController.java @@ -4,6 +4,7 @@ import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.bigdevice.entity.Lifter; +import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAlarmAndDevCountVo; import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAndDataInfoVO; import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo; import com.zhgd.xmgl.modules.bigdevice.service.ILifterService; @@ -41,8 +42,8 @@ public class LifterController { @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"), }) @PostMapping(value = "/list") - public Result> selectLifterList(@RequestBody Map map) { - List pageList = lifterService.selectLifterList(map); + public Result> selectLifterList(@RequestBody Map map) { + List pageList = lifterService.selectLifterList(map); return Result.success(pageList); } @@ -132,7 +133,7 @@ public class LifterController { @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"), }) @PostMapping(value = "/selectLifterAlarmAndDevCount") - public Result> selectLifterAlarmAndDevCount(@RequestBody Map map) { + public Result selectLifterAlarmAndDevCount(@RequestBody Map map) { return Result.success(lifterService.selectLifterAlarmAndDevCount(map)); } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/Lifter.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/Lifter.java index e2c385af7..b6197480a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/Lifter.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/Lifter.java @@ -280,10 +280,6 @@ public class Lifter implements Serializable { @ApiModelProperty(value = "品牌") private java.lang.String brand; - @TableField(exist = false) - @ApiModelProperty(value = "总承包单位企业名称") - private java.lang.String generalContractorsName; - @TableField(exist = false) @ApiModelProperty(value = "设置是否在线,1在线,0离线") private java.lang.Integer devOnline; @@ -295,4 +291,24 @@ public class Lifter implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "司机列表") private List driverList; + + /** + * 使用devOnline字段 + */ + @Deprecated + @TableField(exist = false) + @ApiModelProperty(value = "设置是否在线,1在线,0离线", hidden = true) + private java.lang.String devonline; + + /** + * 使用enterpriseName字段 + */ + @Deprecated + @TableField(exist = false) + @ApiModelProperty(value = "总承包单位企业名称", hidden = true) + private java.lang.String generalContractorsName; + + @TableField(exist = false) + @ApiModelProperty(value = "企业名称") + private java.lang.String enterpriseName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/vo/LifterAlarmAndDevCountVo.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/vo/LifterAlarmAndDevCountVo.java new file mode 100644 index 000000000..ca4303958 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/entity/vo/LifterAlarmAndDevCountVo.java @@ -0,0 +1,23 @@ +package com.zhgd.xmgl.modules.bigdevice.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class LifterAlarmAndDevCountVo { + + private DevCount devCount; + @ApiModelProperty("设备报警数量") + private Integer alarmCount; + + @Data + public static class DevCount { + + @ApiModelProperty("设备在线数量") + private Integer devOnline; + @ApiModelProperty("设备总数量") + private String devNum; + + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/LifterMapper.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/LifterMapper.java index 052351773..6fd011c2c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/LifterMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/LifterMapper.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.bigdevice.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.bigdevice.entity.Lifter; +import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAlarmAndDevCountVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,7 +21,7 @@ public interface LifterMapper extends BaseMapper { Integer selectLifterAlarmCurrentDayCount(Map map); - List selectLifterList(Map map); + List selectLifterList(Map map); List selectLifterDevList(Map map); @@ -36,7 +37,7 @@ public interface LifterMapper extends BaseMapper { Integer selectLifterCountBySn(@Param("devSn") String devSn); - Map getLifterDevCount(Map map); + LifterAlarmAndDevCountVo.DevCount getLifterDevCount(Map map); List queryOfflineLifter(); diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterMapper.xml index a532bb760..105997cc4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterMapper.xml @@ -25,14 +25,14 @@ and cp.company_sn = #{sn} - SELECT w1.*, - en.enterprise_name general_contractors_name, - IFNULL(((case - when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) <= 30 then 1 - else 0 end)), 0) devOnline + en.enterprise_name general_contractors_name, + IFNULL(((case + when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) <= 30 then 1 + else 0 end)), 0) devOnline from lifter w1 - LEFT JOIN enterprise_info en ON w1.general_contractors_id = en.id + LEFT JOIN enterprise_info en ON w1.general_contractors_id = en.id where w1.project_sn = #{projectSn} - + SELECT COUNT(1) devNum, + IFNULL(SUM((case + when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) <= 30 then 1 + else 0 end)), 0) devOnline FROM lifter de where de.project_sn = #{projectSn} diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/ILifterService.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/ILifterService.java index da79178e8..3374dad85 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/ILifterService.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/ILifterService.java @@ -5,6 +5,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.bigdevice.entity.Lifter; import com.zhgd.xmgl.modules.bigdevice.entity.LifterAlarm; import com.zhgd.xmgl.modules.bigdevice.entity.LifterViolation; +import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAlarmAndDevCountVo; import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAndDataInfoVO; import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo; @@ -33,9 +34,9 @@ public interface ILifterService extends IService { void deleteProjectLifterData(String projectSn); - List selectLifterList(Map map); + List selectLifterList(Map map); - Map selectLifterAlarmAndDevCount(Map map); + LifterAlarmAndDevCountVo selectLifterAlarmAndDevCount(Map map); Map selectLifterDevAlarmCountList(Map map); diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java index 811375182..6a5877760 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java @@ -15,10 +15,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.bigdevice.entity.*; import com.zhgd.xmgl.modules.bigdevice.entity.dto.LifterDataInfoDTO; -import com.zhgd.xmgl.modules.bigdevice.entity.vo.DevWorkerVO; -import com.zhgd.xmgl.modules.bigdevice.entity.vo.DriverVO; -import com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAndDataInfoVO; -import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo; +import com.zhgd.xmgl.modules.bigdevice.entity.vo.*; import com.zhgd.xmgl.modules.bigdevice.mapper.*; import com.zhgd.xmgl.modules.bigdevice.service.ILifterService; import com.zhgd.xmgl.modules.project.entity.SubdivisionProject; @@ -220,22 +217,27 @@ public class LifterServiceImpl extends ServiceImpl impleme } @Override - public List selectLifterList(Map map) { - return lifterMapper.selectLifterList(map); + public List selectLifterList(Map map) { + List lifters = lifterMapper.selectLifterList(map); + lifters.forEach(e -> { + e.setEnterpriseName(e.getGeneralContractorsName()); + e.setDevOnline(Integer.valueOf(e.getDevonline())); + }); + return lifters; } @Override - public Map selectLifterAlarmAndDevCount(Map map) { + public LifterAlarmAndDevCountVo selectLifterAlarmAndDevCount(Map map) { SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd"); String time = sft.format(new Date()); map.put("startTime", time + " 00:00:00"); map.put("endTime", time + " 23:59:59"); - Map data = new HashMap<>(); - Map devCount = lifterMapper.getLifterDevCount(map); + LifterAlarmAndDevCountVo.DevCount devCount = lifterMapper.getLifterDevCount(map); Integer alarmCount = lifterAlarmMapper.selectSameDayAlarmCount(map); - data.put("devCount", devCount); - data.put("alarmCount", alarmCount); - return data; + LifterAlarmAndDevCountVo vo = new LifterAlarmAndDevCountVo(); + vo.setDevCount(devCount); + vo.setAlarmCount(alarmCount); + return vo; } @Override 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 c50b4cdd3..fae5a89ff 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 @@ -333,12 +333,12 @@ public class WorkerInfoController { } - @ApiOperation(value = "查询所有工种出勤人数列表", notes = "查询所有工种出勤人数列表") + @ApiOperation(value = "查询所有工种出勤、在场人数列表", notes = "查询所有工种出勤、在场人数列表") @ApiImplicitParams({ @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"), }) @PostMapping("/selectProjectWorkerTypeTotalList") - public Result> selectProjectWorkerTypeTotalList(@RequestBody Map map) { + public Result> selectProjectWorkerTypeTotalList(@RequestBody Map map) { return Result.success(workerInfoService.selectProjectWorkerTypeTotalList(map)); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/ProjectWorkerTypeTotalVo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/ProjectWorkerTypeTotalVo.java new file mode 100644 index 000000000..e57be6641 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/ProjectWorkerTypeTotalVo.java @@ -0,0 +1,28 @@ +package com.zhgd.xmgl.modules.worker.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ProjectWorkerTypeTotalVo { + + private String id; + @ApiModelProperty(value = "出勤人数") + private String totalPersonNum; + @ApiModelProperty(value = "在场人数") + private Integer presentPersonNum; + @ApiModelProperty(value = "工种名称") + private String typeName; + @ApiModelProperty(value = "人数") + private Integer workerNum; + @ApiModelProperty(value = "projectSn") + private String projectSn; + @ApiModelProperty(hidden = true) + private String workerTypeId; + /** + * 人数 + */ + @ApiModelProperty(hidden = true) + private Integer personNum; + +} 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 7b9fb1ab9..f9d78fe80 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 @@ -7,6 +7,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.entity.vo.AllProjectTeamVo; import com.zhgd.xmgl.modules.worker.entity.vo.PersonnelSituationVO; +import com.zhgd.xmgl.modules.worker.entity.vo.ProjectWorkerTypeTotalVo; import com.zhgd.xmgl.modules.worker.entity.vo.WorkerInfoDetailsVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -65,9 +66,9 @@ public interface WorkerInfoMapper extends BaseMapper { List selectProjectPresentWorkerList(Map map); - List selectProjectWorkerTypeTotalList(Map map); + List selectProjectWorkerTypeTotalList(Map map); - List> selelctWorkerTypePersonCount(Map map); + List selelctWorkerTypePersonCount(Map map); List selectExportExcelWorkerInfo(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 3b9e7cf47..f13b8209a 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 @@ -571,9 +571,11 @@ and a.inService_type = 1 order by p.create_time desc - SELECT w.type_name, w.project_sn, IFNULL(tp.person_num, 0) total_person_num, + IFNULL(ap.person_num, 0) present_person_num, w.id from worker_type w LEFT JOIN (SELECT g.worker_type_id, COUNT(DISTINCT w1.person_sn) person_num @@ -585,16 +587,24 @@ and w1.project_sn = #{projectSn} GROUP BY g.worker_type_id ) tp ON w.id = tp.worker_type_id - + LEFT JOIN ( + SELECT b.worker_type_id, COUNT(DISTINCT a.person_sn) person_num + from worker_info a + INNER JOIN worker_attendance_presence p ON a.person_sn = p.person_sn + INNER JOIN team_info b ON a.team_id = b.id + WHERE a.project_sn = #{projectSn} + and a.inService_type = 1 + ) ap on w.id = ap.worker_type_id WHERE w.project_sn = #{projectSn} ORDER BY total_person_num desc - SELECT g.worker_type_id workerTypeId, COUNT(DISTINCT w1.person_sn) personNum from worker_info w1 - INNER JOIN team_info g ON (w1.project_sn = g.project_sn and w1.team_id = g.id) + INNER JOIN team_info g ON (w1.project_sn = g.project_sn and w1.team_id = g.id) WHERE w1.project_sn = #{projectSn} GROUP BY g.worker_type_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 cb9c96f8d..9a4053322 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 @@ -58,7 +58,7 @@ public interface IWorkerInfoService extends IService { List selectProjectPresentWorkerList(Map map); - List selectProjectWorkerTypeTotalList(Map map); + List selectProjectWorkerTypeTotalList(Map map); void exportExcelWorkerInfo(HttpServletResponse response, 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 3a3719fa8..af9bd3732 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 @@ -745,20 +745,20 @@ public class WorkerInfoServiceImpl extends ServiceImpl selectProjectWorkerTypeTotalList(Map map) { - List list = workerInfoMapper.selectProjectWorkerTypeTotalList(map); + public List selectProjectWorkerTypeTotalList(Map map) { + List list = workerInfoMapper.selectProjectWorkerTypeTotalList(map); if (list != null && list.size() > 0) { - List> typeData = workerInfoMapper.selelctWorkerTypePersonCount(map); - for (EntityMap data : list) { + List typeData = workerInfoMapper.selelctWorkerTypePersonCount(map); + for (ProjectWorkerTypeTotalVo data : list) { int num = 0; - String id = MapUtils.getString(data, "id"); - for (Map tempData : typeData) { - if (id.equals(MapUtils.getString(tempData, "workerTypeId"))) { - num = MapUtils.getInteger(tempData, "personNum"); + String id = data.getId(); + for (ProjectWorkerTypeTotalVo tempData : typeData) { + if (id.equals(tempData.getWorkerTypeId())) { + num = tempData.getPersonNum(); } } //总人数 - data.put("worker_num", num); + data.setWorkerNum(num); } } return list;