| | |
| | | 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 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ä¸å¡å±å¤ç |
| | |
| | | } |
| | | |
| | | @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 DCDDonaterNumber = serviceDonationwitnessMapper.getDCDDonaterNumberThisYear(timeVO); |
| | | //æ¬å¹´åº¦DBCDæ¥æºå¨å®æç®è
|
| | | int DBCDDonaterNumber = serviceDonationwitnessMapper.getDBCDDonaterNumberThisYear(timeVO); |
| | | //æ¥åºæ¥çtransferNumberæé®é¢ï¼å
ä¸ç¨äºï¼ç¨ä¸é¢ç¸å çtransferNumber |
| | | 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.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); |
| | | |
| | |
| | | } |
| | | |
| | | @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>(); |
| | |
| | | |
| | | 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; |
| | | } |