Exemplo n.º 1
0
        /// <summary>
        /// 作废
        /// </summary>
        /// <param name="poInfo"></param>
        public static PurchaseOrderInfo AbandonPO(PurchaseOrderInfo poInfo)
        {
            if (poInfo == null || !poInfo.SysNo.HasValue)
            {
                throw new BusinessException(L("采购单不能为空!"));
            }
            PurchaseOrderInfo localEntity = ProductPurchaseDA.LoadPOMaster(poInfo.SysNo.Value, poInfo.SellerSysNo.Value);

            if (localEntity == null)
            {
                throw new BusinessException(L("采购单不存在!"));
            }
            if (localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus != PurchaseOrderStatus.Created &&
                localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus != PurchaseOrderStatus.Returned)
            {
                throw new BusinessException(L("采购单不为初始状态,不能作废!"));
            }

            using (ITransaction trans = ECommerce.Utility.TransactionManager.Create())
            {
                localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus = PurchaseOrderStatus.Abandoned;
                ProductPurchaseDA.UpdatePOStatus(localEntity);

                PurchaseOrderETATimeInfo poetaEntity = new PurchaseOrderETATimeInfo();
                poetaEntity.Status   = -1;
                poetaEntity.POSysNo  = poInfo.SysNo;
                poetaEntity.EditUser = poInfo.EditUserName;
                ProductPurchaseDA.UpdatePOETAInfo(poetaEntity);

                trans.Complete();
            }
            return(localEntity);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 审核通过
        /// </summary>
        /// <param name="poInfo"></param>
        public static PurchaseOrderInfo ValidPO(PurchaseOrderInfo poInfo)
        {
            if (poInfo == null || !poInfo.SysNo.HasValue)
            {
                throw new BusinessException(L("采购单不能为空!"));
            }
            PurchaseOrderInfo localEntity = ProductPurchaseDA.LoadPOMaster(poInfo.SysNo.Value, poInfo.SellerSysNo.Value);

            if (localEntity == null)
            {
                throw new BusinessException(L("采购单不存在!"));
            }
            if (localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus != PurchaseOrderStatus.WaitingAudit)
            {
                throw new BusinessException(L("采购单不为待审核状态,不能审核通过!"));
            }

            using (ITransaction trans = ECommerce.Utility.TransactionManager.Create())
            {
                localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus = PurchaseOrderStatus.WaitingReport;
                localEntity.PurchaseOrderBasicInfo.AuditDate           = DateTime.Now;
                localEntity.PurchaseOrderBasicInfo.AuditUserSysNo      = poInfo.EditUserSysNo;
                localEntity.PurchaseOrderBasicInfo.AuditUserName       = poInfo.EditUserName;
                ProductPurchaseDA.UpdatePOStatus(localEntity);

                PurchaseOrderETATimeInfo poetaEntity = new PurchaseOrderETATimeInfo();
                poetaEntity.Status   = 2;
                poetaEntity.POSysNo  = poInfo.SysNo;
                poetaEntity.EditUser = poInfo.EditUserName;
                ProductPurchaseDA.UpdatePOETAInfo(poetaEntity);

                trans.Complete();
            }
            return(localEntity);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 提交审核
        /// </summary>
        /// <returns></returns>
        public static PurchaseOrderInfo Submit(PurchaseOrderInfo poInfo)
        {
            if (poInfo == null || !poInfo.SysNo.HasValue)
            {
                throw new BusinessException(L("采购单不能为空!"));
            }

            PurchaseOrderInfo localEntity = ProductPurchaseDA.LoadPOMaster(poInfo.SysNo.Value, poInfo.SellerSysNo.Value);

            if (localEntity == null)
            {
                throw new BusinessException(L("采购单不存在!"));
            }
            if (!(localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus == PurchaseOrderStatus.Created ||
                  localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus == PurchaseOrderStatus.Returned))
            {
                throw new BusinessException(L("该PO单已经提交审核,不能重复提交!"));
            }
            if (string.IsNullOrEmpty(poInfo.PurchaseOrderBasicInfo.MemoInfo.PMRequestMemo))
            {
                throw new BusinessException(L("申请理由不能为空!"));
            }

            localEntity.PurchaseOrderBasicInfo.MemoInfo.PMRequestMemo = poInfo.PurchaseOrderBasicInfo.MemoInfo.PMRequestMemo + "[" + poInfo.EditUserName + ":" + DateTime.Now.ToString() + "]";
            localEntity.PurchaseOrderBasicInfo.MemoInfo.RefuseMemo    = string.Empty;
            localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus    = PurchaseOrderStatus.WaitingAudit;
            ProductPurchaseDA.UpdatePOStatus(localEntity);

            return(localEntity);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 审核拒绝
        /// </summary>
        /// <param name="poInfo"></param>
        public static PurchaseOrderInfo RejectPO(PurchaseOrderInfo poInfo)
        {
            if (poInfo == null || !poInfo.SysNo.HasValue)
            {
                throw new BusinessException(L("采购单不能为空!"));
            }
            PurchaseOrderInfo localEntity = ProductPurchaseDA.LoadPOMaster(poInfo.SysNo.Value, poInfo.SellerSysNo.Value);

            if (localEntity == null)
            {
                throw new BusinessException(L("采购单不存在!"));
            }
            if (string.IsNullOrEmpty(poInfo.PurchaseOrderBasicInfo.MemoInfo.RefuseMemo))
            {
                throw new BusinessException(L("拒绝理由不能为空!"));
            }

            if (localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus != PurchaseOrderStatus.WaitingAudit)
            {
                throw new BusinessException(L("采购单不为待审核状态,不能审核拒绝!"));
            }
            localEntity.PurchaseOrderBasicInfo.MemoInfo.RefuseMemo   = poInfo.PurchaseOrderBasicInfo.MemoInfo.RefuseMemo + "[" + poInfo.EditUserName + ":" + DateTime.Now.ToString() + "]";
            localEntity.PurchaseOrderBasicInfo.PurchaseOrderTPStatus = null;
            localEntity.PurchaseOrderBasicInfo.PurchaseOrderStatus   = PurchaseOrderStatus.Returned;
            localEntity.PurchaseOrderBasicInfo.AuditDate             = null;
            localEntity.PurchaseOrderBasicInfo.AuditUserSysNo        = null;


            using (ITransaction trans = ECommerce.Utility.TransactionManager.Create())
            {
                ProductPurchaseDA.UpdatePOStatus(localEntity);

                PurchaseOrderETATimeInfo poetaEntity = new PurchaseOrderETATimeInfo();
                poetaEntity.Status   = -1;
                poetaEntity.POSysNo  = poInfo.SysNo;
                poetaEntity.EditUser = poInfo.EditUserName;
                ProductPurchaseDA.UpdatePOETAInfo(poetaEntity);

                trans.Complete();
            }
            return(localEntity);
        }