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; } }
/// <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; } }
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; } }
/// <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; } }
/// <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; } }
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("数据转发程序执行结束!"); }
/// <summary> /// 获取组织机构所有的角色信息 /// </summary> /// <param name="condition">条件</param> /// <returns>同级别菜单列表</returns> public Orgaization GetOrgaRoleList(Orgaization orga) { try { return(new OrgaizationManageDAL().GetOrgaRoleList(orga)); } catch (Exception ex) { throw ex; } }
/// <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; } }
/// <summary> /// 获取组织机构树形列表 /// </summary> /// <returns>数据页</returns> public List <Orgaization> GetSubTreeList(Orgaization orga) { try { return(new OrgaizationManageDAL().GetSubTreeList(orga)); } catch (Exception ex) { throw ex; } }
/// <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; } }
/// <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; } }
/// <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; } }
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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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(); } } }