liusheng
2024-08-02 b9cc263b8d1d31608a4c16cd157cc84b51e3d29d
ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml
@@ -22,6 +22,7 @@
        <result property="reallocationreason" column="ReallocationReason"/>
        <result property="transplantdoct" column="TransplantDoct"/>
        <result property="transplanttime" column="TransplantTime"/>
        <result property="estimatedtime" column="EstimatedTime"/>
        <result property="isbiopsybefore" column="IsBiopsyBefore"/>
        <result property="isbiopsyafter" column="IsBiopsyAfter"/>
        <result property="ismarginalorgan" column="IsMarginalOrgan"/>
@@ -33,33 +34,42 @@
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="applicantUserID" column="ApplicantUserID"/>
        <result property="applicantUserName" column="ApplicantUserName"/>
        <result property="applicantTime" column="ApplicantTime"/>
        <result property="checkUserID" column="CheckUserID"/>
        <result property="checkUserName" column="CheckUserName"/>
        <result property="checkTime" column="CheckTime"/>
        <result property="checkSuggestion" column="CheckSuggestion"/>
        <result property="allocationStatus" column="AllocationStatus"/>
        <result property="applicantuserid" column="ApplicantUserID"/>
        <result property="applicantusername" column="ApplicantUserName"/>
        <result property="applicanttime" column="ApplicantTime"/>
        <result property="checkuserid" column="CheckUserID"/>
        <result property="caseno" column="CaseNo"/>
        <result property="checkusername" column="CheckUserName"/>
        <result property="checktime" column="CheckTime"/>
        <result property="checksuggestion" column="CheckSuggestion"/>
        <result property="allocationstatus" column="AllocationStatus"/>
        <result property="name" column="Name"/>
        <result property="sexOMMENT" column="SexOMMENT"/>
        <result property="idCardType" column="IDCardType"/>
        <result property="idCardNo" column="IDCardNo"/>
        <result property="sex" column="Sex"/>
        <result property="idcardtype" column="IDCardType"/>
        <result property="idcardno" column="IDCardNo"/>
        <result property="age" column="Age"/>
        <result property="ageUnit" column="AgeUnit"/>
        <result property="ageunit" column="AgeUnit"/>
        <result property="birthday" column="Birthday"/>
        <result property="phone" column="Phone"/>
        <result property="residenceAddress" column="ResidenceAddress"/>
        <result property="residenceProvince" column="ResidenceProvince"/>
        <result property="residenceProvinceName" column="ResidenceProvinceName"/>
        <result property="residenceCity" column="ResidenceCity"/>
        <result property="residenceCityName" column="ResidenceCityName"/>
        <result property="residenceTown" column="ResidenceTown"/>
        <result property="residenceTownName" column="ResidenceTownName"/>
        <result property="residenceCommunity" column="ResidenceCommunity"/>
        <result property="residenceCommunityName" column="ResidenceCommunityName"/>
        <result property="residenceCountyCode" column="ResidenceCountyCode"/>
        <result property="residenceCountyName" column="ResidenceCountyName"/>
        <result property="residenceaddress" column="ResidenceAddress"/>
        <result property="residenceprovince" column="ResidenceProvince"/>
        <result property="residenceprovincename" column="ResidenceProvinceName"/>
        <result property="residencecity" column="ResidenceCity"/>
        <result property="residencecityname" column="ResidenceCityName"/>
        <result property="residencetown" column="ResidenceTown"/>
        <result property="residencetownname" column="ResidenceTownName"/>
        <result property="residencecommunity" column="ResidenceCommunity"/>
        <result property="residencecommunityname" column="ResidenceCommunityName"/>
        <result property="residencecountycode" column="ResidenceCountyCode"/>
        <result property="residencecountyname" column="ResidenceCountyName"/>
        <result property="organcharge" column="organcharge"/>
        <result property="organchargeoperator" column="organchargeoperator"/>
        <result property="organchargedate" column="organchargedate"/>
        <result property="organamount" column="organamount"/>
        <result property="chargestate" column="chargestate"/>
        <result property="organchargedesc" column="organchargedesc"/>
        <result property="notgetreason" column="notgetreason"/>
        <result property="transplantstate" column="transplantstate"/>
    </resultMap>
    <sql id="selectServiceDonateorganVo">
@@ -71,6 +81,7 @@
               OrganState,
               OrganNumber,
               OrganGetTime,
               CaseNo,
               OrganGetDoct,
               GainHospitalNo,
               GainHospitalName,
@@ -102,8 +113,9 @@
               CheckTime,
               CheckSuggestion,
               AllocationStatus,
               EstimatedTime,
               Name,
               SexOMMENT,
               Sex,
               IDCardType,
               IDCardNo,
               Age,
@@ -120,7 +132,15 @@
               ResidenceCommunity,
               ResidenceCommunityName,
               ResidenceCountyCode,
               ResidenceCountyName
               ResidenceCountyName,
               organcharge,
               organchargeoperator,
               organchargedate,
               organamount,
               chargestate,
               organchargedesc,
               notgetreason,
               transplantstate
        from service_donateorgan
    </sql>
@@ -135,6 +155,7 @@
            <if test="organstate != null ">and OrganState = #{organstate}</if>
            <if test="organnumber != null  and organnumber != ''">and OrganNumber = #{organnumber}</if>
            <if test="organgettime != null ">and OrganGetTime = #{organgettime}</if>
            <if test="estimatedtime != null ">and EstimatedTime = #{estimatedtime}</if>
            <if test="organgetdoct != null  and organgetdoct != ''">and OrganGetDoct = #{organgetdoct}</if>
            <if test="gainhospitalno != null  and gainhospitalno != ''">and GainHospitalNo = #{gainhospitalno}</if>
            <if test="gainhospitalname != null  and gainhospitalname != ''">and GainHospitalName like concat('%',
@@ -194,25 +215,54 @@
        <if test="reporterno != null and reporterno != ''">and b.ReporterNo = #{reporterno}</if>
    </select>
    <select id="getAllFinishedOrgansThisYear" resultType="java.lang.Integer">
        select count(*) from service_donateorgan d
        <!--        select count(*) from service_donateorgan d-->
        <!--        inner join service_donatebaseinfo b on b.id = d.InfoID-->
        <!--        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID-->
        <!--        where OrganState = "6" AND d.del_flag=0 AND d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'-->
        <!--        AND d.OrganNo != 'C69L'-->
        <!--        AND d.OrganNo != 'C69R'-->
        <!--        <if test="starttime != null">and d.OrganGetTime >= #{starttime}</if>-->
        <!--        <if test="endtime != null ">and d.OrganGetTime &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>-->
        select count(*) from service_donatecomporgan d
        inner join service_donatebaseinfo b on b.id = d.InfoID
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where OrganState = "6" AND d.del_flag=0 AND d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
        where b.del_flag=0
        AND d.del_flag=0
        AND d.TransplantTime IS NOT NULL
        AND d.OrganNo != 'C00'
        AND d.OrganNo != 'C69L'
        AND d.OrganNo != 'C69R'
        <if test="starttime != null">and d.OrganGetTime >= #{starttime}</if>
        <if test="endtime != null ">and d.OrganGetTime &lt;= #{endtime}</if>
        <if test="transplantstate != null">and d.transplantstate >= #{transplantstate}</if>
        <if test="starttime != null">and d.TransplantTime >= #{starttime}</if>
        <if test="endtime != null ">and d.TransplantTime &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>
    </select>
    <select id="getOrganNumberThisYear" resultType="java.lang.Integer">
        select count(*) from service_donateorgan d
        <!--select count(*) from service_donateorgan d-->
        <!--inner join service_donatebaseinfo b on b.id = d.InfoID-->
        <!--inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID-->
        <!--where d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'-->
        <!--AND d.OrganNo != 'C69L'-->
        <!--AND d.OrganNo != 'C69R'-->
        <!--AND d.del_flag=0-->
        <!--<if test="starttime != null ">and d.OrganGetTime >= #{starttime}</if>-->
        <!--<if test="endtime != null ">and d.OrganGetTime &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>-->
        select count(*) from service_donationwitnessorgan d
        inner join service_donatebaseinfo b on b.id = d.InfoID
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
        where b.del_flag=0
        AND d.OrganGetTime IS NOT NULL
        AND d.OrganState=1
        AND d.OrganNo != 'C00'
        AND d.OrganNo != 'C69L'
        AND d.OrganNo != 'C69R'
        AND d.del_flag=0
@@ -484,16 +534,16 @@
          and OrganGetTime >= #{starttime}
          and OrganGetTime &lt;= #{endtime}
    </select>
    <select id="getDistinctOrgansCount" resultType="java.lang.Integer">
        select count(*) from service_donateorgan d
    <select id="getDistinctOrgansCount" resultType="com.ruoyi.project.domain.vo.DistinctOrgansCount">
        select count(*) as gainsum,ifnull(sum( CASE WHEN transplantstate = 3 THEN 1 ELSE 0 END ),0) as abandonCount from service_donatecomporgan d
        inner join service_donatebaseinfo b on b.id = d.InfoID
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where d.OrganNo = #{organno}
        -- and (OrganState = "3" or OrganState = "4" or OrganState = "5" or OrganState = "6")
        and d.del_flag=0
        and d.OrganGetTime IS NOT NULL
        <if test="starttime != null ">and d.OrganGetTime >= #{starttime}</if>
        <if test="endtime != null ">and d.OrganGetTime &lt;= #{endtime}</if>
        and d.del_flag=0 and b.del_flag = 0 and b.workflow>5
        -- and d.OrganGetTime IS NOT NULL
        <if test="starttime != null ">and b.donatetime >= #{starttime}</if>
        <if test="endtime != null ">and b.donatetime &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>
    </select>
@@ -508,5 +558,91 @@
        and OrganGetTime >= #{starttime} and OrganGetTime &lt;= #{endtime}
    </select>
    <select id="countList" parameterType="com.ruoyi.project.domain.ServiceOrganallocation"
            resultMap="ServiceDonateorganResult">
        select service_donateorgan.* from service_donateorgan
        LEFT JOIN service_donatebaseinfo on service_donateorgan.InfoID=service_donatebaseinfo.ID
        LEFT JOIN base_organization on base_organization.OrganizationID = service_donatebaseinfo.TreatmentHospitalNo
        <where>
            <if test="id != null ">and service_donateorgan.ID = #{id}</if>
            <if test="organnumber != null  and organnumber != ''">and service_donateorgan.OrganNumber = #{organnumber}
            </if>
            <if test="applicantuserid != null  and applicantuserid != ''">and service_donateorgan.ApplicantUserID =
                #{applicantuserid}
            </if>
            <if test="applicantusername != null  and applicantusername != ''">and service_donateorgan.ApplicantUserName
                like
                concat('%', #{applicantusername}, '%')
            </if>
            <if test="applicanttime != null ">and service_donateorgan.ApplicantTime = #{applicanttime}</if>
            <if test="checkuserid != null  and checkuserid != ''">and service_donateorgan.CheckUserID = #{checkuserid}
            </if>
            <if test="checkusername != null  and checkusername != ''">and service_donateorgan.CheckUserName like
                concat('%',
                #{checkusername}, '%')
            </if>
            <if test="checktime != null ">and service_donateorgan.CheckTime = #{checktime}</if>
            <if test="checksuggestion != null  and checksuggestion != ''">and service_donateorgan.CheckSuggestion =
                #{checksuggestion}
            </if>
            <if test="allocationstatus != null ">and service_donateorgan.AllocationStatus = #{allocationstatus}</if>
            <if test="name != null  and name != ''">and service_donateorgan.Name like concat('%', #{name}, '%')</if>
            <if test="sex != null ">and service_donateorgan.Sex = #{sex}</if>
            <if test="idcardtype != null ">and service_donateorgan.IDCardType = #{idcardtype}</if>
            <if test="idcardno != null  and idcardno != ''">and service_donateorgan.IDCardNo = #{idcardno}</if>
            <if test="age != null ">and service_donateorgan.Age = #{age}</if>
            <if test="ageunit != null  and ageunit != ''">and service_donateorgan.AgeUnit = #{ageunit}</if>
            <if test="birthday != null  and birthday != ''">and service_donateorgan.Birthday = #{birthday}</if>
            <if test="phone != null  and phone != ''">and service_donateorgan.Phone = #{phone}</if>
            <if test="residenceaddress != null  and residenceaddress != ''">and service_donateorgan.ResidenceAddress =
                #{residenceaddress}
            </if>
            <if test="residenceprovince != null  and residenceprovince != ''">and service_donateorgan.ResidenceProvince
                =
                #{residenceprovince}
            </if>
            <if test="residenceprovincename != null  and residenceprovincename != ''">and
                service_donateorgan.ResidenceProvinceName like concat('%', #{residenceprovincename}, '%')
            </if>
            <if test="residencecity != null  and residencecity != ''">and service_donateorgan.ResidenceCity =
                #{residencecity}
            </if>
            <if test="residencecityname != null  and residencecityname != ''">and service_donateorgan.ResidenceCityName
                like
                concat('%', #{residencecityname}, '%')
            </if>
            <if test="residencetown != null  and residencetown != ''">and service_donateorgan.ResidenceTown =
                #{residencetown}
            </if>
            <if test="residencetownname != null  and residencetownname != ''">and service_donateorgan.ResidenceTownName
                like
                concat('%', #{residencetownname}, '%')
            </if>
            <if test="residencecommunity != null  and residencecommunity != ''">and
                service_donateorgan.ResidenceCommunity =
                #{residencecommunity}
            </if>
            <if test="residencecommunityname != null  and residencecommunityname != ''">and
                service_donateorgan.ResidenceCommunityName like concat('%', #{residencecommunityname}, '%')
            </if>
            <if test="residencecountycode != null  and residencecountycode != ''">and
                service_donateorgan.ResidenceCountyCode =
                #{residencecountycode}
            </if>
            <if test="residencecountyname != null  and residencecountyname != ''">and
                service_donateorgan.ResidenceCountyName
                like concat('%', #{residencecountyname}, '%')
            </if>
            <if test="createBy != null  and createBy != ''">and service_donateorgan.create_by = #{createBy}</if>
            <if test="starttime != null ">and `service_donateorgan`.ApplicantTime >= #{starttime}</if>
            <if test="endtime != null ">and `service_donateorgan`.ApplicantTime &lt;= #{endtime}</if>
            <if test="reporterno != null  and reporterno != ''">and `service_donatebaseinfo`.ReporterNo =
                #{reporterno}
            </if>
            <if test="city != null and city != ''">and `base_organization`.`City` = #{city}</if>
        </where>
</mapper>
        order by create_time desc
    </select>
</mapper>