Example #1
0
        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);
        }
Example #3
0
        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);
        }