Esempio n. 1
0
 private void AddSkipProcess(string workId, FlowNodeEntity node, IRepositoryBase db)
 {
     if (node != null && !string.IsNullOrEmpty(node.Id))
     {
         ApprovalProcessEntity appproEntity = new ApprovalProcessEntity();
         appproEntity.Create();
         appproEntity.WorkId         = workId;
         appproEntity.ApprovalStatus = (int)ApprovalStatus.Pass;
         appproEntity.NodeId         = node.Id;
         appproEntity.NodeName       = node.Name;
         appproEntity.Description    = string.Empty;
         appproEntity.IsStart        = false;
         appproEntity.IsEnd          = false;
         appproEntity.IsSkip         = true;
         var LoginInfo = OperatorProvider.Provider.GetCurrent();
         if (LoginInfo != null)
         {
             appproEntity.ApprovalUserId   = LoginInfo.UserId;
             appproEntity.ApprovalUserName = LoginInfo.UserName;
         }
         db.Insert(appproEntity);
     }
     else
     {
         throw new Exception("当前节点异常!");
     }
 }
Esempio n. 2
0
        private bool IsSkipLastNode(string workId, string lastNodeId)
        {
            bool bResult = false;

            using (var db = new RepositoryBase())
            {
                ApprovalProcessEntity approvalProcessEntity = db.IQueryable <ApprovalProcessEntity>(m => m.WorkId == workId &&
                                                                                                    m.NodeId == lastNodeId && m.DeleteMark != true).FirstOrDefault();
                if (approvalProcessEntity != null && !string.IsNullOrWhiteSpace(approvalProcessEntity.Id))
                {
                    bResult = approvalProcessEntity.IsSkip;
                }
            }
            return(bResult);
        }
Esempio n. 3
0
        private string GetApplyUserByNode(FlowNodeEntity node, string workId)
        {
            string userId = string.Empty;

            if (node != null && !string.IsNullOrWhiteSpace(node.Id))
            {
                using (var db = new RepositoryBase())
                {
                    ApprovalProcessEntity approvalProcessEntity = db.IQueryable <ApprovalProcessEntity>(m => m.WorkId == workId &&
                                                                                                        m.DeleteMark != true &&
                                                                                                        m.EnabledMark == true &&
                                                                                                        m.NodeId == node.Id).OrderByDescending(m => m.CreatorTime).FirstOrDefault();
                    userId = approvalProcessEntity?.ApprovalUserId;
                }
            }
            return(userId);
        }
Esempio n. 4
0
        private void AddEndApproProcess(string workId, FlowNodeEntity node, IRepositoryBase db)
        {
            ApprovalProcessEntity appproEntity = new ApprovalProcessEntity();

            appproEntity.Create();
            appproEntity.WorkId         = workId;
            appproEntity.ApprovalStatus = (int)ApprovalStatus.Pass;
            appproEntity.NodeId         = node.Id;
            appproEntity.NodeName       = node.Name;
            appproEntity.IsStart        = false;
            appproEntity.IsEnd          = true;
            var LoginInfo = OperatorProvider.Provider.GetCurrent();

            if (LoginInfo != null)
            {
                appproEntity.ApprovalUserId   = LoginInfo.UserId;
                appproEntity.ApprovalUserName = LoginInfo.UserName;
            }
            db.Insert(appproEntity);
        }