Esempio n. 1
0
        /// <summary>
        /// 修改dtu
        /// </summary>
        /// <param name="context"></param>
        private void EditDTU(HttpContext context)
        {
            try
            {
                string id = context.Request["id"].ToString();

                decimal   zhanbh = decimal.Parse(context.Request["ZHUAN_MC"].ToString());
                DataTable dt     = dtubll.QueryBYdtuid(id);
                if (dt.Rows.Count > 0)
                {
                    var qZhanbh = decimal.Parse(dt.Rows[0]["DEV_CHARGPILE"].ToString().Substring(0, 3));
                    if (qZhanbh != zhanbh)
                    {
                        context.Response.Write("{\"success\":false,\"msg\":\"此DTU关联了充电桩,不能改变其所属场站!\"}");
                        return;
                    }
                }
                string  serid   = context.Request["SERVERID"].ToString();
                string  dtuid   = context.Request["DTUID"].ToString();
                string  dtuxh   = context.Request["DTUTYPE"].ToString();
                string  dtuname = context.Request["DTUNAME"].ToString();
                string  sim     = context.Request["PHONE"].ToString();
                string  spswd   = context.Request["SVRPWD"].ToString();
                DTUInfo dtu     = new DTUInfo();
                dtu.ID       = id;
                dtu.ZHUAN_BH = zhanbh;
                dtu.SERVERID = serid;
                dtu.DTUID    = dtuid;
                dtu.DTUTYPE  = dtuxh;
                dtu.DTUNAME  = dtuname;
                dtu.PHONE    = sim;
                dtu.SVRPWD   = spswd;
                dtubll.EditDTU(dtu);

                //操作日志
                string name = "";
                if (null != context.Session[Constant.LoginUser])
                {
                    name = (context.Session[Constant.LoginUser] as Employer ?? new Employer()).Name;
                }
                else
                {
                    context.Response.Write("{\"success\":true,\"msg\":\"保存成功!\"}");
                }
                new OprLogBll().Add(new OprLog()
                {
                    Operator   = name,
                    OprSrc     = "修改DTU设备,id:" + id,
                    OperResult = "成功",
                    LogDate    = DateTime.Now
                });

                context.Response.Write("{\"success\":true,\"msg\":\"保存成功!\"}");
            }
            catch (Exception e)
            {
                Log.Debug(e);
                context.Response.Write("{\"success\":false,\"msg\":\"保存失败!\"}");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 根据节点id获取下级节点
        /// </summary>
        /// <param name="nodeid"></param>
        /// <returns></returns>
        public string getNode(string nodeid)
        {
            string        nId     = string.Empty;        // 节点id
            string        nName   = string.Empty;        // 节点名称
            StringBuilder NodeStr = new StringBuilder(); //节点json字符串
            DTUInfo       dtu     = new DTUInfo();

            string zhanid = nodeid.Split(':')[0];

            dtu.ZHUAN_BH = decimal.Parse(zhanid);

            NodeStr.Append("[");
            DataTable Dt = QueryDTU(dtu);

            for (int i = 0; i < Dt.Rows.Count; i++)
            {
                string dtuid   = Dt.Rows[i]["ID"].ToString();
                string dtuname = Dt.Rows[i]["DTUNAME"].ToString();
                dtuid = dtuid + ":d";
                NodeStr.Append("{id:'" + dtuid + "',pId:'" + nodeid + "' ,name:'" + dtuname + "',icon:'../../Images/dtu.png'},");
            }
            if (NodeStr.ToString() != "[")
            {
                int n = NodeStr.ToString().LastIndexOf(",");
                NodeStr.Remove(n, 1);
            }
            NodeStr.Append("]");
            return(NodeStr.ToString());
        }
Esempio n. 3
0
        private void UpdateListBox(DTUInfo info)
        {
            if (listBox1.InvokeRequired)
            {
                listBox1.Invoke(new InvokeUpdateListBox(UpdateListBox), new object[] { info });
            }
            else
            {
                if (!info.IsRegisted)
                {
                    return;
                }
                listBox1.Items.Insert(0, string.Format("{0}:DTU-{1}-{2}", info.LoginTime.ToString(), info.IMEIString, info.Online ? "上线" : "离线"));

                if (info.Online)
                {
                    onlineDTU++;
                }
                else
                {
                    onlineDTU--;
                }
                tslDTUCount.Text = string.Format("在线DTU {0}", onlineDTU);

                if (listBox1.Items.Count > 3600)
                {
                    for (int i = 0; i < 1800; i++)
                    {
                        listBox1.Items.RemoveAt(listBox1.Items.Count - 1);
                    }
                }

                // send dtu state to dcdc
                List <byte> sendBuf = new List <byte>();
                sendBuf.AddRange(new byte[] { 0x7e, 0x7e, 0x7e, 0x7e });
                sendBuf.Add(0x02); // dtu status
                sendBuf.Add(0x00);
                sendBuf.Add(0x11);
                sendBuf.AddRange(ASCIIEncoding.Default.GetBytes(info.IMEIString));
                sendBuf.Add((byte)('\0'));

                sendBuf.Add((byte)(info.Online ? 0x01 : 0x00));

                DCCConnInfo[] clients = DataServer.DataTranceiver.Instance.GetDccClient(info.IMEIString);
                foreach (DCCConnInfo client in clients)
                {
                    if (client != null && client.client != null)
                    {
                        NetworkStream ns = client.client.GetStream();

                        if (ns != null && ns.CanWrite)
                        {
                            ns.Write(sendBuf.ToArray(), 0, sendBuf.Count);
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 添加dtu
        /// </summary>
        /// <param name="context"></param>
        private void AddDTU(HttpContext context)
        {
            try
            {
                decimal zhanbh  = decimal.Parse(context.Request["ZHUAN_MC"].ToString());
                string  serid   = context.Request["SERVERID"].ToString();
                string  dtuid   = context.Request["DTUID"].ToString();
                string  dtuxh   = context.Request["DTUTYPE"].ToString();
                string  dtuname = context.Request["DTUNAME"].ToString();
                string  sim     = context.Request["PHONE"].ToString();
                string  spswd   = context.Request["SVRPWD"].ToString();
                string  id      = Guid.NewGuid().ToString();
                DTUInfo dtu     = new DTUInfo();
                dtu.ID       = id;
                dtu.ZHUAN_BH = zhanbh;
                dtu.SERVERID = serid;
                dtu.DTUID    = dtuid;
                dtu.DTUTYPE  = dtuxh;
                dtu.DTUNAME  = dtuname;
                dtu.PHONE    = sim;
                dtu.SVRPWD   = spswd;
                dtubll.AddDTU(dtu);

                //操作日志
                string name = "";
                if (null != context.Session[Constant.LoginUser])
                {
                    name = (context.Session[Constant.LoginUser] as Employer ?? new Employer()).Name;
                }
                else
                {
                    context.Response.Write("{\"success\":true,\"msg\":\"保存成功!\"}");
                }
                new OprLogBll().Add(new OprLog()
                {
                    Operator   = name,
                    OprSrc     = "添加DTU设备,id:" + id,
                    OperResult = "成功",
                    LogDate    = DateTime.Now
                });

                context.Response.Write("{\"success\":true,\"msg\":\"保存成功!\"}");
            }
            catch (Exception e)
            {
                Log.Debug(e);
                context.Response.Write("{\"success\":false,\"msg\":\"保存失败!\"}");
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 获取树节点
        /// </summary>
        public string GetAllNodes()
        {
            string          nId     = string.Empty;        // 节点id
            string          nName   = string.Empty;        // 节点名称
            string          pId     = string.Empty;        // 上级节点id
            StringBuilder   NodeStr = new StringBuilder(); //节点json字符串
            ChargStation    bean    = new ChargStation();
            DTUInfo         dtu     = new DTUInfo();
            ChargStationBll csbll   = new ChargStationBll();

            NodeStr.Append("[");
            DataTable dta = csbll.Queryall(bean);//查询所有充电站

            if (dta.Rows.Count > 0)
            {
                for (int a = 0; a < dta.Rows.Count; a++)
                {
                    decimal zhanbh = decimal.Parse(dta.Rows[a]["zhan_bh"].ToString());
                    string  zhanmc = dta.Rows[a]["zhan_jc"].ToString();
                    dtu.ZHUAN_BH = zhanbh;
                    DataTable dt     = QueryDTU(dtu);//根据充电站查询dtu
                    string    zhanid = zhanbh.ToString() + ":z";
                    NodeStr.Append("{id:'" + zhanid + "',pId:0,name:'" + zhanmc + "', icon:'../../Images/1_open.png',isParent:true },");
                    if (dt.Rows.Count > 0)
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            string dtuid   = dt.Rows[i]["ID"].ToString();
                            string dtuname = dt.Rows[i]["DTUNAME"].ToString();
                            dtuid = dtuid + ":d";
                            NodeStr.Append("{id:'" + dtuid + "',pId:'" + zhanid + "',name:'" + dtuname + "', icon:'../../Images/dtu.png' },");
                        }
                    }
                }
            }
            if (NodeStr.ToString() != "[")
            {
                int n = NodeStr.ToString().LastIndexOf(",");
                NodeStr.Remove(n, 1);
            }
            NodeStr.Append("]");
            return(NodeStr.ToString());
        }
Esempio n. 6
0
 /// <summary>
 /// 查询dtu
 /// </summary>
 /// <param name="bean"></param>
 /// <returns></returns>
 public DataTable QueryDTU(DTUInfo bean)
 {
     return(dtudal.QueryDTU(bean));
 }
Esempio n. 7
0
 /// <summary>
 /// 修改dtu
 /// </summary>
 /// <param name="bean"></param>
 public void EditDTU(DTUInfo bean)
 {
     dtudal.EditDTU(bean);
 }
Esempio n. 8
0
 /// <summary>
 /// 添加DTU
 /// </summary>
 /// <param name="bean"></param>
 public void AddDTU(DTUInfo bean)
 {
     dtudal.AddDTU(bean);
 }
Esempio n. 9
0
        private void UpdateListView(DTUInfo info)
        {
            if (listView1.InvokeRequired)
            {
                listView1.Invoke(new InvokeUpdateListView(UpdateListView), new object[] { info });
            }
            else
            {
                if (!info.IsRegisted)
                {
                    return;
                }
                bool bExist = false;
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    if (listView1.Items[i].Text.Equals(info.IMEIString))
                    {
                        bExist = true;
                        listView1.Items[i].Text             = info.IMEIString;
                        listView1.Items[i].SubItems[1].Text = info.DtuPosition;
                        listView1.Items[i].SubItems[2].Text = info.SimNumber;
                        listView1.Items[i].SubItems[3].Text = info.LoginTime.ToString("yyyy-MM-dd HH:mm:ss");
                        listView1.Items[i].SubItems[4].Text = info.LogoffTime.ToString("yyyy-MM-dd HH:mm:ss");
                        listView1.Items[i].SubItems[5].Text = info.RemoteIPAddress;
                        listView1.Items[i].SubItems[6].Text = info.Online ? "在线" : "离线";
                        listView1.Items[i].SubItems[7].Text = info.LastTickTime.ToString("yyyy-MM-dd HH:mm:ss");
                        listView1.Items[i].SubItems[8].Text = info.TickSpan.ToString();
                        StringBuilder sb = new StringBuilder();

                        foreach (string p2pImei in info.ListP2PDTU)
                        {
                            sb.Append(p2pImei);
                            sb.Append(";");
                        }
                        if (sb.Length > 0)
                        {
                            sb = sb.Remove(sb.Length - 1, 1);
                        }
                        listView1.Items[i].SubItems[9].Text = sb.ToString();
                    }
                }
                if (bExist == false)
                {
                    ListViewItem item = new ListViewItem(info.IMEIString);

                    item.SubItems.Add(info.DtuPosition);
                    item.SubItems.Add(info.SimNumber);
                    item.SubItems.Add(info.LoginTime.ToString("yyyy-MM-dd HH:mm:ss"));
                    item.SubItems.Add(info.LogoffTime.ToString("yyyy-MM-dd HH:mm:ss"));
                    item.SubItems.Add(info.RemoteIPAddress);
                    item.SubItems.Add(info.Online ? "在线" : "离线");
                    item.SubItems.Add(info.LastTickTime.ToString("yyyy-MM-dd HH:mm:ss"));
                    item.SubItems.Add(info.TickSpan.ToString());
                    StringBuilder sb = new StringBuilder();

                    foreach (string p2pImei in info.ListP2PDTU)
                    {
                        sb.Append(p2pImei);
                        sb.Append(";");
                    }
                    if (sb.Length > 0)
                    {
                        sb = sb.Remove(sb.Length - 1, 1);
                    }
                    item.SubItems.Add(sb.ToString());
                    listView1.Items.Add(item);
                }
            }
        }