| | |
| | | /// <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 == null) continue; |
| | | var data = response.data.FirstOrDefault(); |
| | | if (data != null) |
| | | item.ERPStockQuantity = data.business_qty; |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | _inventoryBatchServices.UpdateData(UpdateBatches); |
| | | _inventoryBatchServices.UpdateData(inventoryBatches); |
| | | return responseContent.OK("åºåä¿¡æ¯åæ¥å®æ"); |
| | | |
| | | } |