| | |
| | | using System.IO; |
| | | using System.Security.Cryptography.X509Certificates; |
| | | using System.Net.WebSockets; |
| | | using WMS.BLL.SysServer; |
| | | |
| | | namespace WMS.BLL.BllPdaServer |
| | | { |
| | |
| | | |
| | | #region 产品组托 |
| | | |
| | | public void GetBoxInfoByFuMa(string boxNo,string url) |
| | | public void GetBoxInfoByFuMa(string boxNo,string url,string fuMaTokenUrl,string levelType) |
| | | { |
| | | try |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region 正式版本 |
| | | var token = new Token().GetFuMaToken(fuMaTokenUrl); |
| | | var getParentVal = levelType == "1" ? "true" : "false"; |
| | | var getChildrenVal = levelType == "3" ? "true" : "false"; |
| | | Dictionary<string, string> paramDic = new Dictionary<string, string> |
| | | { |
| | | { "Token", token }, //分配的令牌(变量) |
| | | { "Barcode", boxNo },//要查询的条码 |
| | | { "getParent", getParentVal },//是否查询父码 |
| | | { "getChildren", getChildrenVal } //是否查询子码 |
| | | }; |
| | | |
| | | //程序正式发布后放开 |
| | | var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | var response = HttpHelper.DoGet(url, "赋码", "获取箱码信息", paramDic); |
| | | var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | |
| | | ////程序正式发布后放开 |
| | | //var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | ////var response = HttpHelper.DoGet(url, jsonData, "获取箱码信息", "赋码"); |
| | | //var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | //解析返回数据 |
| | | var fuMaModel = JsonConvert.DeserializeObject<FuMaGetBoxModel>(response); |
| | | if (fuMaModel.IsSuccess) |
| | | { |
| | | //赋码返回信息成功状态 |
| | | if (fuMaModel.Product == null || fuMaModel.Barcodes.Count == 0) |
| | | { |
| | | throw new Exception("产品信息或箱支信息为空"); |
| | | } |
| | | |
| | | ////解析返回数据 |
| | | //var fuMaModel = JsonConvert.DeserializeObject<FuMaGetBoxModel>(response); |
| | | //if (fuMaModel.IsSuccess) |
| | | //{ |
| | | // //赋码返回信息成功状态 |
| | | // if (fuMaModel.Product == null || fuMaModel.Barcodes.Count == 0) |
| | | // { |
| | | // throw new Exception("产品信息或箱支信息为空"); |
| | | // } |
| | | foreach (var item in fuMaModel.Barcodes) |
| | | { |
| | | if (item.Barcode != boxNo) |
| | | { |
| | | throw new Exception("获取信息不一致"); |
| | | } |
| | | |
| | | // foreach (var item in fuMaModel.Barcodes) |
| | | // { |
| | | // if (item.Barcode != boxNo) |
| | | // { |
| | | // throw new Exception("获取信息不一致"); |
| | | // } |
| | | |
| | | // var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.Product.ProductCode); |
| | | // if (sku == null) |
| | | // { |
| | | // throw new Exception("未查询到箱码中的物料信息"); |
| | | // } |
| | | // //var boxInfo = new BllBoxInfo() |
| | | // //{ |
| | | // // ASNNo = "", |
| | | // // //ASNDetailNo = 0, |
| | | // // OrderCode = "", |
| | | // // //BindNo = 0, |
| | | // // BoxNo = item.BoxNo, |
| | | // // BoxNo2 = item.BoxNo2, |
| | | // // BoxNo3 = item.Barcode, |
| | | // // PalletNo = "", |
| | | // // Qty = item.Qty, |
| | | // // FullQty = item.FullQty, |
| | | // // Status = "0", |
| | | // // SkuNo = item.SkuNo, |
| | | // // SkuName = sku.SkuName, |
| | | // // LotNo = item.LotNo, |
| | | // // LotText = item.LotText, |
| | | // // SupplierLot = item.SupplierLot, |
| | | // // ProductionTime = item.ProductionTime, |
| | | // // ExpirationTime = item.ExpirationTime, |
| | | // // //CompleteTime = comTime, |
| | | // // InspectMark = item.InspectMark, |
| | | // // BitBoxMark = item.BitBoxMark, |
| | | // // InspectStatus = item.InspectStatus, |
| | | // // Origin = "赋码", |
| | | // // Standard = item.Standard, |
| | | // // PackageStandard = item.PackageStandard, |
| | | // // StoreTime = item.StoreTime, |
| | | // // QtyOrd = item.QtyOrd, |
| | | // // QtyCount = item.QtyCount, |
| | | // // CreateUser = 0, |
| | | // // CreateTime = comTime, |
| | | // //}; |
| | | // //list.Add(boxInfo); |
| | | // } |
| | | // Db.Insertable(list).ExecuteCommand(); |
| | | //} |
| | | //else |
| | | //{ |
| | | // //赋码返回信息失败状态 |
| | | // throw new Exception($"赋码系统返回状态异常:{fuMaModel.Message}"); |
| | | //} |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.Product.ProductCode); |
| | | if (sku == null) |
| | | { |
| | | throw new Exception("未查询到箱码中的物料信息"); |
| | | } |
| | | var boxInfo = new BllBoxInfo() |
| | | { |
| | | ASNNo = "", |
| | | //ASNDetailNo = 0, |
| | | OrderCode = "", |
| | | //BindNo = 0, |
| | | BoxNo = item.Barcode, |
| | | BoxNo2 = item.Barcode, |
| | | BoxNo3 = item.Barcode, |
| | | PalletNo = "", |
| | | Qty = item.BoxItemQty, |
| | | FullQty = fuMaModel.BoxItemQty, |
| | | Status = "0", |
| | | SkuNo = sku.SkuNo, |
| | | SkuName = sku.SkuName, |
| | | LotNo = item.BatchNo, |
| | | //LotText = "", |
| | | //SupplierLot = item.SupplierLot, |
| | | ProductionTime = DateTime.Parse(item.ProductionDate), |
| | | ExpirationTime = DateTime.Parse(item.ExpirationDate), |
| | | //CompleteTime = comTime, |
| | | InspectMark = "0", |
| | | BitBoxMark = item.Status == "零箱"? "1":"0", |
| | | InspectStatus = "0", |
| | | Origin = "赋码", |
| | | Standard = fuMaModel.Product.Spec, |
| | | PackageStandard = fuMaModel.Product.PackageSpec, |
| | | //StoreTime = item.StoreTime, |
| | | //QtyOrd = item.QtyOrd, |
| | | //QtyCount = item.QtyCount, |
| | | CreateUser = 0, |
| | | CreateTime = comTime, |
| | | }; |
| | | list.Add(boxInfo); |
| | | } |
| | | Db.Insertable(list).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | //赋码返回信息失败状态 |
| | | throw new Exception($"赋码系统返回状态异常:{fuMaModel.Message}"); |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url) |
| | | public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url, string fuMaTokenUrl) |
| | | { |
| | | try |
| | | { |
| | |
| | | var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo); |
| | | if (count == 0) |
| | | { |
| | | GetBoxInfoByFuMa(model.BoxNo, url); //从赋码系统获取箱码信息 |
| | | GetBoxInfoByFuMa(model.BoxNo, url, fuMaTokenUrl,"1"); //从赋码系统获取箱码信息 |
| | | } |
| | | } |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model, string url) |
| | | public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model, string url, string fuMaTokenUrl) |
| | | { |
| | | try |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | GetBoxInfoByFuMa(model.BoxNo3, url); //从赋码系统获取箱码信息 |
| | | GetBoxInfoByFuMa(model.BoxNo3, url, fuMaTokenUrl,"3"); //从赋码系统获取箱码信息 |
| | | } |
| | | } |
| | | } |