public override void Execute() { try { RestClient rest = new RestClient(); rest.CreateAutoMoveCell(); } catch (Exception ex) { Logger.Error("AutoCreateMoveCellRequestProcess 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }
public override void Execute() { try { if (positionDal.HasEmptyAutomaticDemolitionPlatePosition()) { RestClient rest = new RestClient(); rest.AutoCreateMoveBill(); } } catch (Exception ex) { Logger.Error("AutoCreateMoveBillRequestProcess 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }
public override void Execute() { int taskID = 0; try { object state = AutomationContext.Read(memoryServiceName, memoryItemName); if (state == null) return; taskID = Convert.ToInt32(state); if (taskID <= 0) return; string orderType = taskDal.GetOrderType(taskID); string orderID = taskDal.GetOrderID(taskID); int allotID = taskDal.GetAllotID(taskID); string originCellCode = taskDal.GetOriginCellCode(taskID); string targetCellCode = taskDal.GetTargetCellCode(taskID); string originStorageCode = taskDal.GetOriginStorageCode(taskID); string targetStorageCode = taskDal.GetTargetStorageCode(taskID); RestClient rest = new RestClient(); if (!rest.FinishTask(taskID, orderType, orderID, allotID, originCellCode, targetCellCode,originStorageCode, targetStorageCode)) { AutomationContext.Write(memoryServiceName, memoryItemName, taskID); Logger.Error(string.Format("{0} 完成[{1}]任务失败!", Name, taskID)); } else { taskDal.UpdateTaskStateToExecuted(taskID); taskID = 0; } } catch (Exception ex) { if (taskID >= 0) { AutomationContext.Write(memoryServiceName, memoryItemName, taskID); } Logger.Error("TaskFinishDataProcess 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }
//需要空托盘出库时,请求生成空托盘出库任务; public override void Execute() { try { object state = AutomationContext.Read(plcServiceName, I_Empty_Pallet_Supply_Request); object obj = ObjectUtil.GetObject(state); string positionName = obj != null ? obj.ToString() : ""; if (positionName != string.Empty && positionName != "0") { RestClient rest = new RestClient(); if (rest.CreateNewTaskForEmptyPalletSupply(positionName)) { AutomationContext.Write(plcServiceName, O_Empty_Pallet_Supply_Process_Complete, positionName); Logger.Info(string.Format("EmptyPalletSupplyRequest : 位置[{0}] 生成托盘出库任务成功!", positionName)); } } } catch (Exception ex) { Logger.Error("EmptyPalletSupplyRequestProcess 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }
public override void Execute() { try { object state = AutomationContext.Read(memoryServiceName, memoryItemName); if (state == null || state.ToString() != "InventoryWholePalletScan") return; int taskID = 0, positionID = 0; state = AutomationContext.Read(memoryServiceName1, memoryItemName1); object obj = ObjectUtil.GetObjects(state); if (obj is Array) { Array arrayObj = (Array)obj; if (arrayObj.Length == 2) { taskID = Convert.ToInt32(arrayObj.GetValue(0)); positionID = Convert.ToInt32(arrayObj.GetValue(1)); } } if (taskID == 0 || positionID == 0) return; //弹出输入窗,获取数量; state = AutomationContext.Read(memoryServiceName2, memoryItemName2); if (state != null) { UserLookAndFeel.Default.SetSkinStyle(state.ToString()); } InventoryDialog inventoryDialog = new InventoryDialog(taskID); if (inventoryDialog.ShowDialog() == DialogResult.OK) { RestClient rest = new RestClient(); taskID = rest.FinishInventoryTask(taskID, inventoryDialog.RealQuantity); if (taskID > 0) { string positionName = taskDal.GetTaskNextPosition(taskID); if (positionName != string.Empty) { int[] data = new int[] { taskID, Convert.ToInt32(positionName), 1 }; AutomationContext.Write(plcServiceName, O_Whole_Pallet_StockIn_Task_Info, data); Thread.Sleep(sleepTime); obj = AutomationContext.Read(plcServiceName, I_Whole_Pallet_StockIn_Task_Info); obj = ObjectUtil.GetObjects(obj); if (obj is Array) { Array arrayObj = (Array)obj; if (arrayObj.Length == 3 && data[0] == Convert.ToInt32(arrayObj.GetValue(0)) && data[1] == Convert.ToInt32(arrayObj.GetValue(1)) && data[2] == Convert.ToInt32(arrayObj.GetValue(2))) { AutomationContext.Write(plcServiceName, O_Whole_Pallet_StockIn_Task_Info_Complete, 1); AutomationContext.Write(memoryServiceName1, memoryItemName1, 0); positionDal.UpdateHasGoodsToFalse(positionID); } } } } else if (taskID == -1) { positionDal.UpdateHasGoodsToFalse(positionID); AutomationContext.Write(memoryServiceName1, memoryItemName1, 0); } } inventoryDialog = null; GC.Collect(); } catch (Exception ex) { Logger.Error("InventoryWholePalletScanProcess 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }
private void FinishTask() { try { if (CurrentTask != null) { using (TransactionScopeManager TM = new TransactionScopeManager(true, IsolationLevel.Serializable)) { TaskDal taskDal = new TaskDal(); PositionDal positionDal = new PositionDal(); taskDal.TransactionScopeManager = TM; positionDal.TransactionScopeManager = TM; positionDal.UpdateHasGoodsToFalse(CurrentTask.CurrentPositionID); positionDal.UpdateHasGoodsToTrue(CurrentTask.NextPositionID); taskDal.UpdateTaskPosition(CurrentTask.ID, CurrentTask.NextPositionID); taskDal.UpdateTaskPositionStateToArrived(CurrentTask.ID); taskDal.UpdateTaskStateToWaiting(CurrentTask.ID); if (CurrentTask.NextPositionID == CurrentTask.EndPositionID && (CurrentTask.TaskType == "03" || CurrentTask.EndPositionType != "03") && (CurrentTask.TaskType == "03" || CurrentTask.EndPositionType != "04"))//小品种,异型烟,由手持PDA完成; { if (CurrentTask.TaskType == "02") { string orderType = taskDal.GetOrderType(CurrentTask.ID); string orderID = taskDal.GetOrderID(CurrentTask.ID); int allotID = taskDal.GetAllotID(CurrentTask.ID); string originCellCode = taskDal.GetOriginCellCode(CurrentTask.ID); string targetCellCode = taskDal.GetTargetCellCode(CurrentTask.ID); string originStorageCode = taskDal.GetOriginStorageCode(CurrentTask.ID); string targetStorageCode = taskDal.GetTargetStorageCode(CurrentTask.ID); RestClient rest = new RestClient(); if (!rest.FinishTask(CurrentTask.ID, orderType, orderID, allotID,originCellCode,targetCellCode, originStorageCode, targetStorageCode)) { Logger.Error(string.Format("{0} 完成[{1}]任务失败!", Name, CurrentTask.ID)); return; } else { taskDal.UpdateTaskStateToExecuted(CurrentTask.ID); } } else { if (!Ops.Write(memoryServiceName, memoryItemName, CurrentTask.ID)) { Logger.Error(string.Format("{0} 完成[{1}]任务失败!", Name, CurrentTask.ID)); return; } } } TM.Commit(); CurrentTask = null; CurrentTaskFactory = null; } } } catch (Exception ex) { Logger.Error("SRM.FinishTask 出错,原因:" + ex.Message + "/n" + ex.StackTrace); } }