Beispiel #1
0
        /// <summary>
        /// 执行事件链中各个节点
        /// </summary>
        /// <param name="request"></param>
        /// <param name="responseParam"></param>
        /// <param name="handler"></param>
        public void DoSendAction(RequestParam request, ResponseParam response, AbstractActionHandler handler)
        {
            if (handler == null)
            {
                return;
            }
            this.request = request;

            if (!this.validate(this.request))
            {
                return;
            }

            response = new ResponseParam();
            handler.DoSendAction(this.request, this.response);
        }
Beispiel #2
0
        /// <summary>
        /// 诊毕流程
        /// </summary>
        /// <param name="actionName">触发事件的(菜单、按钮)名称,如果后续逻辑需要判断就加,不需要可以不加</param>
        private void CreateCompleteHandlerChain(string actionName)
        {
            if (request.context == null || request.ent4BannerDTO == null)
            {
                return;
            }

            AbstractActionHandler startCompleteHandler = null;
            string idDep = this.Context.Dept.Id_dep;

            // 诊毕状态 0 无诊毕 可以去掉诊毕按钮,任何业务部受限制
            // 1 仅诊毕 通过点击诊毕按钮,进行批量业务处理(是否处理按业务场景确定,比如是否修改诊毕状态,是否调用打印)
            // 2 诊毕撤回,严格控制诊毕后不允许做其他业务,只有进行撤回后才能继续
            //string finishMode = this.Context.GetParam<string>(idDep, ICiOrdNSysParamConst.SYS_PARAM_OpThisPatVisitFinishMode);

            // 设置按钮事件名称
            request.actionName = actionName;

            startCompleteHandler = this.GetStartCompleteHandler(actionName);
            if (startCompleteHandler != null)
            {
                startCompleteHandler.DoSendAction(request, null, startCompleteHandler);
            }
        }