bug修复
This commit is contained in:
parent
dd1baa20a4
commit
689301b434
@ -153,6 +153,7 @@ public class AiAnalyseHardWareAlarmRecordController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", 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")
|
||||
public Result<List<AiAnalyseHardWareAlarmRecord>> selectAiAnalyseHardWareAlarmList(@RequestBody Map<String, Object> map) {
|
||||
|
||||
@ -142,5 +142,10 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
|
||||
private java.lang.String departmentName;
|
||||
@TableField(exist = false)
|
||||
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 id="selectAiAnalyseHardWareAlarmList"
|
||||
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
|
||||
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}
|
||||
<if test="workerName != null and workerName != ''">
|
||||
and wi.worker_name like concat('%',#{workerName},'%')
|
||||
</if>
|
||||
group by a.id
|
||||
order by a.create_time desc
|
||||
LIMIT #{sizeNum}
|
||||
</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.entity.Company;
|
||||
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.mapper.CompanyConfigMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
||||
@ -49,6 +50,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: AI分析硬件设备报警记录
|
||||
@ -189,7 +192,20 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
||||
public List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map) {
|
||||
Integer sizeNum = MapUtils.getInteger(map, "sizeNum", 10);
|
||||
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
|
||||
|
||||
@ -82,6 +82,13 @@ public class WorkerCertificateController {
|
||||
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) {
|
||||
result.error500(MessageUtil.get("notFindErr"));
|
||||
} else {
|
||||
checkParam(workerCertificate);
|
||||
boolean ok = workerCertificateService.updateById(workerCertificate);
|
||||
if (ok) {
|
||||
result.successMsg(MessageUtil.get("editSucess"));
|
||||
}
|
||||
workerCertificateService.edit(workerCertificate);
|
||||
}
|
||||
|
||||
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删除
|
||||
|
||||
@ -1,67 +1,86 @@
|
||||
package com.zhgd.xmgl.modules.worker.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
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 org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
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: 人员黑名单
|
||||
* @author: pds
|
||||
* @date: 2020-11-23
|
||||
* @date: 2020-11-23
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("worker_blacklist")
|
||||
@ApiModel(value="WorkerBlacklist实体类",description="WorkerBlacklist")
|
||||
@ApiModel(value = "WorkerBlacklist实体类", description = "WorkerBlacklist")
|
||||
public class WorkerBlacklist implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="id")
|
||||
private java.lang.Long id ;
|
||||
/**项目唯一标识*/
|
||||
@Excel(name = "项目唯一标识", width = 15)
|
||||
@ApiModelProperty(value="项目唯一标识")
|
||||
private java.lang.String projectSn ;
|
||||
/**人员ID*/
|
||||
@Excel(name = "人员ID", width = 15)
|
||||
@ApiModelProperty(value="人员ID")
|
||||
|
||||
private java.lang.Long workerId ;
|
||||
/**姓名*/
|
||||
@Excel(name = "姓名", width = 15)
|
||||
@ApiModelProperty(value="姓名")
|
||||
private java.lang.String workerName ;
|
||||
/**身份证号*/
|
||||
@Excel(name = "身份证号", width = 15)
|
||||
@ApiModelProperty(value="身份证号")
|
||||
private java.lang.String idCard ;
|
||||
/**加入黑名单原因*/
|
||||
@Excel(name = "加入黑名单原因", width = 15)
|
||||
@ApiModelProperty(value="加入黑名单原因")
|
||||
private java.lang.String addReason ;
|
||||
/**reason*/
|
||||
@Excel(name = "reason", width = 15)
|
||||
@ApiModelProperty(value="reason")
|
||||
private java.lang.String reason ;
|
||||
/**加入黑名单日期*/
|
||||
@Excel(name = "加入黑名单日期", width = 15)
|
||||
@ApiModelProperty(value="加入黑名单日期")
|
||||
private java.lang.String addTime ;
|
||||
/**创建时间*/
|
||||
@Excel(name = "创建时间", width = 20, format = "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")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
private java.util.Date createTime ;
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 项目唯一标识
|
||||
*/
|
||||
@Excel(name = "项目唯一标识", width = 15)
|
||||
@ApiModelProperty(value = "项目唯一标识")
|
||||
private java.lang.String projectSn;
|
||||
/**
|
||||
* 人员ID
|
||||
*/
|
||||
@Excel(name = "人员ID", width = 15)
|
||||
@ApiModelProperty(value = "人员ID")
|
||||
|
||||
private java.lang.Long workerId;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@Excel(name = "姓名", width = 15)
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private java.lang.String workerName;
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@Excel(name = "身份证号", width = 15)
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private java.lang.String idCard;
|
||||
/**
|
||||
* 加入黑名单原因
|
||||
*/
|
||||
@Excel(name = "加入黑名单原因", width = 15)
|
||||
@ApiModelProperty(value = "加入黑名单原因")
|
||||
private java.lang.String addReason;
|
||||
/**
|
||||
* reason
|
||||
*/
|
||||
@Excel(name = "reason", width = 15)
|
||||
@ApiModelProperty(value = "reason")
|
||||
private java.lang.String reason;
|
||||
/**
|
||||
* 加入黑名单日期
|
||||
*/
|
||||
@Excel(name = "加入黑名单日期", width = 15)
|
||||
@ApiModelProperty(value = "加入黑名单日期")
|
||||
private java.lang.String addTime;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Excel(name = "创建时间", width = 20, format = "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")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
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")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
@ApiModelProperty(value = "截止日期")
|
||||
private Date expirationDate;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "人脸分数")
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.worker.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerCertificate;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
@ -11,7 +12,7 @@ import java.util.Map;
|
||||
/**
|
||||
* @Description: 人员证书表
|
||||
* @author: pds
|
||||
* @date: 2021-01-08
|
||||
* @date: 2021-01-08
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
@ -20,4 +21,12 @@ public interface WorkerCertificateMapper extends BaseMapper<WorkerCertificate> {
|
||||
List<EntityMap> selectWorkerCertificateList(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"?>
|
||||
<!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">
|
||||
|
||||
<select id="selectWorkerCertificateList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map">
|
||||
SELECT a.*,b.dictionary_name certificate_type_name
|
||||
from worker_certificate a LEFT JOIN
|
||||
@ -12,14 +11,23 @@
|
||||
<select id="selectProjectManageCertificateTotal" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||
SELECT a.dictionary_name,IFNULL(b.certificatenum,0) num
|
||||
from dictionaries_record a LEFT JOIN
|
||||
(SELECT w1.certificate_type,COUNT(1) certificatenum
|
||||
FROM worker_certificate w1 INNER JOIN worker_info w2 ON w1.worker_id=w2.id
|
||||
WHERE w1.project_sn=#{projectSn}
|
||||
<if test="userEnterpriseId!=null and userEnterpriseId!=''">
|
||||
and FIND_IN_SET(w2.enterprise_id,#{userEnterpriseId})
|
||||
</if>
|
||||
GROUP BY w1.certificate_type) b ON a.id=b.certificate_type
|
||||
(SELECT w1.certificate_type,COUNT(1) certificatenum
|
||||
FROM worker_certificate w1 INNER JOIN worker_info w2 ON w1.worker_id=w2.id
|
||||
WHERE w1.project_sn=#{projectSn}
|
||||
<if test="userEnterpriseId != null and userEnterpriseId != ''">
|
||||
and FIND_IN_SET(w2.enterprise_id,#{userEnterpriseId})
|
||||
</if>
|
||||
GROUP BY w1.certificate_type) b ON a.id=b.certificate_type
|
||||
WHERE a.key_name='WORKER_CERT' and a.type=2
|
||||
order by num;
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
<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>
|
||||
|
||||
@ -10,7 +10,7 @@ import java.util.Map;
|
||||
/**
|
||||
* @Description: 人员证书表
|
||||
* @author: pds
|
||||
* @date: 2021-01-08
|
||||
* @date: 2021-01-08
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IWorkerCertificateService extends IService<WorkerCertificate> {
|
||||
@ -18,4 +18,6 @@ public interface IWorkerCertificateService extends IService<WorkerCertificate> {
|
||||
List<EntityMap> selectWorkerCertificateList(Map<String, Object> map);
|
||||
|
||||
Map<String, Object> selectProjectManageCertificateTotal(Map<String, Object> map);
|
||||
|
||||
void edit(WorkerCertificate workerCertificate);
|
||||
}
|
||||
|
||||
@ -1,24 +1,34 @@
|
||||
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.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.mapper.WorkerBlacklistMapper;
|
||||
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 org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 人员证书表
|
||||
* @author: pds
|
||||
* @date: 2021-01-08
|
||||
* @date: 2021-01-08
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@ -26,6 +36,10 @@ import java.util.Map;
|
||||
public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateMapper, WorkerCertificate> implements IWorkerCertificateService {
|
||||
@Autowired
|
||||
private WorkerCertificateMapper workerCertificateMapper;
|
||||
@Autowired
|
||||
private WorkerBlacklistMapper workerBlacklistMapper;
|
||||
@Autowired
|
||||
private WorkerInfoMapper workerInfoMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@ -35,16 +49,60 @@ public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateM
|
||||
|
||||
@Override
|
||||
public Map<String, Object> selectProjectManageCertificateTotal(Map<String, Object> map) {
|
||||
Map<String, Object> data=new HashMap<>();
|
||||
List<EntityMap> list=workerCertificateMapper.selectProjectManageCertificateTotal(map);
|
||||
int totalNum=0;
|
||||
if(list!=null&&list.size()>0){
|
||||
for (EntityMap entityMap:list){
|
||||
totalNum=totalNum+ MapUtils.getInteger(entityMap,"num");
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
List<EntityMap> list = workerCertificateMapper.selectProjectManageCertificateTotal(map);
|
||||
int totalNum = 0;
|
||||
if (list != null && list.size() > 0) {
|
||||
for (EntityMap entityMap : list) {
|
||||
totalNum = totalNum + MapUtils.getInteger(entityMap, "num");
|
||||
}
|
||||
}
|
||||
data.put("list",list);
|
||||
data.put("totalNum",totalNum);
|
||||
data.put("list", list);
|
||||
data.put("totalNum", totalNum);
|
||||
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;
|
||||
|
||||
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.project.entity.ProjectExternalSystemService;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectExternalSystemServiceMapper;
|
||||
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.mapper.WorkerBlacklistMapper;
|
||||
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.util.ElecardUtil;
|
||||
import lombok.extern.log4j.Log4j;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -22,8 +33,9 @@ import java.util.List;
|
||||
* @author: Mr.Peng
|
||||
* @create: 2021-09-10 17:31
|
||||
**/
|
||||
@Log4j
|
||||
@Slf4j
|
||||
@Component
|
||||
@RestController
|
||||
public class WorkerTask {
|
||||
@Autowired
|
||||
private ProjectExternalSystemServiceMapper projectExternalSystemServiceMapper;
|
||||
@ -34,17 +46,22 @@ public class WorkerTask {
|
||||
private INoticeService noticeService;
|
||||
@Autowired
|
||||
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)
|
||||
//@Scheduled(cron = "0 0 4 * * ?")
|
||||
@SchedulerLock(name = "updateWorkerCode", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
public void updateWorkerCode(){
|
||||
public void updateWorkerCode() {
|
||||
log.info("------------------------------健康码同步开始-----------------------------------------");
|
||||
try{
|
||||
List<ProjectExternalSystemService> list= projectExternalSystemServiceMapper.getChangtongCodeSystemList();
|
||||
try {
|
||||
List<ProjectExternalSystemService> list = projectExternalSystemServiceMapper.getChangtongCodeSystemList();
|
||||
if(list!=null&&list.size()>0){
|
||||
for (ProjectExternalSystemService projectExternalSystemService:list){
|
||||
getWorkerCodeState(projectExternalSystemService);
|
||||
@ -119,33 +136,36 @@ public class WorkerTask {
|
||||
title2.append("红码人员:").append(redWorkerName.toString()).append("。");
|
||||
}
|
||||
title2.append("已销权");
|
||||
noticeService.sendProjectNoicte(projectExternalSystemService.getProjectSn(),"红黄码核验",title.toString(),"17");
|
||||
noticeService.sendProjectNoicte(projectExternalSystemService.getProjectSn(),"红黄码销权",title2.toString(),"17");
|
||||
noticeService.sendProjectNoicte(projectExternalSystemService.getProjectSn(), "红黄码核验", title.toString(), "17");
|
||||
noticeService.sendProjectNoicte(projectExternalSystemService.getProjectSn(), "红黄码销权", title2.toString(), "17");
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/*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);
|
||||
//向项目管理员和子账号推送通知
|
||||
if(systemUserList.size()>0){
|
||||
for (SystemUser systemUser:systemUserList){
|
||||
addNotice(systemUser.getUserId(),msg,title,sdf.format(new Date()),type);
|
||||
}
|
||||
/**
|
||||
* 劳务人员,截止日期到期的话,就自动填充原因,就是证件到期到黑名单中
|
||||
*/
|
||||
@SchedulerLock(name = "addWorkerBlacklist", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
@GetMapping("xmgl/task/addWorkerBlacklist")
|
||||
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