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/service/impl/ServiceDonateorganServiceImpl.java | 470 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 239 insertions(+), 231 deletions(-) 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 b408895..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,37 +1,37 @@ package com.ruoyi.project.service.impl; -import java.sql.Time; -import java.text.SimpleDateFormat; -import java.util.*; - -import com.ruoyi.common.core.domain.entity.BasePrcaddressDict; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.project.domain.*; -import com.ruoyi.project.domain.vo.*; -import com.ruoyi.project.mapper.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.parameters.P; -import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.project.service.IServiceDonateorganService; +import com.ruoyi.common.utils.bean.DtoConversionUtils; +import com.ruoyi.project.domain.*; +import com.ruoyi.project.domain.vo.*; +import com.ruoyi.project.mapper.*; +import com.ruoyi.project.service.*; import com.ruoyi.system.mapper.SysDictDataMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; /** * 鎹愮尞鍣ㄥ畼绠$悊Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2021-11-10 */ +@Slf4j @Service -public class ServiceDonateorganServiceImpl extends ServiceImpl<ServiceDonateorganMapper, ServiceDonateorgan> implements IServiceDonateorganService -{ +public class ServiceDonateorganServiceImpl extends ServiceImpl<ServiceDonateorganMapper, ServiceDonateorgan> implements IServiceDonateorganService { @Autowired ServiceDonateorganMapper serviceDonateorganMapper; @@ -63,62 +63,66 @@ @Autowired ServiceDonatecompletioninfoMapper serviceDonatecompletioninfoMapper; - @Autowired private SysDictDataMapper dictDataMapper; + @Autowired + IServiceOrganallocationService serviceOrganallocationService; /** * 鏌ヨ鎹愮尞鍣ㄥ畼绠$悊鍒楄〃 - * + * * @param serviceDonateorgan 鎹愮尞鍣ㄥ畼绠$悊 * @return 鎹愮尞鍣ㄥ畼绠$悊 */ @Override public List<ServiceDonateorgan> queryList(ServiceDonateorgan serviceDonateorgan) { LambdaQueryWrapper<ServiceDonateorgan> wrappers = Wrappers.lambdaQuery(); - if (StringUtils.isNotNull(serviceDonateorgan.getInfoid())){ - wrappers.eq(ServiceDonateorgan::getInfoid ,serviceDonateorgan.getInfoid()); + if (StringUtils.isNotNull(serviceDonateorgan.getInfoid())) { + wrappers.eq(ServiceDonateorgan::getInfoid, serviceDonateorgan.getInfoid()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getDonorno())){ - wrappers.eq(ServiceDonateorgan::getDonorno ,serviceDonateorgan.getDonorno()); + if (StringUtils.isNotBlank(serviceDonateorgan.getDonorno())) { + wrappers.eq(ServiceDonateorgan::getDonorno, serviceDonateorgan.getDonorno()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getOrganno())){ - wrappers.eq(ServiceDonateorgan::getOrganno ,serviceDonateorgan.getOrganno()); + if (StringUtils.isNotBlank(serviceDonateorgan.getOrganno())) { + wrappers.eq(ServiceDonateorgan::getOrganno, serviceDonateorgan.getOrganno()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getOrganname())){ - wrappers.like(ServiceDonateorgan::getOrganname ,serviceDonateorgan.getOrganname()); + if (StringUtils.isNotBlank(serviceDonateorgan.getOrganname())) { + wrappers.like(ServiceDonateorgan::getOrganname, serviceDonateorgan.getOrganname()); } - if (serviceDonateorgan.getOrganstate() != null){ - wrappers.eq(ServiceDonateorgan::getOrganstate ,serviceDonateorgan.getOrganstate()); + if (serviceDonateorgan.getOrganstate() != null) { + wrappers.eq(ServiceDonateorgan::getOrganstate, serviceDonateorgan.getOrganstate()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getOrgannumber())){ - wrappers.eq(ServiceDonateorgan::getOrgannumber ,serviceDonateorgan.getOrgannumber()); + if (StringUtils.isNotBlank(serviceDonateorgan.getOrgannumber())) { + wrappers.eq(ServiceDonateorgan::getOrgannumber, serviceDonateorgan.getOrgannumber()); } - if (serviceDonateorgan.getOrgangettime() != null){ - wrappers.eq(ServiceDonateorgan::getOrgangettime ,serviceDonateorgan.getOrgangettime()); + if (serviceDonateorgan.getOrgangettime() != null) { + wrappers.eq(ServiceDonateorgan::getOrgangettime, serviceDonateorgan.getOrgangettime()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getOrgangetdoct())){ - wrappers.eq(ServiceDonateorgan::getOrgangetdoct ,serviceDonateorgan.getOrgangetdoct()); + if (StringUtils.isNotBlank(serviceDonateorgan.getOrgangetdoct())) { + wrappers.eq(ServiceDonateorgan::getOrgangetdoct, serviceDonateorgan.getOrgangetdoct()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getGainhospitalno())){ - wrappers.eq(ServiceDonateorgan::getGainhospitalno ,serviceDonateorgan.getGainhospitalno()); + if (StringUtils.isNotBlank(serviceDonateorgan.getGainhospitalno())) { + wrappers.eq(ServiceDonateorgan::getGainhospitalno, serviceDonateorgan.getGainhospitalno()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getGainhospitalname())){ - wrappers.like(ServiceDonateorgan::getGainhospitalname ,serviceDonateorgan.getGainhospitalname()); + if (StringUtils.isNotBlank(serviceDonateorgan.getGainhospitalname())) { + wrappers.like(ServiceDonateorgan::getGainhospitalname, serviceDonateorgan.getGainhospitalname()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getTransplanthospitalno())){ - wrappers.eq(ServiceDonateorgan::getTransplanthospitalno ,serviceDonateorgan.getTransplanthospitalno()); + if (StringUtils.isNotBlank(serviceDonateorgan.getTransplanthospitalno())) { + wrappers.eq(ServiceDonateorgan::getTransplanthospitalno, serviceDonateorgan.getTransplanthospitalno()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getTransplanthospitalname())){ - wrappers.like(ServiceDonateorgan::getTransplanthospitalname ,serviceDonateorgan.getTransplanthospitalname()); + if (StringUtils.isNotBlank(serviceDonateorgan.getTransplanthospitalname())) { + wrappers.like(ServiceDonateorgan::getTransplanthospitalname, serviceDonateorgan.getTransplanthospitalname()); } - if (StringUtils.isNotBlank(serviceDonateorgan.getTransplantdoct())){ - wrappers.eq(ServiceDonateorgan::getTransplantdoct ,serviceDonateorgan.getTransplantdoct()); + if (StringUtils.isNotBlank(serviceDonateorgan.getTransplantdoct())) { + wrappers.eq(ServiceDonateorgan::getTransplantdoct, serviceDonateorgan.getTransplantdoct()); } - if (serviceDonateorgan.getTransplanttime() != null){ - wrappers.eq(ServiceDonateorgan::getTransplanttime ,serviceDonateorgan.getTransplanttime()); + if (serviceDonateorgan.getTransplanttime() != null) { + wrappers.eq(ServiceDonateorgan::getTransplanttime, serviceDonateorgan.getTransplanttime()); + } + if (serviceDonateorgan.getEstimatedtime() != null) { + wrappers.eq(ServiceDonateorgan::getEstimatedtime, serviceDonateorgan.getEstimatedtime()); } return this.list(wrappers); } @@ -130,7 +134,7 @@ Map<String, Integer> map_donate = new HashMap<String, Integer>(); Map<String, Integer> map_accept = new HashMap<String, Integer>(); - for(ServiceDonateorgan s : serviceDonateorgans) { + for (ServiceDonateorgan s : serviceDonateorgans) { BaseOrganization org_donate = baseOrganizationMapper.getOrganizationByNumber(s.getGainhospitalno()); if (org_donate != null) { map_donate.put(org_donate.getCity(), map_donate.getOrDefault(org_donate.getCity(), 0) + 1); @@ -140,15 +144,6 @@ map_accept.put(org_accept.getCity(), map_accept.getOrDefault(org_accept.getCity(), 0) + 1); } } -// List<BasePrcaddressDict> city = basePrcaddressDictMapper.getAllCityOfZJ(); -// for(BasePrcaddressDict c : city){ -// NumberOfOrgans numberOfOrgans = new NumberOfOrgans(); -// numberOfOrgans.setDistrict(c.getAreaname()); -// numberOfOrgans.setNumberOfHospitals(baseOrganizationMapper.getOrganizationByCity(c.getAreanumber())); -// numberOfOrgans.setDonateNumber(map_donate.getOrDefault(c.getAreaname(),0)); -// numberOfOrgans.setAcceptNumber(map_accept.getOrDefault(c.getAreaname(),0)); -// list.add(numberOfOrgans); -// } List<String> regions = new ArrayList<String>(); regions.add("0"); @@ -163,12 +158,12 @@ regions.add("9"); regions.add("A"); regions.add("B"); - for(String r : regions){ + for (String r : regions) { NumberOfOrgans numberOfOrgans = new NumberOfOrgans(); numberOfOrgans.setDistrict(r); numberOfOrgans.setNumberOfHospitals(baseOrganizationMapper.getOrganizationByCity(r)); - numberOfOrgans.setDonateNumber(map_donate.getOrDefault(r,0)); - numberOfOrgans.setAcceptNumber(map_accept.getOrDefault(r,0)); + numberOfOrgans.setDonateNumber(map_donate.getOrDefault(r, 0)); + numberOfOrgans.setAcceptNumber(map_accept.getOrDefault(r, 0)); list.add(numberOfOrgans); } @@ -182,20 +177,20 @@ Map<String, Integer> map_donate = new HashMap<String, Integer>(); Map<String, Integer> map_accept = new HashMap<String, Integer>(); - for(ServiceDonateorgan s : serviceDonateorgans){ - map_donate.put(s.getGainhospitalno(), map_donate.getOrDefault(s.getGainhospitalno(),0) + 1); + for (ServiceDonateorgan s : serviceDonateorgans) { + map_donate.put(s.getGainhospitalno(), map_donate.getOrDefault(s.getGainhospitalno(), 0) + 1); map_accept.put(s.getTransplanthospitalno(), map_accept.getOrDefault(s.getTransplanthospitalno(), 0) + 1); } List<BaseOrganization> baseOrganization = baseOrganizationMapper.getBaseOrganizationList(); - for(BaseOrganization o : baseOrganization){ + for (BaseOrganization o : baseOrganization) { OrgansOfHospital organsOfHospital = new OrgansOfHospital(); - if(cityName.equals(o.getCityname())) { + if (cityName.equals(o.getCityname())) { organsOfHospital.setHospitalName(o.getOrganizationname()); organsOfHospital.setHospitalNo(o.getMedicalcode()); - organsOfHospital.setDonateNumber(map_donate.getOrDefault(o.getMedicalcode(),0)); - organsOfHospital.setAcceptNumber(map_accept.getOrDefault(o.getMedicalcode(),0)); + organsOfHospital.setDonateNumber(map_donate.getOrDefault(o.getMedicalcode(), 0)); + organsOfHospital.setAcceptNumber(map_accept.getOrDefault(o.getMedicalcode(), 0)); list.add(organsOfHospital); } } @@ -237,22 +232,21 @@ } @Override - public organQuality getOrganQuality(TimeVO timeVO) { - organQuality og = new organQuality(); + public OrganQuality getOrganQuality(TimeVO timeVO) { + OrganQuality og = new OrganQuality(); //鏈勾搴﹁幏鍙栨崘鐚�呮暟閲� int transferNumber = serviceDonationwitnessMapper.countThisYearByTime(timeVO); //鏈勾搴︽綔鍦ㄦ崘鐚�呮暟閲� int donateNumber = serviceDonatebaseinfoMapper.getDonateBaseCountThisYear(timeVO); - if(donateNumber == 0){ + if (donateNumber == 0) { og.setDonateTransferRate(0.0); - } - else { + } else { double transferRate = (double) transferNumber / (double) donateNumber; og.setDonateTransferRate(transferRate); } - //鏈勾搴︾Щ妞嶅櫒瀹樻暟閲� + //鏈勾搴︾Щ妞嶅櫒瀹樻暟閲忥紙鍚純鐢級 int organTransplantNumber = serviceDonateorganMapper.getAllFinishedOrgansThisYear(timeVO); //鏈勾搴BD鏉ユ簮鍣ㄥ畼鎹愮尞鑰� int DBDDonaterNumber = serviceDonationwitnessMapper.getDBDDonaterNumberThisYear(timeVO); @@ -260,13 +254,15 @@ int DCDDonaterNumber = serviceDonationwitnessMapper.getDCDDonaterNumberThisYear(timeVO); //鏈勾搴BCD鏉ユ簮鍣ㄥ畼鎹愮尞鑰� int DBCDDonaterNumber = serviceDonationwitnessMapper.getDBCDDonaterNumberThisYear(timeVO); - if(transferNumber == 0){ + //鏌ュ嚭鏉ョ殑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); og.setDCDDonateRate(0.0); og.setDBCDDonateRate(0.0); - } - else{ + } else { double productionRate = (double) organTransplantNumber / (double) transferNumber; og.setOrganProductionRate(productionRate); @@ -292,15 +288,22 @@ //鏈勾搴︾梾鍘熻弻闃虫�ф暟閲� int pathogenPositiveNumber = serviceDonateorganMapper.getPathogenPositiveNumberThisYear(timeVO); - if(getOrganNumber == 0){ + if (getOrganNumber == 0) { og.setOrganUsedRate(0.0); og.setOrganBeforeGetCheckRate(0.0); og.setOrganAfterGetCheckRate(0.0); og.setMarginOrganRate(0.0); og.setGermPositiveRate(0.0); - } - else{ - double organUsedRate = (double) organTransplantNumber / (double) getOrganNumber; + } else { + 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); + double organUsedRate = (double) organTransplantNumber2 / (double) organTransplantNumber; og.setOrganUsedRate(organUsedRate); double biopsyBeforeRate = (double) biopsyBeforeNumber / (double) getOrganNumber; @@ -318,10 +321,9 @@ //鏈勾搴︽�籔NF鏁伴噺 int PNFNumber = serviceDonateorganMapper.getPNFNumberThisYear(timeVO); - if(organTransplantNumber == 0){ + if (organTransplantNumber == 0) { og.setTotalPNFRate(0.0); - } - else{ + } else { double PNFRate = (double) PNFNumber / (double) organTransplantNumber; og.setTotalPNFRate(PNFRate); } @@ -336,16 +338,17 @@ int countDCD = 0; //鏈勾搴BCD鏉ユ簮鍣ㄥ畼鏁伴噺 int countDBCD = 0; - for(ServiceDonateorgan l : list){ + for (ServiceDonateorgan l : list) { Long InfoId = l.getInfoid(); + String category = serviceDonationwitnessMapper.getDonationCategoryByInfoId(InfoId); - if(category != null && category.equals("DBD")){ + if (category != null && category.equals("DBD")) { countDBD += 1; } - if(category != null && category.equals("DCD")){ + if (category != null && category.equals("DCD")) { countDCD += 1; } - if(category != null && category.equals("DBCD")){ + if (category != null && category.equals("DBCD")) { countDBCD += 1; } } @@ -356,16 +359,16 @@ int countDCDPNF = 0; //鏈勾搴BCD鏉ユ簮鍣ㄥ畼PNF鏁伴噺 int countDBCDPNF = 0; - for(ServiceDonateorgan s : list_PNF){ + for (ServiceDonateorgan s : list_PNF) { Long InfoId = s.getInfoid(); String category = serviceDonationwitnessMapper.getDonationCategoryByInfoId(InfoId); - if(category != null && category.equals("DBD")){ + if (category != null && category.equals("DBD")) { countDBDPNF += 1; } - if(category != null && category.equals("DCD")){ + if (category != null && category.equals("DCD")) { countDCDPNF += 1; } - if(category != null && category.equals("DBCD")){ + if (category != null && category.equals("DBCD")) { countDBCDPNF += 1; } } @@ -373,14 +376,12 @@ //鏈勾搴︽�籇GF鏁伴噺 int DGFNumber = serviceDonateorganMapper.getDGFNumberThisYear(timeVO); - if(organTransplantNumber == 0){ + if (organTransplantNumber == 0) { og.setTotalDGFRate(0.0); - } - else{ + } else { double DGFRate = (double) DGFNumber / (double) organTransplantNumber; og.setTotalDGFRate(DGFRate); } - //鏈勾搴BD鏉ユ簮鍣ㄥ畼DGF鏁伴噺 @@ -389,25 +390,24 @@ int countDCDDGF = 0; //鏈勾搴BCD鏉ユ簮鍣ㄥ畼DGF鏁伴噺 int countDBCDDGF = 0; - for(ServiceDonateorgan d : list_DGF){ + for (ServiceDonateorgan d : list_DGF) { Long InfoId = d.getInfoid(); String category = serviceDonationwitnessMapper.getDonationCategoryByInfoId(InfoId); - if(category != null && category.equals("DBD")){ + if (category != null && category.equals("DBD")) { countDBDDGF += 1; } - if(category != null && category.equals("DCD")){ + if (category != null && category.equals("DCD")) { countDCDDGF += 1; } - if(category != null && category.equals("DBCD")){ + if (category != null && category.equals("DBCD")) { countDBCDDGF += 1; } } - if(countDBD == 0){ + if (countDBD == 0) { og.setDBDPNFRate(0.0); og.setDBDDGFRate(0.0); - } - else{ + } else { double DBDPNFRate = (double) countDBDPNF / (double) countDBD; og.setDBDPNFRate(DBDPNFRate); @@ -415,11 +415,10 @@ og.setDBDDGFRate(DBDDGFRate); } - if(countDCD == 0){ + if (countDCD == 0) { og.setDCDPNFRate(0.0); og.setDCDDGFRate(0.0); - } - else{ + } else { double DCDPNFRate = (double) countDCDPNF / (double) countDCD; og.setDCDPNFRate(DCDPNFRate); @@ -427,11 +426,10 @@ og.setDCDDGFRate(DCDDGFRate); } - if(countDBCD == 0){ + if (countDBCD == 0) { og.setDBCDPNFRate(0.0); og.setDBCDDGFRate(0.0); - } - else{ + } else { double DBCDPNFRate = (double) countDBCDPNF / (double) countDBCD; og.setDBCDPNFRate(DBCDPNFRate); @@ -454,7 +452,8 @@ donateNumber.setNumberOfDonate(serviceDonatebaseinfoMapper.countNumber(timeVO)); donateNumber.setNumberOfMedicalEvaluation(serviceMedicalevaluationMapper.countNumber(timeVO)); donateNumber.setNumberOfRelativeConfirmation(serviceRelativesconfirmationMapper.countNumber(timeVO)); - donateNumber.setNumberOfDonatePeople(serviceOrganallocationMapper.countNumber(timeVO)); +// donateNumber.setNumberOfDonatePeople(serviceOrganallocationMapper.countNumber(timeVO)); + donateNumber.setNumberOfDonatePeople(serviceDonateorganMapper.countNumber(timeVO)); donateNumber.setNumberOfOrgans(serviceDonateorganMapper.countNumber(timeVO)); donateNumber.setNumberOfWitness(serviceDonationwitnessMapper.countNumber(timeVO)); donateNumber.setNumberOfEthicalReview(serviceEthicalreviewopinionsMapper.countNumber(timeVO)); @@ -471,15 +470,15 @@ List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getAllDonateBaseInfo(); HashMap<String, Integer> map_baseinfo_count = new HashMap<String, Integer>(); - for(ServiceDonatebaseinfo s : serviceDonatebaseinfos){ + for (ServiceDonatebaseinfo s : serviceDonatebaseinfos) { Date dt = s.getReporttime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); - map_baseinfo_count.put(month, map_baseinfo_count.getOrDefault(month,0) + 1); + map_baseinfo_count.put(month, map_baseinfo_count.getOrDefault(month, 0) + 1); } - for(Map.Entry<String, Integer> entry: map_baseinfo_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_baseinfo_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -495,33 +494,32 @@ List<DonateByRegionVO> l = new ArrayList<>(); List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getAllDonateBaseInfoByTime(timeVO); - for(BaseOrganization b : baseOrganizations){ + for (BaseOrganization b : baseOrganizations) { HashMap<String, Integer> map_baseinfo_count = new HashMap<String, Integer>(); HashMap<String, Integer> map_completion_count = new HashMap<String, Integer>(); //List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getBaseInfoByHospital(b.getOrganizationid()); List<ServiceDonatebaseinfo> serviceDonatebaseinfoOfThisHospital = new ArrayList<>(); - for(ServiceDonatebaseinfo sd : serviceDonatebaseinfos){ - if(b.getOrganizationid().equals(sd.getTreatmenthospitalno())){ + for (ServiceDonatebaseinfo sd : serviceDonatebaseinfos) { + if (b.getOrganizationid().equals(sd.getTreatmenthospitalno())) { serviceDonatebaseinfoOfThisHospital.add(sd); } } - for(ServiceDonatebaseinfo s : serviceDonatebaseinfoOfThisHospital){ + for (ServiceDonatebaseinfo s : serviceDonatebaseinfoOfThisHospital) { Date dt = s.getReporttime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); - map_baseinfo_count.put(month, map_baseinfo_count.getOrDefault(month,0) + 1); + map_baseinfo_count.put(month, map_baseinfo_count.getOrDefault(month, 0) + 1); ServiceDonatecompletioninfo sc = serviceDonatecompletioninfoMapper.getByInfoId(s.getId()); - if(sc != null){ - map_completion_count.put(month, map_completion_count.getOrDefault(month,0) + 1); - } - else{ - map_completion_count.put(month, map_completion_count.getOrDefault(month,0)); + if (sc != null) { + map_completion_count.put(month, map_completion_count.getOrDefault(month, 0) + 1); + } else { + map_completion_count.put(month, map_completion_count.getOrDefault(month, 0)); } } - for(Map.Entry<String, Integer> entry: map_baseinfo_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_baseinfo_count.entrySet()) { DonateByRegionVO d = new DonateByRegionVO(); d.setHospitalNumber(b.getOrganizationid()); d.setHospitalName(b.getOrganizationname()); @@ -543,37 +541,34 @@ List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getAllDonateBaseInfoByTime(timeVO); List<String> completeTreatmenthospitalnos = serviceDonatebaseinfoMapper.gettreatmenthospitalnoCompleteByTime(timeVO); - for(BaseOrganization b : baseOrganizations){ + for (BaseOrganization b : baseOrganizations) { HashMap<String, Integer> map_baseinfo_count = new HashMap<String, Integer>(); HashMap<String, Integer> map_completion_count = new HashMap<String, Integer>(); String Organizationid = b.getOrganizationid(); - for(ServiceDonatebaseinfo s : serviceDonatebaseinfos){ + for (ServiceDonatebaseinfo s : serviceDonatebaseinfos) { - if(Organizationid.equals(s.getTreatmenthospitalno())){ - map_baseinfo_count.put(Organizationid, map_baseinfo_count.getOrDefault(Organizationid,0) + 1); + if (Organizationid.equals(s.getTreatmenthospitalno())) { + map_baseinfo_count.put(Organizationid, map_baseinfo_count.getOrDefault(Organizationid, 0) + 1); } } - for(String sc : completeTreatmenthospitalnos){ - if(Organizationid.equals(sc)){ - map_completion_count.put(Organizationid, map_completion_count.getOrDefault(Organizationid,0) + 1); + for (String sc : completeTreatmenthospitalnos) { + if (Organizationid.equals(sc)) { + map_completion_count.put(Organizationid, map_completion_count.getOrDefault(Organizationid, 0) + 1); } } - if(map_baseinfo_count.size()==0) - { - map_baseinfo_count.put(Organizationid, map_baseinfo_count.getOrDefault(Organizationid,0)); + if (map_baseinfo_count.size() == 0) { + map_baseinfo_count.put(Organizationid, map_baseinfo_count.getOrDefault(Organizationid, 0)); } - if(map_completion_count.size()==0) - { - map_completion_count.put(Organizationid, map_completion_count.getOrDefault(Organizationid,0)); + if (map_completion_count.size() == 0) { + map_completion_count.put(Organizationid, map_completion_count.getOrDefault(Organizationid, 0)); } // for(Map.Entry<String, Integer> entry: map_baseinfo_count.entrySet()) { - if(map_baseinfo_count.get(b.getOrganizationid())>0 || map_completion_count.get(b.getOrganizationid())>0) - { + if (map_baseinfo_count.get(b.getOrganizationid()) > 0 || map_completion_count.get(b.getOrganizationid()) > 0) { DonateByRegionVO d = new DonateByRegionVO(); d.setHospitalNumber(b.getOrganizationid()); d.setHospitalName(b.getOrganizationname()); @@ -619,13 +614,13 @@ List<String> l2 = serviceDonatebaseinfoMapper.getDistrictComplete(); List<String> l3 = serviceDonatebaseinfoMapper.getDistrictOrgans(); - for(String s1 : l1){ + for (String s1 : l1) { map_donate.put(s1, map_donate.getOrDefault(s1, 0) + 1); } - for(String s2 : l2){ + for (String s2 : l2) { map_complete.put(s2, map_complete.getOrDefault(s2, 0) + 1); } - for(String s3 : l3){ + for (String s3 : l3) { map_organs.put(s3, map_organs.getOrDefault(s3, 0) + 1); } @@ -643,11 +638,11 @@ regions.add("A"); regions.add("B"); - for(String r : regions){ + for (String r : regions) { DistrictDonateCalculateVO d = new DistrictDonateCalculateVO(); d.setDistrict(r); - d.setDonateCount(map_donate.getOrDefault(r,0)); - d.setCompleteCount(map_complete.getOrDefault(r,0)); + d.setDonateCount(map_donate.getOrDefault(r, 0)); + d.setCompleteCount(map_complete.getOrDefault(r, 0)); d.setTotalOrganCount(map_organs.getOrDefault(r, 0)); l.add(d); } @@ -666,13 +661,13 @@ List<String> l2 = serviceDonatebaseinfoMapper.getDistrictCompleteByTime(timeVO); List<String> l3 = serviceDonatebaseinfoMapper.getDistrictOrgansByTime(timeVO); - for(String s1 : l1){ + for (String s1 : l1) { map_donate.put(s1, map_donate.getOrDefault(s1, 0) + 1); } - for(String s2 : l2){ + for (String s2 : l2) { map_complete.put(s2, map_complete.getOrDefault(s2, 0) + 1); } - for(String s3 : l3){ + for (String s3 : l3) { map_organs.put(s3, map_organs.getOrDefault(s3, 0) + 1); } @@ -690,11 +685,11 @@ regions.add("A"); regions.add("B"); - for(String r : regions){ + for (String r : regions) { DistrictDonateCalculateVO d = new DistrictDonateCalculateVO(); d.setDistrict(r); - d.setDonateCount(map_donate.getOrDefault(r,0)); - d.setCompleteCount(map_complete.getOrDefault(r,0)); + d.setDonateCount(map_donate.getOrDefault(r, 0)); + d.setCompleteCount(map_complete.getOrDefault(r, 0)); d.setTotalOrganCount(map_organs.getOrDefault(r, 0)); l.add(d); } @@ -713,7 +708,7 @@ map_organs.put(b.getOrganizationid(), count); } - for (Map.Entry<String, Integer> entry : map_organs.entrySet()){ + for (Map.Entry<String, Integer> entry : map_organs.entrySet()) { organNumberByOrgVO o = new organNumberByOrgVO(); o.setOrgId(entry.getKey()); o.setOrgName(baseOrganizationMapper.getNameByNo(entry.getKey())); @@ -724,84 +719,83 @@ } @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>(); //List<String> organNo = new ArrayList<>(); - List<SysDictData> data = dictDataMapper.selectDictDataByType("sys_Organ"); - if (StringUtils.isNull(data)) - { + List<SysDictData> data = dictDataMapper.selectDictDataByType("sys_Organ"); + if (StringUtils.isNull(data)) { data = new ArrayList<SysDictData>(); } - 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); + for (SysDictData sysDictData : data) { + if (!sysDictData.getDictValue().equals("C00")) { + 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; } + @Override + @Transactional(rollbackFor = Exception.class) + public List<ServiceDonateorgan> saveData(List<ServiceDonateorgan> serviceDonateorgans) { + for (ServiceDonateorgan serviceDonateorgan : serviceDonateorgans) { + if (serviceDonateorgan.getInfoid() == null) { + throw new BaseException("鏈叧鑱旀崘鐚熀纭�淇℃伅锛宨nfoid涓虹┖浜�" + serviceDonateorgan); + } -// @Override -// public List<DonateByRegionVO> OrgansOfHospitalByMonth() { -// List<BaseOrganization> baseOrganizations = baseOrganizationMapper.getHospitalList(); -// List<DonateByRegionVO> l = new ArrayList<>(); -// List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getAllDonateBaseInfo(); -// -// for(BaseOrganization b : baseOrganizations){ -// HashMap<String, Integer> map_baseinfo_count = new HashMap<String, Integer>(); -// HashMap<String, Integer> map_completion_count = new HashMap<String, Integer>(); -// //List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoMapper.getBaseInfoByHospital(b.getOrganizationid()); -// List<ServiceDonatebaseinfo> serviceDonatebaseinfoOfThisHospital = new ArrayList<>(); -// for(ServiceDonatebaseinfo sd : serviceDonatebaseinfos){ -// if(b.getOrganizationid().equals(sd.getTreatmenthospitalno())){ -// serviceDonatebaseinfoOfThisHospital.add(sd); -// } -// } -// for(ServiceDonatebaseinfo s : serviceDonatebaseinfoOfThisHospital){ -// Date dt = s.getReporttime(); -// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// String date = formatter.format(dt); -// String month = date.substring(0, 7); -// map_baseinfo_count.put(month, map_baseinfo_count.getOrDefault(month,0) + 1); -// ServiceDonatecompletioninfo sc = serviceDonatecompletioninfoMapper.getByInfoId(s.getId()); -// if(sc != null){ -// map_completion_count.put(month, map_completion_count.getOrDefault(month,0) + 1); -// } -// else{ -// map_completion_count.put(month, map_completion_count.getOrDefault(month,0)); -// } -// -// } -// -// for(Map.Entry<String, Integer> entry: map_baseinfo_count.entrySet()) { -// DonateByRegionVO d = new DonateByRegionVO(); -// d.setHospitalNumber(b.getOrganizationid()); -// d.setHospitalName(b.getOrganizationname()); -// d.setRegionLevel(b.getRegionallevel()); -// d.setMonth(entry.getKey()); -// d.setBaseInfoCount(entry.getValue()); -// d.setCompletionCount(map_completion_count.get(entry.getKey())); -// l.add(d); -// } -// } -// return l; -// } + String organNumber = serviceDonateorgan.getDonorno() + "." + serviceDonateorgan.getOrganno(); + if (StringUtils.isEmpty(serviceDonateorgan.getDonorno()) || StringUtils.isEmpty(serviceDonateorgan.getOrganno())) { + throw new BaseException("鏂板鏃剁敓鎴愮殑缂栧彿涓虹┖,鍒涘缓澶辫触(璇锋鏌ユ崘鐚�呯紪鍙峰拰鍣ㄥ畼绫诲埆)! 锛�" + serviceDonateorgan.toString()); + } else { + ServiceDonateorgan serviceDonateorgan1 = new ServiceDonateorgan(); + serviceDonateorgan1.setOrgannumber(organNumber); + List<ServiceDonateorgan> listrecord = this.queryList(serviceDonateorgan); + if (listrecord.size() > 0) { + continue; + } + } + serviceDonateorgan.setOrgannumber(organNumber); + log.info("serviceDonateorgan鐨勬暟鎹负: {}", serviceDonateorgan); + boolean save = this.save(serviceDonateorgan); + + } + return serviceDonateorgans; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean editArrayData(List<ServiceDonateorgan> serviceDonateorgans) { + for (ServiceDonateorgan serviceDonateorgan : serviceDonateorgans) { + if (serviceDonateorgan.getId() == null) { + throw new BaseException("id涓虹┖浜� 锛�" + serviceDonateorgan); + } + this.updateById(serviceDonateorgan); + } + //灏嗗甫ID鐨勬暟鎹繑鍥� + return true; + } + @Override public List<DonateNumberByMonth> getDonatePeopleByMonth(TimeVO timeVO) { @@ -809,15 +803,15 @@ List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessMapper.getAllDonatePeopleByTime(timeVO); HashMap<String, Integer> map_organ_count = new HashMap<String, Integer>(); - for(ServiceDonationwitness s : serviceDonationwitnesses){ + for (ServiceDonationwitness s : serviceDonationwitnesses) { Date dt = s.getOperationbegtime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); - map_organ_count.put(month, map_organ_count.getOrDefault(month,0) + 1); + map_organ_count.put(month, map_organ_count.getOrDefault(month, 0) + 1); } - for(Map.Entry<String, Integer> entry: map_organ_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_organ_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -834,15 +828,15 @@ List<ServiceDonatecompletioninfo> serviceDonatecompletioninfos = serviceDonatecompletioninfoMapper.getCompletionDonatePeopleByTime(timeVO); HashMap<String, Integer> map_organ_count = new HashMap<String, Integer>(); - for(ServiceDonatecompletioninfo s : serviceDonatecompletioninfos){ + for (ServiceDonatecompletioninfo s : serviceDonatecompletioninfos) { Date dt = s.getCompletetime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); - map_organ_count.put(month, map_organ_count.getOrDefault(month,0) + 1); + map_organ_count.put(month, map_organ_count.getOrDefault(month, 0) + 1); } - for(Map.Entry<String, Integer> entry: map_organ_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_organ_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -860,15 +854,15 @@ List<ServiceDonateorgan> serviceDonateorgans = serviceDonateorganMapper.getAllDonateOrgansByTime(timeVO); HashMap<String, Integer> map_organ_count = new HashMap<String, Integer>(); - for(ServiceDonateorgan s : serviceDonateorgans){ + for (ServiceDonateorgan s : serviceDonateorgans) { Date dt = s.getOrgangettime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); - map_organ_count.put(month, map_organ_count.getOrDefault(month,0) + 1); + map_organ_count.put(month, map_organ_count.getOrDefault(month, 0) + 1); } - for(Map.Entry<String, Integer> entry: map_organ_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_organ_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -885,19 +879,19 @@ HashMap<String, Integer> map_organ_count = new HashMap<String, Integer>(); List<String> hospitals = new ArrayList<>(); - for(ServiceDonateorgan s : serviceDonateorgans){ + for (ServiceDonateorgan s : serviceDonateorgans) { Date dt = s.getOrgangettime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); String gainHospital = s.getGainhospitalno(); - if(!hospitals.contains(gainHospital)) { + if (!hospitals.contains(gainHospital)) { map_organ_count.put(month, map_organ_count.getOrDefault(month, 0) + 1); hospitals.add(gainHospital); } } - for(Map.Entry<String, Integer> entry: map_organ_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_organ_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -914,19 +908,19 @@ HashMap<String, Integer> map_organ_count = new HashMap<String, Integer>(); List<String> hospitals = new ArrayList<>(); - for(ServiceDonateorgan s : serviceDonateorgans){ + for (ServiceDonateorgan s : serviceDonateorgans) { Date dt = s.getOrgangettime(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(dt); String month = date.substring(0, 7); String acceptHospital = s.getTransplanthospitalno(); - if(!hospitals.contains(acceptHospital)) { + if (!hospitals.contains(acceptHospital)) { map_organ_count.put(month, map_organ_count.getOrDefault(month, 0) + 1); hospitals.add(acceptHospital); } } - for(Map.Entry<String, Integer> entry: map_organ_count.entrySet()) { + for (Map.Entry<String, Integer> entry : map_organ_count.entrySet()) { DonateNumberByMonth d = new DonateNumberByMonth(); d.setDonatemonth(entry.getKey()); d.setDonatecount(entry.getValue()); @@ -936,6 +930,20 @@ return l; } - + @Override + public List<ServiceDonateorgan> countList(ServiceDonateorgan serviceDonateorgan) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + List<SysRole> l = user.getRoles(); + Boolean b = false; + for (SysRole r : l) { + if (r.getRoleId().longValue() == 3) { + b = true; + } + } + if (b) { + serviceDonateorgan.setCreateBy(user.getUserName()); + } + return serviceDonateorganMapper.countList(serviceDonateorgan); + } } -- Gitblit v1.9.3