|
@@ -581,6 +581,11 @@ public class ConsoleFacade {
|
|
|
qw.ge("start_date",filterVO.getStartDate()+" 00:00:00");
|
|
|
qw.le("end_date", handleTime(filterVO.getEndDate()));
|
|
|
medIndexResultFacade.remove(qw);
|
|
|
+ QueryWrapper<MedIndexRelevance> qwa = new QueryWrapper<>();
|
|
|
+ qwa.eq("hospital_id",filterVO.getHospitalId());
|
|
|
+ qwa.ge("start_date",filterVO.getStartDate()+" 00:00:00");
|
|
|
+ qwa.le("end_date", handleTime(filterVO.getEndDate()));
|
|
|
+ medIndexRelevanceFacade.remove(qwa);
|
|
|
for (String startTime : timeList) {
|
|
|
filterVO.setStartDate(startTime);
|
|
|
filterVO.setEndDate( handleTime(startTime));
|
|
@@ -600,7 +605,7 @@ public class ConsoleFacade {
|
|
|
MedIndexResult medIndexResult = new MedIndexResult();
|
|
|
List<Map<String, String>> selectOperationNumMap = behospitalInfoFacade.selectOperationNum(filterVO);
|
|
|
if(ListUtil.isNotEmpty(selectOperationNumMap)) {
|
|
|
- //出院人数
|
|
|
+ CopyOnWriteArrayList<String> outHospitalCode = new CopyOnWriteArrayList<>();
|
|
|
CopyOnWriteArrayList<String> operationCode = new CopyOnWriteArrayList<>();
|
|
|
CopyOnWriteArrayList<String> operationPathologyCode = new CopyOnWriteArrayList<>();
|
|
|
CopyOnWriteArrayList<String> antibiosisCode = new CopyOnWriteArrayList<>();
|
|
@@ -608,25 +613,24 @@ public class ConsoleFacade {
|
|
|
filterVO.setFlagStr("2");
|
|
|
List<MedManageParamsDTO> doctorAdviceMedManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
|
Map<String, List<String>> adviceNum = getAdviceNum(filterVO, doctorAdviceMedManageParams);
|
|
|
- Long startCount = (Long.valueOf(selectOperationNumMap.size()));
|
|
|
for (Map<String, String> stringStringMap : selectOperationNumMap) {
|
|
|
+ String behospitalCode = stringStringMap.get("behospitalCode");
|
|
|
+ //出院code
|
|
|
+ outHospitalCode.add(behospitalCode);
|
|
|
if (Double.parseDouble(stringStringMap.get("operationFee"))>0){
|
|
|
- String behospitalCode = stringStringMap.get("behospitalCode");
|
|
|
+ //手术code
|
|
|
operationCode.add(behospitalCode);
|
|
|
}
|
|
|
+ if (Double.parseDouble(stringStringMap.get("operationFee"))>0 && Double.parseDouble(stringStringMap.get("pathologyFee"))>QualityContent.pathologyFee){
|
|
|
+ //病理code
|
|
|
+ operationPathologyCode.add(behospitalCode);
|
|
|
+ }
|
|
|
+ if (Double.parseDouble(stringStringMap.get("antibiosisFee"))>0){
|
|
|
+ //抗菌code
|
|
|
+ antibiosisCode.add(behospitalCode);
|
|
|
+ }
|
|
|
}
|
|
|
- for (Map<String, String> stringStringMap : selectOperationNumMap) {
|
|
|
- if (Double.parseDouble(stringStringMap.get("operationFee"))>0 && Double.parseDouble(stringStringMap.get("pathologyFee"))>QualityContent.pathologyFee){
|
|
|
- String behospitalCode = stringStringMap.get("behospitalCode");
|
|
|
- operationPathologyCode.add(behospitalCode);
|
|
|
- }
|
|
|
- }
|
|
|
- for (Map<String, String> stringStringMap : selectOperationNumMap) {
|
|
|
- if (Double.parseDouble(stringStringMap.get("antibiosisFee"))>0){
|
|
|
- String behospitalCode = stringStringMap.get("behospitalCode");
|
|
|
- antibiosisCode.add(behospitalCode);
|
|
|
- }
|
|
|
- }
|
|
|
+ Long startCount = Long.valueOf(outHospitalCode.size());
|
|
|
//手术人
|
|
|
List<String> operationList = adviceNum.get("operation");
|
|
|
if(ListUtil.isNotEmpty(operationList)){
|
|
@@ -634,18 +638,22 @@ public class ConsoleFacade {
|
|
|
operationCode.add(s);
|
|
|
}
|
|
|
}
|
|
|
- operationFeeNum = Long.valueOf(String.valueOf(operationCode.size()));
|
|
|
+ if(ListUtil.isNotEmpty(operationCode)) {
|
|
|
+ operationFeeNum = Long.valueOf(operationCode.size());
|
|
|
+ }else {
|
|
|
+ operationFeeNum=0L;
|
|
|
+ }
|
|
|
//CT人数
|
|
|
List<String> ctList = adviceNum.get("CT");
|
|
|
Long CTNum=0L;
|
|
|
if(ListUtil.isNotEmpty(ctList)) {
|
|
|
- CTNum = Long.valueOf(String.valueOf(ctList.size()));
|
|
|
+ CTNum = Long.valueOf(ctList.size());
|
|
|
}
|
|
|
//MR人数
|
|
|
List<String> mrList = adviceNum.get("MR");
|
|
|
Long MRNum=0L;
|
|
|
- if(ListUtil.isNotEmpty(ctList)) {
|
|
|
- MRNum = Long.valueOf(String.valueOf(mrList.size()));
|
|
|
+ if(ListUtil.isNotEmpty(mrList)) {
|
|
|
+ MRNum = Long.valueOf(mrList.size());
|
|
|
}
|
|
|
//手术病理人数
|
|
|
List<String> operationPathologyList = adviceNum.get("operationPathology");
|
|
@@ -654,17 +662,22 @@ public class ConsoleFacade {
|
|
|
operationPathologyCode.add(s);
|
|
|
}
|
|
|
}
|
|
|
- Long operationPathologyFeeNum = Long.valueOf(operationPathologyCode.size());
|
|
|
+ Long operationPathologyFeeNum=0L;
|
|
|
+ if(ListUtil.isNotEmpty(operationPathologyCode)) {
|
|
|
+ operationPathologyFeeNum = Long.valueOf(operationPathologyCode.size());
|
|
|
+ }
|
|
|
//抗菌药物人数
|
|
|
|
|
|
List<String> antibiosisList = adviceNum.get("antibiosis");
|
|
|
-
|
|
|
if(ListUtil.isNotEmpty(antibiosisList)) {
|
|
|
for (String s : antibiosisList) {
|
|
|
antibiosisCode.add(s);
|
|
|
}
|
|
|
}
|
|
|
- Long antibiosisFeeNum = Long.valueOf(antibiosisCode.size());
|
|
|
+ Long antibiosisFeeNum =0L;
|
|
|
+ if(ListUtil.isNotEmpty(antibiosisCode)) {
|
|
|
+ antibiosisFeeNum = Long.valueOf(antibiosisCode.size());
|
|
|
+ }
|
|
|
//恶性肿瘤化学治疗人数
|
|
|
List<String> chemotherapyMalignantTumorsList = adviceNum.get("chemotherapyMalignantTumors");
|
|
|
Long chemotherapyMalignantTumorsNum =0L;
|
|
@@ -733,14 +746,31 @@ public class ConsoleFacade {
|
|
|
medIndexRelevance.setStartDate(filterVO.getStartDate());
|
|
|
medIndexRelevance.setEndDate(filterVO.getEndDate());
|
|
|
medIndexRelevance.setGmtCreate(new Date());
|
|
|
- if(ListUtil.isNotEmpty(ctList)) {
|
|
|
- if(ListUtil.isNotEmpty(operationCode)) {
|
|
|
+ if(ListUtil.isNotEmpty(outHospitalCode)) {
|
|
|
medIndexRelevance.setRelevanceType(4);
|
|
|
+ for (String Code : outHospitalCode) {
|
|
|
+ medIndexRelevance.setBehospitalCode(Code);
|
|
|
+ medIndexRelevanceFacade.save(medIndexRelevance);
|
|
|
+ }
|
|
|
+ medIndexRelevance.setRelevanceType(6);
|
|
|
+ for (String Code : outHospitalCode) {
|
|
|
+ medIndexRelevance.setBehospitalCode(Code);
|
|
|
+ medIndexRelevanceFacade.save(medIndexRelevance);
|
|
|
+ }
|
|
|
+ medIndexRelevance.setRelevanceType(7);
|
|
|
+ for (String Code : outHospitalCode) {
|
|
|
+ medIndexRelevance.setBehospitalCode(Code);
|
|
|
+ medIndexRelevanceFacade.save(medIndexRelevance);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ListUtil.isNotEmpty(operationCode)) {
|
|
|
+ medIndexRelevance.setRelevanceType(5);
|
|
|
for (String Code : operationCode) {
|
|
|
medIndexRelevance.setBehospitalCode(Code);
|
|
|
medIndexRelevanceFacade.save(medIndexRelevance);
|
|
|
}
|
|
|
}
|
|
|
+ if(ListUtil.isNotEmpty(ctList)) {
|
|
|
medIndexRelevance.setRelevanceType(8);
|
|
|
for (String CTCode : ctList) {
|
|
|
medIndexRelevance.setBehospitalCode(CTCode);
|