Esempio n. 1
0
 public PaymentWorkflow(IPayService payService, ISubmitService submitService, IMappingService mappingService, ISessionHelper sessionHelper)
 {
     _submitService  = submitService;
     _mappingService = mappingService;
     _sessionHelper  = sessionHelper;
     _payService     = payService;
 }
Esempio n. 2
0
 public SubmitController(ISubmitService submitService,
                         ILogger <SubmitController> logger,
                         IUserRepository userRepository,
                         IOptions <SubmitSettings> submitSettings)
 {
     this.submitService  = submitService;
     this.logger         = logger;
     this.userRepository = userRepository;
     this.submitSettings = submitSettings.Value;
 }
Esempio n. 3
0
        public SubmitController(ISubmitService submitService,
                                IAuthenticationProvider authenticationProvider,
                                IViewModelFactory viewModelFactory)
        {
            Guard.WhenArgument(submitService, "submitService cannot be null").IsNull().Throw();
            Guard.WhenArgument(authenticationProvider, "AuthenticationProvider cannot be null").IsNull().Throw();
            Guard.WhenArgument(viewModelFactory, "viewModelFactory cannot be null").IsNull().Throw();

            this.submitService          = submitService;
            this.authenticationProvider = authenticationProvider;
            this.viewModelFactory       = viewModelFactory;
        }
Esempio n. 4
0
        /// <summary>
        /// 提交进入工作流
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="FormID"></param>
        /// <param name="ids"></param>
        /// <returns></returns>
        public IOperationResult SubmitWorkFlowBill(Context ctx, string FormID, string billId)
        {
            IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务
            FormMetadata     Meta        = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据
            // 首先判断单据是否已经有未完成的工作流
            IProcInstService procInstService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetProcInstService(ctx);
            bool             isExist         = procInstService.CheckUnCompletePrcInstExsit(ctx, FormID, billId);

            if (isExist)
            {
                throw new KDBusinessException("AutoSubmit-001", "该单据已经启动了流程,不允许重复提交!");
            }
            // 读取单据的工作流配置模板
            IWorkflowTemplateService wfTemplateService  = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetWorkflowTemplateService(ctx);
            List <FindPrcResult>     findProcResultList = wfTemplateService.GetPrcListByFormID(
                FormID, new string[] { billId }, ctx);

            if (findProcResultList == null || findProcResultList.Count == 0)
            {
                throw new KDBusinessException("AutoSubmit-002", "查找单据适用的流程模板失败,不允许提交工作流!");
            }

            // 设置提交参数:忽略操作过程中的警告,避免与用户交互
            OperateOption submitOption = OperateOption.Create();

            submitOption.SetIgnoreWarning(true);
            IOperationResult submitResult = null;

            FindPrcResult findProcResult = findProcResultList[0];

            if (findProcResult.Result == TemplateResultType.Error)
            {
                throw new KDBusinessException("AutoSubmit-003", "单据不符合流程启动条件,不允许提交工作流!");
            }
            else if (findProcResult.Result != TemplateResultType.Normal)
            {    // 本单无适用的流程图,直接走传统审批
                ISubmitService submitService = ServiceHelper.GetService <ISubmitService>();
                submitResult = submitService.Submit(ctx, Meta.BusinessInfo,
                                                    new object[] { billId }, "Submit", submitOption);
            }
            else
            {    // 走工作流
                IBOSWorkflowService wfService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetBOSWorkflowService(ctx);
                submitResult = wfService.ListSubmit(ctx, Meta.BusinessInfo,
                                                    0, new object[] { billId }, findProcResultList, submitOption);
            }
            return(submitResult);
        }
Esempio n. 5
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="FormID">业务对象标识</param>
        /// <param name="dyObject">保存业务对象集合</param>
        /// <returns></returns>
        public IOperationResult SaveBill(Context ctx, string FormID, DynamicObject[] dyObject)
        {
            IMetaDataService metaService    = ServiceHelper.GetService <IMetaDataService>();
            FormMetadata     targetBillMeta = metaService.Load(ctx, FormID) as FormMetadata;
            // 构建保存操作参数:设置操作选项值,忽略交互提示
            OperateOption saveOption = OperateOption.Create();

            // 忽略全部需要交互性质的提示,直接保存;
            //saveOption.SetIgnoreWarning(true);              // 忽略交互提示
            //saveOption.SetInteractionFlag(this.Option.GetInteractionFlag());        // 如果有交互,传入用户选择的交互结果
            // using Kingdee.BOS.Core.Interaction;
            //saveOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag());
            //// 如下代码,强制要求忽略交互提示(演示案例不需要,注释掉)
            saveOption.SetIgnoreWarning(true);
            //// using Kingdee.BOS.Core.Interaction;
            saveOption.SetIgnoreInteractionFlag(true);
            // 调用保存服务,自动保存
            ISaveService     saveService  = ServiceHelper.GetService <ISaveService>();
            IOperationResult saveResult   = saveService.Save(ctx, targetBillMeta.BusinessInfo, dyObject, saveOption, "Save");
            ISubmitService   save1Service = ServiceHelper.GetService <ISubmitService>();


            return(saveResult);
        }
Esempio n. 6
0
 public SubmitController(ISubmitService submitService)
 {
     _submitService = submitService;
 }
Esempio n. 7
0
        /// <summary>
        /// 保存操作完毕,事务结束之前,进行自动提交、审核
        /// </summary>
        /// <param name="e"></param>
        public override void EndOperationTransaction(EndOperationTransactionArgs e)
        {
            // 取到需要自动提交、审核的单据内码
            object[] pkArray = (from p in e.DataEntitys
                                select p[0]).ToArray();

            // 设置提交参数
            // using Kingdee.BOS.Orm;
            OperateOption submitOption = OperateOption.Create();

            submitOption.SetIgnoreWarning(this.Option.GetIgnoreWarning());
            submitOption.SetInteractionFlag(this.Option.GetInteractionFlag());
            submitOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag());

            // 创建提交服务:using Kingdee.BOS.Contracts; using Kingdee.BOS.App;
            ISubmitService   submitService = ServiceHelper.GetService <ISubmitService>();
            IOperationResult submitResult  = submitService.Submit(
                this.Context, this.BusinessInfo,
                pkArray, "Submit", submitOption);

            // 判断提交结果,如果失败,则内部会抛出错误,回滚代码
            if (CheckOpResult(submitResult) == false)
            {
                return;
            }

            // 构建操作可选参数对象
            OperateOption auditOption = OperateOption.Create();

            auditOption.SetIgnoreWarning(this.Option.GetIgnoreWarning());
            auditOption.SetInteractionFlag(this.Option.GetInteractionFlag());
            auditOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag());

            // 构建单据主键参数
            List <KeyValuePair <object, object> > pkEntityIds = new List <KeyValuePair <object, object> >();

            foreach (var pkValue in pkArray)
            {
                pkEntityIds.Add(new KeyValuePair <object, object>(pkValue, ""));
            }

            List <object> paras = new List <object>();

            paras.Add("1");
            paras.Add("");

            // 调用审核操作
            ISetStatusService setStatusService = ServiceHelper.GetService <ISetStatusService>();

            // 如下调用方式,需显示交互信息
            IOperationResult auditResult = setStatusService.SetBillStatus(this.Context,
                                                                          this.BusinessInfo,
                                                                          pkEntityIds,
                                                                          paras,
                                                                          "Audit",
                                                                          auditOption);

            // 判断审核结果,如果失败,则内部会抛出错误,回滚代码
            if (CheckOpResult(auditResult) == false)
            {
                return;
            }
        }
 public ApplicationRequestToApplicationConverter(ISubmitService submitService, ICountryService countryService, IPostcodeService postcodeService)
 {
     this.countryService  = countryService;
     this.postcodeService = postcodeService;
 }
Esempio n. 9
0
 public SubmitController(IModelConverter <ApplicationRequest, Application> converter, ISubmitService submitService)
 {
     this.submitService = submitService;
     this.converter     = converter;
 }
Esempio n. 10
0
 public SubmitWorkflow(ISubmitService submitService, IMappingService mappingService, ISessionHelper sessionHelper)
 {
     _submitService  = submitService;
     _mappingService = mappingService;
     _sessionHelper  = sessionHelper;
 }