Пример #1
0
        /// <summary>
        /// 提交审核
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public WCFAddUpdateResult SubmitOrAuditBill(AuditBillParam param)
        {
            WCFAddUpdateResult ret = new WCFAddUpdateResult();

            if (param.ExecuteStatus == "PassBill")
            {
            }
            else if (param.ExecuteStatus == "CancelBill")
            {
            }
            return(ret);
        }
Пример #2
0
        public WCFAddUpdateResult SubmitOrAuditBill(AuditBillParam param)
        {
            WCFAddUpdateResult ret = new WCFAddUpdateResult();

            if (param.OldBillStatus.ToStringHasNull().ToLower() == "new" && param.NewBillStatus.ToStringHasNull().ToLower() == "approve" ||
                param.OldBillStatus.ToStringHasNull().ToLower() == "new" && param.NewBillStatus.ToStringHasNull().ToLower() == "complete")
            {
                SubmitStkInBill(new STK_InParam()
                {
                    StkInGuid = param.SourceBillGuid
                });
            }
            if (param.NewBillStatus.ToStringHasNull().ToLower() == "complete")
            {
                AuditStkInBill(new STK_InParam()
                {
                    StkInGuid = param.SourceBillGuid
                });
            }

            return(ret);
        }
Пример #3
0
 /// <summary>
 /// 审核完成后调用的方法
 /// </summary>
 /// <param name="exeMethodPath">方法路径</param>
 /// <param name="methodName">方法名称</param>
 /// <param name="param">方法要传入的实体</param>
 private void AfterAuditExeMethod(string sourceTableName, string billOldStatus, string billNewStatus, string triggerStatus, string exeMethodPath, string methodName, Guid?sourceBillGuid)
 {
     try
     {
         if (string.IsNullOrEmpty(exeMethodPath))
         {
             return;
         }
         #region 判断状态是否可触发执行方法
         bool exeOK = false;
         if (triggerStatus.ToLower() == "approve")//提交审核
         {
             //提交
             if ((billOldStatus.ToStringHasNull().Trim() == "" || billOldStatus.ToLower() == "new") && billNewStatus.ToLower() == "complete" ||
                 (billOldStatus.ToStringHasNull().Trim() == "" || billOldStatus.ToLower() == "new") && billNewStatus.ToLower() == "approve")
             {
                 exeOK = true;
             }
             //撤消
             if (billOldStatus.ToStringHasNull().Trim() == "complete" && billNewStatus.ToLower() == "new" ||
                 billOldStatus.ToStringHasNull().Trim() == "approve" && billNewStatus.ToLower() == "new")
             {
                 exeOK = true;
             }
         }
         if (triggerStatus.ToLower() == "complete")//审核完成
         {
             if ((billOldStatus.ToStringHasNull().Trim() == "" || billOldStatus.ToLower() == "new") && billNewStatus.ToLower() == "complete" ||
                 billOldStatus.ToLower() == "approve" && billNewStatus.ToLower() == "complete")
             {
                 exeOK = true;
             }
             //撤消
             if (billOldStatus.ToStringHasNull().Trim() == "complete" && billNewStatus.ToLower() == "new")
             {
                 exeOK = true;
             }
         }
         if (!exeOK)
         {
             return;
         }
         #endregion
         #region 产生实例
         object bll = Activator.CreateInstance(Type.GetType(exeMethodPath + ",ZNLCRM.BLL"));
         if (bll == null)
         {
             throw new WarnException("指定的审核完成后执行的方法类有异常!");
         }
         #endregion
         #region 相关参数
         AuditBillParam param = new AuditBillParam();
         param.SourceBillGuid  = sourceBillGuid;
         param.OldBillStatus   = billOldStatus;
         param.NewBillStatus   = billNewStatus;
         param.TriggerStatus   = triggerStatus;
         param.SourceTableName = sourceTableName;
         #endregion
         #region 获取相关方法并执行
         MethodInfo exeMethod = bll.GetType().GetMethod(methodName);
         if (exeMethod == null)
         {
             throw new WarnException("指定的审核完成后执行的方法有异常!");
         }
         exeMethod.Invoke(bll, new object[] { param });
         #endregion
     }
     catch (WarnException exp)
     {
         throw exp;
     }
     catch (System.Exception exp)
     {
         LogInfoBLL.WriteLog(this.SessionInfo, exp);
     }
 }