| | |
| | | using GZ.DB.Entity.OIDATABASE; |
| | | namespace GZ.Projects.AuxAllWCS |
| | | { |
| | | public partial class ViewModel : System.ComponentModel.INotifyPropertyChanged |
| | | { |
| | | #region ç§æåé |
| | | //éæäºè |
| | | private Conn Conn = new Conn(); |
| | | //设å¤éä¿¡ |
| | | private Device Device = new Device(); |
| | | //åéæ°æ®åº |
| | | private Tag tag = new Tag(); |
| | | public Tag Tag |
| | | { |
| | | get { return tag; } |
| | | set { tag = value; RaisePropertyChanged(nameof(Tag)); } |
| | | } |
| | | //ç®åPLC |
| | | public EasyPLC EasyPLC = new EasyPLC(); |
| | | #endregion |
| | | |
| | | #region æé 彿° |
| | | private static ViewModel _ViewModel = null; |
| | | private static List<object> _Windows = new List<object>(); |
| | | public partial class ViewModel : System.ComponentModel.INotifyPropertyChanged |
| | | { |
| | | #region ç§æåé |
| | | //éæäºè |
| | | private Conn Conn = new Conn(); |
| | | //设å¤éä¿¡ |
| | | private Device Device = new Device(); |
| | | //åéæ°æ®åº |
| | | private Tag tag = new Tag(); |
| | | public Tag Tag |
| | | { |
| | | get { return tag; } |
| | | set { tag = value; RaisePropertyChanged(nameof(Tag)); } |
| | | } |
| | | //ç®åPLC |
| | | public EasyPLC EasyPLC = new EasyPLC(); |
| | | #endregion |
| | | |
| | | #region æé 彿° |
| | | private static ViewModel _ViewModel = null; |
| | | private static List<object> _Windows = new List<object>(); |
| | | public static ViewModel CreateInstance(object obj, Type type) |
| | | { |
| | | if (_ViewModel == null) |
| | |
| | | } |
| | | if (!_Windows.Contains(obj)) |
| | | { |
| | | _Windows.Add(obj); |
| | | _Windows.Add(obj); |
| | | } |
| | | return _ViewModel; |
| | | } |
| | | public ViewModel() |
| | | { |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region èªå®ä¹æä»¤ |
| | | public void Method1(System.Int32 param1) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250323111354905][Method1] |
| | | |
| | | #endregion [èªå®ä¹æä»¤][20250323111354905][Method1] |
| | | } |
| | | public void SettingInit() |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250323144605974][SettingInit] |
| | | try |
| | | { |
| | | var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "/Static/config.json"; |
| | | using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile)) |
| | | { |
| | | using (JsonTextReader reader = new JsonTextReader(file)) |
| | | public ViewModel() |
| | | { |
| | | JObject o = (JObject)JToken.ReadFrom(reader); |
| | | foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties()) |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region èªå®ä¹æä»¤ |
| | | public void Method1(System.Int32 param1) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250323111354905][Method1] |
| | | |
| | | #endregion [èªå®ä¹æä»¤][20250323111354905][Method1] |
| | | } |
| | | public void SettingInit() |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250323144605974][SettingInit] |
| | | try |
| | | { |
| | | Console.WriteLine(keyValue.Name); |
| | | if (keyValue.Name == "HostToAgvServerUrl") |
| | | var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "/Static/config.json"; |
| | | using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile)) |
| | | { |
| | | Settings.HostToAgvServerUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "deviceInfo") { |
| | | Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "HKbaseUrl") { |
| | | Settings.HKbaseUrl = keyValue.Value.ToString(); |
| | | } |
| | | using (JsonTextReader reader = new JsonTextReader(file)) |
| | | { |
| | | JObject o = (JObject)JToken.ReadFrom(reader); |
| | | foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties()) |
| | | { |
| | | Console.WriteLine(keyValue.Name); |
| | | if (keyValue.Name == "HostToAgvServerUrl") |
| | | { |
| | | Settings.HostToAgvServerUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "deviceInfo") |
| | | { |
| | | Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString()); |
| | | } |
| | | if (keyValue.Name == "HKbaseUrl") |
| | | { |
| | | Settings.HKbaseUrl = keyValue.Value.ToString(); |
| | | } |
| | | if (keyValue.Name == "MESbaseUrl") |
| | | { |
| | | Settings.MESbaseUrl = keyValue.Value.ToString(); |
| | |
| | | { |
| | | Settings.WMSbaseUrl = keyValue.Value.ToString(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //if(!Settings.FirstG) |
| | | //LogHelper.Info("å è½½é
ç½®æä»¶ä¿¡æ¯ 宿"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("å è½½é
ç½®æä»¶å¤±è´¥ï¼" + ex.Message, ex); |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250323144605974][SettingInit] |
| | | } |
| | | } |
| | | //if(!Settings.FirstG) |
| | | //LogHelper.Info("å è½½é
ç½®æä»¶ä¿¡æ¯ 宿"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("å è½½é
ç½®æä»¶å¤±è´¥ï¼" + ex.Message, ex); |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250323144605974][SettingInit] |
| | | } |
| | | public void OperateHKTaskStatus(System.Object param1) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324165239206][OperateHKTaskStatus] |
| | | HaiKangOrderInfo model = (HaiKangOrderInfo)param1; |
| | | public void OperateHKTaskStatus(System.Object param1) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324165239206][OperateHKTaskStatus] |
| | | HaiKangOrderInfo model = (HaiKangOrderInfo)param1; |
| | | if (string.IsNullOrEmpty(model.taskCode)) |
| | | return; |
| | | // æ¥è¯¢ä»»å¡ï¼æ ¹æ®ä»»å¡å· |
| | |
| | | |
| | | List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList(); |
| | | bool bobe = false; |
| | | //model.method = model.method?.ToLower(); |
| | | switch (model.method) |
| | | { |
| | | case "start": |
| | |
| | | bobe = true; |
| | | } |
| | | break; |
| | | case "outBin": |
| | | case "outbin": |
| | | model.method = model.method?.ToLower(); |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºåè´§å®æï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "åè´§å®æ"; |
| | | |
| | |
| | | { |
| | | if (device.deviceName.Contains("ç»´å¸å°æè")) |
| | | { //å¸è´§è¿è¡æ¸
空ï¼è§¦åæ«ç |
| | | var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | string V = inde ? "R05" : "R06"; |
| | | Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "true", device.deviceName + "Queue"); |
| | | TcpServer.TrayIps.Remove(device.deviceNo[inde ? 0 : 1]); |
| | | var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | string V = inde ? "R05" : "R06"; |
| | | Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "true", device.deviceName + "Queue", false); |
| | | |
| | | TcpServer.TrayIps.Remove(device.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | else if(device.deviceType == 2){ |
| | | var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | string V = inde? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | else if (device.deviceType == 2) |
| | | { |
| | | //Task.Run(() => |
| | | //{ |
| | | // var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | // string V = inde ? "D1224" : "D1225"; |
| | | // Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | //}); |
| | | } |
| | | } |
| | | //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); |
| | |
| | | endLoc.N_CURRENT_NUM = 1; |
| | | endLoc.T_MODIFY = DateTime.Now; |
| | | MainMissionService.Update(wcsTask); |
| | | if(Settings.deviceInfos.Find(x=>x.deviceType==2 && (/*x.location.Contains(wcsTask.S_END_LOC)||*/x.deviceNo.Contains(wcsTask.S_END_LOC)))!=null) |
| | | if (Settings.deviceInfos.Find(x => x.deviceType == 2 && (/*x.location.Contains(wcsTask.S_END_LOC)||*/x.deviceNo.Contains(wcsTask.S_END_LOC))) != null) |
| | | locrep.Update(endLoc); |
| | | //locContainerRepository2.Insert(llls); |
| | | |
| | |
| | | //string V = inde ? "R05" : "R06"; |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "true", device2.deviceName + "Queue"); |
| | | string V2 = inde ? "R10_LAST" : "R11_LAST"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V2, "true", device2.deviceName + "Queue"); |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V2, "true", device2.deviceName + "Queue"); |
| | | |
| | | GZ.Modular.Redis.RedisHelper.Add(device2.deviceName + "." + V2, "true", out string msg1); |
| | | TcpServer.TrayIps.Remove(device2.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | else if (device2.deviceType == 2) |
| | | { |
| | | if (device2.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | Task.Run(() => |
| | | { |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | }); |
| | | |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | |
| | | // else tag.Js2.D1225 = 1; |
| | | //} |
| | | } |
| | | var ssloc = device2.deviceNo[1]; |
| | | var endloc = locrep.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | LogHelper.Info($"æ·é¡ºå¸è´§åï¼ æ¥çç¼åä½ {ssloc}-{endloc?.N_CURRENT_NUM}>0? åç³è¯·mesæ¬èµ°ã"); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 1) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 3, |
| | | startBit = ssloc |
| | | })); |
| | | LogHelper.Info($"{ssloc}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //LocationMethod.JudgeLocation(wcsTask); |
| | |
| | | var tare = taskActRepository.FindList(x => x.S_TASK_NO == wcsTask.S_TASK_NO); |
| | | if (tare.Any()) |
| | | { |
| | | if(tare.Find(x=>x.S_ACTION_CODE=="outbin")==null) |
| | | if (tare.Find(x => x.S_ACTION_CODE == "outbin") == null) |
| | | { |
| | | startloc.S_LOCK_STATE = "æ "; |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(startloc); |
| | | locrep.Update(endLoc); |
| | | }else if (tare.Find(x => x.S_ACTION_CODE == "end") == null) |
| | | } |
| | | else if (tare.Find(x => x.S_ACTION_CODE == "end") == null) |
| | | { |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(endLoc); |
| | |
| | | if (!string.IsNullOrEmpty(wcsTask.S_SRC_NO)) |
| | | { |
| | | var mestask = MainMissionService.FindEntity(x => x.S_TASK_NO == wcsTask.S_SRC_NO); |
| | | if (mestask!=null&&bobe) |
| | | if (mestask != null && bobe) |
| | | { |
| | | if ( model.method != "end") |
| | | if (model.method != "end") |
| | | { |
| | | if (mestask.S_START_LOC == wcsTask.S_START_LOC&&mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | if (mestask.S_START_LOC == wcsTask.S_START_LOC && mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | } |
| | | else |
| | | { |
| | |
| | | mestask.N_PRIORITY = -88; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | else if(mestask.S_B_STATE == "MES") |
| | | else if (mestask.S_B_STATE == "MES") |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | }else if(mestask!=null && model.method== "cancel") |
| | | } |
| | | else if (mestask != null && model.method == "cancel") |
| | | { |
| | | if(mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | if (mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | LogHelper.Info($"{wcsTask.S_SRC_NO}-{wcsTask.S_TASK_NO} ä¸é¶æ®µåæ¶ï¼éç½®ç¹ï¼çº¿ç¨å¤çã"); |
| | | mestask.N_PRIORITY = -1; |
| | | mestask.S_B_STATE = "MES_åæ¶"; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | } |
| | | TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data,wcsTask.S_START_LOC,wcsTask.S_END_LOC); |
| | | TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data, wcsTask.S_START_LOC, wcsTask.S_END_LOC); |
| | | //è°ç¨ç¬¬ä¸æ¹æ¥å£ï¼å¦ææï¼TaskProcess.ReportStatus |
| | | } |
| | | else |
| | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"å½åä»»å¡å·ä»»å¡ä¸åå¨{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | LogHelper.Info($"å½åä»»å¡å·ä»»å¡ä¸åå¨{model.taskCode} agvæåäº¤äºæ¥å¿"); |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250324165239206][OperateHKTaskStatus] |
| | | } |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity Begin(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324170811305][Begin] |
| | | if (task.S_B_STATE.Trim() == "å·²æ¨é") { |
| | | task.S_B_STATE = "æ§è¡ä¸"; |
| | | task.T_START_TIME = DateTime.Now; |
| | | } |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324170811305][Begin] |
| | | } |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity End(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324170922920][End] |
| | | if (task != null) { |
| | | task.S_B_STATE = "宿"; |
| | | task.T_END_TIME = DateTime.Now; |
| | | } |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324170922920][End] |
| | | } |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity UpdateStatus(GZ.DB.Entity.OIDATABASE.TaskEntity task, System.String status) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324171118766][UpdateStatus] |
| | | task.S_B_STATE = status; |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324171118766][UpdateStatus] |
| | | } |
| | | public void RunafterMac(System.Object dev, System.Boolean blen) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325085905222][RunafterMac] |
| | | var device = (deviceInfo)dev; |
| | | if (device.areaPriy.Any() && device.deviceNo.Any()) |
| | | { |
| | | LocRepository locRepository = new LocRepository(); |
| | | LocContainerRepository locContainerRepository = new LocContainerRepository(); |
| | | ContainerRepository containerRepository = new ContainerRepository(); |
| | | LocEntity startLoc = null; |
| | | string Sign = device.deviceType == 1 ? "F" : "E"; |
| | | foreach (var sloc in device.deviceNo) |
| | | { |
| | | ContainerEntity c = null; |
| | | var Startloc = locRepository.FindEntity(x => x.S_LOC_CODE == sloc); |
| | | if (Startloc != null && Startloc.N_CURRENT_NUM == 1 && Startloc.S_LOCK_STATE == "æ ") |
| | | { |
| | | var cntr = locContainerRepository.FindEntity(x => x.S_LOC_CODE == sloc); |
| | | if (cntr != null) |
| | | { |
| | | c = containerRepository.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE); |
| | | if (c != null && c.S_TYPE == Sign) |
| | | { |
| | | startLoc = Startloc; |
| | | } |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250324165239206][OperateHKTaskStatus] |
| | | } |
| | | |
| | | if (startLoc != null) |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity Begin(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | foreach (var dn in device.areaPriy) |
| | | #region [èªå®ä¹æä»¤][20250324170811305][Begin] |
| | | if (task.S_B_STATE.Trim() == "å·²æ¨é") |
| | | { |
| | | LocEntity endLoc = null; |
| | | var di = Settings.deviceInfos.Find(x => x.deviceName == dn); |
| | | if (di != null) |
| | | task.S_B_STATE = "æ§è¡ä¸"; |
| | | task.T_START_TIME = DateTime.Now; |
| | | } |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324170811305][Begin] |
| | | } |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity End(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324170922920][End] |
| | | if (task != null) |
| | | { |
| | | task.S_B_STATE = "宿"; |
| | | task.T_END_TIME = DateTime.Now; |
| | | } |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324170922920][End] |
| | | } |
| | | public GZ.DB.Entity.OIDATABASE.TaskEntity UpdateStatus(GZ.DB.Entity.OIDATABASE.TaskEntity task, System.String status) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250324171118766][UpdateStatus] |
| | | task.S_B_STATE = status; |
| | | return task; |
| | | #endregion [èªå®ä¹æä»¤][20250324171118766][UpdateStatus] |
| | | } |
| | | public void RunafterMac(System.Object dev, System.Boolean blen) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325085905222][RunafterMac] |
| | | var device = (deviceInfo)dev; |
| | | if (device.areaPriy.Any() && device.deviceNo.Any()) |
| | | { |
| | | LocRepository locRepository = new LocRepository(); |
| | | LocContainerRepository locContainerRepository = new LocContainerRepository(); |
| | | ContainerRepository containerRepository = new ContainerRepository(); |
| | | LocEntity startLoc = null; |
| | | string Sign = device.deviceType == 1 ? "F" : "E"; |
| | | foreach (var sloc in device.deviceNo) |
| | | { |
| | | foreach (var ssloc in di.deviceNo) |
| | | ContainerEntity c = null; |
| | | var Startloc = locRepository.FindEntity(x => x.S_LOC_CODE == sloc); |
| | | if (Startloc != null && Startloc.N_CURRENT_NUM == 1 && Startloc.S_LOCK_STATE == "æ ") |
| | | { |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "æ ") |
| | | var cntr = locContainerRepository.FindEntity(x => x.S_LOC_CODE == sloc); |
| | | if (cntr != null) |
| | | { |
| | | endLoc = endloc; |
| | | break; |
| | | c = containerRepository.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE); |
| | | if (c != null && c.S_TYPE == Sign) |
| | | { |
| | | startLoc = Startloc; |
| | | } |
| | | } |
| | | } |
| | | if (endLoc != null) |
| | | |
| | | if (startLoc != null) |
| | | { |
| | | TaskProcess.CreateTask("", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, $"æçæµè½¬-{Sign}", 5, new List<string> { c.S_CODE }); |
| | | break; |
| | | foreach (var dn in device.areaPriy) |
| | | { |
| | | LocEntity endLoc = null; |
| | | var di = Settings.deviceInfos.Find(x => x.deviceName == dn); |
| | | 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) |
| | | { |
| | | TaskProcess.CreateTask("", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, $"æçæµè½¬-{Sign}", 5, new List<string> { c.S_CODE }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250325085905222][RunafterMac] |
| | | } |
| | | } |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250325085905222][RunafterMac] |
| | | } |
| | | public System.Boolean RunTask(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325092323531][RunTask] |
| | | public System.Boolean RunTask(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325092323531][RunTask] |
| | | |
| | | ILocRepository locrep = new LocRepository(); |
| | | var startloc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_START_LOC); |
| | |
| | | //è°ç¬¬ä¸æ¹æ¥å£ |
| | | var model = new HaiKangOrderInfo |
| | | { |
| | | reqCode=task.S_TASK_NO.Trim(), |
| | | reqTime=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | reqCode = task.S_TASK_NO.Trim(), |
| | | reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | taskCode = task.S_TASK_NO.Trim(), |
| | | ctnrCode = task.S_CNTRS, |
| | | taskTyp = task.S_INDEX, |
| | |
| | | }; |
| | | |
| | | return CreateOrder(model); |
| | | #endregion [èªå®ä¹æä»¤][20250325092323531][RunTask] |
| | | } |
| | | public System.Boolean CreateOrder(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325095053549][CreateOrder] |
| | | var model = (HaiKangOrderInfo)m; |
| | | #endregion [èªå®ä¹æä»¤][20250325092323531][RunTask] |
| | | } |
| | | public System.Boolean CreateOrder(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325095053549][CreateOrder] |
| | | var model = (HaiKangOrderInfo)m; |
| | | var msg = ""; |
| | | var result = false; |
| | | var request = JsonConvert.SerializeObject(model); |
| | | var response = Settings.apiHelper.Post(Settings.HKbaseUrl + "rcms/services/rest/hikRpcService/genAgvSchedulingTask", request); |
| | | msg = $"[haikang-CreateOrder] request={request} response={response}"; |
| | | |
| | | |
| | | LogHelper.Info(msg); |
| | | if (response != "") { |
| | | try { |
| | | if (response != "") |
| | | { |
| | | try |
| | | { |
| | | var dataResult = JsonConvert.DeserializeObject<HKResult>(response); |
| | | if (dataResult.code == "0") { |
| | | if (dataResult.code == "0") |
| | | { |
| | | result = true; |
| | | } |
| | | } |
| | | catch (Exception ex) { |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine(ex.Message); |
| | | LogHelper.Info(msg,"海康"); |
| | | LogHelper.Info(msg, "海康"); |
| | | } |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | msg = "[haikang-CreateOrder]å建订å失败"; |
| | | Console.WriteLine(msg); |
| | | } |
| | | |
| | | LogHelper.Info(msg,"海康"); |
| | | LogHelper.Info(msg, "海康"); |
| | | return result; |
| | | #endregion [èªå®ä¹æä»¤][20250325095053549][CreateOrder] |
| | | } |
| | | public void TaskisOk(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100336909][TaskisOk] |
| | | // 车è¾åæ¾ç³è¯·ã |
| | | if ("åè´§ç³è¯·" != "") |
| | | { |
| | | var device1 = Settings.deviceInfos.Find(x => x.location.Contains(task.S_START_LOC)); |
| | | if (device1 != null) |
| | | { |
| | | var left = device1.location.ToList().FindIndex(x => x == task.S_START_LOC) == 0; |
| | | if (device1.deviceType == 1) |
| | | { |
| | | if (device1.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE"|| "out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "R01" : "R03"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after"|| "out_after" == "out_after") |
| | | { |
| | | string V = left ? "R02" : "R04"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else if(device1.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE") |
| | | { |
| | | string V = left ? "M0" : "M1"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_BEFORE" == "out_BEFORE") |
| | | { |
| | | //string V = left ? "R01" : "R03"; |
| | | //Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after") |
| | | { |
| | | string V = left ? "M2" : "M3"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_after" == "out_after") |
| | | { |
| | | string V = left ? "M6" : "M7"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if ("æ¾è´§ç³è¯·" != "") |
| | | { |
| | | var device1 = Settings.deviceInfos.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | if (device1 != null) |
| | | { |
| | | var left = device1.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0; |
| | | if (device1.deviceType == 1) |
| | | { |
| | | if (device1.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE" || "out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "R01" : "R03"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after" || "out_after" == "out_after") |
| | | { |
| | | string V = left ? "R02" : "R04"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else if (device1.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE") |
| | | { |
| | | string V = left ? "M0" : "M1"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "M4" : "M5"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after") |
| | | { |
| | | string V = left ? "M2" : "M3"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_after" == "out_after") |
| | | { |
| | | string V = left ? "M6" : "M7"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250325100336909][TaskisOk] |
| | | } |
| | | public System.Boolean continueTask(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100607380][continueTask] |
| | | var model = (HaiKangOrderInfo)m; |
| | | bool result = false; |
| | | string msg = ""; |
| | | var request = JsonConvert.SerializeObject(model); |
| | | var response = Settings.apiHelper.Post(Settings.HKbaseUrl + "rcms/services/rest/hikRpcService/continueTask", request); |
| | | msg = $"[haikang-CancelOrder] request={request};response={response}"; |
| | | Console.WriteLine(msg); |
| | | if (response != "") |
| | | { |
| | | var dataResult = JsonConvert.DeserializeObject<HKResult>(response); |
| | | if (dataResult.code == "0") |
| | | { |
| | | result = true; |
| | | #endregion [èªå®ä¹æä»¤][20250325095053549][CreateOrder] |
| | | } |
| | | public void TaskisOk(GZ.DB.Entity.OIDATABASE.TaskEntity task) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100336909][TaskisOk] |
| | | // 车è¾åæ¾ç³è¯·ã |
| | | if ("åè´§ç³è¯·" != "") |
| | | { |
| | | var device1 = Settings.deviceInfos.Find(x => x.location.Contains(task.S_START_LOC)); |
| | | if (device1 != null) |
| | | { |
| | | var left = device1.location.ToList().FindIndex(x => x == task.S_START_LOC) == 0; |
| | | if (device1.deviceType == 1) |
| | | { |
| | | if (device1.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE" || "out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "R01" : "R03"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after" || "out_after" == "out_after") |
| | | { |
| | | string V = left ? "R02" : "R04"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else if (device1.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE") |
| | | { |
| | | string V = left ? "M0" : "M1"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_BEFORE" == "out_BEFORE") |
| | | { |
| | | //string V = left ? "R01" : "R03"; |
| | | //Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after") |
| | | { |
| | | string V = left ? "M2" : "M3"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_after" == "out_after") |
| | | { |
| | | string V = left ? "M6" : "M7"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if ("æ¾è´§ç³è¯·" != "") |
| | | { |
| | | var device1 = Settings.deviceInfos.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | if (device1 != null) |
| | | { |
| | | var left = device1.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0; |
| | | if (device1.deviceType == 1) |
| | | { |
| | | if (device1.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE" || "out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "R01" : "R03"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after" || "out_after" == "out_after") |
| | | { |
| | | string V = left ? "R02" : "R04"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else if (device1.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | if ("IN_BEFORE" == "IN_BEFORE") |
| | | { |
| | | string V = left ? "M0" : "M1"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_BEFORE" == "out_BEFORE") |
| | | { |
| | | string V = left ? "M4" : "M5"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("IN_after" == "IN_after") |
| | | { |
| | | string V = left ? "M2" : "M3"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | if ("out_after" == "out_after") |
| | | { |
| | | string V = left ? "M6" : "M7"; |
| | | Conn.é»è®¤Redis.SetValue(device1.deviceName + "." + V, "true", device1.deviceName + "Queue"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #endregion [èªå®ä¹æä»¤][20250325100336909][TaskisOk] |
| | | } |
| | | public System.Boolean continueTask(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100607380][continueTask] |
| | | var model = (HaiKangOrderInfo)m; |
| | | bool result = false; |
| | | string msg = ""; |
| | | var request = JsonConvert.SerializeObject(model); |
| | | var response = Settings.apiHelper.Post(Settings.HKbaseUrl + "rcms/services/rest/hikRpcService/continueTask", request); |
| | | msg = $"[haikang-CancelOrder] request={request};response={response}"; |
| | | Console.WriteLine(msg); |
| | | if (response != "") |
| | | { |
| | | var dataResult = JsonConvert.DeserializeObject<HKResult>(response); |
| | | if (dataResult.code == "0") |
| | | { |
| | | result = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | msg = "[haikang-CancelOrder]è·åä»»å¡ç¶æå¤±è´¥"; |
| | | Console.WriteLine(msg); |
| | | } |
| | | LogHelper.Info(msg, "海康"); |
| | | return result; |
| | | #endregion [èªå®ä¹æä»¤][20250325100607380][continueTask] |
| | | } |
| | | public System.Boolean CancelOrder(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100705351][CancelOrder] |
| | | var model = (HaiKangOrderInfo)m; |
| | | bool result = false; |
| | | string msg = ""; |
| | | var request = JsonConvert.SerializeObject(model); |
| | | var response = Settings.apiHelper.Post(Settings.HKbaseUrl + "rcms/services/rest/hikRpcService/continueTask", request); |
| | | msg = $"[haikang-CancelOrder] request={request};response={response}"; |
| | | Console.WriteLine(msg); |
| | | if (response != "") |
| | | { |
| | | var dataResult = JsonConvert.DeserializeObject<HKResult>(response); |
| | | if (dataResult.code == "0") |
| | | { |
| | | result = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | msg = "[haikang-CancelOrder]åæ¶è®¢å失败"; |
| | | Console.WriteLine(msg); |
| | | } |
| | | LogHelper.Info(msg, "海康"); |
| | | return result; |
| | | #endregion [èªå®ä¹æä»¤][20250325100705351][CancelOrder] |
| | | } |
| | | public System.String GetSerialNumber(System.String snType, System.String prefix) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325131530407][GetSerialNumber] |
| | | int result = 0; |
| | | return ""; |
| | | #endregion [èªå®ä¹æä»¤][20250325131530407][GetSerialNumber] |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | else |
| | | { |
| | | msg = "[haikang-CancelOrder]è·åä»»å¡ç¶æå¤±è´¥"; |
| | | Console.WriteLine(msg); |
| | | } |
| | | LogHelper.Info(msg, "海康"); |
| | | return result; |
| | | #endregion [èªå®ä¹æä»¤][20250325100607380][continueTask] |
| | | } |
| | | public System.Boolean CancelOrder(System.Object m) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325100705351][CancelOrder] |
| | | var model = (HaiKangOrderInfo)m; |
| | | bool result = false; |
| | | string msg = ""; |
| | | var request = JsonConvert.SerializeObject(model); |
| | | var response = Settings.apiHelper.Post(Settings.HKbaseUrl + "rcms/services/rest/hikRpcService/continueTask", request); |
| | | msg = $"[haikang-CancelOrder] request={request};response={response}"; |
| | | Console.WriteLine(msg); |
| | | if (response != "") { |
| | | var dataResult = JsonConvert.DeserializeObject<HKResult>(response); |
| | | if (dataResult.code == "0") { |
| | | result = true; |
| | | } |
| | | } |
| | | else { |
| | | msg = "[haikang-CancelOrder]åæ¶è®¢å失败"; |
| | | Console.WriteLine(msg); |
| | | } |
| | | LogHelper.Info(msg, "海康"); |
| | | return result; |
| | | #endregion [èªå®ä¹æä»¤][20250325100705351][CancelOrder] |
| | | } |
| | | public System.String GetSerialNumber(System.String snType, System.String prefix) |
| | | { |
| | | #region [èªå®ä¹æä»¤][20250325131530407][GetSerialNumber] |
| | | int result = 0; |
| | | return ""; |
| | | #endregion [èªå®ä¹æä»¤][20250325131530407][GetSerialNumber] |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | |
| | | |