using System; using System.Data; 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); } private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { dateTimePicker2.MinDate = dateTimePicker1.Value; } } }