|  |  |  | 
|---|
|  |  |  | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); | 
|---|
|  |  |  | if (commonStackerCrane != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //EqptRun(commonStackerCrane); | 
|---|
|  |  |  | //EqptAlive(commonStackerCrane); | 
|---|
|  |  |  | //EqptStatus(commonStackerCrane); | 
|---|
|  |  |  | //Console.Out.WriteLine(commonStackerCrane.DeviceName); | 
|---|
|  |  |  | if (!commonStackerCrane.IsEventSubscribed) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (task == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return task; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; | 
|---|
|  |  |  | //if (conveyorLine.IsOccupied(router.ChildPosi))//出库站台未被占用 | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | return task; | 
|---|
|  |  |  | return task; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | 
|---|
|  |  |  | return stackerCraneTaskCommand; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 设备与MOM系统对接,设备上线 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="commonStackerCrane"></param> | 
|---|
|  |  |  | public async void EqptRun(CommonStackerCrane commonStackerCrane) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!commonStackerCrane.StackerOnline) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | BasicDto dto = new BasicDto | 
|---|
|  |  |  | { | 
|---|
|  |  |  | EmployeeNo = "T00001", | 
|---|
|  |  |  | EquipmentCode = commonStackerCrane.DeviceCode, | 
|---|
|  |  |  | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), | 
|---|
|  |  |  | SessionId = Guid.NewGuid().ToString(), | 
|---|
|  |  |  | Software = commonStackerCrane.DeviceName, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptRun", dto.ToJsonString()); | 
|---|
|  |  |  | if (respone != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var result = JsonConvert.DeserializeObject<ResponseEqptRunDto>(respone); | 
|---|
|  |  |  | if (result != null && result.Success) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var process = _processRepository.QueryData(x => x.EquipmentName == commonStackerCrane.DeviceName).FirstOrDefault(); | 
|---|
|  |  |  | if (process == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | process = new Dt_EquipmentProcess() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | EquipmentName = commonStackerCrane.DeviceName, | 
|---|
|  |  |  | EquipmentType = commonStackerCrane.DeviceCode.Substring(commonStackerCrane.DeviceCode.IndexOf("SC")), | 
|---|
|  |  |  | ProcessValue = JsonConvert.SerializeObject(result) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | var isResult = await _processRepository.AddDataAsync(process) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | process.ProcessValue = JsonConvert.SerializeObject(result); | 
|---|
|  |  |  | var isResult = await _processRepository.UpdateDataAsync(process); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | commonStackerCrane.StackerOnline = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 设备心跳 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 设备状态 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="commonStackerCrane"></param> | 
|---|
|  |  |  | public async void EqptStatus(CommonStackerCrane commonStackerCrane) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string code = string.Empty; | 
|---|
|  |  |  | RequestAlertDto requestAlert = new RequestAlertDto() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | EmployeeNo = "T00001", | 
|---|
|  |  |  | EquipmentCode = commonStackerCrane.DeviceCode, | 
|---|
|  |  |  | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), | 
|---|
|  |  |  | SessionId = Guid.NewGuid().ToString(), | 
|---|
|  |  |  | Software = commonStackerCrane.DeviceName, | 
|---|
|  |  |  | AlertInfo = new List<AlertInfoDto>() | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | switch (commonStackerCrane.Status) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | case DeviceStatus.Idle: | 
|---|
|  |  |  | code = "Waiting"; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | case DeviceStatus.Working: | 
|---|
|  |  |  | code = "Running"; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | case DeviceStatus.Fault: | 
|---|
|  |  |  | code = "Alerting"; | 
|---|
|  |  |  | var alert = new AlertInfoDto() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | AlertCode = "1001", | 
|---|
|  |  |  | AlertDescription = commonStackerCrane.StackerCraneStatusDes, | 
|---|
|  |  |  | AlertReset = "1" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | requestAlert.AlertInfo.Add(alert); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | case DeviceStatus.Unkonw: | 
|---|
|  |  |  | code = "Down"; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | case DeviceStatus.Offline: | 
|---|
|  |  |  | code = "Maintenance"; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (code != "Alerting") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | requestAlert.AlertInfo = new List<AlertInfoDto>(); | 
|---|
|  |  |  | var alert = new AlertInfoDto() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | AlertCode = "1001", | 
|---|
|  |  |  | AlertDescription = commonStackerCrane.StackerCraneStatusDes, | 
|---|
|  |  |  | AlertReset = "0" | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", requestAlert.ToJsonString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | RequestEqptStatusDto requestEqptStatus = new RequestEqptStatusDto() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | EmployeeNo = "T00001", | 
|---|
|  |  |  | EquipmentCode = commonStackerCrane.DeviceCode, | 
|---|
|  |  |  | RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), | 
|---|
|  |  |  | SessionId = Guid.NewGuid().ToString(), | 
|---|
|  |  |  | Software = commonStackerCrane.DeviceName, | 
|---|
|  |  |  | ChangeTime = DateTime.Now.ToString(), | 
|---|
|  |  |  | Description = commonStackerCrane.StackerCraneStatusDes, | 
|---|
|  |  |  | LocationID = "NA", | 
|---|
|  |  |  | ReasonCode = "123", | 
|---|
|  |  |  | StatusCode = code | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptStatus", requestEqptStatus.ToJsonString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|