bug修复
This commit is contained in:
parent
dd1baa20a4
commit
689301b434
@ -153,6 +153,7 @@ public class AiAnalyseHardWareAlarmRecordController {
|
|||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
|
||||||
@ApiImplicitParam(name = "sizeNum", value = "查询条数,默认10条", paramType = "body", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "sizeNum", value = "查询条数,默认10条", paramType = "body", required = true, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "workerName", value = "姓名", paramType = "body", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/selectAiAnalyseHardWareAlarmList")
|
@PostMapping(value = "/selectAiAnalyseHardWareAlarmList")
|
||||||
public Result<List<AiAnalyseHardWareAlarmRecord>> selectAiAnalyseHardWareAlarmList(@RequestBody Map<String, Object> map) {
|
public Result<List<AiAnalyseHardWareAlarmRecord>> selectAiAnalyseHardWareAlarmList(@RequestBody Map<String, Object> map) {
|
||||||
|
|||||||
@ -142,5 +142,10 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
|
|||||||
private java.lang.String departmentName;
|
private java.lang.String departmentName;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String realName;
|
private java.lang.String realName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "违章人员名称字符串(,分开)")
|
||||||
|
private java.lang.String workerInfoStr;
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "报警名称")
|
||||||
|
private java.lang.String alarmTypeName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -96,9 +96,16 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="selectAiAnalyseHardWareAlarmList"
|
<select id="selectAiAnalyseHardWareAlarmList"
|
||||||
resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord">
|
resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord">
|
||||||
SELECT a.*
|
SELECT a.*,group_concat(wi.worker_name) workerInfoStr
|
||||||
FROM ai_analyse_hard_ware_alarm_record a
|
FROM ai_analyse_hard_ware_alarm_record a
|
||||||
|
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
|
||||||
|
witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||||
|
left join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||||
where a.project_sn = #{projectSn}
|
where a.project_sn = #{projectSn}
|
||||||
|
<if test="workerName != null and workerName != ''">
|
||||||
|
and wi.worker_name like concat('%',#{workerName},'%')
|
||||||
|
</if>
|
||||||
|
group by a.id
|
||||||
order by a.create_time desc
|
order by a.create_time desc
|
||||||
LIMIT #{sizeNum}
|
LIMIT #{sizeNum}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
|||||||
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
|
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
||||||
@ -49,6 +50,8 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: AI分析硬件设备报警记录
|
* @Description: AI分析硬件设备报警记录
|
||||||
@ -189,7 +192,20 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
|||||||
public List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map) {
|
public List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map) {
|
||||||
Integer sizeNum = MapUtils.getInteger(map, "sizeNum", 10);
|
Integer sizeNum = MapUtils.getInteger(map, "sizeNum", 10);
|
||||||
map.put("sizeNum", sizeNum);
|
map.put("sizeNum", sizeNum);
|
||||||
return aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmList(map);
|
List<AiAnalyseHardWareAlarmRecord> aiAnalyseHardWareAlarmRecords = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmList(map);
|
||||||
|
List<DictionaryItem> dictList = dictionaryItemService.getDictList(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE);
|
||||||
|
try {
|
||||||
|
Map<String, DictionaryItem> typeMap = dictList.stream().collect(Collectors.toMap(DictionaryItem::getData, Function.identity(), (dictionaryItem, dictionaryItem2) -> dictionaryItem));
|
||||||
|
for (AiAnalyseHardWareAlarmRecord record : aiAnalyseHardWareAlarmRecords) {
|
||||||
|
DictionaryItem item = typeMap.get(record.getAlarmType() + "");
|
||||||
|
if (item != null) {
|
||||||
|
record.setAlarmTypeName(item.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return aiAnalyseHardWareAlarmRecords;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -82,6 +82,13 @@ public class WorkerCertificateController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkParam(WorkerCertificate workerCertificate) {
|
||||||
|
if (StringUtils.isNotBlank(workerCertificate.getEffectTime()) && StringUtils.isNotBlank(workerCertificate.getIssueTime())
|
||||||
|
&& DateUtil.parse(workerCertificate.getEffectTime()).compareTo(DateUtil.parse(workerCertificate.getIssueTime())) < 0) {
|
||||||
|
throw new OpenAlertException("证书签发日期不能大于截止有效日期");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
*
|
*
|
||||||
@ -97,22 +104,12 @@ public class WorkerCertificateController {
|
|||||||
if (workerCertificateEntity == null) {
|
if (workerCertificateEntity == null) {
|
||||||
result.error500(MessageUtil.get("notFindErr"));
|
result.error500(MessageUtil.get("notFindErr"));
|
||||||
} else {
|
} else {
|
||||||
checkParam(workerCertificate);
|
workerCertificateService.edit(workerCertificate);
|
||||||
boolean ok = workerCertificateService.updateById(workerCertificate);
|
|
||||||
if (ok) {
|
|
||||||
result.successMsg(MessageUtil.get("editSucess"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkParam(WorkerCertificate workerCertificate) {
|
|
||||||
if (StringUtils.isNotBlank(workerCertificate.getEffectTime()) && StringUtils.isNotBlank(workerCertificate.getIssueTime())
|
|
||||||
&& DateUtil.parse(workerCertificate.getEffectTime()).compareTo(DateUtil.parse(workerCertificate.getIssueTime())) < 0) {
|
|
||||||
throw new OpenAlertException("证书签发日期不能大于截止有效日期");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
|
|||||||
@ -1,18 +1,17 @@
|
|||||||
package com.zhgd.xmgl.modules.worker.entity;
|
package com.zhgd.xmgl.modules.worker.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
||||||
import lombok.Data;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 人员黑名单
|
* @Description: 人员黑名单
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -25,43 +24,63 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
public class WorkerBlacklist implements Serializable {
|
public class WorkerBlacklist implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**id*/
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
@TableId(type = IdType.ASSIGN_ID)
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
private java.lang.Long id;
|
private java.lang.Long id;
|
||||||
/**项目唯一标识*/
|
/**
|
||||||
|
* 项目唯一标识
|
||||||
|
*/
|
||||||
@Excel(name = "项目唯一标识", width = 15)
|
@Excel(name = "项目唯一标识", width = 15)
|
||||||
@ApiModelProperty(value = "项目唯一标识")
|
@ApiModelProperty(value = "项目唯一标识")
|
||||||
private java.lang.String projectSn;
|
private java.lang.String projectSn;
|
||||||
/**人员ID*/
|
/**
|
||||||
|
* 人员ID
|
||||||
|
*/
|
||||||
@Excel(name = "人员ID", width = 15)
|
@Excel(name = "人员ID", width = 15)
|
||||||
@ApiModelProperty(value = "人员ID")
|
@ApiModelProperty(value = "人员ID")
|
||||||
|
|
||||||
private java.lang.Long workerId;
|
private java.lang.Long workerId;
|
||||||
/**姓名*/
|
/**
|
||||||
|
* 姓名
|
||||||
|
*/
|
||||||
@Excel(name = "姓名", width = 15)
|
@Excel(name = "姓名", width = 15)
|
||||||
@ApiModelProperty(value = "姓名")
|
@ApiModelProperty(value = "姓名")
|
||||||
private java.lang.String workerName;
|
private java.lang.String workerName;
|
||||||
/**身份证号*/
|
/**
|
||||||
|
* 身份证号
|
||||||
|
*/
|
||||||
@Excel(name = "身份证号", width = 15)
|
@Excel(name = "身份证号", width = 15)
|
||||||
@ApiModelProperty(value = "身份证号")
|
@ApiModelProperty(value = "身份证号")
|
||||||
private java.lang.String idCard;
|
private java.lang.String idCard;
|
||||||
/**加入黑名单原因*/
|
/**
|
||||||
|
* 加入黑名单原因
|
||||||
|
*/
|
||||||
@Excel(name = "加入黑名单原因", width = 15)
|
@Excel(name = "加入黑名单原因", width = 15)
|
||||||
@ApiModelProperty(value = "加入黑名单原因")
|
@ApiModelProperty(value = "加入黑名单原因")
|
||||||
private java.lang.String addReason;
|
private java.lang.String addReason;
|
||||||
/**reason*/
|
/**
|
||||||
|
* reason
|
||||||
|
*/
|
||||||
@Excel(name = "reason", width = 15)
|
@Excel(name = "reason", width = 15)
|
||||||
@ApiModelProperty(value = "reason")
|
@ApiModelProperty(value = "reason")
|
||||||
private java.lang.String reason;
|
private java.lang.String reason;
|
||||||
/**加入黑名单日期*/
|
/**
|
||||||
|
* 加入黑名单日期
|
||||||
|
*/
|
||||||
@Excel(name = "加入黑名单日期", width = 15)
|
@Excel(name = "加入黑名单日期", width = 15)
|
||||||
@ApiModelProperty(value = "加入黑名单日期")
|
@ApiModelProperty(value = "加入黑名单日期")
|
||||||
private java.lang.String addTime;
|
private java.lang.String addTime;
|
||||||
/**创建时间*/
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
private java.util.Date createTime;
|
private java.util.Date createTime;
|
||||||
|
@ApiModelProperty(value = "类型:1证书过期")
|
||||||
|
private java.lang.Integer type;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -330,6 +330,8 @@ public class WorkerInfo implements Serializable {
|
|||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
@ApiModelProperty(value = "截止日期")
|
||||||
|
private Date expirationDate;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "人脸分数")
|
@ApiModelProperty(value = "人脸分数")
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.worker.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.worker.entity.WorkerCertificate;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerCertificate;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -20,4 +21,12 @@ public interface WorkerCertificateMapper extends BaseMapper<WorkerCertificate> {
|
|||||||
List<EntityMap> selectWorkerCertificateList(Map<String, Object> map);
|
List<EntityMap> selectWorkerCertificateList(Map<String, Object> map);
|
||||||
|
|
||||||
List<EntityMap> selectProjectManageCertificateTotal(Map<String, Object> map);
|
List<EntityMap> selectProjectManageCertificateTotal(Map<String, Object> map);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询有证书,但是证书过期而且没有添加到黑名单的劳务人员
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<WorkerInfo> selectExpiredNotInBlackWorkerList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper">
|
<mapper namespace="com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper">
|
||||||
|
|
||||||
<select id="selectWorkerCertificateList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map">
|
<select id="selectWorkerCertificateList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map">
|
||||||
SELECT a.*,b.dictionary_name certificate_type_name
|
SELECT a.*,b.dictionary_name certificate_type_name
|
||||||
from worker_certificate a LEFT JOIN
|
from worker_certificate a LEFT JOIN
|
||||||
@ -22,4 +21,13 @@
|
|||||||
WHERE a.key_name='WORKER_CERT' and a.type=2
|
WHERE a.key_name='WORKER_CERT' and a.type=2
|
||||||
order by num;
|
order by num;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectExpiredNotInBlackWorkerList" resultType="com.zhgd.xmgl.modules.worker.entity.WorkerInfo">
|
||||||
|
select distinct wi.*
|
||||||
|
from worker_info wi
|
||||||
|
join worker_certificate wc on wi.id = wc.worker_id
|
||||||
|
left join worker_blacklist wb on wb.worker_id = wi.id
|
||||||
|
where wc.effect_time <![CDATA[<]]> current_date
|
||||||
|
AND (wb.type is null or wb.type != 1)
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -18,4 +18,6 @@ public interface IWorkerCertificateService extends IService<WorkerCertificate> {
|
|||||||
List<EntityMap> selectWorkerCertificateList(Map<String, Object> map);
|
List<EntityMap> selectWorkerCertificateList(Map<String, Object> map);
|
||||||
|
|
||||||
Map<String, Object> selectProjectManageCertificateTotal(Map<String, Object> map);
|
Map<String, Object> selectProjectManageCertificateTotal(Map<String, Object> map);
|
||||||
|
|
||||||
|
void edit(WorkerCertificate workerCertificate);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,29 @@
|
|||||||
package com.zhgd.xmgl.modules.worker.service.impl;
|
package com.zhgd.xmgl.modules.worker.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerBlacklist;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerCertificate;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerCertificate;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerBlacklistMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper;
|
||||||
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerCertificateService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerCertificateService;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 人员证书表
|
* @Description: 人员证书表
|
||||||
@ -26,6 +36,10 @@ import java.util.Map;
|
|||||||
public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateMapper, WorkerCertificate> implements IWorkerCertificateService {
|
public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateMapper, WorkerCertificate> implements IWorkerCertificateService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private WorkerCertificateMapper workerCertificateMapper;
|
private WorkerCertificateMapper workerCertificateMapper;
|
||||||
|
@Autowired
|
||||||
|
private WorkerBlacklistMapper workerBlacklistMapper;
|
||||||
|
@Autowired
|
||||||
|
private WorkerInfoMapper workerInfoMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -47,4 +61,48 @@ public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateM
|
|||||||
data.put("totalNum", totalNum);
|
data.put("totalNum", totalNum);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(WorkerCertificate workerCertificate) {
|
||||||
|
checkParam(workerCertificate);
|
||||||
|
updateById(workerCertificate);
|
||||||
|
|
||||||
|
List<WorkerCertificate> workerCertificates = workerCertificateMapper.selectList(new LambdaQueryWrapper<WorkerCertificate>()
|
||||||
|
.eq(WorkerCertificate::getWorkerId, workerCertificate.getWorkerId()));
|
||||||
|
List<WorkerCertificate> expiredList = workerCertificates.stream().filter(c -> {
|
||||||
|
return StringUtils.isNotBlank(c.getEffectTime()) && DateUtil.compare(DateUtil.endOfDay(DateUtil.parse(c.getEffectTime())), new Date()) < 0;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(expiredList)) {
|
||||||
|
WorkerInfo workerInfo = workerInfoMapper.selectById(workerCertificate.getWorkerId());
|
||||||
|
List<WorkerBlacklist> workerBlacklists = workerBlacklistMapper.selectList(new LambdaQueryWrapper<WorkerBlacklist>()
|
||||||
|
.eq(WorkerBlacklist::getWorkerId, workerInfo.getId()));
|
||||||
|
if (CollUtil.isNotEmpty(workerBlacklists)) {
|
||||||
|
//没有新增就新增
|
||||||
|
WorkerBlacklist black = new WorkerBlacklist();
|
||||||
|
black.setProjectSn(workerInfo.getProjectSn());
|
||||||
|
black.setWorkerId(workerInfo.getId());
|
||||||
|
black.setWorkerName(workerInfo.getWorkerName());
|
||||||
|
black.setIdCard(workerInfo.getIdCard());
|
||||||
|
black.setAddReason("证件已到期");
|
||||||
|
black.setReason("证件已到期");
|
||||||
|
black.setAddTime(DateUtil.now());
|
||||||
|
black.setCreateTime(new Date());
|
||||||
|
black.setType(1);
|
||||||
|
workerBlacklistMapper.insert(black);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//删除过期数据
|
||||||
|
workerBlacklistMapper.delete(new LambdaQueryWrapper<WorkerBlacklist>()
|
||||||
|
.eq(WorkerBlacklist::getWorkerId, workerCertificate.getWorkerId())
|
||||||
|
.eq(WorkerBlacklist::getType, 1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkParam(WorkerCertificate workerCertificate) {
|
||||||
|
if (StringUtils.isNotBlank(workerCertificate.getEffectTime()) && StringUtils.isNotBlank(workerCertificate.getIssueTime())
|
||||||
|
&& DateUtil.parse(workerCertificate.getEffectTime()).compareTo(DateUtil.parse(workerCertificate.getIssueTime())) < 0) {
|
||||||
|
throw new OpenAlertException("证书签发日期不能大于截止有效日期");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,30 @@
|
|||||||
package com.zhgd.xmgl.task;
|
package com.zhgd.xmgl.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
||||||
import com.zhgd.xmgl.modules.project.entity.ProjectExternalSystemService;
|
import com.zhgd.xmgl.modules.project.entity.ProjectExternalSystemService;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectExternalSystemServiceMapper;
|
import com.zhgd.xmgl.modules.project.mapper.ProjectExternalSystemServiceMapper;
|
||||||
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerBlacklist;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.WorkerCertificate;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerBlacklistMapper;
|
||||||
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||||
|
import com.zhgd.xmgl.modules.worker.service.IWorkerCertificateService;
|
||||||
import com.zhgd.xmgl.util.ElecardUtil;
|
import com.zhgd.xmgl.util.ElecardUtil;
|
||||||
import lombok.extern.log4j.Log4j;
|
import lombok.extern.log4j.Log4j;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -22,8 +33,9 @@ import java.util.List;
|
|||||||
* @author: Mr.Peng
|
* @author: Mr.Peng
|
||||||
* @create: 2021-09-10 17:31
|
* @create: 2021-09-10 17:31
|
||||||
**/
|
**/
|
||||||
@Log4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
|
@RestController
|
||||||
public class WorkerTask {
|
public class WorkerTask {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectExternalSystemServiceMapper projectExternalSystemServiceMapper;
|
private ProjectExternalSystemServiceMapper projectExternalSystemServiceMapper;
|
||||||
@ -34,12 +46,17 @@ public class WorkerTask {
|
|||||||
private INoticeService noticeService;
|
private INoticeService noticeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProjectUfaceConfigService projectUfaceConfigService;
|
private IProjectUfaceConfigService projectUfaceConfigService;
|
||||||
|
@Autowired
|
||||||
|
private IWorkerCertificateService workerCertificateService;
|
||||||
|
@Autowired
|
||||||
|
private WorkerCertificateMapper workerCertificateMapper;
|
||||||
|
@Autowired
|
||||||
|
private WorkerBlacklistMapper workerBlacklistMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时修改用户码状态
|
* 定时修改用户码状态
|
||||||
*/
|
*/
|
||||||
@SchedulerLock(name = "updateWorkerCode", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
@SchedulerLock(name = "updateWorkerCode", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||||
//@Scheduled(cron = "0 0 4 * * ?")
|
|
||||||
@Scheduled(cron = "0 0 1 * * ?")
|
@Scheduled(cron = "0 0 1 * * ?")
|
||||||
public void updateWorkerCode() {
|
public void updateWorkerCode() {
|
||||||
log.info("------------------------------健康码同步开始-----------------------------------------");
|
log.info("------------------------------健康码同步开始-----------------------------------------");
|
||||||
@ -129,23 +146,26 @@ public class WorkerTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private void sendNoicte(String projectSn,String title,String msg,String type){
|
/**
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
* 劳务人员,截止日期到期的话,就自动填充原因,就是证件到期到黑名单中
|
||||||
List<SystemUser> systemUserList=systemUserMapper.selectProjectSystemUserList(projectSn);
|
*/
|
||||||
//向项目管理员和子账号推送通知
|
@SchedulerLock(name = "addWorkerBlacklist", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||||
if(systemUserList.size()>0){
|
@Scheduled(cron = "0 0 1 * * ?")
|
||||||
for (SystemUser systemUser:systemUserList){
|
@GetMapping("xmgl/task/addWorkerBlacklist")
|
||||||
addNotice(systemUser.getUserId(),msg,title,sdf.format(new Date()),type);
|
public void addWorkerBlacklist() {
|
||||||
|
List<WorkerInfo> list = workerCertificateMapper.selectExpiredNotInBlackWorkerList();
|
||||||
|
for (WorkerInfo workerInfo : list) {
|
||||||
|
WorkerBlacklist black = new WorkerBlacklist();
|
||||||
|
black.setProjectSn(workerInfo.getProjectSn());
|
||||||
|
black.setWorkerId(workerInfo.getId());
|
||||||
|
black.setWorkerName(workerInfo.getWorkerName());
|
||||||
|
black.setIdCard(workerInfo.getIdCard());
|
||||||
|
black.setAddReason("证件已到期");
|
||||||
|
black.setReason("证件已到期");
|
||||||
|
black.setAddTime(DateUtil.now());
|
||||||
|
black.setCreateTime(new Date());
|
||||||
|
black.setType(1);
|
||||||
|
workerBlacklistMapper.insert(black);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void addNotice(Integer accountId,String msg,String title,String time,String type){
|
|
||||||
Notice notice = new Notice();
|
|
||||||
notice.setAccountId(accountId);
|
|
||||||
notice.setMsg(msg);
|
|
||||||
notice.setTitle(title);
|
|
||||||
notice.setSendTime(time);
|
|
||||||
notice.setType(type);
|
|
||||||
noticeService.addNotice(notice,true);
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user