Beispiel #1
0
        /// <summary>
        /// 终止代销商品规则
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConsignSettlementRulesInfo StopConsignSettlementRule(string settleRulesCode)
        {
            ConsignSettlementRulesInfo entity = ConsignSettlementRuleDA.GetConsignSettleRuleByCode(settleRulesCode);

            if (entity == null)
            {
                //规则({0})不存在,无法终止
                throw new BizException(string.Format(GetExceptionString("ConsignRule_RuleNotExist_Stop"), settleRulesCode));
            }

            if (entity.Status != ConsignSettleRuleStatus.Available &&
                entity.Status != ConsignSettleRuleStatus.Enable)
            {
                //规则({0})不处于“未生效”和“已生效”状态,无法终止
                throw new BizException(string.Format(GetExceptionString("ConsignRule_Available_Invalid_Stop"), settleRulesCode));
            }

            entity.Status   = ConsignSettleRuleStatus.Stop;
            entity.EditUser = ExternalDomainBroker.GetUserNameByUserSysNo(ServiceContext.Current.UserSysNo);
            entity          = Modify(entity, ConsignSettleRuleActionType.Stop);

            //记录系统日志
            //WriteLog(entity, LogType.ConsignSettleRule_Stop);
            ExternalDomainBroker.CreateLog(" Stop ConsignSettleRule "
                                           , BizEntity.Common.BizLogType.ConsignSettleRule_Stop
                                           , entity.RuleSysNo.Value
                                           , entity.CompanyCode);
            return(entity);
        }
Beispiel #2
0
        /// <summary>
        /// 审核代销商品规则
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConsignSettlementRulesInfo AuditConsignSettlementRule(ConsignSettlementRulesInfo info)
        {
            ConsignSettlementRulesInfo entity = ConsignSettlementRuleDA.GetConsignSettleRuleByCode(info.SettleRulesCode);

            if (entity == null)
            {
                //规则({0})不存在,无法审核
                throw new BizException(string.Format(GetExceptionString("ConsignRule_RuleNotExist_Audit"), info.SettleRulesCode));
            }

            if (entity.Status != ConsignSettleRuleStatus.Wait_Audit)
            {
                //规则({0})不是待审核状态,无法审核
                throw new BizException(string.Format(GetExceptionString("ConsignRule_WaitingAudit_Invalid_Audit"), info.SettleRulesCode));
            }

            ////审核人和创建人不能相同
            //if (info.EditUser == entity.CreateUser)
            //{
            //    throw new BizException(GetExceptionString("ConsignRule_CreateAndAuditUserNotTheSame"));
            //}

            //检测商品的属性
            CheckProduct(entity.ProductSysNo.Value);

            //时间段重复性的检测
            CheckRuleDateRepeat(entity);

            entity.Status   = ConsignSettleRuleStatus.Available;
            entity.EditUser = ExternalDomainBroker.GetUserNameByUserSysNo(ServiceContext.Current.UserSysNo);
            entity          = Modify(entity, ConsignSettleRuleActionType.Audit);

            //发送ESB消息
            EventPublisher.Publish <SettlementRuleAuditMessage>(new SettlementRuleAuditMessage()
            {
                AuditUserSysNo  = ServiceContext.Current.UserSysNo,
                SettleRulesCode = entity.SettleRulesCode
            });

            //记录系统日志
            //WriteLog(entity, LogType.ConsignSettleRule_Audit);

            ExternalDomainBroker.CreateLog(" Audit ConsignSettleRule "
                                           , BizEntity.Common.BizLogType.ConsignSettleRule_Audit
                                           , entity.RuleSysNo.Value
                                           , entity.CompanyCode);
            return(entity);
        }
Beispiel #3
0
        /// <summary>
        /// 更新代销商品规则
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConsignSettlementRulesInfo UpdateConsignSettlementRule(ConsignSettlementRulesInfo entity)
        {
            //检测数据完整性
            CheckEntity(entity);

            //查询原实体
            ConsignSettlementRulesInfo oldEntity = ConsignSettlementRuleDA.GetConsignSettleRuleByCode(entity.SettleRulesCode);

            if (oldEntity == null)
            {
                //规则({0})不存在,无法修改
                throw new BizException(string.Format(GetExceptionString("ConsignRule_RuleNotExist"), entity.SettleRulesCode));
            }
            if (oldEntity.Status != ConsignSettleRuleStatus.Wait_Audit)
            {
                //规则({0})不处于待审核状态,无法修改
                throw new BizException(string.Format(GetExceptionString("ConsignRule_WaitingAudit_Invalid"), entity.SettleRulesCode));
            }

            //检测商品的属性
            CheckProduct(entity.ProductSysNo.Value);

            //时间段重复性的检测
            CheckRuleDateRepeat(entity);

            SetDefaultValue(entity);

            entity.EditUser = ExternalDomainBroker.GetUserNameByUserSysNo(ServiceContext.Current.UserSysNo);

            entity = Modify(entity, ConsignSettleRuleActionType.Update);

            //记录系统日志
            //WriteLog(entity, LogType.ConsignSettleRule_Update);

            ExternalDomainBroker.CreateLog(" Updated ConsignSettleRule "
                                           , BizEntity.Common.BizLogType.ConsignSettleRule_Update
                                           , entity.RuleSysNo.Value
                                           , entity.CompanyCode);

            return(entity);
        }
Beispiel #4
0
        /// <summary>
        /// 作废代销商品规则
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual ConsignSettlementRulesInfo AbandonConsignSettlementRule(string settleRulesCode)
        {
            ConsignSettlementRulesInfo entity = ConsignSettlementRuleDA.GetConsignSettleRuleByCode(settleRulesCode);

            if (entity == null)
            {
                //规则({0})不存在,无法作废
                throw new BizException(string.Format(GetExceptionString("ConsignRule_RuleNotExist_Abandon"), settleRulesCode));
            }

            if (entity.Status != ConsignSettleRuleStatus.Wait_Audit)
            {
                //规则({0})不处于待审核状态,无法作废
                throw new BizException(string.Format(GetExceptionString("ConsignRule_WaitingAudit_Invalid_Abandon"), settleRulesCode));
            }

            entity.Status   = ConsignSettleRuleStatus.Forbid;
            entity.EditUser = ExternalDomainBroker.GetUserNameByUserSysNo(ServiceContext.Current.UserSysNo);
            entity          = Modify(entity, ConsignSettleRuleActionType.Abandon);

            //发送ESB消息
            EventPublisher.Publish <SettlementRuleAbandonMessage>(new SettlementRuleAbandonMessage()
            {
                AbandonUserSysNo = ServiceContext.Current.UserSysNo,
                SettleRulesCode  = settleRulesCode
            });

            //记录系统日志
            // WriteLog(entity, LogType.ConsignSettleRule_Abadon);

            ExternalDomainBroker.CreateLog(" Abandon ConsignSettleRule "
                                           , BizEntity.Common.BizLogType.ConsignSettleRule_Abadon
                                           , entity.RuleSysNo.Value
                                           , entity.CompanyCode);
            return(entity);
        }