diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/appletpersoncenter/AppletPersonCenterController.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/appletpersoncenter/AppletPersonCenterController.java index 6cc0709b..c00f62c5 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/appletpersoncenter/AppletPersonCenterController.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/appletpersoncenter/AppletPersonCenterController.java @@ -1,6 +1,10 @@ package com.xinelu.mobile.controller.appletpersoncenter; +import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.manage.service.patientinfo.IPatientInfoService; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordDTO; import com.xinelu.mobile.service.appletpersoncenter.AppletPersonCenterService; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.GetMapping; @@ -9,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @Description 院后小程序个人中心控制器 @@ -18,10 +23,12 @@ import javax.annotation.Resource; */ @RestController @RequestMapping("/postDischargeApplet") -public class AppletPersonCenterController { +public class AppletPersonCenterController extends BaseController { @Resource private AppletPersonCenterService appletPersonCenterService; + @Resource + private IPatientInfoService patientInfoService; /** * 院后微信小程序一键登录接口 @@ -52,8 +59,28 @@ public class AppletPersonCenterController { return appletPersonCenterService.getResidentInfoById(residentId); } - @GetMapping("/test") - public void test() { - appletPersonCenterService.test(); + /** + * 根据居民表id查询患者健康档案信息 + * + * @param residentId + * @return + */ + @GetMapping("/getHealthRecordListByResidentId") + public TableDataInfo getHealthRecordListById(Long residentId) { + startPage(); + List list = appletPersonCenterService.getHealthRecordListByResidentId(residentId); + return getDataTable(list); } + + /** + * 根据id获取患者患者健康档案信息 + * + * @param id + * @return PatientInfo + */ + @GetMapping("/getHealthRecordInfoById") + public AjaxResult getPatientInfoById(Long id) { + return AjaxResult.success(appletPersonCenterService.getHealthRecordInfoById(id)); + } + } diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordDTO.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordDTO.java new file mode 100644 index 00000000..ae987e17 --- /dev/null +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordDTO.java @@ -0,0 +1,32 @@ +package com.xinelu.mobile.dto.appletpersoncenter; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author xinelu + * @date 2024/4/17 + * @apiNote 健康档案主页面信息 + */ +@Data +public class HealthRecordDTO { + + /** + * 患者id + */ + private Long id; + /** + * 就诊医院 + */ + private String hospitalAgencyName; + /** + * 就诊科室 + */ + private String departmentName; + /** + * 就诊时间 + */ + + private LocalDateTime visitDate; +} diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordInfoDTO.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordInfoDTO.java new file mode 100644 index 00000000..3a3f13b3 --- /dev/null +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/dto/appletpersoncenter/HealthRecordInfoDTO.java @@ -0,0 +1,67 @@ +package com.xinelu.mobile.dto.appletpersoncenter; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author xinelu + * @date 2024/4/17 + * @apiNote 健康档案详情页面 + */ +@Data +public class HealthRecordInfoDTO { + /** + * id + */ + private Long id; + /** + * 年龄 + */ + private Long age; + /** + * 出生日期 + */ + private LocalDateTime birthDate; + /** + * 患者姓名 + */ + private String patientName; + /** + * 患者电话 + */ + private String patientPhone; + /** + * 家属电话 + */ + private String familyMemberPhone; + /** + * 身份证号 + */ + private String cardNo; + /** + * 是否签约 + */ + private String signStatus; + /** + * 签约时间 + */ + private LocalDateTime signTime; + /** + * 主治医生 + */ + private String attendingPhysicianName; + /** + * 就诊医院 + */ + private String hospitalAgencyName; + /** + * 就诊时间 + */ + private LocalDateTime visitDate; + /** + * 就诊科室 + */ + private String departmentName; + +} diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/appletpersoncenter/AppletPersonCenterMapper.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/appletpersoncenter/AppletPersonCenterMapper.java index b4d7d82b..eaf5a5aa 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/appletpersoncenter/AppletPersonCenterMapper.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/appletpersoncenter/AppletPersonCenterMapper.java @@ -1,6 +1,9 @@ package com.xinelu.mobile.mapper.appletpersoncenter; -import com.xinelu.manage.domain.residentinfo.ResidentInfo; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordDTO; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordInfoDTO; + +import java.util.List; /** * @Description 院后小程序个人中心Mapper层 @@ -9,10 +12,20 @@ import com.xinelu.manage.domain.residentinfo.ResidentInfo; * @Version 1.0 */ public interface AppletPersonCenterMapper { + /** - * 查询居民信息 + * 根据居民表id查询患者健康档案信息 * - * @return 居民信息 + * @param residentID + * @return */ - ResidentInfo selectResidentInfoTwo(); + List getHealthRecordListByResidentID(Long residentID); + + /** + * 根绝id获取患者蒋康档案详细信息 + * @param id + * @return 健康档案详细信息 + */ + + HealthRecordInfoDTO getHealthRecordInfoById(Long id); } diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/AppletPersonCenterService.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/AppletPersonCenterService.java index 35f29739..774675d0 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/AppletPersonCenterService.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/AppletPersonCenterService.java @@ -1,6 +1,10 @@ package com.xinelu.mobile.service.appletpersoncenter; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordDTO; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordInfoDTO; + +import java.util.List; /** * @Description 院后小程序个人中心业务层 @@ -27,5 +31,21 @@ public interface AppletPersonCenterService { */ AjaxResult getResidentInfoById(Long residentId); - void test(); + + + /** + * 根据居民表id查询患者健康档案信息 + * + * @param residentId + * @return 列表信息 + */ + List getHealthRecordListByResidentId(Long residentId); + + /** + * 根绝id获取患者健康档案详细信息 + * @param id + * @return 监控档案详细信息 + */ + + HealthRecordInfoDTO getHealthRecordInfoById(Long id); } diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/Impl/AppletPersonCenterServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/Impl/AppletPersonCenterServiceImpl.java index a786c96d..7de53d2a 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/Impl/AppletPersonCenterServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/appletpersoncenter/Impl/AppletPersonCenterServiceImpl.java @@ -5,6 +5,8 @@ import com.xinelu.common.constant.Constants; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.manage.domain.residentinfo.ResidentInfo; import com.xinelu.manage.mapper.residentinfo.ResidentInfoMapper; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordDTO; +import com.xinelu.mobile.dto.appletpersoncenter.HealthRecordInfoDTO; import com.xinelu.mobile.mapper.appletpersoncenter.AppletPersonCenterMapper; import com.xinelu.mobile.service.appletpersoncenter.AppletPersonCenterService; import com.xinelu.mobile.utils.WeChatAppletUtils; @@ -17,6 +19,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; /** @@ -124,8 +127,34 @@ public class AppletPersonCenterServiceImpl implements AppletPersonCenterService return AjaxResult.success(residentInfoMapper.selectResidentInfoById(residentId)); } + /** + * 根据居民表id查询患者健康档案信息 + * + * @param residentId + * @return 健康档案列表 + */ @Override - public void test() { - appletPersonCenterMapper.selectResidentInfoTwo(); + public List getHealthRecordListByResidentId(Long residentId) { + return appletPersonCenterMapper.getHealthRecordListByResidentID(residentId); + + } + + /** + * 根据id获取患者患者健康档案信息 + * + * @param id + * @return PatientInfo + */ + @Override + public HealthRecordInfoDTO getHealthRecordInfoById(Long id) { + HealthRecordInfoDTO healthRecordInfoDTO = appletPersonCenterMapper.getHealthRecordInfoById(id); + //签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN + if (StringUtils.equals(healthRecordInfoDTO.getSignStatus(), "UN_SIGN") || StringUtils.equals(healthRecordInfoDTO.getSignStatus(), "SEPARATE_SIGN")) { + healthRecordInfoDTO.setSignStatus("否"); + } else if (StringUtils.equals(healthRecordInfoDTO.getSignStatus(), "IN_SIGN")) { + healthRecordInfoDTO.setSignStatus("是"); + } + + return healthRecordInfoDTO; } } diff --git a/postdischarge-mobile/src/main/resources/mapper/appletpersoncenter/AppletPersonCenterMapper.xml b/postdischarge-mobile/src/main/resources/mapper/appletpersoncenter/AppletPersonCenterMapper.xml index 6173a661..b352fb18 100644 --- a/postdischarge-mobile/src/main/resources/mapper/appletpersoncenter/AppletPersonCenterMapper.xml +++ b/postdischarge-mobile/src/main/resources/mapper/appletpersoncenter/AppletPersonCenterMapper.xml @@ -4,7 +4,50 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + select id, hospital_agency_name, department_name, visit_date + from patient_info + where resident_id = #{residentID} + + + \ No newline at end of file