Esempio n. 1
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            Orgaization          info = new Orgaization();
            OrgaizationManageBLL bll  = null;

            try
            {
                UIBindHelper.BindModelByControls(this.Page, info);

                bll = BLLFactory.CreateBLL <OrgaizationManageBLL>();
                info.OrganParent = this.HiParentID.Value;
                if (this.hiID.Value == "")
                {
                    bll.Insert(info);
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "parent.addNode('" + info.OrganID + "','" + info.OrganDESC + "');parent.closeAppWindow1();", true);
                }
                else
                {
                    info.CreateUser  = this.HiCREATEUSER.Value;
                    info.CreateTime  = DateTime.Parse(this.HiCREATETIME.Value);
                    info.OrganID     = this.hiID.Value;
                    info.OrganParent = this.HiParentID.Value;
                    bll.Update(info);
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "parent.editNode('" + info.OrganID + "','" + info.OrganDESC + "');parent.closeAppWindow1();", true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 删除组织机构信息
        /// </summary>
        /// <param name="orga">组织机构信息</param>
        /// <returns>删除个数</returns>
        public int Delete(Orgaization orga)
        {
            int    count = 0;
            string sql   = null;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //先删除组织机构所有权限信息
                    sql   = "DELETE T_ORGAIZATIONAUTHORITY WHERE ORGANID=@ORGANID";
                    count = session.ExecuteSql(sql, new DataParameter {
                        ParameterName = "ORGANID", DataType = DbType.String, Value = orga.OrganID
                    });



                    //删除组织机构信息
                    sql   = "UPDATE T_ORGANIZATION SET DELFLAG = '1' WHERE ORGANID=@ORGANID";
                    count = session.ExecuteSql(sql, new DataParameter {
                        ParameterName = "ORGANID", DataType = DbType.String, Value = orga.OrganID
                    });


                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        private void BindData()
        {
            string id = Request.QueryString["id"];
            OrgaizationManageBLL bll  = null;
            Orgaization          info = new Orgaization();

            try
            {
                bll = BLLFactory.CreateBLL <OrgaizationManageBLL>();
                if (string.IsNullOrEmpty(id) == false)
                {
                    info.OrganID = id;
                    info         = bll.Get(info);

                    UIBindHelper.BindForm(this.Page, info);
                    this.hiID.Value         = info.OrganID;
                    this.HiCREATEUSER.Value = info.CreateUser;
                    this.HiCREATETIME.Value = info.CreateTime.ToString();
                    this.HiParentID.Value   = info.OrganParent;
                }
                else
                {
                    this.HiParentID.Value = Request.QueryString["parentID"];
                    info = new Orgaization();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 获取组织机构信息
        /// </summary>
        /// <param name="orga">条件</param>
        /// <returns>组织机构信息</returns>
        public Orgaization Get(Orgaization orga)
        {
            string sql = null;
            List <DataParameter> parameters = new List <DataParameter>();
            Orgaization          tmporga    = new Orgaization();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //获取用户信息
                    sql = "SELECT ORGANID,ORGANDESC,ORGANPARENT,CREATEUSER,CREATETIME,UPDATEUSER,UPDATETIME,DELFLAG FROM T_ORGANIZATION AS A WHERE ORGANID=@ORGANID";

                    parameters.Add(new DataParameter {
                        ParameterName = "ORGANID", DataType = DbType.String, Value = orga.OrganID
                    });

                    tmporga = session.Get <Orgaization>(sql, parameters.ToArray());
                }


                return(tmporga);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 插入组织机构信息
        /// </summary>
        /// <param name="orga">组织机构信息</param>
        /// <returns>插入数</returns>
        public int Insert(Orgaization orga)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    orga.DelFlag = "0";
                    if (String.IsNullOrEmpty(orga.OrganParent))
                    {
                        orga.OrganParent = "0";
                    }
                    //插入基本信息
                    session.Insert <Orgaization>(orga);

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 6
0
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine("数据转发程序执行开始");

            if (CommonCache.organList != null && CommonCache.organList.Count > 0)
            {
                //循环企业列表
                foreach (KeyValuePair <string, Orgaization> th in CommonCache.organList)
                {
                    if (th.Value != null)
                    {
                        Thread temp = null;
                        //判断企业在线程集合中是否存在
                        bool result = CommonCache.threadList.TryGetValue(th.Key, out temp);
                        //缓存中保存的企业对应的线程不为空说明上次的线程没有执行完..本次不执行
                        if (!result || temp == null)
                        {
                            //企业列表不为空时起动多线程
                            Orgaization organ   = th.Value;
                            Thread      vThread = new Thread(ThreadFun);
                            //企业及对应的线程ID放入到缓存中
                            CommonCache.threadList.TryAdd(th.Key, vThread);
                            vThread.Start(organ);   // 开始执行线程,传递参数
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("未查询到机构列表!" + DateTime.Now);
            }


            Console.WriteLine("数据转发程序执行结束!");
        }
Esempio n. 7
0
 /// <summary>
 /// 获取组织机构所有的角色信息
 /// </summary>
 /// <param name="condition">条件</param>
 /// <returns>同级别菜单列表</returns>
 public Orgaization GetOrgaRoleList(Orgaization orga)
 {
     try
     {
         return(new OrgaizationManageDAL().GetOrgaRoleList(orga));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 8
0
 /// <summary>
 /// 判断组织机构编号是否重复
 /// </summary>
 /// <param name="orga">组织机构信息</param>
 /// <returns>true:已存在;fasel:不存在。</returns>
 public bool ExistsOrga(Orgaization orga)
 {
     try
     {
         return(new OrgaizationManageDAL().ExistsOrga(orga));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 9
0
 /// <summary>
 /// 获取组织机构树形列表
 /// </summary>
 /// <returns>数据页</returns>
 public List <Orgaization> GetSubTreeList(Orgaization orga)
 {
     try
     {
         return(new OrgaizationManageDAL().GetSubTreeList(orga));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 10
0
        /// <summary>
        /// 删除组织机构信息
        /// </summary>
        /// <param name="role">组织机构信息</param>
        /// <returns>删除行数</returns>
        public int Delete(Orgaization organ)
        {
            int count = 0;

            try
            {
                count = new OrgaizationManageDAL().Delete(organ);
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 11
0
 /// <summary>
 /// 更新组织机构
 /// </summary>
 /// <param name="role">组织机构信息</param>
 /// <returns>更新个数</returns>
 public int Update(Orgaization organ)
 {
     try
     {
         organ.UpdateUser = this.LoginUser.UserID;
         organ.UpdateTime = DateTime.Now;
         organ.DelFlag    = "0";
         return(new OrgaizationManageDAL().Update(organ));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 12
0
        /// <summary>
        /// 插入组织机构
        /// </summary>
        /// <param name="orga">组织机构信息</param>
        /// <returns>插入数</returns>
        public int Insert(Orgaization organ)
        {
            try
            {
                organ.OrganID    = Guid.NewGuid().ToString();
                organ.CreateTime = DateTime.Now;
                organ.UpdateTime = organ.CreateTime;

                return(new OrgaizationManageDAL().Insert(organ));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 13
0
        private void BindData()
        {
            OrgaizationManageBLL bll       = null;
            Orgaization          condition = new Orgaization();
            List <Orgaization>   list      = null;

            try
            {
                bll = BLLFactory.CreateBLL <OrgaizationManageBLL>();

                list = bll.GetAllList();

                this.hiOrganList.Value = this.GetTreeNodes(list);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 获取同一级别的所有组织机构数列表
        /// </summary>
        /// <param name="condition">条件</param>
        /// <returns>同级别菜单列表</returns>
        public List <Orgaization> GetSubTreeList(Orgaization orga)
        {
            try
            {
                List <DataParameter> parameters = new List <DataParameter>();
                List <Orgaization>   list       = null;
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    string sql = "SELECT * FROM T_ORGANIZATION WHERE DELFLAG='0' AND ORGAPARENT=@ORGAPARENT";
                    parameters.Add(new DataParameter {
                        ParameterName = "ORGAPARENT", DataType = DbType.String, Value = orga.OrganParent
                    });
                    list = session.GetList <Orgaization>(sql, parameters.ToArray()).ToList();
                }

                return(list);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 15
0
        /// <summary>
        /// 判断组织机构编号是否重复
        /// </summary>
        /// <param name="orga">组织机构信息</param>
        /// <returns>true:已存在;fasel:不存在。</returns>
        public bool ExistsOrga(Orgaization orga)
        {
            string organID = "";
            int    count   = 0;
            string sql     = null;

            try
            {
                if (string.IsNullOrEmpty(orga.OrganID) == false)
                {
                    organID = orga.OrganID;
                }

                sql = "SELECT COUNT(*) FROM T_ORGANIZATION WHERE OrganID <> @OrganID OR ORGANDESC=@ORGANDESC";

                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    count = (int)session.ExecuteSqlScalar(sql, new DataParameter {
                        ParameterName = "OrganID", Value = organID
                    }
                                                          , new DataParameter {
                        ParameterName = "ORGANDESC", Value = orga.OrganDESC
                    });
                }

                if (count > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 16
0
        /// <summary>
        /// 更新组织机构
        /// </summary>
        /// <param name="orga">组织机构</param>
        /// <returns>更新个数</returns>
        public int Update(Orgaization orga)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //更新基本信息
                    count = session.Update <Orgaization>(orga);

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 17
0
        /// <summary>
        /// 获取组织机构所有的角色信息
        /// </summary>
        /// <param name="condition">条件</param>
        /// <returns>同级别菜单列表</returns>
        public Orgaization GetOrgaRoleList(Orgaization orga)
        {
            try
            {
                Orgaization          list       = new Orgaization();
                StringBuilder        sb         = new StringBuilder();
                List <DataParameter> parameters = new List <DataParameter>();
                list.OrgaRoleList = new List <RoleInfo>();
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    sb.Append("SELECT * FROM T_ROLE WHERE  1=1 ");
                    //如果组织机构list不为空,那么证明是非admin登陆
                    if (orga.Orgas != null)
                    {
                        sb.Append(" AND EXISTS (SELECT ORGANID FROM T_ORGANIZATION WHERE T_ROLE.ORGANID = ORGANID AND ( 1!=1 ");
                        int tmpcount = 0;
                        foreach (var item in orga.Orgas)
                        {
                            sb.Append(" OR ORGANID=@ORGANID" + tmpcount);
                            parameters.Add(new DataParameter {
                                ParameterName = "ORGANID" + tmpcount, DataType = DbType.String, Value = item.OrganID
                            });
                            tmpcount++;
                        }
                        sb.Append("))");
                    }

                    list.OrgaRoleList = session.GetList <RoleInfo>(sb.ToString(), parameters.ToArray()).ToList();
                }

                return(list);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 18
0
        /// <summary>
        /// 线程方法
        /// </summary>
        /// <param name="pObj"></param>
        void ThreadFun(object pObj) // 来自委托:ParameterizedThreadStart
        {
            Orgaization organEntity = (Orgaization)pObj;

            try
            {
                //根据企业ID.获取对应企业的服务地址
                OrganInfo organInfo = null;
                CommonCache.organServiceList.TryGetValue(organEntity.OrganID, out organInfo);

                if (organInfo == null)
                {
                    Console.WriteLine("当前企业(" + organEntity.OrganDESC + ")下没有配置服务地址,请联系管理员!");
                    return;
                }

                ServiceReference1.Service1Client sc = new ServiceReference1.Service1Client("BasicHttpBinding_IService1", organInfo.ServiceAddress);

                //WCF未正常开放时.结束当前企业的循环
                if (sc.State == CommunicationState.Closed || sc.State == CommunicationState.Faulted)
                {
                    Console.WriteLine("未能连接客户端服务,请联系管理员!");
                    return;
                }

                //设备列表
                List <DeviceInfo> deviceList = null;
                //根据企业ID获取企业下的设备列表
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    string sql = "SELECT Id,DeviceCode,DeviceName FROM aifishingep.deviceinfo T WHERE T.ORGANID = @OrganID ORDER BY DeviceCode ";
                    List <DataParameter> dataParameter = new List <DataParameter>();
                    dataParameter.Add(new DataParameter {
                        ParameterName = "OrganID", DataType = DbType.String, Value = organEntity.OrganID
                    });
                    //插入基本信息
                    deviceList = session.GetList <DeviceInfo>(sql, dataParameter.ToArray()).ToList();
                }

                if (deviceList == null || deviceList.Count == 0)
                {
                    Console.WriteLine("当前企业下没有可用设备,请联系管理员!");
                    return;
                }

                //循环设备
                foreach (DeviceInfo di in deviceList)
                {
                    HandleResult handleResult = null;
                    //判断企业的数据记录表中是不有记录.没有记录从数据库中取现有数据的最小日期
                    using (IDataSession session = AppDataFactory.CreateMainSession())
                    {
                        string sql = @"SELECT MAX(HandleEndTime) AS HandleEndTime FROM aifishingep.exchangeresult T 
                                        WHERE T.ORGANID = @OrganID AND T.DeviceSN = @DeviceSN";
                        List <DataParameter> dataParameter = new List <DataParameter>();
                        dataParameter.Add(new DataParameter {
                            ParameterName = "OrganID", DataType = DbType.String, Value = organEntity.OrganID
                        });
                        dataParameter.Add(new DataParameter {
                            ParameterName = "DeviceSN", DataType = DbType.String, Value = di.DeviceSN
                        });
                        //获取转发记录中时间的最大值
                        handleResult = session.Get <HandleResult>(sql, dataParameter.ToArray());
                    }
                    //查询的起始时间
                    DateTime st;
                    //如果没有已处理记录
                    if (handleResult != null && handleResult.HandleEndTime != new DateTime())
                    {
                        st = handleResult.HandleEndTime;
                    }
                    else
                    {
                        Console.WriteLine("当前企业没数据转发记录!");
                        //查询设备ID的最小日期值
                        st = getMinDate(di.DeviceSN);
                    }

                    //起始时间不存在或者没有记录
                    if (st == null || st == new DateTime())
                    {
                        continue;
                    }

                    //st = DateTime.Parse("2018-03-28 21:01:02");

                    //取出当前时间的前一分钟
                    DateTime currTime = DateTime.Now.AddMilliseconds(eachHandleLastTime);

                    //起始时间+设置的时间间隔.计算出理论结束时间
                    DateTime et = st.AddMilliseconds(eachHandleTime);
                    //跳出循环flag
                    bool looping = true;
                    while (looping)
                    {
                        //理论结束时间大于当前时间时.使用当前时间获取数据
                        if (et >= currTime)
                        {
                            //当前时间的前一分钟设置为结束时间
                            et = currTime;
                            //执行完成后要退回循环
                            looping = false;
                        }

                        bool handResult = doSaveData(sc, organEntity.OrganID, di.DeviceSN, st, et);

                        //数据未成功保存时,跳出当前循环
                        if (!handResult)
                        {
                            Console.WriteLine("转发企业(" + organEntity.OrganDESC + ")-设备(" + di.DeviceSN + ")-起始时间(" + st.ToString("yyyy-MM-dd HH:mm:ss") + ")-结束时间(" + et.ToString("yyyy-MM-dd HH:mm:ss") + "),发生异常请联系管理员!");
                            break;
                        }

                        //没有退出循环.继续增加指定时间
                        if (looping)
                        {
                            st = et;
                            //循环完.再为结束时间增加指定间隔的时间量
                            et = et.AddMilliseconds(eachHandleTime);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Thread oldThread = null;
                //清空缓存中企业对应的线程信息
                CommonCache.threadList.TryGetValue(organEntity.OrganID, out oldThread);
                if (oldThread.ThreadState != ThreadState.Stopped)
                {
                    CommonCache.threadList.TryRemove(organEntity.OrganID, out oldThread);
                    oldThread.Abort();
                }
            }
        }