Bladeren bron

新增
1、外出退费配置增加出院当日和返院当日超过某时间不进行退费配置处理
修改
1、九防模块所有评估表分页查询增加长者id过滤条件
BUGFIX
1、解决账单缴费遇到某种特殊情况会带入到押金的问题
2、解决退住结算单结算时押金符号取反的问题

liangwenxuan 2 dagen geleden
bovenliggende
commit
ec9d9e6292
47 gewijzigde bestanden met toevoegingen van 482 en 22 verwijderingen
  1. 4 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyFixedExpenseAppendReqVO.java
  2. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/asphyxiationbychoking/ElderlyAsphyxiationByChokingPageReqVO.java
  3. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/assessment/ElderlyAssessmentPageReqVO.java
  4. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsPageReqVO.java
  5. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsRespVO.java
  6. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsSaveReqVO.java
  7. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationPageReqVO.java
  8. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationRespVO.java
  9. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationSaveReqVO.java
  10. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStatePageReqVO.java
  11. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateRespVO.java
  12. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateSaveReqVO.java
  13. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskPageReqVO.java
  14. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskRespVO.java
  15. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskSaveReqVO.java
  16. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/pressuresores/ElderlyPressureSoresPageReqVO.java
  17. 127 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/riskdisclosurestatement/ElderlyRiskDisclosureStatementRespVO.java
  18. 42 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/riskdisclosurestatement/ElderlyRiskDisclosureStatementSaveReqVO.java
  19. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAttackRiskFactorsDO.java
  20. 8 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPerceptionCommunicationDO.java
  21. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSimpleMentalStateDO.java
  22. 7 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSuicideRiskDO.java
  23. 42 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyRiskDisclosureStatementDO.java
  24. 2 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/OutboundRefundConfigDO.java
  25. 15 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/OutboundRefundItemDO.java
  26. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessAttackRiskFactorsMapper.java
  27. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessPerceptionCommunicationMapper.java
  28. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSimpleMentalStateMapper.java
  29. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSuicideRiskMapper.java
  30. 58 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyAskLeaveServiceImpl.java
  31. 0 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyRiskDisclosureStatementServiceImpl.java
  32. 3 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ExpenseOrderServiceImpl.java
  33. 3 4
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ExpenseServiceImpl.java
  34. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/RefundSettlementOrderServiceImpl.java
  35. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyAntiEntertainmentMapper.xml
  36. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyAsphyxiationByChokingMapper.xml
  37. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyChangeRecordMapper.xml
  38. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyDailyLifeMapper.xml
  39. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyEmpyrosisMapper.xml
  40. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyEquilibriumMapper.xml
  41. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyFallDownMapper.xml
  42. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyFallPreventionMeasuresMapper.xml
  43. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyNutritionalRiskMapper.xml
  44. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyPressureSoresMapper.xml
  45. 43 1
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyRiskDisclosureStatementMapper.xml
  46. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyWanderAwayMapper.xml
  47. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/NotifMessageMapper.xml

+ 4 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyFixedExpenseAppendReqVO.java

@@ -24,6 +24,10 @@ public class ElderlyFixedExpenseAppendReqVO {
     @NotNull(message = "收费项ID不能为空")
     private Long itemId;
 
+    @Schema(description = "收费项分类id", requiredMode = Schema.RequiredMode.REQUIRED, example = "床位费")
+//    @NotBlank(message = "收费项分类id不能为空")
+    private Long itemCategoryId;
+
     @Schema(description = "收费项分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "床位费")
     @NotBlank(message = "收费项分类名称不能为空")
     private String itemCategoryName;

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

@@ -27,6 +27,9 @@ public class ElderlyAsphyxiationByChokingPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

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

@@ -27,6 +27,9 @@ public class ElderlyAssessmentPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

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

@@ -27,6 +27,9 @@ public class ElderlyAssessAttackRiskFactorsPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsRespVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
@@ -37,6 +38,12 @@ public class ElderlyAssessAttackRiskFactorsRespVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "档案号")
     private String fileNumber;
 

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsSaveReqVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -37,6 +38,12 @@ public class ElderlyAssessAttackRiskFactorsSaveReqVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")
     private Long tenantId;

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

@@ -27,6 +27,9 @@ public class ElderlyAssessPerceptionCommunicationPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationRespVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
@@ -37,6 +38,12 @@ public class ElderlyAssessPerceptionCommunicationRespVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "档案号")
     private String fileNumber;
 

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationSaveReqVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -37,6 +38,12 @@ public class ElderlyAssessPerceptionCommunicationSaveReqVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")
     private Long tenantId;

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

@@ -27,6 +27,9 @@ public class ElderlyAssessSimpleMentalStatePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateRespVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
@@ -37,6 +38,12 @@ public class ElderlyAssessSimpleMentalStateRespVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "档案号")
     private String fileNumber;
 

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateSaveReqVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -37,6 +38,12 @@ public class ElderlyAssessSimpleMentalStateSaveReqVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")
     private Long tenantId;

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

@@ -27,6 +27,9 @@ public class ElderlyAssessSuicideRiskPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskRespVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
@@ -37,6 +38,12 @@ public class ElderlyAssessSuicideRiskRespVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "档案号")
     private String fileNumber;
 

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskSaveReqVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -37,6 +38,12 @@ public class ElderlyAssessSuicideRiskSaveReqVO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")
     private Long tenantId;

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

@@ -27,6 +27,9 @@ public class ElderlyPressureSoresPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate[] assessDate;
 
+    @Schema(description = "长者id")
+    private Long elderId;
+
     @Schema(description = "机构id数组")
     private Long[] tenantIds;
 }

+ 127 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/riskdisclosurestatement/ElderlyRiskDisclosureStatementRespVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 
@@ -90,6 +91,132 @@ public class ElderlyRiskDisclosureStatementRespVO {
     @Schema(description = "机构id", example = "1")
     private Long tenantId;
 
+    @Schema(description = "防噎食评估id")
+    private Long asphyxiationByChokingId;
+
+    @Schema(description = "防噎食评估得分")
+    private BigDecimal asphyxiationByChokingAssessScore;
+
+    @Schema(description = "防噎食风险程度")
+    private String asphyxiationByChokingRiskLevel;
+
+    @Schema(description = "防压疮评估id")
+    private Long pressureSoresId;
+
+    @Schema(description = "防压疮评估得分")
+    private BigDecimal pressureSoresAssessScore;
+
+    @Schema(description = "防压疮风险程度")
+    private String pressureSoresRiskLevel;
+
+    @Schema(description = "防跌倒评估id")
+    private Long fallDownId;
+
+    @Schema(description = "防跌倒评估得分")
+    private BigDecimal fallDownAssessScore;
+
+    @Schema(description = "防跌倒风险程度")
+    private String fallDownRiskLevel;
+
+    @Schema(description = "防坠床评估id")
+    private Long fallPreventionMeasuresId;
+
+    @Schema(description = "防坠床评估得分")
+    private BigDecimal fallPreventionMeasuresAssessScore;
+
+    @Schema(description = "防坠床风险程度")
+    private String fallPreventionMeasuresRiskLevel;
+
+    @Schema(description = "防烫伤评估id")
+    private Long empyrosisId;
+
+    @Schema(description = "防烫伤评估得分")
+    private BigDecimal empyrosisAssessScore;
+
+    @Schema(description = "防烫伤风险程度")
+    private String empyrosisRiskLevel;
+
+    @Schema(description = "防走失评估id")
+    private Long wanderAwayId;
+
+    @Schema(description = "防走失评估得分")
+    private BigDecimal wanderAwayAssessScore;
+
+    @Schema(description = "防走失风险程度")
+    private String wanderAwayRiskLevel;
+
+    @Schema(description = "自杀风险评估id")
+    private Long suicideRiskId;
+
+    @Schema(description = "自杀风险评估得分")
+    private BigDecimal suicideRiskAssessScore;
+
+    @Schema(description = "自杀风险程度")
+    private String suicideRiskRiskLevel;
+
+    @Schema(description = "攻击风险评估id")
+    private Long attackRiskId;
+
+    @Schema(description = "攻击风险评估得分")
+    private BigDecimal attackRiskAssessScore;
+
+    @Schema(description = "攻击风险程度")
+    private String attackRiskRiskLevel;
+
+    @Schema(description = "防文娱活动意外id")
+    private Long antiEntertainmentId;
+
+    @Schema(description = "防文娱活动意外评估得分")
+    private BigDecimal antiEntertainmentAssessScore;
+
+    @Schema(description = "防文娱活动意外风险程度")
+    private String antiEntertainmentRiskLevel;
+
+    @Schema(description = "简易精神状态量表id")
+    private Long simpleMentalStateId;
+
+    @Schema(description = "简易精神状态量表得分")
+    private BigDecimal simpleMentalStateAssessScore;
+
+    @Schema(description = "简易精神状态风险程度")
+    private String simpleMentalStateRiskLevel;
+
+    @Schema(description = "感知觉与沟通评估id")
+    private Long perceptionCommunicationId;
+
+    @Schema(description = "感知觉与沟通评估得分")
+    private BigDecimal perceptionCommunicationAssessScore;
+
+    @Schema(description = "感知觉与沟通风险程度")
+    private String perceptionCommunicationRiskLevel;
+
+    @Schema(description = "平衡能力评估id")
+    private Long equilibriumId;
+
+    @Schema(description = "平衡能力评估得分")
+    private BigDecimal equilibriumAssessScore;
+
+    @Schema(description = "平衡能力风险程度")
+    private String equilibriumRiskLevel;
+
+    @Schema(description = "日常生活能力评估id")
+    private Long dailyLifeId;
+
+    @Schema(description = "日常生活能力评估得分")
+    private BigDecimal dailyLifeAssessScore;
+
+    @Schema(description = "日常生活能力风险程度")
+    private String dailyLifeRiskLevel;
+
+    @Schema(description = "营养评估表id")
+    private Long nutritionalRiskId;
+
+    @Schema(description = "营养评估得分")
+    private BigDecimal nutritionalRiskAssessScore;
+
+    @Schema(description = "营养风险程度")
+    private String nutritionalRiskRiskLevel;
+
     @Schema(description = "创建时间")
     private LocalDateTime createTime;
 
@@ -102,4 +229,3 @@ public class ElderlyRiskDisclosureStatementRespVO {
     @Schema(description = "更新人")
     private String updater;
 }
-

+ 42 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/riskdisclosurestatement/ElderlyRiskDisclosureStatementSaveReqVO.java

@@ -72,8 +72,49 @@ public class ElderlyRiskDisclosureStatementSaveReqVO {
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
     private LocalDate signDate;
 
+    @Schema(description = "防噎食评估id")
+    private Long asphyxiationByChokingId;
+
+    @Schema(description = "防压疮评估id")
+    private Long pressureSoresId;
+
+    @Schema(description = "防跌倒评估id")
+    private Long fallDownId;
+
+    @Schema(description = "防坠床评估id")
+    private Long fallPreventionMeasuresId;
+
+    @Schema(description = "防烫伤评估id")
+    private Long empyrosisId;
+
+    @Schema(description = "防走失评估id")
+    private Long wanderAwayId;
+
+    @Schema(description = "自杀风险评估id")
+    private Long suicideRiskId;
+
+    @Schema(description = "攻击风险评估id")
+    private Long attackRiskId;
+
+    @Schema(description = "防文娱活动意外id")
+    private Long antiEntertainmentId;
+
+    @Schema(description = "简易精神状态量表id")
+    private Long simpleMentalStateId;
+
+    @Schema(description = "感知觉与沟通评估id")
+    private Long perceptionCommunicationId;
+
+    @Schema(description = "平衡能力评估id")
+    private Long equilibriumId;
+
+    @Schema(description = "日常生活能力评估id")
+    private Long dailyLifeId;
+
+    @Schema(description = "营养评估表id")
+    private Long nutritionalRiskId;
+
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")
     private Long tenantId;
 }
-

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAttackRiskFactorsDO.java

@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -50,6 +51,12 @@ public class ElderlyAssessAttackRiskFactorsDO extends BaseNoDeleteDO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id")
     private Long tenantId;
 }

+ 8 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPerceptionCommunicationDO.java

@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -50,6 +51,12 @@ public class ElderlyAssessPerceptionCommunicationDO extends BaseNoDeleteDO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id")
     private Long tenantId;
-}
+}

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSimpleMentalStateDO.java

@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -50,6 +51,12 @@ public class ElderlyAssessSimpleMentalStateDO extends BaseNoDeleteDO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id")
     private Long tenantId;
 }

+ 7 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSuicideRiskDO.java

@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@@ -50,6 +51,12 @@ public class ElderlyAssessSuicideRiskDO extends BaseNoDeleteDO {
     @Schema(description = "评估数据")
     private String assessData;
 
+    @Schema(description = "风险程度")
+    private String riskLevel;
+
+    @Schema(description = "评估得分")
+    private BigDecimal assessScore;
+
     @Schema(description = "机构id")
     private Long tenantId;
 }

+ 42 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyRiskDisclosureStatementDO.java

@@ -90,5 +90,46 @@ public class ElderlyRiskDisclosureStatementDO extends BaseNoDeleteDO {
 
     @Schema(description = "机构id")
     private Long tenantId;
-}
 
+    @Schema(description = "防噎食评估id")
+    private Long asphyxiationByChokingId;
+
+    @Schema(description = "防压疮评估id")
+    private Long pressureSoresId;
+
+    @Schema(description = "防跌倒评估id")
+    private Long fallDownId;
+
+    @Schema(description = "防坠床评估id")
+    private Long fallPreventionMeasuresId;
+
+    @Schema(description = "防烫伤评估id")
+    private Long empyrosisId;
+
+    @Schema(description = "防走失评估id")
+    private Long wanderAwayId;
+
+    @Schema(description = "自杀风险评估id")
+    private Long suicideRiskId;
+
+    @Schema(description = "攻击风险评估id")
+    private Long attackRiskId;
+
+    @Schema(description = "防文娱活动意外id")
+    private Long antiEntertainmentId;
+
+    @Schema(description = "简易精神状态量表id")
+    private Long simpleMentalStateId;
+
+    @Schema(description = "感知觉与沟通评估id")
+    private Long perceptionCommunicationId;
+
+    @Schema(description = "平衡能力评估id")
+    private Long equilibriumId;
+
+    @Schema(description = "日常生活能力评估id")
+    private Long dailyLifeId;
+
+    @Schema(description = "营养评估表id")
+    private Long nutritionalRiskId;
+}

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

@@ -5,6 +5,7 @@ import java.util.*;
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import javax.validation.Valid;
 
 /**
  * 外出退费配置 DO
@@ -77,6 +78,7 @@ public class OutboundRefundConfigDO{
     private String tenantName;
 
     @TableField(exist = false)
+    @Valid
     private List<OutboundRefundItemDO> items;
 
 }

+ 15 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/OutboundRefundItemDO.java

@@ -4,6 +4,7 @@ import lombok.*;
 
 import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.*;
+import javax.validation.constraints.Pattern;
 
 /**
  * 外出退费配置项 DO
@@ -77,4 +78,18 @@ public class OutboundRefundItemDO  {
      * 底价金额
      */
     private BigDecimal subtractAmount;
+
+    @TableField("is_over_time_refund_start")
+    private Integer isOverTimeRefundStart;
+
+    @TableField("over_time_refund_start_time")
+    @Pattern(regexp = "^([01]\\d|2[0-3]):[0-5]\\d$")
+    private String overTimeRefundStartTime;
+
+    @TableField("is_over_time_refund_end")
+    private Integer isOverTimeRefundEnd;
+
+    @TableField("over_time_refund_end_time")
+    @Pattern(regexp = "^([01]\\d|2[0-3]):[0-5]\\d$")
+    private String overTimeRefundEndTime;
 }

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

@@ -15,6 +15,7 @@ public interface ElderlyAssessAttackRiskFactorsMapper extends BaseMapperX<Elderl
                 .likeIfPresent(ElderlyAssessAttackRiskFactorsDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessAttackRiskFactorsDO::getAssessor, reqVO.getAssessor())
                 .betweenIfPresent(ElderlyAssessAttackRiskFactorsDO::getAssessDate, reqVO.getAssessDate())
+                .eqIfPresent(ElderlyAssessAttackRiskFactorsDO::getElderId, reqVO.getElderId())
                 .inIfPresent(ElderlyAssessAttackRiskFactorsDO::getTenantId, reqVO.getTenantIds())
                 .orderByDesc(ElderlyAssessAttackRiskFactorsDO::getAssessDate, ElderlyAssessAttackRiskFactorsDO::getId));
     }

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

@@ -15,6 +15,7 @@ public interface ElderlyAssessPerceptionCommunicationMapper extends BaseMapperX<
                 .likeIfPresent(ElderlyAssessPerceptionCommunicationDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessPerceptionCommunicationDO::getAssessor, reqVO.getAssessor())
                 .betweenIfPresent(ElderlyAssessPerceptionCommunicationDO::getAssessDate, reqVO.getAssessDate())
+                .eqIfPresent(ElderlyAssessPerceptionCommunicationDO::getElderId, reqVO.getElderId())
                 .inIfPresent(ElderlyAssessPerceptionCommunicationDO::getTenantId, reqVO.getTenantIds())
                 .orderByDesc(ElderlyAssessPerceptionCommunicationDO::getAssessDate, ElderlyAssessPerceptionCommunicationDO::getId));
     }

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

@@ -15,6 +15,7 @@ public interface ElderlyAssessSimpleMentalStateMapper extends BaseMapperX<Elderl
                 .likeIfPresent(ElderlyAssessSimpleMentalStateDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessSimpleMentalStateDO::getAssessor, reqVO.getAssessor())
                 .betweenIfPresent(ElderlyAssessSimpleMentalStateDO::getAssessDate, reqVO.getAssessDate())
+                .eqIfPresent(ElderlyAssessSimpleMentalStateDO::getElderId, reqVO.getElderId())
                 .inIfPresent(ElderlyAssessSimpleMentalStateDO::getTenantId, reqVO.getTenantIds())
                 .orderByDesc(ElderlyAssessSimpleMentalStateDO::getAssessDate, ElderlyAssessSimpleMentalStateDO::getId));
     }

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

@@ -15,6 +15,7 @@ public interface ElderlyAssessSuicideRiskMapper extends BaseMapperX<ElderlyAsses
                 .likeIfPresent(ElderlyAssessSuicideRiskDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessSuicideRiskDO::getAssessor, reqVO.getAssessor())
                 .betweenIfPresent(ElderlyAssessSuicideRiskDO::getAssessDate, reqVO.getAssessDate())
+                .eqIfPresent(ElderlyAssessSuicideRiskDO::getElderId, reqVO.getElderId())
                 .inIfPresent(ElderlyAssessSuicideRiskDO::getTenantId, reqVO.getTenantIds())
                 .orderByDesc(ElderlyAssessSuicideRiskDO::getAssessDate, ElderlyAssessSuicideRiskDO::getId));
     }

+ 58 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyAskLeaveServiceImpl.java

@@ -28,6 +28,8 @@ import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.YearMonth;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
@@ -42,6 +44,8 @@ import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*;
 @Slf4j
 public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
 
+    private static final DateTimeFormatter HH_MM_FORMATTER = DateTimeFormatter.ofPattern("HH:mm");
+
     @Resource
     private ElderlyAskLeaveMapper elderlyAskLeaveMapper;
     @Resource
@@ -177,6 +181,13 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
 
         Set<LocalDate> processedDates = new HashSet<>();
 
+        LocalTime outTime = toLocalTimeOrNull(elderlyAskLeaveDO.getOutDate());
+        LocalTime endTime = toLocalTimeOrNull(elderlyAskLeaveDO.getUpdateDate());
+        boolean overTimeStartEnabled = Objects.equals(item.getIsOverTimeRefundStart(), BooleanEnum.TRUE.getValue());
+        LocalTime overTimeStartThreshold = parseHHmmOrNull(item.getOverTimeRefundStartTime());
+        boolean overTimeEndEnabled = Objects.equals(item.getIsOverTimeRefundEnd(), BooleanEnum.TRUE.getValue());
+        LocalTime overTimeEndThreshold = parseHHmmOrNull(item.getOverTimeRefundEndTime());
+
         for (ExpenseItemDO expenseItemDO : expenseItemDOList) {
             // 计算退费开始日期(从第startRefundDay天开始)
             // 注意:如果是第5天开始退费,那么实际日期是 outLocalDate + 4
@@ -204,19 +215,43 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
             // 计算是否包含结束当天
             boolean includeEndDay = !overlapEnd.equals(endLocalDate) || rule.isSameDayRefund();
 
-            // 计算重叠天数
-            int overlapDays = calculateOverlapDays(overlapStart, overlapEnd, includeEndDay);
+            LocalDate adjustedStart = overlapStart;
+            LocalDate adjustedEnd = overlapEnd;
+            boolean adjustedIncludeEndDay = includeEndDay;
+
+            if (overTimeStartEnabled
+                    && overTimeStartThreshold != null
+                    && outTime != null
+                    && adjustedStart.equals(outLocalDate)
+                    && outTime.isAfter(overTimeStartThreshold)) {
+                adjustedStart = adjustedStart.plusDays(1);
+            }
+
+            if (adjustedStart.isAfter(adjustedEnd)) {
+                continue;
+            }
+
+            if (adjustedIncludeEndDay
+                    && overTimeEndEnabled
+                    && overTimeEndThreshold != null
+                    && endTime != null
+                    && adjustedEnd.equals(endLocalDate)
+                    && endTime.isAfter(overTimeEndThreshold)) {
+                adjustedIncludeEndDay = false;
+            }
+
+            int overlapDays = calculateOverlapDays(adjustedStart, adjustedEnd, adjustedIncludeEndDay);
 
             if (overlapDays <= 0) {
                 continue;
             }
 
             // 标记为已处理
-            markDatesAsProcessed(processedDates, overlapStart, overlapEnd);
+            markDatesAsProcessed(processedDates, adjustedStart, adjustedEnd);
 
             // 根据退费类型处理(传入实际退费开始的日期,用于计算归属月份)
             processRefundByType(elderlyAskLeaveDO, item, expenseItemDO,
-                    overlapStart, overlapEnd, overlapDays, includeEndDay, configName, overlapStart);
+                    adjustedStart, adjustedEnd, overlapDays, adjustedIncludeEndDay, configName, adjustedStart);
         }
     }
 
@@ -275,6 +310,24 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
         return overlapDays;
     }
 
+    private LocalTime toLocalTimeOrNull(Date date) {
+        if (date == null) {
+            return null;
+        }
+        return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).toLocalTime();
+    }
+
+    private LocalTime parseHHmmOrNull(String value) {
+        if (value == null || value.trim().isEmpty()) {
+            return null;
+        }
+        try {
+            return LocalTime.parse(value.trim(), HH_MM_FORMATTER);
+        } catch (Exception ignore) {
+            return null;
+        }
+    }
+
     /**
      * 标记日期为已处理
      */
@@ -603,7 +656,7 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
         ExpenseOrderDO expenseOrder = expenseOrderMapper.selectOne(new LambdaQueryWrapperX<ExpenseOrderDO>()
                 .eq(ExpenseOrderDO::getElderId, askLeaveDO.getElderId())
                 .eq(ExpenseOrderDO::getBillingMonth, dailyExpenses.getAttributionBillTime())
-                .eq(ExpenseOrderDO::getType, 2));
+                .in(ExpenseOrderDO::getType, 1,2));
 
         // 先保存日常费用,获取ID
         dailyExpensesMapper.insert(dailyExpenses);

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

@@ -62,4 +62,3 @@ public class ElderlyRiskDisclosureStatementServiceImpl implements ElderlyRiskDis
         }
     }
 }
-

+ 3 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ExpenseOrderServiceImpl.java

@@ -574,8 +574,7 @@ public class ExpenseOrderServiceImpl implements ExpenseOrderService {
             }
 
             //生成押金缴费记录
-            ExpenseItemDO expenseItemDO = expenseItemMapper.selectById(expenseOrderItem.getSourceExpenseItemId());
-            if (expenseItemDO != null && Objects.equals(expenseItemDO.getIsDeposit(), BooleanEnum.TRUE.getValue())) {
+            if (Objects.equals(expenseOrderItem.getIsDeposit(), BooleanEnum.TRUE.getValue())) {
                 DepositDO dbDeposit = depositMapper.selectOne(new LambdaQueryWrapperX<DepositDO>()
                         .eq(DepositDO::getElderId, expenseOrder.getElderId()));
                 if (dbDeposit != null) {
@@ -586,9 +585,9 @@ public class ExpenseOrderServiceImpl implements ExpenseOrderService {
                         }
                     }
                     depositRecordDO.setType(1);
-                    depositRecordDO.setItemName(expenseItemDO.getItemName());
+                    depositRecordDO.setItemName(expenseOrderItem.getItemName());
                     depositRecordDO.setPayType(String.join(",", payTypeList));
-                    depositRecordDO.setItemId(expenseItemDO.getItemId());
+                    depositRecordDO.setItemId(expenseOrderItem.getItemId());
                     depositRecordDO.setCreatedTime(saveReqVO.getPayTime());
                     depositRecordDO.setRemarks("入院押金缴纳");
                     depositRecordDO.setElderId(expenseOrder.getElderId());
@@ -2171,7 +2170,6 @@ public class ExpenseOrderServiceImpl implements ExpenseOrderService {
     private void processBatchElderlyBilling(List<Long> elderIds, Long tenantId, String billingMonth, String taskId) {
         // 批量查询在住长者信息
         List<ElderlyInfoDO> elderlyInfoList = elderlyInfoMapper.selectList(new LambdaQueryWrapperX<ElderlyInfoDO>()
-                .eq(ElderlyInfoDO::getId, 14939)
                 .eq(ElderlyInfoDO::getInStatus, 1)
                 .eq(ElderlyInfoDO::getTenantId, tenantId)
                 .inIfPresent(ElderlyInfoDO::getId, elderIds));

+ 3 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ExpenseServiceImpl.java

@@ -546,6 +546,7 @@ public class ExpenseServiceImpl implements ExpenseService {
         ExpenseItemDO item = new ExpenseItemDO();
         item.setExpenseId(expense.getId());
         item.setItemId(reqVO.getItemId());
+        item.setItemCategoryId(reqVO.getItemCategoryId());
         item.setItemCategoryName(reqVO.getItemCategoryName());
         item.setItemName(reqVO.getItemName());
         item.setAmount(reqVO.getAmount());
@@ -606,8 +607,7 @@ public class ExpenseServiceImpl implements ExpenseService {
                 .ge(ExpenseOrderDO::getBillingMonth, targetBillingMonth)
                 .in(ExpenseOrderDO::getType, 2, 3)
                 .eq(tenantId != null, ExpenseOrderDO::getTenantId, tenantId)
-                .orderByDesc(ExpenseOrderDO::getCreatedTime)
-                .last("LIMIT 1"));
+                .orderByDesc(ExpenseOrderDO::getCreatedTime));
 
         if (currentOrderList == null) {
             return;
@@ -617,7 +617,7 @@ public class ExpenseServiceImpl implements ExpenseService {
                 throw exceptionCustomMsg(ErrorCodeConstants.COMMON_ERROR, "当月账单已确认或已锁定,无法自动补差");
             }
 
-            YearMonth billingYm = YearMonth.parse(targetBillingMonth, DateTimeFormatter.ofPattern("yyyy-MM"));
+            YearMonth billingYm = YearMonth.parse(currentOrder.getBillingMonth(), DateTimeFormatter.ofPattern("yyyy-MM"));
             LocalDate billStart = billingYm.atDay(1);
             LocalDate billEnd = billingYm.atEndOfMonth();
 
@@ -658,7 +658,6 @@ public class ExpenseServiceImpl implements ExpenseService {
             orderItem.setEndDate(actualEnd);
             orderItem.setDescription("固定费项补差:" + actualStart + "至" + actualEnd + ",共" + overlapDays + "天," + item.getItemName());
             expenseOrderItemMapper.insert(orderItem);
-
             BigDecimal billAmount = currentOrder.getActualAmount() == null ? BigDecimal.ZERO : currentOrder.getActualAmount();
             currentOrder.setActualAmount(billAmount.add(billDeltaAmount));
             currentOrder.setPayStatus(BooleanEnum.FALSE.getValue());

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

@@ -2081,7 +2081,7 @@ public class RefundSettlementOrderServiceImpl implements RefundSettlementOrderSe
             DepositDO depositDO = depositMapper.selectOne(new LambdaQueryWrapperX<DepositDO>()
                     .eq(DepositDO::getElderId, refundSettlementOrder.getElderId()));
             if (depositDO != null && depositDO.getAmount() != null) {
-                depositDO.setAmount(depositDO.getAmount().subtract(totalDepositRefundAmount));
+                depositDO.setAmount(depositDO.getAmount().add(totalDepositRefundAmount));
                 depositMapper.updateById(depositDO);
             }
         }

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyAntiEntertainmentMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND eae.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyAsphyxiationByChokingMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND eabc.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

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

@@ -562,6 +562,7 @@
                  LEFT JOIN sys_evaluation_process sep ON ecr.associate_id = sep.id
                  LEFT JOIN elderly_synthetic_ability esa ON sep.id = esa.questionnaire_id AND esa.elder_id = ei.id
         WHERE ecr.current_flag = 0 AND ecr.id = #{id}
+            AND ee.created_time = (SELECT MAX(ee2.created_time) FROM elderly_expense ee2 WHERE ee2.elder_id = ei.id)
     </select>
 
     <select id="createNurseChangeGetDetail" resultType="cn.iocoder.yudao.module.system.controller.admin.biz.vo.NurseChangeDetailRespVO">

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyDailyLifeMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND edl.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyEmpyrosisMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND ee.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyEquilibriumMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND ee.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyFallDownMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND efd.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyFallPreventionMeasuresMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND efpm.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyNutritionalRiskMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND enr.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyPressureSoresMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND eps.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

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

@@ -41,13 +41,55 @@
             ei.elder_sex AS elderSex,
             ei.elder_age AS elderAge,
             COALESCE(obf.floor_name, ei.floor_name) AS floorName,
-            COALESCE(CONCAT_WS('-', ob.build_name, obf.floor_name, obr.room_name, obb.bed_name), ei.bed_name) AS bedName
+            COALESCE(CONCAT_WS('-', ob.build_name, obf.floor_name, obr.room_name, obb.bed_name), ei.bed_name) AS bedName,
+            eabc.assess_score AS asphyxiationByChokingAssessScore,
+            eabc.risk_level AS asphyxiationByChokingRiskLevel,
+            eps.assess_score AS pressureSoresAssessScore,
+            eps.risk_level AS pressureSoresRiskLevel,
+            efd.assess_score AS fallDownAssessScore,
+            efd.risk_level AS fallDownRiskLevel,
+            efpm.assess_score AS fallPreventionMeasuresAssessScore,
+            efpm.risk_level AS fallPreventionMeasuresRiskLevel,
+            ee.assess_score AS empyrosisAssessScore,
+            ee.risk_level AS empyrosisRiskLevel,
+            ewa.assess_score AS wanderAwayAssessScore,
+            ewa.risk_level AS wanderAwayRiskLevel,
+            easr.assess_score AS suicideRiskAssessScore,
+            easr.risk_level AS suicideRiskRiskLevel,
+            eaarf.assess_score AS attackRiskAssessScore,
+            eaarf.risk_level AS attackRiskRiskLevel,
+            eae.assess_score AS antiEntertainmentAssessScore,
+            eae.risk_level AS antiEntertainmentRiskLevel,
+            easms.assess_score AS simpleMentalStateAssessScore,
+            easms.risk_level AS simpleMentalStateRiskLevel,
+            eapc.assess_score AS perceptionCommunicationAssessScore,
+            eapc.risk_level AS perceptionCommunicationRiskLevel,
+            eeq.assess_score AS equilibriumAssessScore,
+            eeq.risk_level AS equilibriumRiskLevel,
+            edl.assess_score AS dailyLifeAssessScore,
+            edl.risk_level AS dailyLifeRiskLevel,
+            enr.assess_score AS nutritionalRiskAssessScore,
+            enr.risk_level AS nutritionalRiskRiskLevel
         FROM elderly_risk_disclosure_statement erds
         LEFT JOIN elderly_info ei ON ei.id = erds.elder_id
         LEFT JOIN org_build_bed obb ON obb.id = ei.bed_id AND obb.tenant_id = erds.tenant_id
         LEFT JOIN org_build_room obr ON obr.id = obb.room_id AND obr.tenant_id = obb.tenant_id
         LEFT JOIN org_build_floor obf ON obf.id = obr.floor_id AND obf.tenant_id = obr.tenant_id
         LEFT JOIN org_build ob ON ob.id = obf.build_id AND ob.tenant_id = obf.tenant_id
+        LEFT JOIN elderly_asphyxiation_by_choking eabc ON eabc.id = erds.asphyxiation_by_choking_id AND eabc.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_pressure_sores eps ON eps.id = erds.pressure_sores_id AND eps.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_fall_down efd ON efd.id = erds.fall_down_id AND efd.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_fall_prevention_measures efpm ON efpm.id = erds.fall_prevention_measures_id AND efpm.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_empyrosis ee ON ee.id = erds.empyrosis_id AND ee.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_wander_away ewa ON ewa.id = erds.wander_away_id AND ewa.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_assess_suicide_risk easr ON easr.id = erds.suicide_risk_id AND easr.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_assess_attack_risk_factors eaarf ON eaarf.id = erds.attack_risk_id AND eaarf.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_anti_entertainment eae ON eae.id = erds.anti_entertainment_id AND eae.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_assess_simple_mental_state easms ON easms.id = erds.simple_mental_state_id AND easms.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_assess_perception_communication eapc ON eapc.id = erds.perception_communication_id AND eapc.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_equilibrium eeq ON eeq.id = erds.equilibrium_id AND eeq.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_daily_life edl ON edl.id = erds.daily_life_id AND edl.tenant_id = erds.tenant_id
+        LEFT JOIN elderly_nutritional_risk enr ON enr.id = erds.nutritional_risk_id AND enr.tenant_id = erds.tenant_id
         WHERE erds.id = #{id}
     </select>
 

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyWanderAwayMapper.xml

@@ -21,6 +21,9 @@
                 #{id}
             </foreach>
         </if>
+        <if test="reqVO.elderId != null">
+            AND ewa.elder_id = #{reqVO.elderId}
+        </if>
         <if test="reqVO.elderName != null and reqVO.elderName != ''">
             AND ei.elder_name LIKE CONCAT('%', #{reqVO.elderName}, '%')
         </if>

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

@@ -120,7 +120,7 @@
             bbf.create_time AS createTime
         FROM bpm_business_form bbf
         LEFT JOIN elderly_info ei ON ei.id = bbf.business_id2 AND bbf.type != 10 AND ei.deleted = 0
-        LEFT JOIN elderly_check_in_wait ciw ON ciw.id = bbf.business_id2 AND bbf.type = 10 AND ciw.deleted = 0
+        LEFT JOIN elderly_check_in_wait ciw ON ciw.id = bbf.business_id2 AND bbf.type = 10
         WHERE bbf.deleted = 0
             AND bbf.start_tenant_id = #{tenantId}
             <if test="reqVO.elderName != null and reqVO.elderName != ''">