liusheng
2026-01-28 0bb9f6c3e894e56ff58d335110fbe4cfa87b64b2
ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
@@ -61,7 +61,7 @@
        <result property="reportername" column="ReporterName"/>
        <result property="reporterphone" column="ReporterPhone"/>
        <result property="reporttime" column="ReportTime"/>
        <result property="del_flag" column="del_flag"/>
        <result property="delFlag" column="del_flag"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="terminationCase" column="termination_case"/>
@@ -71,7 +71,8 @@
        <result property="occupation" column="Occupation"/>
        <result property="education" column="Education"/>
        <result property="nativeplace" column="NativePlace"/>
        <result property="infoname" column="infoName"/>
        <result property="infoName" column="info_name"/>
        <result property="infoNo" column="info_no"/>
        <result property="infophone" column="infoPhone"/>
        <result property="deptid" column="deptid"/>
        <result property="deptname" column="deptname"/>
@@ -87,6 +88,9 @@
        <result property="currentDept" column="current_dept"/>
        <result property="firstDept" column="first_dept"/>
        <result property="reportId" column="report_id"/>
        <result property="gcsScore" column="gcs_score"/>
        <result property="coordinatorNo" column="coordinator_no"/>
        <result property="coordinatorName" column="coordinator_name"/>
    </resultMap>
    <sql id="selectServiceDonatebaseinfoVo">
@@ -108,6 +112,8 @@
            service_donatebaseinfo.del_flag = 0
            <if test="name != null  and name != ''">and Name like concat('%', #{name}, '%')</if>
            <if test="sex != null ">and Sex = #{sex}</if>
            <if test="coordinatorName != null ">and coordinator_name like concat('%',#{coordinatorName}, '%')</if>
            <if test="coordinatorNo != null ">and coordinator_no = #{coordinatorNo}</if>
            <if test="caseNo != null ">and service_donatebaseinfo.case_no = #{caseNo}</if>
            <if test="idcardtype != null ">and IDCardType = #{idcardtype}</if>
            <if test="idcardno != null  and idcardno != ''">and IDCardNo = #{idcardno}</if>
@@ -210,7 +216,8 @@
            </if>
            <if test="reporterphone != null  and reporterphone != ''">and ReporterPhone = #{reporterphone}</if>
            <if test="reporttime != null ">and ReportTime = #{reporttime}</if>
            <if test="infoname != null ">and infoName = #{infoname}</if>
            <if test="infoName != null ">and info_name like concat('%',#{infoName},'%')</if>
            <if test="infoNo != null ">and info_no = #{infoNo}</if>
            <if test="infophone != null ">and infoPhone = #{infophone}</if>
            <if test="createBy != null ">and `service_donatebaseinfo`.create_by = #{createBy}</if>
            <if test="starttime != null ">and donatetime >= #{starttime}</if>
@@ -226,6 +233,7 @@
            <if test="donateno != null ">and donateno = #{donateno}</if>
            <if test="workflow != null ">and workflow = #{workflow}</if>
            <if test="reportId != null ">and report_id = #{reportId}</if>
            <if test="gcsScore != null ">and gcs_score = #{gcsScore}</if>
        </where>
        order by ReportTime desc
@@ -253,6 +261,7 @@
            <if test="caseNo != null ">and b.case_no >= #{caseNo}</if>
            <if test="reportId != null ">and b.report_id = #{reportId}</if>
            <if test="endtime != null ">and b.donatetime &lt;= #{endtime}</if>
            <if test="gcsScore != null ">and b.gcs_score = #{gcsScore}</if>
            <if test="city != null and city != ''">and o.City = #{city}</if>
            <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
        </where>
@@ -401,4 +410,53 @@
          AND d.OrganGetTime &lt;= #{endtime}
    </select>
    <select id="donateBaseInfoProgressList" resultType="com.ruoyi.project.domain.dto.DonatebaseinfoProgressDTO">
        SELECT sd.treatmenthospitalname AS treatmenthospitalname,
        sd.treatmenthospitalno AS treatmenthospitalno,
        sd.DonorNo AS donorno,
        sd.id AS id,
        sd.case_no AS caseNo,
        sd.NAME AS NAME,
        sd.RecordState AS recordstate,
        sd.workflow AS workflow,
        sd.Sex AS sex,
        sd.Age AS age,
        sd.BloodType AS bloodtype,
        sd.idcardno AS idcardno,
        sd.ReportTime AS reportTime,
        sd.coordinator_no AS coordinatorNo,
        sd.coordinator_name AS coordinatorName,
        sd.termination_case AS terminationCase,
        sd.diagnosisname AS diagnosisname,
        sm.assess_state AS assessState,-- 评估状态
        sm.assess_time AS assessTime,-- 评估时间
        sr.SignDate AS signDate,-- 亲属确认时间
        se.expert_conclusion AS expertConclusion,-- 伦理审查专家结论
        se.expert_time AS expertTime,-- 伦理审查专家结论时间
        (SELECT COUNT(*) FROM service_donateorgan sdo WHERE sdo.InfoID = sd.ID) AS organCount,-- 器官分配数量
        sdw.OperationBegTime AS operationBegTime,-- 获取见证时间
        sdt.CompleteTime AS completeTime -- 完成登记时间
        FROM service_donatebaseinfo sd
        LEFT JOIN service_medicalevaluation sm ON sd.ID = sm.InfoID
        AND sm.del_flag = 0 -- 捐献评估
        LEFT JOIN service_relativesconfirmation sr ON sd.ID = sr.InfoID
        AND sr.del_flag = 0-- 捐献确认
        LEFT JOIN service_ethicalreviewinitiate se ON sd.ID = se.InfoID
        AND se.del_flag = 0-- 伦理审查
        LEFT JOIN service_donationwitness sdw ON sd.ID = sdw.InfoID
        AND sdw.del_flag = 0-- 获取见证
        LEFT JOIN service_donatecompletioninfo sdt ON sd.ID = sdt.InfoID
        AND sdt.del_flag = 0 -- 完成登记
        <where>sd.del_flag = 0
            <if test="name != null ">AND sd.Name >= #{name}</if>
            <if test="idcardno != null  and idcardno != ''">and IDCardNo = #{idcardno}</if>
            <if test="recordstate != null and recordstate != ''">and sd.RecordState = #{recordstate}</if>
            <if test="workflow != null">and sd.workflow = #{workflow}</if>
        </where>
        ORDER BY sd.ReportTime DESC
        <if test="pageNum != null and pageSize != null">limit #{pageNum},#{pageSize}</if>
    </select>
</mapper>