sinake
2026-09-18 c9d33a3083bf4a226e736a447ce920a665409a06
案例趋势相关统计
已修改6个文件
已添加1个文件
84 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | 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/ServiceTotalsOrganTotals.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
@@ -112,4 +112,12 @@
            Long count=service.trendCount(totals);
            return Result.success(count,list);
        }
        @ApiOperation("器管移植总统计")
        @PostMapping("/organTotals")
        public Result<List<ServiceTotalsOrganTotals>> organTotals(@RequestBody ServiceTotals totals)
        {
            List<ServiceTotalsOrganTotals> list = service.organTotals(totals);
            return Result.success(list);
        }
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.java
@@ -19,4 +19,7 @@
    @ApiModelProperty("移植数")
    private Integer useCount;
    @ApiModelProperty("区域")
    private String area;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrganTotals.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.ruoyi.project.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("opo器管总统计")
public class ServiceTotalsOrganTotals {
    @ApiModelProperty("总获取数")
    private Integer totalGet;
    @ApiModelProperty("总回纳数")
    private Integer totalRecycle;
    @ApiModelProperty("总移植数")
    private Integer totalTransplant;
    @ApiModelProperty("总弃用数")
    private Integer totalDiscard;
}
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
@@ -81,5 +81,11 @@
    public Long trendCount(ServiceTotals totals);
    /**
     * å™¨ç®¡ç§»æ¤æ€»ç»Ÿè®¡
     *
     */
    List<ServiceTotalsOrganTotals> organTotals(ServiceTotals totals);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
@@ -75,5 +75,11 @@
     *
     */
    Long trendCount(ServiceTotals totals);
    /**
     * å™¨ç®¡ç§»æ¤æ€»ç»Ÿè®¡
     *
     */
    List<ServiceTotalsOrganTotals> organTotals(ServiceTotals totals);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
@@ -132,4 +132,13 @@
        return mapper.trendCount(totals);
    }
    /**
     * å™¨ç®¡ç§»æ¤æ€»ç»Ÿè®¡
     *
     */
    @Override
    public List<ServiceTotalsOrganTotals> organTotals(ServiceTotals totals) {
        return mapper.organTotals(totals);
    }
}
ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -45,24 +45,26 @@
    <select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="ServiceTotalsOrgan">
        SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime,a.OrganName organName, COUNT(*) getCount,
        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
        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
            <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="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</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>
        GROUP BY DATE_FORMAT(a.OrganGetTime, '%Y-%m'),a.OrganName
        GROUP BY DATE_FORMAT(a.organ_start_time, '%Y-%m'),a.OrganName,c.RegisterCountyName
    </select>
    <select id="organMoon" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="ServiceTotalsOrgan">
        SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime, COUNT(*) getCount,
        SELECT DATE_FORMAT(a.organ_start_time, '%Y-%m') donateTime, COUNT(*) getCount,
        COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
        LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName
        <where>
@@ -71,10 +73,10 @@
                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="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</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>
        GROUP BY DATE_FORMAT(a.OrganGetTime, '%Y-%m')
        GROUP BY DATE_FORMAT(a.organ_start_time, '%Y-%m')
    </select>
    <select id="organType" parameterType="com.ruoyi.project.domain.ServiceTotals"
@@ -88,8 +90,8 @@
                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="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</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>
        GROUP BY a.OrganName
    </select>
@@ -199,4 +201,12 @@
    </select>
    <select id="organTotals" parameterType="com.ruoyi.project.domain.ServiceTotals"
            resultType="ServiceTotalsOrganTotals">
        SELECT ( SELECT COUNT(*) FROM service_donatecomporgan WHERE del_flag=0 AND transplantstate=1) totalTransplant,
               ( SELECT COUNT(*) FROM service_donatecomporgan WHERE del_flag=0 AND transplantstate=4) totalDiscard,
               (SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=3) totalGet,
               (SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=4) totalRecycle
    </select>
</mapper>