From fb4d7127cd860b39e1c1c4242cfbbc09a659fc7a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 26 七月 2024 17:54:35 +0800 Subject: [PATCH] 变更 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java | 147 ++++++++++++++++++------------------------------- 1 files changed, 54 insertions(+), 93 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 8e32765..f230e30 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,13 +1,15 @@ 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; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.*; @@ -17,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涓氬姟灞傚鐞� @@ -122,6 +121,9 @@ if (serviceDonateorgan.getTransplanttime() != null) { wrappers.eq(ServiceDonateorgan::getTransplanttime, serviceDonateorgan.getTransplanttime()); } + if (serviceDonateorgan.getEstimatedtime() != null) { + wrappers.eq(ServiceDonateorgan::getEstimatedtime, serviceDonateorgan.getEstimatedtime()); + } return this.list(wrappers); } @@ -142,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"); @@ -239,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); @@ -253,7 +246,7 @@ og.setDonateTransferRate(transferRate); } - //鏈勾搴︾Щ妞嶅櫒瀹樻暟閲� + //鏈勾搴︾Щ妞嶅櫒瀹樻暟閲忥紙鍚純鐢級 int organTransplantNumber = serviceDonateorganMapper.getAllFinishedOrgansThisYear(timeVO); //鏈勾搴BD鏉ユ簮鍣ㄥ畼鎹愮尞鑰� int DBDDonaterNumber = serviceDonationwitnessMapper.getDBDDonaterNumberThisYear(timeVO); @@ -261,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); @@ -299,7 +295,15 @@ og.setMarginOrganRate(0.0); og.setGermPositiveRate(0.0); } else { - double organUsedRate = (double) organTransplantNumber / (double) getOrganNumber; + 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; @@ -715,34 +719,33 @@ } @Override - 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<>(); + public Map<String, Object> getOrganCount(TimeVO timeVO) { + Map<String, Object> map = new HashMap<>(); + List<OrganInfoVO> organInfoVOList = new ArrayList<>(); + Integer countSum = 0; + Integer abandonCountSum = 0; 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); + DistinctOrgansCount distinctOrgansCount = serviceDonateorganMapper.getDistinctOrgansCount(sysDictData.getDictValue(), timeVO.getStarttime(), timeVO.getEndtime(), timeVO.getCity(), timeVO.getReporterno()); + OrganInfoVO organ = new OrganInfoVO(); + organ.setOrganNo(sysDictData.getDictValue()); + organ.setCount(distinctOrgansCount.getGainsum()); + organ.setAbandonCount(distinctOrgansCount.getAbandonCount()); + countSum = countSum + distinctOrgansCount.getGainsum(); + abandonCountSum = abandonCountSum + distinctOrgansCount.getAbandonCount(); + organInfoVOList.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); - } - - return l; + map.put("countSum", countSum); + map.put("abandonCountSum", abandonCountSum); + map.put("organInfoVOList", organInfoVOList); + return map; } @Override @@ -768,17 +771,6 @@ log.info("serviceDonateorgan鐨勬暟鎹负: {}", serviceDonateorgan); boolean save = this.save(serviceDonateorgan); - -// //淇濆瓨service_organallocation -// ServiceOrganallocation serviceOrganallocation = new ServiceOrganallocation(); -// serviceOrganallocation.setAgeunit(serviceDonateorgan.getAgeunit()); -// serviceOrganallocation.setApplicanttime(serviceDonateorgan.getApplicanttime()); -// serviceOrganallocation.setIdcardno(serviceDonateorgan.getIdcardno()); -// serviceOrganallocation.setIdcardtype(Long.valueOf(serviceDonateorgan.getIdcardtype())); -// serviceOrganallocation.setOrganid(serviceDonateorgan.getId()); -// serviceOrganallocation.setOrgannumber(serviceDonateorgan.getOrgannumber()); -// log.info("serviceOrganallocation鐨勬暟鎹负: {}", serviceOrganallocation); -// serviceOrganallocationService.save(serviceOrganallocation); } return serviceDonateorgans; } @@ -796,52 +788,6 @@ return true; } - -// @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; -// } @Override public List<DonateNumberByMonth> getDonatePeopleByMonth(TimeVO timeVO) { @@ -976,5 +922,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