代码bug修改

This commit is contained in:
Administrator 2023-06-14 17:08:08 +08:00
parent 4e26395751
commit 709148d9f0
13 changed files with 137 additions and 52 deletions

View File

@ -4,6 +4,7 @@ import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.bigdevice.entity.Lifter; 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.LifterAndDataInfoVO;
import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo; import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo;
import com.zhgd.xmgl.modules.bigdevice.service.ILifterService; 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"), @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"),
}) })
@PostMapping(value = "/list") @PostMapping(value = "/list")
public Result<List<EntityMap>> selectLifterList(@RequestBody Map<String, Object> map) { public Result<List<Lifter>> selectLifterList(@RequestBody Map<String, Object> map) {
List<EntityMap> pageList = lifterService.selectLifterList(map); List<Lifter> pageList = lifterService.selectLifterList(map);
return Result.success(pageList); return Result.success(pageList);
} }
@ -132,7 +133,7 @@ public class LifterController {
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"),
}) })
@PostMapping(value = "/selectLifterAlarmAndDevCount") @PostMapping(value = "/selectLifterAlarmAndDevCount")
public Result<Map<String, Object>> selectLifterAlarmAndDevCount(@RequestBody Map<String, Object> map) { public Result<LifterAlarmAndDevCountVo> selectLifterAlarmAndDevCount(@RequestBody Map<String, Object> map) {
return Result.success(lifterService.selectLifterAlarmAndDevCount(map)); return Result.success(lifterService.selectLifterAlarmAndDevCount(map));
} }

View File

@ -280,10 +280,6 @@ public class Lifter implements Serializable {
@ApiModelProperty(value = "品牌") @ApiModelProperty(value = "品牌")
private java.lang.String brand; private java.lang.String brand;
@TableField(exist = false)
@ApiModelProperty(value = "总承包单位企业名称")
private java.lang.String generalContractorsName;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "设置是否在线1在线0离线") @ApiModelProperty(value = "设置是否在线1在线0离线")
private java.lang.Integer devOnline; private java.lang.Integer devOnline;
@ -295,4 +291,24 @@ public class Lifter implements Serializable {
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "司机列表") @ApiModelProperty(value = "司机列表")
private List<BigDeviceDriverRecord> driverList; private List<BigDeviceDriverRecord> 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;
} }

View File

@ -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;
}
}

View File

@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.bigdevice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.bigdevice.entity.Lifter; 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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -20,7 +21,7 @@ public interface LifterMapper extends BaseMapper<Lifter> {
Integer selectLifterAlarmCurrentDayCount(Map<String, Object> map); Integer selectLifterAlarmCurrentDayCount(Map<String, Object> map);
List<EntityMap> selectLifterList(Map<String, Object> map); List<Lifter> selectLifterList(Map<String, Object> map);
List<EntityMap> selectLifterDevList(Map<String, Object> map); List<EntityMap> selectLifterDevList(Map<String, Object> map);
@ -36,7 +37,7 @@ public interface LifterMapper extends BaseMapper<Lifter> {
Integer selectLifterCountBySn(@Param("devSn") String devSn); Integer selectLifterCountBySn(@Param("devSn") String devSn);
Map<String, Object> getLifterDevCount(Map<String, Object> map); LifterAlarmAndDevCountVo.DevCount getLifterDevCount(Map<String, Object> map);
List<Lifter> queryOfflineLifter(); List<Lifter> queryOfflineLifter();

View File

@ -25,14 +25,14 @@
and cp.company_sn = #{sn} and cp.company_sn = #{sn}
</if> </if>
</select> </select>
<select id="selectLifterList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap"> <select id="selectLifterList" resultType="com.zhgd.xmgl.modules.bigdevice.entity.Lifter">
SELECT w1.*, SELECT w1.*,
en.enterprise_name general_contractors_name, en.enterprise_name general_contractors_name,
IFNULL(((case IFNULL(((case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) &lt;= 30 then 1 when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) &lt;= 30 then 1
else 0 end)), 0) devOnline else 0 end)), 0) devOnline
from lifter w1 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} where w1.project_sn = #{projectSn}
</select> </select>
<select id="selectAllDevCount" resultType="java.util.Map"> <select id="selectAllDevCount" resultType="java.util.Map">
@ -131,11 +131,13 @@
) tp ) tp
</select> </select>
<select id="getLifterDevCount" resultType="java.util.Map" parameterType="map"> <select id="getLifterDevCount"
SELECT COUNT(1) devNum, resultType="com.zhgd.xmgl.modules.bigdevice.entity.vo.LifterAlarmAndDevCountVo$DevCount"
IFNULL(SUM((case parameterType="map">
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) &lt;= 30 then 1 SELECT COUNT(1) devNum,
else 0 end)), 0) devOnline IFNULL(SUM((case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(real_time)) / 60) &lt;= 30 then 1
else 0 end)), 0) devOnline
FROM lifter de FROM lifter de
where de.project_sn = #{projectSn} where de.project_sn = #{projectSn}
</select> </select>

View File

@ -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.Lifter;
import com.zhgd.xmgl.modules.bigdevice.entity.LifterAlarm; import com.zhgd.xmgl.modules.bigdevice.entity.LifterAlarm;
import com.zhgd.xmgl.modules.bigdevice.entity.LifterViolation; 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.LifterAndDataInfoVO;
import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo; import com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo;
@ -33,9 +34,9 @@ public interface ILifterService extends IService<Lifter> {
void deleteProjectLifterData(String projectSn); void deleteProjectLifterData(String projectSn);
List<EntityMap> selectLifterList(Map<String, Object> map); List<Lifter> selectLifterList(Map<String, Object> map);
Map<String, Object> selectLifterAlarmAndDevCount(Map<String, Object> map); LifterAlarmAndDevCountVo selectLifterAlarmAndDevCount(Map<String, Object> map);
Map<String, Object> selectLifterDevAlarmCountList(Map<String, Object> map); Map<String, Object> selectLifterDevAlarmCountList(Map<String, Object> map);

View File

@ -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.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.bigdevice.entity.*; import com.zhgd.xmgl.modules.bigdevice.entity.*;
import com.zhgd.xmgl.modules.bigdevice.entity.dto.LifterDataInfoDTO; 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.*;
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.mapper.*; import com.zhgd.xmgl.modules.bigdevice.mapper.*;
import com.zhgd.xmgl.modules.bigdevice.service.ILifterService; import com.zhgd.xmgl.modules.bigdevice.service.ILifterService;
import com.zhgd.xmgl.modules.project.entity.SubdivisionProject; import com.zhgd.xmgl.modules.project.entity.SubdivisionProject;
@ -220,22 +217,27 @@ public class LifterServiceImpl extends ServiceImpl<LifterMapper, Lifter> impleme
} }
@Override @Override
public List<EntityMap> selectLifterList(Map<String, Object> map) { public List<Lifter> selectLifterList(Map<String, Object> map) {
return lifterMapper.selectLifterList(map); List<Lifter> lifters = lifterMapper.selectLifterList(map);
lifters.forEach(e -> {
e.setEnterpriseName(e.getGeneralContractorsName());
e.setDevOnline(Integer.valueOf(e.getDevonline()));
});
return lifters;
} }
@Override @Override
public Map<String, Object> selectLifterAlarmAndDevCount(Map<String, Object> map) { public LifterAlarmAndDevCountVo selectLifterAlarmAndDevCount(Map<String, Object> map) {
SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd");
String time = sft.format(new Date()); String time = sft.format(new Date());
map.put("startTime", time + " 00:00:00"); map.put("startTime", time + " 00:00:00");
map.put("endTime", time + " 23:59:59"); map.put("endTime", time + " 23:59:59");
Map<String, Object> data = new HashMap<>(); LifterAlarmAndDevCountVo.DevCount devCount = lifterMapper.getLifterDevCount(map);
Map<String, Object> devCount = lifterMapper.getLifterDevCount(map);
Integer alarmCount = lifterAlarmMapper.selectSameDayAlarmCount(map); Integer alarmCount = lifterAlarmMapper.selectSameDayAlarmCount(map);
data.put("devCount", devCount); LifterAlarmAndDevCountVo vo = new LifterAlarmAndDevCountVo();
data.put("alarmCount", alarmCount); vo.setDevCount(devCount);
return data; vo.setAlarmCount(alarmCount);
return vo;
} }
@Override @Override

View File

@ -333,12 +333,12 @@ public class WorkerInfoController {
} }
@ApiOperation(value = "查询所有工种出勤人数列表", notes = "查询所有工种出勤人数列表") @ApiOperation(value = "查询所有工种出勤、在场人数列表", notes = "查询所有工种出勤、在场人数列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"),
}) })
@PostMapping("/selectProjectWorkerTypeTotalList") @PostMapping("/selectProjectWorkerTypeTotalList")
public Result<List<EntityMap>> selectProjectWorkerTypeTotalList(@RequestBody Map<String, Object> map) { public Result<List<ProjectWorkerTypeTotalVo>> selectProjectWorkerTypeTotalList(@RequestBody Map<String, Object> map) {
return Result.success(workerInfoService.selectProjectWorkerTypeTotalList(map)); return Result.success(workerInfoService.selectProjectWorkerTypeTotalList(map));
} }

View File

@ -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;
}

View File

@ -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.WorkerInfo;
import com.zhgd.xmgl.modules.worker.entity.vo.AllProjectTeamVo; 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.PersonnelSituationVO;
import com.zhgd.xmgl.modules.worker.entity.vo.ProjectWorkerTypeTotalVo;
import com.zhgd.xmgl.modules.worker.entity.vo.WorkerInfoDetailsVo; import com.zhgd.xmgl.modules.worker.entity.vo.WorkerInfoDetailsVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -65,9 +66,9 @@ public interface WorkerInfoMapper extends BaseMapper<WorkerInfo> {
List<EntityMap> selectProjectPresentWorkerList(Map<String, Object> map); List<EntityMap> selectProjectPresentWorkerList(Map<String, Object> map);
List<EntityMap> selectProjectWorkerTypeTotalList(Map<String, Object> map); List<ProjectWorkerTypeTotalVo> selectProjectWorkerTypeTotalList(Map<String, Object> map);
List<Map<String, Object>> selelctWorkerTypePersonCount(Map<String, Object> map); List<ProjectWorkerTypeTotalVo> selelctWorkerTypePersonCount(Map<String, Object> map);
List<EntityMap> selectExportExcelWorkerInfo(Map<String, Object> map); List<EntityMap> selectExportExcelWorkerInfo(Map<String, Object> map);

View File

@ -571,9 +571,11 @@
and a.inService_type = 1 and a.inService_type = 1
order by p.create_time desc order by p.create_time desc
</select> </select>
<select id="selectProjectWorkerTypeTotalList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap"> <select id="selectProjectWorkerTypeTotalList"
resultType="com.zhgd.xmgl.modules.worker.entity.vo.ProjectWorkerTypeTotalVo">
SELECT w.type_name, w.project_sn, SELECT w.type_name, w.project_sn,
IFNULL(tp.person_num, 0) total_person_num, <!--出勤人数--> IFNULL(tp.person_num, 0) total_person_num, <!--出勤人数-->
IFNULL(ap.person_num, 0) present_person_num, <!--在场人数-->
w.id w.id
from worker_type w from worker_type w
LEFT JOIN (SELECT g.worker_type_id, COUNT(DISTINCT w1.person_sn) person_num LEFT JOIN (SELECT g.worker_type_id, COUNT(DISTINCT w1.person_sn) person_num
@ -585,16 +587,24 @@
and w1.project_sn = #{projectSn} and w1.project_sn = #{projectSn}
GROUP BY g.worker_type_id GROUP BY g.worker_type_id
) tp ON w.id = tp.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} WHERE w.project_sn = #{projectSn}
ORDER BY total_person_num desc ORDER BY total_person_num desc
<!--LIMIT 10--> <!--LIMIT 10-->
</select> </select>
<select id="selelctWorkerTypePersonCount" parameterType="map" resultType="map"> <select id="selelctWorkerTypePersonCount" parameterType="map"
resultType="com.zhgd.xmgl.modules.worker.entity.vo.ProjectWorkerTypeTotalVo">
SELECT g.worker_type_id workerTypeId, COUNT(DISTINCT w1.person_sn) personNum SELECT g.worker_type_id workerTypeId, COUNT(DISTINCT w1.person_sn) personNum
from worker_info w1 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} WHERE w1.project_sn = #{projectSn}
GROUP BY g.worker_type_id GROUP BY g.worker_type_id
</select> </select>

View File

@ -58,7 +58,7 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
List<EntityMap> selectProjectPresentWorkerList(Map<String, Object> map); List<EntityMap> selectProjectPresentWorkerList(Map<String, Object> map);
List<EntityMap> selectProjectWorkerTypeTotalList(Map<String, Object> map); List<ProjectWorkerTypeTotalVo> selectProjectWorkerTypeTotalList(Map<String, Object> map);
void exportExcelWorkerInfo(HttpServletResponse response, Map<String, Object> map); void exportExcelWorkerInfo(HttpServletResponse response, Map<String, Object> map);

View File

@ -745,20 +745,20 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
} }
@Override @Override
public List<EntityMap> selectProjectWorkerTypeTotalList(Map<String, Object> map) { public List<ProjectWorkerTypeTotalVo> selectProjectWorkerTypeTotalList(Map<String, Object> map) {
List<EntityMap> list = workerInfoMapper.selectProjectWorkerTypeTotalList(map); List<ProjectWorkerTypeTotalVo> list = workerInfoMapper.selectProjectWorkerTypeTotalList(map);
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
List<Map<String, Object>> typeData = workerInfoMapper.selelctWorkerTypePersonCount(map); List<ProjectWorkerTypeTotalVo> typeData = workerInfoMapper.selelctWorkerTypePersonCount(map);
for (EntityMap data : list) { for (ProjectWorkerTypeTotalVo data : list) {
int num = 0; int num = 0;
String id = MapUtils.getString(data, "id"); String id = data.getId();
for (Map<String, Object> tempData : typeData) { for (ProjectWorkerTypeTotalVo tempData : typeData) {
if (id.equals(MapUtils.getString(tempData, "workerTypeId"))) { if (id.equals(tempData.getWorkerTypeId())) {
num = MapUtils.getInteger(tempData, "personNum"); num = tempData.getPersonNum();
} }
} }
//总人数 //总人数
data.put("worker_num", num); data.setWorkerNum(num);
} }
} }
return list; return list;