|  | @@ -927,3 +927,187 @@ public class YtiotVDataServiceImpl implements YtiotVDataService {
 | 
	
		
			
				|  |  |  					map.put("point_data", oid.getPointData());
 | 
	
		
			
				|  |  |  					JSONObject jSONObject = JSONObject.fromObject(map);
 | 
	
		
			
				|  |  |  					jSONArray.add(jSONObject);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				json.put("RESULT", jSONArray);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return json.toString();
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  | +	public String getSyncwaterDataVList(String queryJson, String page, String start, String limit, String sort)
 | 
	
		
			
				|  |  | +			throws Exception {
 | 
	
		
			
				|  |  | +		// TODO Auto-generated method stub
 | 
	
		
			
				|  |  | +		String company_code = null;
 | 
	
		
			
				|  |  | +		String company_code_list = null;
 | 
	
		
			
				|  |  | +		String device_id = null;
 | 
	
		
			
				|  |  | +		String device_id_list = null;
 | 
	
		
			
				|  |  | +		String device_type = null;
 | 
	
		
			
				|  |  | +		String dwtype = null;
 | 
	
		
			
				|  |  | +		String dwtype_list = null;
 | 
	
		
			
				|  |  | +		String point_code = null;
 | 
	
		
			
				|  |  | +		String point_code_list = null;
 | 
	
		
			
				|  |  | +		String id = null;
 | 
	
		
			
				|  |  | +		String id_list = null;
 | 
	
		
			
				|  |  | +		String company = null;
 | 
	
		
			
				|  |  | +		String data_time_start = null;
 | 
	
		
			
				|  |  | +		String data_time_end = null;
 | 
	
		
			
				|  |  | +		String name = null;
 | 
	
		
			
				|  |  | +		String Company_Code_List = null;
 | 
	
		
			
				|  |  | +		String V_LOGINNAME = null;
 | 
	
		
			
				|  |  | +		String hqlwhere = null;
 | 
	
		
			
				|  |  | +		String order = null;
 | 
	
		
			
				|  |  | +		String dir = null;
 | 
	
		
			
				|  |  | +		String Start = null;
 | 
	
		
			
				|  |  | +		String Limit = null;
 | 
	
		
			
				|  |  | +		String Page = null;
 | 
	
		
			
				|  |  | +		String order_str = null;
 | 
	
		
			
				|  |  | +		JSONObject q_json = null;
 | 
	
		
			
				|  |  | +		JSONArray Sort = null;
 | 
	
		
			
				|  |  | +		JSONArray jSONArray = new JSONArray();
 | 
	
		
			
				|  |  | +		JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  | +		json.put("action", "getSyncDataVList");
 | 
	
		
			
				|  |  | +		if(queryJson!=null) {
 | 
	
		
			
				|  |  | +			q_json = JSONObject.fromObject(queryJson);
 | 
	
		
			
				|  |  | +			if(q_json.has("company_code")) {
 | 
	
		
			
				|  |  | +				if((q_json.optJSONObject("company_code")!=null)&&(q_json.optJSONObject("company_code").isArray())) {
 | 
	
		
			
				|  |  | +					JSONArray j_tmp = q_json.getJSONArray("company_code");
 | 
	
		
			
				|  |  | +					for(int i=0;i<j_tmp.size();i++) {
 | 
	
		
			
				|  |  | +						if(i==0)
 | 
	
		
			
				|  |  | +							company_code_list = j_tmp.getString(i);
 | 
	
		
			
				|  |  | +						else
 | 
	
		
			
				|  |  | +							company_code_list += ","+j_tmp.getString(i);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}else
 | 
	
		
			
				|  |  | +					company_code = q_json.getString("company_code");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(q_json.has("device_id")) {
 | 
	
		
			
				|  |  | +				if((q_json.optJSONObject("device_id")!=null)&&(q_json.optJSONObject("device_id").isArray())) {
 | 
	
		
			
				|  |  | +					JSONArray j_tmp = q_json.getJSONArray("device_id");
 | 
	
		
			
				|  |  | +					for(int i=0;i<j_tmp.size();i++) {
 | 
	
		
			
				|  |  | +						if(i==0)
 | 
	
		
			
				|  |  | +							device_id_list = j_tmp.getString(i);
 | 
	
		
			
				|  |  | +						else
 | 
	
		
			
				|  |  | +							device_id_list += ","+j_tmp.getString(i);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}else
 | 
	
		
			
				|  |  | +					device_id = q_json.getString("device_id");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +					for(int i=0;i<2;i++) {
 | 
	
		
			
				|  |  | +						if(i==0)
 | 
	
		
			
				|  |  | +							dwtype_list = "2";
 | 
	
		
			
				|  |  | +						else
 | 
	
		
			
				|  |  | +							dwtype_list += ","+"5";
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +					for(int i=0;i<2;i++) {
 | 
	
		
			
				|  |  | +						if(i==0)
 | 
	
		
			
				|  |  | +							point_code_list = "2";
 | 
	
		
			
				|  |  | +						else
 | 
	
		
			
				|  |  | +							point_code_list += ","+"3"+","+"4";
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +			if(q_json.has("id")) {
 | 
	
		
			
				|  |  | +				if((q_json.optJSONObject("id")!=null)&&(q_json.optJSONObject("id").isArray())) {
 | 
	
		
			
				|  |  | +					JSONArray j_tmp = q_json.getJSONArray("id");
 | 
	
		
			
				|  |  | +					for(int i=0;i<j_tmp.size();i++) {
 | 
	
		
			
				|  |  | +						if(i==0)
 | 
	
		
			
				|  |  | +							id_list = j_tmp.getString(i);
 | 
	
		
			
				|  |  | +						else
 | 
	
		
			
				|  |  | +							id_list += ","+j_tmp.getString(i);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}else
 | 
	
		
			
				|  |  | +					id = q_json.getString("id");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			company = q_json.has("company")?q_json.getString("company"):null;
 | 
	
		
			
				|  |  | +			data_time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
 | 
	
		
			
				|  |  | +			data_time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
 | 
	
		
			
				|  |  | +			name = q_json.has("name")?q_json.getString("name"):null;
 | 
	
		
			
				|  |  | +			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(sort!=null) {
 | 
	
		
			
				|  |  | +			Sort = JSONArray.fromObject(sort);
 | 
	
		
			
				|  |  | +			if((Sort.isArray())&&(Sort.size()>0)) {
 | 
	
		
			
				|  |  | +				JSONObject s_json = Sort.getJSONObject(0);
 | 
	
		
			
				|  |  | +				order = s_json.has("property")?s_json.getString("property"):order;
 | 
	
		
			
				|  |  | +				dir = s_json.has("direction")?s_json.getString("direction"):dir;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			json.put("sort", sort);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Start = start;
 | 
	
		
			
				|  |  | +		Limit = limit;
 | 
	
		
			
				|  |  | +		Page = page;
 | 
	
		
			
				|  |  | +		if((V_LOGINNAME!=null)&&(!V_LOGINNAME.equals("admin"))&&(company_code==null)&&(company_code_list==null)) {
 | 
	
		
			
				|  |  | +			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
 | 
	
		
			
				|  |  | +			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
 | 
	
		
			
				|  |  | +			if(list.size()>0) {
 | 
	
		
			
				|  |  | +				for(int i=0;i<list.size();i++) {
 | 
	
		
			
				|  |  | +					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
 | 
	
		
			
				|  |  | +					YtiotVUsercompanyId oid = o.getId();
 | 
	
		
			
				|  |  | +					if(i==0)
 | 
	
		
			
				|  |  | +						Company_Code_List = oid.getOwnerCode();
 | 
	
		
			
				|  |  | +					else
 | 
	
		
			
				|  |  | +						Company_Code_List += ","+oid.getOwnerCode();
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(device_id!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_id")+" = '"+device_id+"' ";
 | 
	
		
			
				|  |  | +		else {
 | 
	
		
			
				|  |  | +			if(company!=null) {
 | 
	
		
			
				|  |  | +				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("owner_name")+" like '%"+company+"%' ";
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(Company_Code_List!=null)
 | 
	
		
			
				|  |  | +				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
 | 
	
		
			
				|  |  | +			else {
 | 
	
		
			
				|  |  | +				if(company_code!=null)
 | 
	
		
			
				|  |  | +					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" like '%"+company_code+"%' ";
 | 
	
		
			
				|  |  | +				if(company_code_list!=null)
 | 
	
		
			
				|  |  | +					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
 | 
	
		
			
				|  |  | +			}			
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(device_id_list!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_id")+" in ("+device_id_list+") ";
 | 
	
		
			
				|  |  | +		if(dwtype!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("dwtype")+" = "+dwtype+" ";
 | 
	
		
			
				|  |  | +		if(dwtype_list!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("dwtype")+" in ("+dwtype_list+") ";
 | 
	
		
			
				|  |  | +		if(point_code!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("point_code")+" in ("+point_code+") ";
 | 
	
		
			
				|  |  | +		if(point_code_list!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("point_code")+" in ("+point_code_list+") ";
 | 
	
		
			
				|  |  | +		if(id!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("id")+" = "+id+" ";
 | 
	
		
			
				|  |  | +		if(id_list!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("id")+" in ("+id_list+") ";
 | 
	
		
			
				|  |  | +		if(data_time_start!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("data_time")+" >= '"+data_time_start+"' ";
 | 
	
		
			
				|  |  | +		if(data_time_end!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("data_time")+" <= '"+data_time_end+"' ";
 | 
	
		
			
				|  |  | +		if(name!=null)
 | 
	
		
			
				|  |  | +			hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("name")+" like '%"+name+"%' ";
 | 
	
		
			
				|  |  | +		int totalCount = ytiotVDataDao.getSyncStatusCount(hqlwhere);
 | 
	
		
			
				|  |  | +		json.put("totalCount", totalCount);
 | 
	
		
			
				|  |  | +		if(Start!=null){
 | 
	
		
			
				|  |  | +			if(Integer.parseInt(Start)>totalCount){
 | 
	
		
			
				|  |  | +				Start = "0";
 | 
	
		
			
				|  |  | +				Page = "0";
 | 
	
		
			
				|  |  | +			}else if(page==null)
 | 
	
		
			
				|  |  | +				Page="0";
 | 
	
		
			
				|  |  | +		}else{
 | 
	
		
			
				|  |  | +			Start = "0";
 | 
	
		
			
				|  |  | +			Page = "0";
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		json.put("page", Page);
 | 
	
		
			
				|  |  | +		json.put("start", Start);
 | 
	
		
			
				|  |  | +		json.put("limit", Limit);
 | 
	
		
			
				|  |  | +		if(order!=null) {
 | 
	
		
			
				|  |  | +			order_str = " order by data_time ";
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +		} else {
 | 
	
		
			
				|  |  | +			order_str = " order by device_id ";
 | 
	
		
			
				|  |  | +			dir = "DESC";
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(totalCount>0) {
 | 
	
		
			
				|  |  | +			List<?> list = ytiotVDataDao.SyncStatusQuery(hqlwhere, order_str, dir, Start, Limit);
 |