public ResponseResult getXiaoDaiCarSeach(Dictionary <string, string> inparams) { ResponseResult Result = null; try { ComSqlHelper csh = new ComSqlHelper(); string sysflag = inparams["sysflag"]; string uid = inparams["sysuid"]; string carno = inparams["carno"]; string vin = inparams["vin"]; string active = inparams["active"]; string lockstatus = inparams["lockstatus"]; string timelimit = inparams["timelimit"]; //调用存储过程查询车辆数据 SqlParameter[] Parameters0 = new SqlParameter[6]; Parameters0[0] = new SqlParameter("@Uid", Int32.Parse(uid)); Parameters0[1] = new SqlParameter("@CarNo", carno); Parameters0[2] = new SqlParameter("@DPH", vin); Parameters0[3] = new SqlParameter("@Activ", Int32.Parse(active)); Parameters0[4] = new SqlParameter("@Lockstatus", Int32.Parse(lockstatus)); Parameters0[5] = new SqlParameter("@TimeLimit", Int32.Parse(timelimit)); DataTable dt = csh.FillDataSet(sysflag, WebProc.Proc("QWGProc_JFQZ_QueryCarInfo"), Parameters0).Tables[0]; //查询车辆的在线状态填充到数据表中 List <long> cids = new List <long>(); foreach (DataRow dr in dt.Rows) { cids.Add(long.Parse(dr["CID"].ToString())); } monitor mo = new monitor(); WebGIS.RealtimeDataServer.CarRealData[] realdata = mo.CarRealDataByCids(sysflag, cids.ToArray()); DataColumn dc = new DataColumn(); dc.ColumnName = "os"; dc.DefaultValue = "停止"; dt.Columns.Add(dc); DataColumn dc1 = new DataColumn(); dc1.ColumnName = "alarmstr"; dc1.DefaultValue = "正常"; dt.Columns.Add(dc1); Dictionary <long, string> carOnlineStatus = new Dictionary <long, string>(); Dictionary <long, string> carAlarmStr = new Dictionary <long, string>(); foreach (WebGIS.RealtimeDataServer.CarRealData w in realdata) { carOnlineStatus.Add(w.Carid, w.OnlineStatusStr); carAlarmStr.Add(w.Carid, w.AlarmStr); } foreach (DataRow dr in dt.Rows) { long cid = long.Parse(dr["CID"].ToString()); if (carOnlineStatus.ContainsKey(cid)) { dr["os"] = carOnlineStatus[cid]; dr["alarmstr"] = carAlarmStr[cid]; } } int Total = dt.Rows.Count; ResList res = new ResList(); res.page = 0; res.size = 0; res.total = Total; res.records = dt; res.isallresults = 1; Result = new ResponseResult(ResState.Success, "", res); } catch (Exception ex) { Result = new ResponseResult(ResState.OperationFailed, ex.Message, ""); } return(Result); }
private DataTable GetRemindData(string sysflag, DataTable cardt, DataTable carmaintenancedt, string remindmileage) { DataTable dtResult = new DataTable(); dtResult.Columns.Add("CID"); dtResult.Columns.Add("CarNo"); dtResult.Columns.Add("SimCode"); dtResult.Columns.Add("OwnTel"); dtResult.Columns.Add("Mileage"); dtResult.Columns.Add("MaintenanceMileage"); dtResult.Columns.Add("MaintenanceTime"); dtResult.Columns.Add("MaintenanceInterval"); dtResult.Columns.Add("MaintenanceContent"); int len = cardt.Rows.Count; if (len > 0) { List <long> cidlist = new List <long>(); for (int i = 0; i < len; i++) { cidlist.Add(Convert.ToInt64(cardt.Rows[i]["cid"].ToString())); } monitor mon = new monitor(); WebGIS.RealtimeDataServer.CarRealData[] RealData = mon.CarRealDataByCids(sysflag, cidlist.ToArray()); for (int i = 0; i < len; i++) { DataRow dr = dtResult.NewRow(); string cid = cardt.Rows[i]["cid"].ToString(); string carno = cardt.Rows[i]["carno"].ToString(); string simcode = cardt.Rows[i]["sim"].ToString(); string owntel = cardt.Rows[i]["cownt"].ToString(); int curmiles = 0; dr["CID"] = cid; dr["CarNo"] = carno; dr["SimCode"] = simcode; dr["OwnTel"] = owntel; WebGIS.RealtimeDataServer.CarRealData realtimeData = GetOneCarRealData(RealData, cid); if (realtimeData != null) { curmiles = realtimeData.SumMiles; } dr["Mileage"] = curmiles.ToString(); if (carmaintenancedt != null && carmaintenancedt.Rows.Count > 0) { DataRow[] drArr = carmaintenancedt.Select("CID=" + cid.ToString()); if (drArr.Length > 0) { int LastMaintenanceMileage = Convert.ToInt32(drArr[0]["MaintenanceMileage"].ToString()); int LastMaintenanceInterval = Convert.ToInt32(drArr[0]["MaintenanceInterval"].ToString()); if (Int32.Parse(remindmileage) == 0) { dr["MaintenanceMileage"] = drArr[0]["MaintenanceMileage"].ToString(); dr["MaintenanceTime"] = drArr[0]["MaintenanceTime"].ToString(); dr["MaintenanceInterval"] = drArr[0]["MaintenanceInterval"].ToString(); dr["MaintenanceContent"] = drArr[0]["MaintenanceContent"].ToString(); dtResult.Rows.Add(dr); } else { if (Int32.Parse(remindmileage) != 0 && ((LastMaintenanceMileage + LastMaintenanceInterval - curmiles) <= Int32.Parse(remindmileage))) { dr["MaintenanceMileage"] = drArr[0]["MaintenanceMileage"].ToString(); dr["MaintenanceTime"] = drArr[0]["MaintenanceTime"].ToString(); dr["MaintenanceInterval"] = drArr[0]["MaintenanceInterval"].ToString(); dr["MaintenanceContent"] = drArr[0]["MaintenanceContent"].ToString(); dtResult.Rows.Add(dr); } } } else { dr["MaintenanceMileage"] = ""; dr["MaintenanceTime"] = ""; dr["MaintenanceInterval"] = ""; dr["MaintenanceContent"] = ""; dtResult.Rows.Add(dr); } } else { dr["MaintenanceMileage"] = ""; dr["MaintenanceTime"] = ""; dr["MaintenanceInterval"] = ""; dr["MaintenanceContent"] = ""; dtResult.Rows.Add(dr); } } } return(dtResult); }
public ResponseResult getCarDetailSearch(Dictionary <string, string> inparams) { ResponseResult Result = null; try { ComSqlHelper csh = new ComSqlHelper(); string sysflag = inparams["sysflag"]; string uid = inparams["sysuid"]; string cid = inparams["cid"]; //调用存储过程查询车辆数据 SqlParameter[] Parameters0 = new SqlParameter[1]; Parameters0[0] = new SqlParameter("@cid", long.Parse(cid)); DataTable dt = csh.FillDataSet(sysflag, WebProc.Proc("QWGProc_JFQZ_GetCarInfoByCid"), Parameters0).Tables[0]; //查询车辆的在线状态填充到数据表中 List <long> cids = new List <long>(); foreach (DataRow dr in dt.Rows) { cids.Add(long.Parse(dr["CID"].ToString())); } monitor mo = new monitor(); WebGIS.RealtimeDataServer.CarRealData[] realdata = mo.CarRealDataByCids(sysflag, cids.ToArray()); DataColumn dc = new DataColumn(); dc.ColumnName = "os"; dc.DefaultValue = "停止"; dt.Columns.Add(dc); Dictionary <long, string> carOnlineStatus = new Dictionary <long, string>(); foreach (WebGIS.RealtimeDataServer.CarRealData w in realdata) { carOnlineStatus.Add(w.Carid, w.OnlineStatusStr); } foreach (DataRow dr in dt.Rows) { long thecid = long.Parse(dr["CID"].ToString()); if (carOnlineStatus.ContainsKey(thecid)) { dr["os"] = carOnlineStatus[thecid]; } } int Total = dt.Rows.Count; ResList res = new ResList(); res.page = 0; res.size = 0; res.total = Total; res.records = dt; res.isallresults = 1; Result = new ResponseResult(ResState.Success, "", res); } catch (Exception ex) { Result = new ResponseResult(ResState.OperationFailed, ex.Message, ""); } return(Result); }