|
@@ -2837,3 +2837,106 @@ public class YtiotVDataServiceImpl implements YtiotVDataService {
|
|
|
}else
|
|
|
point_code = q_json.getString("point_code");
|
|
|
}
|
|
|
+ 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) {
|
|
|
+ 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(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+") ";
|
|
|
+
|
|
|
+ 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!=null)
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_id")+" like '%"+device_id+"%' ";
|
|
|
+ if(device_id_list!=null)
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_id")+" ("+device_id_list+") ";
|
|
|
+ if(dwtype!=null) {
|
|
|
+ if(dwtype.equals("2")||dwtype.equals("5"))
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("dwtype")+" in (2,5) ";
|
|
|
+ else
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("dwtype")+" = "+dwtype+" ";
|
|
|
+ }
|
|
|
+ if(dwtype_list!=null)
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("dwtype")+" in ("+dwtype+") ";
|
|
|
+ if(point_code!=null)
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("point_code")+" = "+point_code+" ";
|
|
|
+ if(point_code_list!=null)
|
|
|
+ hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("point_code")+" in ("+point_code+") ";
|
|
|
+ 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";
|
|
|
+ }
|
|
|
+ if(totalCount>0) {
|
|
|
+ List<?> list = ytiotVDataDao.SyncStatusQuery(hqlwhere, order_str, dir, Start, Limit);
|
|
|
+ if(list.size()>0) {
|
|
|
+ Date date = new Date();
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(date);
|
|
|
+ calendar.add(Calendar.DATE, -1);
|
|
|
+ date = calendar.getTime();
|
|
|
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String datime =df.format(date);
|
|
|
+ for(int i=0;i<list.size();i++) {
|
|
|
+ YtiotVSyncStatus o = (YtiotVSyncStatus)list.get(i);
|
|
|
+ YtiotVSyncStatusId oid = o.getId();
|
|
|
+ String bzsql15 = null;
|
|
|
+ bzsql15 = "SELECT device_id,IF((data_time<'"+datime+"'),0,1) AS connected FROM ytiot_v_sync_status WHERE device_id = '"+oid.getDeviceId().toString()+"' AND point_code = 2";
|
|
|
+ List bzlist15 = ytiotVAlarmDao.queryBySQL(bzsql15);
|
|
|
+ Object [] bzrow = (Object [])bzlist15.get(0);
|
|
|
+ @SuppressWarnings("rawtypes")
|
|
|
+ Map<String, Comparable> map = new HashMap<String, Comparable>();
|
|
|
+ map.put("ordIdx", Integer.parseInt(Start)+i+1);
|
|
|
+ map.put("company", oid.getCompany());
|
|
|
+ map.put("company_code", oid.getCompanyCode());
|
|
|
+ map.put("content", oid.getContent());
|
|
|
+ map.put("data_time", df.format(oid.getDataTime()));
|
|
|
+ map.put("device_id", oid.getDeviceId());
|
|
|
+ map.put("dwtype", oid.getDwtype());
|
|
|
+ map.put("id", oid.getId());
|
|
|
+ map.put("name", oid.getName());
|
|
|
+ map.put("point_code", oid.getPointCode());
|
|
|
+ map.put("point_data", oid.getPointData());
|
|
|
+ map.put("connected", Integer.parseInt(bzrow[1].toString())==1?"正常":"离线");
|
|
|
+ JSONObject jSONObject = JSONObject.fromObject(map);
|
|
|
+ jSONArray.add(jSONObject);
|
|
|
+ }
|
|
|
+ json.put("RESULT", jSONArray);
|
|
|
+ }
|
|
|
+ }
|