人员定位统计

This commit is contained in:
pengjie 2024-09-05 17:02:08 +08:00
parent 7969ec5309
commit 91e3b13e7f
4 changed files with 70 additions and 3 deletions

View File

@ -180,6 +180,7 @@ public class ProjectDevStatisticsServiceImpl extends ServiceImpl<ProjectDevStati
List<Map<String, Object>> environmentList = environmentDevMapper.selectCompanyDevCountStatistics(map);
List<Map<String, Object>> videoList = videoItemMapper.selectCompanyVideoCountStatistics(map);
List<Map<String, Object>> ufaceDevList = ufaceDevMapper.selectCompanyUfaceDevCountStatistics(map);
List<Map<String, Object>> hatDevList = safetyHatDevMapper.selectCompanyUfaceDevCountStatistics(map);
Integer totalEnvironmentNum = 0;
Integer totalEnvOnlineNum = 0;
if (environmentList != null && environmentList.size() > 0) {
@ -204,8 +205,16 @@ public class ProjectDevStatisticsServiceImpl extends ServiceImpl<ProjectDevStati
totalufaceDevOnlineNum = totalufaceDevOnlineNum + MapUtils.getInteger(dev, "devOnline");
}
}
Integer totalDevNum = totalEnvironmentNum + totalVideoNum + totalufaceDevNum;
Integer totalOnlineNum = totalEnvOnlineNum + totalVideoOnlineNum + totalufaceDevOnlineNum;
Integer totalHatDevNum = 0;
Integer totalHatDevOnlineNum = 0;
if (hatDevList != null && hatDevList.size() > 0) {
for (Map<String, Object> dev : hatDevList) {
totalHatDevNum = totalHatDevNum + MapUtils.getInteger(dev, "totalDev");
totalHatDevOnlineNum = totalHatDevOnlineNum + MapUtils.getInteger(dev, "devOnline");
}
}
Integer totalDevNum = totalEnvironmentNum + totalVideoNum + totalufaceDevNum + totalHatDevNum;
Integer totalOnlineNum = totalEnvOnlineNum + totalVideoOnlineNum + totalufaceDevOnlineNum + totalHatDevOnlineNum;
if (towerAndLifterType == 1) {
//判断是否统计塔吊和升降机
List<Map<String, Object>> devList = towerMapper.selectTowerAndLifterStatisticsCount(map);
@ -235,6 +244,7 @@ public class ProjectDevStatisticsServiceImpl extends ServiceImpl<ProjectDevStati
data.put("ufaceDevList", ufaceDevList);
data.put("videoList", videoList);
data.put("environmentList", environmentList);
data.put("hatList", hatDevList);
data.put("totalDevNum", totalDevNum);
data.put("totalOnlineNum", totalOnlineNum);
data.put("totalEnvironmentNum", totalEnvironmentNum);

View File

@ -52,4 +52,7 @@ public interface SafetyHatDevMapper extends BaseMapper<SafetyHatDev> {
List<SafetyHatDev> selectDevListByIdCard(String idCard);
List<Map<String, Object>> selectAllDevCount();
List<Map<String, Object>> selectCompanyUfaceDevCountStatistics(Map<String, Object> map);
}

View File

@ -39,4 +39,58 @@
FROM safety_hat_dev
GROUP BY project_sn
</select>
<select id="selectCompanyUfaceDevCountStatistics" resultType="java.util.Map">
SELECT IFNULL(SUM(IFNULL(d.totalDev, 0)), 0) totalDev
, IFNULL(SUM(IFNULL(d.devOnline, 0)), 0) devOnline
, IFNULL(SUM(IFNULL(d.totalDev, 0)), 0) - IFNULL(SUM(IFNULL(d.devOnline, 0)), 0) devNotOnline
<if test="companyType == '1'.toString()">
, a.company_name name
</if>
<if test="companyType == '2'.toString()">
, b.company_name name
</if>
<if test="companyType == '3'.toString()">
, cp.company_name name
</if>
<if test="companyType == '4'.toString()">
, c.project_name name
</if>
<if test="companyType == '5'.toString()">
, c.project_name name
</if>
FROM company a
LEFT JOIN company b ON b.parent_id = a.company_id
LEFT JOIN company cp ON b.company_id = cp.parent_id
LEFT JOIN project c ON cp.company_sn = c.company_sn
LEFT JOIN (SELECT project_sn,
COUNT(1) totalDev,
SUM((case
when online = 1 then 1
else 0 end)) devOnline
FROM safety_hat_dev
GROUP BY project_sn
) d ON c.project_sn = d.project_sn
<if test="companyType == '1'.toString()">
WHERE a.headquarters_sn = #{sn}
AND a.company_type = 2
GROUP BY a.company_id
</if>
<if test="companyType == '2'.toString()">
WHERE a.company_sn=#{sn}
GROUP BY b.company_id
</if>
<if test="companyType == '3'.toString()">
WHERE b.company_sn=#{sn}
GROUP BY cp.company_id
</if>
<if test="companyType == '4'.toString()">
WHERE c.project_sn=#{sn}
</if>
<if test="companyType == '5'.toString()">
WHERE cp.company_sn=#{sn}
GROUP BY c.project_id
</if>
order by totalDev desc
</select>
</mapper>

View File

@ -61,7 +61,7 @@ public class HikVideoUtil {
}
paramMap.put("streamType", streamType);
paramMap.put("protocol", StringUtils.isNotEmpty(type) ? type : "hls");
paramMap.put("expand", "streamform=rtp");
paramMap.put("expand", "streamform=rtp&standard=rtsp");
}
String body = JSON.toJSON(paramMap).toString();
log.info("callPostApiGetPreviewURL body:{}", body);