Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
63213ba2d3
|
|
@ -58,12 +58,20 @@ public class Constant {
|
|||
public final static String TG = "停工";
|
||||
public final static String ONLINE = "1";
|
||||
|
||||
public final static String AIR_QUALITY = "PM2.5,PM10";
|
||||
public final static String AIR_QUALITY = "气压,含氧量,二氧化碳,硫化氢";
|
||||
public final static String NOISE_LEVEL= "噪声";
|
||||
public final static String GRAY_LAYER = "二氧化碳";
|
||||
public final static String GRAY_LAYER = "PM2.5,PM10";
|
||||
public final static String WARN = "1";
|
||||
public final static String NOT_WARN = "0";
|
||||
|
||||
/**车辆闸机、人员闸机 编码*/
|
||||
public final static String PERSON_CAR_TYPE = "1907";
|
||||
/**人员闸机检测名称*/
|
||||
public final static String PERSON = "绑定人";
|
||||
public final static String ACCESS_TIME = "出入时间";
|
||||
public final static String ACCESS_TYPE = "出入类型";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -61,4 +61,10 @@ public class ParamDto {
|
|||
|
||||
@ApiModelProperty(value = "单项编码")
|
||||
private String signNo;
|
||||
|
||||
@ApiModelProperty(value = "字典编码")
|
||||
private String typeCode;
|
||||
|
||||
@ApiModelProperty(value = "检测名称")
|
||||
private String modeName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,4 +29,6 @@ public class UserAccessVo {
|
|||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String userPhone;
|
||||
|
||||
private String value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 获取人员出入记录
|
||||
*
|
||||
* @param dto
|
||||
* @return List<UserAccessVo>
|
||||
* @description
|
||||
|
|
@ -115,6 +116,7 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 绑定安全帽
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -122,6 +124,7 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 接触安全帽绑定
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -129,6 +132,7 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 查询绑定记录
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -136,6 +140,7 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 查询已绑定设备
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -143,8 +148,30 @@ public interface HumanManageMapper {
|
|||
|
||||
/**
|
||||
* 修改成功
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
int updateDev(ParamDto dto);
|
||||
|
||||
/**
|
||||
* 人员详情
|
||||
*
|
||||
* @param dto
|
||||
* @return UserAccessVo
|
||||
* @description
|
||||
* @author cwchen
|
||||
* @date 2024/4/3 17:13
|
||||
*/
|
||||
UserAccessVo getUserDeatail(ParamDto dto);
|
||||
|
||||
/**
|
||||
* 获取人员出入场记录
|
||||
* @param value
|
||||
* @return String
|
||||
* @description
|
||||
* @author cwchen
|
||||
* @date 2024/4/3 17:44
|
||||
*/
|
||||
String getUserAccessLists(String value);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
|
|||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.securitycontrol.background.mapper.HumanManageMapper;
|
||||
import com.securitycontrol.background.service.HumanService;
|
||||
import com.securitycontrol.common.core.constant.Constant;
|
||||
import com.securitycontrol.common.core.constant.HttpStatus;
|
||||
import com.securitycontrol.common.core.constant.SecurityConstants;
|
||||
import com.securitycontrol.common.core.domain.Result;
|
||||
|
|
@ -250,13 +251,42 @@ public class HumanServiceImpl implements HumanService {
|
|||
public List<UserAccessVo> getPersonnelAccessLists(ParamDto dto) {
|
||||
List<UserAccessVo> list = new ArrayList<>();
|
||||
try {
|
||||
dto.setTypeCode(Constant.PERSON_CAR_TYPE);
|
||||
dto.setModeName(Constant.PERSON);
|
||||
list = mapper.getPersonnelAccessLists(dto);
|
||||
UserAccessVo userDetail = mapper.getUserDeatail(dto);
|
||||
String decryptIdNumber = AesCbcUtils.decrypt(userDetail.getIdNumber());
|
||||
if(decryptIdNumber != null){
|
||||
userDetail.setIdNumber(decryptIdNumber);
|
||||
}
|
||||
for (UserAccessVo vo : list) {
|
||||
String value = vo.getValue();
|
||||
vo.setIdNumber(userDetail.getIdNumber());
|
||||
vo.setUserPhone(userDetail.getUserPhone());
|
||||
vo.setUserName(userDetail.getUserName());
|
||||
String data = mapper.getUserAccessLists(value);
|
||||
if(StringUtils.isNotEmpty(data)){
|
||||
String[] dataArr = data.split(",");
|
||||
setUserAccessData(vo,dataArr);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("获取人员出入记录",e);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public UserAccessVo setUserAccessData(UserAccessVo vo,String[] valArr){
|
||||
for (String str : valArr) {
|
||||
String[] splitStr = str.split("@");
|
||||
if(Objects.equals(splitStr[0],Constant.ACCESS_TIME)){
|
||||
vo.setAccessTime(splitStr[1]);
|
||||
}else if(Objects.equals(splitStr[0],Constant.ACCESS_TYPE)){
|
||||
vo.setAccessType(splitStr[1]);
|
||||
}
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
/**
|
||||
* 人员绑定安全膜
|
||||
* @param dto
|
||||
|
|
|
|||
|
|
@ -154,14 +154,11 @@
|
|||
</select>
|
||||
<!--获取人员出入记录-->
|
||||
<select id="getPersonnelAccessLists" resultType="com.securitycontrol.entity.background.vo.UserAccessVo">
|
||||
SELECT tua.user_name AS userName,
|
||||
tua.access_time AS accessTime,
|
||||
IF(access_type = '1','入场','出场') AS accessType
|
||||
FROM tb_user_access tua
|
||||
WHERE user_id = #{id}
|
||||
<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
|
||||
AND tua.access_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
||||
</if>
|
||||
SELECT thdv.source_type AS value
|
||||
FROM tb_bd_device tbd
|
||||
INNER JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id AND tdd.del_flag = 0
|
||||
INNER JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id AND thdv.val = #{id}
|
||||
WHERE tbd.devic_type = #{typeCode} AND tdd.mode_name = #{modeName} AND tbd.del_flag = 0
|
||||
</select>
|
||||
<select id="getBindHis" resultType="java.lang.Integer">
|
||||
select count(1)
|
||||
|
|
@ -174,4 +171,19 @@
|
|||
from tb_user_bind_cap
|
||||
where people_id=#{userId} and bind_status=1
|
||||
</select>
|
||||
<!--人员详情-->
|
||||
<select id="getUserDeatail" resultType="com.securitycontrol.entity.background.vo.UserAccessVo">
|
||||
SELECT user_name AS userName,
|
||||
id_number AS idNumber,
|
||||
phone AS userPhone
|
||||
FROM t_team_people WHERE user_id = #{id}
|
||||
</select>
|
||||
<!--获取人员出入场记录-->
|
||||
<select id="getUserAccessLists" resultType="java.lang.String">
|
||||
SELECT GROUP_CONCAT(CONCAT(tdd.mode_name,'@',thdv.val)) AS value
|
||||
FROM tb_his_device_value thdv
|
||||
INNER JOIN tb_device_detail tdd ON thdv.attribute_id = tdd.id AND tdd.del_flag = 0
|
||||
WHERE thdv.source_type = #{value}
|
||||
GROUP BY thdv.source_type
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -4,31 +4,62 @@
|
|||
|
||||
<select id="getVehicleStatistics" resultType="com.securitycontrol.entity.screen.vo.AccessMgeVo">
|
||||
SELECT
|
||||
LPAD(SUM(jtrNum), 3, '0') AS jtrNum,
|
||||
LPAD(SUM(jrcNum), 3, '0') AS jrcNum,
|
||||
LPAD(SUM(dyrNum), 4, '0') AS dyrNum,
|
||||
LPAD(SUM(dycNum), 4, '0') AS dycNum
|
||||
FROM (
|
||||
LPAD( SUM( jtrNum ), 3, '0' ) AS jtrNum,
|
||||
LPAD( SUM( jrcNum ), 3, '0' ) AS jrcNum,
|
||||
LPAD( SUM( dyrNum ), 4, '0' ) AS dyrNum,
|
||||
LPAD( SUM( dycNum ), 4, '0' ) AS dycNum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
sum( case when tca.access_type = '1' then 1 else 0 end ) as jtrNum,
|
||||
sum( case when tca.access_type = '2' then 1 else 0 end ) as jrcNUm,
|
||||
0 as dyrNum,
|
||||
0 as dycNUm
|
||||
FROM tb_project tp
|
||||
LEFT JOIN tb_car tc ON tp.bid_code = tc.bid_code
|
||||
LEFT JOIN tb_car_access tca on tc.id = tca.car_id
|
||||
WHERE tp.bid_code = #{bidCode} and to_days(tca.accesss_time) = to_days(NOW())
|
||||
UNION ALL
|
||||
sum( CASE WHEN aa.val LIKE '%入%' THEN 1 ELSE 0 END ) jtrNum,
|
||||
sum( CASE WHEN aa.val LIKE '%出%' THEN 1 ELSE 0 END ) jrcNum,
|
||||
0 AS dyrNum,
|
||||
0 AS dycNUm
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
0 as jtrNum,
|
||||
0 as jrcNUm,
|
||||
sum( case when tca.access_type = '1' then 1 else 0 end ) as dyrNum,
|
||||
sum( case when tca.access_type = '2' then 1 else 0 end ) as dycNUm
|
||||
FROM tb_project tp
|
||||
LEFT JOIN tb_car tc ON tp.bid_code = tc.bid_code
|
||||
LEFT JOIN tb_car_access tca on tc.id = tca.car_id
|
||||
WHERE tp.bid_code = #{bidCode} and DATE_FORMAT(tca.accesss_time, '%Y%m') = DATE_FORMAT(NOW(), '%Y%m')
|
||||
) a
|
||||
thdv.source_type,
|
||||
thdv.create_time,
|
||||
tpb.bid_code,
|
||||
GROUP_CONCAT( thdv.val ) AS val
|
||||
FROM
|
||||
`tb_pro_bd` tpb
|
||||
LEFT JOIN tb_bd_device tbd ON tpb.id = tbd.bd_id
|
||||
LEFT JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id
|
||||
LEFT JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id
|
||||
WHERE
|
||||
tpb.bid_code = #{bidCode}
|
||||
AND tbd.device_code = '1907001'
|
||||
AND to_days( thdv.create_time ) = to_days(
|
||||
NOW())
|
||||
GROUP BY
|
||||
thdv.source_type
|
||||
) aa UNION ALL
|
||||
SELECT
|
||||
0 AS jtrNum,
|
||||
0 AS jrcNUm,
|
||||
sum( CASE WHEN bb.val LIKE '%入%' THEN 1 ELSE 0 END ) dyrNum,
|
||||
sum( CASE WHEN bb.val LIKE '%出%' THEN 1 ELSE 0 END ) dycNUm
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
thdv.source_type,
|
||||
thdv.create_time,
|
||||
tpb.bid_code,
|
||||
GROUP_CONCAT( thdv.val ) AS val
|
||||
FROM
|
||||
`tb_pro_bd` tpb
|
||||
LEFT JOIN tb_bd_device tbd ON tpb.id = tbd.bd_id
|
||||
LEFT JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id
|
||||
LEFT JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id
|
||||
WHERE
|
||||
tpb.bid_code = #{bidCode}
|
||||
AND tbd.device_code = '1907001'
|
||||
AND DATE_FORMAT( thdv.create_time, '%Y%m' ) = DATE_FORMAT( NOW(), '%Y%m' )
|
||||
GROUP BY
|
||||
thdv.source_type
|
||||
) bb
|
||||
) ab
|
||||
</select>
|
||||
|
||||
<select id="getVehicleStatisticsPhoto" resultType="com.securitycontrol.entity.screen.vo.AccessMgeVo">
|
||||
|
|
@ -71,31 +102,62 @@
|
|||
|
||||
<select id="getPerStatistics" resultType="com.securitycontrol.entity.screen.vo.AccessMgeVo">
|
||||
SELECT
|
||||
LPAD(SUM(jtrNum), 3, '0') AS jtrNum,
|
||||
LPAD(SUM(jrcNum), 3, '0') AS jrcNum,
|
||||
LPAD(SUM(dyrNum), 4, '0') AS dyrNum,
|
||||
LPAD(SUM(dycNum), 4, '0') AS dycNum
|
||||
FROM (
|
||||
LPAD( SUM( jtrNum ), 3, '0' ) AS jtrNum,
|
||||
LPAD( SUM( jrcNum ), 3, '0' ) AS jrcNum,
|
||||
LPAD( SUM( dyrNum ), 4, '0' ) AS dyrNum,
|
||||
LPAD( SUM( dycNum ), 4, '0' ) AS dycNum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
sum( case when tua.access_type = '1' then 1 else 0 end ) as jtrNum,
|
||||
sum( case when tua.access_type = '2' then 1 else 0 end ) as jrcNUm,
|
||||
0 as dyrNum,
|
||||
0 as dycNUm
|
||||
FROM tb_work_team twt
|
||||
LEFT JOIN t_team_people ttp on twt.team_id = ttp.team_id
|
||||
LEFT JOIN tb_user_access tua ON ttp.user_id = tua.user_id
|
||||
WHERE twt.bid_code = #{bidCode} and to_days(tua.access_time) = to_days(NOW())
|
||||
UNION ALL
|
||||
sum( CASE WHEN aa.val LIKE '%入%' THEN 1 ELSE 0 END ) jtrNum,
|
||||
sum( CASE WHEN aa.val LIKE '%出%' THEN 1 ELSE 0 END ) jrcNum,
|
||||
0 AS dyrNum,
|
||||
0 AS dycNUm
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
0 as jtrNum,
|
||||
0 as jrcNUm,
|
||||
sum( case when tua.access_type = '1' then 1 else 0 end ) as dyrNum,
|
||||
sum( case when tua.access_type = '2' then 1 else 0 end ) as dycNUm
|
||||
FROM tb_work_team twt
|
||||
LEFT JOIN t_team_people ttp on twt.team_id = ttp.team_id
|
||||
LEFT JOIN tb_user_access tua ON ttp.user_id = tua.user_id
|
||||
WHERE twt.bid_code = #{bidCode} and DATE_FORMAT(tua.access_time, '%Y%m') = DATE_FORMAT(NOW(), '%Y%m')
|
||||
)a
|
||||
thdv.source_type,
|
||||
thdv.create_time,
|
||||
tpb.bid_code,
|
||||
GROUP_CONCAT( thdv.val ) AS val
|
||||
FROM
|
||||
`tb_pro_bd` tpb
|
||||
LEFT JOIN tb_bd_device tbd ON tpb.id = tbd.bd_id
|
||||
LEFT JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id
|
||||
LEFT JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id
|
||||
WHERE
|
||||
tpb.bid_code = #{bidCode}
|
||||
AND tbd.device_code = '1907002'
|
||||
AND to_days( thdv.create_time ) = to_days(
|
||||
NOW())
|
||||
GROUP BY
|
||||
thdv.source_type
|
||||
) aa UNION ALL
|
||||
SELECT
|
||||
0 AS jtrNum,
|
||||
0 AS jrcNUm,
|
||||
sum( CASE WHEN bb.val LIKE '%入%' THEN 1 ELSE 0 END ) dyrNum,
|
||||
sum( CASE WHEN bb.val LIKE '%出%' THEN 1 ELSE 0 END ) dycNUm
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
thdv.source_type,
|
||||
thdv.create_time,
|
||||
tpb.bid_code,
|
||||
GROUP_CONCAT( thdv.val ) AS val
|
||||
FROM
|
||||
`tb_pro_bd` tpb
|
||||
LEFT JOIN tb_bd_device tbd ON tpb.id = tbd.bd_id
|
||||
LEFT JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id
|
||||
LEFT JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id
|
||||
WHERE
|
||||
tpb.bid_code = #{bidCode}
|
||||
AND tbd.device_code = '1907002'
|
||||
AND DATE_FORMAT( thdv.create_time, '%Y%m' ) = DATE_FORMAT( NOW(), '%Y%m' )
|
||||
GROUP BY
|
||||
thdv.source_type
|
||||
) bb
|
||||
) ab
|
||||
</select>
|
||||
|
||||
<select id="getPerStatisticsPhoto" resultType="com.securitycontrol.entity.screen.vo.AccessMgeVo">
|
||||
|
|
|
|||
Loading…
Reference in New Issue