chengsc
2024-11-02 d567d9d6926abb103f3ab73402134daa6a09ef11
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -24,6 +24,7 @@
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Net.WebSockets;
using WMS.BLL.SysServer;
namespace WMS.BLL.BllPdaServer
{
@@ -1794,7 +1795,7 @@
        #region 产品组托
        public void GetBoxInfoByFuMa(string boxNo,string url)
        public void GetBoxInfoByFuMa(string boxNo,string url,string fuMaTokenUrl,string levelType)
        {
            try
            {
@@ -1865,77 +1866,86 @@
                #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
            }
@@ -1950,7 +1960,7 @@
        /// </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
            {
@@ -1970,7 +1980,7 @@
                            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"); //从赋码系统获取箱码信息
                            }
                        }
                    }
@@ -2007,7 +2017,7 @@
        /// </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
            {
@@ -2073,7 +2083,7 @@
                                }
                                else
                                {
                                    GetBoxInfoByFuMa(model.BoxNo3, url); //从赋码系统获取箱码信息
                                    GetBoxInfoByFuMa(model.BoxNo3, url, fuMaTokenUrl,"3"); //从赋码系统获取箱码信息
                                }
                            }
                        }