/// <summary> /// 审批结果通知 /// </summary> /// <param name="sendAppAuditResultMessageModel"></param> public void AddAppAuditResultMessage(SendAppAuditResultMessageModel sendAppAuditResultMessageModel) { SendAppMessageModel sendAppMessageModel = sendAppAuditResultMessageModel; _addSendAppMessageBll.AddAppMessage(sendAppMessageModel); }
public DoAduitOrderResultModel DoAduitOrder(DoAduitOrderModel doAduit) { BaseDealAduitModel query = new BaseDealAduitModel() { DealCid = doAduit.DealCid, AduitOrderId = doAduit.AduitOrderId, DealOid = doAduit.DealOid, IsAgree = doAduit.IsAgree, DealSource = doAduit.DealSource, AduitReason = doAduit.AduitReason, CurrentFlow = doAduit.CurrentFlow }; try { BaseDealAduitResultModel reuslt = _corpAduitBll.DoAduit(query); #region 推送app消息 if (reuslt.IsFinished) { _addSendAppMessageBll.AddAppMessage(new SendAppMessageModel() { Cid = reuslt.CreateAduitOrderCid, OrderId = reuslt.AduitOrderId, OrderType = OrderSourceTypeEnum.AduitOrder, SendType = SendAppMessageTypeEnum.AuditResultNotice }); } else { foreach (var cid in reuslt.NextFlowCidList) { _addSendAppMessageBll.AddAppMessage(new SendAppMessageModel() { Cid = cid, OrderId = reuslt.AduitOrderId, OrderType = OrderSourceTypeEnum.AduitOrder, SendType = SendAppMessageTypeEnum.WaitAuditNotice }); } } #endregion return(new DoAduitOrderResultModel() { IsSuccessed = reuslt.IsSuccessed, DetailList = reuslt.DetailList, CreateAduitOrderCid = reuslt.CreateAduitOrderCid, IsFinished = reuslt.IsFinished }); } catch (MojoryException ex)//捕捉到取消订单异常 { if (ex.Code == MojoryApiResponseCode.AduitCancelOrder) { //推送APP消息 _addSendAppMessageBll.AddAppMessage(new SendAppMessageModel() { Cid = ex.OtherId, OrderId = query.AduitOrderId, OrderType = OrderSourceTypeEnum.AduitOrder, SendType = SendAppMessageTypeEnum.AuditOrderDeleteNotice }); } throw; } }
public bool Submit(SubmitCorpAduitOrderModel submitModel) { /** * 送审分为以下情况 * 1 审批规则为无需审批 * 2 审批规则为符合差旅政策情况 * 3 审批规则为违背差旅政策 * 4 没有审批规则 * */ BaseSubmitAduiBll submitAduiBll = null; if (submitModel.AduitConfigId.HasValue) { #region 存在审批规则 CorpAduitConfigEntity aduitConfigEntity = _corpAduitConfigDal.Find <CorpAduitConfigEntity>(submitModel.AduitConfigId.Value); if (aduitConfigEntity == null) { throw new Exception("未找到对应的审批规则"); } if (aduitConfigEntity.IsNeedAduit == 0) { //1.当前审批规则为无需审批 submitAduiBll = new NoNeedSubmitAduitBll(submitModel); } else { #region 当前审批规则为需要审批 if (!submitModel.PolicyId.HasValue) { throw new Exception("当前送审条件需要差旅政策Id"); } if (!submitModel.IsViolatePolicy.HasValue) { throw new Exception("缺少是否违反差旅政策判断"); } submitAduiBll = new NeedSubmitAduitBll(submitModel); #endregion } #endregion } else { //4.没有审批规则情况 submitAduiBll = new NoRuleSubmitAduitBll(submitModel); } ISubmitAduitVisitor submitAduitVisitor = new SubmitAduitVisitor(_corpAduitBll); bool flag = submitAduiBll.DoSubmit(submitAduitVisitor); #region 推送app消息 if (submitAduitVisitor.SubmitResult != null && submitAduitVisitor.SubmitResult.IsSuccessed && !submitAduitVisitor.SubmitResult.IsFinished && submitAduitVisitor.SubmitResult.NextFlowCidList != null && submitAduitVisitor.SubmitResult.NextFlowCidList.Count > 0) { IsSendAduit = true; foreach (var cid in submitAduitVisitor.SubmitResult.NextFlowCidList) { _addSendAppMessageBll.AddAppMessage(new SendAppMessageModel() { Cid = cid, OrderId = submitAduitVisitor.SubmitResult.AduitOrderId, OrderType = OrderSourceTypeEnum.AduitOrder, SendType = SendAppMessageTypeEnum.WaitAuditNotice }); } } else { //新增提醒出票邮件推送 //AddNeSendMessage(submitModel); } #endregion return(flag); }