Пример #1
0
        public virtual bool IsVSPOItemPriceLimited(int soSysNo, int productSysNo, int purchaseQty)
        {
            decimal price            = 0m;
            SOInfo  getCurrentSOInfo = SOBizInteract.GetSOInfo(soSysNo);

            if (null != getCurrentSOInfo)
            {
                SOItemInfo item = getCurrentSOInfo.Items.SingleOrDefault(x => x.ProductSysNo == productSysNo);
                if (null != item)
                {
                    if (item.Price.HasValue)
                    {
                        price = item.Price.Value;
                    }
                    if (price >= 2000 && purchaseQty >= 3)
                    {
                        return(true);
                    }
                    if (purchaseQty * price >= 15000)
                    {
                        return(true);
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        public virtual VirtualStockPurchaseOrderInfo LoadVirtualPurchaseInfoBySOItemSysNo(int soSysNo, int productSysNo)
        {
            int    soItemSysNo      = 0;
            string productID        = string.Empty;
            string productName      = string.Empty;
            int    pmUserSysNo      = 0;
            SOInfo getCurrentSOInfo = SOBizInteract.GetSOInfo(soSysNo);

            if (null != getCurrentSOInfo)
            {
                SOItemInfo item = getCurrentSOInfo.Items.SingleOrDefault(x => x.ProductSysNo == productSysNo);
                if (null != item)
                {
                    ProductInfo getProductInfo = IMBizInteract.GetProductInfo(item.ProductSysNo.Value);
                    soItemSysNo = item.SysNo.Value;
                    productID   = item.ProductID;
                    productName = item.ProductName;
                    pmUserSysNo = getProductInfo.ProductBasicInfo.ProductManager.SysNo.Value;
                }
                else
                {
                    throw new BizException("订单明细号错误!");
                }
            }
            else
            {
                throw new BizException("订单明细号错误!");
            }

            VirtualStockPurchaseOrderInfo memoInfo = null;
            int isExist = SOBizInteract.GetGeneratedSOVirtualCount(soItemSysNo);

            if (isExist > 0)
            {
                memoInfo = VSPurchaseOrderDA.GetMemoInfoFromVirtualRequest(soItemSysNo);
            }
            int needPurchaseQty = VSPurchaseOrderDA.CalcVSPOQuantity(soItemSysNo);
            VirtualStockPurchaseOrderInfo returnEntity = new VirtualStockPurchaseOrderInfo()
            {
                PMMemo         = (memoInfo == null ? string.Empty : memoInfo.PMMemo),
                CSMemo         = (memoInfo == null ? string.Empty : memoInfo.CSMemo),
                SOSysNo        = getCurrentSOInfo.SysNo.Value,
                ProductID      = productID,
                ProductName    = productName,
                ProductSysNo   = productSysNo,
                PMUserSysNo    = pmUserSysNo,
                PurchaseQty    = isExist > 0 ? isExist : needPurchaseQty,
                SOItemSysNo    = soItemSysNo,
                SOVirtualCount = isExist
            };

            return(returnEntity);
        }