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

新增
1、增加导出长者血糖记录
修改
1、长者分页按照合同编号倒序
BUGFIX
1、解决生命体征导出测量日期无值的问题
2、解决医疗护理记录分页没有按照机构进行过滤导致查看详情和编辑报错的问题

liangwenxuan 3 месяцев назад
Родитель
Сommit
e03fa8213d
15 измененных файлов с 191 добавлено и 42 удалено
  1. 34 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/ElderlyBloodSugarRecordController.java
  2. 0 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyInfoPageReqVO.java
  3. 35 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlybloodsugarrecord/ElderlyBloodSugarRecordExportExcelVO.java
  4. 3 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/reservation/ReservationBedController.java
  5. 43 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/reservation/vo/ReservationPayVO.java
  6. 2 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyBloodSugarRecordMapper.java
  7. 4 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyBloodSugarRecordService.java
  8. 5 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyBloodSugarRecordServiceImpl.java
  9. 1 21
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyInfoServiceImpl.java
  10. 3 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyVitalSignsServiceImpl.java
  11. 2 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/reservation/ReservationDepositService.java
  12. 8 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/reservation/ReservationDepositServiceImpl.java
  13. 30 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyBloodSugarRecordMapper.xml
  14. 15 12
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyInfoMapper.xml
  15. 6 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/NursingPlanMapper.xml

+ 34 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/ElderlyBloodSugarRecordController.java

@@ -1,9 +1,13 @@
 package cn.iocoder.yudao.module.system.controller.admin.biz;
 
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordExportExcelVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordSaveReqVO;
@@ -15,8 +19,13 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.stream.Collectors;
 
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 
 @Tag(name = "管理后台 - 长者血糖记录")
@@ -74,5 +83,30 @@ public class ElderlyBloodSugarRecordController {
         }
         return success(elderlyBloodSugarRecordService.getElderlyBloodSugarRecordPage(pageReqVO));
     }
+
+    @GetMapping("/exportExcel")
+    @Operation(summary = "导出长者血糖记录 Excel")
+    @ApiAccessLog(operateType = EXPORT)
+    @TenantIgnore
+    public void exportExcel(@Valid ElderlyBloodSugarRecordPageReqVO pageReqVO,
+                            HttpServletResponse response) throws IOException {
+        if (pageReqVO.getTenantIds() == null) {
+            pageReqVO.setTenantIds(new Long[]{TenantContextHolder.getTenantId()});
+        }
+        List<ElderlyBloodSugarRecordRespVO> list = elderlyBloodSugarRecordService.getElderlyBloodSugarRecordList(pageReqVO);
+        List<ElderlyBloodSugarRecordExportExcelVO> exportList = list.stream().map(vo -> {
+            ElderlyBloodSugarRecordExportExcelVO excelVO = new ElderlyBloodSugarRecordExportExcelVO();
+            excelVO.setId(vo.getId());
+            excelVO.setElderName(vo.getElderName());
+            excelVO.setRoomName(vo.getRoomName());
+            excelVO.setBedName(vo.getBedName());
+            excelVO.setElderSexDisplay(vo.getElderSex() == null ? "" : (vo.getElderSex() == 1 ? "男" : "女"));
+            excelVO.setRecordDate(vo.getRecordDate());
+            excelVO.setBloodSugar(vo.getBloodSugar());
+            excelVO.setRemark(vo.getRemark());
+            return excelVO;
+        }).collect(Collectors.toList());
+        ExcelUtils.write(response, "长者血糖记录.xls", "数据", ElderlyBloodSugarRecordExportExcelVO.class, exportList);
+    }
 }
 

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

@@ -67,7 +67,6 @@ public class ElderlyInfoPageReqVO extends PageParam {
 
     @Schema(description = "联系方式")
     private String telPhone;
-
 }
 
 

+ 35 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlybloodsugarrecord/ElderlyBloodSugarRecordExportExcelVO.java

@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+public class ElderlyBloodSugarRecordExportExcelVO {
+
+    @ExcelIgnore
+    private Long id;
+
+    @ExcelProperty("长者姓名")
+    private String elderName;
+
+    @ExcelProperty("房间号")
+    private String roomName;
+
+    @ExcelProperty("床位号")
+    private String bedName;
+
+    @ExcelProperty("性别")
+    private String elderSexDisplay;
+
+    @ExcelProperty("记录日期")
+    private LocalDate recordDate;
+
+    @ExcelProperty("血糖值")
+    private java.math.BigDecimal bloodSugar;
+
+    @ExcelProperty("备注")
+    private String remark;
+}

+ 3 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/reservation/ReservationBedController.java

@@ -10,6 +10,7 @@ import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationBedPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationBedRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationBedSaveReqVO;
+import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationPayVO;
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.excel.ReservationBedExportExcelVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationBedDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationDepositDO;
@@ -124,8 +125,8 @@ public class ReservationBedController {
     @PostMapping("/payFees")
     @Operation(summary = "预约入住缴费")
     @TenantIgnore
-    public CommonResult<Boolean> payFees(@RequestBody ReservationDepositDO reservationDepositDO) {
-        reservationDepositService.payFees(reservationDepositDO);
+    public CommonResult<Boolean> payFees(@RequestBody ReservationPayVO reservationPayVO) {
+        reservationDepositService.payFees(reservationPayVO);
         return success(true);
     }
 

+ 43 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/reservation/vo/ReservationPayVO.java

@@ -0,0 +1,43 @@
+package cn.iocoder.yudao.module.system.controller.admin.reservation.vo;
+
+import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationDepositPayDO;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Schema(description = "管理后台 - 长者预约缴费 Request VO")
+@Data
+@ToString(callSuper = true)
+public class ReservationPayVO {
+    /**
+     * 长者姓名
+     */
+    private String elderName;
+    /**
+     * 证件号码
+     */
+    private String idCardNumber;
+    /**
+     * 押金金额
+     */
+    private BigDecimal depositAmount;
+    /**
+     * 预约床位记录ID
+     */
+    private Long reservationId;
+    /**
+     * 系统类型
+     */
+    private Integer orgType;
+
+    private Long tenantId;
+
+
+    @TableField(exist = false)
+    private List<ReservationDepositPayDO> payInfo;
+}

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

@@ -27,4 +27,6 @@ public interface ElderlyBloodSugarRecordMapper extends BaseMapperX<ElderlyBloodS
     }
 
     List<ElderlyBloodSugarRecordRespVO> selectPageWithElderInfo(Page<ElderlyBloodSugarRecordDO> page, @Param("params") ElderlyBloodSugarRecordPageReqVO pageReqVO);
+
+    List<ElderlyBloodSugarRecordRespVO> selectListWithElderInfo(@Param("params") ElderlyBloodSugarRecordPageReqVO pageReqVO);
 }

+ 4 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyBloodSugarRecordService.java

@@ -5,6 +5,8 @@ import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarr
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordSaveReqVO;
 
+import java.util.List;
+
 public interface ElderlyBloodSugarRecordService {
 
     Long createElderlyBloodSugarRecord(ElderlyBloodSugarRecordSaveReqVO createReqVO);
@@ -16,5 +18,7 @@ public interface ElderlyBloodSugarRecordService {
     ElderlyBloodSugarRecordRespVO getElderlyBloodSugarRecord(Long id);
 
     PageResult<ElderlyBloodSugarRecordRespVO> getElderlyBloodSugarRecordPage(ElderlyBloodSugarRecordPageReqVO pageReqVO);
+
+    List<ElderlyBloodSugarRecordRespVO> getElderlyBloodSugarRecordList(ElderlyBloodSugarRecordPageReqVO pageReqVO);
 }
 

+ 5 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyBloodSugarRecordServiceImpl.java

@@ -87,5 +87,10 @@ public class ElderlyBloodSugarRecordServiceImpl implements ElderlyBloodSugarReco
             throw exception(COMMON_NOT_FOUND);
         }
     }
+
+    @Override
+    public List<ElderlyBloodSugarRecordRespVO> getElderlyBloodSugarRecordList(ElderlyBloodSugarRecordPageReqVO pageReqVO) {
+        return elderlyBloodSugarRecordMapper.selectListWithElderInfo(pageReqVO);
+    }
 }
 

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

@@ -47,7 +47,6 @@ import com.google.gson.reflect.TypeToken;
 import com.mzt.logapi.starter.annotation.LogRecord;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -196,26 +195,8 @@ public class ElderlyInfoServiceImpl implements ElderlyInfoService {
     public PageResult<ElderlyInfoDO> findPage(ElderlyInfoPageReqVO pageVO) {
         Page<ElderlyInfoDO> page = new Page<>(pageVO.getPageNo(), pageVO.getPageSize());
         List<ElderlyInfoDO> list = elderlyInfoMapper.findPage(page, pageVO);
-
-        // 批量查询进行中的合同编号(status = 1)并回填到 contractNumber
-        Map<Long, String> inProgressContractNumberMap = new HashMap<>();
-        List<Long> elderIds = list.stream().map(ElderlyInfoDO::getId).filter(Objects::nonNull).collect(Collectors.toList());
-        if (!elderIds.isEmpty()) {
-            List<ElderlyContractDO> contracts = elderlyContractMapper.selectInProgressByElderIds(elderIds);
-            // 由于 SQL 已按 elder_id asc, created_time desc 排序,这里取每个 elder 的第一条即最新进行中合同
-            for (ElderlyContractDO c : contracts) {
-                if (c.getElderId() == null) {
-                    continue;
-                }
-                inProgressContractNumberMap.putIfAbsent(c.getElderId(), c.getContractNumber());
-            }
-        }
-
         for (ElderlyInfoDO elderlyInfoDO : list) {
             elderlyInfoDO.setBedName(buildService.getFullBedName(elderlyInfoDO.getId()));
-            if (elderlyInfoDO.getId() != null) {
-                elderlyInfoDO.setContractNumber(inProgressContractNumberMap.get(elderlyInfoDO.getId()));
-            }
             //统计信息完成度
             elderlyInfoStatistics(elderlyInfoDO);
         }
@@ -223,7 +204,7 @@ public class ElderlyInfoServiceImpl implements ElderlyInfoService {
     }
 
 
-    public ElderlyInfoDO elderlyInfoStatistics(ElderlyInfoDO elderlyInfo) {
+    public void elderlyInfoStatistics(ElderlyInfoDO elderlyInfo) {
         Field[] declaredFields = ElderlyInformationStatistics.class.getDeclaredFields();
         int total = declaredFields.length + 1;
         int count = 0;
@@ -266,7 +247,6 @@ public class ElderlyInfoServiceImpl implements ElderlyInfoService {
         elderlyInfo.setInfoPercentage(Integer.parseInt(result));
         elderlyInfo.setInfoFieldCount(count);
         elderlyInfo.setTotalInfoFieldCount(total);
-        return elderlyInfo;
     }
 
 

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyVitalSignsServiceImpl.java

@@ -22,6 +22,8 @@ import javax.annotation.Resource;
 
 import org.springframework.validation.annotation.Validated;
 
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -184,6 +186,7 @@ public class ElderlyVitalSignsServiceImpl implements ElderlyVitalSignsService {
             checkVitalSigns(item);
             ElderlyVitalSignsRespVO respVO = new ElderlyVitalSignsRespVO();
             BeanUtils.copyProperties(item, respVO);
+            respVO.setMeasuringDate(LocalDate.from(item.getMeasuringDate().toInstant().atZone(ZoneId.systemDefault())));
             respVO.setBedName(buildService.getFullBedName(item.getElderId()));
             return respVO;
         }).collect(Collectors.toList());

+ 2 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/reservation/ReservationDepositService.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.service.reservation;
 
 
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationBedRespVO;
+import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationPayVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationDepositDO;
 
 /**
@@ -12,7 +13,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationDepo
 public interface ReservationDepositService {
 
 
-    void payFees(ReservationDepositDO reservationDepositDO);
+    void payFees(ReservationPayVO reservationPayVO);
 
     ReservationBedRespVO getReservationDetail(Long reservationId);
 

+ 8 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/reservation/ReservationDepositServiceImpl.java

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationBedRespVO;
+import cn.iocoder.yudao.module.system.controller.admin.reservation.vo.ReservationPayVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.biz.BuildBedDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationBedDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.reservation.ReservationDepositDO;
@@ -53,10 +54,13 @@ public class ReservationDepositServiceImpl implements ReservationDepositService
 
     @Override
     @Transactional
-    public void payFees(ReservationDepositDO reservationDepositDO) {
-        reservationDepositDO.setId(null);
+    public void payFees(ReservationPayVO reservationPayVO) {
+        ReservationDepositDO reservationDepositDO = reservationDepositMapper.selectOne(new LambdaQueryWrapperX<ReservationDepositDO>()
+                .eq(ReservationDepositDO::getReservationId, reservationPayVO.getReservationId()));
+        reservationDepositDO = reservationDepositDO == null ? new ReservationDepositDO() : reservationDepositDO;
+        BeanUtils.copyProperties(reservationPayVO,reservationDepositDO);
         //修改状态
-        ReservationBedDO reservationBedDO = reservationBedMapper.selectById(reservationDepositDO.getReservationId());
+        ReservationBedDO reservationBedDO = reservationBedMapper.selectById(reservationPayVO.getReservationId());
         reservationBedDO.setStatus(2);
         reservationBedDO.setPayStatus(1);
         reservationBedDO.setPayTime(new Date());
@@ -80,8 +84,7 @@ public class ReservationDepositServiceImpl implements ReservationDepositService
             }
         }
 
-        List<ReservationDepositPayDO> payInfo = reservationDepositDO.getPayInfo();
-        reservationDepositDO.setTenantId(reservationBedDO.getTenantId());
+        List<ReservationDepositPayDO> payInfo = reservationPayVO.getPayInfo();
         if(reservationDepositDO.getId() == null){
             reservationDepositMapper.insert(reservationDepositDO);
         }else {

+ 30 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyBloodSugarRecordMapper.xml

@@ -30,5 +30,35 @@
         </if>
         order by ebsr.record_date desc, ebsr.id desc
     </select>
+
+    <select id="selectListWithElderInfo" resultType="cn.iocoder.yudao.module.system.controller.admin.biz.vo.elderlybloodsugarrecord.ElderlyBloodSugarRecordRespVO">
+        select ebsr.id, ebsr.elder_id, ebsr.record_date, ebsr.blood_sugar, ebsr.remark, ebsr.tenant_id,
+               ei.elder_name as elderName, ei.elder_sex as elderSex,
+               br.room_name as roomName, bb.bed_name as bedName
+        from elderly_blood_sugar_record ebsr
+        left join elderly_info ei on ei.id = ebsr.elder_id
+        left join org_build_bed bb on bb.id = ei.bed_id
+        left join org_build_room br on br.id = bb.room_id
+        where 1 = 1
+        <if test="params.tenantId != null">
+            and ebsr.tenant_id = #{params.tenantId}
+        </if>
+        <if test="params.elderId != null">
+            and ebsr.elder_id = #{params.elderId}
+        </if>
+        <if test="params.elderName != null and params.elderName != ''">
+            and ei.elder_name like concat('%', #{params.elderName}, '%')
+        </if>
+        <if test="params.recordDate != null">
+            and ebsr.record_date between #{params.recordDate[0]} and #{params.recordDate[1]}
+        </if>
+        <if test="params.tenantIds != null">
+            and ebsr.tenant_id in
+            <foreach collection="params.tenantIds" item="tenantId" open="(" separator="," close=")">
+                #{tenantId}
+            </foreach>
+        </if>
+        order by ebsr.record_date desc, ebsr.id desc
+    </select>
 </mapper>
 

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

@@ -71,41 +71,44 @@
         <result column="in_status_type" jdbcType="INTEGER" property="inStatusType"/>
     </resultMap>
     <select id="findPage" resultType="cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyInfoDO">
-        select * from elderly_info where 1 = 1 and deleted = 0
+        select ei.*, ec.contract_number as contractNumber
+        from elderly_info ei
+        LEFT JOIN elderly_contract ec ON ec.elder_id = ei.id AND ec.status = 1
+        where 1 = 1 and ei.deleted = 0
         <if test="pageVO.elderName != null and pageVO.elderName != '' ">
-            and elder_name like concat('%', #{pageVO.elderName}, '%')
+            and ei.elder_name like concat('%', #{pageVO.elderName}, '%')
         </if>
         <if test="pageVO.elderSex != null and pageVO.elderSex != '' ">
-            and elder_sex = #{pageVO.elderSex}
+            and ei.elder_sex = #{pageVO.elderSex}
         </if>
         <if test="pageVO.inStatus != null">
-            and in_status = #{pageVO.inStatus}
+            and ei.in_status = #{pageVO.inStatus}
         </if>
         <if test="pageVO.buildId != null">
-            and build_id = #{pageVO.buildId}
+            and ei.build_id = #{pageVO.buildId}
         </if>
         <if test="pageVO.floorId != null">
-            and floor_id = #{pageVO.floorId}
+            and ei.floor_id = #{pageVO.floorId}
         </if>
         <if test="pageVO.roomName != null and pageVO.roomName != '' ">
-            and room_name like concat('%', #{pageVO.roomName}, '%')
+            and ei.room_name like concat('%', #{pageVO.roomName}, '%')
         </if>
         <if test="pageVO.nurseLevelId != null">
-            and nurse_level_id = #{pageVO.nurseLevelId}
+            and ei.nurse_level_id = #{pageVO.nurseLevelId}
         </if>
         <if test="pageVO.checkInTime != null">
-            and create_time between #{pageVO.checkInTime[0]} and #{pageVO.checkInTime[1]}
+            and ei.create_time between #{pageVO.checkInTime[0]} and #{pageVO.checkInTime[1]}
         </if>
         <if test="pageVO.orgType != null">
-            and org_type = #{pageVO.orgType}
+            and ei.org_type = #{pageVO.orgType}
         </if>
         <if test="pageVO.tenantIds != null">
-            and tenant_id in
+            and ei.tenant_id in
             <foreach item="id" collection="pageVO.tenantIds" open="(" separator="," close=")">
                 #{id}
             </foreach>
         </if>
-        order by update_time desc
+        order by (ec.contract_number is null) asc, ec.contract_number desc, ei.update_time desc
     </select>
 
     <select id="findBpmPage" resultType="cn.iocoder.yudao.module.system.api.bpm.vo.ElderlyCheckinInfoRespVO">

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

@@ -30,6 +30,12 @@
             <if test="params.orgType != null">
                 and ei.org_type = #{params.orgType}
             </if>
+            <if test="params.tenantIds != null ">
+                and enp.tenant_id in
+                <foreach collection="params.tenantIds"  item="tenantId" open="(" separator="," close=")">
+                    #{tenantId}
+                </foreach>
+            </if>
         </where>
         order by enp.created_time desc
     </select>