using ButcherFactory.BO.Utils; using Forks.EnterpriseServices.DomainObjects2; using Forks.EnterpriseServices.DomainObjects2.DQuery; using Forks.JsonRpc.Client; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ButcherFactory.BO.LocalBL { public static class SegmentStockUpBL { const string RpcPath = @"/MainSystem/B3Sale/Rpcs/"; const string MESPath = @"/MainSystem/B3ClientService/Rpcs/"; /// /// /// /// GoodsCode:StringExt1,Weight:DecimalExt1 public static ExtensionObj StockUpScan(string code) { var json = ButcherFactoryUtil.SecondUrlCall(MESPath + "SegmentInStoreRpc/StockUpScan", code); return JsonConvert.DeserializeObject(json); } public static List GetStockUpEntity(DateTime date, string code) { var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/GetSaleOutStoreByGoodsCode", date, code); return JsonConvert.DeserializeObject>(json); } public static List RefreshList(DateTime date, IEnumerable goodsIDs) { var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/GetSaleOutStoreByGoodsIDs", date, JsonConvert.SerializeObject(goodsIDs)); return JsonConvert.DeserializeObject>(json); } public static bool CheckBarCodeUsed(string barCode) { return RpcFacade.Call(RpcPath + "SaleOutStoreRpc/CheckBarCodeUsed",barCode); } public static List GetDetails(DateTime date, long driverLineID, long goodsID) { var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/GetStockUpDetails", date, driverLineID, goodsID); return JsonConvert.DeserializeObject>(json); } public static string InsertStockUpDetail(StockUpDetail detail) { var min = new MinStockUpDetail() { BarCode = detail.BarCode, SecondNumber = detail.SecondNumber, UnitNumber = detail.UnitNumber }; var json = JsonConvert.SerializeObject(min); var bkJson = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/InsertStockUpDetail", detail.Date, detail.Goods_ID, detail.DeliverGoodsLine_ID, json); if (string.IsNullOrEmpty(bkJson)) throw new Exception("无等待备货信息"); var backInfo = JsonConvert.DeserializeObject(bkJson); detail.SaleOutStoreID = backInfo.LongExt1.Value; detail.ID = backInfo.LongExt2.Value; return backInfo.StringExt1; } class MinStockUpDetail { public string BarCode { get; set; } public decimal? SecondNumber { get; set; } public decimal? UnitNumber { get; set; } } } }