| | |
| | | |
| | | public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>(); |
| | | public static string HKbaseUrl { get; set; } |
| | | public static string MESbaseUrl { get; set; } |
| | | public static string WMSbaseUrl { get; set; } |
| | | public static readonly HttpHelper apiHelper = new HttpHelper(); |
| | | |
| | | public static string GetTimeStamp(DateTime? time = null) |
| | |
| | | if (sessionId != "") { |
| | | request.Headers.Set("ASP.NET_SessionId", sessionId); |
| | | } |
| | | |
| | | //Authorization: UApGP6WW9FsBUqAlzxRGOw == |
| | | request.Headers.Set("Authorization", "UApGP6WW9FsBUqAlzxRGOw=="); |
| | | StreamReader reader = null; |
| | | Stream stream = null; |
| | | WebResponse rsp = null; |
| | |
| | | int result = 0; |
| | | lock (locker) |
| | | { |
| | | ISYSRepository sysservice = new SYSRepository(); |
| | | SYSRepository sysservice = new SYSRepository(); |
| | | var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend); |
| | | |
| | | if (sId != null) |
| | | { |
| | | sId.CN_N_MAX++; |
| | | sId.CN_T_LAST = DateTime.Now; |
| | | sysservice.Update(sId); |
| | | result = sId.CN_N_MAX; |
| | | |
| | | sId.CN_N_MAX++; |
| | | sId.CN_T_LAST = DateTime.Now; |
| | | //sysservice.Update(sId); |
| | | |
| | | sysservice.dbcontext.Set<SYSEntity>().Attach(sId); |
| | | sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).CurrentValue = sId.CN_N_MAX; |
| | | |
| | | sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).IsModified = true; |
| | | sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).CurrentValue = sId.CN_T_LAST; |
| | | |
| | | sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).IsModified = true; |
| | | |
| | | sysservice.dbcontext.SaveChanges(); |
| | | result = sId.CN_N_MAX; |
| | | } |
| | | else |
| | | { |
| | | sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0 }; |
| | | sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0,CN_S_APP_TYPE="WCS" }; |
| | | sysservice.Insert(sId); |
| | | } |
| | | } |
| | |
| | | } |
| | | #endregion [èªå®ä¹ç±»][20250325152141671][TaskProcess] |
| | | } |
| | | public class Utils |
| | | { |
| | | #region [èªå®ä¹ç±»][20250417094750211][Utils] |
| | | |
| | | #endregion [èªå®ä¹ç±»][20250417094750211][Utils] |
| | | } |
| | | public class ToWMSMES |
| | | { |
| | | #region [èªå®ä¹ç±»][20250531152402452][ToWMSMES] |
| | | //2 wms mes |
| | | |
| | | |
| | | public class CreateTask |
| | | { |
| | | public string taskType { get; set; } |
| | | public string startBit { get; set; } |
| | | public string endBit { get; set; } |
| | | public string reqCode { get; set; } |
| | | public string cntrCode { get; set; } |
| | | |
| | | internal static ReturnMsg CreatemesTask(CreateTask model) |
| | | { |
| | | ITaskRepository taskservice = new TaskRepository(); |
| | | var task = taskservice.FindEntity(x => x.S_TASK_NO == model.reqCode); |
| | | if (task == null) |
| | | { |
| | | //var i = TaskProcess.CreateTask("", model.startBit, model.endBit, string.IsNullOrEmpty(model.taskType) ? "Mesä¸å" : model.taskType, 5, new List<string> { model.cntrCode }); |
| | | TaskEntity wmsTask = new TaskEntity() |
| | | { |
| | | S_ID = Guid.NewGuid().ToString(), |
| | | S_STATE = "ç¼è¾", |
| | | T_CREATE = DateTime.Now, |
| | | T_MODIFY = DateTime.Now, |
| | | |
| | | S_TASK_NO = model.reqCode, |
| | | S_START_LAREA = "", |
| | | S_END_LAREA = "", |
| | | S_DEPART_NAME = "", |
| | | S_START_LOC = model.startBit, |
| | | S_END_LOC = model.endBit, |
| | | S_TYPE = model.reqCode, |
| | | S_SRC_NO = "",// |
| | | N_PRIORITY = -1, |
| | | S_WORK_MODE = "agv", |
| | | S_B_STATE = "MES", |
| | | S_CNTRS = model.cntrCode, |
| | | N_START_LAYER = 1, |
| | | N_END_LAYER = 1, |
| | | N_CNTR_COUNT = 1 |
| | | }; |
| | | ITaskRepository taskserice = new TaskRepository(); |
| | | var i = taskserice.Insert(wmsTask) > 0; |
| | | return new ReturnMsg { resultCode = (i ? 0 : -1), resultMsg = i ? "" : "ä»»å¡çæå¤±è´¥ã" }; |
| | | } |
| | | else |
| | | { |
| | | return new ReturnMsg { resultCode = -1, resultMsg = "ä»»å¡éå¤ä¸åã" }; |
| | | } |
| | | } |
| | | } |
| | | public class ReturnMsg |
| | | { |
| | | public int resultCode { get; set; } |
| | | public string resultMsg { get; set; } |
| | | } |
| | | |
| | | |
| | | public static void ResMesTask() |
| | | { |
| | | ///1. |
| | | TaskRepository taskservice = new TaskRepository(); |
| | | var tasks = taskservice.FindList(x => x.S_B_STATE == "MES" && x.N_PRIORITY == -88); |
| | | var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("æ·ç¬æè")); |
| | | if (VERXs.Any()) |
| | | foreach (var task in tasks) |
| | | { |
| | | var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | if (sx == null) |
| | | { |
| | | //ç´æ¥çæå¯¹åºä»»å¡ã |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | //task.N_PRIORITY = 0; |
| | | taskservice.dbcontext.Set<TaskEntity>().Attach(task); |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0; |
| | | taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true; |
| | | taskservice.dbcontext.SaveChanges(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LocRepository locRepository = new LocRepository(); |
| | | //çæè·³è·ä»»å¡ã -- æçè´§ä½è¡¨ã |
| | | var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO); |
| | | if (t1s.Any()) |
| | | { |
| | | var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault(); |
| | | if (t1.S_END_LOC == task.S_END_LOC) |
| | | { |
| | | task.N_PRIORITY = 0; |
| | | task.S_B_STATE = "MES_宿"; |
| | | taskservice.Update(task); |
| | | } |
| | | if (t1.S_B_STATE == "宿") |
| | | { |
| | | //1.ç»ç¹æ¯å¦ææçã 便®æ¯ç»ç¹ç任塿¯ ä½ä¸ºç»ç¹ï¼è¿æ¯èµ·ç¹ã |
| | | var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC"); |
| | | |
| | | if (ec != null && ec.S_END_LOC == task.S_END_LOC) |
| | | { |
| | | //䏿¬¡æ¯å
¥åºä»»å¡ã ååºåºã å¦åè¿è¡äºæ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | break; |
| | | } |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | var res = TaskProcess.CreateTask("", task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "ä¸ç©º", 7, t1.S_CNTRS.Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "补满", 6, task.S_CNTRS.Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //çæç¬¬ä¸æ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | break; |
| | | } |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "满转", 8, task.S_CNTRS.Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("æ·ç¬æè")); |
| | | //if () |
| | | ///2 çç¼ååºã 没满çã |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | #endregion [èªå®ä¹ç±»][20250531152402452][ToWMSMES] |
| | | } |
| | | } |