´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/OutboundTask.cs
@@ -47,20 +47,10 @@ #region dt_stationinfo stationinfo = null; if (Station.area == "1") { //æ¥æ¾å½åè´§ä½å忝å¦åå¨å ¥åºä»»å¡ if (stationinfoRepository.Find(x => x.column == Station.column && x.area == "1" && x.location_state == LocationStateEnum.InBusy.ToString()).Any()) continue; stationinfo = stationinfoRepository.Find(x => x.column == Station.column && x.enable && x.area == "1" && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderBy(x => x.line).FirstOrDefault(); } else { //æ¥æ¾å½åè´§ä½å忝å¦åå¨å ¥åºä»»å¡ //æ¥æ¾å½åè´§ä½åè¡æ¯å¦åå¨å ¥åºä»»å¡ if (stationinfoRepository.Find(x => x.line == Station.line && x.area == Station.area && x.location_state == LocationStateEnum.InBusy.ToString()).Any()) continue; stationinfo = stationinfoRepository.Find(x => x.line == Station.line && x.area == Station.area && x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.column).FirstOrDefault(); } if (stationinfo != null) { if (stationinfoRepository.Find(x => x.line == stationinfo.line && x.area == stationinfo.area && x.column > stationinfo.column && !x.enable).Any()) ´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs
@@ -77,7 +77,22 @@ [Editable(true)] public string heatBatchID { get; set; } /// <summary> ///宿æ¶é´ /// </summary> [Display(Name = "宿æ¶é´")] [Column(TypeName = "datetime")] [Editable(true)] public DateTime? FinishTime { get; set; } /// <summary> ///å·¥åç¶æ /// </summary> [Display(Name = "å·¥åç¶æ")] [MaxLength(20)] [Column(TypeName = "nvarchar(20)")] [Editable(true)] public string Status { get; set; } } } ´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail_hty.cs
@@ -105,6 +105,13 @@ [Editable(true)] public string compeletor { get; set; } /// <summary> ///å·¥åç¶æ /// </summary> [Display(Name = "å·¥åç¶æ")] [MaxLength(20)] [Column(TypeName = "nvarchar(20)")] [Editable(true)] public string Status { get; set; } } } ´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs
@@ -179,6 +179,14 @@ public DateTime CreateTime { get; set; } /// <summary> ///宿æ¶é´ /// </summary> [Display(Name = "宿æ¶é´")] [Column(TypeName = "datetime")] [Editable(true)] public DateTime? FinishTime { get; set; } /// <summary> ///å建è /// </summary> [Display(Name = "å建è ")] ´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_inventoryService.cs
@@ -36,6 +36,7 @@ using WIDESEA_Comm.MES_Info; using System.Reflection; using static System.Collections.Specialized.BitVector32; using WIDESEA_Comm; namespace WIDESEA_WMS.Services { @@ -246,7 +247,7 @@ detail detail = new detail(); detail.sn = inventory.SN; lists.Add(detail); str = str == "" ? inventory.SN : "," + inventory.SN; str += str == "" ? inventory.SN : "," + inventory.SN; } agvInWarehousePara outWarehousePara = new agvInWarehousePara() { @@ -271,11 +272,31 @@ foreach (var inventory in inventorys) { 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()); station.quantity = station.quantity - 1; } #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); } ´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs
@@ -1,4 +1,5 @@ using Newtonsoft.Json; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System; using System.Collections.Generic; @@ -47,6 +48,7 @@ list.Add(SN); } var inventoryList = inventoryRepository.Find(x => list.Contains(x.SN)).ToList(); foreach (var inventorys in inventoryList.GroupBy(x => x.stationCode)) { try @@ -57,7 +59,7 @@ detail detail = new detail(); detail.sn = inventory.SN; lists.Add(detail); str = str == "" ? inventory.SN : "," + inventory.SN; str += str == "" ? inventory.SN : "," + inventory.SN; } agvInWarehousePara outWarehousePara = new agvInWarehousePara() { @@ -82,11 +84,31 @@ foreach (var inventory in inventorys) { 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 = OperStr(bindSNS, inventory.SN); var billetS = station.billetID.Split(","); station.billetID = OperStr(billetS, inventory.BilletNumber.ToString()); station.quantity = station.quantity - 1; } #region åæ¶è·è¸ªDbContextä¸è¢«è·è¸ªçå®ä½ var currentEntry = stationinfoRepository.DbContext.ChangeTracker.Entries<dt_stationinfo>().FirstOrDefault(); if (currentEntry != null) currentEntry.State = EntityState.Detached; #endregion stationinfoRepository.Update(station, true); inventoryRepository.Delete(inventory, true); }