ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTotalsController.java
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.project.domain.ServiceTotals; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.service.iServiceTotalsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -25,57 +26,57 @@ @ApiOperation("æ¡ä¾è¶å¿") @PostMapping("/caseTrend") public Result caseTrend(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsTrend>> caseTrend(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.caseTrend(totals); List<ServiceTotalsTrend> list = service.caseTrend(totals); return Result.success(list); } @ApiOperation("æ¡ä¾è¶å¿æä»½") @PostMapping("/caseTrendMoon") public Result caseTrendMoon(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsTrend>> caseTrendMoon(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.caseTrendMoon(totals); List<ServiceTotalsTrend> list = service.caseTrendMoon(totals); return Result.success(list); } @ApiOperation("æ¡ä¾è¶å¿åºå") @PostMapping("/caseTrendArea") public Result caseTrendArea(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsTrend>> caseTrendArea(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.caseTrendArea(totals); List<ServiceTotalsTrend> list = service.caseTrendArea(totals); return Result.success(list); } @ApiOperation("æç®å¨å®ç»è®¡æç»") @PostMapping("/organ") public Result organ(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsOrgan>> organ(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.organ(totals); List<ServiceTotalsOrgan> list = service.organ(totals); return Result.success(list); } @ApiOperation("å¨å®è·å/ç§»æ¤è¶å¿") @PostMapping("/organMoon") public Result organMoon(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsOrgan>> organMoon(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.organMoon(totals); List<ServiceTotalsOrgan> list = service.organMoon(totals); return Result.success(list); } @ApiOperation("å¨å®ç±»ååå¸") @PostMapping("/organType") public Result organType(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsOrgan>> organType(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.organType(totals); List<ServiceTotalsOrgan> list = service.organType(totals); return Result.success(list); } @ApiOperation("æç®è 年龿§å«åå¸") @PostMapping("/caseSex") public Result caseSex(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsSex>> caseSex(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.caseSex(totals); List<ServiceTotalsSex> list = service.caseSex(totals); return Result.success(list); } @@ -89,9 +90,25 @@ @ApiOperation("æ§å«ä¸è¡ååå¸") @PostMapping("/caseBloodType") public Result caseBloodType(@RequestBody ServiceTotals totals) public Result<List<ServiceTotalsBood>> caseBloodType(@RequestBody ServiceTotals totals) { List<ServiceTotals> list = service.caseBloodType(totals); List<ServiceTotalsBood> list = service.caseBloodType(totals); return Result.success(list); } @ApiOperation("æ»æ½å¨æ»å®ææ°ç»è®¡") @PostMapping("/totals") public Result<List<ServiceTotalsTotal>> totals(@RequestBody ServiceTotals totals) { List<ServiceTotalsTotal> list = service.totals(totals); return Result.success(list); } @ApiOperation("æ¡ä¾æç»å表") @PostMapping("/trendList") public Result<List<trendList>> trendList(@RequestBody ServiceTotals totals) { List<trendList> list = service.trendList(totals); return Result.success(list); } } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTotals.java
@@ -30,38 +30,13 @@ @ApiModelProperty("年龿®µ1:<17;2:18-49;3:50-69;4:>69") private String ageGroup; @ApiModelProperty("æ¡ä¾æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date donateTime; @ApiModelProperty("æ½å¨æç®æ°") private Integer potentialCount; @ApiModelProperty("宿æç®æ°") private Integer completeCount; @ApiModelProperty("å¨ç®¡åç§°") private String organName; @ApiModelProperty("è·åæ°") private Integer getCount; @ApiModelProperty("ç§»æ¤æ°") private Integer useCount; @ApiModelProperty("å¹³åå¹´é¾") private Integer avgAge; @ApiModelProperty("æ»æ°") private Integer totalCount; @ApiModelProperty("ç·æ§æ°") private Integer manCount; @ApiModelProperty("å¥³æ§æ°") private Integer womanCount; @ApiModelProperty("è¡åæ°") private Integer boodTypeCount; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsBood.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.project.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("opoè¡åç»è®¡") public class ServiceTotalsBood { @ApiModelProperty("è¡åæ°") private Integer boodTypeCount; @ApiModelProperty("è¡å") private String boodType; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsOrgan.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 ServiceTotalsOrgan { @ApiModelProperty("æ¡ä¾æ¶é´") private String donateTime; @ApiModelProperty("å¨ç®¡åç§°") private String organName; @ApiModelProperty("è·åæ°") private Integer getCount; @ApiModelProperty("ç§»æ¤æ°") private Integer useCount; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsSex.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.project.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("opoæ§å«ç»è®¡") public class ServiceTotalsSex { @ApiModelProperty("æ»æ°") private Integer totalCount; @ApiModelProperty("ç·æ§æ°") private Integer manCount; @ApiModelProperty("å¥³æ§æ°") private Integer womanCount; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTotal.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.project.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("opoæ»ç»è®¡") public class ServiceTotalsTotal { @ApiModelProperty("æ»æ½å¨æç®æ¡ä¾") private Integer totalPotential; @ApiModelProperty("æ»å®ææç®æ°") private Integer totalCompletion; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceTotalsTrend.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.ruoyi.project.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("opoç»è®¡") public class ServiceTotalsTrend { @ApiModelProperty("åºå") private String area; @ApiModelProperty("æ¡ä¾æ¶é´") private String donateTime; @ApiModelProperty("æ½å¨æç®æ°") private Integer potentialCount; @ApiModelProperty("宿æç®æ°") private Integer completeCount; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/trendList.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.ruoyi.project.domain.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("æ¡ä¾æç»") public class trendList { @ApiModelProperty("id") private Integer id; @ApiModelProperty("æ¡ä¾ç¼å·") private String caseNo; @ApiModelProperty("å§å") private String name; @ApiModelProperty("ä½é¢å·") private String InpatientNo; @ApiModelProperty("å»é¢") private String TreatmentHospitalName; @ApiModelProperty("工使µ:1.ä¾è ç»´æ¤ 2 æç®ææ¿ 3 å»å¦è¯ä¼° 4 æ»äº¡å¤å® 5 伦çå®¡æ¥ 6 å¨å®åé 7 å¨å®å©ç¨ 99 æç®å®æ") private Integer workflow; @ApiModelProperty("æ¡ä¾æ¶é´") private String donatetime; @ApiModelProperty("æ»äº¡åå ") private String DeathReason; @ApiModelProperty("å¨å®") private String OrganName; } ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTotalsMapper.java
@@ -4,6 +4,7 @@ import com.ruoyi.project.domain.GiApi; import com.ruoyi.project.domain.ServiceTasknum; import com.ruoyi.project.domain.ServiceTotals; import com.ruoyi.project.domain.vo.*; import io.jsonwebtoken.impl.crypto.MacProvider; import java.util.List; @@ -15,43 +16,43 @@ * æ¡ä¾è¶å¿ * */ public List<ServiceTotals> caseTrend(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals); /** * æ¡ä¾è¶å¿æä»½ * */ public List<ServiceTotals> caseTrendMoon(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals); /** * æ¡ä¾è¶å¿åºå * */ public List<ServiceTotals> caseTrendArea(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals); /** * æç®å¨å®ç»è®¡æç» * */ public List<ServiceTotals> organ(ServiceTotals totals); public List<ServiceTotalsOrgan> organ(ServiceTotals totals); /** * å¨å®è·å/ç§»æ¤è¶å¿ * */ public List<ServiceTotals> organMoon(ServiceTotals totals); public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals); /** * å¨å®ç±»ååå¸ * */ public List<ServiceTotals> organType(ServiceTotals totals); public List<ServiceTotalsOrgan> organType(ServiceTotals totals); /** * æç®è 年龿§å«åå¸ * */ public List<ServiceTotals> caseSex(ServiceTotals totals); public List<ServiceTotalsSex> caseSex(ServiceTotals totals); /** * å¹³åå¹´é¾ @@ -63,8 +64,20 @@ * æ§å«ä¸è¡ååå¸ * */ public List<ServiceTotals> caseBloodType(ServiceTotals totals); public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals); /** * æ»æ½å¨æ»å®ææ°ç»è®¡ * */ public List<ServiceTotalsTotal> totals(ServiceTotals totals); /** * æ¡ä¾æç»å表 * */ public List<trendList> trendList(ServiceTotals totals); } ruoyi-project/src/main/java/com/ruoyi/project/service/iServiceTotalsService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.project.domain.ServiceTotals; import com.ruoyi.project.domain.vo.*; import java.util.List; @@ -12,40 +13,40 @@ * æ¡ä¾è¶å¿ * */ public List<ServiceTotals> caseTrend(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals); /** * æ¡ä¾è¶å¿æä»½ * */ public List<ServiceTotals> caseTrendMoon(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals); /** * æ¡ä¾è¶å¿åºå * */ public List<ServiceTotals> caseTrendArea(ServiceTotals totals); public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals); /** * æç®å¨å®ç»è®¡æç» * */ public List<ServiceTotals> organ(ServiceTotals totals); public List<ServiceTotalsOrgan> organ(ServiceTotals totals); /** * å¨å®è·å/ç§»æ¤è¶å¿ * */ public List<ServiceTotals> organMoon(ServiceTotals totals); public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals); /** * å¨å®ç±»ååå¸ * */ public List<ServiceTotals> organType(ServiceTotals totals); public List<ServiceTotalsOrgan> organType(ServiceTotals totals); /** * æç®è 年龿§å«åå¸ * */ public List<ServiceTotals> caseSex(ServiceTotals totals); public List<ServiceTotalsSex> caseSex(ServiceTotals totals); /** * å¹³åå¹´é¾ * @@ -55,6 +56,18 @@ * æ§å«ä¸è¡ååå¸ * */ public List<ServiceTotals> caseBloodType(ServiceTotals totals); public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals); /** * æ»æ½å¨æ»å®ææ°ç»è®¡ * */ List<ServiceTotalsTotal> totals(ServiceTotals totals); /** * æ¡ä¾æç»å表 * */ List<trendList> trendList(ServiceTotals totals); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -143,6 +143,7 @@ serviceDonatebaseinfo1.setRegistertown(serviceDonatebaseinfoReport.getRegistertownname()); serviceDonatebaseinfo1.setReportHospital(serviceDonatebaseinfoReport.getToHospital()); serviceDonatebaseinfo1.setFirstDept(serviceDonatebaseinfoReport.getDeptName()); serviceDonatebaseinfo1.setRegistercountyname(serviceDonatebaseinfoReport.getRegisterCountyName()); serviceDonatebaseinfo1.setCaseNo(null); //å éè¿caseNoæ¥è¯¢æ¯å¦åå¨ ServiceDonatebaseinfo serviceDonatebaseinfo = new ServiceDonatebaseinfo(); ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTotalsServiceImp.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.project.domain.ServiceTotals; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.ServiceTotalsMapper; import com.ruoyi.project.service.iServiceTotalsService; import org.apache.commons.lang3.ObjectUtils; @@ -21,7 +22,7 @@ * */ @Override public List<ServiceTotals> caseTrend(ServiceTotals totals) { public List<ServiceTotalsTrend> caseTrend(ServiceTotals totals) { if(ObjectUtils.isNotEmpty(totals.getAgeGroup())){ switch (totals.getAgeGroup()) { case "1": totals.setAgeGroup(" and age<=17 "); break; @@ -38,7 +39,7 @@ * */ @Override public List<ServiceTotals> caseTrendMoon(ServiceTotals totals) { public List<ServiceTotalsTrend> caseTrendMoon(ServiceTotals totals) { return mapper.caseTrendMoon(totals); } @@ -47,7 +48,7 @@ * */ @Override public List<ServiceTotals> caseTrendArea(ServiceTotals totals) { public List<ServiceTotalsTrend> caseTrendArea(ServiceTotals totals) { return mapper.caseTrendArea(totals); } @@ -56,8 +57,8 @@ * */ @Override public List<ServiceTotals> organ(ServiceTotals totals) { return mapper.caseTrendArea(totals); public List<ServiceTotalsOrgan> organ(ServiceTotals totals) { return mapper.organ(totals); } /** @@ -65,8 +66,8 @@ * */ @Override public List<ServiceTotals> organMoon(ServiceTotals totals) { return mapper.caseTrendArea(totals); public List<ServiceTotalsOrgan> organMoon(ServiceTotals totals) { return mapper.organMoon(totals); } /** @@ -74,8 +75,8 @@ * */ @Override public List<ServiceTotals> organType(ServiceTotals totals) { return mapper.caseTrendArea(totals); public List<ServiceTotalsOrgan> organType(ServiceTotals totals) { return mapper.organType(totals); } /** @@ -83,8 +84,8 @@ * */ @Override public List<ServiceTotals> caseSex(ServiceTotals totals) { return mapper.caseTrendArea(totals); public List<ServiceTotalsSex> caseSex(ServiceTotals totals) { return mapper.caseSex(totals); } /** @@ -93,15 +94,33 @@ */ @Override public List<ServiceTotals> caseAvgAge(ServiceTotals totals) { return mapper.caseTrendArea(totals); return mapper.caseAvgAge(totals); } /** * æ§å«ä¸è¡ååå¸ * */ @Override public List<ServiceTotals> caseBloodType(ServiceTotals totals) { return mapper.caseTrendArea(totals); public List<ServiceTotalsBood> caseBloodType(ServiceTotals totals) { return mapper.caseBloodType(totals); } /** * æ§å«ä¸è¡ååå¸ * */ @Override public List<ServiceTotalsTotal> totals(ServiceTotals totals) { return mapper.totals(totals); } /** * æ§å«ä¸è¡ååå¸ * */ @Override public List<trendList> trendList(ServiceTotals totals) { return mapper.trendList(totals); } } ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -5,46 +5,46 @@ <mapper namespace="com.ruoyi.project.mapper.ServiceTotalsMapper"> <select id="caseTrend" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> SELECT DATE_FORMAT(a.ReportTime, '%Y-%m') donateTime, register_county_name area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo_report a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0 resultType="ServiceTotalsTrend"> SELECT DATE_FORMAT(a.donatetime, '%Y-%m') donateTime, RegisterCountyName area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id where a.del_flag=0 <where> <if test="area != null and area != ''">and register_county_name>=#{area}</if> <if test="startTime != null and startTime != ''">and a.ReportTime>=#{startTime}</if> <if test="endTime != null and endTime != ''">and a.ReportTime <= #{endTime}</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 <= #{endTime}</if> </where> GROUP BY register_county_name, DATE_FORMAT(a.ReportTime, '%Y-%m') GROUP BY RegisterCountyName, DATE_FORMAT(a.donatetime, '%Y-%m') </select> <select id="caseTrendMoon" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> SELECT DATE_FORMAT(a.ReportTime, '%Y-%m') donateTime, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0 resultType="ServiceTotalsTrend"> SELECT DATE_FORMAT(a.donatetime, '%Y-%m') donateTime, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id where a.del_flag=0 <where> <if test="area != null and area != ''">and register_county_name>=#{area}</if> <if test="startTime != null and startTime != ''">and a.ReportTime>=#{startTime}</if> <if test="endTime != null and endTime != ''">and a.ReportTime <= #{endTime}</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 <= #{endTime}</if> </where> GROUP BY DATE_FORMAT(a.ReportTime, '%Y-%m') GROUP BY DATE_FORMAT(a.donatetime, '%Y-%m') </select> <select id="caseTrendArea" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> SELECT register_county_name area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id and a.del_flag=0 and b.del_flag=0 resultType="ServiceTotalsTrend"> SELECT RegisterCountyName area, COUNT(*) potentialCount,COUNT(IF(complete_state=3, true, null)) completeCount FROM service_donatebaseinfo a LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id where a.del_flag=0 <where> <if test="area != null and area != ''">and register_county_name>=#{area}</if> <if test="startTime != null and startTime != ''">and a.ReportTime>=#{startTime}</if> <if test="endTime != null and endTime != ''">and a.ReportTime <= #{endTime}</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 <= #{endTime}</if> </where> GROUP BY register_county_name GROUP BY RegisterCountyName </select> <select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> resultType="ServiceTotalsOrgan"> SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime,a.OrganName organName, 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 and a.del_flag=0 and b.del_flag=0 LEFT JOIN service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName where a.del_flag=0 <where> <if test="area != null and area != ''"> and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} ) @@ -57,10 +57,10 @@ </select> <select id="organMoon" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> resultType="ServiceTotalsOrgan"> SELECT DATE_FORMAT(a.OrganGetTime, '%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 and a.del_flag=0 and b.del_flag=0 LEFT JOIN service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName where a.del_flag=0 <where> <if test="area != null and area != ''"> and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} ) @@ -73,10 +73,10 @@ </select> <select id="organType" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> resultType="ServiceTotalsOrgan"> SELECT a.OrganName organName, 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 and a.del_flag=0 and b.del_flag=0 LEFT JOIN service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName where a.del_flag=0 <where> <if test="area != null and area != ''"> and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} ) @@ -89,15 +89,15 @@ </select> <select id="caseSex" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> resultType="ServiceTotalsSex"> SELECT COUNT(sex) totalCount, COUNT(IF(sex=1, true, NULL)) manCount ,COUNT(IF(sex=2, true, NULL)) womanCount FROM service_donatebaseinfo FROM service_donatebaseinfo where del_flag=0 <where> <if test="area != null and area != ''"> and RegisterCountyName>=#{area} </if> <if test="bloodType != null and bloodType != ''"> and BloodType>=#{bloodType} <if test="boodType != null and boodType != ''"> and BloodType>=#{boodType} </if> <if test="sex != null and sex != ''"> and sex>=#{sex} @@ -113,13 +113,13 @@ <select id="caseAvgAge" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> SELECT AVG(age) avgAge FROM service_donatebaseinfo SELECT AVG(age) avgAge FROM service_donatebaseinfo where del_flag=0 <where> <if test="area != null and area != ''"> and RegisterCountyName>=#{area} </if> <if test="bloodType != null and bloodType != ''"> and BloodType>=#{bloodType} <if test="boodType != null and boodType != ''"> and BloodType>=#{boodType} </if> <if test="sex != null and sex != ''"> and sex>=#{sex} @@ -133,15 +133,15 @@ </select> <select id="caseBloodType" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotals"> resultType="ServiceTotalsBood"> SELECT COUNT(BloodType) boodTypeCount,BloodType bloodType FROM service_donatebaseinfo FROM service_donatebaseinfo where del_flag=0 <where> <if test="area != null and area != ''"> and RegisterCountyName>=#{area} </if> <if test="bloodType != null and bloodType != ''"> and BloodType>=#{bloodType} <if test="boodType != null and boodType != ''"> and BloodType>=#{boodType} </if> <if test="sex != null and sex != ''"> and sex>=#{sex} @@ -155,4 +155,25 @@ GROUP BY BloodType </select> <select id="totals" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="ServiceTotalsTotal"> SELECT ( SELECT COUNT(*) FROM service_donatebaseinfo_report WHERE del_flag=0) totalPotential, (SELECT COUNT(*) FROM service_donatecompletioninfo WHERE del_flag=0) totalCompletion </select> <select id="trendList" parameterType="com.ruoyi.project.domain.ServiceTotals" resultType="trendList"> SELECT a.id,a.case_no,a.NAME ,a.InpatientNo,a.TreatmentHospitalName,a.workflow,a.donatetime,d.DeathReason, (SELECT GROUP_CONCAT(c.OrganName) FROM service_donateorgan c WHERE c.InfoId=a.id AND c.del_flag=0) OrganName FROM service_donatebaseinfo a LEFT JOIN service_deathinfo d ON d.InfoID=a.id where a.del_flag=0 <where> <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 <= #{endTime}</if> </where> </select> </mapper>