diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/FmsFollowupDto.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/FmsFollowupDto.java index a9edf086..a2fc4d44 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/FmsFollowupDto.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/FmsFollowupDto.java @@ -127,6 +127,8 @@ public class FmsFollowupDto { @ApiModelProperty("0 无队列") private Integer haveQueue; private Long tenantId; + private String phone; + private String name; private String dataScore; diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java index 2c6fac15..461dc7a6 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java @@ -134,6 +134,7 @@ public class PmsTreatmentDto { private Integer endAge; private String sourceId; private String phone; + private String name; private Long tenantId; } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ScreeningDto.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ScreeningDto.java index d6507563..47c36bf3 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ScreeningDto.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ScreeningDto.java @@ -184,6 +184,8 @@ public class ScreeningDto { @ApiModelProperty("问卷详情id") private Long detailId; private Long tenantId; + private String phone; + private String name; } @Data diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/FmsFollowupDao.java b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/FmsFollowupDao.java index 9a56bc49..ab58515e 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/FmsFollowupDao.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/FmsFollowupDao.java @@ -40,12 +40,16 @@ public interface FmsFollowupDao { List queryPatient(@Param("id") Long id, @Param("taskFlag") Byte taskFlag, @Param("haveQueue")Integer haveQueue, - @Param("tenantId") Long tenantId); + @Param("tenantId") Long tenantId, + @Param("phone") String phone, + @Param("name") String name); List adminQueryPatient(@Param("id") Long id, @Param("taskFlag") Byte taskFlag, @Param("haveQueue")Integer haveQueue, - @Param("tenantId") Long tenantId); + @Param("tenantId") Long tenantId, + @Param("phone") String phone, + @Param("name") String name); /** * 查询随访任务 diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminFmsFollowupQueueServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminFmsFollowupQueueServiceImpl.java index 1829068e..e1b0d85d 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminFmsFollowupQueueServiceImpl.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminFmsFollowupQueueServiceImpl.java @@ -73,7 +73,7 @@ public class AdminFmsFollowupQueueServiceImpl implements AdminFmsFollowupQueueSe @Override public List adminQueryPatient(FmsFollowupDto.FollowupPatientQueryDTO dto) { - List followupPatients = fmsFollowupDao.adminQueryPatient(dto.getQueueId(), null, dto.getHaveQueue(), dto.getTenantId()); + List followupPatients = fmsFollowupDao.adminQueryPatient(dto.getQueueId(), null, dto.getHaveQueue(), dto.getTenantId(), dto.getPhone(), dto.getName()); if (CollectionUtil.isNotEmpty(followupPatients)) { List commonFollowupQueue = redisCache.getCacheList("common_followup_queue"); for (FmsFollowupVo.FollowupPatient followupPatient : followupPatients) { diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java index 884ac311..08c4ca69 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/FmsFollowupServiceImpl.java @@ -87,7 +87,7 @@ public class FmsFollowupServiceImpl implements FmsFollowupService { @Override public List queryPatient(FmsFollowupDto.FollowupPatientQueryDTO dto) { - List followupPatients = fmsFollowupDao.queryPatient(dto.getQueueId(), null, dto.getHaveQueue(), dto.getTenantId()); + List followupPatients = fmsFollowupDao.queryPatient(dto.getQueueId(), null, dto.getHaveQueue(), dto.getTenantId(), dto.getPhone(), dto.getName()); if (CollectionUtil.isNotEmpty(followupPatients)) { List commonFollowupQueue = redisCache.getCacheList("common_followup_queue"); for (FmsFollowupVo.FollowupPatient followupPatient : followupPatients) { diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ScreeningServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ScreeningServiceImpl.java index b9dd33bc..e6f87160 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ScreeningServiceImpl.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ScreeningServiceImpl.java @@ -451,7 +451,11 @@ public class ScreeningServiceImpl implements IScreeningService { return; } PmsPatientExample pmsPatientExample = new PmsPatientExample(); - pmsPatientExample.createCriteria().andNameEqualTo(scrScreeningDetail.getAnswer()).andPhoneEqualTo(scrScreeningDetail1.getAnswer()); + if (StrUtil.isEmpty(param.getName()) && StrUtil.isEmpty(param.getPhone())) { + pmsPatientExample.createCriteria().andNameEqualTo(scrScreeningDetail.getAnswer()).andPhoneEqualTo(scrScreeningDetail1.getAnswer()); + }else { + pmsPatientExample.createCriteria().andNameEqualTo(param.getName()).andPhoneEqualTo(param.getPhone()); + } List pmsPatients = pmsPatientMapper.selectByExample(pmsPatientExample); if (CollectionUtil.isEmpty(pmsPatients)) { PmsPatient pmsPatient = new PmsPatient(); @@ -477,6 +481,28 @@ public class ScreeningServiceImpl implements IScreeningService { pmsPatient.setDelFlag((byte) 0); pmsPatient.setCreateTime(new Date()); pmsPatientMapper.insertSelective(pmsPatient); + }else { + PmsPatient pmsPatient = pmsPatients.get(0); + pmsPatient.setPhone(scrScreeningDetail1.getAnswer()); + pmsPatient.setName(scrScreeningDetail.getAnswer()); + if (ObjectUtil.isNotNull(map.get("SCWJ-BIRTH"))) { + pmsPatient.setBirthDate(DateUtil.parse(map.get("SCWJ-BIRTH").getAnswer())); + } + if (ObjectUtil.isNotNull(map.get("SCWJ-SEX"))) { + pmsPatient.setGender(map.get("SCWJ-SEX").getAnswer().equals("男") ? (byte) 0 : (byte) 1); + } + pmsPatient.setTenantId(detail.getTenantId()); + pmsPatient.setPinyinSimple(PinyinUtil.getFirstLetter(pmsPatient.getName(), "")); + pmsPatient.setPinyinFull(PinyinUtil.getPinyin(pmsPatient.getName())); + if (ObjectUtil.isNotNull(map.get("SCWJ-XBS"))) { + pmsPatient.setCurrentIllnessHistory(map.get("SCWJ-XBS").getAnswer()); + } + if (ObjectUtil.isNotNull(map.get("SCWJ-XBS-QT"))) { + pmsPatient.setCurrentIllnessHistory(map.get("SCWJ-XBS-QT").getAnswer()); + } + pmsPatient.setSource((byte) 0); + pmsPatient.setUpdateTime(new Date()); + pmsPatientMapper.updateByPrimaryKeySelective(pmsPatient); } } } diff --git a/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml b/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml index cebe7711..ff5a90fe 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml @@ -151,6 +151,12 @@ AND r.task_flag = #{taskFlag} + + AND r.phone =#{phone} + + + AND r.name =#{name} + group by r.patient_id, r.tenant_id order by r.create_time desc @@ -238,6 +244,12 @@ AND r.task_flag = #{taskFlag} + + AND r.phone =#{phone} + + + AND r.name =#{name} + group by r.patient_id, r.tenant_id order by r.create_time desc diff --git a/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml b/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml index db3770c2..d505da5c 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml @@ -66,6 +66,9 @@ AND doctor = #{query.doctor} + + AND name = #{query.name} + order by create_time desc @@ -137,6 +140,9 @@ AND t.doctor = #{query.doctor} + + AND t.name = #{query.name} + order by t.create_time desc