SCLS/SSWCS_JXDL(2019)/ControlSystem/FrmSystemInit.cs
2025-05-19 09:45:29 +08:00

219 lines
8.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// Creator:Richard.liu
/// 系统初始化
/// </summary>
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;
}
}
}