Просмотр исходного кода

BUGFIX
1、解决打开已删除长者的合同详情报错问题

liangwenxuan 3 недель назад
Родитель
Сommit
9c7f8933dd

+ 2 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyInfoMapper.java

@@ -56,4 +56,6 @@ public interface ElderlyInfoMapper extends BaseMapperX<ElderlyInfoDO> {
                                                                            @Param("pageReqVO") ElderlyVitalSignsMainPageReqVO pageReqVO);
 
     List<ElderlyInfoDO> selectExportListWithBedInfo(@Param("tenantId") Long tenantId);
+
+    ElderlyInfoDO selectByIdIgnoreDeleted(@Param("id") Long id);
 }

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/BuildServiceImpl.java

@@ -408,7 +408,7 @@ public class BuildServiceImpl implements BuildService {
     @TenantIgnore
     public String getFullBedName(Long elderId) {
         StringBuilder sb = new StringBuilder();
-        ElderlyInfoDO elderlyInfo = elderlyInfoMapper.selectById(elderId);
+        ElderlyInfoDO elderlyInfo = elderlyInfoMapper.selectByIdIgnoreDeleted(elderId);
         if (elderlyInfo != null) {
             String bedName = "";
             String roomName = "";

+ 13 - 9
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyContractServiceImpl.java

@@ -99,19 +99,23 @@ public class ElderlyContractServiceImpl implements ElderlyContractService {
         ElderlyContractDO elderlyContract = elderlyContractMapper.selectById(id);
         if (elderlyContract != null) {
             BeanUtils.copyProperties(elderlyContract, elderlyContractVO);
-            ElderlyInfoDO elderlyInfo = elderlyInfoMapper.selectById(elderlyContract.getElderId());
-            elderlyContractVO.setElderName(elderlyInfo.getElderName());
-            elderlyContractVO.setElderTags(StringUtils.isBlank(elderlyInfo.getElderTags()) ? null : elderlyInfo.getElderTags());
-            elderlyContractVO.setNursingLevelName(elderlyInfo.getNurseLevelName());
-            elderlyContractVO.setBedName(buildService.getFullBedName(elderlyInfo.getId()));
-            elderlyContractVO.setSpecialCareNotes(elderlyInfo.getSpecialCareNotes());
+            ElderlyInfoDO elderlyInfo = elderlyInfoMapper.selectByIdIgnoreDeleted(elderlyContract.getElderId());
+            if (elderlyInfo != null) {
+                elderlyContractVO.setElderName(elderlyInfo.getElderName());
+                elderlyContractVO.setElderTags(StringUtils.isBlank(elderlyInfo.getElderTags()) ? null : elderlyInfo.getElderTags());
+                elderlyContractVO.setNursingLevelName(elderlyInfo.getNurseLevelName());
+                elderlyContractVO.setBedName(buildService.getFullBedName(elderlyInfo.getId()));
+                elderlyContractVO.setSpecialCareNotes(elderlyInfo.getSpecialCareNotes());
+                elderlyContractVO.setNursingLevelId(elderlyInfo.getNurseLevelId());
+            } else {
+                elderlyContractVO.setBedName(buildService.getFullBedName(elderlyContract.getElderId()));
+            }
             elderlyContractVO.setContractNumber(elderlyContract.getContractNumber());
-            elderlyContractVO.setNursingLevelId(elderlyInfo.getNurseLevelId());
             elderlyContractVO.setContractTerm(elderlyContract.getContractTerm());
 
             List<ElderlySyntheticAbilityDO> elderlySyntheticAbilityList = elderlySyntheticAbilityMapper
                     .selectList(new LambdaQueryWrapperX<ElderlySyntheticAbilityDO>()
-                            .eq(ElderlySyntheticAbilityDO::getElderId, elderlyInfo.getId()));
+                            .eq(ElderlySyntheticAbilityDO::getElderId, elderlyContract.getElderId()));
 
             if (CollectionUtil.isNotEmpty(elderlySyntheticAbilityList)) {
                 ElderlySyntheticAbilityDO elderlySyntheticAbilityDO = elderlySyntheticAbilityList
@@ -131,7 +135,7 @@ public class ElderlyContractServiceImpl implements ElderlyContractService {
             elderlyContractVO.setDetails(elderlyContractDetails);
 
             Optional<ExpenseDO> optional = expenseMapper.selectList(new LambdaQueryWrapperX<ExpenseDO>()
-                            .eq(ExpenseDO::getElderId, elderlyInfo.getId()).orderByDesc(ExpenseDO::getCreatedTime))
+                            .eq(ExpenseDO::getElderId, elderlyContract.getElderId()).orderByDesc(ExpenseDO::getCreatedTime))
                     .stream()
                     .findFirst();
 

+ 6 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyInfoMapper.xml

@@ -431,4 +431,10 @@
         ORDER BY ob.build_name, obf.floor_name, obr.room_name, obb.bed_name, ei.elder_name
     </select>
 
+    <select id="selectByIdIgnoreDeleted" resultType="cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyInfoDO">
+        SELECT *
+        FROM elderly_info
+        WHERE id = #{id}
+    </select>
+
 </mapper>