Commit 8ec4cb71 authored by zhangsen's avatar zhangsen

人员赋码携带具体信息

parent 4a509e7c
...@@ -23,4 +23,5 @@ public class BizMessage { ...@@ -23,4 +23,5 @@ public class BizMessage {
*/ */
String dataSource; String dataSource;
private String traceId2; private String traceId2;
private String extAttr2;
} }
...@@ -203,22 +203,48 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -203,22 +203,48 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
Integer isOver = 0; Integer isOver = 0;
CertificationInfo personCertificate = model.getPersonCertificate(); CertificationInfo personCertificate = model.getPersonCertificate();
// 过期的证书
List<String> overCertificateList = new ArrayList<>();
// 临期证书
List<String> inMonthCertificateList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) { if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) { for (PersonCertificate item : personCertificate.getCertificationInfo()) {
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod()); if (StringUtils.isNotEmpty(item.getValidPeriod()) && !Objects.isNull(item.getCertificateTime())) {
Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod); int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod());
if (list.contains(item.getCertificateName()) && Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod);
DateUtils.dateCompare(date, new Date()) == -1) { if (list.contains(item.getCertificateName()) &&
isOver = 1; DateUtils.dateCompare(date, new Date()) == -1) {
} isOver = 1;
if (list.contains(item.getCertificateName()) && overCertificateList.add(item.getCertificateName());
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) && }
DateUtils.dateCompare(date, new Date()) == 1) { if (list.contains(item.getCertificateName()) &&
isInMonth = 1; DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
inMonthCertificateList.add(item.getCertificateName());
}
} }
list.remove(item.getCertificateName()); list.remove(item.getCertificateName());
} }
} }
// 缺证
List<String> noCertificateList = new ArrayList<>(list);
List<String> strings = new ArrayList<>();
if (CollectionUtils.isNotEmpty(overCertificateList)) {
strings.add("过期证书:" + String.join("," , overCertificateList));
}
if (CollectionUtils.isNotEmpty(inMonthCertificateList)) {
strings.add("临期证书:" + String.join("," , inMonthCertificateList));
}
if (CollectionUtils.isNotEmpty(noCertificateList)) {
strings.add("缺少证书:" + String.join("," , noCertificateList));
}
String join = "";
if (CollectionUtils.isNotEmpty(strings)) {
join = "(" + String.join(";", strings) + ")";
}
if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) { if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) {
personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode()); personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode());
personBasic.setQrcodeDesc("证书齐全"); personBasic.setQrcodeDesc("证书齐全");
...@@ -252,6 +278,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -252,6 +278,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
RiskBizInfoVo riskBizInfoVo = fetchData(personBasic, personAccount); RiskBizInfoVo riskBizInfoVo = fetchData(personBasic, personAccount);
bizMessage.setBizInfo(riskBizInfoVo); bizMessage.setBizInfo(riskBizInfoVo);
bizMessage.setTraceId(String.valueOf(personBasic.getSequenceNbr())); bizMessage.setTraceId(String.valueOf(personBasic.getSequenceNbr()));
bizMessage.setExtAttr2(join);
try { try {
emqKeeper.getMqttClient().publish(RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false); emqKeeper.getMqttClient().publish(RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
} catch (MqttException e) { } catch (MqttException e) {
...@@ -397,24 +424,51 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -397,24 +424,51 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
//人员资质信息 //人员资质信息
Integer isInMonth = 0; Integer isInMonth = 0;
Integer isOver = 0; Integer isOver = 0;
// 过期的证书
List<String> overCertificateList = new ArrayList<>();
// 临期证书
List<String> inMonthCertificateList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) { if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) { for (PersonCertificate item : personCertificate.getCertificationInfo()) {
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod()); if (StringUtils.isNotEmpty(item.getValidPeriod()) && !Objects.isNull(item.getCertificateTime())) {
Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod); int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod());
if (list.contains(item.getCertificateName()) && Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod);
DateUtils.dateCompare(date, new Date()) == -1) { if (list.contains(item.getCertificateName()) &&
isOver = 1; DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
overCertificateList.add(item.getCertificateName());
}
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
inMonthCertificateList.add(item.getCertificateName());
}
item.setPersonId(personBasic.getSequenceNbr());
personCertificateService.save(item);
} }
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
}
item.setPersonId(personBasic.getSequenceNbr());
personCertificateService.save(item);
list.remove(item.getCertificateName()); list.remove(item.getCertificateName());
} }
} }
// 缺证
List<String> noCertificateList = new ArrayList<>(list);
List<String> strings = new ArrayList<>();
if (CollectionUtils.isNotEmpty(overCertificateList)) {
strings.add("过期证书:" + String.join("," , overCertificateList));
}
if (CollectionUtils.isNotEmpty(inMonthCertificateList)) {
strings.add("临期证书:" + String.join("," , inMonthCertificateList));
}
if (CollectionUtils.isNotEmpty(noCertificateList)) {
strings.add("缺少证书:" + String.join("," , noCertificateList));
}
String join = "";
if (CollectionUtils.isNotEmpty(strings)) {
join = "(" + String.join(";", strings) + ")";
}
CompanyModel companyModel = new CompanyModel(); CompanyModel companyModel = new CompanyModel();
//单位 //单位
companyModel = this.getCompanyModel(personAccount.getProjectId()); companyModel = this.getCompanyModel(personAccount.getProjectId());
...@@ -508,6 +562,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -508,6 +562,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
RiskBizInfoVo riskBizInfoVo = fetchData(personBasic, personAccount); RiskBizInfoVo riskBizInfoVo = fetchData(personBasic, personAccount);
bizMessage.setBizInfo(riskBizInfoVo); bizMessage.setBizInfo(riskBizInfoVo);
bizMessage.setDataSource("人员赋码"); bizMessage.setDataSource("人员赋码");
bizMessage.setExtAttr2(join);
try { try {
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false); emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
} catch (MqttException e) { } catch (MqttException e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment