From bb929bd0809eefc1108dd779846ff07d997f7ef0 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期五, 19 七月 2024 09:25:14 +0800 Subject: [PATCH] 反馈MES工单完成 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs | 121 ++++++++++++++++++---------------------- 1 files changed, 55 insertions(+), 66 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs" index 64201bf..a1ca6f8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs" @@ -187,34 +187,31 @@ toWarehouseName = "Agv搴�", Operator = UserContext.Current.UserName, }; + Idt_info_to_mesRepository mesRepository = new dt_info_to_mesRepository(context); + var postJson = JsonConvert.SerializeObject(moveWarehousePara); - var mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + "agvMoveWarehouse"); - if (mesData.Contains("杩炴帴灏濊瘯澶辫触")) - throw new Exception(mesData); - MES_Response requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); - if (requestMes.code == "200" && requestMes.Type == "success") + dt_info_to_mes info_To_Mes = new dt_info_to_mes() { - //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛 - WriteWMSLog.LogAdd("", "鎴愬姛", "MES", "WMS", postJson, mesData, "浜哄伐鍚屾MES杞﹁疆绉诲簱", "agvMoveWarehouse", requestMes.message); - inventory.stationCode = stationCode; - _repository.Update(inventory, true); - WriteDBLog.Write($"鎵嬪姩绉诲簱搴撳瓨 ", str, LogState.Sucess, "WMS", UserContext.Current.UserName); - } - else - { - WriteWMSLog.LogAdd("", "澶辫触", "MES", "WMS", postJson, mesData, "浜哄伐鍚屾MES杞﹁疆绉诲簱", "agvMoveWarehouse", requestMes.message); - throw new Exception("浜哄伐鍚屾MES杞﹁疆绉诲簱澶辫触锛�" + requestMes.message); - } + Info = postJson, + ActionName = "agvMoveWarehouse", + Createtime = DateTime.Now, + Remark = "浜哄伐鍚屾MES杞﹁疆绉诲簱", + State = false + }; + mesRepository.Add(info_To_Mes, true); + + inventory.stationCode = stationCode; + _repository.Update(inventory, true); + WriteDBLog.Write($"浜哄伐绉诲簱", str, LogState.Sucess, "WMS", UserContext.Current.UserName); content.OK(); } catch (Exception ex) { content.Message = ex.Message; - WriteDBLog.Write($"鎵嬪姩绉诲簱搴撳瓨 ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); + WriteDBLog.Write($"浜哄伐绉诲簱", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); } return content; - //return base.Update(saveModel); } /// <summary> /// 鍒犻櫎搴撳瓨 @@ -236,7 +233,6 @@ KeyList.Add(key); } var inventoryList = _repository.Find(x => KeyList.Contains(x.ID.ToString())).ToList(); - //str = $"{string.Join('銆�', inventoryList.Select(t => t.SN).ToArray())}"; foreach (var inventorys in inventoryList.GroupBy(x => x.stationCode)) { try @@ -251,78 +247,71 @@ } agvInWarehousePara outWarehousePara = new agvInWarehousePara() { - //WorkOrder = task.jobID, zoneID = inventorys.Key, - //processCode = task.agv_worktype.ToString(), details = lists, layerNo = 1, stackID = "1", warehouseName = "Agv搴�", Operator = UserContext.Current.UserName, }; + Idt_info_to_mesRepository mesRepository = new dt_info_to_mesRepository(context); var postJson = JsonConvert.SerializeObject(outWarehousePara); - var mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + "agvOutWarehouse"); - if (mesData.Contains("杩炴帴灏濊瘯澶辫触")) throw new Exception(mesData); - MES_Response requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); - if (requestMes.code == "200" && requestMes.Type == "success") + dt_info_to_mes info_To_Mes = new dt_info_to_mes() { - //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛 - WriteWMSLog.LogAdd("", "鎴愬姛", "MES", "WMS", postJson, mesData, "浜哄伐鍚屾MES杞﹁疆鍑哄簱", "agvOutWarehouse", requestMes.message); + Info = postJson, + ActionName = "agvOutWarehouse", + Createtime = DateTime.Now, + Remark = "浜哄伐鍚屾MES杞﹁疆鍑哄簱", + State = false + }; + mesRepository.Add(info_To_Mes, true); - foreach (var inventory in inventorys) + foreach (var inventory in inventorys) + { + var station = stationinfoRepository.Find(x => x.stationCode == inventory.stationCode).FirstOrDefault(); + station.quantity = station.quantity - 1; + if (station.quantity < 1) { - var station = stationinfoRepository.Find(x => x.stationCode == inventory.stationCode).FirstOrDefault(); - station.quantity = station.quantity - 1; - if (station.quantity == 0) - { - station.stationType = string.Empty; - station.heatNumber = string.Empty; - station.Number = string.Empty; - station.billetID = string.Empty; - station.bindSN = string.Empty; - station.enable = false; - station.tray_status = string.Empty; - station.location_state = LocationStateEnum.Empty.ToString(); - } - else - { - var bindSNS = station.bindSN.Split(","); - station.bindSN = ToMesServer.OperStr(bindSNS, inventory.SN); - var billetS = station.billetID.Split(","); - station.billetID = ToMesServer.OperStr(billetS, inventory.BilletNumber.ToString()); - } - - #region 鍙栨秷璺熻釜DbContext涓璺熻釜鐨勫疄浣� - var currentEntry = stationinfoRepository.DbContext.ChangeTracker.Entries<dt_stationinfo>().FirstOrDefault(); - if (currentEntry != null) currentEntry.State = EntityState.Detached; - #endregion - - stationinfoRepository.Update(station, true); - _repository.Delete(inventory, true); + station.quantity = 1; + station.stationType = string.Empty; + station.heatNumber = string.Empty; + station.Number = string.Empty; + station.billetID = string.Empty; + station.bindSN = string.Empty; + station.tray_status = "EmptyTrayss"; + station.location_state = LocationStateEnum.Stroge.ToString(); } - WriteDBLog.Write($"鎵嬪姩鍒犻櫎搴撳瓨 ", $"璐т綅缂栧彿锛歿inventorys.Key}锛汼N鍙凤細{str}", LogState.Sucess, "WMS", UserContext.Current.UserName); + else + { + var bindSNS = station.bindSN.Split(","); + station.bindSN = ToMesServer.OperStr(bindSNS, inventory.SN); + var billetS = station.billetID.Split(","); + station.billetID = ToMesServer.OperStr(billetS, inventory.BilletNumber.ToString()); + } + + #region 鍙栨秷璺熻釜DbContext涓璺熻釜鐨勫疄浣� + var currentEntry = stationinfoRepository.DbContext.ChangeTracker.Entries<dt_stationinfo>().FirstOrDefault(); + if (currentEntry != null) currentEntry.State = EntityState.Detached; + #endregion + + stationinfoRepository.Update(station, true); + _repository.Delete(inventory, true); } - else - { - WriteWMSLog.LogAdd("", "澶辫触", "MES", "WMS", postJson, mesData, "浜哄伐鍚屾MES杞﹁疆鍑哄簱", "agvOutWarehouse", requestMes.message); - throw new Exception("浜哄伐鍚屾MES杞﹁疆鍑哄簱澶辫触锛�" + requestMes.message); - } + WriteDBLog.Write($"浜哄伐鍑哄簱鎴愬姛 ", $"璐т綅缂栧彿锛歿inventorys.Key}锛汼N鍙凤細{str}", LogState.Sucess, "WMS", UserContext.Current.UserName); } catch (Exception ex) { content.Message = ex.Message; - WriteDBLog.Write($"鎵嬪姩鍒犻櫎搴撳瓨 ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); + WriteDBLog.Write($"浜哄伐鍑哄簱澶辫触 ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); } } content.OK(); - //content = base.Del(keys, delList); - //WriteDBLog.Write($"鎵嬪姩鍒犻櫎搴撳瓨 ", str, LogState.Sucess, "WMS", UserContext.Current.UserName); } catch (Exception ex) { content.Message = ex.Message; - WriteDBLog.Write($"鎵嬪姩鍒犻櫎搴撳瓨 ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); + WriteDBLog.Write($"浜哄伐鍑哄簱澶辫触 ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = str }, LogState.Error, "WMS", UserContext.Current.UserName); } return content; -- Gitblit v1.9.3