From b700ed6963d12a004b2d000e2446b4ef31aac0f0 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 24 七月 2024 15:10:55 +0800 Subject: [PATCH] 变更 --- ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganQuality.java | 2 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateorganMapper.java | 3 + ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganInfoVO.java | 4 + ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java | 9 +--- ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DistinctOrgansCount.java | 25 ++++++++++++ ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java | 49 +++++++++++++----------- ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml | 6 +- 7 files changed, 63 insertions(+), 35 deletions(-) diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DistinctOrgansCount.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DistinctOrgansCount.java new file mode 100644 index 0000000..26cba7b --- /dev/null +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/DistinctOrgansCount.java @@ -0,0 +1,25 @@ +package com.ruoyi.project.domain.vo; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "DistinctOrgansCount", description = "DistinctOrgansCount") +public class DistinctOrgansCount { + + /** + * 鑾峰彇鍊� + */ + @ApiModelProperty(value = "鑾峰彇鍊�") + private Integer gainsum; + + /** + * 搴熷純鍊� + */ + @ApiModelProperty(value = "搴熷純鍊�") + private Integer abandonCount; + + +} diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organInfoVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganInfoVO.java similarity index 72% rename from ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organInfoVO.java rename to ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganInfoVO.java index 5bc5515..9bbe309 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organInfoVO.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganInfoVO.java @@ -3,7 +3,7 @@ import lombok.Data; @Data -public class organInfoVO { +public class OrganInfoVO { private String organNo; @@ -11,4 +11,6 @@ private int count; + private int abandonCount; + } diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organQuality.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganQuality.java similarity index 97% rename from ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organQuality.java rename to ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganQuality.java index 28acfa1..17e3dc7 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/organQuality.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/OrganQuality.java @@ -4,7 +4,7 @@ import lombok.Data; @Data -public class organQuality { +public class OrganQuality { //鍣ㄥ畼鎹愮尞杞寲鐜� private double donateTransferRate; diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateorganMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateorganMapper.java index 48f1a49..5a0b1af 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateorganMapper.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceDonateorganMapper.java @@ -8,6 +8,7 @@ import java.util.List; import com.ruoyi.project.domain.ServiceDonateorgan; +import com.ruoyi.project.domain.vo.DistinctOrgansCount; import com.ruoyi.project.domain.vo.DonateOrganVO; import com.ruoyi.project.domain.vo.TimeVO; import org.apache.ibatis.annotations.Mapper; @@ -70,7 +71,7 @@ int getOrgansCount(@Param("starttime") Date starttime, @Param("endtime") Date endtime, @Param("organizationid") String organizationid); - int getDistinctOrgansCount(@Param("organno") String organno, @Param("starttime") Date starttime, @Param("endtime") Date endtime, @Param("city") String city, @Param("reporterno") String reporterno); + DistinctOrgansCount getDistinctOrgansCount(@Param("organno") String organno, @Param("starttime") Date starttime, @Param("endtime") Date endtime, @Param("city") String city, @Param("reporterno") String reporterno); String getOrganNameByNo(String organno); diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java index a5c2481..d39982f 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonateorganService.java @@ -1,15 +1,10 @@ package com.ruoyi.project.service; -import java.util.HashMap; import java.util.List; -import java.util.Map; import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.project.domain.ServiceDonateorgan; -import com.ruoyi.project.domain.ServiceOrganallocation; import com.ruoyi.project.domain.vo.*; -import org.springframework.web.bind.annotation.PathVariable; /** * 鎹愮尞鍣ㄥ畼绠$悊Service鎺ュ彛 @@ -35,7 +30,7 @@ public String getOrganNumber(ServiceDonateorgan serviceDonateorgan); - organQuality getOrganQuality(TimeVO timeVO); + OrganQuality getOrganQuality(TimeVO timeVO); List<DonateOrganVO> selectVOList(DonateOrganVO donateOrganVO); @@ -70,7 +65,7 @@ List<organNumberByOrgVO> getOrganNumberByOrg(TimeVO timeVO); - List<organInfoVO> getOrganCount(TimeVO timeVO); + List<OrganInfoVO> getOrganCount(TimeVO timeVO); List<ServiceDonateorgan> saveData(List<ServiceDonateorgan> serviceDonateorgans); diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java index ab58bbb..ba76377 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java @@ -1,10 +1,8 @@ package com.ruoyi.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; @@ -21,12 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Logger; /** * 鎹愮尞鍣ㄥ畼绠$悊Service涓氬姟灞傚鐞� @@ -237,8 +232,8 @@ } @Override - public organQuality getOrganQuality(TimeVO timeVO) { - organQuality og = new organQuality(); + public OrganQuality getOrganQuality(TimeVO timeVO) { + OrganQuality og = new OrganQuality(); //鏈勾搴﹁幏鍙栨崘鐚�呮暟閲� int transferNumber = serviceDonationwitnessMapper.countThisYearByTime(timeVO); @@ -259,6 +254,9 @@ int DCDDonaterNumber = serviceDonationwitnessMapper.getDCDDonaterNumberThisYear(timeVO); //鏈勾搴BCD鏉ユ簮鍣ㄥ畼鎹愮尞鑰� int DBCDDonaterNumber = serviceDonationwitnessMapper.getDBCDDonaterNumberThisYear(timeVO); + //鏌ュ嚭鏉ョ殑transferNumber鏈夐棶棰橈紝鍏堜笉鐢ㄤ簡锛岀敤涓嬮潰鐩稿姞鐨則ransferNumber + transferNumber = DBDDonaterNumber + DCDDonaterNumber + DBCDDonaterNumber; + log.info("transferNumber鐨勫�间负锛歿}, DBDDonaterNumber鐨勫�间负锛歿}锛� DCDDonaterNumber鐨勫�间负锛歿}锛� DBCDDonaterNumber鐨勫�间负锛歿}", transferNumber, DBDDonaterNumber, DCDDonaterNumber, DBCDDonaterNumber); if (transferNumber == 0) { og.setOrganProductionRate(0.0); og.setDBDDonateRate(0.0); @@ -297,14 +295,14 @@ og.setMarginOrganRate(0.0); og.setGermPositiveRate(0.0); } else { - log.info("timeVO鐨勫�间负 锛� {}",timeVO); + log.info("timeVO鐨勫�间负 锛� {}", timeVO); TimeVO timeVO1 = DtoConversionUtils.sourceToTarget(timeVO, TimeVO.class); timeVO1.setTransplantstate(1); //鑾峰彇鏈勾搴﹀凡缁忕Щ妞嶅櫒瀹樻暟閲� int organTransplantNumber2 = serviceDonateorganMapper.getAllFinishedOrgansThisYear(timeVO1); - log.info("timeVO1鐨勫�间负 锛� {}",timeVO1); - log.info("organTransplantNumber2鐨勫�间负 锛� {}",organTransplantNumber2); - log.info("organTransplantNumber鐨勫�间负 锛� {}",organTransplantNumber); + log.info("timeVO1鐨勫�间负 锛� {}", timeVO1); + log.info("organTransplantNumber2鐨勫�间负 锛� {}", organTransplantNumber2); + log.info("organTransplantNumber鐨勫�间负 锛� {}", organTransplantNumber); double organUsedRate = (double) organTransplantNumber2 / (double) organTransplantNumber; og.setOrganUsedRate(organUsedRate); @@ -721,8 +719,8 @@ } @Override - public List<organInfoVO> getOrganCount(TimeVO timeVO) { - List<organInfoVO> l = new ArrayList<>(); + public List<OrganInfoVO> getOrganCount(TimeVO timeVO) { + List<OrganInfoVO> l = new ArrayList<>(); //List<ServiceDonateorgan> serviceDonateorgans = serviceDonateorganMapper.selectAll(timeVO); Map<String, Integer> map_organs = new HashMap<String, Integer>(); @@ -736,17 +734,24 @@ for (SysDictData sysDictData : data) { if (!sysDictData.getDictValue().equals("C00")) { - int count = serviceDonateorganMapper.getDistinctOrgansCount(sysDictData.getDictValue(), timeVO.getStarttime(), timeVO.getEndtime(), timeVO.getCity(), timeVO.getReporterno()); - map_organs.put(sysDictData.getDictValue(), count); + DistinctOrgansCount distinctOrgansCount = serviceDonateorganMapper.getDistinctOrgansCount(sysDictData.getDictValue(), timeVO.getStarttime(), timeVO.getEndtime(), timeVO.getCity(), timeVO.getReporterno()); +// map_organs.put(sysDictData.getDictValue(), distinctOrgansCount.getGainsum()); +// map_organs.put("abandonCount", distinctOrgansCount.getAbandonCount()); + OrganInfoVO organ = new OrganInfoVO(); + organ.setOrganNo(sysDictData.getDictValue()); + organ.setCount(distinctOrgansCount.getGainsum()); + organ.setAbandonCount(distinctOrgansCount.getAbandonCount()); + l.add(organ); } } - for (Map.Entry<String, Integer> entry : map_organs.entrySet()) { - organInfoVO organ = new organInfoVO(); - organ.setOrganNo(entry.getKey()); - //organ.setOrganName(serviceDonateorganMapper.getOrganNameByNo(entry.getKey())); - organ.setCount(entry.getValue()); - l.add(organ); - } +// for (Map.Entry<String, Integer> entry : map_organs.entrySet()) { +// OrganInfoVO organ = new OrganInfoVO(); +// organ.setOrganNo(entry.getKey()); +// //organ.setOrganName(serviceDonateorganMapper.getOrganNameByNo(entry.getKey())); +// organ.setCount(entry.getValue()); +// organ.setAbandonCount(); +// l.add(organ); +// } return l; } diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml index 08f207a..56945d9 100644 --- a/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml +++ b/ruoyi-project/src/main/resources/mapper/project/ServiceDonateorganMapper.xml @@ -534,8 +534,8 @@ and OrganGetTime >= #{starttime} and OrganGetTime <= #{endtime} </select> - <select id="getDistinctOrgansCount" resultType="java.lang.Integer"> - select count(*) from service_donationwitnessorgan d + <select id="getDistinctOrgansCount" resultType="com.ruoyi.project.domain.vo.DistinctOrgansCount"> + select count(*) as gainsum,sum(case when transplantstate=3 then 1 else 0 end) 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} @@ -645,4 +645,4 @@ order by create_time desc </select> -</mapper> \ No newline at end of file +</mapper> -- Gitblit v1.9.3