/// <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); }
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); }
//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); }
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); }