From 68b49efb4da346edb42a5d8ebb39af47207402bd Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期一, 12 十月 2026 11:14:13 +0800
Subject: [PATCH] 修改了报销校验

---
 ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml |   45 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
index 2feaa6e..656fc8f 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -43,11 +43,21 @@
         <result property="organdonation" column="OrganDonation"/>
         <result property="organdonationOther" column="OrganDonation_Other"/>
         <result property="donationcategory" column="DonationCategory"/>
+        <result property="coordinatorInOperating" column="coordinator_in_operating"/>
+        <result property="coordinatorOutOperating" column="coordinator_out_operating"/>
+        <result property="coordinatorSign" column="coordinator_sign"/>
+        <result property="coordinatorSignTime" column="coordinator_sign_time"/>
+        <result property="donateHospital" column="donate_hospital"/>
     </resultMap>
 
     <sql id="selectServiceDonationwitnessVo">
         select ID,
                InfoID,
+               donate_hospital,
+               coordinator_in_operating,
+               coordinator_out_operating,
+               coordinator_sign,
+               coordinator_sign_time,
                DonorNo,
                GainHospitalNo,
                GainHospitalName,
@@ -92,11 +102,30 @@
         <include refid="selectServiceDonationwitnessVo"/>
         <where>
             <if test="donorno != null  and donorno != ''">and DonorNo = #{donorno}</if>
+            <if test="donateHospital != null  and donateHospital != ''">and donate_hospital = #{donateHospital}</if>
             <if test="gainhospitalname != null  and gainhospitalname != ''">and GainHospitalName like concat('%',
                 #{gainhospitalname}, '%')
             </if>
             <if test="operationdoctor != null  and operationdoctor != ''">and OperationDoctor = #{operationdoctor}</if>
+            <if test="infoid != null">and InfoID = #{infoid}</if>
         </where>
+    </select>
+
+    <!--
+      鎵归噺鏌ヨ銆屾崘鐚熀纭�ID -> 姝讳骸鏃堕棿銆嶏紝渚涘垪琛ㄩ〉璁$畻骞撮緞浣跨敤銆�
+      浠f浛鍘熷厛鍦ㄨ褰曞惊鐜腑鎸� InfoID 閫愭潯鏌ヨ鐨� N+1 鍐欐硶锛堥椤垫湁 N 鏉¤褰曞氨鍙� N 娆� SQL锛夈��
+      鍙繑鍥� InfoID 涓� DeathTime 涓ゅ垪锛汭nfoid 涓� DeathTime 鍧囦负绌虹殑琛屾棤鎰忎箟锛岀洿鎺ヨ繃婊わ紝
+      鍚屾椂閬垮厤涓� selectServiceDonationwitnessList 杩斿洖鐨勮鏁颁笉涓�鑷淬��
+    -->
+    <select id="selectDeathTimeByInfoIds" resultMap="ServiceDonationwitnessResult">
+        select InfoID, DeathTime from service_donationwitness
+        where InfoID is not null and DeathTime is not null
+        <if test="infoIds != null and infoIds.size() > 0">
+            and InfoID in
+            <foreach collection="infoIds" item="infoId" open="(" separator="," close=")">
+                #{infoId}
+            </foreach>
+        </if>
     </select>
 
     <select id="selectVOList" resultType="com.ruoyi.project.domain.vo.DonationWitnessVO">
@@ -121,6 +150,7 @@
         `service_donatebaseinfo`.`create_by` AS `basecreateby`,
         `service_donatebaseinfo`.`workflow` AS `workflow`,
         `service_donatebaseinfo`.`termination_case` AS `terminationCase`,
+        `service_donatebaseinfo`.`donatetime` AS `donatetime`,
         `service_donationwitness`.`ID` AS `dwID`,
         `service_donationwitness`.`InfoID` AS `InfoID`,
         `service_donationwitness`.`DonorNo` AS `dwDonorNo`,
@@ -158,17 +188,21 @@
         `service_donationwitness`.`create_by` AS `createby`,
         `service_donationwitness`.`create_time` AS `createtime`,
         `service_donationwitness`.`update_by` AS `updateby`,
-        `service_donationwitness`.`update_time` AS `updatetime`
+        `service_donationwitness`.`update_time` AS `updatetime`,
+        `service_donationwitness`.`coordinator_in_operating` AS `coordinatorInOperating`,
+        `service_donationwitness`.`coordinator_out_operating` AS `coordinatorOutOperating`,
+        `service_donationwitness`.`coordinator_sign` AS `coordinatorSign`,
+        `service_donationwitness`.`coordinator_sign_time` AS `coordinatorSignTime`,
+        `service_donationwitness`.`donate_hospital` AS `donate_hospital`
         FROM
-
         `service_donatebaseinfo`
         LEFT JOIN `service_donationwitness` ON
         `service_donatebaseinfo`.`ID` = `service_donationwitness`.`InfoID`
         LEFT JOIN `base_organization` ON
         `base_organization`.`OrganizationID` = `service_donatebaseinfo`.`TreatmentHospitalNo`
-
         <where>
             service_donationwitness.del_flag=0
+            and service_donatebaseinfo.del_flag=0
             <if test="donorno != null  and donorno != ''">and `service_donatebaseinfo`.`DonorNo` = #{donorno}</if>
             <if test="name != null  and name != ''">and `service_donatebaseinfo`.`Name` like concat('%', #{name}, '%')
             </if>
@@ -249,7 +283,10 @@
         inner join service_donatebaseinfo b on w.InfoID = b.id
         inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
         <where>
+            w.del_flag=0
+            and b.del_flag=0
             <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if>
+            <if test="donateHospital != null ">and w.donate_hospital >= #{donateHospital}</if>
             <if test="endtime != null ">and w.OperationBegTime &lt;= #{endtime}</if>
             <if test="city != null and city != ''">and o.City = #{city}</if>
             <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
@@ -268,4 +305,4 @@
     </select>
 
 
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3