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

修改
1、修改导入消费券逻辑,只能导入在住长者消费券,退住长者需要手工录入,并优化提示词

liangwenxuan 2 недель назад
Родитель
Сommit
58d4428cbd

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

@@ -14,6 +14,9 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ElderlyNursingLogSaveReqVO {
 
+    @Schema(description = "id", example = "1")
+    private Long id;
+
     @Schema(description = "护理计划明细id", example = "1")
     private Long nursingPlanItemId;
 

+ 9 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyConsumerVouchersServiceImpl.java

@@ -135,13 +135,18 @@ public class ElderlyConsumerVouchersServiceImpl implements ElderlyConsumerVouche
             }
             validateBillingMonth(item.getBillingMonth());
 
-            ElderlyInfoDO elderlyInfo = elderlyInfoMapper.selectOne(new LambdaQueryWrapperX<ElderlyInfoDO>()
+            List<ElderlyInfoDO> elderlyInfoList = elderlyInfoMapper.selectList(new LambdaQueryWrapperX<ElderlyInfoDO>()
                     .eq(ElderlyInfoDO::getElderName, item.getElderName())
                     .eq(ElderlyInfoDO::getIdCard, item.getIdCard())
-                    .eqIfPresent(ElderlyInfoDO::getTenantId, currentTenantId));
-            if (elderlyInfo == null) {
-                throw exceptionCustomMsg(COMMON_ERROR, "第" + excelRow + "行未找到匹配长者(姓名+身份证)");
+                    .eqIfPresent(ElderlyInfoDO::getTenantId, currentTenantId)
+                    .eq(ElderlyInfoDO::getInStatus,1));
+            if (elderlyInfoList.isEmpty()) {
+                throw exceptionCustomMsg(COMMON_ERROR, "第" + excelRow + "行未找到匹配长者(姓名+身份证)在住数据,退住长者补录请手动添加");
             }
+            if(elderlyInfoList.size() > 1){
+                throw exceptionCustomMsg(COMMON_ERROR, "第" + excelRow + "行长者" + item.getElderName() + "存在多条有效记录请联系管理员处理");
+            }
+            ElderlyInfoDO elderlyInfo = elderlyInfoList.get(0);
             ElderlyConsumerVouchersDO data = ElderlyConsumerVouchersDO.builder()
                     .elderId(elderlyInfo.getId())
                     .billingMonth(item.getBillingMonth())