| 
					
				 | 
			
			
				@ -193,8 +193,8 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(BaseTownDO one:areaCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<SaveModel> townList = findDateQuotaLevel1(startDate, endDate, one.getCode(), 3, "121", "1", null, type);//区 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<SaveModel> orgList = findDateQuotaLevel1(startDate, endDate, one.getCode(), 3, "121", "1", "4", type);//机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<SaveModel> townList = findDateQuotaLevel1(startDate, endDate, one.getCode(), 3, "22", "1", null, type);//区 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<SaveModel> orgList = findDateQuotaLevel1(startDate, endDate, one.getCode(), 3, "22", "1", "4", type);//机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, List<SaveModel>> map = townList.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, List<SaveModel>> map1 = orgList.stream().collect(Collectors.groupingBy(SaveModel::getHospital)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -259,7 +259,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> doorServiceOrderAnalyzeHead(String area,String startDate,String endDate, Integer type,Integer level)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> resultMap = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String low_level = String.valueOf(level + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> esModelList = findDateQuotaLevel1(startDate, endDate, area, level, "121", "1", low_level, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> esModelList = findDateQuotaLevel1(startDate, endDate, area, level, "22", "1", low_level, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DecimalFormat df = new DecimalFormat("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (esModelList != null && esModelList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, List<SaveModel>> map2 = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -296,7 +296,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            lowLevel = String.valueOf(level + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> esModelList = findDateQuotaLevel1(startDate, endDate, area, level, "121", "1", lowLevel, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> esModelList = findDateQuotaLevel1(startDate, endDate, area, level, "22", "1", lowLevel, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, List<SaveModel>> map = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DecimalFormat df = new DecimalFormat("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (esModelList != null && esModelList.size() > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1179,7 +1179,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("doorPatientServiceCount", doorPatientService); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取上门服务资质服务人群分析,到达量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> voucherList = findDateQuotaLevel1(endDate, endDate, area, level, "133", "2", level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> voucherList = findDateQuotaLevel1(endDate, endDate, area, level, "23", "2", level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("voucherList", voucherList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取上门服务处方主诊断疾病分析 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1193,8 +1193,8 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("itemList", itemList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取服务工单排行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> orderList = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, "121", "1", null, level + ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = findDateQuotaLevel1(startDate, endDate, area, level, "121", "1", level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> orderList = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, "22", "1", null, level + ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = findDateQuotaLevel1(startDate, endDate, area, level, "22", "1", level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, List<SaveModel>> map = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        resMap.put("orderList", orderList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算服务评价均分 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1284,7 +1284,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getOrderLowlevelAll(String startDate, String endDate, String area, int level, int sort, String lowLevel, String year) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //工单状态列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = findDateQuotaLevel1(startDate, endDate, area, level, "121", "1", lowLevel, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = findDateQuotaLevel1(startDate, endDate, area, level, "22", "1", lowLevel, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, List<SaveModel>> map1 = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (SaveModel.OrgLevel.equals(lowLevel)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map1 = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getHospital)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1374,11 +1374,11 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = statisticsUtilService.getStartDate(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //已服务居民 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long servedPatientNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"178",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long servedPatientNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"26",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务工单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long serviceOrderNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"121","5,6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long serviceOrderNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"22","5,6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //开具处方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long doorPrescriptionNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"134",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long doorPrescriptionNum = statisticsUtilService.getTotalAmountDDLOrZL(startDate,endDate,area,level,"24",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("serviceOrderNum", serviceOrderNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("doorPrescriptionNum", doorPrescriptionNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("servedPatientNum", servedPatientNum); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1386,11 +1386,11 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ddlOrZl = statisticsUtilService.getDDLOrZL(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务费用:上门服务的开单以及处方收入费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> priceList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "177", ddlOrZl, null, "020", null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> priceList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "25", ddlOrZl, null, "020", null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("totalPrice", priceList.get(0).getResult1()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> doorServiceTypeList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "121", ddlOrZl, null, statisticsUtilService.commonParams, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> doorServiceTypeList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "22", ddlOrZl, null, statisticsUtilService.commonParams, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> doorServiceTypeList2 = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long patientOrderNum = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(SaveModel saveModel:doorServiceTypeList){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1408,7 +1408,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("doorServiceTypeList", doorServiceTypeList2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务人群分析,到达量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> voucherList = findDateQuotaLevel1(endDate, endDate, area, level, "133", ddlOrZl, level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> voucherList = findDateQuotaLevel1(endDate, endDate, area, level, "23", ddlOrZl, level + "", null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> voucherList2 = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        voucherList.forEach(one->voucherList2.add(statisticsUtilService.slaveKay1ToMapLong(one))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resMap.put("voucherList", voucherList2); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1428,7 +1428,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> serviceOrderTrend(String area, int level, String startDate, String endDate,String interval) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //新增服务工单趋势 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> serviceOrderList = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, "121", SaveModel.timeLevel_ZL, interval, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> serviceOrderList = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, "22", SaveModel.timeLevel_ZL, interval, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        serviceOrderList.forEach(one->list.add(statisticsUtilService.saveModelToMap(one))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1447,7 +1447,7 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        startDate = statisticsUtilService.getStartDate(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ddlOrZl = statisticsUtilService.getDDLOrZL(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> doorServiceTypeList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "177", ddlOrZl, "xmijk_quota","020", null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> doorServiceTypeList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "25", ddlOrZl, "xmijk_quota","020", null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (SaveModel saveModel:doorServiceTypeList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNoneBlank(saveModel.getSlaveKey1())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                list.add(statisticsUtilService.slaveKay1ToMapLong2(saveModel)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1485,9 +1485,9 @@ public class DoorStatisticAnalyzeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String ddlOrZl = statisticsUtilService.getDDLOrZL(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务工单数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList1 = elasticsearchUtil.findDateQuotaLevel0BySlaveKey1(startDate, endDate, area, level, "121", ddlOrZl,null, lowLevel,"5,6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList1 = elasticsearchUtil.findDateQuotaLevel0BySlaveKey1(startDate, endDate, area, level, "22", ddlOrZl,null, lowLevel,"5,6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "177", ddlOrZl, slaveKey1,"020", null, lowLevel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> slaveList = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "25", ddlOrZl, slaveKey1,"020", null, lowLevel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("服务工单数:"+slaveList1.size() + " , 服务费用数:" + slaveList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (SaveModel saveModel:slaveList1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> map = statisticsUtilService.getMapTurnDownResult2(saveModel, lowLevel, "num"); 
			 |