root/Baza Reklam 2 - Faktury/KorektyForm.cs @ 680

Wersja 104, 21.9 KB (wprowadzona przez dorota, 17 years temu)
Line 
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Data.SqlClient;
6using System.Drawing;
7using System.Text;
8using System.Windows.Forms;
9
10namespace Baza_Reklam
11{
12    public partial class KorektyForm : Form
13    {
14        string query = "SELECT top 2000 * from VIEW_KOREKTY ";
15
16        private static KorektyForm fakturesForm;
17        private SqlCommand command;
18        private SqlDataAdapter sqlDataAdapter;
19
20        private bool commandExecuted = false;
21
22        public static KorektyForm getFacturesForm(MDIBazaReklam parent)
23        {
24            if (fakturesForm == null){
25                fakturesForm = new KorektyForm(parent);
26            }
27            return fakturesForm;
28        }
29
30        private KorektyForm(MDIBazaReklam parent)
31        {
32            InitializeComponent();
33            this.MdiParent = parent;
34
35            //podmiana connstringa
36            vIEW_KOREKTYTableAdapter.Connection.ConnectionString = ConnString.getConnString().Value;
37         
38            //obiekty wykorzytywane przy wyszukiwaniu
39            SqlConnection conn = new SqlConnection(ConnString.getConnString().Value);
40            command = new SqlCommand();
41            command.Connection = conn;
42           
43            this.sqlDataAdapter = new SqlDataAdapter();
44
45            //generuje piersze wêz³y w drzewie
46            generateNodes();
47
48            //ustawia domyslny rok i miesi¹c w pasku wyszukiwania
49            rokToolStripTextBox.Text = DateTime.Today.Year.ToString();
50            miesiacToolStripTextBox.Text = DateTime.Today.Month.ToString();
51
52            wyszukajToolStrip.Items.Insert(10, new ToolStripLabel("nieuregulowane:"));
53            wyszukajToolStrip.Items.Insert(11, new ToolStripControlHost(new CheckBox(), "zalegleCheckBox"));
54            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).ThreeState = true;
55            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState = CheckState.Indeterminate;           
56        }
57
58        private void FacturesForm_Load(object sender, EventArgs e)
59        {
60            this.WindowState = FormWindowState.Maximized;
61
62            DBBindings.bindujAgencje(agencjaToolStripComboBox);
63         
64            command.CommandText = this.query;
65            sqlDataAdapter.SelectCommand = command;
66        }
67
68        private void generateNodes()
69        {
70            TreeNode node;
71
72            node = new TreeNode("Wp³aty - ksiêgowoœæ");
73            node.Name = "WplatyKsiegowosc";
74            treeView1.Nodes.Add(node);
75
76            node = new TreeNode("Ró¿nice wp³at");
77            node.Nodes.Add(new TreeNode());
78            node.Name = "BrakWKsiegowosci";
79
80            treeView1.Nodes["WplatyKsiegowosc"].Nodes.Add(node);
81
82            node = new TreeNode("Brak w reklamie");
83            node.Nodes.Add(new TreeNode());
84            node.Name = "BrakWReklamie";
85
86            treeView1.Nodes["WplatyKsiegowosc"].Nodes.Add(node);
87                       
88            command.Connection.Close();                         
89        }
90        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
91        {
92            if (e.Node != null)
93            {
94                command.CommandText = query;
95                command.Parameters.Clear();
96
97                switch (e.Node.Level)
98                {
99                    case 0:
100                        break;
101                    case 1:
102                        switch (e.Node.Parent.Name)
103                        {
104                            case "WplatyKsiegowosc":
105                                break;
106                            default:
107                                break;
108                        }
109                        break;
110                    case 2:
111                        /*
112                        switch (e.Node.Parent.Parent.Name)
113                        {
114                               
115                            case "WplatyKsiegowosc":
116                                switch (e.Node.Parent.Name)
117                                {
118                                    case "BrakWKsiegowosci":
119                                        this.Cursor = Cursors.WaitCursor;
120
121                                        rEKLAMADataSet.VIEW_KOREKTY.Clear();
122
123                                        command.CommandText += " WHERE YEAR(dataWplaty) = @rok AND (suma_zaplat is null OR (CONVERT(int, suma_zaplat * 100) <> CONVERT(int, BRUTTO * 100))) order by dataWplaty";
124
125                                        command.Parameters.AddWithValue("@rok", e.Node.Name);
126                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.VIEW_KOREKTY);
127                                        commandExecuted = true;
128                                        fakturyDataGridView.Refresh();
129
130                                        this.Cursor = Cursors.Default;
131
132                                        break;
133
134                                    case "BrakWReklamie":
135                                        this.Cursor = Cursors.WaitCursor;
136
137                                        rEKLAMADataSet.VIEW_KOREKTY.Clear();
138                                        command.CommandText += " WHERE YEAR(DATA_SPRZEDAZY) = @rok AND (suma_zaplat is not null AND suma_zaplat<>0) AND (dataWplaty is null) order by DATA_SPRZEDAZY";
139                                        command.Parameters.AddWithValue("@rok", e.Node.Name);
140                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.VIEW_KOREKTY);
141                                        commandExecuted = true;
142                                        fakturyDataGridView.Refresh();
143
144                                        this.Cursor = Cursors.Default;
145
146                                        break;
147                                    default:
148                                        break;
149                                }
150                                break;
151                            default:
152                                break;
153                        }*/
154                        break;
155                    case 3:
156                        switch (e.Node.Parent.Parent.Parent.Name)
157                        {
158                            case "WplatyKsiegowosc":
159                                switch (e.Node.Parent.Parent.Name)
160                                {
161                                    case "BrakWKsiegowosci":
162                                        this.Cursor = Cursors.WaitCursor;
163
164                                        rEKLAMADataSet.VIEW_ZESTAWIENIE_FAKTUR_NOWE.Clear();
165                                        command.CommandText += " WHERE YEAR([dataWplaty]) = @rok AND MONTH(dataWplaty) = @miesiac AND (suma_zaplat is null OR (CONVERT(int, suma_zaplat * 100) <> CONVERT(int, BRUTTO * 100))) order by dataWplaty";
166                                        command.Parameters.AddWithValue("@rok", e.Node.Parent.Name);
167                                        command.Parameters.AddWithValue("@miesiac", e.Node.Name);
168                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.VIEW_ZESTAWIENIE_FAKTUR_NOWE);
169                                        commandExecuted = true;
170                                        fakturyDataGridView.Refresh();
171
172                                        this.Cursor = Cursors.Default;
173                                        break;
174
175                                    case "BrakWReklamie":
176                                        this.Cursor = Cursors.WaitCursor;
177
178                                        rEKLAMADataSet.VIEW_KOREKTY.Clear();
179                                        command.CommandText += " WHERE YEAR(DATA_SPRZEDAZY) = @rok AND MONTH(DATA_SPRZEDAZY) = @miesiac AND (suma_zaplat is not null AND suma_zaplat<>0) AND (dataWplaty is null) order by DATA_SPRZEDAZY";
180                                        command.Parameters.AddWithValue("@rok", e.Node.Parent.Name);
181                                        command.Parameters.AddWithValue("@miesiac", e.Node.Name);
182                                        sqlDataAdapter.Fill(this.rEKLAMADataSet.VIEW_KOREKTY);
183                                        commandExecuted = true;
184                                        fakturyDataGridView.Refresh();
185
186                                        this.Cursor = Cursors.Default;
187                                        break;
188                                }
189                                break;
190                            default:
191                                break;
192                        }
193                        break;
194                    default:
195                        break;
196                }
197
198            }
199        }
200
201        private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
202        {
203            TreeNode node;
204            SqlDataReader reader;
205
206            if (e.Node != null)
207            {
208                switch (e.Node.Level)
209                {
210                    case 0:
211                        break;
212                    case 1:
213                        switch (e.Node.Parent.Name)
214                        {
215                            case "WplatyKsiegowosc":
216                                switch (e.Node.Name)
217                                {
218                                    case "BrakWKsiegowosci":
219                                        e.Node.Nodes.Clear();
220
221                                        command.CommandText = "select distinct datepart(year,DATA_W) as rok from dbo.NR where datepart(year,DATA_W) is not null order by rok desc";
222                                        command.Connection.Open();
223                                        reader = command.ExecuteReader();
224
225                                        while (reader.Read())
226                                        {
227                                            node = new TreeNode(reader.GetValue(0).ToString());
228                                            node.Name = reader.GetValue(0).ToString();
229
230                                            for (int i = 12; i >= 1; i--)
231                                            {
232                                                TreeNode node2 = new TreeNode(i.ToString());
233                                                node2.Name = i.ToString();
234                                                //node2.Nodes.Add(new TreeNode());
235                                                node.Nodes.Add(node2);
236                                            }
237                                            e.Node.Nodes.Add(node);
238                                        }
239
240                                        command.Connection.Close();
241
242                                        break;
243                                    case "BrakWReklamie":
244                                        e.Node.Nodes.Clear();
245                                        DBBindings.bindujDatyWydan(e.Node);
246                                        break;
247                                }
248                                break;
249                            default:
250                                e.Node.Nodes.Clear();
251
252                                node = new TreeNode("Biura");
253                                node.Name = "Biura";
254                                node.Nodes.Add(new TreeNode());
255                                e.Node.Nodes.Add(node);
256                                break;
257                        }
258                        break;
259                    case 2:
260
261                        switch (e.Node.Name)
262                        {
263                            case "Biura":
264                                DBBindings.dodajAgencjeDoWezla(e.Node);
265                                break;
266                            default:
267                                break;
268                        }
269
270                        break;
271                    case 3:
272                        switch (e.Node.Parent.Name)
273                        {
274                            case "Biura":
275                                DBBindings.dodajAgentowDoWezla(e.Node, e.Node.Name);
276                                break;
277                            default:
278                                break;
279                        }
280                        break;
281                    case 4:
282                        break;
283                    default:
284                        break;
285                }
286            }
287        }
288   
289        private void wyszukajToolStripButton_Click(object sender, EventArgs e)
290        {
291            wyszukajToolStrip.Visible = wyszukajToolStrip.Visible ? false : true;
292        }
293
294        private void szukajToolStripButton_Click(object sender, EventArgs e)
295        {
296            command.CommandText = query;
297            this.rEKLAMADataSet.VIEW_KOREKTY.Clear();
298
299            command.CommandText += " where 1=1 ";
300            command.Parameters.Clear();
301
302            if (nrFakturyToolStripTextBox.Text.Trim() != "")
303            {
304                int i;
305                if (!Int32.TryParse(nrFakturyToolStripTextBox.Text, out i))
306                {
307                    MessageBox.Show("Podaj prawid³owy numer faktury.");
308                    return;
309                }
310
311                command.CommandText += " AND nr_korygowanej=@nr";
312                command.Parameters.AddWithValue("@nr", nrFakturyToolStripTextBox.Text.Trim());
313            }
314
315            if (nrKorygowanejToolStripTextBox.Text.Trim() != "")
316            {
317                int i;
318                if (!Int32.TryParse(nrKorygowanejToolStripTextBox.Text, out i))
319                {
320                    MessageBox.Show("Podaj prawid³owy numer faktury.");
321                    return;
322                }
323
324                command.CommandText += " AND nr_korygowanej=@nr2";
325                command.Parameters.AddWithValue("@nr2", nrKorygowanejToolStripTextBox.Text.Trim());
326            }
327
328
329            if (kodRozliczeniowyToolStripTextBox.Text.Trim() != "")
330            {
331                command.CommandText += " AND NUMER_ROZ like '%' + @kod + '%'";
332                command.Parameters.AddWithValue("@kod", kodRozliczeniowyToolStripTextBox.Text.Trim());
333            }
334
335            if (rokToolStripTextBox.Text.Trim() != "")
336            {
337                int i;
338                if (!Int32.TryParse(rokToolStripTextBox.Text.Trim(), out i))
339                {
340                    MessageBox.Show("Podaj prawid³owy rok.");
341                    return;
342                }
343
344                command.CommandText += " AND YEAR(DATA_WYSTAWIENIA)=@rok";
345                command.Parameters.AddWithValue("@rok", rokToolStripTextBox.Text.Trim());
346            }
347
348            if (miesiacToolStripTextBox.Text.Trim() != "")
349            {
350                int i;
351                if (!Int32.TryParse(miesiacToolStripTextBox.Text.Trim(), out i))
352                {
353                    MessageBox.Show("Podaj prawid³owy miesi¹c.");
354                    return;
355                }
356
357                command.CommandText += " AND MONTH(DATA_WYSTAWIENIA)=@miesiac";
358                command.Parameters.AddWithValue("@miesiac", miesiacToolStripTextBox.Text.Trim());
359            }
360
361            if (agencjaToolStripComboBox.Text.Trim() != "")
362            {
363                command.CommandText += " AND Agencja=@agencja";
364                command.Parameters.AddWithValue("@agencja", agencjaToolStripComboBox.Text.Trim());
365            }
366           
367            /*
368            if (((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState == CheckState.Checked)
369            {
370                command.CommandText += " AND (BRUTTO - suma_zaplat) > 0";
371            }
372            else if (((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState == CheckState.Unchecked)
373            {
374                command.CommandText += " AND (BRUTTO - suma_zaplat) <= 0 ";
375            }*/
376         
377            //MessageBox.Show(command.CommandText + nrFakturyToolStripTextBox.Text);
378            sqlDataAdapter.SelectCommand = command;
379
380            this.Cursor = Cursors.WaitCursor;
381
382            try
383            {
384                int t = sqlDataAdapter.Fill(this.rEKLAMADataSet.VIEW_KOREKTY);
385                commandExecuted = true;
386            }
387            catch (Exception e1)
388            {
389                MessageBox.Show(e1.Message);
390            }
391
392            treeView1.CollapseAll();
393            treeView1.SelectedNode = null;
394
395            this.Cursor = Cursors.Default;
396        }
397
398        private void fakturyDataGridView_Leave(object sender, EventArgs e)
399        {
400            fakturyDataGridView.EndEdit();
401        }
402
403        private void kryteriumWyszukiwania_KeyPress(object sender, KeyPressEventArgs e)
404        {
405            if (e.KeyChar == 13)
406            {
407                wyszukajToolStripButton.PerformClick();
408            }
409        }
410               
411        private void toolStripButton1_Click(object sender, EventArgs e)
412        {
413            PrintDGV.Print_DataGridView(fakturyDataGridView,50);
414        }
415
416        private void wyczyscPolaToolStripButton_Click(object sender, EventArgs e)
417        {
418            rEKLAMADataSet.ZestawienieFaktur.Clear();
419
420            nrFakturyToolStripTextBox.Clear();
421            nrKorygowanejToolStripTextBox.Clear();
422            kodRozliczeniowyToolStripTextBox.Clear();
423            rokToolStripTextBox.Clear();
424            miesiacToolStripTextBox.Clear();
425            agencjaToolStripComboBox.SelectedIndex = -1;
426            agencjaToolStripComboBox.Text = "";
427            ((CheckBox)((ToolStripControlHost)wyszukajToolStrip.Items["zalegleCheckBox"]).Control).CheckState = CheckState.Indeterminate;
428        }
429
430        private void podgladToolStripButton_Click(object sender, EventArgs e)
431        {
432            if (vIEWKOREKTYBindingSource.Current != null)
433            {
434                DataRowView row = (DataRowView)vIEWKOREKTYBindingSource.Current;
435                REKLAMADataSet.VIEW_KOREKTYRow faktura = (REKLAMADataSet.VIEW_KOREKTYRow)row.Row;
436
437                this.Cursor = Cursors.WaitCursor;
438                FactureViewer fv = new FactureViewer(faktura.ID_FAKTURY, faktura.idFakturyVAT,faktura.idFakturyKorekta);
439                fv.ShowDialog();
440               
441                this.Cursor = Cursors.Default;
442            }
443        }
444
445        /// <summary>
446        /// Przechodzi do okna KLIENCI i wyœwietla dane klienta zwi¹zanego z  faktur¹.
447        /// </summary>
448        private void klientToolStripButton_Click(object sender, EventArgs e)
449        {
450            if (vIEWKOREKTYBindingSource.Current != null)
451            {
452                DataRowView row = (DataRowView)vIEWKOREKTYBindingSource.Current;
453                REKLAMADataSet.VIEW_KOREKTYRow korekta = (REKLAMADataSet.VIEW_KOREKTYRow)row.Row;
454           
455                ClientsForm.getClientsForm((MDIBazaReklam)this.MdiParent).pokazKlienta(korekta.CustomerId);
456                this.Hide();
457
458                ClientsForm.getClientsForm((MDIBazaReklam)this.MdiParent).Show();
459            }   
460        }
461
462        private void FacturesForm_Shown(object sender, EventArgs e)
463        {
464            if (User.getUser().St_kierownik)
465            {
466                agencjaToolStripComboBox.Text = User.getUser().SymbolAgencji;
467            }
468            else if (User.getUser().St_handlowiec | User.getUser().St_subhandlowiec)
469            {
470                kodRozliczeniowyToolStripTextBox.Text = User.getUser().Kod_agenta;
471            }
472
473         
474        }
475
476        private void excelToolStripButton_Click(object sender, EventArgs e)
477        {
478            this.Cursor = Cursors.WaitCursor;
479
480            ExcelHandler ex = new ExcelHandler();
481            ex.exportToExcel(fakturyDataGridView);
482
483            this.Cursor = Cursors.Default;
484        }
485
486        private void fakturyDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
487        {
488            if (e.ListChangedType == ListChangedType.Reset)
489            {
490                foreach (DataGridViewRow r in fakturyDataGridView.Rows)
491                {
492                    if (r.Cells[8].Value != DBNull.Value && r.Cells[9].Value != DBNull.Value)
493                    {
494                        if (Convert.ToDecimal(r.Cells[8].Value) != Convert.ToDecimal(r.Cells[9].Value))
495                        {
496                         //   r.DefaultCellStyle.ForeColor = Color.Red;
497                        }
498                    }
499                }
500            }
501        }
502
503        private void wplata2toolStripButton_Click(object sender, EventArgs e)
504        {
505            if (vIEWKOREKTYBindingSource.Current != null)
506            {
507                /*
508                DataRowView row = (DataRowView)vIEWKOREKTYBindingSource.Current;
509                REKLAMADataSet.KONTAKTYRow f = (REKLAMADataSet.KONTAKTYRow)row.Row;
510               
511                PaymentForm2 pf2;
512
513                if (f.IsidWplatyNull())
514                {
515                    pf2 = new PaymentForm2(0,f.ID_FAKTURY);
516                }
517                else
518                {
519                    pf2 = new PaymentForm2(f.idWplaty, f.ID_FAKTURY);
520                }
521
522                if (pf2.ShowDialog() == DialogResult.OK)
523                {
524                    f.idWplaty = pf2.IdWplaty;
525                    f.EndEdit();
526                    fakturyDataGridView.Refresh();
527                }*/
528               
529            }
530   
531        }
532
533        private void zamowieniaToolStripButton_Click(object sender, EventArgs e)
534        {
535            if (vIEWKOREKTYBindingSource.Current != null)
536            {
537                DataRowView row = (DataRowView)vIEWKOREKTYBindingSource.Current;
538                REKLAMADataSet.VIEW_KOREKTYRow f = (REKLAMADataSet.VIEW_KOREKTYRow)row.Row;
539
540                ZamowieniaForm zf = new ZamowieniaForm(f.CustomerId,f.idZamowienia);
541                zf.ShowDialog();
542            }
543        }
544    }
545}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.