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