313 lines
16 KiB
C#
313 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace StacjaProb
|
|
{
|
|
public partial class SerialSetUpForm : Form
|
|
{
|
|
string[] ports;
|
|
|
|
public SerialSetUpForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void SerialSetUpForm_Load(object sender, EventArgs e)
|
|
{
|
|
int index = 0;
|
|
ports = System.IO.Ports.SerialPort.GetPortNames();
|
|
foreach (string port in ports)
|
|
{
|
|
//richTextBox1.AppendText(port);
|
|
comboBoxPort01.Items.Insert(index, port);
|
|
comboBoxPort02.Items.Insert(index, port);
|
|
comboBoxPort03.Items.Insert(index, port);
|
|
index++;
|
|
}
|
|
|
|
if (index <= 0) buttonSave.Visible = false;
|
|
|
|
loadSpeedPortsValues(comboBoxPredkosc01);
|
|
loadSpeedPortsValues(comboBoxPredkosc02);
|
|
loadSpeedPortsValues(comboBoxPredkosc03);
|
|
|
|
// przy założeniu, że jest jeden tor pomiarowy - dla AGH
|
|
//groupBox1.Visible = false;
|
|
//groupBox2.Visible = false;
|
|
|
|
mySqlFunctions.initConnection();
|
|
if (mySqlFunctions.OpenConnection())
|
|
{
|
|
MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("SELECT * from tst_test_places", mySqlFunctions.connection);
|
|
MySql.Data.MySqlClient.MySqlDataReader dataReader = cmd.ExecuteReader();
|
|
while (dataReader.Read())
|
|
{
|
|
// dlatoru pierwszego
|
|
if (Convert.ToInt32(dataReader["TPL_ID"].ToString()) == 1)
|
|
{
|
|
comboBoxPort01.SelectedIndex = comboBoxPort01.Items.IndexOf(dataReader["TPL_PORT_NO"].ToString());
|
|
comboBoxPredkosc01.SelectedIndex = comboBoxPredkosc01.Items.IndexOf(dataReader["TPL_PORT_SPEED"].ToString());
|
|
textBoxAdresKonc01.Text = dataReader["TPL_ADDRESS"].ToString();
|
|
textBoxBezwladnosc01.Text = dataReader["TPL_FAST_LOOS"].ToString();
|
|
textBoxWygrzewanie01.Text = dataReader["TPL_BURN_TIME"].ToString();
|
|
textBoxSrednica01.Text = dataReader["TPL_PIPE_DIAMETER"].ToString();
|
|
textBoxCzlonGeo01.Text = dataReader["TPL_GEO"].ToString();
|
|
textBoxQ01.Text = dataReader["TPL_Q_RANGE"].ToString();
|
|
textBoxP01.Text = dataReader["TPL_P_RANGE"].ToString();
|
|
textBoxT01.Text = dataReader["TPL_T_RANGE"].ToString();
|
|
textBoxKrok01.Text = dataReader["TPL_DESC"].ToString();
|
|
}
|
|
|
|
// dlatoru drugiego
|
|
else if (Convert.ToInt32(dataReader["TPL_ID"].ToString()) == 2)
|
|
{
|
|
comboBoxPort02.SelectedIndex = comboBoxPort02.Items.IndexOf(dataReader["TPL_PORT_NO"].ToString());
|
|
comboBoxPredkosc02.SelectedIndex = comboBoxPredkosc02.Items.IndexOf(dataReader["TPL_PORT_SPEED"].ToString());
|
|
textBoxAdresKonc02.Text = dataReader["TPL_ADDRESS"].ToString();
|
|
textBoxBezwladnosc02.Text = dataReader["TPL_FAST_LOOS"].ToString();
|
|
textBoxWygrzewanie02.Text = dataReader["TPL_BURN_TIME"].ToString();
|
|
textBoxSrednica02.Text = dataReader["TPL_PIPE_DIAMETER"].ToString();
|
|
textBoxCzlonGeo02.Text = dataReader["TPL_GEO"].ToString();
|
|
textBoxQ02.Text = dataReader["TPL_Q_RANGE"].ToString();
|
|
textBoxP02.Text = dataReader["TPL_P_RANGE"].ToString();
|
|
textBoxT02.Text = dataReader["TPL_T_RANGE"].ToString();
|
|
textBoxKrok02.Text = dataReader["TPL_DESC"].ToString();
|
|
}
|
|
|
|
// dlatoru trzeciego
|
|
else if (Convert.ToInt32(dataReader["TPL_ID"].ToString()) == 3)
|
|
{
|
|
comboBoxPort03.SelectedIndex = comboBoxPort03.Items.IndexOf(dataReader["TPL_PORT_NO"].ToString());
|
|
comboBoxPredkosc03.SelectedIndex = comboBoxPredkosc03.Items.IndexOf(dataReader["TPL_PORT_SPEED"].ToString());
|
|
textBoxAdresKonc03.Text = dataReader["TPL_ADDRESS"].ToString();
|
|
textBoxBezwladnosc03.Text = dataReader["TPL_FAST_LOOS"].ToString();
|
|
textBoxWygrzewanie03.Text = dataReader["TPL_BURN_TIME"].ToString();
|
|
textBoxSrednica03.Text = dataReader["TPL_PIPE_DIAMETER"].ToString();
|
|
textBoxCzlonGeo03.Text = dataReader["TPL_GEO"].ToString();
|
|
textBoxQ03.Text = dataReader["TPL_Q_RANGE"].ToString();
|
|
textBoxP03.Text = dataReader["TPL_P_RANGE"].ToString();
|
|
textBoxT03.Text = dataReader["TPL_T_RANGE"].ToString();
|
|
textBoxKrok03.Text = dataReader["TPL_DESC"].ToString();
|
|
}
|
|
|
|
|
|
|
|
//comboBoxStanowisko.Items.Insert(Convert.ToInt32(dataReader["TPL_ID"]), dataReader["TPL_NAME"].ToString());
|
|
//pathID[index] = Convert.ToInt32(dataReader["TPP_ID"]);
|
|
//comboBoxTor.Items.Insert(index, dataReader["TPP_NAME"].ToString());
|
|
|
|
}
|
|
dataReader.Close();
|
|
mySqlFunctions.CloseConnection();
|
|
//comboBoxStanowisko.SelectedIndex = 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//buttonSave.Enabled = false;
|
|
|
|
}
|
|
|
|
private void loadSpeedPortsValues(System.Windows.Forms.ComboBox comboName)
|
|
{
|
|
comboName.Items.Clear();
|
|
comboName.Items.Insert(0, "2400");
|
|
comboName.Items.Insert(1, "4800");
|
|
comboName.Items.Insert(2, "9600");
|
|
comboName.Items.Insert(3, "19200");
|
|
}
|
|
|
|
private string getBezwValueHex(int bezwValue)
|
|
{
|
|
string out_bazwValueHex = "";
|
|
|
|
if (bezwValue == 11000) out_bazwValueHex = "A";
|
|
else if (bezwValue == 12000) out_bazwValueHex = "B";
|
|
else if (bezwValue == 13000) out_bazwValueHex = "C";
|
|
else if (bezwValue == 14000) out_bazwValueHex = "D";
|
|
else if (bezwValue == 15000) out_bazwValueHex = "E";
|
|
else if (bezwValue == 16000) out_bazwValueHex = "F";
|
|
else if (bezwValue == 17000) out_bazwValueHex = "G";
|
|
else if (bezwValue == 18000) out_bazwValueHex = "H";
|
|
else if (bezwValue == 19000) out_bazwValueHex = "I";
|
|
else if (bezwValue == 20000) out_bazwValueHex = "J";
|
|
else if (bezwValue == 21000) out_bazwValueHex = "K";
|
|
else if (bezwValue == 22000) out_bazwValueHex = "L";
|
|
|
|
return out_bazwValueHex;
|
|
}
|
|
|
|
private void buttonSave_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
mySqlFunctions.initConnection();
|
|
if (mySqlFunctions.OpenConnection())
|
|
{
|
|
|
|
if ((comboBoxPort01.SelectedIndex >= 0 && comboBoxPredkosc01.SelectedIndex >= 0) || (comboBoxPort02.SelectedIndex >= 0 && comboBoxPredkosc02.SelectedIndex >= 0) || (comboBoxPort03.SelectedIndex >= 0 && comboBoxPredkosc03.SelectedIndex >= 0))
|
|
{
|
|
string query_insert_00 = "truncate table tst_test_places";
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_00 = new MySql.Data.MySqlClient.MySqlCommand(query_insert_00, mySqlFunctions.connection);
|
|
cmd_00.ExecuteNonQuery();
|
|
}
|
|
|
|
if (comboBoxPort01.SelectedIndex >= 0 && comboBoxPredkosc01.SelectedIndex >= 0)
|
|
{
|
|
string query_insert_01 = "INSERT INTO tst_test_places SET TPL_NAME='Stanowisko 01'"
|
|
+ ",TPL_PORT_NO='" + comboBoxPort01.Text
|
|
+ "',TPL_PORT_SPEED=" + comboBoxPredkosc01.Text
|
|
+",TPL_ADDRESS='"+textBoxAdresKonc01.Text
|
|
+"',TPL_PIPE_DIAMETER="+textBoxSrednica01.Text.Replace(",",".")
|
|
+ ",TPL_FAST_LOOS=" + textBoxBezwladnosc01.Text.Replace(",", ".")
|
|
+ ",TPL_Q_RANGE=" + textBoxQ01.Text.Replace(",", ".")
|
|
+ ",TPL_P_RANGE=" + textBoxP01.Text.Replace(",", ".")
|
|
+ ",TPL_T_RANGE=" + textBoxT01.Text.Replace(",", ".")
|
|
+ ",TPL_GEO=" + textBoxCzlonGeo01.Text.Replace(",", ".")
|
|
+ ",TPL_BURN_TIME=" + textBoxWygrzewanie01.Text.Replace(",", ".")
|
|
+ ",TPL_DESC='" + textBoxKrok01.Text.Replace(",", ".")
|
|
+"',TPL_AUDIT_CU='admin"
|
|
+"',TPL_AUDIT_CD=now()";
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_01 = new MySql.Data.MySqlClient.MySqlCommand(query_insert_01, mySqlFunctions.connection);
|
|
cmd_01.ExecuteNonQuery();
|
|
|
|
//aktualizauje długość otwierania zasuwy
|
|
int new_bazwValue = Convert.ToInt32(textBoxBezwladnosc01.Text) * 1000 + 1000;
|
|
|
|
|
|
string new_bazwValueHex = textBoxBezwladnosc01.Text;
|
|
if (new_bazwValue > 10000)
|
|
{
|
|
new_bazwValueHex = getBezwValueHex(new_bazwValue);
|
|
}
|
|
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_02 = new MySql.Data.MySqlClient.MySqlCommand("UPDATE tst_steps SET STP_VALUE='" + new_bazwValueHex + "',STP_DELAY='" + new_bazwValue.ToString() + "' WHERE STP_CMD='(('", mySqlFunctions.connection);
|
|
cmd_02.ExecuteNonQuery();
|
|
|
|
//aktualizacja czasu wygrzewania
|
|
double new_burningValue = Convert.ToDouble(textBoxWygrzewanie01.Text) * 60000 + 1000;
|
|
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_03 = new MySql.Data.MySqlClient.MySqlCommand("UPDATE tst_steps SET STP_DELAY='" + new_burningValue.ToString() + "' WHERE STP_CMD='sleep'", mySqlFunctions.connection);
|
|
cmd_03.ExecuteNonQuery();
|
|
}
|
|
|
|
if (comboBoxPort02.SelectedIndex >= 0 && comboBoxPredkosc02.SelectedIndex >= 0)
|
|
{
|
|
string query_insert_02 = "INSERT INTO tst_test_places SET TPL_NAME='Stanowisko 02'"
|
|
+ ",TPL_PORT_NO='" + comboBoxPort02.Text
|
|
+ "',TPL_PORT_SPEED=" + comboBoxPredkosc02.Text
|
|
+ ",TPL_ADDRESS='" + textBoxAdresKonc02.Text
|
|
+ "',TPL_PIPE_DIAMETER=" + textBoxSrednica02.Text.Replace(",", ".")
|
|
+ ",TPL_FAST_LOOS=" + textBoxBezwladnosc02.Text.Replace(",", ".")
|
|
+ ",TPL_Q_RANGE=" + textBoxQ02.Text.Replace(",", ".")
|
|
+ ",TPL_P_RANGE=" + textBoxP02.Text.Replace(",", ".")
|
|
+ ",TPL_T_RANGE=" + textBoxT02.Text.Replace(",", ".")
|
|
+ ",TPL_GEO=" + textBoxCzlonGeo02.Text.Replace(",", ".")
|
|
+ ",TPL_BURN_TIME=" + textBoxWygrzewanie02.Text.Replace(",", ".")
|
|
+ ",TPL_DESC='" + textBoxKrok02.Text.Replace(",", ".")
|
|
+ "',TPL_AUDIT_CU='admin"
|
|
+ "',TPL_AUDIT_CD=now()";
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_02 = new MySql.Data.MySqlClient.MySqlCommand(query_insert_02, mySqlFunctions.connection);
|
|
cmd_02.ExecuteNonQuery();
|
|
}
|
|
|
|
if (comboBoxPort03.SelectedIndex >= 0 && comboBoxPredkosc03.SelectedIndex >= 0)
|
|
{
|
|
string query_insert_03 = "INSERT INTO tst_test_places SET TPL_NAME='Stanowisko 03'"
|
|
+ ",TPL_PORT_NO='" + comboBoxPort03.Text
|
|
+ "',TPL_PORT_SPEED=" + comboBoxPredkosc03.Text
|
|
+ ",TPL_ADDRESS='" + textBoxAdresKonc03.Text
|
|
+ "',TPL_PIPE_DIAMETER=" + textBoxSrednica03.Text.Replace(",", ".")
|
|
+ ",TPL_FAST_LOOS=" + textBoxBezwladnosc03.Text.Replace(",", ".")
|
|
+ ",TPL_Q_RANGE=" + textBoxQ03.Text.Replace(",", ".")
|
|
+ ",TPL_P_RANGE=" + textBoxP03.Text.Replace(",", ".")
|
|
+ ",TPL_T_RANGE=" + textBoxT03.Text.Replace(",", ".")
|
|
+ ",TPL_GEO=" + textBoxCzlonGeo03.Text.Replace(",", ".")
|
|
+ ",TPL_BURN_TIME=" + textBoxWygrzewanie03.Text.Replace(",", ".")
|
|
+ ",TPL_DESC='" + textBoxKrok03.Text.Replace(",", ".")
|
|
+ "',TPL_AUDIT_CU='admin"
|
|
+ "',TPL_AUDIT_CD=now()";
|
|
MySql.Data.MySqlClient.MySqlCommand cmd_03 = new MySql.Data.MySqlClient.MySqlCommand(query_insert_03, mySqlFunctions.connection);
|
|
cmd_03.ExecuteNonQuery();
|
|
}
|
|
|
|
|
|
mySqlFunctions.CloseConnection();
|
|
}
|
|
|
|
|
|
|
|
//dorobić update dla zakresów i czasu zwłoki zasówy
|
|
this.Close();
|
|
}
|
|
|
|
private void buttonClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void textBoxKrok01_Leave(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
textBoxKrok01.Text = textBoxKrok01.Text.Replace(".", ",");
|
|
int myInt;
|
|
bool isNumerical = int.TryParse(textBoxKrok01.Text, out myInt);
|
|
|
|
if (!isNumerical && textBoxKrok01.Text.Length > 0)
|
|
{
|
|
MessageBox.Show("Wprowadzona wartość musi być liczbą całkowitą!\nWprowadź proszę ponownie.");
|
|
textBoxKrok01.Focus();
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private void textBoxKrok02_Leave(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
textBoxKrok02.Text = textBoxKrok02.Text.Replace(".", ",");
|
|
int myInt;
|
|
bool isNumerical = int.TryParse(textBoxKrok02.Text, out myInt);
|
|
|
|
if (!isNumerical && textBoxKrok02.Text.Length > 0)
|
|
{
|
|
MessageBox.Show("Wprowadzona wartość musi być liczbą całkowitą!\nWprowadź proszę ponownie.");
|
|
textBoxKrok02.Focus();
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private void textBoxKrok03_Leave(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
textBoxKrok03.Text = textBoxKrok03.Text.Replace(".", ",");
|
|
int myInt;
|
|
bool isNumerical = int.TryParse(textBoxKrok03.Text, out myInt);
|
|
|
|
if (!isNumerical && textBoxKrok03.Text.Length > 0)
|
|
{
|
|
MessageBox.Show("Wprowadzona wartość musi być liczbą całkowitą!\nWprowadź proszę ponownie.");
|
|
textBoxKrok03.Focus();
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
}
|