瀏覽代碼

新增
1、长者档案列表新增过滤楼栋和楼层
2、外出列表新增过滤楼栋和楼层

liangwenxuan 3 月之前
父節點
當前提交
640555b566

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

@@ -27,4 +27,10 @@ public class AskLeavePageReqVO extends PageParam {
 
     @Schema(description = "是否返院")
     private Integer isUpdated;
+
+    @Schema(description = "楼栋id")
+    private Long buildId;
+
+    @Schema(description = "楼层id")
+    private Long floorId;
 }

+ 10 - 13
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAskLeaveMapper.java

@@ -2,10 +2,13 @@ package cn.iocoder.yudao.module.system.dal.mysql.biz;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.AskLeavePageReqVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyAskLeaveDO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
@@ -16,19 +19,13 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ElderlyAskLeaveMapper extends BaseMapperX<ElderlyAskLeaveDO> {
 
+    List<ElderlyAskLeaveDO> selectPageWithLocationFilter(Page<ElderlyAskLeaveDO> page,
+                                                         @Param("reqVO") AskLeavePageReqVO reqVO);
+
     default PageResult<ElderlyAskLeaveDO> selectPage(AskLeavePageReqVO reqVO){
-        LambdaQueryWrapperX<ElderlyAskLeaveDO> wrapper = new LambdaQueryWrapperX<>();
-        wrapper = wrapper.eqIfPresent(ElderlyAskLeaveDO::getOrgType,reqVO.getOrgType())
-                .likeIfPresent(ElderlyAskLeaveDO::getElderName,reqVO.getElderName())
-                .betweenIfPresent(ElderlyAskLeaveDO::getOutDate,reqVO.getQueryTime())
-                .inIfPresent(ElderlyAskLeaveDO::getTenantId,reqVO.getTenantIds())
-                .orderByDesc(ElderlyAskLeaveDO::getCreateDate);
-        if(reqVO.getIsUpdated() != null){
-            return selectPage(reqVO, reqVO.getIsUpdated() == 1 ?
-                    wrapper.isNotNull(ElderlyAskLeaveDO::getUpdateDate) :
-                    wrapper.isNull(ElderlyAskLeaveDO::getUpdateDate));
-        }
-        return selectPage(reqVO,wrapper);
+        Page<ElderlyAskLeaveDO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
+        List<ElderlyAskLeaveDO> list = selectPageWithLocationFilter(page, reqVO);
+        return new PageResult<>(list, page.getTotal());
     }
 
 }

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

@@ -44,6 +44,7 @@ public interface ElderlyBuildFloorActivityImageMapper extends BaseMapperX<Elderl
 
 
 
+
 
 
 

+ 47 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyAskLeaveMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.system.dal.mysql.biz.ElderlyAskLeaveMapper">
+
+    <select id="selectPageWithLocationFilter"
+            resultType="cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyAskLeaveDO">
+        SELECT eal.*
+        FROM elderly_ask_leave eal
+                 LEFT JOIN elderly_info ei ON ei.id = eal.elder_id
+        WHERE 1 = 1
+        <if test="reqVO.orgType != null">
+            AND eal.org_type = #{reqVO.orgType}
+        </if>
+        <if test="reqVO.elderName != null and reqVO.elderName != ''">
+            AND eal.elder_name LIKE concat('%', #{reqVO.elderName}, '%')
+        </if>
+        <if test="reqVO.queryTime != null and reqVO.queryTime.length == 2">
+            AND eal.out_date BETWEEN #{reqVO.queryTime[0]} AND #{reqVO.queryTime[1]}
+        </if>
+        <if test="reqVO.tenantIds != null and reqVO.tenantIds.length > 0">
+            AND eal.tenant_id IN
+            <foreach collection="reqVO.tenantIds" item="tenantId" open="(" separator="," close=")">
+                #{tenantId}
+            </foreach>
+        </if>
+        <if test="reqVO.isUpdated != null">
+            <choose>
+                <when test="reqVO.isUpdated == 1">
+                    AND eal.update_date IS NOT NULL
+                </when>
+                <otherwise>
+                    AND eal.update_date IS NULL
+                </otherwise>
+            </choose>
+        </if>
+        <if test="reqVO.buildId != null">
+            AND ei.build_id = #{reqVO.buildId}
+        </if>
+        <if test="reqVO.floorId != null">
+            AND ei.floor_id = #{reqVO.floorId}
+        </if>
+        AND (ei.deleted = 0 OR ei.deleted IS NULL)
+        ORDER BY eal.create_date DESC
+    </select>
+
+</mapper>
+