已修改13个文件
已添加2个文件
237 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/target/classes/com/ruoyi/web/controller/project/ServiceTotalsController.class 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organList.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecompletioninfoController.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.domain.ServiceDonateorgan;
import com.ruoyi.project.domain.ServiceDonateorganBase;
@@ -18,10 +19,7 @@
import com.ruoyi.project.domain.vo.DonationCompletionBaseInfoVO;
import com.ruoyi.project.domain.vo.DonationCompletionVO;
import com.ruoyi.project.domain.vo.ServiceDonatecompletioninfoVO;
import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
import com.ruoyi.project.service.IServiceDonatecomporganService;
import com.ruoyi.project.service.IServiceDonateorganBaseService;
import com.ruoyi.project.service.IServiceDonateorganService;
import com.ruoyi.project.service.*;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
@@ -56,6 +54,9 @@
    @Autowired
    private IServiceDonatecomporganService serviceDonatecomporganService;
    @Autowired
    private IServiceDonatebaseinfoService serviceDonatebaseinfoService;
    private static Configuration configuration = null;
@@ -158,6 +159,12 @@
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody ServiceDonatecompletioninfoVO serviceDonatecompletioninfoVO) {
        boolean edit = serviceDonatecompletioninfoService.edit(serviceDonatecompletioninfoVO);
        if(edit&&serviceDonatecompletioninfoVO.getCompleteState()=="3"){
            ServiceDonatebaseinfo donatebaseinfo=new ServiceDonatebaseinfo();
            donatebaseinfo.setWorkflow(99);
            donatebaseinfo.setId(serviceDonatecompletioninfoVO.getInfoid());
            serviceDonatebaseinfoService.updateById(donatebaseinfo);
        }
        return toAjax(edit);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.enums.OrganEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.vo.ServiceDonationwitnessVO;
import com.ruoyi.project.domain.vo.DonationwitnessBaseInfoVO;
import com.ruoyi.project.domain.ServiceDonateorgan;
@@ -142,6 +143,12 @@
    public AjaxResult edit(@RequestBody ServiceDonationwitnessVO serviceDonationwitnessVO) {
        log.info("新增捐献见证id为:{},infoId为:{}", serviceDonationwitnessVO.getId(), serviceDonationwitnessVO.getInfoid());
        Boolean edit = serviceDonationwitnessService.edit(serviceDonationwitnessVO);
        if(edit&&serviceDonationwitnessVO.getWitnessState()=="3"){
            ServiceDonatebaseinfo donatebaseinfo=new ServiceDonatebaseinfo();
            donatebaseinfo.setWorkflow(6);
            donatebaseinfo.setId(serviceDonationwitnessVO.getInfoid());
            serviceDonatebaseinfoService.updateById(donatebaseinfo);
        }
        return toAjax(edit);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
@@ -120,4 +120,13 @@
            List<ServiceTotalsOrganTotals> list = service.organTotals(totals);
            return Result.success(list);
        }
        @ApiOperation("捐献器官统计明细列表")
        @PostMapping("/organList")
        public Result<List<organList>> organList(@RequestBody ServiceTotals totals)
        {
            List<organList> list = service.organList(totals);
            Long count=service.organCount(totals);
            return Result.success(count,list);
        }
}
ruoyi-admin/target/classes/com/ruoyi/web/controller/project/ServiceTotalsController.class
Binary files differ
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java
@@ -22,4 +22,7 @@
    @ApiModelProperty("区域")
    private String area;
    @ApiModelProperty("弃用数")
    private Integer deprecateCount;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TimeVO.java
@@ -23,5 +23,9 @@
    //器官移植状态 ï¼š0:未移植;1:已移植,2:弃用
    private Integer transplantstate = null;
    private String reportId;
    private String gcsScore;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organList.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
package com.ruoyi.project.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("捐献器官统计明细")
public class organList {
    @ApiModelProperty("id")
    private Integer id;
    @ApiModelProperty("案例编号")
    private String caseNo;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("地区")
    private String RegisterCountyName;
    @ApiModelProperty("年份")
    private String donateYear;
    @ApiModelProperty("器官状态")
    private Integer transplantstate;
    @ApiModelProperty("器官名称")
    private String OrganName;
    @ApiModelProperty("移植时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date TransplantTime;
    @ApiModelProperty("受体姓名")
    private String TransplantName;
    @ApiModelProperty("移植医生")
    private String TransplantDoct;
    @ApiModelProperty("移植医院")
    private String HospitalName;
    @ApiModelProperty("获取时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date OrganGetTime;
    @ApiModelProperty("弃用原因")
    private String notgetreason;
}
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
@@ -87,5 +87,17 @@
     */
    List<ServiceTotalsOrganTotals> organTotals(ServiceTotals totals);
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†åˆ—表
     *
     */
    public List<organList> organList(ServiceTotals totals);
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†æ•°é‡
     *
     */
    public Long organCount(ServiceTotals totals);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
@@ -81,5 +81,17 @@
     *
     */
    List<ServiceTotalsOrganTotals> organTotals(ServiceTotals totals);
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†åˆ—表
     *
     */
    public List<organList> organList(ServiceTotals totals);
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†æ•°é‡
     *
     */
    public Long organCount(ServiceTotals totals);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -148,6 +148,7 @@
        //先通过caseNo查询是否存在
        ServiceDonatebaseinfo serviceDonatebaseinfo = new ServiceDonatebaseinfo();
        serviceDonatebaseinfo.setCaseNo(serviceDonatebaseinfoReport.getCaseNo());
        serviceDonatebaseinfo1.setWorkflow(2);
        List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoService.queryList(serviceDonatebaseinfo);
        if (CollectionUtils.isNotEmpty(serviceDonatebaseinfos) && serviceDonatebaseinfos.size() > 0) {
            serviceDonatebaseinfo1.setId(serviceDonatebaseinfos.get(0).getId());
@@ -157,6 +158,7 @@
        }
        //创建
        serviceDonatebaseinfo1.setDonatetime(new Date());
        return serviceDonatebaseinfoService.save(serviceDonatebaseinfo1);
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
@@ -141,4 +141,22 @@
        return mapper.organTotals(totals);
    }
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†åˆ—表
     *
     */
    @Override
    public List<organList> organList(ServiceTotals totals) {
        return mapper.organList(totals);
    }
    /**
     * æçŒ®å™¨å®˜ç»Ÿè®¡æ˜Žç»†æ•°é‡
     *
     */
    @Override
    public Long organCount(ServiceTotals totals) {
        return mapper.organCount(totals);
    }
}
ruoyi-project/src/main/resources/mapper/project/ServiceDonatebaseinfoMapper.xml
@@ -260,7 +260,7 @@
    </select>
    <select id="getDonateBaseCountThisYear" resultType="java.lang.Integer">
        select count(*) from service_donatebaseinfo b
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        <where>
            AND b.del_flag=0
            <if test="starttime != null ">and b.donatetime >= #{starttime}</if>
@@ -300,7 +300,7 @@
    </select>
    <select id="getAllDonateBaseInfoByTime" resultType="com.ruoyi.project.domain.ServiceDonatebaseinfo">
        select * from service_donatebaseinfo b
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        <where>
            <if test="starttime != null ">and b.ReportTime >= #{starttime}</if>
            <if test="caseNo != null ">and b.case_no >= #{caseNo}</if>
@@ -350,21 +350,21 @@
    <select id="getDistrictDonate" resultType="java.lang.String">
        select o.city
        from service_donatebaseinfo b
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        where (b.RecordState = '0' or b.RecordState = '1' or b.RecordState = '2')
    </select>
    <select id="getDistrictComplete" resultType="java.lang.String">
        select o.city
        from service_donatebaseinfo b
                 inner join service_donatecompletioninfo d on d.infoid = b.id
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        where d.CompleteTime > 0
    </select>
    <select id="getDistrictOrgans" resultType="java.lang.String">
        select o.city
        from service_donatebaseinfo b
                 inner join service_donateorgan d on d.infoid = b.id
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        where d.OrganGetTime > 0
    </select>
    <select id="getDonateNameById" resultType="java.lang.String">
@@ -376,7 +376,7 @@
    <select id="getDistrictDonateByTime" resultType="java.lang.String">
        select o.city
        from service_donatebaseinfo b
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        where (b.RecordState = '0' or b.RecordState = '1' or b.RecordState = '2')
          and b.ReportTime >= #{starttime}
          and b.ReportTime &lt;= #{endtime}
@@ -385,7 +385,7 @@
        select o.city
        from service_donatebaseinfo b
                 inner join service_donatecompletioninfo d on d.infoid = b.id
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        where d.del_flag = 0
          and d.CompleteTime >= #{starttime}
          and d.CompleteTime &lt;= #{endtime}
@@ -394,7 +394,7 @@
    <select id="gettreatmenthospitalnoCompleteByTime" resultType="java.lang.String">
        select b.treatmenthospitalno from service_donatebaseinfo b
        inner join service_donatecompletioninfo d on d.infoid=b.id
        inner join base_organization o on o.organizationid=b.treatmenthospitalno
        left join base_organization o on o.organizationid=b.treatmenthospitalno
        <where>
            d.del_flag=0
            <if test="starttime != null ">and d.CompleteTime >= #{starttime}</if>
@@ -409,7 +409,7 @@
        select o.city
        from service_donatebaseinfo b
                 inner join service_donateorgan d on d.infoid = b.id
                 inner join base_organization o on o.organizationid = b.treatmenthospitalno
                 left join base_organization o on o.organizationid = b.treatmenthospitalno
        WHERE d.del_flag = 0
          AND d.OrganGetTime IS NOT NULL
          AND d.OrganGetTime >= #{starttime}
ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml
@@ -232,7 +232,7 @@
        <!--        <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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where b.del_flag=0
        AND d.del_flag=0
        AND d.TransplantTime IS NOT NULL
@@ -262,7 +262,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where b.del_flag=0
        AND d.OrganGetTime IS NOT NULL
        AND d.OrganState=1
@@ -279,7 +279,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsBiopsyBefore = "1"
        AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
@@ -295,7 +295,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsBiopsyAfter = "1"
        AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
@@ -311,7 +311,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsMarginalOrgan = "1" AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
        AND d.OrganNo != 'C69L'
@@ -326,7 +326,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsPathogenPositive = "1"
        AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
@@ -342,7 +342,7 @@
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsPNF = "1"
        <if test="starttime != null ">and d.OrganGetTime >= #{starttime}</if>
        <if test="endtime != null">and d.OrganGetTime &lt;= #{endtime}</if>
@@ -352,7 +352,7 @@
    <select id="getDGFNumberThisYear" resultType="java.lang.Integer">
        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
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsDGF = "1"
        <if test="starttime != null ">and d.OrganGetTime >= #{starttime}</if>
        <if test="endtime != null ">and d.OrganGetTime &lt;= #{endtime}</if>
@@ -362,7 +362,7 @@
    <select id="selectPNFOrganThisYear" resultType="com.ruoyi.project.domain.ServiceDonateorgan">
        select * from service_donateorgan d
        inner join service_donatebaseinfo b on b.id = d.InfoID
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsPNF = "1"
        AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
@@ -378,7 +378,7 @@
    <select id="selectDGFOrganThisYear" resultType="com.ruoyi.project.domain.ServiceDonateorgan">
        select * from service_donateorgan d
        inner join service_donatebaseinfo b on b.id = d.InfoID
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where IsDGF = "1"
        AND
        d.OrganGetTime IS NOT NULL AND d.OrganNo != 'C00'
@@ -542,7 +542,7 @@
        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
        left 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 b.del_flag = 0 and b.workflow>5
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -288,7 +288,7 @@
    <select id="getDBDDonaterNumberThisYear" resultType="java.lang.Integer">
        select count(*) from service_donationwitness w
        inner join service_donatebaseinfo b on w.InfoID = b.id
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where w.DonationCategory = "DBD"
        <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if>
        <if test="endtime != null ">and w.OperationBegTime &lt;= #{endtime}</if>
@@ -298,7 +298,7 @@
    <select id="getDCDDonaterNumberThisYear" resultType="java.lang.Integer">
        select count(*) from service_donationwitness w
        inner join service_donatebaseinfo b on w.InfoID = b.id
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where w.DonationCategory = "DCD"
        <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if>
        <if test="endtime != null ">and w.OperationBegTime &lt;= #{endtime}</if>
@@ -309,7 +309,7 @@
    <select id="getDBCDDonaterNumberThisYear" resultType="java.lang.Integer">
        select count(*) from service_donationwitness w
        inner join service_donatebaseinfo b on w.InfoID = b.id
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        where w.DonationCategory = "DBCD"
        <if test="starttime != null ">and w.OperationBegTime >= #{starttime}</if>
        <if test="endtime != null ">and w.OperationBegTime &lt;= #{endtime}</if>
@@ -338,7 +338,7 @@
    <select id="countThisYearByTime" resultType="java.lang.Integer">
        select count(*) from service_donationwitness w
        inner join service_donatebaseinfo b on w.InfoID = b.id
        inner join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        left join base_organization o on b.TreatmentHospitalNo = o.OrganizationID
        <where>
            w.del_flag=0
            and b.del_flag=0
ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -10,7 +10,7 @@
        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id
        <where>
            a.del_flag=0
            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
@@ -23,7 +23,7 @@
        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id
        <where>
            a.del_flag=0
            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
@@ -36,7 +36,7 @@
        LEFT JOIN  service_donatecompletioninfo  b ON b.InfoID=a.id
        <where>
            a.del_flag=0
            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
@@ -46,16 +46,17 @@
    <select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="ServiceTotalsOrgan">
        SELECT DATE_FORMAT(a.organ_start_time, '%Y-%m') donateTime,a.OrganName organName, COUNT(*) getCount,c.RegisterCountyName area,
        COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
        COUNT(IF(b.transplantstate=3, true, NULL)) useCount ,COUNT(IF(b.transplantstate=4, true, NULL)) deprecateCount
        FROM  service_donationwitnessorgan a
        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName
        LEFT JOIN  service_donatebaseinfo c ON a.InfoID=c.ID
        <where>
            a.del_flag=0
            a.del_flag=0 and b.del_flag=0 and c.del_flag=0
            <if test="area != null  and area != ''">
                and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
            </if>
            <if test="area != null  and area != ''">and c.RegisterCountyName>=#{area}</if>
            <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
            <if test="area != null  and area != ''">and c.RegisterCountyName=#{area}</if>
            <if test="organName != null  and organName != ''">and a.OrganName=#{organName}</if>
            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
        </where>
@@ -72,7 +73,7 @@
            <if test="area != null  and area != ''">
                and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
            </if>
            <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
            <if test="organName != null  and organName != ''">and a.OrganName=#{organName}</if>
            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
        </where>
@@ -89,7 +90,7 @@
            <if test="area != null  and area != ''">
                and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
            </if>
            <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
            <if test="organName != null  and organName != ''">and a.OrganName=#{organName}</if>
            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
        </where>
@@ -180,7 +181,7 @@
        LEFT JOIN service_deathinfo d ON d.InfoID=a.id
        <where>
            a.del_flag=0
            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
@@ -194,7 +195,7 @@
        LEFT JOIN service_deathinfo d ON d.InfoID=a.id
        <where>
            a.del_flag=0
            <if test="area != null  and area != ''">and a.RegisterCountyName>=#{area}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
@@ -209,4 +210,35 @@
               (SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=4) totalRecycle
    </select>
    <select id="organList" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="organList">
        SELECT DISTINCT a.id,a.case_no,a.NAME,a.RegisterCountyName,YEAR(a.donatetime) donateYear,b.OrganName,b.transplantstate,
        b.TransplantTime,b.Name,b.TransplantDoct,b.HospitalName,c.OrganGetTime,c.notgetreason
        FROM service_donatebaseinfo a LEFT JOIN service_donatecomporgan b ON a.ID=b.InfoID
        LEFT JOIN service_donationwitnessorgan c ON a.ID=c.InfoID
        <where>
            a.del_flag=0 AND b.del_flag=0 AND c.del_flag=0
            <if test="organName != null  and organName != ''">and b.OrganName=#{organName}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
    </select>
    <select id="organCount" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="Long">
        SELECT count(*)
        FROM service_donatebaseinfo a LEFT JOIN service_donatecomporgan b ON a.ID=b.InfoID
        LEFT JOIN service_donationwitnessorgan c ON a.ID=c.InfoID
        <where>
            a.del_flag=0 AND b.del_flag=0 AND c.del_flag=0
            <if test="organName != null  and organName != ''">and b.OrganName=#{organName}</if>
            <if test="area != null  and area != ''">and a.RegisterCountyName=#{area}</if>
            <if test="startTime != null  and startTime != ''">and a.donatetime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.donatetime &lt;= #{endTime}</if>
        </where>
    </select>
</mapper>