人员管理-出入场记录修改

This commit is contained in:
cwchen 2024-04-03 17:54:08 +08:00
parent 49503d88b4
commit 8994f3f703
6 changed files with 95 additions and 10 deletions

View File

@ -58,12 +58,20 @@ public class Constant {
public final static String TG = "停工"; public final static String TG = "停工";
public final static String ONLINE = "1"; 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 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 WARN = "1";
public final static String NOT_WARN = "0"; 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 = "出入类型";

View File

@ -61,4 +61,10 @@ public class ParamDto {
@ApiModelProperty(value = "单项编码") @ApiModelProperty(value = "单项编码")
private String signNo; private String signNo;
@ApiModelProperty(value = "字典编码")
private String typeCode;
@ApiModelProperty(value = "检测名称")
private String modeName;
} }

View File

@ -29,4 +29,6 @@ public class UserAccessVo {
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String userPhone; private String userPhone;
private String value;
} }

View File

@ -105,6 +105,7 @@ public interface HumanManageMapper {
/** /**
* 获取人员出入记录 * 获取人员出入记录
*
* @param dto * @param dto
* @return List<UserAccessVo> * @return List<UserAccessVo>
* @description * @description
@ -115,6 +116,7 @@ public interface HumanManageMapper {
/** /**
* 绑定安全帽 * 绑定安全帽
*
* @param dto * @param dto
* @return * @return
*/ */
@ -122,6 +124,7 @@ public interface HumanManageMapper {
/** /**
* 接触安全帽绑定 * 接触安全帽绑定
*
* @param dto * @param dto
* @return * @return
*/ */
@ -129,6 +132,7 @@ public interface HumanManageMapper {
/** /**
* 查询绑定记录 * 查询绑定记录
*
* @param dto * @param dto
* @return * @return
*/ */
@ -136,6 +140,7 @@ public interface HumanManageMapper {
/** /**
* 查询已绑定设备 * 查询已绑定设备
*
* @param dto * @param dto
* @return * @return
*/ */
@ -143,8 +148,30 @@ public interface HumanManageMapper {
/** /**
* 修改成功 * 修改成功
*
* @param dto * @param dto
* @return * @return
*/ */
int updateDev(ParamDto dto); 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);
} }

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.securitycontrol.background.mapper.HumanManageMapper; import com.securitycontrol.background.mapper.HumanManageMapper;
import com.securitycontrol.background.service.HumanService; 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.HttpStatus;
import com.securitycontrol.common.core.constant.SecurityConstants; import com.securitycontrol.common.core.constant.SecurityConstants;
import com.securitycontrol.common.core.domain.Result; import com.securitycontrol.common.core.domain.Result;
@ -250,13 +251,42 @@ public class HumanServiceImpl implements HumanService {
public List<UserAccessVo> getPersonnelAccessLists(ParamDto dto) { public List<UserAccessVo> getPersonnelAccessLists(ParamDto dto) {
List<UserAccessVo> list = new ArrayList<>(); List<UserAccessVo> list = new ArrayList<>();
try { try {
dto.setTypeCode(Constant.PERSON_CAR_TYPE);
dto.setModeName(Constant.PERSON);
list = mapper.getPersonnelAccessLists(dto); 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) { } catch (Exception e) {
log.error("获取人员出入记录",e); log.error("获取人员出入记录",e);
} }
return list; 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 * @param dto

View File

@ -154,14 +154,11 @@
</select> </select>
<!--获取人员出入记录--> <!--获取人员出入记录-->
<select id="getPersonnelAccessLists" resultType="com.securitycontrol.entity.background.vo.UserAccessVo"> <select id="getPersonnelAccessLists" resultType="com.securitycontrol.entity.background.vo.UserAccessVo">
SELECT tua.user_name AS userName, SELECT thdv.source_type AS value
tua.access_time AS accessTime, FROM tb_bd_device tbd
IF(access_type = '1','入场','出场') AS accessType INNER JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id AND tdd.del_flag = 0
FROM tb_user_access tua INNER JOIN tb_his_device_value thdv ON tdd.id = thdv.attribute_id AND thdv.val = #{id}
WHERE user_id = #{id} WHERE tbd.devic_type = #{typeCode} AND tdd.mode_name = #{modeName} AND tbd.del_flag = 0
<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> </select>
<select id="getBindHis" resultType="java.lang.Integer"> <select id="getBindHis" resultType="java.lang.Integer">
select count(1) select count(1)
@ -174,4 +171,19 @@
from tb_user_bind_cap from tb_user_bind_cap
where people_id=#{userId} and bind_status=1 where people_id=#{userId} and bind_status=1
</select> </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> </mapper>