From 689301b43486598bbfc419b4de21bc202956c901 Mon Sep 17 00:00:00 2001 From: guo Date: Tue, 16 Jan 2024 18:36:09 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iAnalyseHardWareAlarmRecordController.java | 1 + .../entity/AiAnalyseHardWareAlarmRecord.java | 7 +- .../AiAnalyseHardWareAlarmRecordMapper.xml | 9 +- ...AnalyseHardWareAlarmRecordServiceImpl.java | 18 ++- .../WorkerCertificateController.java | 19 ++- .../worker/entity/WorkerBlacklist.java | 115 ++++++++++-------- .../modules/worker/entity/WorkerInfo.java | 2 + .../mapper/WorkerCertificateMapper.java | 11 +- .../mapper/xml/WorkerCertificateMapper.xml | 26 ++-- .../service/IWorkerCertificateService.java | 4 +- .../impl/WorkerCertificateServiceImpl.java | 80 ++++++++++-- .../java/com/zhgd/xmgl/task/WorkerTask.java | 72 +++++++---- 12 files changed, 254 insertions(+), 110 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java index 3b3c0ab86..380ba7012 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java @@ -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> selectAiAnalyseHardWareAlarmList(@RequestBody Map map) { diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/AiAnalyseHardWareAlarmRecord.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/AiAnalyseHardWareAlarmRecord.java index b21bd1ebe..33494bce4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/entity/AiAnalyseHardWareAlarmRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/AiAnalyseHardWareAlarmRecord.java @@ -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; } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml index c297ffb49..eacfb652d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml @@ -96,9 +96,16 @@ diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index b9b5cf4e5..9208b9807 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -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 selectAiAnalyseHardWareAlarmList(Map map) { Integer sizeNum = MapUtils.getInteger(map, "sizeNum", 10); map.put("sizeNum", sizeNum); - return aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmList(map); + List aiAnalyseHardWareAlarmRecords = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmList(map); + List dictList = dictionaryItemService.getDictList(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE); + try { + Map 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 diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerCertificateController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerCertificateController.java index 5e117f72a..e8eca6b4d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerCertificateController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerCertificateController.java @@ -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删除 diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerBlacklist.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerBlacklist.java index 711f3bb24..0860d5ea8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerBlacklist.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerBlacklist.java @@ -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; } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java index d3182e096..86b738023 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java @@ -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 = "人脸分数") diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerCertificateMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerCertificateMapper.java index bfc4aa42a..8896cf971 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerCertificateMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerCertificateMapper.java @@ -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 { List selectWorkerCertificateList(Map map); List selectProjectManageCertificateTotal(Map map); + + /** + * 查询有证书,但是证书过期而且没有添加到黑名单的劳务人员 + * + * @return + */ + List selectExpiredNotInBlackWorkerList(); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerCertificateMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerCertificateMapper.xml index 7fb564360..a2baf56bc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerCertificateMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerCertificateMapper.xml @@ -1,7 +1,6 @@ - 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} - - and FIND_IN_SET(w2.enterprise_id,#{userEnterpriseId}) - - 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} + + and FIND_IN_SET(w2.enterprise_id,#{userEnterpriseId}) + + 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; - \ No newline at end of file + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerCertificateService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerCertificateService.java index 84c0144e1..b746dd9fc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerCertificateService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerCertificateService.java @@ -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 { @@ -18,4 +18,6 @@ public interface IWorkerCertificateService extends IService { List selectWorkerCertificateList(Map map); Map selectProjectManageCertificateTotal(Map map); + + void edit(WorkerCertificate workerCertificate); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerCertificateServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerCertificateServiceImpl.java index bed47eea3..2c4a78caa 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerCertificateServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerCertificateServiceImpl.java @@ -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 implements IWorkerCertificateService { @Autowired private WorkerCertificateMapper workerCertificateMapper; + @Autowired + private WorkerBlacklistMapper workerBlacklistMapper; + @Autowired + private WorkerInfoMapper workerInfoMapper; @Override @@ -35,16 +49,60 @@ public class WorkerCertificateServiceImpl extends ServiceImpl selectProjectManageCertificateTotal(Map map) { - Map data=new HashMap<>(); - List list=workerCertificateMapper.selectProjectManageCertificateTotal(map); - int totalNum=0; - if(list!=null&&list.size()>0){ - for (EntityMap entityMap:list){ - totalNum=totalNum+ MapUtils.getInteger(entityMap,"num"); + Map data = new HashMap<>(); + List 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 workerCertificates = workerCertificateMapper.selectList(new LambdaQueryWrapper() + .eq(WorkerCertificate::getWorkerId, workerCertificate.getWorkerId())); + List 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 workerBlacklists = workerBlacklistMapper.selectList(new LambdaQueryWrapper() + .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() + .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("证书签发日期不能大于截止有效日期"); + } + } } diff --git a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java index 70e35f4a7..0444e3057 100644 --- a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java +++ b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java @@ -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 list= projectExternalSystemServiceMapper.getChangtongCodeSystemList(); + try { + List 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 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 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); - }*/ }