using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.VisualBasic; using DBFactory; namespace ControlSystem { /// /// Creator:Richard.liu /// 系统初始化 /// public partial class FrmSystemInit : Form { DBOperator dbo = CStaticClass.dbo; private static FrmSystemInit _formInstance; public static FrmSystemInit FormInstance { get { if (_formInstance == null) { _formInstance = new FrmSystemInit(); } return _formInstance; } set { _formInstance = value; } } public FrmSystemInit() { InitializeComponent(); _formInstance = this; } private void FrmSystemInit_Load(object sender, EventArgs e) { DataTable tableWareHouse = dbo.ExceSQL("SELECT distinct F_WarehouseIndex,F_Description FROM T_WAREHOUSE").Tables[0]; cmbWareHouse.DisplayMember = "F_Description"; cmbWareHouse.ValueMember = "F_WarehouseIndex"; cmbWareHouse.DataSource = tableWareHouse.DefaultView; DataTable laneway = dbo.ExceSQL("SELECT distinct F_LaneDeviceIndex,F_StackIndex FROM T_Base_LaneInfo").Tables[0]; this.cbLaneway.DisplayMember = "F_LaneDeviceIndex"; cbLaneway.ValueMember = "F_StackIndex"; cbLaneway.DataSource = laneway.DefaultView; } private void button4_Click(object sender, EventArgs e) { if (MessageBox.Show("您确认要生成货位信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } if (this.cmbWareHouse.SelectedValue == null) { MessageBox.Show("库房索引不能是空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); cmbWareHouse.Focus(); return; } if (Information.IsNumeric(this.cbLaneway.SelectedValue ) == false) { MessageBox.Show("巷道设备索引只能是数字类型!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.cbLaneway.Focus(); return; } string sql = string.Empty; string warehouse = this.cmbWareHouse.SelectedValue.ToString(); int laneway =Convert.ToInt32( this.cbLaneway.Text); int stackindex =Convert.ToInt32(lblStackIndex.Text); int Z =Convert.ToInt32( nudZ.Value); int Z1 = Convert.ToInt32(nudZ1.Value); int startX = Convert.ToInt32(nudstartX.Value); int X = Convert.ToInt32(nudX.Value); int Y = Convert.ToInt32(nudY.Value); int fid = 0;string cellcode=string.Empty;string cellname=string.Empty; for (int z = Z; z <= Z1; z++) { for (int x = startX; x <= X; x++) { for (int y = 1; y <= Y; y++) { string xstr =string.Empty; if (x.ToString().Length == 1) { xstr = "0" + x.ToString(); } if (x.ToString().Length == 2) { xstr = x.ToString(); } cellcode = (z.ToString().Length == 1 ? "0" + z.ToString() : z.ToString()) + "-" +xstr + "-" + (y.ToString().Length == 1 ? "0" + y.ToString() : y.ToString()); if (x>101) { } sql = "SELECT FID FROM ST_CELL WHERE (FWAREHOUSE = '"+warehouse+"') AND (FLaneWay = "+laneway +") AND (FCELLCODE = '"+cellcode+"')"; if (dbo.Exists(sql) == false) { cellname = z.ToString() + "排" + x.ToString() + "列" + y.ToString() + "层"; fid = dbo.GetMaxID("FID", "ST_CELL"); sql = "INSERT INTO ST_CELL(FID, FWAREHOUSE, FLaneWay, FCELLCODE, F_Z, F_X, F_Y, " + "FCELLNAME,FCELLSTATUS, FRUNSTATUS, FPALLETBARCODE, FStack)VALUES " + "(" + fid + ",'" + warehouse + "'," + laneway + ",'" + cellcode + "'," + z + "," + x + "," + y + ",'" + cellname + "',0,0,'-'," + stackindex + ")"; dbo.ExecuteSql(sql); } } } } } private void cbLaneway_SelectedIndexChanged(object sender, EventArgs e) { lblStackIndex.Text = this.cbLaneway.SelectedValue.ToString(); } private void button5_Click(object sender, EventArgs e) { if (MessageBox.Show("您确认要清空货位信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } dbo.ExceSQL("delete from st_cell"); } private void button2_Click(object sender, EventArgs e) { if (MessageBox.Show("您确认要建立与PLC的通讯连接吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } OPCClient.CCommonOPCClient.ConnectCount = 0; FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "", false); } private void button3_Click(object sender, EventArgs e) { if (MessageBox.Show("您确认要建立与AGV的通讯连接吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } SocketsTCPIP.CClientTCPIP.TcpIPInitCount = 0; FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "", false); } private void button6_Click(object sender, EventArgs e) { this.button6.Enabled = false; DataView dv = dbo.ExceSQL("select * from t_base_device where f_devicekindindex =2 OR f_devicekindindex =1").Tables[0].DefaultView; if (dv.Count > 0) { for (int i = 0; i < dv.Count; i++) { //if (dv[i]["F_DBW1Address"] != null) //{ // int tempaddress=Convert.ToInt32 (dv[i]["F_DBW1Address"] ); // int tempdeviceindex =Convert.ToInt32(dv[i]["F_DeviceIndex"]); // dbo.ExceSQL("update t_base_device set F_DBW2Address =" + tempaddress + "where f_deviceindex =" + tempdeviceindex); //} //string tempdeviceindex = (dv[i]["F_DeviceIndex"].ToString()); //if (tempdeviceindex.Length == 6) //{ // string tempdevicename = tempdeviceindex.Substring(0, 5) + "#输送机第" + tempdeviceindex.Substring(5, 1) + "段"; // dbo.ExceSQL("update t_base_device set F_DeviceName ='" + tempdevicename + "' where f_deviceindex =" + Convert.ToInt32(tempdeviceindex)); //} //int deviceindex = Convert.ToInt32(dv[i]["F_DeviceIndex"]); //string ahead = "I" + deviceindex; //dbo.ExceSQL("update t_base_device set F_BeDetected ='" + ahead + "' where F_DeviceIndex =" + deviceindex); //int F_SplitByte = 0; //int deviceindex = Convert.ToInt32(dv[i]["F_DeviceIndex"]); //if (Convert.ToInt32(dv[i]["f_devicekindindex"]) == 1) //{ // F_SplitByte = Convert.ToInt32(dv[i]["F_DBW2Address"]) + 12; //} //else //{ // F_SplitByte = Convert.ToInt32(dv[i]["F_DBW2Address"]) + 5; //} //dbo.ExceSQL("update t_base_device set F_SplitByte =" + F_SplitByte + "where F_DeviceIndex =" + deviceindex); int deviceindex = Convert.ToInt32(dv[i]["F_DeviceIndex"]); string f_bindingdevice = deviceindex.ToString() + ".0"; dbo.ExceSQL("update t_base_device set F_BindingDeviceOut =null where F_DeviceIndex =" + deviceindex); } } this.button6.Enabled = true; } } }