dengjunjie
2 天以前 9b7acc479dc747c8c78eae84d3f83e1347aa478d
优化
已修改2个文件
56 ■■■■ 文件已修改
新建文件夹/WIDESEA_WMSServer/WIDESEA_DTO/SquareCabin/OrderDto.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_DTO/SquareCabin/OrderDto.cs
@@ -312,6 +312,7 @@
            /// åº“存数量(业务数量)
            /// </summary>
            public decimal business_qty { get; set; }
            public decimal actual_qty { get; set; }
            /// <summary>
           
            /// <summary>
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs
@@ -44,59 +44,26 @@
        /// <param name="batch_num">批号</param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public WebResponseContent GetInventoryList(int[] key)
        public WebResponseContent GetInventoryList(int[] keys)
        {
            var responseContent = new WebResponseContent();
            try
            {
                List<Dt_Inventory_Batch> UpdateBatches = new List<Dt_Inventory_Batch>();
                //根据id查询库存批次信息表,获取到他们的商品编码和批次号
                var inventoryBatches = _inventoryBatchServices.Repository.QueryData(); //查全部
                var inventoryBatches = _inventoryBatchServices.Repository.QueryData(x => keys.Contains(x.Id)); //查全部
                var inventory = inventoryBatches.Where(x => key.Contains(x.Id)).Select(x => new { x.MaterielCode, x.BatchNo }).ToList();
                if (inventory.Count < 1)
                var url = "http://121.37.118.63:80/GYZ2/95fck/repositoryInfo";
                foreach (var item in inventoryBatches)
                {
                    return WebResponseContent.Instance.Error("没有找到库存批次信息");
                }
                var requestData = inventory.Select(x => new { goods_no = x.MaterielCode, batch_num = x.BatchNo }).Distinct().ToList();
                foreach (var item in requestData)
                {
                    var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/370999979?apifoxApiId=370999979";
                    var result = HttpHelper.Post(url, new { item.goods_no, item.batch_num }.ToJsonString());
                    var result = HttpHelper.Post(url, new { goods_no = item.MaterielCode, batch_num = item.BatchNo }.ToJsonString());
                    var response = JsonConvert.DeserializeObject<UpstreamResponse<InventoryInfo>>(result);
                    if (response.resultCode != "0")
                    {
                        //return responseContent.Error(response.resultMsg ?? "上游接口返回失败");
                        _infoService.AddMessageInfo(MessageGroupByEnum.SynchronismAlarm, "Erp同步失败", "上游接口返回失败");
                        continue;
                    }
                    if (response.data == null || !response.data.Any())
                    {
                        return responseContent.OK("无新库存数据");
                    }
                    var materialCodes = response.data.Select(x => x.goods_no).Distinct().ToList();
                    var batchNos = response.data.Select(x => x.batch_num).Distinct().ToList();
                    foreach (var inventoryInfo in response.data)
                    {
                        //// ä½¿ç”¨ FirstOrDefault é¿å…æ‰¾ä¸åˆ°è®°å½•时抛出异常
                        var Inver = inventoryBatches.FirstOrDefault(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num);
                        if (Inver != null)
                        {
                            Inver.ERPStockQuantity = inventoryInfo.business_qty;
                            UpdateBatches.Add(Inver);
                        }
                    }
                    if (response == null) continue;
                    var data = response.data.FirstOrDefault();
                    if (data != null)
                        item.ERPStockQuantity = data.business_qty;
                }
                _inventoryBatchServices.UpdateData(UpdateBatches);
                _inventoryBatchServices.UpdateData(inventoryBatches);
                return responseContent.OK("库存信息同步完成");
            }
@@ -105,7 +72,7 @@
                return responseContent.Error("同步失败: " + ex.Message);
            }
        }
        public ApiResponse<Dt_InventoryInfo> OrderFeedback(EdiOrderCallbackRequest request)