diff --git a/SDL/Resources/Kostenkalkulation_AG.xlsx b/SDL/Resources/Kostenkalkulation_AG.xlsx new file mode 100644 index 00000000..6d7d3767 Binary files /dev/null and b/SDL/Resources/Kostenkalkulation_AG.xlsx differ diff --git a/SDL/Resources/Kostenkalkulation_CS.xlsx b/SDL/Resources/Kostenkalkulation_CS.xlsx new file mode 100644 index 00000000..aad95ed4 Binary files /dev/null and b/SDL/Resources/Kostenkalkulation_CS.xlsx differ diff --git a/SDL/Resources/Kostenkalkulation_IMEX.xlsx b/SDL/Resources/Kostenkalkulation_IMEX.xlsx new file mode 100644 index 00000000..371f7e62 Binary files /dev/null and b/SDL/Resources/Kostenkalkulation_IMEX.xlsx differ diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index efc5ca26..4ad06591 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -4551,7 +4551,9 @@ Always - + + + Always diff --git a/SDL/kunden/usrCntlOfferte.vb b/SDL/kunden/usrCntlOfferte.vb index 44784183..dab8fcb1 100644 --- a/SDL/kunden/usrCntlOfferte.vb +++ b/SDL/kunden/usrCntlOfferte.vb @@ -1,6 +1,7 @@  Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN.TESTJSON Public Class usrCntlOfferte @@ -580,7 +581,7 @@ Public Class usrCntlOfferte Next dgvOfferteDetails.AllowUserToDeleteRows = edit - End If + End If End With @@ -602,16 +603,16 @@ Public Class usrCntlOfferte .Columns.Clear() OFFERTEBind = New cEasyBinding(BIND_DB) - OFFERTEBind.initBinding(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],BerechnungsartPosInkludiert,[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung],KundenNr,OffertenNr " & - " FROM [tblOffertenpositionenArchiv] " & - " WHERE OfId='" & OffertenId & "' ORDER BY LeistungsNr, Preis DESC", "tblOffertenpositionenArchiv") + OFFERTEBind.initBinding(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],BerechnungsartPosInkludiert,[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung],KundenNr,OffertenNr " & + " FROM [tblOffertenpositionenArchiv] " & + " WHERE OfId='" & OffertenId & "' ORDER BY LeistungsNr, Preis DESC", "tblOffertenpositionenArchiv") - .DataSource = OFFERTEBind.bindingdataTable + .DataSource = OFFERTEBind.bindingdataTable - FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Berechnungsart", "BerechnungsartNr", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150) + FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Berechnungsart", "BerechnungsartNr", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150) FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250) @@ -664,9 +665,9 @@ Public Class usrCntlOfferte dgvOfferteNew.Enabled = False - currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferteNew.SelectedRows(0).Cells("OffertenNr").Value, False) - Dim orgDataTable As DataTable = dgvOfferteDetails.DataSource - tmpDataTable = orgDataTable.Copy + currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferteNew.SelectedRows(0).Cells("OffertenNr").Value, False) + Dim orgDataTable As DataTable = dgvOfferteDetails.DataSource + tmpDataTable = orgDataTable.Copy Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) @@ -816,9 +817,16 @@ Public Class usrCntlOfferte If True Then + + + Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(kdNr) + Dim ADR As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNr) + Dim FIRMA_TMP = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(KD.FilialenNr) + + Dim sqlKostenkalk = " Select OffertenNr, isnull(LeistungsNr,'') as LeistungsNr,isnull(LeistungsBez,'' ) as LeistungsBez,isnull(Preis,'') as Preis,isnull([Geändert am],[Eingegeben am]) as Datum FROM [VERAG].[dbo].[Offertenpositionen] where KundenNr = " & kdNr & " and OffertenNr in (38, 1) and LeistungsNr in (340, 324, 348, 440) - order by cast([Eingegeben am] as date) desc, LeistungsNr, Preis desc" + order by Preis desc" Dim dtKostenkalk As DataTable = (New SQL).loadDgvBySql(sqlKostenkalk, "FMZOLL") @@ -840,15 +848,32 @@ Public Class usrCntlOfferte Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet exclApp = CreateObject("Excel.Application") + Dim ExcelBez = "Kostenkalkulation" + + Select Case FIRMA_TMP + Case "IMEX" : ExcelBez &= "_IMEX " + Case "VERAG" : ExcelBez &= "_AG " + Case Else : ExcelBez &= " " + End Select + + With exclApp .Visible = False Try - Path = sPath & "Kostenkalkulation " & kdNr & " .xlsx" + Path = sPath & ExcelBez & kdNr & " .xlsx" While System.IO.File.Exists(Path) - Path = sPath & "Kostenkalkulation " & kdNr & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" + Path = sPath & ExcelBez & kdNr & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" End While - My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False) + + Select Case FIRMA_TMP + Case "IMEX" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_IMEX, False) + Case "VERAG" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_AG, False) + Case Else : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False) + End Select + + + Catch ex As System.Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) Me.Cursor = Cursors.Default @@ -859,8 +884,6 @@ Public Class usrCntlOfferte Datei = .Workbooks.Open(Path) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen - Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(kdNr) - Dim ADR As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNr) Blatt.Range("B8").Value = ADR.Name_1 Blatt.Range("B9").Value = ADR.AdressenNr @@ -869,13 +892,15 @@ Public Class usrCntlOfferte Dim currentRow As Integer = 13 + Dim DatumDerZollabf As String = SQL.getValueTxtBySql("select top(1) isnull([Geändert am],[Eingegeben am]) as Datum FROM [VERAG].[dbo].[Offertenpositionen] where KundenNr = 704150 and OffertenNr in (38, 1) and LeistungsNr in (340, 324, 348, 440) order by Preis desc", "FMZOLL") + For Each row In dtKostenkalk.Rows Blatt.Range("A" & currentRow).Value = row("LeistungsBez") Blatt.Range("B" & currentRow).Value = row("Preis") - If IsDate(row("Datum")) Then + If IsDate(DatumDerZollabf) Then - Select Case CDate(row("Datum")).Year + Select Case CDate(DatumDerZollabf).Year 'Berechnungssätze laut Johanna Luxbauer Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3387 Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3048