예제 #1
0
        /// <summary>
        /// 根据AccLog构建代收结算单
        /// </summary>
        /// <param name="acclogList">AccLog</param>
        /// <returns>代收结算单列表</returns>
        private List <GatherSettlementInfo> GetVendorSettleList(List <GatherSettleInfo> acclogList)
        {
            //计算TotalAmt
            List <GatherSettlementInfo> settleGatherList = new List <GatherSettlementInfo>();
            var result = from item in acclogList
                         group item by item.VendorSysno;

            foreach (var data in result)
            {
                var stockGroup = data.GroupBy(ite => ite.WarehouseNumber);
                foreach (var re in stockGroup)
                {
                    GatherSettlementInfo msg = new GatherSettlementInfo();
                    msg.GatherSettlementItemInfoList = new List <GatherSettlementItemInfo>();
                    msg.VendorSysNo = data.Key;     //@@
                    msg.StockSysNo  = re.Key;       //@@
                    foreach (var it in re)
                    {
                        GatherSettlementItemInfo itemsg = new GatherSettlementItemInfo();
                        itemsg.InvoiceNumber = it.InvoiceNumber;
                        itemsg.OrderDate     = it.OrderDate;
                        itemsg.OriginalPrice = it.OriginalPrice;

                        //??itemsg.Point = it.Point;
                        itemsg.Point = Convert.ToInt32(it.Point);

                        itemsg.ProductID    = it.ProductID;
                        itemsg.ProductName  = it.ProductName;
                        itemsg.ProductSysNo = it.ProductSysNo;
                        itemsg.Quantity     = it.Quantity;
                        itemsg.SettleStatus = it.SettleStatus;      //@@


                        itemsg.SettleSysNo = it.SettleSysNo;
                        //??itemsg.SettleType = it.SettleType;
                        itemsg.SettleType        = it.EnumSettleType;
                        itemsg.SoItemSysno       = it.SoItemSysno;  //@@
                        itemsg.SONumber          = it.SONumber;
                        itemsg.StockName         = it.StockName;
                        itemsg.SysNo             = it.SysNo;             //@@
                        itemsg.TransactionNumber = it.TransactionNumber; //@@
                        itemsg.VendorSysno       = it.VendorSysno;       //@@
                        itemsg.WarehouseNumber   = it.WarehouseNumber;
                        itemsg.PromotionDiscount = it.PromotionDiscount; //优惠券折扣
                        msg.GatherSettlementItemInfoList.Add(itemsg);
                    }
                    if (msg.GatherSettlementItemInfoList.Count > 0)
                    {
                        msg.TotalAmt = msg.GatherSettlementItemInfoList.Sum(d => (d.OriginalPrice * d.Quantity) + (d.PromotionDiscount.HasValue ? d.PromotionDiscount.Value : 0)).Value;
                    }
                    settleGatherList.Add(msg);
                }
            }

            return(settleGatherList);
        }
예제 #2
0
        public GatherSettlementItemInfo DeleteSettleItem(GatherSettlementItemInfo info, int settleSysNo)
        {
            DataCommand command = DataCommandManager.GetDataCommand("DeleteVendorSettleGatherItem");

            command.SetParameterValue("@ReferenceSysNo", info.OrderSysNo.Value);
            command.SetParameterValue("@ReferenceType", info.SettleType.ToString());
            command.SetParameterValue("@SettlementSysNo", settleSysNo);
            command.ExecuteNonQuery();
            return(info);
        }
예제 #3
0
        //private SettleGatherItemMsg CreateSettleItem(SettleGatherItemMsg entity)
        private GatherSettlementItemInfo CreateSettleItem(GatherSettlementItemInfo entity)
        {
            DataCommand command = null;

            command = DataCommandManager.GetDataCommand("CreateVendorSettleGatherItem");
            command.SetParameterValue("@OrderNo", entity.SONumber);
            command.SetParameterValue("@OrderType", entity.SettleType);
            command.SetParameterValue("@SettleSysNo", entity.SettleSysNo);
            command.SetParameterValue("@ProductSysNo", entity.ProductSysNo);
            command.SetParameterValue("@Qty", entity.Quantity);
            command.SetParameterValue("@SalesAmt", entity.OriginalPrice);
            command.SetParameterValue("@InUser", GlobalSettings.UserName);
            command.SetParameterValue("@InDate", DateTime.Now);
            command.SetParameterValue("@EditUser", GlobalSettings.UserName);
            command.SetParameterValue("@EditDate", DateTime.Now);
            command.SetParameterValue("@ItemType", entity.ProductSysNo.Value <= 0 ? "SHP" : "PRD");
            command.SetParameterValue("@CompanyCode", GlobalSettings.CompanyCode);
            command.SetParameterValue("@StoreCompanyCode", GlobalSettings.StoreCompanyCode);
            System.Convert.ToInt32(command.ExecuteNonQuery());
            return(entity);
        }
예제 #4
0
        private static DataRow GetDataRow(GatherSettlementItemInfo msg, DataTable dataTable)
        {
            DataRow dr = dataTable.NewRow();

            dr["ReferenceSysNo"] = msg.SONumber;
            dr["ReferenceType"]  = msg.SettleType;
            dr["ProductSysNo"]   = msg.ProductSysNo;
            dr["Qty"]            = msg.Quantity;
            dr["SalesAmt"]       = msg.OriginalPrice;
            dr["InUser"]         = GlobalSettings.UserName;
            dr["InDate"]         = DateTime.Now;
            dr["EditUser"]       = GlobalSettings.UserName;
            dr["EditDate"]       = DateTime.Now;
            dr["CurrencyCode"]   = "CNY";
            dr["CompanyCode"]    = GlobalSettings.CompanyCode;
            //dr["LanguageCode"] =
            dr["StoreCompanyCode"] = GlobalSettings.StoreCompanyCode;
            dr["ItemType"]         = msg.ProductSysNo.Value <= 0 ? "SHP" : "PRD";
            dr["SettlementSysNo"]  = msg.SettleSysNo;
            return(dr);
        }