using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DBFactory; using System.ServiceModel; using Microsoft.VisualBasic; namespace wcfControlMonitorClient { /// /// Creator:Richard.liu /// 下达手工任务--单一设备 /// public partial class FrmHandCommand : Form { Model.MDevice deviceInfo; private static FrmHandCommand _formInstance; public static FrmHandCommand FormInstance { get { if (_formInstance == null) { _formInstance = new FrmHandCommand(); } return _formInstance; } set { _formInstance = value; } } DBOperator dbo = CStaticClass.dbo; #region ====变量定义 CommonClassLib.UCellPanel cellPanel = null; #endregion public FrmHandCommand() { InitializeComponent(); _formInstance = this; dbo.Open(); } private void FrmHandCommand_Load(object sender, EventArgs e) { this.cbInWorkBench.SelectedIndex = 2; this.comboBox1.SelectedIndex = 0; if (cellPanel == null) { cellPanel = new CommonClassLib.UCellPanel(this, txtCellCode, null, string.Empty); cellPanel.TaskType = "100"; cellPanel.GoodsName = ""; cellPanel.Dock = DockStyle.Fill; cellPanel.AllowWareHouseChanged = false; plCell.Controls.Add(cellPanel); } //20090910 and F_DBW1Address is not null DataView dv = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceIndex, T_Base_Device.F_DeviceKindIndex," + " T_Base_Device.F_DeviceName, T_Base_Device_Kind.F_GoodsMoveKindIndex FROM T_Base_Device,T_Base_Device_Kind " + " where T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex and F_DBW1Address is not null and " + " (T_Base_Device_Kind.F_GoodsMoveKindIndex = 1 OR T_Base_Device_Kind.F_GoodsMoveKindIndex = 2)").Tables[0].DefaultView; if (dv.Count > 0) { this.cbDeviceName.DisplayMember = "F_DeviceName"; this.cbDeviceName.ValueMember = "F_DeviceIndex"; this.cbDeviceName.DataSource = dv; this.cbDeviceName.Text = ""; this.cbDeviceName.SelectedValue = 0; } txtCellCode.Text = ""; } private void cbDeviceName_SelectedIndexChanged(object sender, EventArgs e) { DataView dv; this.cbDeviceCommand.DataSource=null; DataSet ds = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceKindIndex, F_DeviceCommandName,F_DeviceCommandIndex FROM " + "T_Base_Device , T_Base_Device_Command WHERE T_Base_Device.F_DeviceKindIndex"+ "= T_Base_Device_Command.F_DeviceKindIndex and F_DeviceIndex=" + Convert.ToInt32(cbDeviceName.SelectedValue) + " and F_DeviceCommandIndex <> -1"); if (ds.Tables[0].DefaultView.Count > 0) { deviceInfo = Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(cbDeviceName.SelectedValue)); if (deviceInfo.IfCorrelDoubleFork == "1" && deviceInfo.DeviceKind==1) { pnDblFork.Visible = true; } else { pnDblFork.Visible = false; } if (deviceInfo.DeviceKind == 13) { pnGd.Visible = true; } else { pnGd.Visible = false; } this.cbDeviceCommand.DisplayMember = "F_DeviceCommandName"; this.cbDeviceCommand.ValueMember = "F_DeviceCommandIndex"; this.cbDeviceCommand.DataSource = ds.Tables[0].DefaultView; this.cbDeviceCommand.Text = ""; this.cbDeviceCommand.SelectedValue = 0; int rgvdev = 0;//20130510 switch (CStaticClass.GetDeviceKindIdx (Convert.ToInt32(cbDeviceName.SelectedValue))) { case 1://堆垛机 int devic=deviceInfo.DeviceIndex; if (deviceInfo.VirtualStack>0) { devic = deviceInfo.VirtualStack; } dv = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceName FROM T_Base_Lane_Gate,T_Base_LaneInfo,T_Base_Device where F_LaneIndex = F_LaneDeviceIndex and T_Base_LaneInfo.F_StackIndex=" + devic + " and T_Base_Lane_Gate.F_LaneGateDeviceIndex=T_Base_Device.F_DeviceIndex").Tables[0].DefaultView; if (dv.Count > 0) { cbEndPosition.DataSource = null; cbEndPosition.DisplayMember = "F_DeviceName"; cbEndPosition.ValueMember = "F_DeviceIndex"; cbEndPosition.DataSource =dv; txtCellCode.Enabled = true; comboBox1.Enabled = true; DataView dv1 = dbo.ExceSQL(string.Format("SELECT F_ForkAmount FROM T_Base_StackInfo WHERE (F_StackIndex = {0})", Convert.ToInt32(cbDeviceName.SelectedValue))).Tables[0].DefaultView; if (dv1.Count > 0) { comboBox1.Items.Clear(); for (int j = 1; j <= Convert.ToInt32(dv1[0]["F_ForkAmount"]); j++) { comboBox1.Items.Add(j); } comboBox1.Text = "0"; } else { comboBox1.Text = "0"; } plCell.Enabled = true; cellPanel.StackDevice =devic.ToString(); cellPanel.WareHouse = GetWarehouse(devic); } break; case 2://输送机 dv = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceName FROM T_Base_Device WHERE F_DeviceKindIndex =2 and F_DBW1Address is not null and f_s7connection='"+deviceInfo.S7Connection+"'").Tables[0].DefaultView; if (dv.Count > 0) { cbEndPosition.DataSource = null; cbEndPosition.DisplayMember = "F_DeviceName"; cbEndPosition.ValueMember = "F_DeviceIndex"; cbEndPosition.DataSource = dv; txtCellCode.Enabled = false; comboBox1.Enabled = false; plCell.Enabled = false; } comboBox1.Text = "0"; break; case 13://高端输送机 comboBox1.Text = "0"; dv = dbo.ExceSQL(string.Format("SELECT FUCONVEYOR,F_DeviceName FROM ST_CELL,T_Base_Device WHERE FUCONVEYOR = F_DeviceIndex and (FUCODE = {0})", Convert.ToInt32(this.cbDeviceName.SelectedValue))).Tables[0].DefaultView; if (dv.Count > 0) { cbBeginDev.DataSource = null; cbBeginDev.DisplayMember = "F_DeviceName"; cbBeginDev.ValueMember = "FUCONVEYOR"; cbBeginDev.DataSource = dv; DataView dv1 = dbo.ExceSQL(string.Format("SELECT FUCONVEYOR,F_DeviceName FROM ST_CELL,T_Base_Device WHERE FUCONVEYOR = F_DeviceIndex and (FUCODE = {0})", Convert.ToInt32(this.cbDeviceName.SelectedValue))).Tables[0].DefaultView; cbEndDev.DataSource = null; cbEndDev.DisplayMember = "F_DeviceName"; cbEndDev.ValueMember = "FUCONVEYOR"; cbEndDev.DataSource = dv1; txtCellCode.Enabled = false; comboBox1.Enabled = false; plCell.Enabled = false; } break; case 4://RGV comboBox1.Text = "0"; //20130510 if (Convert.ToInt32(cbDeviceName.SelectedValue) == 23004) { rgvdev = 23002; } else if (Convert.ToInt32(cbDeviceName.SelectedValue) == 13004) { rgvdev = 13002; } else { rgvdev = Convert.ToInt32(cbDeviceName.SelectedValue); } pnGd.Visible = false; dv = dbo.ExceSQL("SELECT F_RGVGateDeviceIndex,F_DeviceName FROM T_Base_Device,T_Base_RGV_Gate WHERE F_DeviceIndex=F_RGVGateDeviceIndex and F_ChannelsIndex =" + rgvdev).Tables[0].DefaultView;//20130510 if (dv.Count > 0) { cbEndPosition.DataSource = null; cbEndPosition.DisplayMember = "F_DeviceName"; cbEndPosition.ValueMember = "F_RGVGateDeviceIndex"; cbEndPosition.DataSource = dv; comboBox1.Enabled = false; txtCellCode.Enabled = false; plCell.Enabled = false; } break; } this.cbEndPosition.Text = ""; txtCellCode.Text = ""; } } private void button1_Click(object sender, EventArgs e) { if (MessageBox.Show("您确认要增加手工任务吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } //向调度任务表插入手工任务,管理类型4, //管理索引(如果调度任务表没有手工任务, //在T_Base_Manage_Task_Index_Hand_Task表去找个基数然后加一) try { //20090910 if (cbDeviceName.SelectedValue == null) { MessageBox.Show("请选择设备!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbDeviceName.Focus(); return; } if (this.cbDeviceName.Text.Trim() == "") { MessageBox.Show("请选择设备!","操作提示:",MessageBoxButtons.OK,MessageBoxIcon.Warning); this.cbDeviceName.Focus(); return; } if (this.cbDeviceCommand.Text.Trim() == "") { MessageBox.Show("请选择设备命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbDeviceCommand.Focus(); return; } if ((cbDeviceCommand.Text == "复位") || (cbDeviceCommand.Text == "回原点")) { } else { if (this.txtCellCode.Enabled == true) { DataView dv0; if (this.cbEndPosition.Text == "立库货位") { int fstack = 0; if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002") { fstack = 35000; } else { fstack = Convert.ToInt32(cbDeviceName.SelectedValue); } dv0 = dbo.ExceSQL(string.Format("SELECT FCELLCODE FROM ST_CELL WHERE FStack={0} and (FCELLCODE ='{1}')",fstack,txtCellCode.Text)).Tables[0].DefaultView; if (dv0.Count <= 0) { MessageBox.Show("请输入或选择合适的货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtCellCode.Focus(); return; } } else { int ep = -1; if (cbEndPosition.SelectedValue == null) { MessageBox.Show("请输入或选择合适的终点位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtCellCode.Focus(); return; } int.TryParse(cbEndPosition.SelectedValue.ToString(), out ep); if (ep==-1) { MessageBox.Show("请输入或选择合适的终点位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtCellCode.Focus(); return; } dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate where F_LaneGateDeviceIndex=" + cbEndPosition.SelectedValue + " and F_ZXY='" + txtCellCode.Text + "'").Tables[0].DefaultView; if (dv0.Count <= 0) { MessageBox.Show("请输入或选择合适的货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtCellCode.Focus(); return; } } } } int routeIDsub = GetRouteIDsub(Convert.ToInt32(cbDeviceName.SelectedValue)); deviceInfo=Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(cbDeviceName.SelectedValue)); if ((routeIDsub == -1) && (deviceInfo.DeviceKind != 13) && (deviceInfo.DeviceKind != 31)) { MessageBox.Show("您选择的设备错误!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //DataView dv = dbo.ExceSQL("SELECT F_ManageTASKKINDINDEX, F_DeviceIndex FROM T_Monitor_Task where F_ManageTASKKINDINDEX=4 and F_DeviceIndex=" + this.cbDeviceName.SelectedValue + "").Tables[0].DefaultView; //if (dv.Count > 0) //{ // MessageBox.Show("在调度队列中已经存在这个设备的手工命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} DataSet dss = dbo.ExceSQL("SELECT T_Base_Device.F_DeviceKindIndex, F_DeviceCommandName,F_DeviceCommandIndex FROM " + "T_Base_Device , T_Base_Device_Command WHERE T_Base_Device.F_DeviceKindIndex"+ "= T_Base_Device_Command.F_DeviceKindIndex and F_DeviceIndex=" + Convert.ToInt32(cbDeviceName.SelectedValue) + " and F_DeviceCommandIndex="+ Convert.ToInt32(this.cbDeviceCommand.SelectedValue) +" and F_DeviceCommandIndex <> -1"); if (dss.Tables[0].DefaultView.Count <= 0) { MessageBox.Show("请选择设备和对应的有效命令!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //20101028 string dtime = DateTime.Now.ToString("u"); dtime = dtime.Substring(0, dtime.Length - 1); int beginDeviceIndex = 0; int Inworkbench = 2,forkno=0; //2 将取,3 将送,4 取货,5 送货 switch (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(cbDeviceName.SelectedValue))) { case 1://堆垛机 if ((cbDeviceCommand.SelectedValue.ToString() == "6" || cbDeviceCommand.SelectedValue.ToString() == "5")&&(this.cbEndPosition.Text == "立库货位")) { int fstack = 0; if (deviceInfo.VirtualStack>0) { fstack = deviceInfo.VirtualStack; } else { fstack = Convert.ToInt32(cbDeviceName.SelectedValue); } DataView dv0 = dbo.ExceSQL(string.Format("SELECT FCELLCODE FROM ST_CELL WHERE fstack={0} and (FCELLCODE ='{1}')", fstack, txtCellCode1.Text)).Tables[0].DefaultView; if (dv0.Count <= 0) { MessageBox.Show("请输入或选择合适的送货位编码!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtCellCode1.Focus(); return; } } if (this.comboBox1.Text.Trim() == "") { forkno = 0; } else { forkno = Convert.ToInt32(this.comboBox1.Text); } break; case 2://输送机 if (cbEndPosition.Text.Trim().Length==0 ) { MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbEndPosition.Focus(); return; } if (cbDeviceCommand.SelectedValue.ToString() != "6") { cbEndPosition.Text = "0"; } int.TryParse(this.comboBox1.Text, out forkno); break; case 4://RGV if (cbEndPosition.SelectedValue == null) { MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbEndPosition.Focus(); return; } break; case 13://高端 if (cbEndDev.SelectedValue == null) { MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbEndDev.Focus(); return; } if (cbBeginDev.SelectedValue == null) { MessageBox.Show("请选择目标位置!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbBeginDev.Focus(); return; } beginDeviceIndex = Convert.ToInt32(cbBeginDev.SelectedValue); if (int.TryParse(cbInWorkBench.Text, out Inworkbench) == false) { MessageBox.Show("请选择是否进工位!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbInWorkBench.Focus(); return; } forkno = Inworkbench; break; } //调用服务 string errtext=string.Empty; string epp = string.Empty; if (cbEndPosition.SelectedValue == null) { epp = "0"; } else { epp = cbEndPosition.SelectedValue.ToString(); } string cellcode = string.Empty ; if (deviceInfo.DeviceKind == 13) { epp = cbEndDev.SelectedValue.ToString(); cellcode = tbFPALLETBARCODE.Text; } else { cellcode = txtCellCode.Text; } string cforks = string.Empty; if (fork2.Checked == true) { cforks = ",2"; } if (fork3.Checked == true) { cforks =cforks+ ",3"; } if (cforks.Length >= 2) { cforks = cforks.Substring(1); } Model.HandTask ht=new Model.HandTask(Convert.ToInt32(cbDeviceName.SelectedValue) ,Convert.ToInt32(cbDeviceCommand.SelectedValue),beginDeviceIndex, epp, cellcode, txtCellCode1.Text, forkno, cforks ); CStaticClass.WcfControl.BeginBuildHandTask(ht,new AsyncCallback(BuildHandTaskCallBack ),ht); } catch(Exception ex) { throw ex; } } int GetManageHandIdx() { DataSet ds = dbo.ExceSQL("SELECT F_ManageTaskKindIndex, max(FID) as mFID FROM T_Manage_Task Where F_ManageTaskKindIndex=4 group by F_ManageTaskKindIndex"); if (ds.Tables[0].DefaultView.Count > 0) { return (Convert.ToInt32(ds.Tables[0].DefaultView[0]["mFID"]) + 1); } else { DataSet dss = dbo.ExceSQL("SELECT F_ManageTaskIndex FROM T_Base_Manage_Task_Index_Hand_Task"); if (dss.Tables[0].DefaultView.Count > 0) { if ((Convert.ToInt32(dss.Tables[0].DefaultView[0]["F_ManageTaskIndex"]) + 1) >= 29998) { return 20001; } else { return (Convert.ToInt32(dss.Tables[0].DefaultView[0]["F_ManageTaskIndex"]) + 1); } } else { return 20001; } } } void RecordMaxHandTaskFID(int fid) { DataSet ds = dbo.ExceSQL("select F_ManageTaskIndex from T_Base_Manage_Task_Index_Hand_Task"); DataView dv = ds.Tables[0].DefaultView; if (dv.Count > 0) { if (fid == 29998) { dbo.ExceSQL("UPDATE T_Base_Manage_Task_Index_Hand_Task SET F_ManageTaskIndex =20001" ); return; } if (fid > Convert.ToInt32(dv[0]["F_ManageTaskIndex"])) { dbo.ExceSQL("UPDATE T_Base_Manage_Task_Index_Hand_Task SET F_ManageTaskIndex =" + fid); return; } } else { dbo.ExceSQL("INSERT INTO T_Base_Manage_Task_Index_Hand_Task (F_ManageTaskIndex)VALUES (" + fid + ")"); return; } } void BuildHandTaskCallBack( IAsyncResult ar) { string errtext = string.Empty; if (CStaticClass.WcfControl.EndBuildHandTask(out errtext, ar) == false) { MessageBox.Show(errtext, "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Error); } } string GetWarehouse(int Fstack) { DataView dv = dbo.ExceSQL(string.Format("SELECT DISTINCT FWAREHOUSE FROM ST_CELL WHERE (Fstack = {0})", Fstack)).Tables[0].DefaultView; if (dv.Count > 0) { return dv[0][0].ToString(); } else { return "01"; } } int GetRouteIDsub(int device) { DataView dv = dbo.ExceSQL("SELECT F_RouteIDSub, F_DeviceIndex, F_RouteID FROM T_Base_Route_Device where F_DeviceIndex="+device+"").Tables[0].DefaultView; if (dv.Count > 0) { return Convert.ToInt32(dv[0]["F_RouteIDSub"]); } else { return -1; } } private void cbDeviceCommand_SelectedIndexChanged(object sender, EventArgs e) { if (this.cbDeviceCommand.SelectedValue != null && this.cbDeviceName.SelectedValue != null && this.cbDeviceCommand.Text.Trim() != "") { switch (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue))) { case 1: if (cbDeviceCommand.SelectedValue.ToString() == "1") { txtCellCode.Text = "00-00-00"; txtCellCode.Enabled = true; txtCellCode1.Enabled = false; txtCellCode1.Text = ""; cbEndPosition.SelectedValue = 0; } else if (cbDeviceCommand.SelectedValue.ToString() == "6") { txtCellCode.Enabled = true; txtCellCode.Text = ""; txtCellCode1.Enabled = true; txtCellCode1.Text = ""; } else if ((cbDeviceCommand.SelectedValue.ToString() == "2") || (cbDeviceCommand.SelectedValue.ToString() == "4")) { txtCellCode.Enabled = true; txtCellCode.Text = ""; txtCellCode1.Enabled = false; txtCellCode1.Text = ""; cellPanel.ControlCellCode = txtCellCode; } else if ((cbDeviceCommand.SelectedValue.ToString() == "3") || (cbDeviceCommand.SelectedValue.ToString() == "5")) { txtCellCode.Enabled = false; txtCellCode.Text = ""; txtCellCode1.Enabled = true; txtCellCode1.Text = ""; cellPanel.ControlCellCode = txtCellCode1; } else { txtCellCode1.Enabled = false; txtCellCode1.Text = ""; txtCellCode.Text = ""; } break; case 2: if (cbDeviceCommand.SelectedValue.ToString() != "6") { cbEndPosition.SelectedValue = 0; cbEndPosition.Text = "0"; } else { cbEndPosition.SelectedValue = -1; cbEndPosition.Text = ""; } txtCellCode.Text = ""; txtCellCode1.Enabled = false; txtCellCode1.Text = ""; break; case 31: if (cbDeviceCommand.SelectedValue.ToString() != "6") { cbEndPosition.SelectedValue = 0; cbEndPosition.Text = "0"; } else { cbEndPosition.SelectedValue = -1; cbEndPosition.Text = ""; } txtCellCode.Text = ""; txtCellCode.Enabled = false; txtCellCode1.Enabled = false; txtCellCode1.Text = ""; break; } } } private void cbEndPosition_SelectedIndexChanged(object sender, EventArgs e) { int devic = 35000; if ((Convert.ToInt32(cbDeviceName.SelectedValue) == 35001) || (Convert.ToInt32(cbDeviceName.SelectedValue) == 35002)) { devic = 35000; } else { devic = Convert.ToInt32(cbDeviceName.SelectedValue); } if (this.cbEndPosition.SelectedValue == null) return; int qq=-1; if (int.TryParse(this.cbEndPosition.SelectedValue.ToString(),out qq) == true) { DataView dv = dbo.ExceSQL(string.Format("SELECT T_Base_Lane_Gate.F_ZXY FROM T_Base_LaneInfo,T_Base_Lane_Gate WHERE T_Base_LaneInfo.F_LaneDeviceIndex = T_Base_Lane_Gate.F_LaneIndex and (T_Base_LaneInfo.F_StackIndex = {0}) AND (T_Base_Lane_Gate.F_LaneGateDeviceIndex = {1})",devic,cbEndPosition.SelectedValue)).Tables[0].DefaultView; if (dv.Count > 0) { if (txtCellCode.Enabled == true) { txtCellCode.Text = dv[0][0].ToString(); } else { txtCellCode1.Text = dv[0][0].ToString(); } } else { txtCellCode.Text = ""; } } } private void txtCellCode_TextChanged(object sender, EventArgs e) { if(this.cbDeviceName.SelectedValue==null)return; if (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue)) != 1) return; int fstack = 0; if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002") { fstack = 35000; } else { fstack = Convert.ToInt32(cbDeviceName.SelectedValue); } DataView dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE F_ZXY='" + txtCellCode.Text + "' and F_LaneIndex=" + CStaticClass.GetLaneWay(fstack) + "").Tables[0].DefaultView; if (dv0.Count > 0) { this.cbEndPosition.SelectedValue = dv0[0][0]; } else { dv0 = dbo.ExceSQL("SELECT FCELLCODE FROM ST_CELL WHERE fstack="+fstack+" and (FCELLCODE ='" + txtCellCode.Text + "')").Tables[0].DefaultView; if (dv0.Count > 0) { this.cbEndPosition.SelectedValue = 0; this.cbEndPosition.Text = "立库货位"; } } } private void FrmHandCommand_FormClosing(object sender, FormClosingEventArgs e) { _formInstance = null; } private void txtCellCode1_TextChanged(object sender, EventArgs e) { if (this.cbDeviceName.SelectedValue == null) return; if (CStaticClass.GetDeviceKindIdx(Convert.ToInt32(this.cbDeviceName.SelectedValue)) != 1) return; int fstack = 0; if (cbDeviceName.SelectedValue.ToString() == "35001" || cbDeviceName.SelectedValue.ToString() == "35002") { fstack = 35000; } else { fstack = Convert.ToInt32(cbDeviceName.SelectedValue); } DataView dv0 = dbo.ExceSQL("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE F_ZXY='" + txtCellCode1.Text + "' and F_LaneIndex=" + CStaticClass.GetLaneWay(fstack) + "").Tables[0].DefaultView; if (dv0.Count > 0) { this.cbEndPosition.SelectedValue = dv0[0][0]; } else { dv0 = dbo.ExceSQL("SELECT FCELLCODE FROM ST_CELL WHERE fstack=" + fstack + " and (FCELLCODE ='" + txtCellCode1.Text + "')").Tables[0].DefaultView; if (dv0.Count > 0) { this.cbEndPosition.SelectedValue = 0; this.cbEndPosition.Text = "立库货位"; } } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.Text == "1") { fork2.Visible = true; fork3.Visible = true; } else if (comboBox1.Text == "2") { fork2.Visible = false; fork3.Visible = true; } else if (comboBox1.Text == "3") { fork2.Visible = false; fork3.Visible = false; } } private void button2_Click(object sender, EventArgs e) { if (MessageBox.Show("堆垛机即将奔跑,请确认巷道内没有人,堆垛机没有报警", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } if (MessageBox.Show("请再次确认是否召回堆垛机", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } for (int i = 1; i < 4; i++) { Model.HandTask ht1 = new Model.HandTask(11000+i, 1, 0, "0", "00-00-00", "", 0, ""); CStaticClass.WcfControl.BeginBuildHandTask(ht1, new AsyncCallback(BuildHandTaskCallBack), ht1); } } } }