From fce96ef468291fb9a0e6a4d34ab371315e9485d4 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期六, 03 十月 2026 00:59:44 +0800
Subject: [PATCH] ai优化

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java |   66 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 5 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java
index 699c511..017ba7c 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java
@@ -6,10 +6,8 @@
 import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX;
 import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
-import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.*;
 import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
 
 /**
  * 瑁呮満鎷嗘満 Mapper
@@ -21,6 +19,7 @@
 
     default PageResult<DevRentDO> selectPage(DevRentPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<DevRentDO>()
+                .gtIfPresent(DevRentDO::getState, reqVO.getState())
                 .eqIfPresent(DevRentDO::getDevId, reqVO.getDevId())
                 .eqIfPresent(DevRentDO::getPatId, reqVO.getPatId())
                 .likeIfPresent(DevRentDO::getPatName, reqVO.getPatName())
@@ -34,7 +33,64 @@
                 .orderByDesc(DevRentDO::getId));
     }
 
-    @Select("select * from lihu.dev_rent where dev_id=#{devId} order by rent_time desc limit 1")
-    DevRentDO getLatestRent( @Param("devId") String devId );
+    @Select("<script> " +
+            "SELECT * FROM lihu.dev_rent " +
+            "<where> " +
+            "  <if test='stateList != null'> " +
+            "    and state in ( " +
+            "      <foreach collection='stateList' separator=',' item='state'> " +
+            "        #{state} " +
+            "      </foreach> ) " +
+            "  </if> " +
+            "  <if test=\"devId != null and devId != ''\"> " +
+            "    and dev_id = #{devId} " +
+            "  </if> " +
+            "  <if test=\"patId != null and patId != ''\"> " +
+            "    and pat_id = #{patId} " +
+            "  </if> " +
+            "  <if test=\"checkType != null \"> " +
+            "    and check_type = #{checkType} " +
+            "  </if> " +
+            "</where> " +
+            "order by create_time desc " +
+            "limit 1 " +
+            "</script>")
+    @Results({
+            @Result(property = "patDetails", column = "pat_details", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    })
+    DevRentDO getRentByState(DevRentSearchReqVO reqVO );
 
+    @Select("select * from lihu.dev_rent where state=#{state} and pat_id=#{patId} and check_type=#{checkType} and to_days(create_time)=to_days(now())")
+    List<DevRentDO> selectByPatAndChecktypeAndState(@Param("patId") String patId, @Param("checkType") Integer checkType, @Param("state") Integer state);
+
+    @Select("<script>" +
+            "SELECT paid FROM lihu.dev_rent " +
+            "where id in (" +
+            " <foreach collection='rentIdList' separator=',' item='rentId'>" +
+            "  #{rentId} " +
+            " </foreach> )" +
+            "</script>")
+    List<Integer> getPaidInfo(@Param("rentIdList")List<Long> rentIdList);
+
+    @Update("update lihu.dev_rent set paid = #{paid} where id = #{rentId};")
+    Integer setPaid(@Param("rentId") Long rentId, @Param("paid") Integer paid);
+
+    /**
+     * 銆愰渶姹�1銆戞寜 id 鎵归噺鍙栥�宨d + apply_no銆嶃��
+     * <p>
+     * 鐢ㄩ�旓細浣滀笟璁板綍鍒楄〃椤靛洖濉偅鑰呬俊鎭椂闇�瑕� `job_record.rentId 鈫� dev_rent.applyNo`銆�
+     * 鍘熷厛鐢� {@code selectById} 閫愭潯鍙栵紙N 娆℃煡璇級锛屾湰鏂规硶鏀逛负涓�娆� IN 鏌ヨ銆�
+     * <p>
+     * 鍒绘剰**鍙彇涓ゅ垪**鑰岄潪 `SELECT *`锛歞ev_rent 鍚� `pat_details` 绛� JSON 澶у瓧娈碉紝
+     * 鍥炲~鍙渶 applyNo锛屾病蹇呰鎶婃暣涓� DO 鎷夊洖鏉ャ��
+     *
+     * @param rentIdList 绉熻祦 id 鍒楄〃锛堣皟鐢ㄦ柟闇�淇濊瘉闈炵┖锛孧ySQL 鐨� IN () 浼氳娉曢敊璇級
+     */
+    @Select("<script>" +
+            "SELECT id, apply_no FROM lihu.dev_rent WHERE id IN (" +
+            " <foreach collection='rentIdList' separator=',' item='rentId'>" +
+            "  #{rentId} " +
+            " </foreach> )" +
+            "</script>")
+    List<DevRentDO> getApplyNoByIdList(@Param("rentIdList") List<Long> rentIdList);
 }

--
Gitblit v1.9.3