bug修复

This commit is contained in:
guo 2024-01-16 18:36:09 +08:00
parent dd1baa20a4
commit 689301b434
12 changed files with 254 additions and 110 deletions

View File

@ -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) {

View File

@ -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;
} }

View File

@ -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>

View File

@ -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

View File

@ -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删除

View File

@ -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;
} }

View File

@ -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 = "人脸分数")

View File

@ -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();
} }

View File

@ -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>

View File

@ -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);
} }

View File

@ -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("证书签发日期不能大于截止有效日期");
}
}
} }

View File

@ -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);
}*/
}