public bool WriteToPlc(Context context) { bool result = false; int[] data = new int[2]; string sql = "SELECT * FROM {0} WHERE ROW_INDEX = {1}"; sql = string.Format(sql, dataView, this.index); DataTable table = ExecuteQuery(sql).Tables[0]; if (table.Rows.Count > 0) { int lineCode = Convert.ToInt32(table.Rows[0]["LINECODE"]); switch (context.Attributes["SupplyToSortLine"].ToString()) { case "01": lineCode = 1; break; case "02": lineCode = 2; break; default: break; } int supplyAddress = Convert.ToInt32(lineCode.ToString() + table.Rows[0]["SUPPLYADDRESS"].ToString().PadLeft(2, "0"[0])); data[0] = supplyAddress; data[1] = this.index; if (dispatcher.WriteToService(plcServicesName, releaseItemName, data)) { result = true; Logger.Info(string.Format("{0}号扫码器,写分流数据成功,目标:'{1}'流水号:'{2}'", stateItemCode, data[0], this.index)); } } else { Logger.Info(string.Format("{0}号扫码器,无任务数据!", stateItemCode)); Stack <LedItem> LedItemData = new Stack <LedItem>(); LedItem item = new LedItem(); item.Name = string.Format("{0}号扫码器,无任务数据!", stateItemCode); LedItemData.Push(item); LedItem[] ledItems = LedItemData.ToArray(); Array.Reverse(ledItems); Show(ledItems); result = false; } return(result); }
public bool MoveTo(int index) { bool result = false; this.index = index - 1; string sql = "UPDATE AS_STATEMANAGER_ORDER SET ROW_INDEX = {0} WHERE STATECODE = '{1}'"; sql = string.Format(sql, this.index, stateItemCode); ExecuteNonQuery(sql); //写校正完成标志到PLC dispatcher.WriteToService(plcServicesName, checkItemName, 1); Logger.Info(string.Format("{0} 号订单请求,订单校正完成,流水号:{1}", stateItemCode, index)); result = true; return(result); }
public bool WriteToPlc() { bool result = false; if (dispatcher.WriteToService(plcServicesName, releaseItemName, this.index)) { result = true; } return(result); }