public static void SetComposeStock(string sku, ISession NSession) { //这个产品有几个产品组成 List <ProductComposeType> products = NSession.CreateQuery(" from ProductComposeType where SKU in (select SKU from ProductComposeType where SrcSKU='" + sku + "')").List <ProductComposeType>().ToList(); string skulist = ""; if (products.Count == 0) { return; } foreach (ProductComposeType productComposeType in products) { skulist += productComposeType.SrcSKU + ","; } skulist = skulist.Trim(',').Replace(",", "','"); IList <WarehouseStockType> stocklist = NSession.CreateQuery("from WarehouseStockType where SKU in ('" + skulist + "')").List <WarehouseStockType>(); int min = 0; foreach (WarehouseStockType warehouseStockType in stocklist) { ProductComposeType composeType = products.Find(p => p.SrcSKU.Trim().ToUpper() == warehouseStockType.SKU.ToUpper()); int j = warehouseStockType.Qty / composeType.SrcQty; if (min == 0 || j < min) { min = j; } } IList <WarehouseStockType> list = NSession.CreateQuery("from WarehouseStockType where SKU ='" + products[0].SKU + "'").List <WarehouseStockType>(); if (list.Count > 0) { list[0].Qty = min; NSession.Update(list[0]); NSession.Flush(); } else { IList <ProductType> productTypes = NSession.CreateQuery("from ProductType where SKU ='" + products[0].SKU + "'").List <ProductType>(); if (productTypes.Count > 0) { AddToWarehouse(productTypes[0], NSession, min); } } }
public string Zu(ProductComposeType item) { string str = " sku:" + item.SrcSKU + " Qty:" + item.SrcQty + "<br>"; return(str); }