Files
MIP/Mip/frmEditDopyt.cs
Culak-HP\Culak cc7c23eca4 Initial commit
2020-10-10 18:25:36 +02:00

473 lines
23 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 Mip
{
public partial class frmEditDopyt : Form
{
string strIDDopyt = "";
public frmEditDopyt(string _IDDopyt)
{
strIDDopyt = _IDDopyt;
InitializeComponent();
}
private void btnAddOBJ_Click(object sender, EventArgs e)
{
string format = "yyyy-MM-dd";
string PotvrdDatum = "";
PotvrdDatum = dateTimePicker1.Value.ToString(format);
string strStatusDopytu = "";
string strPocetDoVyroby = "";
strPocetDoVyroby = label22.Text.ToString();
if (Convert.ToInt32(strPocetDoVyroby) == 0 && (rBdopyt.Checked==true || rBzKontraktu.Checked==true))
{
classSQL.SQL("DELETE FROM `mip`.`tabvyroba` WHERE `IDDopyt` = " + strIDDopyt + ";");
strStatusDopytu = "`StatusDopytu` = 'Na lapovni',";
}
string cmd = @"UPDATE `mip`.`tabdopyt`
SET " + strStatusDopytu + @"
`NazovKontraktu` = '" + comboBox1.Text + @"',
`CisloObj` = '" + textBox5.Text.ToString() + @"',
`Material` = '" + comboBox5.Text.ToString() + @"',
`UpravaMaterialu` = '" + comboBox4.Text.ToString() + @"',
`DatumPotvrdeny` = '" + PotvrdDatum + @"',
`Zakaznik` = '" + comboBox2.Text.ToString() + @"',
`IDVyrobok` = " + IDvyrobokPrePocetNaSklade.ToString() + @",
`PoznamkaOBJ` = '" + textBox8.Text.ToString() + @"',
`PocetKusov` = " + textBox6.Text.ToString() + @",
`CenaOBJ` = " + textBox7.Text.ToString().Replace(",", ".") + @",
`PocetDoVyroby` = " + strPocetDoVyroby + @",
`PocetZoSkladu` = " + numericUpDown1.Value.ToString() + @",
`PociatStavKontraktu` = " + textBox1.Text.ToString() + @",
`IDUsers` = " + classUser.ID + @"
WHERE `IDCPOBJ` = " + strIDDopyt + ";";
classSQL.SQL(cmd);
cmd = "SELECT * FROM `tabskladvyrobkov` WHERE ((`SkladOperacia` = 'Výdaj' OR `SkladOperacia` = 'Rezervovaný výdaj') AND `IDDopyt` = " + strIDDopyt + ");";
DataTable kontrola = new DataTable();
classSQL.SQL(cmd, out kontrola);
//uprava vyberov zo skladu pre objednavku
if (kontrola.Rows.Count > 0)
{
if (numericUpDown1.Value != 0) //update
{
string strMatUMat;
if (comboBox4.Text.ToString() == "") strMatUMat = comboBox5.Text.ToString();
else strMatUMat = comboBox5.Text.ToString() + " + " + comboBox4.Text.ToString();
cmd = @"UPDATE `mip`.`tabskladvyrobkov`
SET `IDvyr` = " + IDvyrobokPrePocetNaSklade.ToString() + @",
`MaterialSUpravouMat` = '" + strMatUMat + @"',
`Pocet` = " + numericUpDown1.Value.ToString() + @",
`DatumVytvorenia` = DATE(NOW())
WHERE `IDDopyt` = " + strIDDopyt + ";";
classSQL.SQL(cmd);
}
else //delete
{
cmd = @"DELETE FROM `mip`.`tabskladvyrobkov` WHERE `IDDopyt` = " + strIDDopyt + ";";
classSQL.SQL(cmd);
}
}
else
{
if (numericUpDown1.Value != 0) // insert
{
string strTypVydaja = "'Výdaj'";
if (rBObj.Checked == true && Convert.ToInt32(label22.Text) != 0) strTypVydaja = "'Rezervovaný výdaj'";
if (rBzKontraktu.Checked == true) strTypVydaja = "'Výdaj'";
string strMatUMat;
if (comboBox4.Text.ToString() == "") strMatUMat = comboBox5.Text.ToString();
else strMatUMat = comboBox5.Text.ToString() + " + " + comboBox4.Text.ToString();
cmd = @"INSERT INTO `mip`.`tabskladvyrobkov` (`SkladOperacia`, `StatusSkladOperacie`, `IDvyr`, `IDExpedicia`, `IDDopyt`, `MaterialSUpravouMat`, `Pocet`, `DatumVytvorenia`) VALUES ("
+ strTypVydaja + ", "
+ "'Nevybavený'" + ", "
+ IDvyrobokPrePocetNaSklade.ToString() + ", "
+ "0" + ", " //v pripade vyberu zo skladu je namiesto id expedicia vlozena hodnota "0", lebo id expedicia pre tento zaznam neexistuje
+ strIDDopyt + ", '"
+ strMatUMat + "', "
+ numericUpDown1.Value.ToString() + ", "
+ "DATE(NOW()) );";
classSQL.SQL(cmd);
}
}
MessageBox.Show("Dopyt zmenený!");
this.Close();
}
private void frmEditDopyt_Load(object sender, EventArgs e)
{
DataTable DTEditDopyt = new DataTable();
//dGVZoznamVyrobkov.CurrentRow.Cells["IDVyrobok"].Value.ToString()
classSQL.SQL("SELECT * FROM pohladdopyty WHERE `IDCPOBJ` = " + strIDDopyt + ";", out DTEditDopyt);
if (DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["TypDopytu"].Ordinal].ToString() == "Cenová ponuka"){rBdopyt.Checked = true; rBdopyt.Enabled = true;}
if (DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["TypDopytu"].Ordinal].ToString() == "Objednávka"){rBObj.Checked = true; rBObj.Enabled = true;}
if (DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["TypDopytu"].Ordinal].ToString() == "Objednávka do kontraktu") { rBObjDoKontr.Checked = true; rBObjDoKontr.Enabled = true; }
if (DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["TypDopytu"].Ordinal].ToString() == "Kontrakt") { rBKontrakt.Checked = true; rBKontrakt.Enabled = true; }
if (DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["TypDopytu"].Ordinal].ToString() == "Call Off") { rBzKontraktu.Checked = true; rBzKontraktu.Enabled = true; }
classGlobal.FillCB(comboBox2, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať zákazníka");
classGlobal.FillCB(comboBox5, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať materiál");
classGlobal.FillCB(comboBox4, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať úpravu materiálu");
classGlobal.FillCB(comboBox1, "tabdopyt", "CisloObj", "TypDopytu", "Kontrakt", textBox2);
textBox1.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PociatStavKontraktu"].Ordinal].ToString();
comboBox1.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["NazovKontraktu"].Ordinal].ToString();
comboBox2.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["Zakaznik"].Ordinal].ToString();
comboBox3.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["NazovVyrobku"].Ordinal].ToString();
textBox5.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["CisloObj"].Ordinal].ToString();
comboBox5.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["Material"].Ordinal].ToString();
comboBox4.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["UpravaMaterialu"].Ordinal].ToString();
dateTimePicker1.Value = Convert.ToDateTime( DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["DatumPotvrdeny"].Ordinal]);
textBox6.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PocetKusov"].Ordinal].ToString();
//numericUpDown1.Minimum = 0;
//numericUpDown1.Maximum = Convert.ToInt32(DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PocetZoSkladu"].Ordinal].ToString());
numericUpDown1.Value = Convert.ToInt32(DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PocetZoSkladu"].Ordinal].ToString());
label22.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PocetDoVyroby"].Ordinal].ToString();
if (numericUpDown1.Value > 0) checkBox1.Checked = true;
textBox7.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["CenaObj"].Ordinal].ToString();
textBox8.Text = DTEditDopyt.Rows[0].ItemArray[DTEditDopyt.Columns["PoznamkaObj"].Ordinal].ToString();
ZistiPouziteCeny();
}
private void rBKontrakt_CheckedChanged(object sender, EventArgs e)
{
if (rBKontrakt.Checked == true)
{
checkBox2.Enabled = true;
checkBox2.Visible = true;
textBox1.Enabled = true;
textBox1.Visible = true;
}
}
private void comboBox2_SelectedValueChanged(object sender, EventArgs e)
{
comboBox3.Items.Clear();
//comboBox5.SelectedIndex = -1;
//comboBox4.SelectedIndex = -1;
//comboBox7.Items.Clear();
//comboBox7.Text = "";
lblAlias.Text = "";
string cmd;
cmd = "SELECT * FROM `mip`.`tabvyrobok` WHERE `Zakaznik` = '" //SELECT `NazovVyrobku`, `Alias`
+ comboBox2.Text + "' ORDER BY `NazovVyrobku`;";
DataTable zistiVyrobky = new DataTable();
classSQL.SQL(cmd, out zistiVyrobky);
foreach (DataRow row in zistiVyrobky.Rows)
{
comboBox3.Items.Add(row["NazovVyrobku"].ToString());
}
comboBox3.SelectedIndex = -1;
label17.Text = "0";
label18.Text = "0";
comboBox7.SelectedIndex = -1;
//button2.Enabled = true;
//label2.Enabled = true;
//label3.Text = "";
/*label20.Enabled = true;
groupBox3.Enabled = false;
groupBox4.Enabled = false;
textBox5.Text = "";
dateTimePicker1.Value = DateTime.Now;
textBox6.Text = "";
textBox7.Text = "";
textBox8.Text = "";
btnAddOBJ.Enabled = false;
btnZobrazVykres.Enabled = false;*/
}
Int32 IDvyrobokPrePocetNaSklade;
private void comboBox3_SelectedValueChanged(object sender, EventArgs e)
{
string cmd;
cmd = "SELECT * FROM `mip`.`tabvyrobok` WHERE `NazovVyrobku` = '" //SELECT `NazovVyrobku`, `Alias`
+ comboBox3.Text + "' AND `Zakaznik` = '" + comboBox2.Text + "' ;";
DataTable zistiInfoOVyrobku = new DataTable();
classSQL.SQL(cmd, out zistiInfoOVyrobku);
lblAlias.Text = zistiInfoOVyrobku.Rows[0].ItemArray[zistiInfoOVyrobku.Columns["Alias"].Ordinal].ToString();
label3.Text = zistiInfoOVyrobku.Rows[0].ItemArray[zistiInfoOVyrobku.Columns["SpojeneRozmery"].Ordinal].ToString();
label5.Text = zistiInfoOVyrobku.Rows[0].ItemArray[zistiInfoOVyrobku.Columns["PocetSegmentov"].Ordinal].ToString();
lblInynazov.Text = zistiInfoOVyrobku.Rows[0].ItemArray[zistiInfoOVyrobku.Columns["InyNazov"].Ordinal].ToString();
IDvyrobokPrePocetNaSklade = Convert.ToInt32(zistiInfoOVyrobku.Rows[0].ItemArray[zistiInfoOVyrobku.Columns["IDvyrobok"].Ordinal].ToString());
if (comboBox3.Text != "") btnZobrazVykres.Enabled = true;
else btnZobrazVykres.Enabled = false;
ZistiPocetNaSklade();
ZistiPocetVoVyrobe();
ZistiPouziteCeny();
}
private void button8_Click(object sender, EventArgs e)
{
this.Close();
}
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
DataTable dtdop = new DataTable();
classSQL.SQL("SELECT * FROM pohladdopyty WHERE `TypDopytu`='Kontrakt' AND `CisloObj` = '" + comboBox1.Text + "';", out dtdop);
DataRow dtrw = dtdop.Rows[0];
comboBox2.Text = dtrw["Zakaznik"].ToString();
comboBox3.Text = dtrw["NazovVyrobku"].ToString();
lblAlias.Text = dtrw["Alias"].ToString();
label3.Text = dtrw["SpojeneRozmery"].ToString();
//groupBox4.Enabled = true;
comboBox5.Text = dtrw["Material"].ToString();
comboBox4.Text = dtrw["UpravaMaterialu"].ToString();
lblInynazov.Text = dtrw["InyNazov"].ToString();
string strNazovKontraktu = dtrw["CisloObj"].ToString();
string strPocetKusov = dtrw["PocetKusov"].ToString();
string strOdoslane;
classSQL.SQL("SELECT SUM(`PocetKusov`) FROM pohladdopyty WHERE `NazovKontraktu` = '" + strNazovKontraktu +
"' AND `TypDopytu` = 'Call Off' AND `StatusDopytu` = 'Odoslaný';", out strOdoslane);
string strNeodoslane;
classSQL.SQL("SELECT SUM(`PocetKusov`) FROM pohladdopyty WHERE `NazovKontraktu` = '" + strNazovKontraktu +
"' AND `TypDopytu` = 'Call Off' AND `StatusDopytu` != 'Odoslaný';", out strNeodoslane);
if (strOdoslane == "") strOdoslane = "0";
if (strNeodoslane == "") strNeodoslane = "0";
this.Text = "kontrakt č.: " + strNazovKontraktu
+ " (Celkom: " + strPocetKusov
+ "Ks, Odosl. "
+ strOdoslane
+ "Ks, Neodosl. "
+ strNeodoslane
+ "Ks)";
}
private void rBzKontraktu_CheckedChanged(object sender, EventArgs e)
{
if (rBzKontraktu.Checked == true) { comboBox1.Enabled = true; textBox2.Enabled = true; }
}
private void rBObjDoKontr_CheckedChanged(object sender, EventArgs e)
{
if (rBObjDoKontr.Checked == true) { comboBox1.Enabled = true; textBox2.Enabled = true; }
}
private void textBox5_TextChanged(object sender, EventArgs e)
{
if (textBox5.Text != "" && textBox6.Text != "" && textBox7.Text != "" && comboBox5.Text != "") btnUlozitZmeny.Enabled = true;
else btnUlozitZmeny.Enabled = false;
}
private void textBox6_TextChanged(object sender, EventArgs e)
{
if (textBox5.Text != "" && textBox6.Text != "" && textBox7.Text != "" && comboBox5.Text != "") btnUlozitZmeny.Enabled = true;
else btnUlozitZmeny.Enabled = false;
if (rBzKontraktu.Checked != true) pocetDoVyroby();
}
private void textBox7_TextChanged(object sender, EventArgs e)
{
if (textBox5.Text != "" && textBox6.Text != "" && textBox7.Text != "" && comboBox5.Text != "") btnUlozitZmeny.Enabled = true;
else btnUlozitZmeny.Enabled = false;
}
private void comboBox5_SelectedValueChanged(object sender, EventArgs e)
{
if (textBox5.Text != "" && textBox6.Text != "" && textBox7.Text != "" && comboBox5.Text != "") btnUlozitZmeny.Enabled = true;
else btnUlozitZmeny.Enabled = false;
if (comboBox5.Text != "")
{
ZistiPocetNaSklade();
ZistiPocetVoVyrobe();
ZistiPouziteCeny();
}
else
{
label17.Text = "0";
label18.Text = "0";
}
}
bool EnableSelectedValueChange = false;
private void comboBox7_SelectedValueChanged(object sender, EventArgs e)
{
if (EnableSelectedValueChange == true)
{
/* string CenaDoTextBoxu ;
classSQL.SQL("SELECT `CenaOBJ` FROM `tabdopyt` WHERE `tabdopyt`.IDCPOBJ = '" + comboBox7.SelectedValue.ToString() + "';", out CenaDoTextBoxu);
textBox7.Text = CenaDoTextBoxu;
*/
}
}
private void ZistiPouziteCeny()
{
string strTypDopytu = "(`tabdopyt`.TypDopytu = 'Objednávka do kontraktu' OR `tabdopyt`.TypDopytu = 'Objednávka')";
string cmd = @"SELECT `IDCPOBJ`, CONCAT(`CenaOBJ`, '€ : (', `PocetKusov`, 'Ks) -', `DatumPrijatiaOBJ`) AS `CenaDatum` FROM `tabdopyt` WHERE " + strTypDopytu + @" AND
`tabdopyt`.Material = '" + comboBox5.Text.ToString() + @"' AND
`tabdopyt`.UpravaMaterialu = '" + comboBox4.Text.ToString() + @"' AND
`tabdopyt`.IDVyrobok = " + IDvyrobokPrePocetNaSklade;
DataTable PouziteCeny = new DataTable();
classSQL.SQL(cmd, out PouziteCeny);
comboBox7.DataSource = PouziteCeny;
comboBox7.Enabled = true;
comboBox7.ValueMember = "IDCPOBJ";
comboBox7.DisplayMember = "CenaDatum";
EnableSelectedValueChange = true;
}
DataTable TotalNaSklade;
private void ZistiPocetNaSklade()
{
string strMatUMat;
if (comboBox4.Text.ToString() == "") strMatUMat = comboBox5.Text.ToString();
else strMatUMat = comboBox5.Text.ToString() + " + " + comboBox4.Text.ToString();
string cmd = @"SELECT
IFNULL((SELECT SUM(`tabskladvyrobkov`.Pocet) FROM `tabskladvyrobkov`
WHERE (`tabskladvyrobkov`.SkladOperacia = 'Príjem' OR `tabskladvyrobkov`.SkladOperacia = 'Inventárny príjem') AND
`tabskladvyrobkov`.StatusSkladOperacie = 'Vybavený' AND
`tabskladvyrobkov`.MaterialSUpravouMat = '" + strMatUMat + @"' AND
`tabskladvyrobkov`.IDvyr = " + IDvyrobokPrePocetNaSklade + @"),0)
-
IFNULL((SELECT SUM(`tabskladvyrobkov`.Pocet) FROM `tabskladvyrobkov`
WHERE (`tabskladvyrobkov`.SkladOperacia = 'Výdaj' OR `tabskladvyrobkov`.SkladOperacia = 'Inventárny výdaj' OR `tabskladvyrobkov`.SkladOperacia = 'Rezervovaný výdaj') AND
(`tabskladvyrobkov`.StatusSkladOperacie = 'Vybavený' OR `tabskladvyrobkov`.StatusSkladOperacie = 'Nevybavený') AND
`tabskladvyrobkov`.MaterialSUpravouMat = '" + strMatUMat + @"' AND
`tabskladvyrobkov`.IDvyr = " + IDvyrobokPrePocetNaSklade + @"),0)
AS `TotalNaSklade`";
classSQL.SQL(cmd, out TotalNaSklade);
if (Convert.ToInt32(TotalNaSklade.Rows[0][0].ToString()) != 0) label17.Text = TotalNaSklade.Rows[0][0].ToString();
else label17.Text = "0";
}
DataTable TotalVoVyrobe;
private void ZistiPocetVoVyrobe()
{
string strTypDopytu = "(`tabdopyt`.TypDopytu = 'Objednávka do kontraktu' OR `tabdopyt`.TypDopytu = 'Objednávka')";
string cmd = @"SELECT
(SELECT SUM(`tabdopyt`.PocetDoVyroby) FROM `tabdopyt` WHERE " + strTypDopytu + @" AND
(`tabdopyt`.StatusDopytu = 'Prijatá' OR `tabdopyt`.StatusDopytu = 'Zaradená do výroby' OR `tabdopyt`.StatusDopytu = 'Vo výrobe' OR `tabdopyt`.StatusDopytu = 'Na lapovni' OR `tabdopyt`.StatusDopytu = 'Čiastočne odoslaná') AND
`tabdopyt`.Material = '" + comboBox5.Text.ToString() + @"' AND
`tabdopyt`.UpravaMaterialu = '" + comboBox4.Text.ToString() + @"' AND
`tabdopyt`.IDVyrobok = " + IDvyrobokPrePocetNaSklade + @")
-
IFNULL((SELECT SUM(`pohladexpedicia`.`Počet vyrobených dobrých kusov`) FROM `pohladexpedicia` WHERE (`pohladexpedicia`.`Typ dopytu` = 'Objednávka do kontraktu' OR `pohladexpedicia`.`Typ dopytu` = 'Objednávka') AND
(`pohladexpedicia`.StatusDopytu = 'Čiastočne odoslaná') AND
`pohladexpedicia`.`Materiál` = '" + comboBox5.Text.ToString() + @"' AND
`pohladexpedicia`.`Úprava materiálu` = '" + comboBox4.Text.ToString() + @"' AND
`pohladexpedicia`.IDVyrobok = " + IDvyrobokPrePocetNaSklade + @"),0)
AS `TotalVoVyrobe`";
classSQL.SQL(cmd, out TotalVoVyrobe);
if (TotalVoVyrobe.Rows[0][0].ToString() != "") label18.Text = TotalVoVyrobe.Rows[0][0].ToString();
else label18.Text = "0";
}
private void comboBox4_SelectedValueChanged(object sender, EventArgs e)
{
if (comboBox5.Text != "")
{
ZistiPocetNaSklade();
ZistiPocetVoVyrobe();
ZistiPouziteCeny();
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
pocetDoVyroby();
}
private void pocetDoVyroby()
{
if (rBzKontraktu.Checked == true)
{
//numericUpDown1.Maximum = Convert.ToInt32(label17.Text) + Convert.ToInt32(label18.Text);
textBox6.Text = numericUpDown1.Value.ToString();
}
else
{
if ((rBObj.Checked == true || rBObjDoKontr.Checked == true) && textBox6.Text != "")
{
//if (Convert.ToInt32(textBox6.Text) < Convert.ToInt32(label17.Text)) numericUpDown1.Maximum = Convert.ToInt32(textBox6.Text);
//else numericUpDown1.Maximum = Convert.ToInt32(label18.Text) + Convert.ToInt32(label17.Text);
label22.Text = (Convert.ToInt32(textBox6.Text) - numericUpDown1.Value).ToString();
}
else
{
numericUpDown1.Maximum = 0;
label22.Text = "0";
}
}
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
label23.Enabled = true;
numericUpDown1.Enabled = true;
}
else
{
label23.Enabled = false;
numericUpDown1.Enabled = false;
numericUpDown1.Value = 0;
pocetDoVyroby();
}
}
private void btnZobrazVykres_Click(object sender, EventArgs e)
{
Form zobrazVykres = new frmShowVykres(comboBox2.Text, comboBox3.Text);
zobrazVykres.Show();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
classGlobal.FillCB(comboBox1, "tabdopyt", "CisloObj", "TypDopytu", "Kontrakt", textBox2);
}
}
}