From 6e3e35ac70d1093cf9977a02272f224e32b9e463 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Sun, 31 May 2020 22:26:21 +0200 Subject: [PATCH] neu --- DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb | 2 +- .../DAKOSY/ATLAS/NCTS/cDakosyNCTSOut.vb | 2 +- DAKOSY_Worker/cZOLL_IMPORT.vb | 317 ++++++-- TELOTEK_Worker_lib/TELOTEC/vifDec.Designer.vb | 734 +++++++++++++++++- TELOTEK_Worker_lib/TELOTEC/vifDec.xsd | 60 +- TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj | 1 + TELOTEK_Worker_lib/cTC_Functions.vb | 425 ++++++++++ TELOTEK_Worker_lib/cTelokec.vb | 350 ++++++++- UID/ADMIN.vbproj | 3 + UID/Dienstplan/frmDienstplan.vb | 12 +- UID/Dienstplan/frmDienstplanATILLA.vb | 9 +- UID/Dienstplan/frmDienstplanVariabel.vb | 62 +- UID/Dienstplan/frmDiestAddMa.Designer.vb | 33 +- UID/Dienstplan/frmDiestAddMa.vb | 36 +- .../usrCntlAuswertungWocheAuslastung.vb | 7 +- UID/Dienstplan/usrCntlDienstplan.vb | 4 +- UID/Dienstplan/usrcntlDienstplanStunden.vb | 7 +- UID/Mitarbeiter/frmMitarbDetails.Designer.vb | 149 ++-- UID/Mitarbeiter/frmMitarbDetails.vb | 15 + UID/My Project/Resources.Designer.vb | 2 +- UID/My Project/Resources.resx | 2 +- .../Dienstplan Variabel Monat AMBAR.xlsx | Bin 0 -> 35408 bytes .../Dienstplan Variabel Monat IMEX.xlsx | Bin 23437 -> 23527 bytes UID/Resources/Dienstplan Variabel Monat.xlsx | Bin 23360 -> 23373 bytes UID/cClasses.vb | 91 ++- UID/cProgramFunctions.vb | 9 +- UID/cSqlDb.vb | 36 +- UID/frmLogin.vb | 8 +- UID/usrctlProcedures.vb | 12 +- cNCTSPartnerWorker/cNCTS_TR.vb | 15 + .../EZollAufschubEinlesen.vb | 110 +-- .../frmDYNachrichtenVerarbeitung.Designer.vb | 28 +- .../frmDYNachrichtenVerarbeitung.vb | 4 +- .../frmMDMNachrichtenVerarbeitung.vb | 3 +- .../frmStartOptions.Designer.vb | 111 +-- initATLASAufschubkonten/frmStartOptions.vb | 4 +- .../frmTCNachrichtenVerarbeitung.vb | 61 +- 37 files changed, 2287 insertions(+), 437 deletions(-) create mode 100644 TELOTEK_Worker_lib/cTC_Functions.vb create mode 100644 UID/Resources/Dienstplan Variabel Monat AMBAR.xlsx diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb index cd911cc..9662c87 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb @@ -484,7 +484,7 @@ Public Class cDakosyEZA list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Status_KEWILL_Equivalent", status, , True)) eza_Status = status eza_Status_KEWILL_Equivalent = status - Return SQL.doSQLVarList(" UPDATE [tblDakosy_eza] SET eza_Status=@eza_Status WHERE eza_Id=@eza_Id ", "FMZOLL", , list) + Return SQL.doSQLVarList(" UPDATE [tblDakosy_eza] SET eza_Status_KEWILL_Equivalent=@eza_Status_KEWILL_Equivalent,eza_Status=@eza_Status WHERE eza_Id=@eza_Id ", "FMZOLL", , list) Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut.vb b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut.vb index 00f3c0e..73bf239 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut.vb @@ -549,7 +549,7 @@ Public Class cDakosyNCTSOut list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", status, , True)) ncts_Status = status ncts_Status_KEWILL_Equivalent = status - Return SQL.doSQLVarList(" UPDATE [tblDakosy_NCTSOut] SET ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list) + Return SQL.doSQLVarList(" UPDATE [tblDakosy_NCTSOut] SET ncts_Status_KEWILL_Equivalent=@ncts_Status_KEWILL_Equivalent,ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list) Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) diff --git a/DAKOSY_Worker/cZOLL_IMPORT.vb b/DAKOSY_Worker/cZOLL_IMPORT.vb index c042973..d2eb2c0 100644 --- a/DAKOSY_Worker/cZOLL_IMPORT.vb +++ b/DAKOSY_Worker/cZOLL_IMPORT.vb @@ -31,74 +31,229 @@ Public Class cZOLL_IMPORT End Function Function countSpedbuchEntrysTC_EZA(filiale, BezugsNr) As Integer - If If(BezugsNr, "") = "" Then Return 0 - Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrEZA]='" & BezugsNr & "'", "FMZOLL") + If If(BezugsNr, "") = "" Then Return -1 + Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrEZA]='" & BezugsNr & "'", "FMZOLL",, 0) End Function Function countSpedbuchEntrysTC_NCTS(filiale, BezugsNr) As Integer - If If(BezugsNr, "") = "" Then Return 0 - Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrNCTS]='" & BezugsNr & "'", "FMZOLL") + If If(BezugsNr, "") = "" Then Return -1 + Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrNCTS]='" & BezugsNr & "'", "FMZOLL",, 0) End Function + Function countSpedbuchEntrys_AbfertigungsNr(filiale, AbfertigungsNr) As Integer + If If(AbfertigungsNr, "") = "" Then Return -1 + Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AbfertigungsNr]='" & AbfertigungsNr & "'", "FMZOLL",, 0) + End Function + Public Function TelotecImport(TC As TELOTEC_Worker.cTelotec_Anmeldung) As Boolean 'Function insertIntoSpedBuch() As Boolean Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch - If True Then ' If(Me.telanm_firma, "") = "IMEX" Then - If countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 Then - SPEDBUCH.FilialenNr = 5501 - SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) - SPEDBUCH.NewUNTER_NR() - SPEDBUCH.Zollsystem = "T" - SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString - SPEDBUCH.Sachbearbeiter = "AUTO" + Dim AbfertigungsNr = getAbfertigungsnummer(TC.telanm_BezugsNr) - Dim notfound = False + If AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(5501, AbfertigungsNr) = 0 Then + SPEDBUCH.FilialenNr = 5501 + ' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) + SPEDBUCH.AbfertigungsNr = AbfertigungsNr + SPEDBUCH.NewUNTER_NR() - Dim art = "" - Select Case TC.telanm_ART - Case "NCTS", "T1", "T2", "T2L" : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr - Case Else : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr - End Select + SPEDBUCH.Zollsystem = "T" + SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString + SPEDBUCH.Sachbearbeiter = "AUTO" - Dim PosAnzahl = 0 - ' TELOTECDatenbereitstellung(SPEDBUCH, Me.telanm_BezugsNr, notfound, art, PosAnzahl) - SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 2, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True) + Dim notfound = False + + Dim art = "" + Select Case TC.telanm_ART + Case "NCTS", "T1", "T2", "T2L" : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr + Case "EUA", "EZA" : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr + ' Case Else : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr + End Select + + Dim PosAnzahl = 0 + ' TELOTECDatenbereitstellung(SPEDBUCH, Me.telanm_BezugsNr, notfound, art, PosAnzahl) + SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 2, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True) - If Not notfound Then - Return SPEDBUCH.SAVE - Else - Return False - End If - End If - - If TC.telanm_SendungsId IsNot Nothing Then - - Else - Return False 'Ohne Sendungsverweis kein eintrag... - End If - - Return SPEDBUCH.SAVE - Else - If False Then 'NOCH NCIHT.... - - If TC.telanm_SendungsId IsNot Nothing Then - - Else - Return False 'Ohne Sendungsverweis kein eintrag... - End If - + If Not notfound Then Return SPEDBUCH.SAVE + Else + Return False End If End If - Return False - ' End Function - ' + Return False 'Ohne Sendungsverweis kein eintrag... + End Function + + + Public Sub insertAbgabenTELOTEC(TC As TELOTEC_Worker.cTelotec_Anmeldung) + ' MsgBox("aso") + If TC.ABGABEN IsNot Nothing Then + 'MsgBox(TC.ABGABEN.Count) + For Each ABG In TC.ABGABEN + If ABG IsNot Nothing AndAlso ABG.Amnt > 0 Then + ' MsgBox(ABG.Amnt) + Dim ABGABEN As New VERAG_PROG_ALLGEMEIN.cAbgaben(TC.telanm_CRN, ABG.Ty, ABG.Amnt) + If Not ABGABEN.hasEntry Then + Dim LeistungsNr = "" + Dim LeistungsBez = "" + + Dim saveAbgaben = True + Select Case ABG.Ty + Case "2EU", "2IG", "5EU" ' "2PE", + LeistungsNr = "20" + Case "B00" 'EUST + LeistungsNr = "20" + ABGABEN.Status = "A" 'AUSGEBUCHT + Case "5EV" '"5EV"--> EV-KONTO!! + saveAbgaben = False + Case "2DU", "5DU", "5ZO", "5ZZ", "A20", "A30", "A35", "A40", "A45", "C00", "C10", "A00" + LeistungsNr = "76" + Case Else '1BD,0ML, 0PB, 0PG, 0PS, 1LG, 1ZN, 2AS, 2KO, 2RB, 2SB, 2SI, 2VF, 2VS, 5SI, 5VS, 6AK, 6BE, 6MS, 6SS, 6TS, 6ZW, 9EA, D00,D10,E00 + LeistungsNr = "482" + LeistungsBez = getLeistungsBez(ABG.Ty) + End Select + If saveAbgaben Then + + ABGABEN.Belegart = ABG.Ty + ABGABEN.Betrag = CDbl(ABG.Amnt) + ABGABEN.Status = Nothing + ABGABEN.LeistungsNr = LeistungsNr + ABGABEN.Bezugsnummer = TC.telanm_BezugsNr + ABGABEN.Registriernummer = TC.telanm_CRN + ' ABGABEN.AOFD = A.KennBuchstabenAufschub + ABGABEN.AKTO = TC.Hea_DefPayRef '"3027279" 'd1.Abgabenkonto 'IMEX--> FIX!!! + 'ABGABEN.Fälligkeitsdatum = A.Faelligkeit + ' ABGABEN.Mandant = "VERG" + ABGABEN.Niederlassung = TC.Bereich_ID + ABGABEN.Abfertigungsdatum = ABG.Erstelldatum + ABGABEN.Übernahmedatum = ABG.Erstelldatum + ABGABEN.Eingabedatum = Now.ToShortDateString + ABGABEN.Sachbearbeiter = "AUTO" + ABGABEN.LeistungsBez = LeistungsBez + If If(ABGABEN.Bezugsnummer, "").ToString.Length > 35 Then ABGABEN.Bezugsnummer = ABGABEN.Bezugsnummer.ToString.Substring(0, 35) + If If(ABGABEN.Registriernummer, "").ToString.Length > 21 Then ABGABEN.Registriernummer = ABGABEN.Registriernummer.ToString.Substring(0, 21) + + Dim errHInweis = "ATC: " & ABGABEN.Registriernummer & " - BezugsNr: " & ABGABEN.Bezugsnummer + ABGABEN.SAVE(errHInweis) + End If + End If + End If + + Next + End If + End Sub + + Shared Function getLeistungsBez(LeistungsBez) + Select Case LeistungsBez + Case "0ML" + getLeistungsBez = "Altlastenbeitrag" + Case "0PB" + getLeistungsBez = "Punzierungskontrollgeb. Platin" + Case "0PG" + getLeistungsBez = "Punzierungskontrollgebühr Gold" + Case "0PS" + getLeistungsBez = "Punzierungskontrollgeb. Silber" + Case "1BD" + getLeistungsBez = "Bemessungsdatum" + Case "1LG" + getLeistungsBez = "Lagergeld gemäß §104 ZollR-DG" + Case "1ZK" + getLeistungsBez = "Kreditzinsen, Säumniszinsen" + Case "1ZN" + getLeistungsBez = "Nebenansprüche" + Case "2AS" + getLeistungsBez = "Agrarsicherheiten" + Case "2DU" + getLeistungsBez = "Antidumping-Sicherheit" + Case "2EU" + getLeistungsBez = "EUSt-Sicherheit" + Case "2IG" + getLeistungsBez = "Sicherheit EUSt ig. Lieferung" + Case "2KO" + getLeistungsBez = "Sicherheit für Kontingent" + Case "2PE" + getLeistungsBez = "Sicherheit bei Einfuhrwerten" + Case "2RB" + getLeistungsBez = "Sicherheit Bürgerschaft" + Case "2SB" + getLeistungsBez = "Summe der befreiten Sicherheit" + Case "2SI" + getLeistungsBez = "Sicherheit Geldbetragerlag" + Case "2VF" + getLeistungsBez = "Sicherheit bei Verifizierung" + Case "2VS" + getLeistungsBez = "Summe der vorg. Sicherheit" + Case "2ZG" + getLeistungsBez = "Zusatzzoll Geflügel" + Case "2ZZ" + getLeistungsBez = "Zusatzzoll Zucker" + Case "2ZZ" + getLeistungsBez = "Zusatzzoll 2ZZ" + Case "5DU" + getLeistungsBez = "Antidumping-und Ausgleichszoll" + Case "5EU" + getLeistungsBez = "Einfuhrumsatzsteuer" + Case "5EV" + getLeistungsBez = "EUSt gem. §26 Abs. 3Z.2UStG" + Case "5SI" + getLeistungsBez = "Agrarsicherheit" + Case "5VS" + getLeistungsBez = "Verbrauchsteuern" + Case "5ZO" + getLeistungsBez = "Zoll 5ZO" + Case "5ZZ" + getLeistungsBez = "Zusatzzoll 5ZZ" + Case "6AK" + getLeistungsBez = "Alkoholsteuer" + Case "6BE" + getLeistungsBez = "Biersteuer" + Case "6MS" + getLeistungsBez = "Mineralölsteuer" + Case "6SS" + getLeistungsBez = "Schaumweinsteuer" + Case "6TS" + getLeistungsBez = "Tabaksteuer" + Case "6ZW" + getLeistungsBez = "Zwischenerzeugnissteuer" + Case "9EA" + getLeistungsBez = "Summe Gesamtabgaben" + Case "A00" + getLeistungsBez = "Zölle auf gewerbliche Waren" + Case "A00" + getLeistungsBez = "Zollabgaben" + Case "A10" + getLeistungsBez = "Zölle landwirt. Erzeugnisse" + Case "A20" + getLeistungsBez = "Zusatzzölle" + Case "A30" + getLeistungsBez = "endgültige Antidumpingzölle" + Case "A35" + getLeistungsBez = "vorläufige Antidumpingzölle" + Case "A40" + getLeistungsBez = "endgültiger Ausgleichszoll" + Case "A45" + getLeistungsBez = "vorläufiger Ausgleichszoll" + Case "B00" + getLeistungsBez = "Einfuhrumsatzsteuer(EUSt)" + Case "B10" + getLeistungsBez = "Ausgleichszinsen(EUSt)" + Case "C00" + getLeistungsBez = "Ausfuhrabgaben" + Case "C10" + getLeistungsBez = "Ausfuhrabg. landwirt. Erzeug." + Case "D00" + getLeistungsBez = "Verzugszinsen" + Case "D10" + getLeistungsBez = "Ausgleichszinsen" + Case "E00" + getLeistungsBez = "Abgaben anderer Länder" + Case Else + getLeistungsBez = "" + End Select End Function @@ -380,36 +535,7 @@ Public Class cZOLL_IMPORT Dim FindPOS = SENDUNG.ABRECHNUNG.Find(Function(x) x.sndabr_beteiligter = "AUFTR" And x.sndabr_wert = "ERSTATTUNG") If FindPOS IsNot Nothing Then SPEDITIONSBUCH.AuftraggeberBetragKassiert = If(FindPOS.sndabr_preis, 0) - Try - - Dim dt As DataTable = KDSQL.loadDgvBySql("SELECT * FROM ( " & - " SELECT rksv_BelegId, isnull(rksv_umsatz ,0) as rksv_umsatz, isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where b.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and b.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 " & - " UNION " & - " SELECT rksv_BelegId , sum(p.Betrag) as rksv_umsatz,isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where p.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and p.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 group by rksv_BelegId,b.Benutzer " & - " ) as Tb order by rksv_BelegId", "FMZOLL") - Dim BenutzerTmp = "" - Dim BelegNrTmp = "" - Dim BetragTmp As Double = 0 - - If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then - - For Each r In dt.Rows - If BenutzerTmp = "" Then BenutzerTmp = r("Benutzer") - If r("Benutzer") <> BenutzerTmp Then BenutzerTmp = "Div.Benutzer" - If (IsNumeric(r("rksv_umsatz"))) Then BetragTmp += r("rksv_umsatz") - BelegNrTmp &= r("rksv_BelegId") & "," - Next - BenutzerTmp = getBenutzerShort(BenutzerTmp) - If BelegNrTmp.EndsWith(",") Then BelegNrTmp = BelegNrTmp.Substring(0, BelegNrTmp.Length - 1) - SPEDITIONSBUCH.Bar = True - - If SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & BenutzerTmp & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & BelegNrTmp & "/" & BetragTmp - If SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = BetragTmp - - End If - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "BAR-Err: Beträge konnten nicht geladen werden!", "al@verag.ag", "al@verag.ag") - End Try + SetBarKassiert(SPEDITIONSBUCH) 'If If(SENDUNG.tblSnd_bar, False) Then 'SPEDITIONSBUCH.Bar = True @@ -584,6 +710,43 @@ Public Class cZOLL_IMPORT Return SPEDITIONSBUCH End Function + + Shared Sub SetBarKassiert(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) + Try + + Dim KDSQL As New SQL + Dim dt As DataTable = KDSQL.loadDgvBySql("SELECT * FROM ( " & + " SELECT rksv_BelegId, isnull(rksv_umsatz ,0) as rksv_umsatz, isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where b.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and b.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 " & + " UNION " & + " SELECT rksv_BelegId , sum(p.Betrag) as rksv_umsatz,isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where p.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and p.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 group by rksv_BelegId,b.Benutzer " & + " ) as Tb order by rksv_BelegId", "FMZOLL") + Dim BenutzerTmp = "" + Dim BelegNrTmp = "" + Dim BetragTmp As Double = 0 + + If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + + For Each r In dt.Rows + If BenutzerTmp = "" Then BenutzerTmp = r("Benutzer") + If r("Benutzer") <> BenutzerTmp Then BenutzerTmp = "Div.Benutzer" + If (IsNumeric(r("rksv_umsatz"))) Then BetragTmp += r("rksv_umsatz") + BelegNrTmp &= r("rksv_BelegId") & "," + Next + BenutzerTmp = getBenutzerShort(BenutzerTmp) + If BelegNrTmp.EndsWith(",") Then BelegNrTmp = BelegNrTmp.Substring(0, BelegNrTmp.Length - 1) + SPEDITIONSBUCH.Bar = True + + If SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & BenutzerTmp & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & BelegNrTmp & "/" & BetragTmp + If SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = BetragTmp + + End If + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "BAR-Err: Beträge konnten nicht geladen werden!", "al@verag.ag", "al@verag.ag") + End Try + + End Sub + + Shared Function getBenutzerShort(s As String) As String If s.ToString.Contains(" ") Then Dim split() = s.ToString.Split(" ") diff --git a/TELOTEK_Worker_lib/TELOTEC/vifDec.Designer.vb b/TELOTEK_Worker_lib/TELOTEC/vifDec.Designer.vb index 70c69e4..58072d9 100644 --- a/TELOTEK_Worker_lib/TELOTEC/vifDec.Designer.vb +++ b/TELOTEK_Worker_lib/TELOTEC/vifDec.Designer.vb @@ -1,6 +1,6 @@ '' ------------------------------------------------------------------------------ '' -'' Generated by Xsd2Code++. Version 4.4.0.7 +'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com '' vifDecListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse '' '' ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ Namespace vifDec System.SerializableAttribute(), System.Diagnostics.DebuggerStepThroughAttribute(), System.ComponentModel.DesignerCategoryAttribute("code"), - System.Xml.Serialization.XmlRootAttribute("interfaceData", [Namespace]:="", IsNullable:=False)> + System.Xml.Serialization.XmlRootAttribute("interfaceData", [Namespace]:="", IsNullable:=True)> Partial Public Class InterfaceDataType #Region "Private fields" - Private _interfaceType As InterfaceDataTypeInterfaceType + Private _interfaceType As String Private _vifDec As List(Of vifDec) @@ -37,7 +37,7 @@ Namespace vifDec Me._vifDec = New List(Of vifDec)() End Sub - Public Property interfaceType() As InterfaceDataTypeInterfaceType + Public Property interfaceType() As String Get Return Me._interfaceType End Get @@ -211,15 +211,6 @@ Namespace vifDec End Function End Class - - Public Enum InterfaceDataTypeInterfaceType - - ''' - vifDec - End Enum - + Public Property CarrTra_Na() As String + Get + Return Me._carrTra_Na + End Get + Set + Me._carrTra_Na = Value + End Set + End Property + + + Public Property CarrTra_Strt() As String + Get + Return Me._carrTra_Strt + End Get + Set + Me._carrTra_Strt = Value + End Set + End Property + + + Public Property CarrTra_Pst() As String + Get + Return Me._carrTra_Pst + End Get + Set + Me._carrTra_Pst = Value + End Set + End Property + + + Public Property CarrTra_Cty() As String + Get + Return Me._carrTra_Cty + End Get + Set + Me._carrTra_Cty = Value + End Set + End Property + + + Public Property CarrTra_Ctry() As String + Get + Return Me._carrTra_Ctry + End Get + Set + Me._carrTra_Ctry = Value + End Set + End Property + + + Public Property CarrTra_TIN() As String + Get + Return Me._carrTra_TIN + End Get + Set + Me._carrTra_TIN = Value + End Set + End Property + Public Property vifDecAdjust() As List(Of vifDecAdjust) Get @@ -1733,6 +1799,16 @@ Namespace vifDec End Set End Property + + Public Property vifDecTotDuties() As List(Of vifDecTotDuties) + Get + Return Me._vifDecTotDuties + End Get + Set + Me._vifDecTotDuties = Value + End Set + End Property + Private Shared ReadOnly Property Serializer() As XmlSerializer Get If (sSerializer Is Nothing) Then @@ -2228,6 +2304,274 @@ Namespace vifDec End Function End Class + + Partial Public Class vifDecTotDuties + +#Region "Private fields" + Private _mandant_ID As String + + Private _bereich_ID As String + + Private _referenz_ID As String + + Private _comIndicator As Byte + + Private _totDuties_ID As Integer + + Private _ty As String + + Private _amnt As System.Nullable(Of Double) + + Private _tyInd As String + + Private _erstelldatum As System.Nullable(Of Date) + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Mandant_ID() As String + Get + Return Me._mandant_ID + End Get + Set + Me._mandant_ID = Value + End Set + End Property + + Public Property Bereich_ID() As String + Get + Return Me._bereich_ID + End Get + Set + Me._bereich_ID = Value + End Set + End Property + + Public Property Referenz_ID() As String + Get + Return Me._referenz_ID + End Get + Set + Me._referenz_ID = Value + End Set + End Property + + Public Property ComIndicator() As Byte + Get + Return Me._comIndicator + End Get + Set + Me._comIndicator = Value + End Set + End Property + + Public Property TotDuties_ID() As Integer + Get + Return Me._totDuties_ID + End Get + Set + Me._totDuties_ID = Value + End Set + End Property + + + Public Property Ty() As String + Get + Return Me._ty + End Get + Set + Me._ty = Value + End Set + End Property + + + Public Property Amnt() As System.Nullable(Of Double) + Get + Return Me._amnt + End Get + Set + Me._amnt = Value + End Set + End Property + + + Public Property TyInd() As String + Get + Return Me._tyInd + End Get + Set + Me._tyInd = Value + End Set + End Property + + + Public Property Erstelldatum() As System.Nullable(Of Date) + Get + Return Me._erstelldatum + End Get + Set + Me._erstelldatum = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(vifDecTotDuties)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current vifDecTotDuties object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an vifDecTotDuties object + ''' + ''' string workflow markup to deserialize + ''' Output vifDecTotDuties object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As vifDecTotDuties, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, vifDecTotDuties) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As vifDecTotDuties) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As vifDecTotDuties + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), vifDecTotDuties) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As vifDecTotDuties + Return CType(Serializer.Deserialize(s), vifDecTotDuties) + End Function +#End Region + + ''' + ''' Serializes current vifDecTotDuties object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an vifDecTotDuties object + ''' + ''' string xml file to load and deserialize + ''' Output vifDecTotDuties object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As vifDecTotDuties, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, vifDecTotDuties) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As vifDecTotDuties) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As vifDecTotDuties + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + Partial Public Class vifDecDutyCalc + +#Region "Private fields" + Private _mandant_ID As String + + Private _bereich_ID As String + + Private _referenz_ID As String + + Private _comIndicator As Byte + + Private _pos_ID As Integer + + Private _dutyCalc_ID As Integer + + Private _ty As String + + Private _baseD As System.Nullable(Of Date) + + Private _curr As String + + Private _unit As String + + Private _base As System.Nullable(Of Double) + + Private _rate As String + + Private _rateUsed As String + + Private _amnt As System.Nullable(Of Double) + + Private _meaID As System.Nullable(Of Integer) + + Private _tyInd As String + + Private Shared sSerializer As XmlSerializer +#End Region + + Public Property Mandant_ID() As String + Get + Return Me._mandant_ID + End Get + Set + Me._mandant_ID = Value + End Set + End Property + + Public Property Bereich_ID() As String + Get + Return Me._bereich_ID + End Get + Set + Me._bereich_ID = Value + End Set + End Property + + Public Property Referenz_ID() As String + Get + Return Me._referenz_ID + End Get + Set + Me._referenz_ID = Value + End Set + End Property + + Public Property ComIndicator() As Byte + Get + Return Me._comIndicator + End Get + Set + Me._comIndicator = Value + End Set + End Property + + Public Property Pos_ID() As Integer + Get + Return Me._pos_ID + End Get + Set + Me._pos_ID = Value + End Set + End Property + + Public Property DutyCalc_ID() As Integer + Get + Return Me._dutyCalc_ID + End Get + Set + Me._dutyCalc_ID = Value + End Set + End Property + + + Public Property Ty() As String + Get + Return Me._ty + End Get + Set + Me._ty = Value + End Set + End Property + + + Public Property BaseD() As System.Nullable(Of Date) + Get + Return Me._baseD + End Get + Set + Me._baseD = Value + End Set + End Property + + + Public Property Curr() As String + Get + Return Me._curr + End Get + Set + Me._curr = Value + End Set + End Property + + + Public Property Unit() As String + Get + Return Me._unit + End Get + Set + Me._unit = Value + End Set + End Property + + + Public Property Base() As System.Nullable(Of Double) + Get + Return Me._base + End Get + Set + Me._base = Value + End Set + End Property + + + Public Property Rate() As String + Get + Return Me._rate + End Get + Set + Me._rate = Value + End Set + End Property + + + Public Property RateUsed() As String + Get + Return Me._rateUsed + End Get + Set + Me._rateUsed = Value + End Set + End Property + + + Public Property Amnt() As System.Nullable(Of Double) + Get + Return Me._amnt + End Get + Set + Me._amnt = Value + End Set + End Property + + + Public Property MeaID() As System.Nullable(Of Integer) + Get + Return Me._meaID + End Get + Set + Me._meaID = Value + End Set + End Property + + + Public Property TyInd() As String + Get + Return Me._tyInd + End Get + Set + Me._tyInd = Value + End Set + End Property + + Private Shared ReadOnly Property Serializer() As XmlSerializer + Get + If (sSerializer Is Nothing) Then + sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(vifDecDutyCalc)) + End If + Return sSerializer + End Get + End Property + +#Region "Serialize/Deserialize" + ''' + ''' Serializes current vifDecDutyCalc object into an XML string + ''' + ''' string XML value + Public Overridable Function Serialize() As String + Dim streamReader As System.IO.StreamReader = Nothing + Dim memoryStream As System.IO.MemoryStream = Nothing + Try + memoryStream = New System.IO.MemoryStream() + Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings() + xmlWriterSettings.Indent = True + xmlWriterSettings.IndentChars = " " + Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings) + Serializer.Serialize(xmlWriter, Me) + memoryStream.Seek(0, SeekOrigin.Begin) + streamReader = New System.IO.StreamReader(memoryStream) + Return streamReader.ReadToEnd + Finally + If (Not (streamReader) Is Nothing) Then + streamReader.Dispose() + End If + If (Not (memoryStream) Is Nothing) Then + memoryStream.Dispose() + End If + End Try + End Function + + ''' + ''' Deserializes workflow markup into an vifDecDutyCalc object + ''' + ''' string workflow markup to deserialize + ''' Output vifDecDutyCalc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As vifDecDutyCalc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, vifDecDutyCalc) + Try + obj = Deserialize(input) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As vifDecDutyCalc) As Boolean + Dim exception As System.Exception = Nothing + Return Deserialize(input, obj, exception) + End Function + + Public Overloads Shared Function Deserialize(ByVal input As String) As vifDecDutyCalc + Dim stringReader As System.IO.StringReader = Nothing + Try + stringReader = New System.IO.StringReader(input) + Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), vifDecDutyCalc) + Finally + If (Not (stringReader) Is Nothing) Then + stringReader.Dispose() + End If + End Try + End Function + + Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As vifDecDutyCalc + Return CType(Serializer.Deserialize(s), vifDecDutyCalc) + End Function +#End Region + + ''' + ''' Serializes current vifDecDutyCalc object into file + ''' + ''' full path of outupt xml file + ''' output Exception value if failed + ''' true if can serialize and save into file; otherwise, false + Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean + exception = Nothing + Try + SaveToFile(fileName) + Return True + Catch e As System.Exception + exception = e + Return False + End Try + End Function + + Public Overridable Overloads Sub SaveToFile(ByVal fileName As String) + Dim streamWriter As System.IO.StreamWriter = Nothing + Try + Dim xmlString As String = Serialize() + Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName) + streamWriter = xmlFile.CreateText + streamWriter.WriteLine(xmlString) + streamWriter.Close() + Finally + If (Not (streamWriter) Is Nothing) Then + streamWriter.Dispose() + End If + End Try + End Sub + + ''' + ''' Deserializes xml markup from file into an vifDecDutyCalc object + ''' + ''' string xml file to load and deserialize + ''' Output vifDecDutyCalc object + ''' output Exception value if deserialize failed + ''' true if this Serializer can deserialize the object; otherwise, false + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As vifDecDutyCalc, ByRef exception As System.Exception) As Boolean + exception = Nothing + obj = CType(Nothing, vifDecDutyCalc) + Try + obj = LoadFromFile(fileName) + Return True + Catch ex As System.Exception + exception = ex + Return False + End Try + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As vifDecDutyCalc) As Boolean + Dim exception As System.Exception = Nothing + Return LoadFromFile(fileName, obj, exception) + End Function + + Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As vifDecDutyCalc + Dim file As System.IO.FileStream = Nothing + Dim sr As System.IO.StreamReader = Nothing + Try + file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read) + sr = New System.IO.StreamReader(file) + Dim xmlString As String = sr.ReadToEnd + sr.Close() + file.Close() + Return Deserialize(xmlString) + Finally + If (Not (file) Is Nothing) Then + file.Dispose() + End If + If (Not (sr) Is Nothing) Then + sr.Dispose() + End If + End Try + End Function + End Class + + Public Property vifDecDutyCalc() As List(Of vifDecDutyCalc) + Get + Return Me._vifDecDutyCalc + End Get + Set + Me._vifDecDutyCalc = Value + End Set + End Property + Private Shared ReadOnly Property Serializer() As XmlSerializer Get If (sSerializer Is Nothing) Then diff --git a/TELOTEK_Worker_lib/TELOTEC/vifDec.xsd b/TELOTEK_Worker_lib/TELOTEC/vifDec.xsd index ae344e7..716ba82 100644 --- a/TELOTEK_Worker_lib/TELOTEC/vifDec.xsd +++ b/TELOTEK_Worker_lib/TELOTEC/vifDec.xsd @@ -1,16 +1,10 @@  - + - - - - - - - - + + @@ -137,9 +131,16 @@ + + + + + + + @@ -192,6 +193,7 @@ + @@ -276,6 +278,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -292,6 +314,19 @@ + + + + + + + + + + + + + @@ -453,6 +488,13 @@ + + + + + + + diff --git a/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj b/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj index 0531370..7c62f7d 100644 --- a/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj +++ b/TELOTEK_Worker_lib/TELOTEC_Worker_lib.vbproj @@ -65,6 +65,7 @@ + diff --git a/TELOTEK_Worker_lib/cTC_Functions.vb b/TELOTEK_Worker_lib/cTC_Functions.vb new file mode 100644 index 0000000..ae874a5 --- /dev/null +++ b/TELOTEK_Worker_lib/cTC_Functions.vb @@ -0,0 +1,425 @@ +Imports Renci.SshNet +Imports System.IO + +Public Class cTC_Functions + + + Shared Function send_Data_To_TC(file, dySt_BezugsNr, dy_Id, FRIMA_DY) + Try + 'If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZOLL_DakosyZA_Senden", "AVISO") Then + ' MsgBox("Sie haben keine Sendeberechtigung.") + ' Return False + 'End If + + If Not IO.File.Exists(file) Then Return False + Dim fi As New System.IO.FileInfo(file) + Dim UPLOAD_PFAD = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("TELOTEC_PFAD_SEND", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM) + + + Dim destFilenameTMP = UPLOAD_PFAD + "." & If(IO.File.Exists(UPLOAD_PFAD & "." & fi.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & fi.Name + + 'Datei hochladen + IO.File.Copy(file, destFilenameTMP) + ' If IO.File.Exists(destFilenameTMP) Then IO.File.Delete(F) 'Datei nach erfolgreichem Herunterladen vom Server löschen + + 'Gültiger Filename + Dim destFilename = UPLOAD_PFAD & If(IO.File.Exists(UPLOAD_PFAD & fi.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & fi.Name + IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen + + + 'Dim STATUS As New TELOTEC_Worker.cTC_Status + 'STATUS.dySt_BezugsNr = dySt_BezugsNr + 'STATUS.dySt_artMitteilung = "VERAG_SND" + 'STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2 + + 'STATUS.dySt_status = TELOTEC_Worker.cDY_Statusliste.S_03 + ''STATUS.dySt_ergCode = "ANR" + 'STATUS.dySt_ergCode = "SND" + 'STATUS.dySt_ergMitteilung = "An Dakosy gesendet" + 'STATUS.dySt_ergZeitpunkt = Now + + 'STATUS.dySt_dyId = dy_Id + 'STATUS.SAVE() + + Return True + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Return False + End Try + End Function + + 'Shared Function send_Data_To_Dakosy_FTP_file(file, FRIMA_DY, Optional misc = False) + ' Try + ' If Not IO.File.Exists(file) Then Return False + ' Dim F As New System.IO.FileInfo(file) + + ' Dim DY_server = "" + ' Dim DY_name = "" + ' Dim DY_pwd = "" + ' Dim DY_port = "" + ' Dim DY_PFAD_IN = "" + ' Dim DY_PFAD_IN_KD = "" + + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" + ' If FRIMA_DY = "" Then FRIMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + + ' getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD, FRIMA_DY) + + ' Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd)) + ' Using client = New SftpClient(ConnectionInfo) + ' client.Connect() + ' 'client.Create(file, file) + ' If misc Then + ' client.ChangeDirectory(DY_PFAD_IN_KD) 'DY_PFAD_IN.Replace("gebox", "misc")) + ' Else + ' client.ChangeDirectory(DY_PFAD_IN) + ' End If + + ' If IO.File.Exists(file) Then + ' 'MsgBox(file) + ' Using uplfileStream = System.IO.File.OpenRead(file) + ' client.UploadFile(uplfileStream, "." & F.Name, True) + ' client.RenameFile("." & F.Name, F.Name) + ' End Using + ' client.Disconnect() + ' Else + ' MsgBox("Sendedatei nicht gefunden!") + ' End If + + + ' End Using + + ' Return True + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return False + ' End Try + 'End Function + + + + + Shared Function getKDData() As DataTable + Dim sqlstr = "SELECT TOP 999 * " + sqlstr &= " ,(SELECT TOP 1 [Länderverzeichnis für die Außenhandelsstatistik].LandKz AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel" + sqlstr &= " WHERE Währungstabelle.LandKz=[Adressen].LandKz) as LandKzISO2" + sqlstr &= " FROM [Kunden] inner join Adressen on AdressenNr=KundenNr" + sqlstr &= " where DakosyExport Is null And EORITIN Is Not null" + 'sqlstr &= " and KundenNrZentrale=KundenNr " + sqlstr &= " and Auswahl='A' " + sqlstr &= " order by Kunden.[Geändert am] desc" + ' MsgBox(sqlstr) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.loadDgvBySql(sqlstr, "FMZOLL") + End Function + + Shared Function getKDDataByKdNr(KdNR As Integer) As DataTable + Dim sqlstr = "SELECT TOP 1 * " + sqlstr &= " ,(SELECT TOP 1 [Länderverzeichnis für die Außenhandelsstatistik].LandKz AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel" + sqlstr &= " WHERE Währungstabelle.LandKz=[Adressen].LandKz) as LandKzISO2" + sqlstr &= " FROM [Kunden] inner join Adressen on AdressenNr=KundenNr" + sqlstr &= " where " '/*DakosyExport Is null And EORITIN Is Not null */" + sqlstr &= " KundenNr='" & KdNR & "' " + sqlstr &= " order by Kunden.[Geändert am] desc" + ' MsgBox(sqlstr) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.loadDgvBySql(sqlstr, "FMZOLL") + End Function + + + Shared Function updateKdDakosyExportDate(KdNR As Integer) As Boolean + Dim sqlstr = "update [Kunden] SET [DakosyExport]=getDate() WHERE KundenNr='" & KdNR & "' " + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + + + 'Shared Function sendData(Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG") + ' Dim Dakosy_Mandant = "VERG" + ' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' Case "UNISPED" : Dakosy_Mandant = "UNAT" + ' 'Case Else + ' ' Dakosy_Mandant = "VERG" + ' End Select + + ' Dim dt = TELOTEC_Worker.cTC_Functions.getKDData + + ' If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + ' Dim saveFile = "" + ' If TELOTEC_Worker.cTC_Functions.generateVERAGKdData(dt, getDefaultFolder_SEND, saveFile, Dakosy_Mandant) Then + ' If cTC_Functions.send_Data_To_Dakosy_FTP_file(saveFile, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, True) Then + ' For Each ROW As DataRow In dt.Rows + ' updateKdDakosyExportDate(ROW("KundenNr")) + ' Next + ' Return True + ' End If + ' End If + ' End If + ' Return False + 'End Function + + 'Shared Function sendDataByKdNr(KdNr As Integer, Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG") + ' Dim Dakosy_Mandant = "VERG" + ' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' Case "UNISPED" : Dakosy_Mandant = "UNAT" + ' 'Case Else + ' ' Dakosy_Mandant = "VERG" + ' End Select + + ' 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then + ' ' MsgBox("Übertrag derzeit nicht möglich!") + ' ' Return False + ' 'End If + ' Dim dt = TELOTEC_Worker.cTC_Functions.getKDDataByKdNr(KdNr) + + ' If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + ' Dim saveFile = "" + ' If TELOTEC_Worker.cTC_Functions.generateVERAGKdData(dt, getDefaultFolder_SEND, saveFile, Dakosy_Mandant) Then + ' If cTC_Functions.send_Data_To_Dakosy_FTP_file(saveFile, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, True) Then + ' updateKdDakosyExportDate(KdNr) + ' Return True + ' End If + ' End If + ' End If + ' Return False + 'End Function + + Shared Function getDefaultFolder_SEND() As String + Try + getDefaultFolder_SEND = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & "TELOTEC\" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TESTSYSTEM", "ECHTSYSTEM") & "\Ausgang_Kundendaten\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\" ' Path.GetTempPath + If Not IO.Directory.Exists(getDefaultFolder_SEND) Then + IO.Directory.CreateDirectory(getDefaultFolder_SEND) + End If + Catch ex As Exception + Try + getDefaultFolder_SEND = "C:\TEMP\" ' Path.GetTempPath + If Not IO.Directory.Exists(getDefaultFolder_SEND) Then + IO.Directory.CreateDirectory(getDefaultFolder_SEND) + End If + Catch ex2 As Exception + MsgBox(ex2.Message & ex2.StackTrace) + getDefaultFolder_SEND = "" + End Try + End Try + + End Function + + 'Shared Function generateVERAGKdData(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean + ' Return generateVERAGKdData_V2(dt, path, saveFile, Dakosy_Mandant) + ' 'Alle mit V2 + ' '--------------------- + + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then Return generateVERAGKdData_V2(dt, path, saveFile, Dakosy_Mandant) + ' Select Case Dakosy_Mandant + ' Case "UNAT" : Return generateVERAGKdData_V2(dt, path, saveFile, Dakosy_Mandant) + ' Case Else : Return generateVERAGKdData_V1(dt, path, saveFile, Dakosy_Mandant) + ' End Select + 'End Function + + + 'Shared Function generateVERAGKdData_V1(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean + ' Try + + ' Dim Interface_VERSION = "003" + + ' Dim XML As New TELOTEC_Worker.VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORT + + ' For Each ROW As DataRow In dt.Rows + ' Dim KD As New TELOTEC_Worker.VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDaten + ' KD.Dakosy_Mandant = Dakosy_Mandant + ' KD.KundenNr = ROW("KundenNr") + ' KD.EORI = ROW("EORITIN") + ' If ROW("EORITIN_NL") Is DBNull.Value OrElse If(ROW("EORITIN_NL"), "") = "" Then + ' KD.EORI_Niederlassung = "0000" + ' Else + ' KD.EORI_Niederlassung = ROW("EORITIN_NL") + ' End If + ' If ROW("Ordnungsbegriff") IsNot DBNull.Value Then KD.Kurzname = ROW("Ordnungsbegriff") + ' If ROW("Name 1") IsNot DBNull.Value Then KD.Name1 = ROW("Name 1") + + ' If ROW("Name 2") IsNot DBNull.Value Then KD.Name2 = ROW("Name 2") + ' If ROW("UstIdKz") IsNot DBNull.Value And ("UstIdNr") IsNot DBNull.Value Then KD.UID_Nr = ROW("UstIdKz") & ROW("UstIdNr") + + ' KD.Adresse = New TELOTEC_Worker.VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAdresse + ' If ROW("Straße") IsNot DBNull.Value Then KD.Adresse.Strasse = ROW("Straße") + ' If ROW("PLZ") IsNot DBNull.Value Then KD.Adresse.Plz = ROW("PLZ") + ' If ROW("Ort") IsNot DBNull.Value Then KD.Adresse.Ort = ROW("Ort") + ' If ROW("LandKz") IsNot DBNull.Value Then KD.Adresse.LandKz = ROW("LandKzISO2") + + + + + ' KD.Kontakt = New TELOTEC_Worker.VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenKontakt + ' If ROW("E-Mail") IsNot DBNull.Value Then KD.Kontakt.EMail = ROW("E-Mail") + ' If ROW("Telefon") IsNot DBNull.Value Then KD.Kontakt.Tel = ROW("Telefon") + ' If ROW("Telefax") IsNot DBNull.Value Then KD.Kontakt.Fax = ROW("Telefax") + ' If ROW("Ansprechpartner") IsNot DBNull.Value Then KD.Kontakt.Ansprechpartner = If(ROW("Anrede") IsNot DBNull.Value, ROW("Anrede") & " ", "") & ROW("Ansprechpartner") + + + ' Dim KD_AKTO = VERAG_PROG_ALLGEMEIN.cKundenAufschubkonten.LOAD_ListAufschubKTOByKdNr(KD.KundenNr) + + ' If KD_AKTO IsNot Nothing Then + ' Dim AKTOLIST = New List(Of VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAufschub) + + ' For Each KTO In KD_AKTO + ' If If(KTO.kdAkto_bin, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_eori, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_hauptzollamt, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_kontonummer, "").ToString.Trim <> String.Empty Then + + + ' Dim AUFSCH As New TELOTEC_Worker.VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAufschub + ' Select Case KTO.kdAkto_art + ' Case "10" : AUFSCH.Art = VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item10 + ' Case "15" : AUFSCH.Art = VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item15 + ' Case "20" : AUFSCH.Art = VERAG_KundenStamm_Export.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item20 + ' End Select + + ' AUFSCH.BIN = KTO.kdAkto_bin + ' AUFSCH.EORI = KTO.kdAkto_eori + ' If KTO.kdAkto_eoriNL IsNot Nothing Then AUFSCH.EORI_Niederlassung = KTO.kdAkto_eoriNL Else AUFSCH.EORI_Niederlassung = "0000" + ' AUFSCH.Hauptzollamt = KTO.kdAkto_hauptzollamt + ' AUFSCH.KontoNr = KTO.kdAkto_kontonummer + + ' AKTOLIST.Add(AUFSCH) + ' If AKTOLIST.Count = 2 Then Exit For 'max. 2 Aufschub + ' End If + ' Next + ' If AKTOLIST.Count > 0 Then KD.Aufschubkonten = AKTOLIST + ' End If + + ' XML.KundenDaten.Add(KD) + + ' Next + + ' Dim saveDir = path + ' If Not IO.Directory.Exists(saveDir) Then + ' IO.Directory.CreateDirectory(saveDir) + ' End If + ' Dim counter = 1 + ' While IO.File.Exists(saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml") + ' counter += 1 + ' End While + ' saveFile = saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml" + + ' XML.SaveToFile(saveFile) + + ' Return True + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return False + ' End Try + 'End Function + + + 'Shared Function generateVERAGKdData_V2(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean + ' Try + + ' 'Dim Interface_VERSION = "003" + + ' Dim XML As New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORT + + ' Dim TRANS As New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTTransaktion + ' TRANS.Version = "002" + ' TRANS.IOPartner = Dakosy_Mandant + + ' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' Case "IMEX" : TRANS.IODivision1 = "IMEX" + ' Case "UNISPED" : TRANS.IODivision1 = "UNAT" : TRANS.IOPartner = "UNAT" + ' Case "ATILLA" : TRANS.IODivision1 = "ATIL" + ' Case Else + ' TRANS.IODivision1 = "VERG" + ' End Select + ' XML.Transaktion = TRANS + + + ' For Each ROW As DataRow In dt.Rows + ' Dim KD As New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDaten + ' KD.Dakosy_Mandant = Dakosy_Mandant + ' KD.KundenNr = ROW("KundenNr") + ' KD.EORI = ROW("EORITIN") + ' If ROW("EORITIN_NL") Is DBNull.Value OrElse If(ROW("EORITIN_NL"), "") = "" Then + ' KD.EORI_Niederlassung = "0000" + ' Else + ' KD.EORI_Niederlassung = ROW("EORITIN_NL") + ' End If + ' If ROW("Ordnungsbegriff") IsNot DBNull.Value Then KD.Kurzname = ROW("Ordnungsbegriff") + ' If ROW("Name 1") IsNot DBNull.Value Then KD.Name1 = ROW("Name 1") + + ' If ROW("Name 2") IsNot DBNull.Value Then KD.Name2 = ROW("Name 2") + ' If ROW("UstIdKz") IsNot DBNull.Value And ("UstIdNr") IsNot DBNull.Value Then KD.UID_Nr = ROW("UstIdKz") & ROW("UstIdNr") + + ' KD.Adresse = New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAdresse + ' If ROW("Straße") IsNot DBNull.Value Then KD.Adresse.Strasse = ROW("Straße") + ' If ROW("PLZ") IsNot DBNull.Value Then KD.Adresse.Plz = ROW("PLZ") + ' If ROW("Ort") IsNot DBNull.Value Then KD.Adresse.Ort = ROW("Ort") + ' If ROW("LandKz") IsNot DBNull.Value Then KD.Adresse.LandKz = ROW("LandKzISO2") + + + + + ' KD.Kontakt = New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenKontakt + ' If ROW("E-Mail") IsNot DBNull.Value Then KD.Kontakt.EMail = ROW("E-Mail") + ' If ROW("Telefon") IsNot DBNull.Value Then KD.Kontakt.Tel = ROW("Telefon") + ' If ROW("Telefax") IsNot DBNull.Value Then KD.Kontakt.Fax = ROW("Telefax") + ' If ROW("Ansprechpartner") IsNot DBNull.Value Then KD.Kontakt.Ansprechpartner = If(ROW("Anrede") IsNot DBNull.Value, ROW("Anrede") & " ", "") & ROW("Ansprechpartner") + + + ' Dim KD_AKTO = VERAG_PROG_ALLGEMEIN.cKundenAufschubkonten.LOAD_ListAufschubKTOByKdNr(KD.KundenNr) + + ' If KD_AKTO IsNot Nothing Then + ' Dim AKTOLIST = New List(Of VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub) + + ' For Each KTO In KD_AKTO + ' If If(KTO.kdAkto_bin, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_eori, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_hauptzollamt, "").ToString.Trim <> String.Empty And + ' If(KTO.kdAkto_kontonummer, "").ToString.Trim <> String.Empty Then + + + ' Dim AUFSCH As New TELOTEC_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub + ' Select Case KTO.kdAkto_art + ' Case "10" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item10 + ' Case "15" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item15 + ' Case "20" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item20 + ' End Select + + ' AUFSCH.BIN = KTO.kdAkto_bin + ' AUFSCH.EORI = KTO.kdAkto_eori + ' If KTO.kdAkto_eoriNL IsNot Nothing Then AUFSCH.EORI_Niederlassung = KTO.kdAkto_eoriNL Else AUFSCH.EORI_Niederlassung = "0000" + ' AUFSCH.Hauptzollamt = KTO.kdAkto_hauptzollamt + ' AUFSCH.KontoNr = KTO.kdAkto_kontonummer + + ' AKTOLIST.Add(AUFSCH) + ' If AKTOLIST.Count = 2 Then Exit For 'max. 2 Aufschub + ' End If + ' Next + ' If AKTOLIST.Count > 0 Then KD.Aufschubkonten = AKTOLIST + ' End If + + ' XML.KundenDaten.Add(KD) + + ' Next + + ' Dim saveDir = path + ' If Not IO.Directory.Exists(saveDir) Then + ' IO.Directory.CreateDirectory(saveDir) + ' End If + ' Dim counter = 1 + ' While IO.File.Exists(saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml") + ' counter += 1 + ' End While + ' saveFile = saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml" + + ' XML.SaveToFile(saveFile) + + ' Return True + + ' Catch ex As Exception + ' MsgBox(ex.Message & ex.StackTrace) + ' Return False + ' End Try + 'End Function + +End Class diff --git a/TELOTEK_Worker_lib/cTelokec.vb b/TELOTEK_Worker_lib/cTelokec.vb index 3d79fc8..dce740f 100644 --- a/TELOTEK_Worker_lib/cTelokec.vb +++ b/TELOTEK_Worker_lib/cTelokec.vb @@ -55,7 +55,7 @@ Public Class cTelotec_Anmeldung Property Hea_PayMet As Object = Nothing ' INT NULL, Property Hea_AExpRef As Object = Nothing ' BIT NULL, Property Hea_Fin As Object = Nothing ' VARCHAR(2) NULL, - Property Hea_Simp As Object = Nothing ' BIT Not NULL, + Property Hea_Simp As Boolean = False ' BIT Not NULL, Property Hea_IssD As Object = Nothing ' Date NULL, Property Hea_AuthID As Object = Nothing ' VARCHAR(17) NULL, Property Hea_TransDat As Object = Nothing ' BIT NULL, @@ -90,7 +90,7 @@ Public Class cTelotec_Anmeldung Property Transp_CrossTy As Object = Nothing ' INT NULL, Property Transp_CrossIdnt As Object = Nothing ' VARCHAR(27) NULL, Property Transp_CrossIdntNat As Object = Nothing ' VARCHAR(2) NULL, - Property Transp_ContInd As Object = Nothing ' BIT NULL, + Property Transp_ContInd As Boolean = False ' BIT NULL, Property ValData_TermDelCd As Object = Nothing ' VARCHAR(3) NULL, Property ValData_TermDelPlc As Object = Nothing ' VARCHAR(35) NULL, Property ValData_TermDelSit As Object = Nothing ' VARCHAR(1) NULL, @@ -146,6 +146,8 @@ Public Class cTelotec_Anmeldung Property POSITIONSDATEN As New List(Of cTelotec_Positionsdaten) Property SICHERHEIT As New List(Of cTelotec_Sicherheit) + Property ABGABEN As New List(Of cTelotec_Abgaben) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL 'Sub New() @@ -170,6 +172,36 @@ Public Class cTelotec_Anmeldung LOAD() End Sub + + Sub initData() + me.telanm_Status = "00" + Me.telanm_Status_KEWILL_Equivalent = "00" + Me.telanm_Erstellung = Now + Me.telanm_Erstellung_SB = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.telanm_LetzteBearbeitung=now + Me.telanm_LetzteBearbeitung_SB = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID + Me.[Mandant_ID] = "IMEX" + Me.[Bereich_ID] = 0 + Me.[Referenz_ID] = 0 '"TC_IMP_" & Now.ToShortDateString("ddMMyyyy_HHmmssfff ") + Me.[ComIndicator] = 1 + + Me.[dec_ProzessArt] = "TA" + + Me.[dec_CreateDate] = Now + + + Me.[Refs_LRN] = Me.telanm_BezugsNr + + + Me.[Hea_DecTy] = "IMA" '?? + Me.[Hea_TotItem] = 0 + + Me.[Hea_Simp] = 0 + Me.[Hea_DecDT] = CDate(Now.ToShortDateString) + Me.[Hea_DecPlc] = "Suben" + + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telanm_id", telanm_id, , True, True)) @@ -331,8 +363,10 @@ Public Class cTelotec_Anmeldung telanm_id = SQL.doSQLVarListID(telanm_id, sqlstr, "FMZOLL", , list) If telanm_id > 0 And saveAll Then SAVE_Positionsdaten() - SAVE_SICHERHEIT + SAVE_Sicherheit() + SAVE_Abgaben() End If + Return telanm_id > 0 End Function @@ -379,6 +413,7 @@ Public Class cTelotec_Anmeldung If loadALL Then POSITIONSDATEN.Clear() SICHERHEIT.Clear() + ABGABEN.Clear() End If Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT * FROM tblTelotec_Anmeldung WHERE telanm_id=@telanm_id ", conn) @@ -398,6 +433,7 @@ Public Class cTelotec_Anmeldung If loadALL Then LOAD_Positionsdaten() LOAD_Sicherheit() + LOAD_Abgaben() End If End If dr.Close() @@ -414,6 +450,7 @@ Public Class cTelotec_Anmeldung Dim TC As New cTelotec_Anmeldung TC.POSITIONSDATEN.Clear() TC.SICHERHEIT.Clear() + TC.ABGABEN.Clear() Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT * FROM tblTelotec_Anmeldung WHERE telanm_BezugsNr=@BezugsNr AND [telnam_aktuellsteNachricht]=1 ", conn) @@ -433,6 +470,7 @@ Public Class cTelotec_Anmeldung If loadALL Then TC.LOAD_Positionsdaten() TC.LOAD_Sicherheit() + TC.LOAD_Abgaben() End If Return TC End If @@ -494,6 +532,7 @@ Public Class cTelotec_Anmeldung If loadALL Then NCTS.POSITIONSDATEN.Clear() NCTS.SICHERHEIT.Clear() + NCTS.ABGABEN.Clear() End If Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblTelotec_Anmeldung WHERE telanm_id=@telanm_id ", conn) @@ -513,6 +552,7 @@ Public Class cTelotec_Anmeldung If loadALL Then NCTS.LOAD_Positionsdaten() NCTS.LOAD_Sicherheit() + NCTS.LOAD_Abgaben() End If dr.Close() Return NCTS @@ -535,6 +575,7 @@ Public Class cTelotec_Anmeldung If loadALL Then NCTS.POSITIONSDATEN.Clear() NCTS.SICHERHEIT.Clear() + NCTS.ABGABEN.Clear() End If Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblTelotec_Anmeldung WHERE telanm_BezugsNr=@bezugsNr " & If(MsgType <> "", " AND MsgType=@MsgType ", ""), conn) @@ -555,6 +596,7 @@ Public Class cTelotec_Anmeldung If loadALL Then NCTS.LOAD_Positionsdaten() NCTS.LOAD_Sicherheit() + NCTS.LOAD_Abgaben() End If dr.Close() Return NCTS @@ -591,29 +633,22 @@ Public Class cTelotec_Anmeldung Return False End Function - 'Public Sub UPDATE_DATA() - ' Try - ' Select Case telanm_ART - ' Case "T1", "T2" - ' 'SQL, die daten aus den jeweiligen tabellen ausliest und hier aktualisiert - ' Dim Dakosy_NCTSOut As New DAKOSY_Worker.cDakosyNCTSOut - ' Dakosy_NCTSOut.LOADByAnmID(telanm_id, False) - ' If Dakosy_NCTSOut IsNot Nothing Then - ' Me.telanm_BezugsNr = Dakosy_NCTSOut.ncts_ObjectName - ' Me.telanm_Status = Dakosy_NCTSOut.ncts_Status - ' Me.telanm_Status_KEWILL_Equivalent = Dakosy_NCTSOut.ncts_Status_KEWILL_Equivalent - ' Me.telanm_Erstellung = Dakosy_NCTSOut.ncts_Erstellung - ' Me.telanm_Erstellung_SB = Dakosy_NCTSOut.ncts_Erstellung_SB - ' Me.telanm_LetzteBearbeitung = Dakosy_NCTSOut.ncts_LetzteBearbeitung - ' Me.telanm_LetzteBearbeitung_SB = Dakosy_NCTSOut.ncts_LetzteBearbeitung_SB - ' End If - ' End Select + Public Sub UPDATE_DATA() + Try + 'Me.dy_BezugsNr = Dakosy_NCTSOut.ncts_ObjectName + 'Me.dy_Status = Dakosy_NCTSOut.ncts_Status + 'Me.dy_Status_KEWILL_Equivalent = Dakosy_NCTSOut.ncts_Status_KEWILL_Equivalent + 'Me.dy_Erstellung = Dakosy_NCTSOut.ncts_Erstellung + 'Me.dy_Erstellung_SB = Dakosy_NCTSOut.ncts_Erstellung_SB + 'Me.dy_LetzteBearbeitung = Dakosy_NCTSOut.ncts_LetzteBearbeitung + 'Me.dy_LetzteBearbeitung_SB = Dakosy_NCTSOut.ncts_LetzteBearbeitung_SB - ' Catch ex As Exception - ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - ' End Try - 'End Sub + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub @@ -678,7 +713,7 @@ Public Class cTelotec_Anmeldung notFound = False Select Case art - Case "EZA" : TELOTECDatenbereitstellung_EZA(SPEDITIONSBUCH, DY, notFound, PosAnzahl) + Case "EZA", "EUA" : TELOTECDatenbereitstellung_EZA(SPEDITIONSBUCH, DY, notFound, PosAnzahl) Case "NCTS" : TELOTECDatenbereitstellung_NCTS(SPEDITIONSBUCH, DY, notFound, PosAnzahl) End Select @@ -703,7 +738,7 @@ Public Class cTelotec_Anmeldung If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now 'CDate(DY.eza_Trans_DatumZeit).ToShortDateString - SPEDITIONSBUCH.Abfertigungsart = "1" 'FISKAL !!!!!!!!!!!! + SPEDITIONSBUCH.Abfertigungsart = "1" 'FISKAL !!!!!???? SPEDITIONSBUCH.Versendungsland = DY.Locs_Disp SPEDITIONSBUCH.Bestimmungsland = DY.Locs_Dest @@ -991,6 +1026,7 @@ Public Class cTelotec_Anmeldung End If Next l.LOAD_Packstücke() + l.LOAD_Abgaben() POSITIONSDATEN.Add(l) End While dr.Close() @@ -1030,11 +1066,46 @@ Public Class cTelotec_Anmeldung End Try End Sub + + + Public Sub LOAD_Abgaben() + Try + ABGABEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTelotec_Abgaben WHERE telAbg_telanmId=@telanm_id ", conn) + cmd.Parameters.AddWithValue("@telanm_id", Me.telanm_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cTelotec_Abgaben + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + ABGABEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub + + Function DELETE_Packstücke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean Dim sqlstr = " DELETE FROM [tblTelotec_Packstuecke] WHERE telpospk_telanmId =" & Me.telanm_id & " " Return SQL.doSQL(sqlstr, "FMZOLL") End Function + Function DELETE_PositionsdatenAbgaben() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTelotec_PositionsdatenAbgaben] WHERE telposAbg_telanmId =" & Me.telanm_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + Function DELETE_Positionsdaten() As Boolean 'obj As Object, tablename As String, where As String) As Boolean Dim sqlstr = " DELETE FROM [tblTelotec_Positionsdaten] WHERE telpos_telanmId =" & Me.telanm_id & " " Return SQL.doSQL(sqlstr, "FMZOLL") @@ -1044,6 +1115,10 @@ Public Class cTelotec_Anmeldung Dim sqlstr = " DELETE FROM [tblTelotec_Sicherheit] WHERE telgrt_telanmId =" & Me.telanm_id & " " Return SQL.doSQL(sqlstr, "FMZOLL") End Function + Function DELETE_Abgaben() As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [tblTelotec_Abgaben] WHERE telAbg_telanmId =" & Me.telanm_id & " " + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function Public Function SAVE_Sicherheit() As Boolean 'Zuserst alle OffertenPos von dem Offert löschen @@ -1062,15 +1137,33 @@ Public Class cTelotec_Anmeldung Return True End Function + Public Function SAVE_Abgaben() As Boolean + 'Zuserst alle OffertenPos von dem Offert löschen + If DELETE_Abgaben() Then 'And DELETE_SicherheitUnterlagen() And DELETE_SicherheitVerbrauchssteuer() Then + 'jetzt die Standartofferten einfügen + For Each p In ABGABEN + p.telAbg_telanmId = telanm_id + If p.INSERT() Then + Else + Return False + End If + Next + Else + Return False + End If + + Return True + End Function Public Function SAVE_Positionsdaten() As Boolean 'Zuserst alle OffertenPos von dem Offert löschen - If DELETE_Positionsdaten() And DELETE_Packstücke() Then 'And DELETE_PositionsdatenUnterlagen() And DELETE_PositionsdatenVerbrauchssteuer() Then + If DELETE_Positionsdaten() And DELETE_Packstücke() And DELETE_PositionsdatenAbgaben() Then 'And DELETE_PositionsdatenUnterlagen() And DELETE_PositionsdatenVerbrauchssteuer() Then 'jetzt die Standartofferten einfügen For Each p In POSITIONSDATEN p.telpos_telanmId = telanm_id If p.INSERT() Then p.INSERT_Packstücke(p.telpos_id, Me.telanm_id) + p.INSERT_Abgaben(p.telpos_id, Me.telanm_id) 'p.INSERT_PositionsdatenUnterlagen(p.ezaWP_Id, Me.eza_Id) 'p.INSERT_PositionsdatenVerbrauchssteuer(p.ezaWP_Id, Me.eza_Id) Else @@ -1118,6 +1211,7 @@ Public Class cTelotec_Positionsdaten Property Telo_ArtikelMEH As Object = Nothing Property PACKSTUECKE As New List(Of cTelotec_Packstuecke) + Property ABGABEN As New List(Of cTelotec_PositionsdatenAbgaben) Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -1201,6 +1295,41 @@ Public Class cTelotec_Positionsdaten End Try End Sub + Public Function INSERT_Abgaben(telpos_id, telanm_id) As Boolean + For Each p In ABGABEN + p.telposAbg_telanmId = telanm_id + p.telposAbg_telposId = telpos_id + If Not p.INSERT() Then Return False + Next + Return True + End Function + + Public Sub LOAD_Abgaben() + Try + ABGABEN.Clear() + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblTelotec_PositionsdatenAbgaben WHERE telposabg_telposId=@telpos_id ", conn) + cmd.Parameters.AddWithValue("@telpos_id", Me.telpos_id) + Dim dr = cmd.ExecuteReader() + While dr.Read + Dim l As New cTelotec_PositionsdatenAbgaben + For Each i In l.getParameterList() + Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable) + If dr.Item(i.Text) Is DBNull.Value Then + propInfo.SetValue(l, Nothing) + Else + propInfo.SetValue(l, dr.Item(i.Text)) + End If + Next + ABGABEN.Add(l) + End While + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub Public Function getInsertCmd() As String Try @@ -1324,8 +1453,6 @@ Public Class cTelotec_Sicherheit - Property PACKSTUECKE As List(Of cTelotec_Packstuecke) - Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Sub New() @@ -1385,3 +1512,168 @@ Public Class cTelotec_Sicherheit End Class + + +Public Class cTelotec_Abgaben + + + Property telAbg_id As Integer + Property telAbg_telanmId As Integer + Property Mandant_ID As Object = Nothing + Property Bereich_ID As Object = Nothing + Property Referenz_ID As Object = Nothing + Property ComIndicator As Boolean + Property TotDuties_ID As Integer + Property Ty As Object = Nothing + Property Amnt As Object = Nothing + Property TyInd As Object = Nothing + Property Erstelldatum As Object = Nothing + + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telAbg_id", telAbg_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telAbg_telanmId", telAbg_telanmId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant_ID", Mandant_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bereich_ID", Bereich_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Referenz_ID", Referenz_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ComIndicator", ComIndicator)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TotDuties_ID", TotDuties_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ty", Ty)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Amnt", Amnt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TyInd", TyInd)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erstelldatum", Erstelldatum)) + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + telAbg_id = SQL.doSQLVarListID(telAbg_id, getInsertCmd, "FMZOLL", , list) + Return telAbg_id > 0 + End Function + + + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTelotec_Abgaben (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + +Public Class cTelotec_PositionsdatenAbgaben + + + Property telposAbg_id As Integer + Property telposAbg_telposId As Integer + Property telposAbg_telanmId As Integer + Property Mandant_ID As Object = Nothing + Property Bereich_ID As Object = Nothing + Property Referenz_ID As Object = Nothing + Property ComIndicator As Boolean + Property Pos_ID As Integer + Property DutyCalc_ID As Object = Nothing + Property Ty As Object = Nothing + Property BaseD As Object = Nothing + Property Curr As Object = Nothing + Property Unit As Object = Nothing + Property Base As Object = Nothing + Property Rate As Object = Nothing + Property RateUsed As Object = Nothing + Property Amnt As Object = Nothing + Property MeaID As Object = Nothing + Property TyInd As Object = Nothing + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Sub New() + End Sub + + + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telposAbg_id", telposAbg_id, , True, True)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telposAbg_telposId", telposAbg_telposId)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("telposAbg_telanmId", telposAbg_telanmId)) + + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant_ID", Mandant_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bereich_ID", Bereich_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Referenz_ID", Referenz_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ComIndicator", ComIndicator)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pos_ID", Pos_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DutyCalc_ID", DutyCalc_ID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ty", Ty)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BaseD", BaseD)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Curr", Curr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unit", Unit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Base", Base)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rate", Rate)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RateUsed", RateUsed)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Amnt", Amnt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MeaID", MeaID)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TyInd", TyInd)) + Return list + End Function + + + Public Function INSERT() As Boolean + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list) + telposAbg_id = SQL.doSQLVarListID(telposAbg_id, getInsertCmd, "FMZOLL", , list) + Return telposAbg_id > 0 + End Function + + + + + Public Function getInsertCmd() As String + Try + Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() + Dim str As String = "" + Dim values As String = "" + For Each i In list + If Not i.isPrimaryParam Then + str &= "[" & i.Text & "]," + values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," + End If + Next + str = str.Substring(0, str.Length - 1) 'wg. ',' + values = values.Substring(0, values.Length - 1) 'wg. ',' + Return (" INSERT INTO tblTelotec_PositionsdatenAbgaben (" & str & ") VALUES(" & values & ") ") + Catch ex As Exception + MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return "" + End Function + +End Class + + diff --git a/UID/ADMIN.vbproj b/UID/ADMIN.vbproj index 93279a6..2a8b911 100644 --- a/UID/ADMIN.vbproj +++ b/UID/ADMIN.vbproj @@ -699,6 +699,9 @@ Always + + Always + Always diff --git a/UID/Dienstplan/frmDienstplan.vb b/UID/Dienstplan/frmDienstplan.vb index 1cf3c87..2863316 100644 --- a/UID/Dienstplan/frmDienstplan.vb +++ b/UID/Dienstplan/frmDienstplan.vb @@ -48,8 +48,11 @@ Public Class frmDienstplan End Sub Public Sub initDienstplan() + Dim datum As Date = CalendarWeek(aktWoche, aktJahr) Dim pf As New cProgramFunctions - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(datum) + pf.KWAbschluss(STD_LIST, niederlassung, aktJahr, aktWoche, SCHICHT) ' initDienstplan() If pnl.Controls.Count > 0 Then DirectCast(pnl.Controls(0), usrcntlDienstplanStunden).loaded = False @@ -63,7 +66,6 @@ Public Class frmDienstplan Else Button14.Text = "Woche abschließen" End If - Dim datum As Date = CalendarWeek(aktWoche, aktJahr) Dim arrZoll1 As String() = {"dgvZoll1_Mo", "dgvZoll1_Di", "dgvZoll1_Mi", "dgvZoll1_Do", "dgvZoll1_Fr", "dgvZoll1_Sa", "dgvZoll1_So"} Dim arrZoll2 As String() = {"dgvZoll2_Mo", "dgvZoll2_Di", "dgvZoll2_Mi", "dgvZoll2_Do", "dgvZoll2_Fr", "dgvZoll2_Sa", "dgvZoll2_So"} @@ -1844,9 +1846,9 @@ Public Class frmDienstplan Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click Exit Sub - Dim pf As New cProgramFunctions - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) - initDienstplan() + 'Dim pf As New cProgramFunctions + 'pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + 'initDienstplan() End Sub diff --git a/UID/Dienstplan/frmDienstplanATILLA.vb b/UID/Dienstplan/frmDienstplanATILLA.vb index fa3acd0..e360144 100644 --- a/UID/Dienstplan/frmDienstplanATILLA.vb +++ b/UID/Dienstplan/frmDienstplanATILLA.vb @@ -49,9 +49,10 @@ Public Class frmDienstplanATILLA End Sub Public Sub initDienstplan() + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(CalendarWeek(aktWoche, aktJahr)) Dim pf As New cProgramFunctions - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + pf.KWAbschluss(STD_LIST, niederlassung, aktJahr, aktWoche, SCHICHT) ' initDienstplan() If pnl.Controls.Count > 0 Then DirectCast(pnl.Controls(0), usrcntlDienstplanStunden).loaded = False @@ -1897,9 +1898,9 @@ Public Class frmDienstplanATILLA Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click Exit Sub - Dim pf As New cProgramFunctions - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) - initDienstplan() + 'Dim pf As New cProgramFunctions + 'pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + 'initDienstplan() End Sub diff --git a/UID/Dienstplan/frmDienstplanVariabel.vb b/UID/Dienstplan/frmDienstplanVariabel.vb index 8ca94de..8e4f94b 100644 --- a/UID/Dienstplan/frmDienstplanVariabel.vb +++ b/UID/Dienstplan/frmDienstplanVariabel.vb @@ -56,7 +56,9 @@ Public Class frmDienstplanVariabel End Sub Public Sub initDienstplan() - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(CalendarWeek(aktWoche, aktJahr)) + + pf.KWAbschluss(STD_LIST, niederlassung, aktJahr, aktWoche, SCHICHT) ' initDienstplan() If Panel6.Controls.Count > 0 Then DirectCast(Panel6.Controls(0), usrcntlDienstplanStunden).loaded = False @@ -636,7 +638,7 @@ Public Class frmDienstplanVariabel End If End Function - Public Function CalendarWeek(ByVal nWeek As Integer, ByVal nYear As Integer) As Date + Public Shared Function CalendarWeek(ByVal nWeek As Integer, ByVal nYear As Integer) As Date ' Wochentag des 4. Januar des Jahres ermitteln Dim dStart As New Date(nYear, 1, 4) @@ -2355,8 +2357,8 @@ Public Class frmDienstplanVariabel Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click Exit Sub ' Dim pf As New cProgramFunctions - pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) - initDienstplan() + 'pf.KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + 'initDienstplan() End Sub @@ -2449,12 +2451,18 @@ Public Class frmDienstplanVariabel Try With exclApp .Visible = False + Dim useAlwaysTime = False - If SQLDienst.getValueTxtBySql("SELECT isnull([dpset_firma],'') FROM [tblDienstSettings] WHERE [dpset_niederlassung]='" & niederlassung & "'", "ADMIN") = "IMEX" Then - Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat IMEX.xlsx") - Else - Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat.xlsx") - End If + Select Case SQLDienst.getValueTxtBySql("SELECT isnull([dpset_firma],'') FROM [tblDienstSettings] WHERE [dpset_niederlassung]='" & niederlassung & "'", "ADMIN") + Case "IMEX" + Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat IMEX.xlsx") + Case "AMBAR" + Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat AMBAR.xlsx") + useAlwaysTime = True + Case Else + Datei = .Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory & "Resources\Dienstplan Variabel Monat.xlsx") + + End Select Blatt = Datei.Worksheets("DIENSTPLAN") @@ -2464,11 +2472,12 @@ Public Class frmDienstplanVariabel Dim cnt = 0 If dt_Ma IsNot Nothing Then - '-----------------------Datum------------------- Dim dateWork = CDate("01." & aktDate.Month & "." & aktDate.Year & "") Dim dateEnde = dateWork.AddMonths(1).AddDays(-1) + Blatt.Range("C1").Value = dateWork.ToString("MMMM yyyy") + Dim FT As New cFeiertage(dateWork.Year) 'Evtl Jahressprung, darum neu definieren Dim cnt3 = 0 @@ -2495,9 +2504,6 @@ Public Class frmDienstplanVariabel '----------------------------------------------- - Blatt.Range("C1").Value = dateWork.ToString("MMMM yyyy") - - For Each r As DataRow In dt_Ma.Rows Dim splate = Chr(Asc("B") + cnt) Blatt.Range(splate & "2").Value = r("dstma_kuerzel") @@ -2515,30 +2521,36 @@ Public Class frmDienstplanVariabel If dt_Tag IsNot Nothing AndAlso dt_Tag.Rows.Count > 0 Then If dt_Tag.Rows(0)("dstetr_info") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dstetr_info") <> "" Then Tag_Bez = dt_Tag.Rows(0)("dstetr_info") + Else Tag_Bez = dt_Tag.Rows(0)("dstetr_von") & "-" & dt_Tag.Rows(0)("dstetr_bis") + + 'useAlwaysTime --> keine Bezeichnungen der Schicht zulassen, nur die Uhrzeiten + Dim dt_Zeit = SQLDienst.loadDGV("SELECT * FROM [ADMIN].[dbo].[tblDienstplanSchichtenZeiten] where dsz_dedetId=" & dt_Tag.Rows(0)("dedet_id") & " and dsz_woTag='" & dateWork.ToString("ddd").Replace(".", "").ToUpper & "'") If dt_Tag IsNot Nothing AndAlso dt_Tag.Rows.Count > 0 Then + If Not useAlwaysTime Or dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Then + 'Wenn keine benutzerdefinierteSchicht ODER von=von, bis=bis --> Bezeichnung hinschreiben, sonst wird die Zeit (lt. oben) genau angegeben. + If dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Or (dt_Zeit.Rows(0)("dsz_von") = dt_Tag.Rows(0)("dstetr_von") And dt_Zeit.Rows(0)("dsz_bis") = dt_Tag.Rows(0)("dstetr_bis")) Then + If dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") <> "" Then + Tag_Bez = dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") + If dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") IsNot DBNull.Value Then BGcolor = dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") + ElseIf dt_Tag.Rows(0)("dedet_bezeichnungDP") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "" Then + Tag_Bez = dt_Tag.Rows(0)("dedet_bezeichnungDP") + Else + Tag_Bez = dt_Tag.Rows(0)("dedet_abt") + End If + + ' Tag_Bez = If(dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "", dt_Tag.Rows(0)("dedet_bezeichnungDP"), dt_Tag.Rows(0)("dedet_abt")) + - 'Wenn keine benutzerdefinierteSchicht ODER von=von, bis=bis --> Bezeichnung hinschreiben, sonst wird die Zeit (lt. oben) genau angegeben. - If dt_Tag.Rows(0)("dedet_benutzerdefinierteSchicht") = 0 Or (dt_Zeit.Rows(0)("dsz_von") = dt_Tag.Rows(0)("dstetr_von") And dt_Zeit.Rows(0)("dsz_bis") = dt_Tag.Rows(0)("dstetr_bis")) Then - If dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") <> "" Then - Tag_Bez = dt_Tag.Rows(0)("dedet_ExcelMonatBezeichnung") - If dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") IsNot DBNull.Value Then BGcolor = dt_Tag.Rows(0)("dedet_ExcelMonatFarbe") - ElseIf dt_Tag.Rows(0)("dedet_bezeichnungDP") IsNot DBNull.Value AndAlso dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "" Then - Tag_Bez = dt_Tag.Rows(0)("dedet_bezeichnungDP") - Else - Tag_Bez = dt_Tag.Rows(0)("dedet_abt") End If - ' Tag_Bez = If(dt_Tag.Rows(0)("dedet_bezeichnungDP") <> "", dt_Tag.Rows(0)("dedet_bezeichnungDP"), dt_Tag.Rows(0)("dedet_abt")) - End If End If - End If End If diff --git a/UID/Dienstplan/frmDiestAddMa.Designer.vb b/UID/Dienstplan/frmDiestAddMa.Designer.vb index 9d981b5..1380cba 100644 --- a/UID/Dienstplan/frmDiestAddMa.Designer.vb +++ b/UID/Dienstplan/frmDiestAddMa.Designer.vb @@ -22,6 +22,7 @@ Partial Class frmDiestAddMa 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDiestAddMa)) Me.cboMA = New System.Windows.Forms.ComboBox() Me.txtWoStd = New System.Windows.Forms.TextBox() @@ -264,6 +265,7 @@ Partial Class frmDiestAddMa Me.txtBlau2BisMo = New System.Windows.Forms.TextBox() Me.cboBlau2So = New System.Windows.Forms.ComboBox() Me.txtBlau2VonMo = New System.Windows.Forms.TextBox() + Me.dgvAbwWStd = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Label26 = New System.Windows.Forms.Label() Me.txtReihenfolge = New System.Windows.Forms.TextBox() Me.ColorDialog1 = New System.Windows.Forms.ColorDialog() @@ -276,6 +278,7 @@ Partial Class frmDiestAddMa Me.cbxInaktiv = New System.Windows.Forms.CheckBox() Me.Label57 = New System.Windows.Forms.Label() Me.txtStdFeiertagTZ = New System.Windows.Forms.TextBox() + Me.Label58 = New System.Windows.Forms.Label() Me.grpTeilzeit.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() @@ -284,6 +287,7 @@ Partial Class frmDiestAddMa Me.pnl4.SuspendLayout() Me.TabPage3.SuspendLayout() Me.pnl3.SuspendLayout() + CType(Me.dgvAbwWStd, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'cboMA @@ -402,7 +406,7 @@ Partial Class frmDiestAddMa ' Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnOK.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.btnOK.Location = New System.Drawing.Point(15, 427) + Me.btnOK.Location = New System.Drawing.Point(15, 555) Me.btnOK.Name = "btnOK" Me.btnOK.Size = New System.Drawing.Size(161, 37) Me.btnOK.TabIndex = 22 @@ -2711,6 +2715,15 @@ Partial Class frmDiestAddMa Me.txtBlau2VonMo.TabIndex = 22 Me.txtBlau2VonMo.Text = "00:00" ' + 'dgvAbwWStd + ' + Me.dgvAbwWStd.AKTUALISIERUNGS_INTERVALL = -1 + Me.dgvAbwWStd.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgvAbwWStd.Location = New System.Drawing.Point(21, 439) + Me.dgvAbwWStd.Name = "dgvAbwWStd" + Me.dgvAbwWStd.Size = New System.Drawing.Size(459, 110) + Me.dgvAbwWStd.TabIndex = 0 + ' 'Label26 ' Me.Label26.AutoSize = True @@ -2771,7 +2784,7 @@ Partial Class frmDiestAddMa ' Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button2.Location = New System.Drawing.Point(182, 427) + Me.Button2.Location = New System.Drawing.Point(182, 555) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(86, 37) Me.Button2.TabIndex = 23 @@ -2817,12 +2830,23 @@ Partial Class frmDiestAddMa Me.txtStdFeiertagTZ.TabIndex = 26 Me.txtStdFeiertagTZ.Visible = False ' + 'Label58 + ' + Me.Label58.AutoSize = True + Me.Label58.Location = New System.Drawing.Point(18, 423) + Me.Label58.Name = "Label58" + Me.Label58.Size = New System.Drawing.Size(138, 13) + Me.Label58.TabIndex = 27 + Me.Label58.Text = "Abweichende WochenStd.:" + ' 'frmDiestAddMa ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.White - Me.ClientSize = New System.Drawing.Size(503, 476) + Me.ClientSize = New System.Drawing.Size(503, 626) + Me.Controls.Add(Me.Label58) + Me.Controls.Add(Me.dgvAbwWStd) Me.Controls.Add(Me.Label57) Me.Controls.Add(Me.txtStdFeiertagTZ) Me.Controls.Add(Me.cbxInaktiv) @@ -2867,6 +2891,7 @@ Partial Class frmDiestAddMa Me.TabPage3.ResumeLayout(False) Me.pnl3.ResumeLayout(False) Me.pnl3.PerformLayout() + CType(Me.dgvAbwWStd, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -3124,4 +3149,6 @@ Partial Class frmDiestAddMa Friend WithEvents cbxInaktiv As CheckBox Friend WithEvents Label57 As Label Friend WithEvents txtStdFeiertagTZ As TextBox + Friend WithEvents dgvAbwWStd As VERAG_PROG_ALLGEMEIN.MyDatagridview + Friend WithEvents Label58 As Label End Class diff --git a/UID/Dienstplan/frmDiestAddMa.vb b/UID/Dienstplan/frmDiestAddMa.vb index 4d09ee6..d852595 100644 --- a/UID/Dienstplan/frmDiestAddMa.vb +++ b/UID/Dienstplan/frmDiestAddMa.vb @@ -12,6 +12,7 @@ Public Class frmDiestAddMa Dim MusterErr As Boolean = False Dim SCHICHTEN_ARTEN As New List(Of cDienstplanSchicht) Dim ADMIN As New cOptionenDAL + Dim DGVBind As VERAG_PROG_ALLGEMEIN.cEasyBinding Private Sub frmDiestAddMa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then @@ -34,8 +35,6 @@ Public Class frmDiestAddMa initCboMuster() fillCboMA() - ' - If niederlassung = "ATILLA" Then cboAbt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ZOLL", "ZOLL")) @@ -64,7 +63,13 @@ Public Class frmDiestAddMa If cboMyItemSelect(cboMA, SQLDienst.getValueTxtBySql("SELECT isnull([dstma_mitId],-1) FROM [tblDienstMitarb] WHERE dstma_id=" & MA_ID, "ADMIN")) Then loadMA() End If + Else + dgvAbwWStd.Enabled = False End If + + + initDgvAbwWStd() + loaded = True End Sub Sub fillCboMA() @@ -73,6 +78,31 @@ Public Class frmDiestAddMa Next End Sub + Sub initDgvAbwWStd() + Try + + With dgvAbwWStd + ' .DataSource = SQLDienst.loadDGV("SELECT * FROM [tblDienstMitarbAbweichendeWochenstunden] WHERE [dstaw_dstmaId]=133") + + DGVBind = New VERAG_PROG_ALLGEMEIN.cEasyBinding("ADMIN") + + DGVBind.initBinding("SELECT * FROM [tblDienstMitarbAbweichendeWochenstunden] WHERE [dstaw_dstmaId]='" & MA.dstma_id & "'", "tblDienstMitarbAbweichendeWochenstunden") + .DataSource = DGVBind.bindingdataTable + DGVBind.bindingdataTable.Columns("dstaw_dstmaId").DefaultValue = MA.dstma_id + If .Columns.Count > 0 Then + .Columns("dstaw_id").Visible = False + .Columns("dstaw_dstmaId").Visible = False + .Columns("dstaw_von").HeaderText = "von" + .Columns("dstaw_bis").HeaderText = "bis" + .Columns("dstaw_std").HeaderText = "Std." + End If + + End With + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + End Sub + Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click ' MsgBox(txtRotVonMo.Text) MusterErr = False @@ -80,7 +110,7 @@ Public Class frmDiestAddMa If initMA() Then Dim tz As List(Of cDienstTeilzeit) = initArbVerh() If MusterErr Then MsgBox("Bei der Prüfung der Daten für die Muster-Vorlage ist ein Fehler aufgetreten! Bitte um Prüfung!") : Exit Sub - If SQLDienst.insertDienstMA(MA, niederlassung) Then ' Me.Close() + If SQLDienst.insertDienstMA(MA, niederlassung) And DGVBind.updateBinding Then ' Me.Close() SQLDienst.delDienstTeilzeit(MA.dstma_id) If cbxMuster.Checked Then 'cboArbVerh.SelectedIndex = 1 Then For Each t In tz diff --git a/UID/Dienstplan/usrCntlAuswertungWocheAuslastung.vb b/UID/Dienstplan/usrCntlAuswertungWocheAuslastung.vb index b29565d..d5c3ee7 100644 --- a/UID/Dienstplan/usrCntlAuswertungWocheAuslastung.vb +++ b/UID/Dienstplan/usrCntlAuswertungWocheAuslastung.vb @@ -77,7 +77,9 @@ Return getStd End Function Function getAbf(datum As Date) As Double - Dim art = "" + Try + + Dim art = "" Dim nl = "" If DP_SETTINGS Is Nothing Then Return 0 @@ -115,5 +117,8 @@ ' Return cDIENST.getValueTxtBySql("SELECT count(*) as anz FROM [Speditionsbuch] where Abfertigungsdatum = '" & datum.ToShortDateString & "' AND FilialenNr IN (" & filiale & ") AND Abfertigungsart IN(" & art & ")", "FMZOLL") Return cDIENST.getValueTxtBySql(sql, "FMZOLL") + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try End Function End Class diff --git a/UID/Dienstplan/usrCntlDienstplan.vb b/UID/Dienstplan/usrCntlDienstplan.vb index 1999ac7..3cc44a3 100644 --- a/UID/Dienstplan/usrCntlDienstplan.vb +++ b/UID/Dienstplan/usrCntlDienstplan.vb @@ -452,7 +452,9 @@ Public Class usrCntlDienstplan Dim aktJahr = cPF.DateToWeek(datumMO).Substring(0, 4) Dim SCHICHT = cPF.getSchicht(aktWoche, aktJahr) - Dim sollStd As Double = cPF.getWochenstunden(MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd) + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(datumMO) + + Dim sollStd As Double = cPF.getWochenstunden(STD_LIST, MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd) Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datumMO, datumMO.AddDays(6), niederlassung) ' MsgBox(sollStd) diff --git a/UID/Dienstplan/usrcntlDienstplanStunden.vb b/UID/Dienstplan/usrcntlDienstplanStunden.vb index 8fc17b8..2b9727f 100644 --- a/UID/Dienstplan/usrcntlDienstplanStunden.vb +++ b/UID/Dienstplan/usrcntlDienstplanStunden.vb @@ -79,6 +79,7 @@ Public Class usrcntlDienstplanStunden MsgBox("initStdMa-Error: " & ex.StackTrace) End Try + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(CalendarWeek(aktWoche, aktJahr)) For Each r As DataGridViewRow In .Rows Try : r.DefaultCellStyle.ForeColor = ColorTranslator.FromHtml(r.Cells("dstma_farbe").Value) : Catch : End Try @@ -90,14 +91,15 @@ Public Class usrcntlDienstplanStunden Dim Wochenstunden As Double = 0 If IsNumeric(ma.dstma_wochenStunden) Then Wochenstunden = ma.dstma_wochenStunden + 'MsgBox(ma.dstma_wochenStunden) 'hier wird berechnet, wie viele Stunden tatsächlich zu arbeiten sind (abzgl. Feiertage) - Wochenstunden = cPF.getWochenstunden(Wochenstunden, datum, SCHICHT, r.Cells("dstma_id").Value, ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd) + Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r.Cells("dstma_id").Value, ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd) 'Hier wird berechnet wie viele Std tastächlich gearbeitet wurden: Dim tatStd As Double = SQLDienst.getDstStunden(r.Cells("dstma_id").Value, datum_montag, datum_montag.AddDays(6), niederlassung) - + r.Cells("stundenBerechnet").Value = (Wochenstunden) r.Cells("stunden").Value = (tatStd) & " (" & tatStd - Wochenstunden & ")" Dim arb As New cArbeitstage @@ -108,7 +110,6 @@ Public Class usrcntlDienstplanStunden loaded = True Catch ex As Exception MsgBox("initStdMa-Error: " & ex.Message) - End Try initUestd() End Sub diff --git a/UID/Mitarbeiter/frmMitarbDetails.Designer.vb b/UID/Mitarbeiter/frmMitarbDetails.Designer.vb index 1c0c702..7149b0f 100644 --- a/UID/Mitarbeiter/frmMitarbDetails.Designer.vb +++ b/UID/Mitarbeiter/frmMitarbDetails.Designer.vb @@ -62,6 +62,10 @@ Partial Class frmMitarbDetails Me.cboATLAS_SB = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.Label4 = New System.Windows.Forms.Label() Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.cboALIASDomain2 = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.txtALIASUser2 = New System.Windows.Forms.TextBox() + Me.Label54 = New System.Windows.Forms.Label() + Me.cboFirmaHaupt = New System.Windows.Forms.ComboBox() Me.cboTeam = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.Label53 = New System.Windows.Forms.Label() Me.cboALIASDomain = New VERAG_PROG_ALLGEMEIN.MyComboBox() @@ -95,6 +99,7 @@ Partial Class frmMitarbDetails Me.cboNiederlassung = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.Label9 = New System.Windows.Forms.Label() Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.cbxChatBenutzer = New System.Windows.Forms.CheckBox() Me.cbxTestaccount = New System.Windows.Forms.CheckBox() Me.cbxGebDat = New System.Windows.Forms.CheckBox() Me.txtGebDat = New System.Windows.Forms.DateTimePicker() @@ -164,9 +169,6 @@ Partial Class frmMitarbDetails Me.PictureBox6 = New System.Windows.Forms.PictureBox() Me.cboAdminBer = New System.Windows.Forms.ComboBox() Me.Label7 = New System.Windows.Forms.Label() - Me.cboFirmaHaupt = New System.Windows.Forms.ComboBox() - Me.Label54 = New System.Windows.Forms.Label() - Me.cbxChatBenutzer = New System.Windows.Forms.CheckBox() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() Me.TabControl2.SuspendLayout() @@ -243,9 +245,10 @@ Partial Class frmMitarbDetails ' 'btnCancel ' + Me.btnCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.btnCancel.BackColor = System.Drawing.Color.White Me.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnCancel.Location = New System.Drawing.Point(191, 795) + Me.btnCancel.Location = New System.Drawing.Point(191, 844) Me.btnCancel.Name = "btnCancel" Me.btnCancel.Size = New System.Drawing.Size(88, 36) Me.btnCancel.TabIndex = 52 @@ -254,9 +257,10 @@ Partial Class frmMitarbDetails ' 'btnOK ' + Me.btnOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.btnOK.BackColor = System.Drawing.Color.White Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnOK.Location = New System.Drawing.Point(12, 795) + Me.btnOK.Location = New System.Drawing.Point(12, 844) Me.btnOK.Name = "btnOK" Me.btnOK.Size = New System.Drawing.Size(173, 36) Me.btnOK.TabIndex = 51 @@ -270,7 +274,7 @@ Partial Class frmMitarbDetails Me.TabControl2.Location = New System.Drawing.Point(12, 63) Me.TabControl2.Name = "TabControl2" Me.TabControl2.SelectedIndex = 0 - Me.TabControl2.Size = New System.Drawing.Size(723, 726) + Me.TabControl2.Size = New System.Drawing.Size(723, 773) Me.TabControl2.TabIndex = 0 ' 'TabPage1 @@ -283,7 +287,7 @@ Partial Class frmMitarbDetails Me.TabPage1.Location = New System.Drawing.Point(4, 22) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage1.Size = New System.Drawing.Size(715, 700) + Me.TabPage1.Size = New System.Drawing.Size(715, 747) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = "Daten" Me.TabPage1.UseVisualStyleBackColor = True @@ -292,7 +296,7 @@ Partial Class frmMitarbDetails ' Me.tbcntr.Controls.Add(Me.TabPage2) Me.tbcntr.Controls.Add(Me.TabPage4) - Me.tbcntr.Location = New System.Drawing.Point(2, 494) + Me.tbcntr.Location = New System.Drawing.Point(2, 539) Me.tbcntr.Name = "tbcntr" Me.tbcntr.SelectedIndex = 0 Me.tbcntr.Size = New System.Drawing.Size(450, 200) @@ -616,7 +620,7 @@ Partial Class frmMitarbDetails 'Label4 ' Me.Label4.AutoSize = True - Me.Label4.Location = New System.Drawing.Point(461, 494) + Me.Label4.Location = New System.Drawing.Point(461, 539) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(28, 13) Me.Label4.TabIndex = 85 @@ -624,6 +628,8 @@ Partial Class frmMitarbDetails ' 'GroupBox2 ' + Me.GroupBox2.Controls.Add(Me.cboALIASDomain2) + Me.GroupBox2.Controls.Add(Me.txtALIASUser2) Me.GroupBox2.Controls.Add(Me.Label54) Me.GroupBox2.Controls.Add(Me.cboFirmaHaupt) Me.GroupBox2.Controls.Add(Me.cboTeam) @@ -661,11 +667,53 @@ Partial Class frmMitarbDetails Me.GroupBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.GroupBox2.Location = New System.Drawing.Point(2, 245) Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New System.Drawing.Size(709, 243) + Me.GroupBox2.Size = New System.Drawing.Size(709, 288) Me.GroupBox2.TabIndex = 84 Me.GroupBox2.TabStop = False Me.GroupBox2.Text = "Firmendaten" ' + 'cboALIASDomain2 + ' + Me.cboALIASDomain2._allowedValuesFreiText = Nothing + Me.cboALIASDomain2._allowFreiText = False + Me.cboALIASDomain2._value = "" + Me.cboALIASDomain2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cboALIASDomain2.FormattingEnabled = True + Me.cboALIASDomain2.Items.AddRange(New Object() {"Suben", "Salzburg", "Waidhaus", "Nickelsdorf"}) + Me.cboALIASDomain2.Location = New System.Drawing.Point(409, 60) + Me.cboALIASDomain2.Name = "cboALIASDomain2" + Me.cboALIASDomain2.Size = New System.Drawing.Size(116, 21) + Me.cboALIASDomain2.TabIndex = 106 + ' + 'txtALIASUser2 + ' + Me.txtALIASUser2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtALIASUser2.Location = New System.Drawing.Point(524, 60) + Me.txtALIASUser2.Name = "txtALIASUser2" + Me.txtALIASUser2.Size = New System.Drawing.Size(179, 20) + Me.txtALIASUser2.TabIndex = 105 + ' + 'Label54 + ' + Me.Label54.AutoSize = True + Me.Label54.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label54.Location = New System.Drawing.Point(135, 60) + Me.Label54.Name = "Label54" + Me.Label54.Size = New System.Drawing.Size(42, 13) + Me.Label54.TabIndex = 104 + Me.Label54.Text = "Haupt.:" + ' + 'cboFirmaHaupt + ' + Me.cboFirmaHaupt.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cboFirmaHaupt.Enabled = False + Me.cboFirmaHaupt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cboFirmaHaupt.FormattingEnabled = True + Me.cboFirmaHaupt.Location = New System.Drawing.Point(138, 76) + Me.cboFirmaHaupt.Name = "cboFirmaHaupt" + Me.cboFirmaHaupt.Size = New System.Drawing.Size(57, 21) + Me.cboFirmaHaupt.TabIndex = 103 + ' 'cboTeam ' Me.cboTeam._allowedValuesFreiText = Nothing @@ -736,7 +784,7 @@ Partial Class frmMitarbDetails ' Me.Label45.AutoSize = True Me.Label45.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label45.Location = New System.Drawing.Point(548, 87) + Me.Label45.Location = New System.Drawing.Point(548, 104) Me.Label45.Name = "Label45" Me.Label45.Size = New System.Drawing.Size(146, 26) Me.Label45.TabIndex = 97 @@ -747,7 +795,7 @@ Partial Class frmMitarbDetails Me.MyListBox1._value = "" Me.MyListBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.MyListBox1.FormattingEnabled = True - Me.MyListBox1.Location = New System.Drawing.Point(551, 116) + Me.MyListBox1.Location = New System.Drawing.Point(551, 133) Me.MyListBox1.MultiColumn = True Me.MyListBox1.Name = "MyListBox1" Me.MyListBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple @@ -803,7 +851,7 @@ Partial Class frmMitarbDetails Me.cbxEinsteigsDat.Checked = True Me.cbxEinsteigsDat.CheckState = System.Windows.Forms.CheckState.Checked Me.cbxEinsteigsDat.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxEinsteigsDat.Location = New System.Drawing.Point(20, 214) + Me.cbxEinsteigsDat.Location = New System.Drawing.Point(16, 238) Me.cbxEinsteigsDat.Name = "cbxEinsteigsDat" Me.cbxEinsteigsDat.Size = New System.Drawing.Size(15, 14) Me.cbxEinsteigsDat.TabIndex = 90 @@ -813,7 +861,7 @@ Partial Class frmMitarbDetails ' Me.Label30.AutoSize = True Me.Label30.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label30.Location = New System.Drawing.Point(17, 195) + Me.Label30.Location = New System.Drawing.Point(31, 238) Me.Label30.Name = "Label30" Me.Label30.Size = New System.Drawing.Size(81, 13) Me.Label30.TabIndex = 89 @@ -822,7 +870,7 @@ Partial Class frmMitarbDetails 'datEinstiegsdatum ' Me.datEinstiegsdatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.datEinstiegsdatum.Location = New System.Drawing.Point(41, 212) + Me.datEinstiegsdatum.Location = New System.Drawing.Point(113, 234) Me.datEinstiegsdatum.Name = "datEinstiegsdatum" Me.datEinstiegsdatum.Size = New System.Drawing.Size(200, 20) Me.datEinstiegsdatum.TabIndex = 2 @@ -832,7 +880,7 @@ Partial Class frmMitarbDetails Me.cboPosition.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.cboPosition.FormattingEnabled = True Me.cboPosition.Items.AddRange(New Object() {"Suben", "Salzburg", "Waidhaus", "Nickelsdorf"}) - Me.cboPosition.Location = New System.Drawing.Point(406, 76) + Me.cboPosition.Location = New System.Drawing.Point(18, 155) Me.cboPosition.Name = "cboPosition" Me.cboPosition.Size = New System.Drawing.Size(136, 21) Me.cboPosition.TabIndex = 5 @@ -841,7 +889,7 @@ Partial Class frmMitarbDetails ' Me.Label29.AutoSize = True Me.Label29.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label29.Location = New System.Drawing.Point(403, 60) + Me.Label29.Location = New System.Drawing.Point(15, 139) Me.Label29.Name = "Label29" Me.Label29.Size = New System.Drawing.Size(47, 13) Me.Label29.TabIndex = 87 @@ -851,7 +899,7 @@ Partial Class frmMitarbDetails ' Me.datGekuendigtAm.Enabled = False Me.datGekuendigtAm.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.datGekuendigtAm.Location = New System.Drawing.Point(301, 212) + Me.datGekuendigtAm.Location = New System.Drawing.Point(113, 257) Me.datGekuendigtAm.Name = "datGekuendigtAm" Me.datGekuendigtAm.Size = New System.Drawing.Size(200, 20) Me.datGekuendigtAm.TabIndex = 9 @@ -860,7 +908,7 @@ Partial Class frmMitarbDetails ' Me.cbxGekuendigt.AutoSize = True Me.cbxGekuendigt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxGekuendigt.Location = New System.Drawing.Point(301, 194) + Me.cbxGekuendigt.Location = New System.Drawing.Point(16, 262) Me.cbxGekuendigt.Name = "cbxGekuendigt" Me.cbxGekuendigt.Size = New System.Drawing.Size(96, 17) Me.cbxGekuendigt.TabIndex = 8 @@ -870,7 +918,7 @@ Partial Class frmMitarbDetails 'txtEmail ' Me.txtEmail.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtEmail.Location = New System.Drawing.Point(304, 160) + Me.txtEmail.Location = New System.Drawing.Point(304, 204) Me.txtEmail.Name = "txtEmail" Me.txtEmail.Size = New System.Drawing.Size(241, 20) Me.txtEmail.TabIndex = 7 @@ -879,7 +927,7 @@ Partial Class frmMitarbDetails ' Me.Label20.AutoSize = True Me.Label20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label20.Location = New System.Drawing.Point(301, 144) + Me.Label20.Location = New System.Drawing.Point(301, 188) Me.Label20.Name = "Label20" Me.Label20.Size = New System.Drawing.Size(39, 13) Me.Label20.TabIndex = 83 @@ -888,7 +936,7 @@ Partial Class frmMitarbDetails 'txtDurchwahl ' Me.txtDurchwahl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtDurchwahl.Location = New System.Drawing.Point(18, 160) + Me.txtDurchwahl.Location = New System.Drawing.Point(18, 204) Me.txtDurchwahl.Name = "txtDurchwahl" Me.txtDurchwahl.Size = New System.Drawing.Size(272, 20) Me.txtDurchwahl.TabIndex = 6 @@ -897,7 +945,7 @@ Partial Class frmMitarbDetails ' Me.Label19.AutoSize = True Me.Label19.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label19.Location = New System.Drawing.Point(15, 144) + Me.Label19.Location = New System.Drawing.Point(15, 188) Me.Label19.Name = "Label19" Me.Label19.Size = New System.Drawing.Size(86, 13) Me.Label19.TabIndex = 81 @@ -1034,6 +1082,19 @@ Partial Class frmMitarbDetails Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Person" ' + 'cbxChatBenutzer + ' + Me.cbxChatBenutzer.AutoSize = True + Me.cbxChatBenutzer.Checked = True + Me.cbxChatBenutzer.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxChatBenutzer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxChatBenutzer.Location = New System.Drawing.Point(304, 194) + Me.cbxChatBenutzer.Name = "cbxChatBenutzer" + Me.cbxChatBenutzer.Size = New System.Drawing.Size(93, 17) + Me.cbxChatBenutzer.TabIndex = 93 + Me.cbxChatBenutzer.Text = "Chat-Benutzer" + Me.cbxChatBenutzer.UseVisualStyleBackColor = True + ' 'cbxTestaccount ' Me.cbxTestaccount.AutoSize = True @@ -1285,7 +1346,7 @@ Partial Class frmMitarbDetails ' 'txtInfo ' - Me.txtInfo.Location = New System.Drawing.Point(464, 510) + Me.txtInfo.Location = New System.Drawing.Point(464, 555) Me.txtInfo.Name = "txtInfo" Me.txtInfo.Size = New System.Drawing.Size(245, 184) Me.txtInfo.TabIndex = 0 @@ -1337,7 +1398,7 @@ Partial Class frmMitarbDetails Me.TabPage3.Location = New System.Drawing.Point(4, 22) Me.TabPage3.Name = "TabPage3" Me.TabPage3.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage3.Size = New System.Drawing.Size(715, 700) + Me.TabPage3.Size = New System.Drawing.Size(715, 747) Me.TabPage3.TabIndex = 1 Me.TabPage3.Text = "Programme" Me.TabPage3.UseVisualStyleBackColor = True @@ -1772,46 +1833,12 @@ Partial Class frmMitarbDetails Me.Label7.TabIndex = 78 Me.Label7.Text = "Berechtigung:" ' - 'cboFirmaHaupt - ' - Me.cboFirmaHaupt.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.cboFirmaHaupt.Enabled = False - Me.cboFirmaHaupt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cboFirmaHaupt.FormattingEnabled = True - Me.cboFirmaHaupt.Location = New System.Drawing.Point(138, 76) - Me.cboFirmaHaupt.Name = "cboFirmaHaupt" - Me.cboFirmaHaupt.Size = New System.Drawing.Size(57, 21) - Me.cboFirmaHaupt.TabIndex = 103 - ' - 'Label54 - ' - Me.Label54.AutoSize = True - Me.Label54.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label54.Location = New System.Drawing.Point(135, 60) - Me.Label54.Name = "Label54" - Me.Label54.Size = New System.Drawing.Size(42, 13) - Me.Label54.TabIndex = 104 - Me.Label54.Text = "Haupt.:" - ' - 'cbxChatBenutzer - ' - Me.cbxChatBenutzer.AutoSize = True - Me.cbxChatBenutzer.Checked = True - Me.cbxChatBenutzer.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxChatBenutzer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxChatBenutzer.Location = New System.Drawing.Point(304, 194) - Me.cbxChatBenutzer.Name = "cbxChatBenutzer" - Me.cbxChatBenutzer.Size = New System.Drawing.Size(93, 17) - Me.cbxChatBenutzer.TabIndex = 93 - Me.cbxChatBenutzer.Text = "Chat-Benutzer" - Me.cbxChatBenutzer.UseVisualStyleBackColor = True - ' 'frmMitarbDetails ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.WhiteSmoke - Me.ClientSize = New System.Drawing.Size(747, 841) + Me.ClientSize = New System.Drawing.Size(747, 892) Me.Controls.Add(Me.TabControl2) Me.Controls.Add(Me.btnCancel) Me.Controls.Add(Me.btnOK) @@ -1992,4 +2019,6 @@ Partial Class frmMitarbDetails Friend WithEvents Label54 As Label Friend WithEvents cboFirmaHaupt As ComboBox Friend WithEvents cbxChatBenutzer As CheckBox + Friend WithEvents cboALIASDomain2 As VERAG_PROG_ALLGEMEIN.MyComboBox + Friend WithEvents txtALIASUser2 As TextBox End Class diff --git a/UID/Mitarbeiter/frmMitarbDetails.vb b/UID/Mitarbeiter/frmMitarbDetails.vb index 9c48790..3c05e76 100644 --- a/UID/Mitarbeiter/frmMitarbDetails.vb +++ b/UID/Mitarbeiter/frmMitarbDetails.vb @@ -77,6 +77,16 @@ cboALIASDomain.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG-NCTS (ATILLA)", "VERAG-NCTS")) cboALIASDomain.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISU.AT")) + cboALIASDomain2.Items.Clear() + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAGOST", "VERAGOST")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG-SBG", "VERAG-SBG")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAGNEUHAUS", "VERAGNEUHAUS")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG-NCTS (ATILLA)", "VERAG-NCTS")) + cboALIASDomain2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISU.AT")) + + cboFirma.Items.Clear() cboFirma.Items.Add("VERAG") @@ -229,6 +239,9 @@ cboALIASDomain.changeItem(mitarbeiter.mit_AliasAD_Domain) txtALIASUser.Text = mitarbeiter.mit_AliasAD_Username + cboALIASDomain2.changeItem(mitarbeiter.mit_AliasAD_Domain2) + txtALIASUser2.Text = mitarbeiter.mit_AliasAD_Username2 + If mitarbeiter.mit_firma = "ALL" Then cboFirma.Text = "ALLE" @@ -469,6 +482,8 @@ mitarbeiter.mit_TELOTEC_SB = txtTelotecSB.Text mitarbeiter.mit_AliasAD_Domain = cboALIASDomain._value mitarbeiter.mit_AliasAD_Username = txtALIASUser.Text + mitarbeiter.mit_AliasAD_Domain2 = cboALIASDomain2._value + mitarbeiter.mit_AliasAD_Username2 = txtALIASUser2.Text mitarbeiter.mit_teamId = If(cboTeam._value = "", Nothing, cboTeam._value) diff --git a/UID/My Project/Resources.Designer.vb b/UID/My Project/Resources.Designer.vb index a059e52..d898ee3 100644 --- a/UID/My Project/Resources.Designer.vb +++ b/UID/My Project/Resources.Designer.vb @@ -635,7 +635,7 @@ Namespace My.Resources End Property ''' - ''' Sucht eine lokalisierte Zeichenfolge, die 1.9.2 ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die 1.9.6 ähnelt. ''' Friend ReadOnly Property Version() As String Get diff --git a/UID/My Project/Resources.resx b/UID/My Project/Resources.resx index 29926e5..b3d62c2 100644 --- a/UID/My Project/Resources.resx +++ b/UID/My Project/Resources.resx @@ -188,7 +188,7 @@ Data Source=SQLGUIDE01.verag.ost.dmn\SQLEXPRESS;Initial Catalog=ADMIN;Integrated Security=false;User ID=sa;Password=BmWr501956; - 1.9.2 + 1.9.6 ..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/UID/Resources/Dienstplan Variabel Monat AMBAR.xlsx b/UID/Resources/Dienstplan Variabel Monat AMBAR.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6542a3f6f7b7f42d09a69d9d1bded23847bcb61e GIT binary patch literal 35408 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 XA}V}v{@&8zBZ$NOQn$gs|N8#`E+fDd literal 0 HcmV?d00001 diff --git a/UID/Resources/Dienstplan Variabel Monat IMEX.xlsx b/UID/Resources/Dienstplan Variabel Monat IMEX.xlsx index 364c6d631afb8a82c258a9abbc0b32bff43e7f14..0732b7d7c355bb20366c45269c44b3e4d510cbd9 100644 GIT binary patch delta 4905 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 VR;K^fp6yn#HuoV^NhW^|{|CH0Y32X` delta 4779 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 SS+P+X1MC+k(2?n%5dQ*RG)oZx delta 4843 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Ν6bGNSWhb?K;#SpH{|8|C z4ZKlphg%P9xzc2P;Zce)#~KR>vRv7xS;tH0w`Es+LdGY5xBOSItXF&$$C+AKnQ&Wx zjWt0v;eSKKzh>_Uh(}G$|)=8W_Tp zes>WYCo1xPkbzg^jMA-{gv9KM_L&}lp39x9Eh;MrVJeqZxjXYrt;mMplb;4l_`CVP z-HTkgkC}SjjO5mb{Jo!L1^Jl*Q)>u`LEA}L;$MTdAJ+XoQ^J6Mll2iE>-ZV*7x$hF zW4{SO*-@K@Civsm)84FS$E-q?LluiNC%p=PF91Uct&fNvXIIq@m2X7_?NK5yehkh;09m;RC^d&4HjF31hlwHXr zA`!JFR=+$k7O6B9W?NhlaYy=@u?nPT<#dMF71wdNxHdn(c5Z>xDRUPr3ptdQmg;L< z9Wm;}q5KZQWoy_?@UPoILxqp)?}A(C4e6xK;!;SK*Y@^K=lA@FhKk8OVt@c;Ovxe-D{&3Ca zgm40Y&jH!p!yd1Ahuqzw$=0h9l%-hX`+3DVg_hmQ`i&B)*m8y)Y^daRpf2zG1-?8n zmWluTKU>}gf9C*1aw9%Vt>UZb3qQ{GjZ7SdtivG%`k=mHNR zbF?juy1qCi3ssfa-MzqPYSnSO9bJyk6f1qUK=s|~cAMCk1U$+oV#1a1L*BvZY$|}; zI>ks4qo3UGh^9Z&cW^t>%TAP9wa2}SJeM}QP`IV9WsPC_PIDK7LO1meT}8D x(jkRlO{~;O`>`0Sd!%=;OI8A0e '" & datumMontag.ToShortDateString & "' ", "ADMIN",,, -1) + If exists <= 0 Then Return NormalWochenstunden + + For i = 0 To 4 + Dim abw = sql.getValueTxtBySql("SELECT TOP 1 [dstaw_std] FROM [tblDienstMitarbAbweichendeWochenstunden] where [dstaw_dstmaId]='" & dstmaId & "' and '" & datumMontag.AddDays(i).ToShortDateString & "' between dstaw_von and dstaw_bis", "ADMIN",,, -1) + + If abw > 0 Then + GET_STD += abw / 5 + abw_bool = True + Else + If False Then 'TZTagesStunden > 0 Then + GET_STD += TZTagesStunden + Else + GET_STD += NormalWochenstunden / 5 + End If + End If + Next + If Not abw_bool Then GET_STD = NormalWochenstunden ' Wenn keine Abweicheung, einfach normal belassen... + End Function + + + + Shared Function GET_STD_LIST(STD_LIST As List(Of cDienstMitarbAbweichendeWochenstunden), dstmaId As Integer, datumMontag As Date, NormalWochenstunden As Integer, TZTagesStunden As Integer) As Double + If STD_LIST Is Nothing Then Return NormalWochenstunden + GET_STD_LIST = 0 + Dim abw_bool As Boolean = False + + For i = 0 To 4 + Dim abw = 0 + For Each l In STD_LIST + If l.dstaw_dstmaId = dstmaId AndAlso (datumMontag.AddDays(i) >= l.dstaw_von And datumMontag.AddDays(i) <= l.dstaw_bis) Then + abw = l.dstaw_std + End If + Next + + If abw > 0 Then + GET_STD_LIST += abw / 5 + abw_bool = True + Else + If False Then 'TZTagesStunden > 0 Then + GET_STD_LIST += TZTagesStunden + Else + GET_STD_LIST += NormalWochenstunden / 5 + End If + End If + Next + If Not abw_bool Then GET_STD_LIST = NormalWochenstunden ' Wenn keine Abweicheung, einfach normal belassen... + End Function + +End Class diff --git a/UID/cProgramFunctions.vb b/UID/cProgramFunctions.vb index 5e57551..1c8801c 100644 --- a/UID/cProgramFunctions.vb +++ b/UID/cProgramFunctions.vb @@ -901,8 +901,9 @@ Public Class cProgramFunctions Dim SQLDienst As New cDienstplan - Public Function getWochenstunden(Wochenstunden As Double, datum As Date, SCHICHT As String, dstma_id As Integer, dstma_muster As Boolean, dstma_WEStdRegelAZ As Boolean, dstma_arbvh As String, niederlassung As String, StdFeiertag As Object) As Double - getWochenstunden = Wochenstunden + Public Function getWochenstunden(STD_LIST As List(Of cDienstMitarbAbweichendeWochenstunden), Wochenstunden As Double, datum As Date, SCHICHT As String, dstma_id As Integer, dstma_muster As Boolean, dstma_WEStdRegelAZ As Boolean, dstma_arbvh As String, niederlassung As String, StdFeiertag As Object) As Double + getWochenstunden = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(STD_LIST, dstma_id, datum, Wochenstunden, If(StdFeiertag, -1)) + Dim UrlStd As Double = 8 If StdFeiertag IsNot Nothing Then UrlStd = StdFeiertag @@ -1046,7 +1047,7 @@ Public Class cProgramFunctions End Function - Public Sub KWAbschluss(niederlassung, aktJahr, aktWoche, SCHICHT) + Public Sub KWAbschluss(STD_LIST, niederlassung, aktJahr, aktWoche, SCHICHT) Try Dim SQLDienst As New cDienstplan @@ -1069,7 +1070,7 @@ Public Class cProgramFunctions If IsNumeric(ma.dstma_wochenStunden) Then Wochenstunden = ma.dstma_wochenStunden ' MsgBox(Wochenstunden) - Wochenstunden = cPF.getWochenstunden(Wochenstunden, datum, SCHICHT, r("dstma_id"), ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd) + Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r("dstma_id"), ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd) Dim tatStd As Double = SQLDienst.getDstStunden(r("dstma_id"), datum_montag, datum_montag.AddDays(6), niederlassung) ' : ANDERES ERG"""""!!!!!!!!!!!!!!!!!!!! diff --git a/UID/cSqlDb.vb b/UID/cSqlDb.vb index 02d252c..52c2954 100644 --- a/UID/cSqlDb.vb +++ b/UID/cSqlDb.vb @@ -1512,8 +1512,12 @@ Public Class cMitarbeiter 'Änderung Dim sql = "INSERT INTO tblMitarbeiter " & - "(mit_username, mit_pwd, mit_geschlecht, mit_affix, mit_vname, mit_nname, mit_gebdat, mit_strasse,mit_hausnr,mit_land,mit_plz,mit_ort,mit_niederlassung, mit_abteilung, mit_position, mit_durchwahl, mit_email, mit_mobiltel, mit_allowAnruf,mit_info, mit_einstiegsdatum, mit_gekuendigt, mit_kuendigungsdatum, mit_foto,mit_firma,mit_firmaFMZoll,mit_FMZollPersID,mit_FMZollPersIDKasseIsnotSpedBuch,mit_FMZollPersIDSpedBuch,mit_standartFiliale,mit_DpUserStandardDP,mit_EZOLL_SB,mit_ATLAS_SB,mit_FirmenDatenAnzeige,mit_DAKOSY_SB,mit_DAKOSY_SBFull,mit_DpUserStandardFirma,mit_DpUserStandardFirma2,mit_TESTonly,mit_PasswortChanged,mit_TELOTEC_SB,mit_AliasAD_Domain,mit_AliasAD_Username,mit_teamId,mit_ChatBenutzer,mit_FirmaHaupt) VALUES " & - "(@mit_username,@mit_pwd,@mit_geschlecht,@mit_affix,@mit_vname,@mit_nname,@mit_gebdat,@mit_strasse,@mit_hausnr,@mit_land,@mit_plz,@mit_ort,@mit_niederlassung,@mit_abteilung,@mit_position,@mit_durchwahl,@mit_email,@mit_mobiltel,@mit_allowAnruf,@mit_info,@mit_einstiegsdatum,@mit_gekuendigt,@mit_kuendigungsdatum,@mit_foto,@mit_firma,@mit_firmaFMZoll,@mit_FMZollPersID,@mit_FMZollPersIDKasseIsnotSpedBuch,@mit_FMZollPersIDSpedBuch,@mit_standartFiliale,@mit_DpUserStandardDP,@mit_EZOLL_SB,@mit_ATLAS_SB,@mit_FirmenDatenAnzeige,@mit_DAKOSY_SB,@mit_DAKOSY_SBFull,@mit_DpUserStandardFirma,@mit_DpUserStandardFirma2,@mit_TESTonly,@mit_PasswortChanged,@mit_TELOTEC_SB,@mit_AliasAD_Domain,@mit_AliasAD_Username,@mit_teamId,@mit_ChatBenutzer,@mit_FirmaHaupt )" + "(mit_username, mit_pwd, mit_geschlecht, mit_affix, mit_vname, mit_nname, mit_gebdat, mit_strasse,mit_hausnr,mit_land,mit_plz,mit_ort,mit_niederlassung, mit_abteilung, mit_position, mit_durchwahl, mit_email, mit_mobiltel, mit_allowAnruf,mit_info, mit_einstiegsdatum, mit_gekuendigt, mit_kuendigungsdatum, mit_foto,mit_firma,mit_firmaFMZoll,mit_FMZollPersID,mit_FMZollPersIDKasseIsnotSpedBuch,mit_FMZollPersIDSpedBuch,mit_standartFiliale,mit_DpUserStandardDP,mit_EZOLL_SB,mit_ATLAS_SB,mit_FirmenDatenAnzeige,mit_DAKOSY_SB,mit_DAKOSY_SBFull,mit_DpUserStandardFirma,mit_DpUserStandardFirma2,mit_TESTonly,mit_PasswortChanged,mit_TELOTEC_SB,mit_AliasAD_Domain,mit_AliasAD_Username,mit_AliasAD_Domain2,mit_AliasAD_Username2,mit_teamId,mit_ChatBenutzer,mit_FirmaHaupt,mit_ChatEasteregg,mit_MAVerzeichnis_SettingsTstmp,mit_MAVerzeichnis_allowGebDat,mit_MAVerzeichnis_allowWohnadresse,mit_MAVerzeichnis_allowGebDatOhneJahr,mit_MAVerzeichnis_Spitzname,mit_foto_DocId,mit_MAVerzeichnis_Motto ) VALUES " & + "(@mit_username,@mit_pwd,@mit_geschlecht,@mit_affix,@mit_vname,@mit_nname,@mit_gebdat,@mit_strasse,@mit_hausnr,@mit_land,@mit_plz,@mit_ort,@mit_niederlassung,@mit_abteilung,@mit_position,@mit_durchwahl,@mit_email,@mit_mobiltel,@mit_allowAnruf,@mit_info,@mit_einstiegsdatum,@mit_gekuendigt,@mit_kuendigungsdatum,@mit_foto,@mit_firma,@mit_firmaFMZoll,@mit_FMZollPersID,@mit_FMZollPersIDKasseIsnotSpedBuch,@mit_FMZollPersIDSpedBuch,@mit_standartFiliale,@mit_DpUserStandardDP,@mit_EZOLL_SB,@mit_ATLAS_SB,@mit_FirmenDatenAnzeige,@mit_DAKOSY_SB,@mit_DAKOSY_SBFull,@mit_DpUserStandardFirma,@mit_DpUserStandardFirma2,@mit_TESTonly,@mit_PasswortChanged,@mit_TELOTEC_SB,@mit_AliasAD_Domain,@mit_AliasAD_Username,@mit_AliasAD_Domain2,@mit_AliasAD_Username2,@mit_teamId,@mit_ChatBenutzer,@mit_FirmaHaupt,@mit_ChatEasteregg,@mit_MAVerzeichnis_SettingsTstmp,@mit_MAVerzeichnis_allowGebDat,@mit_MAVerzeichnis_allowWohnadresse,@mit_MAVerzeichnis_allowGebDatOhneJahr,@mit_MAVerzeichnis_Spitzname,@mit_foto_DocId,@mit_MAVerzeichnis_Motto )" + + + + Using conn As SqlConnection = cSqlDb.GetNewOpenConnection() Using cmd As New SqlCommand(sql, conn) @@ -1561,11 +1565,23 @@ Public Class cMitarbeiter cmd.Parameters.AddWithValue("@mit_TELOTEC_SB", If(m.mit_TELOTEC_SB, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_AliasAD_Domain", If(m.mit_AliasAD_Domain, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_AliasAD_Username", If(m.mit_AliasAD_Username, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_AliasAD_Domain2", If(m.mit_AliasAD_Domain2, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_AliasAD_Username2", If(m.mit_AliasAD_Username2, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_teamId", If(m.mit_teamId, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_ChatBenutzer", m.mit_ChatBenutzer) cmd.Parameters.AddWithValue("@mit_FirmaHaupt", If(m.mit_FirmaHaupt, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_ChatEasteregg", m.mit_ChatEasteregg) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_SettingsTstmp ", If(m.mit_MAVerzeichnis_SettingsTstmp, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowGebDat ", m.mit_MAVerzeichnis_allowGebDat) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowWohnadresse ", m.mit_MAVerzeichnis_allowWohnadresse) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowGebDatOhneJahr ", m.mit_MAVerzeichnis_allowGebDatOhneJahr) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_Spitzname ", If(m.mit_MAVerzeichnis_Spitzname, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_foto_DocId", If(m.mit_foto_DocId, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_Motto", If(m.mit_MAVerzeichnis_Motto, DBNull.Value)) + + Try cmd.ExecuteNonQuery() Return True @@ -1582,7 +1598,8 @@ Public Class cMitarbeiter Dim hAuswahl As String = "" Dim sql = "UPDATE tblMitarbeiter " & - "SET mit_username=@mit_username, mit_pwd=@mit_pwd, mit_geschlecht=@mit_geschlecht, mit_affix=@mit_affix, mit_vname=@mit_vname, mit_nname=@mit_nname, mit_gebdat=@mit_gebdat, mit_strasse=@mit_strasse, mit_hausnr=@mit_hausnr, mit_land=@mit_land, mit_plz=@mit_plz, mit_ort=@mit_ort, mit_niederlassung=@mit_niederlassung, mit_abteilung=@mit_abteilung, mit_position=@mit_position, mit_durchwahl=@mit_durchwahl, mit_email=@mit_email, mit_mobiltel=@mit_mobiltel, mit_allowAnruf=@mit_allowAnruf, mit_info=@mit_info, mit_einstiegsdatum=@mit_einstiegsdatum, mit_gekuendigt=@mit_gekuendigt, mit_kuendigungsdatum=@mit_kuendigungsdatum, mit_foto=@mit_foto, mit_firma=@mit_firma,mit_firmaFMZoll=@mit_firmaFMZoll,mit_FMZollPersID=@mit_FMZollPersID, mit_FMZollPersIDKasseIsnotSpedBuch=@mit_FMZollPersIDKasseIsnotSpedBuch,mit_FMZollPersIDSpedBuch=@mit_FMZollPersIDSpedBuch,mit_standartFiliale=@mit_standartFiliale,mit_standardPreisliste=@mit_standardPreisliste,mit_DpUserStandardDP=@mit_DpUserStandardDP, mit_EZOLL_SB=@mit_EZOLL_SB, mit_ATLAS_SB=@mit_ATLAS_SB,mit_FirmenDatenAnzeige=@mit_FirmenDatenAnzeige,mit_DAKOSY_SB=@mit_DAKOSY_SB, mit_DAKOSY_SBFull=@mit_DAKOSY_SBFull ,mit_DpUserStandardFirma=@mit_DpUserStandardFirma,mit_DpUserStandardFirma2=@mit_DpUserStandardFirma2, mit_TESTonly=@mit_TESTonly,mit_PasswortChanged=@mit_PasswortChanged,mit_TELOTEC_SB=@mit_TELOTEC_SB,mit_AliasAD_Domain=@mit_AliasAD_Domain,mit_AliasAD_Username=@mit_AliasAD_Username,mit_teamId=@mit_teamId,mit_ChatBenutzer=@mit_ChatBenutzer,mit_FirmaHaupt=@mit_FirmaHaupt " & + "SET mit_username=@mit_username, mit_pwd=@mit_pwd, mit_geschlecht=@mit_geschlecht, mit_affix=@mit_affix, mit_vname=@mit_vname, mit_nname=@mit_nname, mit_gebdat=@mit_gebdat, mit_strasse=@mit_strasse, mit_hausnr=@mit_hausnr, mit_land=@mit_land, mit_plz=@mit_plz, mit_ort=@mit_ort, mit_niederlassung=@mit_niederlassung, mit_abteilung=@mit_abteilung, mit_position=@mit_position, mit_durchwahl=@mit_durchwahl, mit_email=@mit_email, mit_mobiltel=@mit_mobiltel, mit_allowAnruf=@mit_allowAnruf, mit_info=@mit_info, mit_einstiegsdatum=@mit_einstiegsdatum, mit_gekuendigt=@mit_gekuendigt, mit_kuendigungsdatum=@mit_kuendigungsdatum, mit_foto=@mit_foto, mit_firma=@mit_firma,mit_firmaFMZoll=@mit_firmaFMZoll,mit_FMZollPersID=@mit_FMZollPersID, mit_FMZollPersIDKasseIsnotSpedBuch=@mit_FMZollPersIDKasseIsnotSpedBuch,mit_FMZollPersIDSpedBuch=@mit_FMZollPersIDSpedBuch,mit_standartFiliale=@mit_standartFiliale,mit_standardPreisliste=@mit_standardPreisliste,mit_DpUserStandardDP=@mit_DpUserStandardDP, mit_EZOLL_SB=@mit_EZOLL_SB, mit_ATLAS_SB=@mit_ATLAS_SB,mit_FirmenDatenAnzeige=@mit_FirmenDatenAnzeige,mit_DAKOSY_SB=@mit_DAKOSY_SB, mit_DAKOSY_SBFull=@mit_DAKOSY_SBFull ,mit_DpUserStandardFirma=@mit_DpUserStandardFirma,mit_DpUserStandardFirma2=@mit_DpUserStandardFirma2, mit_TESTonly=@mit_TESTonly,mit_PasswortChanged=@mit_PasswortChanged,mit_TELOTEC_SB=@mit_TELOTEC_SB,mit_AliasAD_Domain=@mit_AliasAD_Domain,mit_AliasAD_Username=@mit_AliasAD_Username,mit_AliasAD_Domain2=@mit_AliasAD_Domain2,mit_AliasAD_Username2=@mit_AliasAD_Username2,mit_teamId=@mit_teamId,mit_ChatBenutzer=@mit_ChatBenutzer,mit_FirmaHaupt=@mit_FirmaHaupt " & + " ,mit_ChatEasteregg=@mit_ChatEasteregg,mit_MAVerzeichnis_SettingsTstmp=@mit_MAVerzeichnis_SettingsTstmp,mit_MAVerzeichnis_allowGebDat=@mit_MAVerzeichnis_allowGebDat,mit_MAVerzeichnis_allowWohnadresse=@mit_MAVerzeichnis_allowWohnadresse,mit_MAVerzeichnis_allowGebDatOhneJahr=@mit_MAVerzeichnis_allowGebDatOhneJahr,mit_MAVerzeichnis_Spitzname=@mit_MAVerzeichnis_Spitzname,mit_foto_DocId=@mit_foto_DocId,mit_MAVerzeichnis_Motto=@mit_MAVerzeichnis_Motto " & " WHERE mit_id=@mit_id " @@ -1636,11 +1653,24 @@ Public Class cMitarbeiter cmd.Parameters.AddWithValue("@mit_TELOTEC_SB", If(m.mit_TELOTEC_SB, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_AliasAD_Domain", If(m.mit_AliasAD_Domain, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_AliasAD_Username", If(m.mit_AliasAD_Username, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_AliasAD_Domain2", If(m.mit_AliasAD_Domain2, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_AliasAD_Username2", If(m.mit_AliasAD_Username2, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_teamId", If(m.mit_teamId, DBNull.Value)) cmd.Parameters.AddWithValue("@mit_ChatBenutzer", m.mit_ChatBenutzer) cmd.Parameters.AddWithValue("@mit_FirmaHaupt", If(m.mit_FirmaHaupt, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_ChatEasteregg", m.mit_ChatEasteregg) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_SettingsTstmp ", If(m.mit_MAVerzeichnis_SettingsTstmp, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowGebDat ", m.mit_MAVerzeichnis_allowGebDat) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowWohnadresse ", m.mit_MAVerzeichnis_allowWohnadresse) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_allowGebDatOhneJahr ", m.mit_MAVerzeichnis_allowGebDatOhneJahr) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_Spitzname ", If(m.mit_MAVerzeichnis_Spitzname, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_foto_DocId", If(m.mit_foto_DocId, DBNull.Value)) + cmd.Parameters.AddWithValue("@mit_MAVerzeichnis_Motto", If(m.mit_MAVerzeichnis_Motto, DBNull.Value)) + + + Try cmd.ExecuteNonQuery() diff --git a/UID/frmLogin.vb b/UID/frmLogin.vb index e4991ea..46f7195 100644 --- a/UID/frmLogin.vb +++ b/UID/frmLogin.vb @@ -54,9 +54,11 @@ Public Class frmLogin Dim pf As New cProgramFunctions Dim kw As Integer = pf.DateToWeek(Now.AddDays(-1)).Substring(4) Dim year As Integer = Now.AddDays(-1).Year - If parameter(i) = "initDP_ATILLA" Then pf.KWAbschluss("ATILLA", year, kw, pf.getSchicht(kw, year)) : Application.Exit() - If parameter(i) = "initDP_SUB" Then pf.KWAbschluss("SUB", year, kw, pf.getSchicht(kw, year)) : Application.Exit() - If parameter(i) = "initDP_WAI" Then pf.KWAbschluss("WAI", year, kw, pf.getSchicht(kw, year)) : Application.Exit() + Dim STD_LIST = cDienstMitarbAbweichendeWochenstunden.GET_STD_LIST(frmDienstplanVariabel.CalendarWeek(kw, year)) + + If parameter(i) = "initDP_ATILLA" Then pf.KWAbschluss(STD_LIST, "ATILLA", year, kw, pf.getSchicht(kw, year)) : Application.Exit() + If parameter(i) = "initDP_SUB" Then pf.KWAbschluss(STD_LIST, "SUB", year, kw, pf.getSchicht(kw, year)) : Application.Exit() + If parameter(i) = "initDP_WAI" Then pf.KWAbschluss(STD_LIST, "WAI", year, kw, pf.getSchicht(kw, year)) : Application.Exit() Next End If diff --git a/UID/usrctlProcedures.vb b/UID/usrctlProcedures.vb index 07f0d86..ba45695 100644 --- a/UID/usrctlProcedures.vb +++ b/UID/usrctlProcedures.vb @@ -1703,15 +1703,15 @@ Public Class usrctlProcedures End Function Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click - Dim pf As New cProgramFunctions + 'Dim pf As New cProgramFunctions - For i = CInt(TextBox6.Text) To CInt(TextBox7.Text) + 'For i = CInt(TextBox6.Text) To CInt(TextBox7.Text) - Dim kw = i - Dim jahr = TextBox5.Text - pf.KWAbschluss(TextBox4.Text, jahr, kw, getSchicht(kw, jahr)) + ' Dim kw = i + ' Dim jahr = TextBox5.Text + ' pf.KWAbschluss(TextBox4.Text, jahr, kw, getSchicht(kw, jahr)) - Next + 'Next End Sub Function getSchicht(aktWoche, aktJahr) As String diff --git a/cNCTSPartnerWorker/cNCTS_TR.vb b/cNCTSPartnerWorker/cNCTS_TR.vb index 299e407..7b0d329 100644 --- a/cNCTSPartnerWorker/cNCTS_TR.vb +++ b/cNCTSPartnerWorker/cNCTS_TR.vb @@ -167,6 +167,21 @@ Public Class cNCTS_TR Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Function GET_SHIPMENTS(Partnersystem, VorpapierArt, VorpapierNr) As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL) + GET_SHIPMENTS = New List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL) + Dim dt = SQL.loadDgvBySql("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'", "FMZOLL") + MsgBox("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'") + If dt IsNot Nothing Then + For Each r In dt.Rows + Dim SH As New VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL(CInt(r("shTr_id"))) + If SH IsNot Nothing Then + GET_SHIPMENTS.Add(SH) + End If + Next + End If + + End Function + Sub New() End Sub diff --git a/initATLASAufschubkonten/EZollAufschubEinlesen.vb b/initATLASAufschubkonten/EZollAufschubEinlesen.vb index 7c02f48..329e617 100644 --- a/initATLASAufschubkonten/EZollAufschubEinlesen.vb +++ b/initATLASAufschubkonten/EZollAufschubEinlesen.vb @@ -32,7 +32,7 @@ Public Class EZollAufschubEinlesen LeistungsNr = "76" Case Else '1BD,0ML, 0PB, 0PG, 0PS, 1LG, 1ZN, 2AS, 2KO, 2RB, 2SB, 2SI, 2VF, 2VS, 5SI, 5VS, 6AK, 6BE, 6MS, 6SS, 6TS, 6ZW, 9EA, D00,D10,E00 LeistungsNr = "482" - LeistungsBez = getLeistungsBez(d1.Abgabenart) + LeistungsBez = DAKOSY_Worker.cZOLL_IMPORT.getLeistungsBez(d1.Abgabenart) End Select If saveAbgaben Then @@ -64,114 +64,6 @@ Public Class EZollAufschubEinlesen 'MsgBox("TEST3") End Sub - Function getLeistungsBez(LeistungsBez) - Select Case LeistungsBez - Case "0ML" - getLeistungsBez = "Altlastenbeitrag" - Case "0PB" - getLeistungsBez = "Punzierungskontrollgeb. Platin" - Case "0PG" - getLeistungsBez = "Punzierungskontrollgebühr Gold" - Case "0PS" - getLeistungsBez = "Punzierungskontrollgeb. Silber" - Case "1BD" - getLeistungsBez = "Bemessungsdatum" - Case "1LG" - getLeistungsBez = "Lagergeld gemäß §104 ZollR-DG" - Case "1ZK" - getLeistungsBez = "Kreditzinsen, Säumniszinsen" - Case "1ZN" - getLeistungsBez = "Nebenansprüche" - Case "2AS" - getLeistungsBez = "Agrarsicherheiten" - Case "2DU" - getLeistungsBez = "Antidumping-Sicherheit" - Case "2EU" - getLeistungsBez = "EUSt-Sicherheit" - Case "2IG" - getLeistungsBez = "Sicherheit EUSt ig. Lieferung" - Case "2KO" - getLeistungsBez = "Sicherheit für Kontingent" - Case "2PE" - getLeistungsBez = "Sicherheit bei Einfuhrwerten" - Case "2RB" - getLeistungsBez = "Sicherheit Bürgerschaft" - Case "2SB" - getLeistungsBez = "Summe der befreiten Sicherheit" - Case "2SI" - getLeistungsBez = "Sicherheit Geldbetragerlag" - Case "2VF" - getLeistungsBez = "Sicherheit bei Verifizierung" - Case "2VS" - getLeistungsBez = "Summe der vorg. Sicherheit" - Case "2ZG" - getLeistungsBez = "Zusatzzoll Geflügel" - Case "2ZZ" - getLeistungsBez = "Zusatzzoll Zucker" - Case "2ZZ" - getLeistungsBez = "Zusatzzoll 2ZZ" - Case "5DU" - getLeistungsBez = "Antidumping-und Ausgleichszoll" - Case "5EU" - getLeistungsBez = "Einfuhrumsatzsteuer" - Case "5EV" - getLeistungsBez = "EUSt gem. §26 Abs. 3Z.2UStG" - Case "5SI" - getLeistungsBez = "Agrarsicherheit" - Case "5VS" - getLeistungsBez = "Verbrauchsteuern" - Case "5ZO" - getLeistungsBez = "Zoll 5ZO" - Case "5ZZ" - getLeistungsBez = "Zusatzzoll 5ZZ" - Case "6AK" - getLeistungsBez = "Alkoholsteuer" - Case "6BE" - getLeistungsBez = "Biersteuer" - Case "6MS" - getLeistungsBez = "Mineralölsteuer" - Case "6SS" - getLeistungsBez = "Schaumweinsteuer" - Case "6TS" - getLeistungsBez = "Tabaksteuer" - Case "6ZW" - getLeistungsBez = "Zwischenerzeugnissteuer" - Case "9EA" - getLeistungsBez = "Summe Gesamtabgaben" - Case "A00" - getLeistungsBez = "Zölle auf gewerbliche Waren" - Case "A00" - getLeistungsBez = "Zollabgaben" - Case "A10" - getLeistungsBez = "Zölle landwirt. Erzeugnisse" - Case "A20" - getLeistungsBez = "Zusatzzölle" - Case "A30" - getLeistungsBez = "endgültige Antidumpingzölle" - Case "A35" - getLeistungsBez = "vorläufige Antidumpingzölle" - Case "A40" - getLeistungsBez = "endgültiger Ausgleichszoll" - Case "A45" - getLeistungsBez = "vorläufiger Ausgleichszoll" - Case "B00" - getLeistungsBez = "Einfuhrumsatzsteuer(EUSt)" - Case "B10" - getLeistungsBez = "Ausgleichszinsen(EUSt)" - Case "C00" - getLeistungsBez = "Ausfuhrabgaben" - Case "C10" - getLeistungsBez = "Ausfuhrabg. landwirt. Erzeug." - Case "D00" - getLeistungsBez = "Verzugszinsen" - Case "D10" - getLeistungsBez = "Ausgleichszinsen" - Case "E00" - getLeistungsBez = "Abgaben anderer Länder" - Case Else - getLeistungsBez = "" - End Select - End Function Public Function loadSqlZOLARIS(ByVal datumVon As DateTime, ByVal datumBis As DateTime, Optional where As String = "") As List(Of cEZollData) Try diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.Designer.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.Designer.vb index 650a220..0889910 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.Designer.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.Designer.vb @@ -27,6 +27,8 @@ Partial Class frmDYNachrichtenVerarbeitung Me.btn = New System.Windows.Forms.Button() Me.pnl = New System.Windows.Forms.Panel() Me.dgvEinarbeitung = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) + Me.clmnArt = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Label9 = New System.Windows.Forms.Label() Me.Button2 = New System.Windows.Forms.Button() Me.Label7 = New System.Windows.Forms.Label() @@ -37,8 +39,6 @@ Partial Class frmDYNachrichtenVerarbeitung Me.btnOK = New System.Windows.Forms.Button() Me.Label2 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() - Me.clmnArt = New System.Windows.Forms.DataGridViewTextBoxColumn() - Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.pnl.SuspendLayout() CType(Me.dgvEinarbeitung, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -98,6 +98,18 @@ Partial Class frmDYNachrichtenVerarbeitung Me.dgvEinarbeitung.Size = New System.Drawing.Size(291, 145) Me.dgvEinarbeitung.TabIndex = 18 ' + 'clmnArt + ' + Me.clmnArt.HeaderText = "Art" + Me.clmnArt.Name = "clmnArt" + Me.clmnArt.Width = 150 + ' + 'Column1 + ' + Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill + Me.Column1.HeaderText = "BezugsNr" + Me.Column1.Name = "Column1" + ' 'Label9 ' Me.Label9.AutoSize = True @@ -199,18 +211,6 @@ Partial Class frmDYNachrichtenVerarbeitung Me.Label1.TabIndex = 8 Me.Label1.Text = "Einarbeitung:" ' - 'clmnArt - ' - Me.clmnArt.HeaderText = "Art" - Me.clmnArt.Name = "clmnArt" - Me.clmnArt.Width = 150 - ' - 'Column1 - ' - Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill - Me.Column1.HeaderText = "BezugsNr" - Me.Column1.Name = "Column1" - ' 'frmDYNachrichtenVerarbeitung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index 3d316ff..0f5bd04 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -5154,8 +5154,8 @@ Public Class frmDYNachrichtenVerarbeitung End If End Sub + Private Sub pnl_Paint(sender As Object, e As PaintEventArgs) Handles pnl.Paint - - + End Sub End Class diff --git a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb index b6a4aa7..86b59ef 100644 --- a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb @@ -573,10 +573,9 @@ Public Class frmMDMNachrichtenVerarbeitung currentRow = MyReader.ReadFields() - If currentRow.Length > 24 Then + If currentRow.Length > 24 AndAlso currentRow(12) <> "839160" Then 'KDNR <> VERAG --> Die Kosten bleiben uns Dim PLOSE As New MDM_Worker.cPLOSE - PLOSE.plose_Datensatztyp = SQL.isleernothing(currentRow(0)) PLOSE.plose_KodexMautTankstelle = SQL.isleernothing(currentRow(1)) PLOSE.plose_BeschreibungMautTankstelle = SQL.isleernothing(currentRow(2)) diff --git a/initATLASAufschubkonten/frmStartOptions.Designer.vb b/initATLASAufschubkonten/frmStartOptions.Designer.vb index 29d15b3..05fcd23 100644 --- a/initATLASAufschubkonten/frmStartOptions.Designer.vb +++ b/initATLASAufschubkonten/frmStartOptions.Designer.vb @@ -81,6 +81,10 @@ Partial Class frmStartOptions Me.Label6 = New System.Windows.Forms.Label() Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.txtVRGOut_BezugsNr = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.LinkLabel29 = New System.Windows.Forms.LinkLabel() + Me.LinkLabel30 = New System.Windows.Forms.LinkLabel() + Me.Label11 = New System.Windows.Forms.Label() Me.CheckBox2 = New System.Windows.Forms.CheckBox() Me.LinkLabel25 = New System.Windows.Forms.LinkLabel() Me.CheckBox1 = New System.Windows.Forms.CheckBox() @@ -104,10 +108,7 @@ Partial Class frmStartOptions Me.LinkLabel3 = New System.Windows.Forms.LinkLabel() Me.lklAufschubkontenATLASEZOLL = New System.Windows.Forms.LinkLabel() Me.lblRoutineManager = New System.Windows.Forms.Label() - Me.TabPage3 = New System.Windows.Forms.TabPage() - Me.LinkLabel29 = New System.Windows.Forms.LinkLabel() - Me.LinkLabel30 = New System.Windows.Forms.LinkLabel() - Me.Label11 = New System.Windows.Forms.Label() + Me.CheckBox3 = New System.Windows.Forms.CheckBox() Me.pnl.SuspendLayout() Me.tbcntr.SuspendLayout() Me.TabPage1.SuspendLayout() @@ -124,17 +125,18 @@ Partial Class frmStartOptions Me.TabPage2.SuspendLayout() CType(Me.PictureBox15, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage3.SuspendLayout() CType(Me.PictureBox12, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox11, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).BeginInit() - Me.TabPage3.SuspendLayout() Me.SuspendLayout() ' 'pnl ' Me.pnl.BackColor = System.Drawing.Color.White Me.pnl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnl.Controls.Add(Me.CheckBox3) Me.pnl.Controls.Add(Me.tbcntr) Me.pnl.Controls.Add(Me.CheckBox2) Me.pnl.Controls.Add(Me.LinkLabel25) @@ -868,6 +870,50 @@ Partial Class frmStartOptions Me.txtVRGOut_BezugsNr.Size = New System.Drawing.Size(119, 21) Me.txtVRGOut_BezugsNr.TabIndex = 5 ' + 'TabPage3 + ' + Me.TabPage3.Controls.Add(Me.LinkLabel29) + Me.TabPage3.Controls.Add(Me.LinkLabel30) + Me.TabPage3.Controls.Add(Me.Label11) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(780, 395) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Partner-Systeme" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'LinkLabel29 + ' + Me.LinkLabel29.AutoSize = True + Me.LinkLabel29.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.LinkLabel29.Location = New System.Drawing.Point(11, 80) + Me.LinkLabel29.Name = "LinkLabel29" + Me.LinkLabel29.Size = New System.Drawing.Size(180, 13) + Me.LinkLabel29.TabIndex = 24 + Me.LinkLabel29.TabStop = True + Me.LinkLabel29.Text = "Eingangsnachrichten abrufen PROD" + ' + 'LinkLabel30 + ' + Me.LinkLabel30.AutoSize = True + Me.LinkLabel30.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.LinkLabel30.Location = New System.Drawing.Point(11, 55) + Me.LinkLabel30.Name = "LinkLabel30" + Me.LinkLabel30.Size = New System.Drawing.Size(177, 13) + Me.LinkLabel30.TabIndex = 23 + Me.LinkLabel30.TabStop = True + Me.LinkLabel30.Text = "Eingangsnachrichten abrufen TEST" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label11.Location = New System.Drawing.Point(11, 28) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(251, 13) + Me.Label11.TabIndex = 22 + Me.Label11.Text = "MAVI Nachrichtenverarbeitung (NCTS TR):" + ' 'CheckBox2 ' Me.CheckBox2.AutoSize = True @@ -1135,49 +1181,15 @@ Partial Class frmStartOptions Me.lblRoutineManager.TabIndex = 1 Me.lblRoutineManager.Text = "Routine Manager" ' - 'TabPage3 + 'CheckBox3 ' - Me.TabPage3.Controls.Add(Me.LinkLabel29) - Me.TabPage3.Controls.Add(Me.LinkLabel30) - Me.TabPage3.Controls.Add(Me.Label11) - Me.TabPage3.Location = New System.Drawing.Point(4, 22) - Me.TabPage3.Name = "TabPage3" - Me.TabPage3.Size = New System.Drawing.Size(780, 395) - Me.TabPage3.TabIndex = 2 - Me.TabPage3.Text = "Partner-Systeme" - Me.TabPage3.UseVisualStyleBackColor = True - ' - 'LinkLabel29 - ' - Me.LinkLabel29.AutoSize = True - Me.LinkLabel29.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.LinkLabel29.Location = New System.Drawing.Point(11, 80) - Me.LinkLabel29.Name = "LinkLabel29" - Me.LinkLabel29.Size = New System.Drawing.Size(180, 13) - Me.LinkLabel29.TabIndex = 24 - Me.LinkLabel29.TabStop = True - Me.LinkLabel29.Text = "Eingangsnachrichten abrufen PROD" - ' - 'LinkLabel30 - ' - Me.LinkLabel30.AutoSize = True - Me.LinkLabel30.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.LinkLabel30.Location = New System.Drawing.Point(11, 55) - Me.LinkLabel30.Name = "LinkLabel30" - Me.LinkLabel30.Size = New System.Drawing.Size(177, 13) - Me.LinkLabel30.TabIndex = 23 - Me.LinkLabel30.TabStop = True - Me.LinkLabel30.Text = "Eingangsnachrichten abrufen TEST" - ' - 'Label11 - ' - Me.Label11.AutoSize = True - Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label11.Location = New System.Drawing.Point(11, 28) - Me.Label11.Name = "Label11" - Me.Label11.Size = New System.Drawing.Size(251, 13) - Me.Label11.TabIndex = 22 - Me.Label11.Text = "MAVI Nachrichtenverarbeitung (NCTS TR):" + Me.CheckBox3.AutoSize = True + Me.CheckBox3.Location = New System.Drawing.Point(302, 173) + Me.CheckBox3.Name = "CheckBox3" + Me.CheckBox3.Size = New System.Drawing.Size(103, 17) + Me.CheckBox3.TabIndex = 38 + Me.CheckBox3.Text = "History (1Monat)" + Me.CheckBox3.UseVisualStyleBackColor = True ' 'frmStartOptions ' @@ -1211,12 +1223,12 @@ Partial Class frmStartOptions Me.TabPage2.PerformLayout() CType(Me.PictureBox15, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox14, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage3.ResumeLayout(False) + Me.TabPage3.PerformLayout() CType(Me.PictureBox12, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox11, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).EndInit() - Me.TabPage3.ResumeLayout(False) - Me.TabPage3.PerformLayout() Me.ResumeLayout(False) End Sub @@ -1305,4 +1317,5 @@ Partial Class frmStartOptions Friend WithEvents LinkLabel29 As LinkLabel Friend WithEvents LinkLabel30 As LinkLabel Friend WithEvents Label11 As Label + Friend WithEvents CheckBox3 As CheckBox End Class diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index 901516c..c2c3201 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -621,7 +621,7 @@ Public Class frmStartOptions Function getUID_Pruefung(maxAnz As Integer) As Boolean Try - Dim dt = VERAG_PROG_ALLGEMEIN.cUIDPruefung.doUIDPruefungALL(CDate(Now.ToString("01.MM.yyyy")).AddMonths(-2), True, False, maxAnz, False) + Dim dt = VERAG_PROG_ALLGEMEIN.cUIDPruefung.doUIDPruefungALL(CDate(Now.ToString("01.MM.yyyy")).AddMonths(-1), True, False, maxAnz, False) If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then Dim PDF = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False) If PDF <> "" Then @@ -935,7 +935,7 @@ Public Class frmStartOptions End Sub Private Sub LinkLabel25_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel25.LinkClicked - importFileFromEZOLL(If(CheckBox2.Checked, Now.AddDays(-7), Now)) + importFileFromEZOLL(If(CheckBox2.Checked, Now.AddDays(-7), If(CheckBox3.Checked, Now.AddMonths(-1), Now))) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) diff --git a/initATLASAufschubkonten/frmTCNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmTCNachrichtenVerarbeitung.vb index 1a2d4d8..f6cfd6b 100644 --- a/initATLASAufschubkonten/frmTCNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmTCNachrichtenVerarbeitung.vb @@ -520,6 +520,7 @@ Public Class frmTCNachrichtenVerarbeitung 'Art der Anmeldung Select Case TC.Hea_DecTy Case "T1", "T2", "T2L" : TC.telanm_ART = TC.Hea_DecTy + Case "EUA" : TC.telanm_ART = TC.Hea_DecTy 'EZA Case Else : TC.telanm_ART = TC.Hea_DecTy '^^ End Select @@ -534,6 +535,10 @@ Public Class frmTCNachrichtenVerarbeitung Case "TT131" 'Erledigungsmeldung TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60 TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60 + + Case "TT922" 'EZA / Abgabenbescheid + TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60 + TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60 Case Else Return "" 'Nicht erkannt End Select @@ -680,6 +685,7 @@ Public Class frmTCNachrichtenVerarbeitung 'TC.CtrlRslt_ResCd = vifDEC.CtrlRslt_ResCd'--> in Schnittstelle nicht vorhanden TC.CtrlRslt_DLimit = vifDEC.CtrlRslt_DLimit + TC.POSITIONSDATEN.Clear() 'Falls DS schon Mal eingearbeitet wurde If vifDEC.vifDecItem IsNot Nothing AndAlso vifDEC.vifDecItem.Count > 0 Then For Each vidDescITEM In vifDEC.vifDecItem @@ -732,12 +738,35 @@ Public Class frmTCNachrichtenVerarbeitung Next End If - TC.POSITIONSDATEN.Add(POS) + POS.ABGABEN.Clear() 'Falls DS schon Mal eingearbeitet wurde + If vidDescITEM.vifDecDutyCalc IsNot Nothing AndAlso vidDescITEM.vifDecDutyCalc.Count > 0 Then + For Each vifDecDutyCalc In vidDescITEM.vifDecDutyCalc + Dim ABG As New TELOTEC_Worker.cTelotec_PositionsdatenAbgaben + + ABG.Mandant_ID = vifDecDutyCalc.Mandant_ID + ABG.Bereich_ID = vifDecDutyCalc.Bereich_ID + ABG.Referenz_ID = vifDecDutyCalc.Referenz_ID + ABG.ComIndicator = vifDecDutyCalc.ComIndicator + ABG.Pos_ID = vifDecDutyCalc.Pos_ID + ABG.DutyCalc_ID = vifDecDutyCalc.DutyCalc_ID + ABG.Ty = vifDecDutyCalc.Ty + ABG.BaseD = vifDecDutyCalc.BaseD + ABG.Curr = vifDecDutyCalc.Curr + ABG.Unit = vifDecDutyCalc.Unit + ABG.Base = vifDecDutyCalc.Base + ABG.Rate = vifDecDutyCalc.Rate + ABG.RateUsed = vifDecDutyCalc.RateUsed + ABG.Amnt = vifDecDutyCalc.Amnt + ABG.MeaID = vifDecDutyCalc.MeaID + ABG.TyInd = vifDecDutyCalc.TyInd + + POS.ABGABEN.Add(ABG) + Next + End If + TC.POSITIONSDATEN.Add(POS) Next End If - - TC.SICHERHEIT.Clear() 'Falls DS schon Mal eingearbeitet wurde If vifDEC.vifDecGrteeRef IsNot Nothing AndAlso vifDEC.vifDecGrteeRef.Count > 0 Then For Each vifDecGrteeRef In vifDEC.vifDecGrteeRef @@ -756,12 +785,33 @@ Public Class frmTCNachrichtenVerarbeitung GRT.GVal = vifDecGrteeRef.GVal GRT.Curr = vifDecGrteeRef.Curr - TC.SICHERHEIT.Add(GRT) Next End If + + + TC.ABGABEN.Clear() 'Falls DS schon Mal eingearbeitet wurde + If vifDEC.vifDecTotDuties IsNot Nothing AndAlso vifDEC.vifDecTotDuties.Count > 0 Then + For Each vifDecTotDuties In vifDEC.vifDecTotDuties + Dim ABG As New TELOTEC_Worker.cTelotec_Abgaben + + ABG.Mandant_ID = vifDecTotDuties.Mandant_ID + ABG.Bereich_ID = vifDecTotDuties.Bereich_ID + ABG.Referenz_ID = vifDecTotDuties.Referenz_ID + ABG.ComIndicator = vifDecTotDuties.ComIndicator + ABG.TotDuties_ID = vifDecTotDuties.TotDuties_ID + ABG.Ty = vifDecTotDuties.Ty + ABG.Amnt = vifDecTotDuties.Amnt + ABG.TyInd = vifDecTotDuties.TyInd + ABG.Erstelldatum = vifDecTotDuties.Erstelldatum + + TC.ABGABEN.Add(ABG) + Next + End If + + ''''Aktuellste Nachricht If SQL.getValueTxtBySql("Select COUNT(*) FROM [tblTelotec_Anmeldung] WHERE telanm_BezugsNr='" & TC.telanm_BezugsNr & "' and telanm_Status>'" & TC.telanm_Status & "' ", "FMZOLL") > 0 Then TC.telnam_aktuellsteNachricht = 0 @@ -775,7 +825,8 @@ Public Class frmTCNachrichtenVerarbeitung If If(TC.telanm_Status, 0) = TELOTEC_Worker.cTC_Statusliste.S_60 Then ' TC.insertIntoSpedBuch() Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT - ZOLLIMPORT.TelotecImport(TC) + ZOLLIMPORT.TelotecImport(TC) + ZOLLIMPORT.insertAbgabenTELOTEC(TC) End If ' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME If TC.telanm_ART = "T1" Or TC.telanm_ART.ToString.Contains("T2") Or TC.telanm_ART.ToString.StartsWith("T-") Then