From 0563953393b6e81e0443c2ef4825e3f0cb64eea6 Mon Sep 17 00:00:00 2001 From: zzc Date: Mon, 14 Apr 2025 18:25:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=8A=E7=96=97=E3=80=81=E9=9A=8F=E8=AE=BF?= =?UTF-8?q?=E6=82=A3=E8=80=85=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E5=A7=93=E5=90=8D=E6=9F=A5=E8=AF=A2=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/domain/dto/FmsFollowupDto.java | 2 ++ .../system/domain/dto/PmsTreatmentDto.java | 1 + .../system/domain/dto/ScreeningDto.java | 2 ++ .../system/persist/dao/FmsFollowupDao.java | 6 ++-- .../AdminFmsFollowupQueueServiceImpl.java | 2 +- .../service/impl/FmsFollowupServiceImpl.java | 2 +- .../service/impl/ScreeningServiceImpl.java | 28 ++++++++++++++++++- .../resources/mapper/dao/FmsFollowupDao.xml | 6 ++++ .../resources/mapper/dao/PmsTreatmentDao.xml | 6 ++++ 9 files changed, 50 insertions(+), 5 deletions(-) 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..231fecb2 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,14 @@ 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); 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); /** * 查询随访任务 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..488e4e34 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()); 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..3f8e6312 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()); 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..fbca4db6 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/FmsFollowupDao.xml @@ -151,6 +151,9 @@ AND r.task_flag = #{taskFlag} + + AND r.phone =#{phone} + group by r.patient_id, r.tenant_id order by r.create_time desc @@ -238,6 +241,9 @@ AND r.task_flag = #{taskFlag} + + AND r.phone =#{phone} + 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