Example #1
0
        public IWORKFLOW_LINK Static_GetWorkFlowLinkByNode(IWORKFLOW_NODE start_node, IWORKFLOW_NODE end_node, IWORKFLOW workflow)
        {
            var db  = new SAFEDB();
            var res = (IWORKFLOW_LINK)((from x in db.VERI_WORKFLOW_LINK where x.START_NODE_ID == start_node.NODE_ID && x.END_NODE_ID == end_node.NODE_ID && x.WORKFLOW_ID == workflow.WORKFLOW_ID select x).First());

            return(res);
        }
Example #2
0
 public CSException User_VerifyAble_Node(IWORKFLOW_NODE node)
 {
     try
     {
         var cate_cn = EP_TEPEP01.GetDicByCName("节点状态")[node.NODE_CATEGORY];
         if (cate_cn != "开始" && cate_cn != "审核")
         {
             throw new Exception("1");
         }
         var            db = new SAFEDB();
         List <decimal> res1;
         this.Fill_USER_ROLE_LIST();
         res1 = this.USER_ROLE_LIST;
         List <decimal> res2 = (from x in db.VERI_ROLEAUTH_NODE
                                where x.WORKFLOW_NODE_ID == node.NODE_ID
                                select x).Select(x => x.ROLE_ID).ToList();
         var intersec = res1.Intersect(res2);
         if (intersec.Count() > 0)
         {
             return(new CSException());
         }
         else
         {
             return(new CSException("该节点不能审核"));
         }
     }
     catch
     {
         return(new CSException("该节点不能审核"));
     }
 }
        /// <summary>
        /// 审核操作实例初始化
        /// </summary>
        /// <param name="link">同名操作连线</param>
        /// <param name="advworkflow">审核的实体类的流程</param>
        public VerifyOper(IWORKFLOW_NODE start_node, List <IWORKFLOW_LINK> link, AdvWorkFlow advworkflow, string[] key)
        {
            try
            {
                if (link.Count() <= 0)
                {
                    throw new Exception("传入0连线");
                }

                this.Entity         = advworkflow.GetWorkFLowEntityByKey(key);
                this.VerifyInfoList = new List <IVerifyInfo>();
                var StartNode = start_node;
                foreach (var _link in link)
                {
                    var EndNode = start_node.Static_GetWORKFLOWNodeByid(_link.END_NODE_ID);
                    //注意,这里虽然定制了verifyInfo,但是这个属性是开放的,如果需要扩展类,完全可以在后续操作中填充扩展类替换掉这个verifyinfo,达到效果
                    this.VerifyInfoList.Add(new VerifyInfo(_link, Entity, advworkflow));
                }
                this.VeriName    = link[0].FORMULA;
                this.Advworkflow = advworkflow;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 /// <summary>
 /// 初始化节点
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="workflow_nodeid_start"></param>
 public LGWBVerifyHelper(IWORKFLOW workflow, IVerifyEntity entity, IUserInfo userinfo)
 {
     this.AdvWorkFlow  = new AdvWorkFlow(workflow);
     this.Entity       = entity;
     this.UserInfo     = userinfo.AdvanceUserInfo();
     this.VeriOperList = this.GetThisVerifyOperList();
     this.StartNode    = this.Entity.GetCurrentNode();
 }
Example #5
0
        public HD_APP_DETAILFLOW SetAddFLOW(HD_APP_DETAIL det, IWORKFLOW_NODE workflow_node)
        {
            var newdetflow = new HD_APP_DETAILFLOW(det);

            newdetflow.STATS        = workflow_node.ORDER_ID;
            newdetflow.AUDITSTEP_ID = workflow_node.NODE_ID;
            return(newdetflow);
        }
Example #6
0
        public IVerifyEntity CreateNewVerifyEntity(IWORKFLOW_NODE endnode)
        {
            var newVE = new HD_APP_DETAILFLOW();

            newVE.REC_ID = Guid.NewGuid().ToString("N").Substring(0, 8);
            var startnode = endnode;

            newVE.STATS        = startnode.ORDER_ID;
            newVE.AUDITSTEP_ID = startnode.NODE_ID;
            newVE.AdvWork      = this.AdvWork;
            newVE.FLOW_ID      = this.FLOW_ID;
            return(newVE);
        }
        public TH_THAZA02 SetEditFLOW(TH_THAZA01 haza01new, TH_THAZA01 haza01old, IWORKFLOW_NODE workflow_node)
        {
            var newhaza02 = new TH_THAZA02(haza01new);

            if (haza01new.HAZA_LVL.CompareTo("4A") >= 0 || haza01old.HAZA_LVL.CompareTo("4A") >= 0)
            {
                newhaza02.CLASS_A = "Y";
            }
            else
            {
                newhaza02.CLASS_A = "N";
            }
            newhaza02.STATS        = workflow_node.ORDER_ID;
            newhaza02.AUDITSTEP_ID = workflow_node.NODE_ID;
            return(newhaza02);
        }
        public TH_THAZA02 SetAddFLOW(TH_THAZA01 haza01, IWORKFLOW_NODE workflow_node)
        {
            var newhaza02 = new TH_THAZA02(haza01);

            //判断新增项是否与A有关
            if (haza01.HAZA_LVL.CompareTo("4A") >= 0)
            {
                newhaza02.CLASS_A = "Y";
            }
            else
            {
                newhaza02.CLASS_A = "N";
            }
            newhaza02.STATS        = workflow_node.ORDER_ID;
            newhaza02.AUDITSTEP_ID = workflow_node.NODE_ID;
            return(newhaza02);
        }
Example #9
0
        /// <summary>
        /// 根据现在该工作的状态进行该树的维护
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public string CheckNode(IWORKFLOW_NODE node)
        {
            var vr_cate_dic    = EP_TEPEP01.GetDicByCName("节点状态");
            var vr_cate_cdic   = EP_TEPEP01.GetCDicByCName("节点状态");
            var this_cate_cdic = EP_TEPEP01.GetCDicByCName("危险源数据状态");

            if (node.NODE_CATEGORY == vr_cate_cdic["否决"])
            {
                this.HAZA_CATEGORY = this_cate_cdic["删除"];
                this.SaveEdit();
            }
            else if (node.NODE_CATEGORY == vr_cate_cdic["结束"])
            {
                try
                {
                    var oldhaza = this.GetOfficalHAZA01InThisHAZAID();

                    oldhaza.HAZA_CATEGORY = this_cate_cdic["历史"];
                    var re1 = oldhaza.SaveEdit();
                }
                catch { }

                this.HAZA_CATEGORY = this_cate_cdic["正式"];
                this.SaveEdit();
            }
            else if (node.NODE_CATEGORY == vr_cate_cdic["开始"])//当一个节点审核开始,该项目中的其他审核节点进入删除状态,同一时间只存在一个审核节点
            {
                try
                {
                    var otherveriHaza = this.GetVeriHAZA01InThisHAZAID();
                    otherveriHaza.HAZA_CATEGORY = this_cate_cdic["历史"];
                    var re1 = otherveriHaza.SaveEdit();
                }
                catch { }
            }
            return(this.HAZA_CATEGORY);
        }
 public IVerifyEntity CreateNewVerifyEntity(IWORKFLOW_NODE endnode)
 {
     return(this);
 }