|  | @ -39,9 +39,9 @@ public class ComputeHelper {
 | 
	
		
			
				|  |  |             //得到全部团队
 | 
	
		
			
				|  |  |             List<AdminTeam> teams = findAllTeam();
 | 
	
		
			
				|  |  |             //计算数据 返回map key 根据团队和维度拼凑在map中的key   1-2-1  如果维度是长度是0返回团队id 1
 | 
	
		
			
				|  |  |             Map<String,  List<DataModel>> computeMap = computeDataModel(dimensionQuotas, dataModels);
 | 
	
		
			
				|  |  |             Map<String, List<DataModel>> computeMap = computeDataModel(dimensionQuotas, dataModels);
 | 
	
		
			
				|  |  |             //初始化map并且设置统计出来的数目
 | 
	
		
			
				|  |  |             List<SaveModel> savemodels = initAndSetResult(teams, dimensionQuotas, computeMap, wlyyJobConfigVO, endTime,timeLevel);
 | 
	
		
			
				|  |  |             List<SaveModel> savemodels = initAndSetResult(teams, dimensionQuotas, computeMap, wlyyJobConfigVO, endTime, timeLevel);
 | 
	
		
			
				|  |  |             return savemodels;
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
	
		
			
				|  | @ -56,16 +56,16 @@ public class ComputeHelper {
 | 
	
		
			
				|  |  |      * @param dimensionQuotas 该指标的维度
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private Map<String,  List<DataModel>> computeDataModel( List<WlyyDimensionQuota> dimensionQuotas, List<DataModel> dataModels) {
 | 
	
		
			
				|  |  |         Map<String,  List<DataModel>> returnMap = new HashMap<>();
 | 
	
		
			
				|  |  |     private Map<String, List<DataModel>> computeDataModel(List<WlyyDimensionQuota> dimensionQuotas, List<DataModel> dataModels) {
 | 
	
		
			
				|  |  |         Map<String, List<DataModel>> returnMap = new HashMap<>();
 | 
	
		
			
				|  |  |         dataModels.stream().forEach(one -> {
 | 
	
		
			
				|  |  |             String key = getKey(one, dimensionQuotas.size());
 | 
	
		
			
				|  |  |             List<DataModel> sms=new ArrayList<DataModel>();
 | 
	
		
			
				|  |  |             List<DataModel> sms = new ArrayList<DataModel>();
 | 
	
		
			
				|  |  |             if (returnMap.containsKey(key)) {
 | 
	
		
			
				|  |  |                 sms=returnMap.get(key);
 | 
	
		
			
				|  |  |                 sms = returnMap.get(key);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             sms.add(one);
 | 
	
		
			
				|  |  |             returnMap.put(key,sms);
 | 
	
		
			
				|  |  |             returnMap.put(key, sms);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return returnMap;
 | 
	
	
		
			
				|  | @ -123,28 +123,31 @@ public class ComputeHelper {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 初始化map
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private List<SaveModel> initAndSetResult(List<AdminTeam> teams, List<WlyyDimensionQuota> dimensionQuotas, Map<String,  List<DataModel>> countMap,  WlyyJobConfigVO wlyyJobConfigVO, String endTime,String timeLevel) throws Exception {
 | 
	
		
			
				|  |  |     private List<SaveModel> initAndSetResult(List<AdminTeam> teams, List<WlyyDimensionQuota> dimensionQuotas, Map<String, List<DataModel>> countMap, WlyyJobConfigVO wlyyJobConfigVO, String endTime, String timeLevel) throws Exception {
 | 
	
		
			
				|  |  |         List<SaveModel> returnList = new ArrayList<>();
 | 
	
		
			
				|  |  |         Map<String, SaveModel> lastMaps = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //初始化团队的数据
 | 
	
		
			
				|  |  |         for (int i = 0; i < teams.size(); i++) {
 | 
	
		
			
				|  |  |             AdminTeam one = teams.get(i);
 | 
	
		
			
				|  |  |             SaveModel saveModel = new SaveModel();
 | 
	
		
			
				|  |  |             saveModel.setCity("350200");
 | 
	
		
			
				|  |  |             saveModel.setCityName("厦门市");
 | 
	
		
			
				|  |  |             saveModel.setTown(one.getTownCode());
 | 
	
		
			
				|  |  |             saveModel.setTownName(one.getTownName());
 | 
	
		
			
				|  |  |             saveModel.setHospital(one.getOrgCode());
 | 
	
		
			
				|  |  |             saveModel.setHospitalName(one.getOrgName());
 | 
	
		
			
				|  |  |             saveModel.setTeam(one.getId().toString());
 | 
	
		
			
				|  |  |             saveModel.setTeamName(one.getName());
 | 
	
		
			
				|  |  |             saveModel.setQuotaCode(wlyyJobConfigVO.getId());
 | 
	
		
			
				|  |  |             saveModel.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             saveModel.setTimeLevel(timeLevel);
 | 
	
		
			
				|  |  |             saveModel.setAreaLevel("5");//团队
 | 
	
		
			
				|  |  |             saveModel.setQuotaDate(DateUtil.strToDate(endTime,"yyyy-MM-dd"));
 | 
	
		
			
				|  |  |             lastMaps.put(one.getId().toString(), saveModel);
 | 
	
		
			
				|  |  |             //排除测试机构
 | 
	
		
			
				|  |  |             if (one.getOrgCode().length() == 11) {
 | 
	
		
			
				|  |  |                 SaveModel saveModel = new SaveModel();
 | 
	
		
			
				|  |  |                 saveModel.setCity("350200");
 | 
	
		
			
				|  |  |                 saveModel.setCityName("厦门市");
 | 
	
		
			
				|  |  |                 saveModel.setTown(one.getTownCode());
 | 
	
		
			
				|  |  |                 saveModel.setTownName(one.getTownName());
 | 
	
		
			
				|  |  |                 saveModel.setHospital(one.getOrgCode());
 | 
	
		
			
				|  |  |                 saveModel.setHospitalName(one.getOrgName());
 | 
	
		
			
				|  |  |                 saveModel.setTeam(one.getId().toString());
 | 
	
		
			
				|  |  |                 saveModel.setTeamName(one.getName());
 | 
	
		
			
				|  |  |                 saveModel.setQuotaCode(wlyyJobConfigVO.getId());
 | 
	
		
			
				|  |  |                 saveModel.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                 saveModel.setTimeLevel(timeLevel);
 | 
	
		
			
				|  |  |                 saveModel.setAreaLevel("5");//团队
 | 
	
		
			
				|  |  |                 saveModel.setQuotaDate(DateUtil.strToDate(endTime, "yyyy-MM-dd"));
 | 
	
		
			
				|  |  |                 lastMaps.put(one.getId().toString(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //根据维度初始化数据
 | 
	
	
		
			
				|  | @ -158,8 +161,8 @@ public class ComputeHelper {
 | 
	
		
			
				|  |  |                     DictModel dictModel = dictModels.get(j);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     BeanUtils.copyProperties(oneSaveModel.getValue(), saveModelTemp);
 | 
	
		
			
				|  |  |                     SaveModel.class.getMethod("setSlaveKey" + (i + 1) + "Name",String.class).invoke(saveModelTemp, dictModel.getName());
 | 
	
		
			
				|  |  |                     SaveModel.class.getMethod("setSlaveKey" + (i + 1),String.class).invoke(saveModelTemp, dictModel.getCode());
 | 
	
		
			
				|  |  |                     SaveModel.class.getMethod("setSlaveKey" + (i + 1) + "Name", String.class).invoke(saveModelTemp, dictModel.getName());
 | 
	
		
			
				|  |  |                     SaveModel.class.getMethod("setSlaveKey" + (i + 1), String.class).invoke(saveModelTemp, dictModel.getCode());
 | 
	
		
			
				|  |  |                     //根据维度生成新的key
 | 
	
		
			
				|  |  |                     StringBuffer strKey = new StringBuffer(oneSaveModel.getKey() + "-" + dictModel.getCode());
 | 
	
		
			
				|  |  |                     mapTemp.put(strKey.toString(), saveModelTemp);
 | 
	
	
		
			
				|  | @ -171,12 +174,12 @@ public class ComputeHelper {
 | 
	
		
			
				|  |  |         //设置值
 | 
	
		
			
				|  |  |         for (Map.Entry<String, SaveModel> one : lastMaps.entrySet()) {
 | 
	
		
			
				|  |  |             if (countMap.containsKey(one.getKey())) {
 | 
	
		
			
				|  |  |                 List<DataModel> dataModels=countMap.get(one.getKey());
 | 
	
		
			
				|  |  |                 Integer result1=0;
 | 
	
		
			
				|  |  |                 Integer result2=0;
 | 
	
		
			
				|  |  |                 for(int j=0;j<dataModels.size();j++){
 | 
	
		
			
				|  |  |                     DataModel dataModel=dataModels.get(j);
 | 
	
		
			
				|  |  |                     result1+=dataModel.getNum();
 | 
	
		
			
				|  |  |                 List<DataModel> dataModels = countMap.get(one.getKey());
 | 
	
		
			
				|  |  |                 Integer result1 = 0;
 | 
	
		
			
				|  |  |                 Integer result2 = 0;
 | 
	
		
			
				|  |  |                 for (int j = 0; j < dataModels.size(); j++) {
 | 
	
		
			
				|  |  |                     DataModel dataModel = dataModels.get(j);
 | 
	
		
			
				|  |  |                     result1 += dataModel.getNum();
 | 
	
		
			
				|  |  |                     result2++;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 one.getValue().setResult1(result1);
 |