Explorar el Código

修改
1、修改合同分页获取数据库状态字段而非根据当前时间调整状态字段
2、统计当前机构 other_files 为空的长者数量及总数只统计在住长者
3、颐康中心长者添加附件字段
4、根据合同ID获取办理入住详情调整

liangwenxuan hace 1 día
padre
commit
c591791ae3

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/yk/vo/YkElderlyInfoSaveReqVO.java

@@ -60,6 +60,9 @@ public class YkElderlyInfoSaveReqVO {
     @Schema(description = "租户ID", example = "1")
     private Long tenantId;
 
+    @Schema(description = "附件", example = "1")
+    private String extraFile;
+
     private String createdBy;
 
     private Date createdTime;

+ 0 - 11
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyContractServiceImpl.java

@@ -78,17 +78,6 @@ public class ElderlyContractServiceImpl implements ElderlyContractService {
         for (ElderlyContractDO elderlyContractDO : list) {
             TenantDO tenant = tenantService.getTenant(elderlyContractDO.getTenantId());
             elderlyContractDO.setTenantName(tenant == null ? null : tenant.getName());
-
-            if (elderlyContractDO.getBeginTime().after(currentDate)) {
-                // 合同未开始
-                elderlyContractDO.setStatus(2);
-            } else if (elderlyContractDO.getExpireTime().before(currentDate)) {
-                // 合同已过期
-                elderlyContractDO.setStatus(0);
-            } else {
-                // 合同正在进行中
-                elderlyContractDO.setStatus(1);
-            }
         }
         return new PageResult<>(list, page.getTotal());
     }

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

@@ -919,114 +919,12 @@ public class ElderlyInfoServiceImpl implements ElderlyInfoService {
             return null;
         }
 
-        CheckInRecordDetailRespVO detailRespVO = new CheckInRecordDetailRespVO();
         ElderlyCheckInRecordDO checkInRecord = elderlyCheckInRecordMapper.selectOne(new LambdaQueryWrapperX<ElderlyCheckInRecordDO>()
                 .eq(ElderlyCheckInRecordDO::getElderId, elderlyInfo.getId())
                 .eq(ElderlyCheckInRecordDO::getCurrentFlag, 0)
                 .orderByDesc(ElderlyCheckInRecordDO::getCreatedTime)
                 .last("LIMIT 1"));
-        if (checkInRecord != null) {
-            CheckInRecordDetailRespVO currentCheckInDetail = getCheckInDetail(checkInRecord.getId());
-            if (currentCheckInDetail != null) {
-                detailRespVO.setStatus(currentCheckInDetail.getStatus());
-                detailRespVO.setProcessInstanceId(currentCheckInDetail.getProcessInstanceId());
-                detailRespVO.setType(currentCheckInDetail.getType());
-                detailRespVO.setBpmStatus(currentCheckInDetail.getBpmStatus());
-            }
-        }
-        detailRespVO.setElderId(String.valueOf(elderlyInfo.getId()));
-        detailRespVO.setElderName(elderlyInfo.getElderName());
-        detailRespVO.setElderAge(elderlyInfo.getElderAge() == null ? null : elderlyInfo.getElderAge().longValue());
-        detailRespVO.setElderSex(elderlyInfo.getElderSex());
-        detailRespVO.setIdCard(elderlyInfo.getIdCard());
-        detailRespVO.setBedId(elderlyInfo.getBedId() == null ? null : String.valueOf(elderlyInfo.getBedId()));
-        detailRespVO.setBedName(buildService.getFullBedName(elderlyInfo.getId()));
-        detailRespVO.setIsPrivateRoom(elderlyInfo.getIsPrivateRoom());
-        detailRespVO.setSpecialCareNotes(elderlyInfo.getSpecialCareNotes());
-        detailRespVO.setTenantId(elderlyInfo.getTenantId());
-        detailRespVO.setRelativesList(relativesMapper.selectList(new LambdaQueryWrapper<RelativesDO>()
-                .eq(RelativesDO::getPeopleId, elderlyInfo.getId())));
-        detailRespVO.setNurseLevelId(elderlyInfo.getNurseLevelId());
-        NurseLevelDO nurseLevelDO = nurseLevelMapper.selectById(elderlyInfo.getNurseLevelId());
-        detailRespVO.setNurseLevelName(nurseLevelDO == null ? elderlyInfo.getNurseLevelName() : nurseLevelDO.getNurseLevelName());
-        detailRespVO.setCheckInTime(toLocalDate(elderlyContract.getBeginTime()));
-        detailRespVO.setCheckInDeadlineTime(toLocalDate(elderlyContract.getExpireTime()));
-        detailRespVO.setBirthday(elderlyInfo.getBirthday());
-        detailRespVO.setPapersAddress(elderlyInfo.getPapersAddress());
-        detailRespVO.setRegisteredResidenceAddress(elderlyInfo.getRegisteredResidenceAddress());
-        detailRespVO.setPapersType(elderlyInfo.getPapersType());
-
-        CheckInContractReqVO contractReqVO = new CheckInContractReqVO();
-        BeanUtils.copyProperties(elderlyContract, contractReqVO);
-        detailRespVO.setElderlyContractDO(contractReqVO);
-
-        List<ExpenseDO> expenseList = expenseMapper.selectList(new LambdaQueryWrapperX<ExpenseDO>()
-                .eq(ExpenseDO::getContractId, contractId)
-                .orderByDesc(ExpenseDO::getCreatedTime));
-        if (CollectionUtil.isEmpty(expenseList)) {
-            detailRespVO.setExpenseItems(Collections.emptyList());
-            detailRespVO.setMonthlyExpenses(Collections.emptyList());
-            detailRespVO.setOneTimeExpenses(Collections.emptyList());
-            detailRespVO.setStageExpenses(Collections.emptyList());
-            return detailRespVO;
-        }
-
-        List<Long> expenseIds = expenseList.stream().map(ExpenseDO::getId).collect(Collectors.toList());
-        List<ExpenseItemDO> expenseItems = expenseItemMapper.selectList(new LambdaQueryWrapperX<ExpenseItemDO>()
-                .in(ExpenseItemDO::getExpenseId, expenseIds)
-                .orderByAsc(ExpenseItemDO::getCreateTime)
-                .orderByAsc(ExpenseItemDO::getId));
-
-        detailRespVO.setExpenseItems(expenseItems);
-        detailRespVO.setRemark(expenseList.stream()
-                .map(ExpenseDO::getRemark)
-                .filter(StringUtils::isNotBlank)
-                .findFirst()
-                .orElse(null));
-        detailRespVO.setTotalAmount(expenseItems.stream()
-                .map(this::resolveExpenseAmount)
-                .reduce(BigDecimal.ZERO, BigDecimal::add));
-
-        List<CheckInExpenseItemReqVo> allExpenseItems = expenseItems.stream().map(item -> {
-            CheckInExpenseItemReqVo reqVo = new CheckInExpenseItemReqVo();
-            BeanUtils.copyProperties(item, reqVo);
-            return reqVo;
-        }).collect(Collectors.toList());
-        detailRespVO.setMonthlyExpenses(allExpenseItems.stream()
-                .filter(item -> Objects.equals(item.getIsMonthlyExpense(), 1))
-                .collect(Collectors.toList()));
-        detailRespVO.setOneTimeExpenses(allExpenseItems.stream()
-                .filter(item -> Objects.equals(item.getIsOneTimeFee(), 1) || Objects.equals(item.getIsDeposit(), 1))
-                .collect(Collectors.toList()));
-        detailRespVO.setStageExpenses(allExpenseItems.stream()
-                .filter(item -> !Objects.equals(item.getIsMonthlyExpense(), 1))
-                .filter(item -> !Objects.equals(item.getIsOneTimeFee(), 1))
-                .filter(item -> !Objects.equals(item.getIsDeposit(), 1))
-                .collect(Collectors.toList()));
-        detailRespVO.setBedType(allExpenseItems.stream()
-                .filter(item -> Objects.equals(item.getType(), 1))
-                .map(CheckInExpenseItemReqVo::getItemName)
-                .filter(StringUtils::isNotBlank)
-                .findFirst()
-                .orElse(null));
-        return detailRespVO;
-    }
-
-    private LocalDate toLocalDate(Date date) {
-        return date == null ? null : date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-    }
-
-    private BigDecimal resolveExpenseAmount(ExpenseItemDO expenseItem) {
-        if (expenseItem.getTotalAmount() != null) {
-            return expenseItem.getTotalAmount();
-        }
-        if (expenseItem.getActualAmount() != null) {
-            return expenseItem.getActualAmount();
-        }
-        if (expenseItem.getAmount() != null) {
-            return expenseItem.getAmount();
-        }
-        return BigDecimal.ZERO;
+        return getCheckInDetail(checkInRecord.getId());
     }
 
     @Override

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/yk/impl/YkElderlyInfoServiceImpl.java

@@ -168,7 +168,7 @@ public class YkElderlyInfoServiceImpl implements YkElderlyInfoService {
         PageResult<HomeElderlyInfoDO> pageResult = homeElderlyInfoMapper.selectPage(pageReqVO, new LambdaQueryWrapperX<HomeElderlyInfoDO>()
                 .likeIfPresent(HomeElderlyInfoDO::getElderName, pageReqVO.getElderName())
                 .eqIfPresent(HomeElderlyInfoDO::getIdCard, pageReqVO.getIdCard())
-                .eqIfPresent(HomeElderlyInfoDO::getTenantId, pageReqVO.getTenantId())
+                .in(HomeElderlyInfoDO::getTenantId, pageReqVO.getTenantIds())
                 .orderByDesc(HomeElderlyInfoDO::getId));
         fillBalanceFromAccount(pageResult.getList());
         return pageResult;

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

@@ -447,7 +447,7 @@
             COUNT(1) AS totalCount,
             SUM(CASE WHEN ei.other_files IS NULL OR ei.other_files = '' THEN 1 ELSE 0 END) AS emptyOtherFilesCount
         FROM elderly_info ei
-        WHERE ei.deleted = 0
+        WHERE ei.deleted = 0 and ei.in_status = 1
           AND ei.tenant_id = #{tenantId}
     </select>