|
@@ -2480,12 +2480,28 @@ public MedQualityControlDTO medicalRecordIndicator(FilterRecordVO filterRecordVO
|
|
|
*/
|
|
|
public MedQualityControlDTO getMedManageIndex(FilterVO filterVO) {
|
|
|
Map<String, Object> baseIndex = behospitalInfoFacade.getBaseIndex(filterVO);
|
|
|
+ Map<String, Object> entryCountMap = behospitalInfoFacade.getCountByEntry(filterVO);
|
|
|
MedQualityControlDTO medQualityControlDTO = new MedQualityControlDTO();
|
|
|
//指标一、二、三、二十七
|
|
|
medQualityControlDTO = ManageIndexMethod(medQualityControlDTO, baseIndex, filterVO);
|
|
|
+ //指标十七
|
|
|
+ medQualityControlDTO = ruleIndexMethod(medQualityControlDTO, baseIndex, entryCountMap);
|
|
|
return medQualityControlDTO;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private MedQualityControlDTO ruleIndexMethod(MedQualityControlDTO medQualityControlDTO, Map<String, Object> baseIndex, Map<String, Object> entryCountMap){
|
|
|
+ if(entryCountMap.containsKey("WardRoundAmount") && baseIndex.containsKey("thrMouthNum") && entryCountMap.get("WardRoundAmount").toString()!="0"){
|
|
|
+ //指标十七
|
|
|
+ DecimalFormat df = new DecimalFormat("0.0");
|
|
|
+ double firDouble = Double.parseDouble(baseIndex.get("thrMouthNum").toString())-Double.parseDouble(entryCountMap.get("WardRoundAmount").toString());
|
|
|
+ double thrMouthNum = Double.parseDouble(baseIndex.get("thrMouthNum").toString());
|
|
|
+ medQualityControlDTO.setWardRoundNum( Double.parseDouble(df.format(firDouble/thrMouthNum)));
|
|
|
+ };
|
|
|
+ return medQualityControlDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private MedQualityControlDTO ManageIndexMethod(MedQualityControlDTO medQualityControlDTO, Map<String, Object> baseIndex,FilterVO filterVO){
|
|
|
QueryWrapper<MedManagementInfo> query = new QueryWrapper<>();
|
|
|
query.eq("hospital_id", filterVO.getHospitalId())
|