From e842ed74b3167075e4f8f0cf76b38ddc53a8fb54 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 12 九月 2025 22:18:48 +0800
Subject: [PATCH] 日志修改
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganServiceImpl.java | 492 ++++++++++++++++++++++++++++--------------------------
1 files changed, 252 insertions(+), 240 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..525832a 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,40 @@
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.common.CalculateDateUtils;
+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.time.LocalDate;
+import java.time.ZoneId;
+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 +66,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 +137,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 +147,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 +161,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 +180,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 +235,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 +257,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 +291,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 +324,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 +341,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 +362,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 +379,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 +393,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 +418,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 +429,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);
@@ -444,8 +445,17 @@
@Override
public List<DonateOrganVO> selectVOList(DonateOrganVO donateOrganVO) {
-
- return serviceDonateorganMapper.selectVOList(donateOrganVO);
+ List<DonateOrganVO> donateOrganVOS = serviceDonateorganMapper.selectVOList(donateOrganVO);
+ for (DonateOrganVO donateOrganVO1:donateOrganVOS) {
+ if (donateOrganVO1.getBirthday() != null) {
+ Map<String, String> map = CalculateDateUtils.calculateAge(donateOrganVO1.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+ donateOrganVO1.setAge(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+ donateOrganVO1.setAgeunit(map.get("ageUnit"));
+ donateOrganVO1.setAge2(org.apache.commons.lang3.ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+ donateOrganVO1.setAgeunit2(map.get("ageUnit2"));
+ }
+ }
+ return donateOrganVOS;
}
@Override
@@ -454,7 +464,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 +482,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 +506,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 +553,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 +626,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 +650,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 +673,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 +697,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 +720,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 +731,75 @@
}
@Override
- public List<organInfoVO> getOrganCount(TimeVO timeVO) {
- List<organInfoVO> l = 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<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());
+ 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
+ @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 +807,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 +832,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 +858,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 +883,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 +912,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 +934,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