Browse Source

Merge remote-tracking branch 'origin/dev_compare_data' into dev_compare_data

master
sunyuchao 3 years ago
parent
commit
db9ae9dc19
  1. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java
  2. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java
  4. 66
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java
  5. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java
  6. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecRelationDao.xml
  7. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java

@ -12,7 +12,7 @@ import java.io.Serializable;
public class YTVaccineListDTO implements Serializable {
private static final long serialVersionUID = -5583350277850076659L;
private String idCard;
private String cardno;
/**
* 接种时间

14
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java

@ -124,11 +124,19 @@ public class DataSyncConfigController {
return new Result();
}
@PostMapping("natInfoSyncButton")
public Result natInfoSyncButton(@RequestBody DataSyncTaskParam formDTO, @LoginUser TokenDto tokenDto){
/**
* 提交同步任务(核酸疫苗身份一致性验证)
* @author wxz
* @date 2022/11/15 下午1:37
* @param formDTO
* @param tokenDto
* @return Result
*/
@PostMapping("submitSyncJob")
public Result submitSyncJob(@RequestBody DataSyncTaskParam formDTO, @LoginUser TokenDto tokenDto){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
dataSyncConfigService.natInfoSyncButton(formDTO);
dataSyncConfigService.submitSyncJob(formDTO);
return new Result();
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java

@ -112,7 +112,7 @@ public interface DataSyncConfigService extends BaseService<DataSyncConfigEntity>
*/
void natInfoScanTask(DataSyncTaskParam formDTO);
void natInfoSyncButton(DataSyncTaskParam formDTO);
void submitSyncJob(DataSyncTaskParam formDTO);
List<NatUserInfoResultDTO> getNatUserInfoFromDb(DataSyncTaskParam formDTO, int pageNo, int pageSize);

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

@ -411,7 +411,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
*/
@Override
public void natInfoSyncButton(DataSyncTaskParam formDTO) {
public void submitSyncJob(DataSyncTaskParam formDTO) {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId());
if (null == agencyInfo){
throw new EpmetException("未查询到组织信息:"+formDTO.getAgencyId());
@ -1072,30 +1072,58 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
args.put("idcards", idCards);
// todo 疫苗接种视图
String json = "[\n" +
"{\n" +
"\t\"idCard\":\"370785195001012558\",\n" +
"\t\"inoculateDate\":\"2023-01-01 10:01\",\n" +
"\t\"lastStationName\":\"北京\"\n" +
"},\n" +
"{\n" +
"\t\"idCard\":\"370785195001012558\",\n" +
"\t\"inoculateDate\":\"2022-01-01 10:01\",\n" +
"\t\"lastStationName\":\"南京\"\n" +
"}\n" +
" {\n" +
" \"id\": \"751956862490071040\",\n" +
" \"cardno\": \"370785195001012558\",\n" +
" \"name\": \"李国玺\",\n" +
" \"data\":\n" +
" {\n" +
" \"vaccineList\":\n" +
" [\n" +
" {\n" +
" \"vaccineCount\": \"1\",\n" +
" \"inoculateDate\": \"2021-04-24 16:02:46\",\n" +
" \"lastStationName\": \"烟台市只楚医院临时接种点\"\n" +
" },\n" +
" {\n" +
" \"vaccineCount\": \"2\",\n" +
" \"inoculateDate\": \"2021-06-10 16:20:30\",\n" +
" \"lastStationName\": \"烟台市芝罘岛医院临时接种点\"\n" +
" },\n" +
" {\n" +
" \"vaccineCount\": \"3\",\n" +
" \"inoculateDate\": \"2021-12-10 15:12:24\",\n" +
" \"lastStationName\": \"烟台市芝罘岛医院临时接种点\"\n" +
" }\n" +
" ],\n" +
" \"flag\": 1\n" +
" },\n" +
" \"vaccineCount\": 3\n" +
" }\n" +
"]";
List<Map<String, Object>> vaccineList = new ArrayList<>();/*yantaiNamedParamLantuJdbcTemplate.queryForList(
"select id, name,card_no, create_time from hscyxxb where card_no in (:idcards)", args);*/
Map<String, Object> m = new HashMap<>();
vaccineList.add(m);
// List<Map> vaccineList = JSON.parseArray(json,Map.class);
List<Map<String,Object>> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList(
"select data, name, card_no, vaccineCount from t_ymjz_info where card_no in (:idcards)", args);
List<YTVaccineListDTO> ytVaccineListDTOS = new ArrayList<>();
if (CollectionUtils.isNotEmpty(vaccineList)) {
vaccineList.forEach(v -> {
if (v.containsKey("data")){
Map<String, Object> data = (Map<String, Object>) v.get("data");
if (data.containsKey("vaccineList")){
List<YTVaccineListDTO> vaccineList1 = JSON.parseArray(data.get("vaccineList").toString(), YTVaccineListDTO.class);
vaccineList1.forEach(v1 -> {
v1.setCardno(v.get("cardno").toString());
});
ytVaccineListDTOS.addAll(vaccineList1);
}
}
});
List<IcVaccineEntity> entities = new ArrayList<>();
// List<YTVaccineListDTO> ytVaccineListDTOS = ConvertUtils.sourceToTarget(vaccineList, YTVaccineListDTO.class);
List<YTVaccineListDTO> ytVaccineListDTOS = JSON.parseArray(json,YTVaccineListDTO.class);
List<YTVaccineListDTO> existVaccine = icVaccineDao.getExistVaccine(ytVaccineListDTOS);
if (CollectionUtils.isNotEmpty(existVaccine)){
for (YTVaccineListDTO e : existVaccine) {
for (int i = 0; i < ytVaccineListDTOS.size(); i++) {
if (ytVaccineListDTOS.get(i).getIdCard().equals(e.getIdCard()) && ytVaccineListDTOS.get(i).getInoculateDate().equals(e.getInoculateDate())){
if (ytVaccineListDTOS.get(i).getCardno().equals(e.getCardno()) && ytVaccineListDTOS.get(i).getInoculateDate().equals(e.getInoculateDate())){
ytVaccineListDTOS.remove(i);
}
}
@ -1104,7 +1132,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
if (CollectionUtils.isNotEmpty(ytVaccineListDTOS)){
ytVaccineListDTOS.forEach(v -> {
resiInfos.forEach(u -> {
if (v.getIdCard().equals(u.getIdCard())){
if (v.getCardno().equals(u.getIdCard())){
IcVaccineEntity e = new IcVaccineEntity();
e.setCustomerId(customerId);
e.setName(u.getName());

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java

@ -285,7 +285,8 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl<IcNatCompareR
.set(IcNatCompareRecordEntity::getLatestImportTime, origin.getLatestImportTime())
.set(IcNatCompareRecordEntity::getInternalRemark, origin.getInternalRemark());
baseDao.update(null,updateWrapper);
IcNatCompareRecRelationEntity existRelationEntity=icNatCompareRecRelationDao.selectExist(data.getCustomerId(),origin.getId(),staffInfo.getAgencyId(),importDate);
// 关系表 agency_id+compare_rec_id唯一
IcNatCompareRecRelationEntity existRelationEntity = icNatCompareRecRelationDao.selectExist(data.getCustomerId(), origin.getId(), staffInfo.getAgencyId(), null);
if(null!=existRelationEntity){
// 是否本社区(agency_id)下居民(0:否 1:是)
if (null != icResiUserDTO && icResiUserDTO.getAgencyId().equals(staffInfo.getAgencyId())) {
@ -295,9 +296,12 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl<IcNatCompareR
}
//记录最后一次导入时间、最近一次操作人id,最近一次操作人姓名
existRelationEntity.setImportTime(importTime);
existRelationEntity.setImportDate(importDate);
existRelationEntity.setStaffId(staffInfo.getStaffId());
existRelationEntity.setStaffName(staffInfo.getRealName());
existRelationEntity.setAgencyName(staffInfo.getAgencyName());
existRelationEntity.setUpdatedBy(staffInfo.getStaffId());
existRelationEntity.setUpdatedTime(importTime);
icNatCompareRecRelationDao.updateById(existRelationEntity);
}else{
IcNatCompareRecRelationEntity relationEntity = new IcNatCompareRecRelationEntity();

2
epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecRelationDao.xml

@ -33,6 +33,8 @@
AND r.CUSTOMER_ID = #{customerId}
AND r.COMPARE_REC_ID = #{compareRecId}
AND r.AGENCY_ID = #{agencyId}
<if test='null != importDate and "" != importDate'>
AND r.IMPORT_DATE = #{importDate}
</if>
</select>
</mapper>

2
epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml

@ -236,7 +236,7 @@
WHERE DEL_FLAG = '0'
AND (
<foreach collection="list" item="l" separator=" OR ">
(ID_CARD = #{l.idCard} AND DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') = #{l.inoculateDate})
(ID_CARD = #{l.cardno} AND DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') = #{l.inoculateDate})
</foreach>
)
</select>

Loading…
Cancel
Save