Browse Source

Merge branch 'master' of http://git.elinkit.com.cn:7070/r/epmet-cloud

feature/evaluate
wangxianzhang 3 years ago
parent
commit
d209af4cfb
  1. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RentTenantFormDTO.java
  2. 53
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

11
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RentTenantFormDTO.java

@ -42,4 +42,15 @@ public class RentTenantFormDTO implements Serializable {
*/ */
private IcResiUserDTO user; private IcResiUserDTO user;
// 合同相关
/**
* 合同开始日期
*/
private String startDate;
/**
* 合同结束日期
*/
private String endDate;
} }

53
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

@ -1172,18 +1172,22 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
// 1.获取核酸采样信息 // 1.获取核酸采样信息
Map<String, Object> args = new HashMap<>(); Map<String, Object> args = new HashMap<>();
args.put("idcards", idCards); args.put("idcards", idCards);
List<Map<String,Object>> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( List<Map<String,Object>> vaccineListGetted = yantaiNamedParamLantuJdbcTemplate.queryForList(
"select data, name, cardno, vaccineCount from t_ymjz_info where cardno in (:idcards)", args); "select data, name, cardno, vaccineCount from t_ymjz_info where cardno in (:idcards)", args);
if (CollectionUtils.isEmpty(vaccineListGetted)) {
return;
}
// 将获取到的json数据进行日期格式转化,暂存到java对象
List<YTVaccineListDTO> ytVaccineListFromApi = new ArrayList<>(); List<YTVaccineListDTO> ytVaccineListFromApi = new ArrayList<>();
if (CollectionUtils.isNotEmpty(vaccineList)) { vaccineListGetted.forEach(vGetted -> {
vaccineList.forEach(v -> { if (vGetted.containsKey("data")){
if (v.containsKey("data")){ JSONObject jo = JSON.parseObject((String) vGetted.get("data"));
JSONObject jo = JSON.parseObject((String) v.get("data"));
if (jo.containsKey("vaccineList")) { if (jo.containsKey("vaccineList")) {
JSONArray vaccineListJA = jo.getJSONArray("vaccineList"); JSONArray vaccineListJA = jo.getJSONArray("vaccineList");
List<YTVaccineListDTO> vaccineList1 = vaccineListJA.toJavaList(YTVaccineListDTO.class); List<YTVaccineListDTO> vaccineList1 = vaccineListJA.toJavaList(YTVaccineListDTO.class);
vaccineList1.forEach(v1 -> { vaccineList1.forEach(v1 -> {
v1.setCardno(v.get("cardno").toString()); v1.setCardno(vGetted.get("cardno").toString());
// 秒转换成:00 // 秒转换成:00
Matcher matcher = VACCINE_DATE_OF_API_PATTERN.matcher(v1.getInoculateDate()); Matcher matcher = VACCINE_DATE_OF_API_PATTERN.matcher(v1.getInoculateDate());
@ -1195,7 +1199,10 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
} }
} }
}); });
List<IcVaccineEntity> entities = new ArrayList<>();
if (CollectionUtils.isEmpty(ytVaccineListFromApi)) {
return;
}
// 过滤已存在的记录 // 过滤已存在的记录
List<YTVaccineListDTO> existVaccines = icVaccineDao.getExistVaccine(ytVaccineListFromApi); List<YTVaccineListDTO> existVaccines = icVaccineDao.getExistVaccine(ytVaccineListFromApi);
@ -1205,16 +1212,26 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
while (iterator.hasNext()) { while (iterator.hasNext()) {
YTVaccineListDTO vaccineFromApi = iterator.next(); YTVaccineListDTO vaccineFromApi = iterator.next();
String inoculateDate = vaccineFromApi.getInoculateDate();
if (StringUtils.isBlank(inoculateDate)) {
// 没有接种时间,移除
log.warn("【疫苗接种同步】证件号为{}的记录,没有接种时间,移除。", vaccineFromApi.getCardno());
iterator.remove();
}
// 身份证号和接种时间都一致,移除 // 身份证号和接种时间都一致,移除
if (vaccineFromApi.getCardno().equals(existVaccineItem.getCardno()) if (vaccineFromApi.getCardno().equals(existVaccineItem.getCardno())
&& vaccineFromApi.getInoculateDate().equals(existVaccineItem.getInoculateDate())) { && inoculateDate.equals(existVaccineItem.getInoculateDate())) {
iterator.remove(); iterator.remove();
} }
} }
} }
} }
if (CollectionUtils.isNotEmpty(ytVaccineListFromApi)){
// 转化为entity,插入vaccine和vaccine_relation
List<IcVaccineEntity> entities2Insert = new ArrayList<>();
ytVaccineListFromApi.forEach(v -> { ytVaccineListFromApi.forEach(v -> {
resiInfos.forEach(u -> { resiInfos.forEach(u -> {
if (v.getCardno().equals(u.getIdCard())){ if (v.getCardno().equals(u.getIdCard())){
@ -1230,13 +1247,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
e.setInoculateAddress(v.getLastStationName()); e.setInoculateAddress(v.getLastStationName());
e.setAgencyId(u.getAgencyId()); e.setAgencyId(u.getAgencyId());
e.setPids(u.getPids()); e.setPids(u.getPids());
entities.add(e); entities2Insert.add(e);
} }
}); });
}); });
icVaccineService.insertBatch(entities,NumConstant.ONE_HUNDRED); icVaccineService.insertBatch(entities2Insert,NumConstant.ONE_HUNDRED);
List<IcVaccineRelationEntity> relationEntities = new ArrayList<>(); List<IcVaccineRelationEntity> relationEntities = new ArrayList<>();
entities.forEach(e -> { entities2Insert.forEach(e -> {
IcVaccineRelationEntity re = new IcVaccineRelationEntity(); IcVaccineRelationEntity re = new IcVaccineRelationEntity();
re.setIcVaccineId(e.getId()); re.setIcVaccineId(e.getId());
re.setPids(e.getPids()); re.setPids(e.getPids());
@ -1249,8 +1266,6 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
}); });
icVaccineRelationService.insertBatch(relationEntities,NumConstant.ONE_HUNDRED); icVaccineRelationService.insertBatch(relationEntities,NumConstant.ONE_HUNDRED);
} }
}
}
/** /**
* n个一批来处理他们的核酸信息太多怕给数据库查崩了 * n个一批来处理他们的核酸信息太多怕给数据库查崩了
@ -1283,6 +1298,11 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
// 本地数据库中,居民信息 // 本地数据库中,居民信息
NatUserInfoResultDTO currentResiInfo = idCardAndResiInfo.get(cardNo); NatUserInfoResultDTO currentResiInfo = idCardAndResiInfo.get(cardNo);
if (currentResiInfo == null) {
log.warn("【核酸检测同步任务】同步采样,证件号为{}的居民,竟然没找到居民信息。", cardNo);
return;
}
IcNatEntity e = new IcNatEntity(); IcNatEntity e = new IcNatEntity();
e.setCustomerId(customerId); e.setCustomerId(customerId);
e.setIsResiUser(StringUtils.isBlank(currentResiInfo.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setIsResiUser(StringUtils.isBlank(currentResiInfo.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR);
@ -1324,6 +1344,11 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
// 本地数据库中,居民信息 // 本地数据库中,居民信息
NatUserInfoResultDTO currentResiInfo = idCardAndResiInfo.get(cardNo); NatUserInfoResultDTO currentResiInfo = idCardAndResiInfo.get(cardNo);
if (currentResiInfo == null) {
log.warn("【核酸检测同步任务】同步检测结果,证件号为{}的居民,竟然没找到居民信息。", cardNo);
return;
}
IcNatEntity e = new IcNatEntity(); IcNatEntity e = new IcNatEntity();
e.setCustomerId(customerId); e.setCustomerId(customerId);
e.setIsResiUser(StringUtils.isBlank(currentResiInfo.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); e.setIsResiUser(StringUtils.isBlank(currentResiInfo.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR);

Loading…
Cancel
Save