Esempio n. 1
0
        /// <summary>
        ///     导出Excel
        /// </summary>
        /// <param name="sheet">导入所在的工作表</param>
        /// <param name="lambda">查询条件</param>
        /// <returns>数据</returns>
        public void ExportExcel(ISheet sheet, LambdaItem <TData> lambda)
        {
            var datas = Access.All(lambda);

            OnDataLoaded?.Invoke(datas);
            WriteToSheet(sheet, datas);
        }
Esempio n. 2
0
        /// <summary>
        ///     导出Excel
        /// </summary>
        /// <param name="sheet">导入所在的工作表</param>
        /// <param name="lambda">查询条件</param>
        /// <returns>数据</returns>
        public void ExportExcel(ISheet sheet, Expression <Func <TData, bool> > lambda)
        {
            var datas = Access.All(lambda);

            OnDataLoaded?.Invoke(datas);
            WriteToSheet(sheet, datas);
        }
Esempio n. 3
0
        /// <summary>
        ///     载入完整的结构树(UI相关)
        /// </summary>
        /// <returns></returns>
        public List <EasyUiTreeNode> LoadTreeRootForUi()
        {
            var rootNode = new EasyUiTreeNode
            {
                ID         = -1,
                IsOpen     = true,
                Icon       = "icon-tree-folder",
                Attributes = "root",
                Text       = "系统页面",
                IsFolder   = true
            };
            var roots = Access.All(p => p.ItemType == PageItemType.Root, p => p.Index, false);

            foreach (var root in roots)
            {
                var node = new EasyUiTreeNode
                {
                    ID         = root.Id,
                    IsOpen     = true,
                    Tag        = root.Name,
                    Icon       = "icon-tree-folder",
                    Attributes = root.ItemType.ToString(),
                    Text       = root.Caption,
                    IsFolder   = true
                };
                LoadTreeForUi(root.Id, node);
                rootNode.Children.Add(node);
            }
            return(new List <EasyUiTreeNode> {
                rootNode
            });
        }
Esempio n. 4
0
        /// <summary>
        ///     导出Excel
        /// </summary>
        /// <param name="sheet">导入所在的工作表</param>
        /// <returns>数据</returns>
        public void ExportExcel(ISheet sheet)
        {
            var datas = Access.All();

            OnDataLoad?.Invoke(datas);
            WriteToSheet(sheet, datas);
        }
Esempio n. 5
0
        private void SaveButtonItem(long pid, string element, string caption, string action, bool isButton = true)
        {
            var b = Access.All(p => p.ParentId == pid && p.ExtendValue == action);

            if (b.Count != 0)
            {
                for (int i = 1; i < b.Count; i++)
                {
                    Access.PhysicalDelete(b[i].Id);
                }
                b[0].Caption     = caption;
                b[0].Name        = isButton ? element : action;
                b[0].ExtendValue = action;
                b[0].ItemType    = isButton ? PageItemType.Button : PageItemType.Action;
                b[0].Memo        = caption;
                Access.Update(b[0]);
            }
            //else
            //{
            //    Access.Insert(new PageItemData
            //    {
            //        ParentId = pid,
            //        ItemType = isButton ? PageItemType.Button : PageItemType.Action,
            //        Name = isButton ? element : action,
            //        Caption = caption,
            //        Memo = caption,
            //        ExtendValue = action
            //    });
            //}
        }
        /// <summary>
        ///     生成完整的组织结构树(UI相关)
        /// </summary>
        /// <returns></returns>
        public void CreateAreaTree(RedisProxy proxy)
        {
            var root  = CreateRootNode();
            var lists = Access.All(p => p.DataState < DataStateType.Delete);

            CreateAreaTree(root, lists, proxy);
        }
        /// <summary>
        ///     载入完整的组织结构树(用于编辑)
        /// </summary>
        /// <returns></returns>
        internal OrganizationData[] LoadEditTree()
        {
            var root  = new OrganizationData();
            var lists = Access.All(p => p.DataState < DataStateType.Delete);

            SetChildren(root, 0, lists);
            return(root.Children);
        }
 /// <summary>
 ///     生成完整的组织结构树(UI相关)
 /// </summary>
 /// <returns></returns>
 private void CreateFullOrgTree(RedisProxy proxy)
 {
     using (SystemContextScope.CreateScope())
     {
         var root  = CreateRootNode();
         var lists = Access.All(p => p.DataState < DataStateType.Delete);
         CreateOrgTree(root, lists, proxy);
     }
 }
        /// <summary>
        ///     载入完整的组织结构树(包含职位)
        /// </summary>
        /// <returns></returns>
        internal void CreateOrgPosTree(RedisProxy proxy)
        {
            var root     = CreateRootNode();
            var orgs     = Access.All(p => p.DataState < DataStateType.Delete);
            var opAccess = new OrganizePositionDataAccess();
            var posts    = opAccess.All(p => p.DataState < DataStateType.Delete);

            CreateOrgPosTree(0, proxy, root, orgs, posts);
        }
        /// <summary>
        ///     同步更改到下级
        /// </summary>
        /// <param name="entity">数据</param>
        private void SyncChild(OrganizationData entity)
        {
            Access.Update(entity);
            var children = Access.All(p => p.ParentId == entity.Id);

            foreach (var child in children)
            {
                SyncTreeInfo(entity, child);
            }
        }
        /// <summary>
        ///     载入完整的组织结构树
        /// </summary>
        /// <returns></returns>
        internal OrganizationData[] LoadTree(int pid)
        {
            var lists = Access.All(p => p.DataState < DataStateType.Delete);
            var root  = lists.FirstOrDefault(p => p.Id == pid);

            if (root == null)
            {
                return(null);
            }
            SetChildren(root, pid, lists);
            return(new[] { root });
        }
Esempio n. 12
0
        /// <summary>
        ///     载入完整的结构树(UI相关)
        /// </summary>
        /// <returns></returns>
        public void LoadTreeForUi(long pid, EasyUiTreeNode parent)
        {
            var childs = Access.All(p => p.ParentId == pid && p.ItemType <= PageItemType.Page);

            if (childs.Count == 0)
            {
                return;
            }
            foreach (var child in childs.OrderBy(p => p.Index))
            {
                var node = new EasyUiTreeNode
                {
                    ID         = child.Id,
                    IsOpen     = true,
                    Tag        = child.Name,
                    Attributes = child.ItemType.ToString(),
                    Text       = child.Caption,
                    IsFolder   = true
                };
                switch (child.ItemType)
                {
                case PageItemType.Folder:
                    node.Icon   = "icon-tree-folder";
                    node.IsOpen = false;
                    break;

                case PageItemType.Page:
                    node.Icon = "icon-tree-page";
                    break;

                case PageItemType.Action:
                    node.Icon = "icon-tree-action";
                    break;

                case PageItemType.Button:
                    node.Icon = "icon-tree-button";
                    break;
                }
                LoadTreeForUi(child.Id, node);
                parent.Children.Add(node);
            }
        }
Esempio n. 13
0
 /// <summary>
 /// 缓存
 /// </summary>
 private void DoCache()
 {
     using (SystemContextScope.CreateScope())
     {
         using (MySqlDataBaseScope.CreateScope(Access.DataBase))
         {
             var pAccess = new PositionPersonnelDataAccess();
             foreach (var pos in pAccess.All())
             {
                 SyncUser(pos);
             }
             var users = Access.All();
             using (var proxy = new RedisProxy(RedisProxy.DbSystem))
             {
                 foreach (var user in users)
                 {
                     Cache(proxy, user);
                 }
             }
         }
     }
 }
Esempio n. 14
0
        /// <summary>
        ///     导出Excel
        /// </summary>
        /// <param name="sheet">导入所在的工作表</param>
        /// <returns>数据</returns>
        public void ExportExcel(ISheet sheet)
        {
            var datas = Access.All();

            WriteToSheet(sheet, datas);
        }
 /// <summary>
 /// 取机构隶属表
 /// </summary>
 /// <param name="oid"></param>
 public List <SubjectionData> GetOrganizationSubjection(int oid)
 {
     return(Access.All(p => p.MasterId == oid));
 }
Esempio n. 16
0
        public JobInfo GetJobInfo(int id)
        {
            JobInfo info = new JobInfo
            {
                Job = Details(id)
            };

            if (info.Job == null)
            {
                return(info);
            }
            var alls = Access.All(p => p.LinkId == info.Job.LinkId && p.EntityType == info.Job.EntityType);

            InitJobByUi(info.Job);
            foreach (var job in alls)
            {
                job.FromUserName = UserJobDataAccess.GetUserName(job.FromUserId);
                job.ToUserName   = UserJobDataAccess.GetUserName(job.ToUserId);
                JobItem       item = new JobItem();
                StringBuilder head = new StringBuilder();
                if (job.JobType == UserJobType.Edit)
                {
                    item.Icon = "wf_edit.png";
                    if (!string.IsNullOrWhiteSpace(job.FromUserName))
                    {
                        head.Append(job.FromUserName);
                        if (job.Date > DateTime.MinValue)
                        {
                            head.Append($"({job.Date:yyyy-MM-dd HH:mm:ss})");
                        }
                    }
                    else if (info.Data != null)
                    {
                        head.Append(UserJobDataAccess.GetUserName(info.Data.AuthorID));
                        if (info.Data.AddDate > DateTime.MinValue)
                        {
                            head.Append($"({info.Data.AddDate:yyyy-MM-dd HH:mm:ss})");
                        }
                    }
                }
                else if (job.JobType == UserJobType.Audit)
                {
                    switch (job.JobStatus)
                    {
                    case JobStatusType.Trans:
                        item.Icon = "wf_trans.png";
                        break;

                    case JobStatusType.Notify:
                        item.Icon = "wf_notify.png";
                        break;

                    //case JobStatusType.None:
                    default:
                        item.Icon = "wf_audit.png";
                        break;

                    case JobStatusType.Succeed:
                        item.Icon = "wf_succeed.png";
                        break;

                    case JobStatusType.Canceled:
                        item.Icon = "wf_canceled.png";
                        break;

                    case JobStatusType.NoHit:
                        item.Icon = "wf_failed.png";
                        break;
                    }
                    head.AppendFormat("{0} > {1}", job.FromUserName ?? "系统", job.ToUserName ?? "系统");
                    if (job.Date > DateTime.MinValue)
                    {
                        head.Append($"({job.Date:yyyy-MM-dd HH:mm:ss})");
                    }
                }
                else
                {
                    if (job.ToUserId != BusinessContext.Current.LoginUserId)
                    {
                        continue;
                    }
                    item.Icon = "wf_notify.png";
                    head.AppendFormat("{0} > {1}", job.FromUserName ?? "系统", job.ToUserName ?? "系统");
                    if (job.Date > DateTime.MinValue)
                    {
                        head.Append($"({job.Date:yyyy-MM-dd HH:mm:ss})");
                    }
                }
                item.Title   = head.ToString();
                item.Message = job.Message;
                info.Items.Add(item);
            }
            return(info);
        }