Compare commits

...

23 Commits

Author SHA1 Message Date
9d12668947 div. Änderungen 2026-11-03 17:12:03 +01:00
a5d94dedac Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-30 17:24:40 +01:00
0171437c65 Mitarbeier-Austritte (autom. Ticketerstellung) 2026-10-30 17:24:37 +01:00
16c006d1e6 EzaDy 2026-10-27 21:22:21 +01:00
ed69bbc791 Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-23 23:24:35 +02:00
b51ec8adc9 TetraPak 2026-10-23 23:24:29 +02:00
38972e3f32 cAutomailversand, etc. 2026-10-23 10:07:12 +02:00
ed2e63a004 Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-22 08:57:00 +02:00
6a7ee97bc8 Kundensicherheiten, CBAM-Rechner, etc. 2026-10-21 16:55:35 +02:00
77595308d6 Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-20 10:03:11 +02:00
1daf0e1d35 AI TEst 2026-10-20 10:03:06 +02:00
252f539fd3 Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-19 15:31:24 +02:00
03f69d2204 Timas, Kundensicherheiten fix, cbam fix, fakt (IBAN Zugferd), etc. 2026-10-19 15:31:16 +02:00
40b993b0e6 division3 2026-10-19 14:40:48 +02:00
e2d177e09e DatenarchivArchiv, log 2026-10-19 07:57:29 +02:00
68bf284a8e Datenarchivarchiv 2026-10-18 11:06:41 +02:00
7d89c05b4e Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-16 10:25:27 +02:00
67f501e6ed exg 2026-10-16 10:25:23 +02:00
eec4e8e3dd Deserialize EXG 2026-10-15 21:31:09 +02:00
e7fe1f4669 Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-15 17:04:49 +02:00
39acc51907 div. Änderungen, etc. 2026-10-15 17:03:34 +02:00
718134608e Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-10-14 16:56:54 +02:00
d78bba81e3 EXG Auto Ncts 2026-10-14 16:56:50 +02:00
24 changed files with 2754 additions and 519 deletions

View File

@@ -858,7 +858,10 @@ Public Class cDakosyEXG
'dy_Status = status
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.doSQLVarList(" UPDATE [tblDakosy_EXG] SET [exg_AutoFill_DyId]=@dyId WHERE exg_Id=@exg_Id ", "FMZOLL", , list)
Return SQL.doSQLVarList("UPDATE tblDakosy_EXG SET exg_AutoFill_DyId=@dyId,
exg_AutoFill_DyId_Complete=0
WHERE exg_Id=@exg_Id",
"FMZOLL", , list)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -886,23 +889,27 @@ Public Class cDakosyEXG
End Function
Shared Function isFillNCTS_ID_ALLCompleted(dyId As Integer) As Boolean
If dyId > 0 Then
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If dyId <= 0 Then Return False
Dim cnt = SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [tblDakosy_EXG] where [exg_AutoFill_DyId] ='" & dyId & "' and exg_AutoFill_DyId=1 AND [exg_AutoFill_DyId_Complete]=0 ", "FMZOLL", ,, -1)
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqlText = "SELECT
COUNT(*) AS Gesamt,
SUM(CASE
WHEN ISNULL(exg_AutoFill_DyId_Complete, 0) = 0
THEN 1 ELSE 0
END) AS Offen
FROM tblDakosy_EXG
WHERE exg_AutoFill_DyId= " & dyId & ""
If cnt = 0 Then
Return True
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
Return False
Dim cnt = SQL.getValueTxtBySql(sqlText, "FMZOLL", ,, -1)
Return Convert.ToInt32(cnt) = 0
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return False
End Try
End Function
'Public Function LOADByBezugsNr(exg_ObjectName As String, loadALL As Boolean) As Boolean
' Try
' LOADByBezugsNr = False
@@ -945,7 +952,7 @@ Public Class cDakosyEXG
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " ) AS T order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXG WHERE exg_ObjectName LIKE @bezugsNr order by exg_LetzteBearbeitung desc", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXG WHERE exg_ObjectName = @bezugsNr ORDER BY exg_LetzteBearbeitung DESC", conn)
'MsgBox("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE exg_dyaAnmID=dy_id order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ")
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
Dim dr = cmd.ExecuteReader()

View File

@@ -117,6 +117,7 @@ Public Class cDakosyEZA
Property eza_AUFSCHUB As New List(Of cDakosy_EZA_Aufschub)
Property eza_SUMABA As New List(Of cDakosy_EZA_SumABeendigungsAnteil)
Property eza_BEA_ZLAvuv As New List(Of cDakosy_EZA_BEAnteilZLAVUV)
Property eza_DV1Kostenverteilung As New List(Of cDakosy_EZA_DV1Kosten)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -153,87 +154,87 @@ Public Class cDakosyEZA
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LetzteBearbeitung_SB", eza_LetzteBearbeitung_SB))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_firma", eza_firma))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_niederlassung", eza_niederlassung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Partner", eza_Trans_Partner))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div1", eza_Trans_Div1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div2", eza_Trans_Div2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div3", eza_Trans_Div3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Referenz", eza_Trans_Referenz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_DatumZeit", eza_Trans_DatumZeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Version", eza_Trans_Version))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderTIN", eza_NachrichtenSenderTIN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderNLNR", eza_NachrichtenSenderNLNR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenempfaengerDST", eza_NachrichtenempfaengerDST))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectName", eza_ObjectName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectAlias", eza_ObjectAlias))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerVorblendung", eza_BezugsnummerVorblendung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bearbeiter", eza_Bearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldungArt", eza_AnmeldungArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_CompliancePruefung", eza_CompliancePruefung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnfBemerkungStatusanzeige", eza_AnfBemerkungStatusanzeige))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AdressierteZollstelle", eza_AdressierteZollstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmelderistEmpfaenger", eza_AnmelderistEmpfaenger))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VertretungsVerhaeltnisCode", eza_VertretungsVerhaeltnisCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Vorsteuerabzug", eza_Vorsteuerabzug))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterName", eza_AnmeldenderBearbeiterName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterTel", eza_AnmeldenderBearbeiterTel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterStellung", eza_AnmeldenderBearbeiterStellung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterEMail", eza_AnmeldenderBearbeiterEMail))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FiskalvertretungKz", eza_FiskalvertretungKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Partner", eza_Trans_Partner))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div1", eza_Trans_Div1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div2", eza_Trans_Div2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div3", eza_Trans_Div3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Referenz", eza_Trans_Referenz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_DatumZeit", eza_Trans_DatumZeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Version", eza_Trans_Version))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderTIN", eza_NachrichtenSenderTIN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderNLNR", eza_NachrichtenSenderNLNR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenempfaengerDST", eza_NachrichtenempfaengerDST))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectName", eza_ObjectName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectAlias", eza_ObjectAlias))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerVorblendung", eza_BezugsnummerVorblendung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bearbeiter", eza_Bearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldungArt", eza_AnmeldungArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_CompliancePruefung", eza_CompliancePruefung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnfBemerkungStatusanzeige", eza_AnfBemerkungStatusanzeige))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AdressierteZollstelle", eza_AdressierteZollstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmelderistEmpfaenger", eza_AnmelderistEmpfaenger))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VertretungsVerhaeltnisCode", eza_VertretungsVerhaeltnisCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Vorsteuerabzug", eza_Vorsteuerabzug))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterName", eza_AnmeldenderBearbeiterName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterTel", eza_AnmeldenderBearbeiterTel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterStellung", eza_AnmeldenderBearbeiterStellung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterEMail", eza_AnmeldenderBearbeiterEMail))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FiskalvertretungKz", eza_FiskalvertretungKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Ausstellungsort", eza_Ausstellungsort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZollrechtlicherStatus", eza_ZollrechtlicherStatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_GesamtRohmasse", eza_GesamtRohmasse))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerfahrenBeantragtCode", eza_VerfahrenBeantragtCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigInland", eza_VerkehrszweigInland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigGrenze", eza_VerkehrszweigGrenze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VersendungsLandCode", eza_VersendungsLandCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsbundesland", eza_Bestimmungsbundesland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsland", eza_Bestimmungsland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KennzeichenNameBefoerderungsmittelAnkunft", eza_KennzeichenNameBefoerderungsmittelAnkunft))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode", eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeArt", eza_BeförderungsmittelGrenzeArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenze", eza_BeförderungsmittelGrenze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungCode", eza_LieferbedingungCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungText", eza_LieferbedingungText))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungSchluessel", eza_LieferbedingungSchluessel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungOrt", eza_LieferbedingungOrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZollrechtlicherStatus", eza_ZollrechtlicherStatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_GesamtRohmasse", eza_GesamtRohmasse))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerfahrenBeantragtCode", eza_VerfahrenBeantragtCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigInland", eza_VerkehrszweigInland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigGrenze", eza_VerkehrszweigGrenze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VersendungsLandCode", eza_VersendungsLandCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsbundesland", eza_Bestimmungsbundesland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsland", eza_Bestimmungsland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KennzeichenNameBefoerderungsmittelAnkunft", eza_KennzeichenNameBefoerderungsmittelAnkunft))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode", eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeArt", eza_BeförderungsmittelGrenzeArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenze", eza_BeförderungsmittelGrenze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungCode", eza_LieferbedingungCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungText", eza_LieferbedingungText))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungSchluessel", eza_LieferbedingungSchluessel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungOrt", eza_LieferbedingungOrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierArtCode", eza_VorpapierArtCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierNr", eza_VorpapierNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ArtGeschaeftCode", eza_ArtGeschaeftCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierNr", eza_VorpapierNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ArtGeschaeftCode", eza_ArtGeschaeftCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Statistikstatus", eza_Statistikstatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Warenort", eza_Warenort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungspreis", eza_Rechnungspreis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungswaehrung", eza_Rechnungswaehrung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Kz", eza_DV1Kz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Vertretungsverhaeltnis", eza_DV1Vertretungsverhaeltnis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1FruehereEntscheidungen", eza_DV1FruehereEntscheidungen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Verbundenheit", eza_DV1Verbundenheit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1VerbungenheitEinzelheiten", eza_DV1VerbungenheitEinzelheiten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1EinschraenkungenKz", eza_DV1EinschraenkungenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenKz", eza_DV1BedingungenLeistungenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenArt", eza_DV1BedingungenLeistungenArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenKz", eza_DV1LizenzgebuehrenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenUmstand", eza_DV1LizenzgebuehrenUmstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungKz", eza_DV1SpezielleVereinbarungKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungUmstand", eza_DV1SpezielleVereinbarungUmstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZusatzangabenAnmeldung", eza_ZusatzangabenAnmeldung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KzAutoBestaetigung", eza_KzAutoBestaetigung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnschreibungDatum", eza_AnschreibungDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Eingangszollstelle", eza_Eingangszollstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Zahlungsart", eza_Zahlungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr1", eza_ContainerNr1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr2", eza_ContainerNr2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr3", eza_ContainerNr3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr4", eza_ContainerNr4))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr5", eza_ContainerNr5))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr6", eza_ContainerNr6))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr8", eza_ContainerNr8))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr9", eza_ContainerNr9))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeendigungsanteilArtCode", eza_BeendigungsanteilArtCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BewilligungsIDZLAVUV", eza_BewilligungsIDZLAVUV))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_BezugsnummerBEAnteilZL))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Warenort", eza_Warenort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungspreis", eza_Rechnungspreis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungswaehrung", eza_Rechnungswaehrung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Kz", eza_DV1Kz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Vertretungsverhaeltnis", eza_DV1Vertretungsverhaeltnis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1FruehereEntscheidungen", eza_DV1FruehereEntscheidungen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Verbundenheit", eza_DV1Verbundenheit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1VerbungenheitEinzelheiten", eza_DV1VerbungenheitEinzelheiten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1EinschraenkungenKz", eza_DV1EinschraenkungenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenKz", eza_DV1BedingungenLeistungenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenArt", eza_DV1BedingungenLeistungenArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenKz", eza_DV1LizenzgebuehrenKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenUmstand", eza_DV1LizenzgebuehrenUmstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungKz", eza_DV1SpezielleVereinbarungKz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungUmstand", eza_DV1SpezielleVereinbarungUmstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZusatzangabenAnmeldung", eza_ZusatzangabenAnmeldung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KzAutoBestaetigung", eza_KzAutoBestaetigung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnschreibungDatum", eza_AnschreibungDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Eingangszollstelle", eza_Eingangszollstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Zahlungsart", eza_Zahlungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr1", eza_ContainerNr1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr2", eza_ContainerNr2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr3", eza_ContainerNr3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr4", eza_ContainerNr4))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr5", eza_ContainerNr5))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr6", eza_ContainerNr6))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr8", eza_ContainerNr8))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr9", eza_ContainerNr9))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeendigungsanteilArtCode", eza_BeendigungsanteilArtCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BewilligungsIDZLAVUV", eza_BewilligungsIDZLAVUV))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_BezugsnummerBEAnteilZL))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_UstIdAnmelder", eza_UstIdAnmelder))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FinanzamtAnmelder", eza_FinanzamtAnmelder))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Anmeldedatum", eza_Anmeldedatum))
@@ -276,6 +277,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
If Not SAVE_Aufschub() Then Return False
If Not SAVE_BEAnteilZLAVUV() Then Return False
If Not SAVE_SumABeendigungsAnteil() Then Return False
If Not SAVE_DV1Kostenverteilung() Then Return False
Return True
End Function
@@ -291,6 +293,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
eza_AUFSCHUB.Clear()
eza_BEA_ZLAvuv.Clear()
eza_SUMABA.Clear()
eza_DV1Kostenverteilung.Clear()
End If
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblDakosy_eza WHERE eza_Id=@eza_Id ", conn)
@@ -315,6 +318,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
LOAD_Aufschub()
LOAD_BEAnteilZLAVUV()
LOAD_SumABeendigungsAnteil()
LOAD_DV1Kostenverteilung()
End If
LOAD = True
End If
@@ -357,6 +361,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
EZA.LOAD_Aufschub()
EZA.LOAD_BEAnteilZLAVUV()
EZA.LOAD_SumABeendigungsAnteil()
EZA.LOAD_DV1Kostenverteilung()
End If
dr.Close()
@@ -405,6 +410,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
eza_AUFSCHUB.Clear()
eza_BEA_ZLAvuv.Clear()
eza_SUMABA.Clear()
eza_DV1Kostenverteilung.Clear()
End If
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EZA WHERE eza_dyaAnmID=@eza_dyaAnmID ", conn)
@@ -429,6 +435,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
LOAD_Aufschub()
LOAD_BEAnteilZLAVUV()
LOAD_SumABeendigungsAnteil()
LOAD_DV1Kostenverteilung()
End If
LOADByAnmID = True
End If
@@ -449,6 +456,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
Me.LOAD_Aufschub()
Me.LOAD_BEAnteilZLAVUV()
Me.LOAD_SumABeendigungsAnteil()
Me.LOAD_DV1Kostenverteilung()
End Sub
@@ -482,6 +490,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
EZA.LOAD_Aufschub()
EZA.LOAD_BEAnteilZLAVUV()
EZA.LOAD_SumABeendigungsAnteil()
EZA.LOAD_DV1Kostenverteilung()
End If
dr.Close()
@@ -526,6 +535,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
EZA.LOAD_Aufschub()
EZA.LOAD_BEAnteilZLAVUV()
EZA.LOAD_SumABeendigungsAnteil()
EZA.LOAD_DV1Kostenverteilung()
End If
dr.Close()
@@ -1419,6 +1429,65 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_
' DV1-Kosten: separate Tabelle, damit Kopfkosten persistent und mehrfach speicherbar sind.
Public Sub LOAD_DV1Kostenverteilung()
eza_DV1Kostenverteilung.Clear()
If eza_Id <= 0 Then Exit Sub
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT Kostenart, Kosten, KostenWaehrung, WechselkursArt, Verteilungsart, Minimalbetrag FROM dbo.tblDakosy_EZA_DV1Kostenverteilung WHERE eza_Id=@eza_Id ORDER BY Id", conn)
cmd.Parameters.Add("@eza_Id", SqlDbType.Int).Value = eza_Id
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
eza_DV1Kostenverteilung.Add(New cDakosy_EZA_DV1Kosten With {
.Kostenart = If(dr.IsDBNull(0), "", dr.GetString(0)),
.Kosten = If(dr.IsDBNull(1), "", dr.GetString(1)),
.KostenWaehrung = If(dr.IsDBNull(2), "", dr.GetString(2)),
.WechselkursArt = If(dr.IsDBNull(3), "", dr.GetString(3)),
.Verteilungsart = If(dr.IsDBNull(4), "", dr.GetString(4)),
.Minimalbetrag = If(dr.IsDBNull(5), "", dr.GetString(5))})
End While
End Using
End Using
End Using
End Sub
Public Function SAVE_DV1Kostenverteilung() As Boolean
If eza_Id <= 0 Then Return False
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using tran As SqlTransaction = conn.BeginTransaction()
Try
Using cmd As New SqlCommand("DELETE FROM dbo.tblDakosy_EZA_DV1Kostenverteilung WHERE eza_Id=@eza_Id", conn, tran)
cmd.Parameters.Add("@eza_Id", SqlDbType.Int).Value = eza_Id
cmd.ExecuteNonQuery()
End Using
For Each k As cDakosy_EZA_DV1Kosten In eza_DV1Kostenverteilung
Using cmd As New SqlCommand("INSERT INTO dbo.tblDakosy_EZA_DV1Kostenverteilung (eza_Id, Kostenart, Kosten, KostenWaehrung, WechselkursArt, Verteilungsart, Minimalbetrag) VALUES (@id,@art,@kosten,@waehrung,@kurs,@verteilung,@min)", conn, tran)
cmd.Parameters.Add("@id", SqlDbType.Int).Value = eza_Id
cmd.Parameters.Add("@art", SqlDbType.VarChar, 20).Value = If(k.Kostenart, "")
cmd.Parameters.Add("@kosten", SqlDbType.VarChar, 50).Value = If(k.Kosten, "")
cmd.Parameters.Add("@waehrung", SqlDbType.VarChar, 10).Value = If(k.KostenWaehrung, "")
cmd.Parameters.Add("@kurs", SqlDbType.VarChar, 20).Value = If(k.WechselkursArt, "")
cmd.Parameters.Add("@verteilung", SqlDbType.VarChar, 30).Value = If(k.Verteilungsart, "")
cmd.Parameters.Add("@min", SqlDbType.VarChar, 50).Value = If(k.Minimalbetrag, "")
cmd.ExecuteNonQuery()
End Using
Next
tran.Commit()
Catch
tran.Rollback()
Throw
End Try
End Using
End Using
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod().Name)
Return False
End Try
End Function
End Class
Public Class cDakosy_EZA_Adressen
@@ -2481,4 +2550,13 @@ Public Class cDakosy_EZA_WarenpositionVerbrauchssteuer
Return ""
End Function
End Class
End Class
Public Class cDakosy_EZA_DV1Kosten
Public Property Kostenart As String = ""
Public Property Kosten As String = ""
Public Property KostenWaehrung As String = ""
Public Property WechselkursArt As String = ""
Public Property Verteilungsart As String = ""
Public Property Minimalbetrag As String = ""
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -45,6 +45,9 @@
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="ClosedXML">
<HintPath>F:\PROGRAMMIERUNG\dll\closedxml\95\ClosedXML.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />

View File

@@ -111,7 +111,8 @@ Public Class cDakosyFunftions
Else
Select Case FIRMA_DY
Case "ATILLA"
Return "VERG"
'Return "VERG"
Return "ATIL"
Case "VERAG"
Return "VERG"
Case "DURMAZ"

View File

@@ -1,4 +1,6 @@
Imports System.Data.SqlClient
Imports System.IO
Imports ClosedXML.Excel
Imports VERAG_PROG_ALLGEMEIN
Public Class cImporter_DakosyToVERAG
@@ -38,7 +40,7 @@ Public Class cImporter_DakosyToVERAG
If If(eza.eza_MRN, If(eza.eza_ANR, "")) = "" Then
ZA = New cVERAG_CustomsDeclarations
Else
ZA = cVERAG_CustomsDeclarations.loadByMRN(If(eza.eza_MRN, If(eza.eza_ANR, "")), False)
ZA = cVERAG_CustomsDeclarations.loadByMRN(If(String.IsNullOrWhiteSpace(eza.eza_MRN), eza.eza_ANR, eza.eza_MRN), False)
End If
ZA.za_System = "DAKOSY"
@@ -52,7 +54,7 @@ Public Class cImporter_DakosyToVERAG
ZA.za_Niederlassung = eza.eza_niederlassung
ZA.za_MRN = If(eza.eza_MRN, eza.eza_ANR)
ZA.za_MRN = If(String.IsNullOrWhiteSpace(eza.eza_MRN), eza.eza_ANR, eza.eza_MRN)
ZA.za_LRN = eza.eza_ObjectName
VERAG_PROG_ALLGEMEIN.cProgramFunctions.tryGetFirmaNiederlassung(ZA.za_Firma, ZA.za_Niederlassung, "", ZA.za_LRN)
@@ -245,6 +247,12 @@ Public Class cImporter_DakosyToVERAG
item.zaItem_PackageColli = (wp.ezaWP_PackstueckAnzahl)
item.zaItem_PackageType = wp.ezaWP_PackstueckArt
Dim packageNumber As Integer
item.Packages.Add(New cVERAG_CustomsDeclarations_ItemPackage With {
.zaPkg_Type = item.zaItem_PackageType,
.zaPkg_Number = If(Integer.TryParse(item.zaItem_PackageColli, packageNumber), CType(packageNumber, Integer?), Nothing),
.zaPkg_Marks = item.zaItem_PackageMark
})
item.zaItem_GrossMass = ToNullableDecimal(wp.ezaWP_Rohmasse)
item.zaItem_NetMass = ToNullableDecimal(wp.ezaWP_Eigenmasse)
@@ -332,8 +340,18 @@ Public Class cImporter_DakosyToVERAG
' SAVE
Dim saved = ZA.SAVE()
' ======KAFKA==========================================================
If freshInsert Then cDakosyEZA_Greenpulse.INSERT_KAFKA(ZA)
If saved AndAlso freshInsert Then cDakosyEZA_Greenpulse.INSERT_KAFKA(ZA)
' ================================================================
If saved Then
Try
UpdateBrokerManagementFileTETRAPAK(ZA)
Catch ex As Exception
cErrorHandler.ERR(ex.Message, ex.StackTrace, "UpdateBrokerManagementFile")
End Try
End If
Return saved
@@ -343,6 +361,542 @@ Public Class cImporter_DakosyToVERAG
End Try
End Function
Public Sub UpdateBrokerManagementFileTETRAPAK(ZA As cVERAG_CustomsDeclarations)
Const kundenNrTETRAPAK As Integer = 719649
Const prefix As String = "[TETRAPAK] "
Debug.WriteLine(prefix & "========== START BrokerManagementFile ==========")
Try
If ZA Is Nothing OrElse ZA.za_Id <= 0 Then
Debug.WriteLine(prefix & "ABBRUCH: Keine gültige Zollanmeldung")
Exit Sub
End If
'Zollanmeldung vollständig aus VERAG-Datenbank laden
Dim ZOLL As New cVERAG_CustomsDeclarations
ZOLL.za_Id = ZA.za_Id
ZOLL.LOAD()
If Not ZOLL.hasEntry Then
cErrorHandler.ERR("UpdateBrokerManagementFileTETRAPAK", "UpdateBrokerManagementFileTETRAPAK", "Zollanmeldung nicht gefunden. za_Id=" & ZA.za_Id)
End If
Debug.WriteLine(prefix & "ZA-ID: " & ZOLL.za_Id)
Debug.WriteLine(prefix & "MRN: " & Convert.ToString(ZOLL.za_MRN))
Debug.WriteLine(prefix & "LRN: " & Convert.ToString(ZOLL.za_LRN))
Debug.WriteLine(prefix & "AvisoId: " & Convert.ToString(ZOLL.za_AvisoId))
Debug.WriteLine(prefix & "SendungsId: " & Convert.ToString(ZOLL.za_SendungsId))
If Not ZOLL.za_SendungsId.HasValue OrElse ZOLL.za_SendungsId.Value <= 0 Then
Debug.WriteLine(prefix & "ABBRUCH: Keine SendungsId")
Exit Sub
End If
'Auftraggeber prüfen
Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(ZOLL.za_SendungsId.Value)
Debug.WriteLine(prefix & "Auftraggeber: " & Convert.ToString(SND.tblSnd_Auftraggeber))
Debug.WriteLine(prefix & "Kundennummer: " & Convert.ToString(SND.tblSnd_AuftraggeberKdNr))
Dim kundenNr As Integer
If Not Integer.TryParse(Convert.ToString(SND.tblSnd_AuftraggeberKdNr), kundenNr) Then
Debug.WriteLine(prefix & "ABBRUCH: Ungültige Kundennummer")
Exit Sub
End If
If kundenNr <> kundenNrTETRAPAK Then
Debug.WriteLine(prefix & "ABBRUCH: Kein TETRAPAK-Auftraggeber")
Exit Sub
End If
'Warenpositionen aus tblVERAG_CustomsDeclarations_Items
Dim positionen = ZOLL.Items.OrderBy(Function(p) p.zaItem_PosNo).ToList()
If positionen.Count = 0 Then
Debug.WriteLine(prefix & "ABBRUCH: Keine Warenpositionen vorhanden")
Exit Sub
End If
Debug.WriteLine(prefix & "Warenpositionen: " & positionen.Count)
Debug.WriteLine(prefix & "Kopfabgaben: " & ZOLL.Duties.Count)
'Abgaben aus tblVERAG_CustomsDeclarations_Duties
'Positionen und Kopf getrennt behandeln
Dim gesamtZollPositionen As Decimal = 0D
Dim gesamtEustPositionen As Decimal = 0D
Dim gesamtZollKopf As Decimal = 0D
Dim gesamtEustKopf As Decimal = 0D
Dim anzahlPositionsabgaben As Integer = 0
For Each wp In positionen
Debug.WriteLine(prefix & "Position " & wp.zaItem_PosNo & " | ItemId=" & wp.zaItem_Id & " | Abgaben=" & wp.Duties.Count)
For Each duty In wp.Duties
Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D)
Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant()
Select Case art
Case "A0000", "A00"
gesamtZollPositionen += betrag
Case "B0000", "B00"
gesamtEustPositionen += betrag
End Select
anzahlPositionsabgaben += 1
Debug.WriteLine(prefix & " Duty: " & art &
" | Betrag=" & betrag.ToString("0.00") &
" | ItemId=" & Convert.ToString(duty.zaDuty_zaItemId))
Next
Next
For Each duty In ZOLL.Duties
Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D)
Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant()
Select Case art
Case "A0000", "A00"
gesamtZollKopf += betrag
Case "B0000", "B00"
gesamtEustKopf += betrag
End Select
Debug.WriteLine(prefix & "Kopfabgabe: " & art & " | Betrag=" & betrag.ToString("0.00"))
Next
Debug.WriteLine(prefix & "Positions-Zoll gesamt: " & gesamtZollPositionen.ToString("0.00"))
Debug.WriteLine(prefix & "Positions-EUSt gesamt: " & gesamtEustPositionen.ToString("0.00"))
Debug.WriteLine(prefix & "Kopf-Zoll gesamt: " & gesamtZollKopf.ToString("0.00"))
Debug.WriteLine(prefix & "Kopf-EUSt gesamt: " & gesamtEustKopf.ToString("0.00"))
'Bei fehlenden Positionsabgaben keine künstliche Verteilung
Dim nurKopfabgaben As Boolean = (anzahlPositionsabgaben = 0)
If nurKopfabgaben AndAlso positionen.Count > 1 AndAlso ZOLL.Duties.Count > 0 Then
cErrorHandler.ERR("UpdateBrokerManagementFileTETRAPAK", "BrokerManagementFile", "BrokerManagementFile: Es sind " & positionen.Count &
" Warenpositionen vorhanden, aber nur Kopfabgaben gespeichert. " &
"Eine eindeutige Verteilung von Zoll/EUSt ist nicht möglich. ZA-ID=" & ZOLL.za_Id)
End If
If nurKopfabgaben AndAlso ZOLL.Duties.Count = 0 Then
Debug.WriteLine(prefix & "WARNUNG: Keine Abgaben in der Zollanmeldung gespeichert")
End If
If Not nurKopfabgaben Then
If ZOLL.Duties.Count > 0 Then
If gesamtZollPositionen <> gesamtZollKopf OrElse gesamtEustPositionen <> gesamtEustKopf Then
Debug.WriteLine(prefix & "WARNUNG: Positionssummen und Kopfsummen weichen voneinander ab")
Else
Debug.WriteLine(prefix & "OK: Positionssummen entsprechen den Kopfsummen")
End If
End If
End If
'Anhänge über AVISO und Sendung laden
Dim anhaenge As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
If ZOLL.za_AvisoId.HasValue AndAlso ZOLL.za_AvisoId.Value > 0 Then
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(anhaenge, ZOLL.za_AvisoId.Value)
End If
Dim sendungsAnhaenge As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(sendungsAnhaenge, ZOLL.za_SendungsId.Value)
For Each anh In sendungsAnhaenge
If Not anhaenge.Any(Function(a) a.anh_docId = anh.anh_docId) Then anhaenge.Add(anh)
Next
Debug.WriteLine(prefix & "Anhänge gefunden: " & anhaenge.Count)
Dim dateienGefunden As Integer = 0
Dim dateienGespeichert As Integer = 0
For Each anh In anhaenge
Debug.WriteLine(prefix & "Prüfe Anhang: " & Convert.ToString(anh.anh_Art) & " | docId=" & anh.anh_docId)
If Not String.Equals(Convert.ToString(anh.anh_Art).Trim(), "BrokerManagementFile", StringComparison.OrdinalIgnoreCase) Then Continue For
If anh.anh_docId <= 0 Then Continue For
Dim pfad As String = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(anh.anh_docId)).GET_TOP1_PATH(False)
Debug.WriteLine(prefix & "Archivpfad: " & Convert.ToString(pfad))
If String.IsNullOrWhiteSpace(pfad) OrElse Not File.Exists(pfad) Then
Debug.WriteLine(prefix & "Übersprungen: Archivdatei nicht gefunden")
Continue For
End If
If Not String.Equals(Path.GetExtension(pfad), ".xlsx", StringComparison.OrdinalIgnoreCase) Then
Debug.WriteLine(prefix & "Übersprungen: Keine XLSX-Datei")
Continue For
End If
dateienGefunden += 1
Using wb As New XLWorkbook(pfad)
Dim ws = wb.Worksheet(1)
Dim letzteVerwendeteZeile = ws.LastRowUsed()
If letzteVerwendeteZeile Is Nothing Then
Debug.WriteLine("BrokerManagementFile ist leer: " & pfad)
End If
'Datenzeilen anhand Spalte A
Dim datenZeilen As New List(Of Integer)
Dim letzteZeile As Integer = letzteVerwendeteZeile.RowNumber()
For zeile As Integer = 2 To letzteZeile
If Not String.IsNullOrWhiteSpace(ws.Cell(zeile, "A").GetString()) Then datenZeilen.Add(zeile)
Next
Debug.WriteLine(prefix & "Excel-Zeilen: " & datenZeilen.Count)
Debug.WriteLine(prefix & "Zollpositionen: " & positionen.Count)
If datenZeilen.Count <> positionen.Count Then
Debug.WriteLine("BrokerManagementFile: Positionsanzahl stimmt nicht überein. Excel=" &
datenZeilen.Count & ", Zollanmeldung=" & positionen.Count & ", Datei=" & pfad)
End If
For i As Integer = 0 To positionen.Count - 1
Dim wp = positionen(i)
Dim zeile As Integer = datenZeilen(i)
Dim posNr As Integer = wp.zaItem_PosNo
Dim zollbetr As Decimal = 0D
Dim eust As Decimal = 0D
'Positionsabgaben aus Datenbank
If Not nurKopfabgaben Then
For Each duty In wp.Duties
Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D)
Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant()
Select Case art.Trim.ToUpperInvariant()
'Zoll inkl. Zusatz-, Antidumping- und Ausgleichszoll
Case "A0000", "A00", "A2000", "A20", "A3000", "A30", "A35", "A4000", "A40"
zollbetr += betrag
'Einfuhrumsatzsteuer
Case "B0000", "B00", "5EV"
eust += betrag
'Sicherheiten, Summen und sonstige Abgaben nicht berücksichtigen
Case "2EU", "2IG", "2KO", "2PE", "2VF", "2VS", "5EU", "5ZO", "9EA", "6BE"
'Keine Addition
Case Else
'Debug.WriteLine("Unbekannte Abgabenart: " & art & " / Betrag: " & betrag.ToString())
zollbetr += betrag 'Default: Alle unbekannten Abgabenarten werden als Zoll behandelt
End Select
Next
ElseIf positionen.Count = 1 Then
'Nur bei einer Position sind Kopfabgaben eindeutig zuordenbar
zollbetr = gesamtZollKopf
eust = gesamtEustKopf
End If
Debug.WriteLine(prefix & "----------------------------------------")
Debug.WriteLine(prefix & "Position: " & posNr)
Debug.WriteLine(prefix & "Excel-Zeile: " & zeile)
Debug.WriteLine(prefix & "Zoll: " & zollbetr.ToString("0.00"))
Debug.WriteLine(prefix & "EUSt: " & eust.ToString("0.00"))
'AZ - Registration Number ATC/ATD
ws.Cell(zeile, "AZ").Value = If(zoll.za_DeclarationNo, "")
'BA - Date of Acceptance
If zoll.za_AcceptanceDate.HasValue Then
ws.Cell(zeile, "BA").Value = zoll.za_AcceptanceDate.Value.ToString("dd.MM.yyyy")
Else
ws.Cell(zeile, "BA").Value = ""
End If
'BB - Registration Number MRN
ws.Cell(zeile, "BB").Value = If(zoll.za_MRN, "")
'BC - Office of Entry
ws.Cell(zeile, "BC").Value = If(zoll.za_EntryCustomsOffice, "")
'BD - Mode of Transport at the Border
ws.Cell(zeile, "BD").Value = If(ZOLL.za_TransportModeBorder, If(ZOLL.za_TransportModeInland, ""))
'BE - Identity of means of transport at the border
ws.Cell(zeile, "BE").Value = If(zoll.za_MeansOfTransport_Vehicle, "")
'BF - Nationality of means of transport at the border
ws.Cell(zeile, "BF").Value = If(zoll.za_MeansOfTransport_Nationality, "")
'BG - Inland Mode of Transport
ws.Cell(zeile, "BG").Value = If(ZOLL.za_TransportModeInland, If(ZOLL.za_TransportModeBorder, ""))
'BH - Identity of inland means of transport
ws.Cell(zeile, "BH").Value = If(zoll.za_MeansOfTransport_Vehicle, "")
'BI - Nationality of inland means of transport
ws.Cell(zeile, "BI").Value = If(zoll.za_MeansOfTransport_Nationality, "")
'BJ - Assessment of payable duty
ws.Cell(zeile, "BJ").Value = zollbetr
ws.Cell(zeile, "BJ").Style.NumberFormat.Format = "0.00"
'BK - Assessment of payable Import VAT
ws.Cell(zeile, "BK").Value = eust
ws.Cell(zeile, "BK").Style.NumberFormat.Format = "0.00"
Debug.WriteLine(prefix & "AZ=" & ws.Cell(zeile, "AZ").GetString())
Debug.WriteLine(prefix & "BA=" & ws.Cell(zeile, "BA").GetString())
Debug.WriteLine(prefix & "BB=" & ws.Cell(zeile, "BB").GetString())
Debug.WriteLine(prefix & "BC=" & ws.Cell(zeile, "BC").GetString())
Debug.WriteLine(prefix & "BD=" & ws.Cell(zeile, "BD").GetString())
Debug.WriteLine(prefix & "BE=" & ws.Cell(zeile, "BE").GetString())
Debug.WriteLine(prefix & "BF=" & ws.Cell(zeile, "BF").GetString())
Debug.WriteLine(prefix & "BG=" & ws.Cell(zeile, "BG").GetString())
Debug.WriteLine(prefix & "BH=" & ws.Cell(zeile, "BH").GetString())
Debug.WriteLine(prefix & "BI=" & ws.Cell(zeile, "BI").GetString())
Debug.WriteLine(prefix & "BJ=" & zollbetr.ToString("0.00"))
Debug.WriteLine(prefix & "BK=" & eust.ToString("0.00"))
Next
wb.Save()
Debug.WriteLine(prefix & "Original gespeichert: " & pfad)
dateienGespeichert += 1
End Using
Next
Debug.WriteLine(prefix & "BrokerManagementFiles gefunden: " & dateienGefunden)
Debug.WriteLine(prefix & "BrokerManagementFiles gespeichert: " & dateienGespeichert)
If dateienGefunden = 0 Then Debug.WriteLine(prefix & "WARNUNG: Kein BrokerManagementFile gefunden")
Catch ex As Exception
Debug.WriteLine(prefix & "FEHLER: " & ex.ToString())
cErrorHandler.ERR(ex.Message, ex.StackTrace, Reflection.MethodInfo.GetCurrentMethod.Name)
Finally
Debug.WriteLine(prefix & "========== ENDE BrokerManagementFile ==========")
End Try
End Sub
' =====================================================================
' NCTS 004 -> VERAG TRANSIT
' =====================================================================
Public Function ImportDakosyNCTS(bezugsNr As String, Optional overwrite As Boolean = True) As Boolean
If String.IsNullOrWhiteSpace(bezugsNr) Then Return False
Dim ncts = cDakosyNCTSOut004.LOADByBezugsNr(bezugsNr, True)
If ncts Is Nothing OrElse ncts.ncts_Id <= 0 Then Return False
Return ImportDakosyNCTS(ncts, overwrite)
End Function
Public Function ImportDakosyNCTS(ncts As cDakosyNCTSOut004, Optional overwrite As Boolean = True) As Boolean
Try
If ncts Is Nothing Then Return False
Dim mrn = ToStringSafe(ncts.ncts_MRN)
Dim anr = ToStringSafe(ncts.ncts_ANR)
Dim ref = If(Not String.IsNullOrWhiteSpace(mrn), mrn, anr)
If String.IsNullOrWhiteSpace(ref) Then Return False
If Not overwrite AndAlso ExistsNCTSInVERAG(mrn, anr) Then Return False
Dim ZA = cVERAG_CustomsDeclarations.loadByMRN(ref, False)
If ZA Is Nothing Then ZA = New cVERAG_CustomsDeclarations
If ZA.za_Id > 0 AndAlso ZA.za_REGIME <> "TRANSIT" Then Throw New InvalidOperationException("MRN gehört zu anderem Verfahren: " & ZA.za_REGIME)
ZA.za_System = "DAKOSY"
ZA.za_CustomsSystem = "ATLAS"
ZA.za_CustomsSystemCountry = "DE"
ZA.za_REGIME = "TRANSIT"
ZA.za_MRN = ref
ZA.za_LRN = ToStringSafe(ncts.ncts_ObjectName)
ZA.za_DeclarationNo = anr
ZA.za_IsExternalSystem = False
ZA.za_IsFinalDeclaration = Not String.IsNullOrWhiteSpace(mrn)
ZA.za_Firma = ToStringSafe(ncts.ncts_firma)
ZA.za_Niederlassung = ToStringSafe(ncts.ncts_niederlassung)
ZA.za_Sachbearbeiter = ToStringSafe(ncts.ncts_Bearbeiter)
ZA.za_CountryDispatch = ToStringSafe(ncts.ncts_CountryOfDispatch)
ZA.za_CountryDestination = ToStringSafe(ncts.ncts_CountryOfDestination)
ZA.za_TransitType = ToStringSafe(ncts.ncts_TransitDeclarationType)
If String.IsNullOrWhiteSpace(ZA.za_TransitType) Then ZA.za_TransitType = ToStringSafe(ncts.ncts_Declarationtype)
ZA.za_TransitStatus = ToStringSafe(ncts.ncts_Status)
ZA.za_TransitDepartureOffice = ToStringSafe(ncts.ncts_CustomsOfficeOfDeparture)
ZA.za_TransitDestinationOffice = ToStringSafe(ncts.ncts_CustomsOfficeOfDestinationDeclared)
ZA.za_TransitLimitDate = ToNullableDate(ncts.ncts_LimitDate)
ZA.za_TransitArrivalDate = ToNullableDate(ncts.ncts_Ankunft)
ZA.za_TransitCompletionDate = ToNullableDate(ncts.ncts_Erledigung)
ZA.za_TransitReducedDataset = ToNullableBool(ncts.ncts_ReductedDatasetIndicator)
ZA.za_TransitSecurityCode = ToStringSafe(ncts.ncts_Security)
ZA.za_TransitLocationType = ToStringSafe(ncts.ncts_LocationOfGoods_TypeofLocation)
ZA.za_TransitLocationQualifier = ToStringSafe(ncts.ncts_LocationOfGoods_QualifierIdenfitication)
ZA.za_TransitLocationIdentifier = ToStringSafe(ncts.ncts_LocationOfGoods_AdditionalIdentifier)
ZA.za_TransitContainerIndicator = ToNullableBool(ncts.ncts_ContainerIndicator)
ZA.za_TransitBorderVehicle = ToStringSafe(ncts.ncts_ActiveBorderTransportMeans_1_IdentificationNumber)
ZA.za_TransitBorderVehicleType = ToStringSafe(ncts.ncts_ActiveBorderTransportMeans_1_TypeOfIdentification)
ZA.za_TransitBorderVehicleNationality = ToStringSafe(ncts.ncts_ActiveBorderTransportMeans_1_Nationality)
ZA.za_TransportModeInland = ToStringSafe(ncts.ncts_InlandModeOfTransport)
ZA.za_TransportModeBorder = ToStringSafe(ncts.ncts_ModeOfTransportAtTheBorder)
ZA.za_MeansOfTransport_Vehicle = ToStringSafe(ncts.ncts_DepartureTransportMeans_1_IdentificationNumber)
ZA.za_MeansOfTransport_Type = ToStringSafe(ncts.ncts_DepartureTransportMeans_1_TypeOfIdentification)
ZA.za_MeansOfTransport_Nationality = ToStringSafe(ncts.ncts_DepartureTransportMeans_1_Nationality)
ZA.za_TotGrossMass = ToNullableDecimal(ncts.ncts_GrossMass)
ZA.za_UCR = ToStringSafe(ncts.ncts_ReferenceNumberUCR)
ZA.za_DeclarationDate = ToNullableDate(ncts.ncts_Eroeffnung)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.tryGetFirmaNiederlassung(ZA.za_Firma, ZA.za_Niederlassung, "", ZA.za_LRN)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.tryGetAvisoId_SndId_ByLRN(ZA.za_LRN, ZA.za_AvisoId, ZA.za_SendungsId)
' loadByMRN(..., False) lädt keine Kinddaten; bei Neuimport komplett neu aufbauen.
ZA.Parties.Clear()
ZA.Items.Clear()
ZA.Documents.Clear()
ZA.Duties.Clear()
ZA.HouseConsignments.Clear()
ZA.TransitGuarantees.Clear()
ZA.TransitOffices.Clear()
AddNCTSParty(ZA, "CONSIGNOR", ncts.ncts_Consignor_IdentificationNumber, ncts.ncts_Consignor_Name, ncts.ncts_Consignor_StreetNumber, ncts.ncts_Consignor_Postcode, ncts.ncts_Consignor_City, ncts.ncts_Consignor_Country, ncts.ncts_Consignor_SubsidiaryNumber)
AddNCTSParty(ZA, "CONSIGNEE", ncts.ncts_Consignee_IdentificationNumber, ncts.ncts_Consignee_Name, ncts.ncts_Consignee_StreetNumber, ncts.ncts_Consignee_Postcode, ncts.ncts_Consignee_City, ncts.ncts_Consignee_Country, ncts.ncts_Consignee_SubsidiaryNumber)
AddNCTSParty(ZA, "HOLDER", ncts.ncts_HolderOfTheTransitProcedure_IdentificationNumber, ncts.ncts_HolderOfTheTransitProcedure_Name, ncts.ncts_HolderOfTheTransitProcedure_StreetNumber, ncts.ncts_HolderOfTheTransitProcedure_Postcode, ncts.ncts_HolderOfTheTransitProcedure_City, ncts.ncts_HolderOfTheTransitProcedure_Country)
AddNCTSParty(ZA, "REPRESENTATIVE", ncts.ncts_Representative_IdentificationNumber, Nothing, Nothing, Nothing, Nothing, Nothing)
AddNCTSParty(ZA, "CARRIER", ncts.ncts_Carrier_IdentificationNumber, Nothing, Nothing, Nothing, Nothing, Nothing, ncts.ncts_Carrier_SubsidiaryNumber)
For Each grt In ncts.ncts_GUARANTEE
Dim betragFW As Decimal? = ToNullableDecimal(grt.nctsGRT_AmountToBeCovered)
Dim waehrungFW As String = ToStringSafe(grt.nctsGRT_Currency)
Dim betragEUR As Decimal? = Nothing
Dim kurs As Decimal? = Nothing
If betragFW.HasValue Then
If String.Equals(waehrungFW, "EUR", StringComparison.OrdinalIgnoreCase) Then
betragEUR = betragFW
kurs = 1D
ElseIf Not String.IsNullOrWhiteSpace(waehrungFW) Then
Dim umgerechnet As Decimal = VERAG_PROG_ALLGEMEIN.cEZB_Waehrungskurse.EXCHANGE_CURTOEUR(betragFW.Value, waehrungFW, ncts.ncts_Trans_DatumZeit)
If umgerechnet > 0 Then
betragEUR = umgerechnet
If betragFW.Value <> 0 Then kurs = umgerechnet / betragFW.Value
End If
End If
End If
ZA.TransitGuarantees.Add(New cVERAG_CustomsDeclarations_TransitGuarantee With {
.zaGRT_Type = ToStringSafe(grt.nctsGRT_Type),
.zaGRT_GRN = ToStringSafe(grt.nctsGRT_GRN),
.zaGRT_Reference = ToStringSafe(grt.nctsGRT_OtherGuaranteeReference),
.zaGRT_Amount = betragEUR,
.zaGRT_Currency = "EUR",
.zaGRT_AmountForeign = betragFW,
.zaGRT_CurrencyForeign = waehrungFW,
.zaGRT_ExchangeRateToEUR = kurs
})
Next
For i As Integer = 1 To 9
Dim office = NCTSProp(ncts, "ncts_CustomsOfficeOfTransitDeclared_" & i & "_RefNumber")
If Not String.IsNullOrWhiteSpace(office) Then
ZA.TransitOffices.Add(New cVERAG_CustomsDeclarations_TransitOffice With {
.zaTO_Sequence = i, .zaTO_Office = office,
.zaTO_ExpectedArrival = ToNullableDate(NCTSProp(ncts, "ncts_CustomsOfficeOfTransitDeclared_" & i & "_ArravialDateTime"))
})
End If
Next
Dim hcNumber As Integer = 0
Dim itemNumber As Integer = 0
For Each hc In ncts.ncts_HOUSE_CONSIGNMENT
hcNumber += 1
ZA.HouseConsignments.Add(New cVERAG_CustomsDeclarations_HouseConsignment With {
.zaHC_Number = hcNumber,
.zaHC_Reference = ToStringSafe(hc.nctsHC_HouseConsignMentReference),
.zaHC_UCR = ToStringSafe(hc.nctsHC_ReferenceNumberUCR),
.zaHC_CountryDispatch = ToStringSafe(hc.nctsHC_CountryOfDispatch),
.zaHC_CountryDestination = ToStringSafe(hc.nctsHC_CountryOfDestination),
.zaHC_GrossMass = ToNullableDecimal(hc.nctsHC_GrossMass)
})
For Each ci In hc.nctsWP_CONSIGNMENT_ITEM
itemNumber += 1
Dim pos = ToInt(ci.nctsHCCI_DeclarationGoodsItemNumber)
If pos <= 0 Then pos = ToInt(ci.nctsHCCI_GoodsItemNumber)
If pos <= 0 Then pos = itemNumber
Dim it As New cVERAG_CustomsDeclarations_Item With {
.zaItem_PosNo = pos,
.zaItem_HouseConsignmentNumber = hcNumber,
.zaItem_ArticleCode = ToStringSafe(ci.nctsHCCI_ArticleCode),
.zaItem_HSCode = ToStringSafe(ci.nctsHCCI_CommodityCode),
.zaItem_Description = ToStringSafe(ci.nctsHCCI_DescriptionOfGoods),
.zaItem_GrossMass = ToNullableDecimal(ci.nctsHCCI_GrossMass),
.zaItem_NetMass = ToNullableDecimal(ci.nctsHCCI_NetMass),
.zaItem_InvoiceValueForeign = ToNullableDecimal(ci.nctsHCCI_GoodsValue),
.zaItem_InvoiceCurrency = ToStringSafe(ci.nctsHCCI_CurrencyOfGoodsValue)
}
For Each pk In ci.nctsHCCI_PACKAGING
Dim pkg As New cVERAG_CustomsDeclarations_ItemPackage With {
.zaPkg_Type = ToStringSafe(pk.nctsHCCIPK_TypeOfPackages),
.zaPkg_Number = ToNullableInteger(pk.nctsHCCIPK_NumberOfPackages),
.zaPkg_Marks = ToStringSafe(pk.nctsHCCIPK_ShippingMarks)
}
it.Packages.Add(pkg)
Next
If it.Packages.Count > 0 Then
it.zaItem_PackageType = it.Packages(0).zaPkg_Type
it.zaItem_PackageColli = If(it.Packages(0).zaPkg_Number.HasValue, it.Packages(0).zaPkg_Number.Value.ToString(), Nothing)
it.zaItem_PackageMark = it.Packages(0).zaPkg_Marks
End If
AddNCTSDocs(it.Documents, ci, "nctsHCCI_")
ZA.Items.Add(it)
Next
Next
AddNCTSDocs(ZA.Documents, ncts, "ncts_")
' SAVE_TRANSIT ist aktuell separat; bestehende NCTS-Datensätze nur in Test-DB überschreiben.
If Not ZA.SAVE() Then Return False
ZA.SAVE_TRANSIT()
Return True
Catch ex As Exception
cErrorHandler.ERR(ex.Message, ex.StackTrace, Reflection.MethodInfo.GetCurrentMethod.Name)
Return False
End Try
End Function
Private Function ExistsNCTSInVERAG(mrn As String, anr As String) As Boolean
Dim sqlstr = "SELECT TOP 1 1 FROM tblVERAG_CustomsDeclarations WHERE za_System='DAKOSY' AND za_REGIME='TRANSIT' AND (za_MRN=@mrn OR za_MRN=@anr OR za_DeclarationNo=@anr)"
Dim args As New List(Of SQLVariable) From {New SQLVariable("mrn", mrn), New SQLVariable("anr", anr)}
Dim dt = New SQL().loadDgvBySql_Param(sqlstr, "VERAG", , args)
Return dt IsNot Nothing AndAlso dt.Rows.Count > 0
End Function
Private Sub AddNCTSParty(za As cVERAG_CustomsDeclarations, role As String, eori As Object, name As Object, street As Object, zip As Object, city As Object, country As Object, Optional subsidiary As Object = Nothing)
If String.IsNullOrWhiteSpace(ToStringSafe(eori)) AndAlso String.IsNullOrWhiteSpace(ToStringSafe(name)) Then Exit Sub
za.Parties.Add(New cVERAG_CustomsDeclarations_Parties With {
.zaParty_Role = role, .zaParty_EORI = ToStringSafe(eori), .zaParty_SubsidiaryNumber = ToStringSafe(subsidiary),
.zaParty_Name = ToStringSafe(name), .zaParty_Street = ToStringSafe(street),
.zaParty_PostalCode = ToStringSafe(zip), .zaParty_City = ToStringSafe(city), .zaParty_Country = ToStringSafe(country)
})
End Sub
Private Function NCTSProp(obj As Object, name As String) As Object
Dim p = obj.GetType().GetProperty(name)
Return If(p Is Nothing, Nothing, p.GetValue(obj, Nothing))
End Function
Private Sub AddNCTSDocs(docs As List(Of cVERAG_CustomsDeclarations_Document), obj As Object, prefix As String)
For Each kind In {"SupportingDocument", "PreviousDocument", "TransportDocument"}
For i As Integer = 1 To 9
Dim baseName = prefix & kind & "_" & i & "_"
Dim typ = ToStringSafe(NCTSProp(obj, baseName & "Type"))
Dim number = ToStringSafe(NCTSProp(obj, baseName & "ReferenceNumber"))
If String.IsNullOrWhiteSpace(typ) AndAlso String.IsNullOrWhiteSpace(number) Then Continue For
docs.Add(New cVERAG_CustomsDeclarations_Document With {
.zaDoc_Section = kind, .zaDoc_Code = typ, .zaDoc_Reference = number
})
Next
Next
End Sub
Private Function ToNullableInteger(v As Object) As Integer?
If v Is Nothing OrElse v Is DBNull.Value Then Return Nothing
Dim i As Integer
If Integer.TryParse(ToStringSafe(v), i) Then Return i
Return Nothing
End Function
' =====================================================================
' DUPLIKATSPRÜFUNG
' =====================================================================

View File

@@ -1113,6 +1113,7 @@
<None Include="Resources\ok.png" />
<None Include="Resources\fragezeichen.png" />
<None Include="Resources\sdl_ico2.ico" />
<None Include="Resources\email_big1.png" />
<Content Include="uid.ico" />
</ItemGroup>
<ItemGroup>

View File

@@ -85,6 +85,7 @@ Partial Class frmMitarbDetails
Me.clInterneMailBenachrichtigungen = New System.Windows.Forms.CheckedListBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.PictureBox9 = New System.Windows.Forms.PictureBox()
Me.cboFunktion = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Label63 = New System.Windows.Forms.Label()
Me.txtTelNr = New System.Windows.Forms.TextBox()
@@ -248,6 +249,7 @@ Partial Class frmMitarbDetails
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.Label74 = New System.Windows.Forms.Label()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.TabControl2.SuspendLayout()
@@ -261,6 +263,7 @@ Partial Class frmMitarbDetails
CType(Me.dgvUserParameter, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tabBenachrichtigungen.SuspendLayout()
Me.GroupBox2.SuspendLayout()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox1.SuspendLayout()
CType(Me.picFoto, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TabPage3.SuspendLayout()
@@ -964,6 +967,8 @@ Partial Class frmMitarbDetails
'
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.Label74)
Me.GroupBox2.Controls.Add(Me.PictureBox9)
Me.GroupBox2.Controls.Add(Me.cboFunktion)
Me.GroupBox2.Controls.Add(Me.Label63)
Me.GroupBox2.Controls.Add(Me.txtTelNr)
@@ -1018,6 +1023,16 @@ Partial Class frmMitarbDetails
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Firmendaten"
'
'PictureBox9
'
Me.PictureBox9.BackgroundImage = Global.ADMIN.My.Resources.Resources.email_big1
Me.PictureBox9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox9.Location = New System.Drawing.Point(660, 250)
Me.PictureBox9.Name = "PictureBox9"
Me.PictureBox9.Size = New System.Drawing.Size(43, 29)
Me.PictureBox9.TabIndex = 116
Me.PictureBox9.TabStop = False
'
'cboFunktion
'
Me.cboFunktion._allowedValuesFreiText = Nothing
@@ -2785,6 +2800,16 @@ Partial Class frmMitarbDetails
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
'
'Label74
'
Me.Label74.AutoSize = True
Me.Label74.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label74.Location = New System.Drawing.Point(575, 250)
Me.Label74.Name = "Label74"
Me.Label74.Size = New System.Drawing.Size(79, 13)
Me.Label74.TabIndex = 117
Me.Label74.Text = "Zugangsdaten:"
'
'frmMitarbDetails
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -2819,6 +2844,7 @@ Partial Class frmMitarbDetails
Me.tabBenachrichtigungen.PerformLayout()
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox2.PerformLayout()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.picFoto, System.ComponentModel.ISupportInitialize).EndInit()
@@ -3063,4 +3089,6 @@ Partial Class frmMitarbDetails
Friend WithEvents Panel2 As Panel
Friend WithEvents Label73 As Label
Friend WithEvents txtTimasID As TextBox
Friend WithEvents PictureBox9 As PictureBox
Friend WithEvents Label74 As Label
End Class

View File

@@ -1,5 +1,6 @@

Imports System.Text.RegularExpressions
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports VERAG_PROG_ALLGEMEIN
Public Class frmMitarbDetails
@@ -954,7 +955,34 @@ Public Class frmMitarbDetails
End Sub
Private Sub cbxGekuendigt_CheckedChanged(sender As Object, e As EventArgs) Handles cbxGekuendigt.CheckedChanged
datGekuendigtAm.Enabled = cbxGekuendigt.Checked
If cbxGekuendigt.Checked AndAlso Not mitarbeiter.mit_gekuendigt Then
If vbYes = MsgBox("Möchten Sie den Mitarbeiter deaktivieren? " & vbNewLine & "Es wird automatisch ein Ticket zu Deaktivierung des Accounts erstellt.", vbYesNo) Then
Dim f As New frmDatumsabfrage("Austrittsdatum ", False)
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
datGekuendigtAm.Value = f.dtp_date.Value
Dim Mailtext As String = "Folgender Mitarbeiter verlässt mit " & datGekuendigtAm.Value.ToShortDateString & " das Unternehmen " & mitarbeiter.mit_firma & ": " & mitarbeiter.mit_vname & " " & mitarbeiter.mit_nname & vbNewLine & "Bitte alle zugehörigen Accounts deaktivieren!"
Dim empfaenger = VERAG_PROG_ALLGEMEIN.cMitarbeiter.GetEMailRecipientForEmailNotification("Mitarbeiter-Austritt")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("support@verag.ag", "Austritt Mitarbeiter " & mitarbeiter.mit_vname & " " & mitarbeiter.mit_nname & " (" & mitarbeiter.mit_firma & ")", Mailtext,, True,, empfaenger)
'datGekuendigtAm.Enabled = cbxGekuendigt.Checked
btnOK.PerformClick()
End If
End If
Else
'datGekuendigtAm.Enabled = cbxGekuendigt.Checked
End If
End Sub
@@ -1627,19 +1655,21 @@ Public Class frmMitarbDetails
' Sicherheitsprüfungen
If tageProWoche <= 0 Then Return 0
If urlaubInStunden AndAlso wochenstunden <= 0 Then Return 0
Dim anspruch As Double = 0
Dim anspruch As Double
If Not urlaubInStunden Then
' Urlaub in Tagen
' 5 Wochen Urlaub in Tagen
anspruch = 5 * tageProWoche
Else
' Urlaub in Stunden: durchschnittliche Tagesarbeitszeit * 5
anspruch = (wochenstunden / tageProWoche) * 5
If wochenstunden <= 0 Then Return 0
' 5 Wochen Urlaub in Stunden
anspruch = wochenstunden * 5
End If
Return Math.Round(anspruch, 2, MidpointRounding.AwayFromZero)
End Function
Private Sub TabControl2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl2.SelectedIndexChanged
@@ -1908,6 +1938,93 @@ Public Class frmMitarbDetails
Next
End Sub
Private Sub PictureBox9_Click(sender As Object, e As EventArgs) Handles PictureBox9.Click
If Not cbxGekuendigt.Checked AndAlso Not mitarbeiter.mit_gekuendigt Then
' Dim empfaenger = VERAG_PROG_ALLGEMEIN.cMitarbeiter.GetEMailRecipientForEmailNotification("Mitarbeiter-Eintritt")
Dim betreff As String = "Start Mitarbeiter " & mitarbeiter.mit_vname & " " & mitarbeiter.mit_nname & " (" & mitarbeiter.mit_firma.ToString.Replace("ALL", "VERAG") & ")"
Dim TextHTMLtable As String = ""
TextHTMLtable &= "Hallo " & mitarbeiter.mit_vname & "!" & "<br><br>Herzlich Willkommen bei " & mitarbeiter.mit_firma.ToString.Replace("ALL", "VERAG") & ".<br><br>"
TextHTMLtable &= "Um dir den Start so einfach wie möglich zu machen, findest du alle relevanten Informationen zum Unternehmen hier: <a href=""https://wiki.verag.ag"">WIKI</a>"
TextHTMLtable &= "<br><br>Die Zugangsdaten für deine benötigten Programme/Systeme lauten wie folgt:<br><br>"
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>Programm</td><td>Info</td><td>User</td><td>Passwort</td></tr>"
If mitarbeiter.mit_AliasAD_Username IsNot Nothing AndAlso mitarbeiter.mit_AliasAD_Username <> "" Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "Windows" & "</b></td>"
TextHTMLtable &= "<td><b>" & "PC-Zugangsdaten" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_AliasAD_Username & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_pwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
If mitarbeiter.mit_username <> "" AndAlso mitarbeiter.mit_pwd <> "" Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "AVISO/SDL" & "</b></td>"
TextHTMLtable &= "<td><b>" & "ERP-System" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_username & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_pwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
If mitarbeiter.mit_timasId IsNot Nothing AndAlso IsNumeric(mitarbeiter.mit_timasId) Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "TIMAS" & "</b></td>"
TextHTMLtable &= "<td><b>" & "Zeiterfassung" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_username & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_pwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
If mitarbeiter.mit_DAKOSY_SB IsNot Nothing AndAlso mitarbeiter.mit_DAKOSY_SB <> "" Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "DAKOSY" & "</b></td>"
TextHTMLtable &= "<td><b>" & "ZOLL-DE" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_DAKOSY_SB & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_pwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
If mitarbeiter.mit_EZOLL_SB IsNot Nothing AndAlso mitarbeiter.mit_EZOLL_SB > 0 Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "EZOLL" & "</b></td>"
TextHTMLtable &= "<td><b>" & "ZOLL-AT" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_EZOLL_SB & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_pwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
If mitarbeiter.mit_CSuser IsNot Nothing AndAlso mitarbeiter.mit_CSuser <> "" Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & "Creditsafe" & "</b></td>"
TextHTMLtable &= "<td><b>" & "Bonitätsprüfungstool" & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_CSuser & "</b></td>"
TextHTMLtable &= "<td><b>" & mitarbeiter.mit_CSpwd & "</b></td>"
TextHTMLtable &= "</tr>"
End If
TextHTMLtable &= "</table>"
VERAG_PROG_ALLGEMEIN.cProgramFunctions.createMail("", betreff, TextHTMLtable)
End If
End Sub
End Class

View File

@@ -22,6 +22,7 @@ Partial Class usrCntlMitarbeiter
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.Button6 = New System.Windows.Forms.Button()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.btnUEZ_ausz = New System.Windows.Forms.Button()
@@ -31,25 +32,28 @@ Partial Class usrCntlMitarbeiter
Me.Button3 = New System.Windows.Forms.Button()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage1 = New System.Windows.Forms.TabPage()
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage2 = New System.Windows.Forms.TabPage()
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage3 = New System.Windows.Forms.TabPage()
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage4 = New System.Windows.Forms.TabPage()
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage5 = New System.Windows.Forms.TabPage()
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage7 = New System.Windows.Forms.TabPage()
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage9 = New System.Windows.Forms.TabPage()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabPage8 = New System.Windows.Forms.TabPage()
Me.lbl_Mitarbeiter_export = New System.Windows.Forms.Label()
Me.pbMitarbeiter_export = New System.Windows.Forms.ProgressBar()
Me.cbxTimasAktiv = New System.Windows.Forms.CheckBox()
Me.lblTimasMandant = New System.Windows.Forms.Label()
Me.cbxClientTimas = New System.Windows.Forms.ComboBox()
Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Panel1 = New System.Windows.Forms.Panel()
Me.lblAktiv = New System.Windows.Forms.Label()
Me.cbxDakosy = New System.Windows.Forms.CheckBox()
@@ -60,10 +64,10 @@ Partial Class usrCntlMitarbeiter
Me.Button2 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.UserKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.BerechtigungenSetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.Panel2.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -354,6 +358,9 @@ Partial Class usrCntlMitarbeiter
'
'TabPage8
'
Me.TabPage8.Controls.Add(Me.lbl_Mitarbeiter_export)
Me.TabPage8.Controls.Add(Me.pbMitarbeiter_export)
Me.TabPage8.Controls.Add(Me.cbxTimasAktiv)
Me.TabPage8.Controls.Add(Me.lblTimasMandant)
Me.TabPage8.Controls.Add(Me.cbxClientTimas)
Me.TabPage8.Controls.Add(Me.dgvTimasNew)
@@ -364,6 +371,35 @@ Partial Class usrCntlMitarbeiter
Me.TabPage8.Text = "Zeiterfassung"
Me.TabPage8.UseVisualStyleBackColor = True
'
'lbl_Mitarbeiter_export
'
Me.lbl_Mitarbeiter_export.AutoSize = True
Me.lbl_Mitarbeiter_export.Location = New System.Drawing.Point(679, 8)
Me.lbl_Mitarbeiter_export.Name = "lbl_Mitarbeiter_export"
Me.lbl_Mitarbeiter_export.Size = New System.Drawing.Size(30, 13)
Me.lbl_Mitarbeiter_export.TabIndex = 54
Me.lbl_Mitarbeiter_export.Text = "0 / 0"
'
'pbMitarbeiter_export
'
Me.pbMitarbeiter_export.Location = New System.Drawing.Point(556, 3)
Me.pbMitarbeiter_export.Name = "pbMitarbeiter_export"
Me.pbMitarbeiter_export.Size = New System.Drawing.Size(117, 23)
Me.pbMitarbeiter_export.TabIndex = 161
'
'cbxTimasAktiv
'
Me.cbxTimasAktiv.AutoSize = True
Me.cbxTimasAktiv.Checked = True
Me.cbxTimasAktiv.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbxTimasAktiv.Location = New System.Drawing.Point(804, 7)
Me.cbxTimasAktiv.Name = "cbxTimasAktiv"
Me.cbxTimasAktiv.Size = New System.Drawing.Size(57, 17)
Me.cbxTimasAktiv.TabIndex = 54
Me.cbxTimasAktiv.Text = "AKTIV"
Me.cbxTimasAktiv.ThreeState = True
Me.cbxTimasAktiv.UseVisualStyleBackColor = True
'
'lblTimasMandant
'
Me.lblTimasMandant.AutoSize = True
@@ -426,7 +462,7 @@ Partial Class usrCntlMitarbeiter
Me.cbxDakosy.AutoSize = True
Me.cbxDakosy.Checked = True
Me.cbxDakosy.CheckState = System.Windows.Forms.CheckState.Indeterminate
Me.cbxDakosy.Location = New System.Drawing.Point(666, 11)
Me.cbxDakosy.Location = New System.Drawing.Point(666, 13)
Me.cbxDakosy.Name = "cbxDakosy"
Me.cbxDakosy.Size = New System.Drawing.Size(62, 17)
Me.cbxDakosy.TabIndex = 52
@@ -505,7 +541,7 @@ Partial Class usrCntlMitarbeiter
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UserKopierenToolStripMenuItem, Me.BerechtigungenSetzenToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(195, 48)
Me.ContextMenuStrip1.Size = New System.Drawing.Size(195, 70)
'
'UserKopierenToolStripMenuItem
'
@@ -604,4 +640,7 @@ Partial Class usrCntlMitarbeiter
Friend WithEvents lblAktiv As Label
Friend WithEvents lblTimasMandant As Label
Friend WithEvents cbxClientTimas As ComboBox
Friend WithEvents cbxTimasAktiv As CheckBox
Friend WithEvents pbMitarbeiter_export As ProgressBar
Friend WithEvents lbl_Mitarbeiter_export As Label
End Class

View File

@@ -1,8 +1,10 @@
Imports System.ComponentModel
Imports System.DirectoryServices.ActiveDirectory
Imports System.Net
Imports System.Text
Imports Microsoft.Office.Interop.Outlook
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.IDEV_Intrastat
@@ -35,7 +37,7 @@ Public Class usrCntlMitarbeiter
txtSuche.Focus()
End Sub
Public Sub Tabelle_anzeigen()
Public Sub Tabelle_anzeigen(Optional refreshTimasDGV As Boolean = False)
btnUEZ_ausz.Visible = False
lblAktiv.Text = ""
@@ -66,20 +68,21 @@ Public Class usrCntlMitarbeiter
cbxClientTimas.Visible = True
cbxClientTimas.Items.Clear()
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FRONTOFFICE"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG - MDM", "VERAG 360"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG 360", "VERAG - MDM"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CS", "VERAG CS"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG UNISPED Ltd", "VERAG UNISPED LIMITED"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CUSTOMS LOGISTICS Ltd", "VERAG CL LIMITED"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CL LIMITED", "VERAG CUSTOMS LOGISTICS Ltd"))
cbxClientTimas.SelectedIndex = 0
showTIMAS(False)
If refreshTimasDGV Then getTimasPreData()
End If
End If
@@ -242,23 +245,30 @@ Public Class usrCntlMitarbeiter
Public Sub showTIMAS(refresh As Boolean, Optional TimasMandant As String = "")
Public Sub showTIMAS(refresh As Boolean, Status As String, Optional TimasMandant As String = "")
locZeilen = -1
If Not Grid_aktiv Then Exit Sub
If dt.Columns.Count > 0 And Not refresh AndAlso TimasMandant <> "" Then
Dim SQLWhere = ""
Select Case Status
Case "AKTIV"
SQLWhere = " AND [Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''"
Case "INAKTIV"
SQLWhere = " AND [Ausweis-Nr] = 0 and Vorname <> '' and Nachname <> ''"
End Select
If dt.Columns.Count > 0 And Not refresh Then
SQLWhere &= " AND Info like '%" & TimasMandant & "%'"
If txtSuche.Text <> "" Then
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'"
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'" & SQLWhere
Else
dt.DefaultView.RowFilter = Nothing
dt.DefaultView.RowFilter = " 1 = 1" & SQLWhere
End If
If TimasMandant <> "" Then
dt.DefaultView.RowFilter = "Info like '%" & TimasMandant & "%'"
End If
dgvTimasNew.DataSource = dt
Else
@@ -266,7 +276,7 @@ Public Class usrCntlMitarbeiter
timas.getEmployeeList(dt, TimasMandant)
dgvTimasNew.DataSource = dt
Dim dt_onlyActive As New DataTable
dt_onlyActive = dt.Select("[Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''").CopyToDataTable
dt_onlyActive = dt.Select(" 1 = 1 " & SQLWhere).CopyToDataTable
dgvTimasNew.DataSource = dt_onlyActive
lblAktiv.Text = "AKTIV: " & dt_onlyActive.Rows.Count & "/" & dt.Rows.Count
' MsgBox("ALLE:" & dt.Rows.Count & vbNewLine & "AKIVE:" & dt_onlyActive.Rows.Count)
@@ -524,7 +534,7 @@ Public Class usrCntlMitarbeiter
End Sub
Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged
Tabelle_anzeigen()
Tabelle_anzeigen(True)
End Sub
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbx.CheckStateChanged
@@ -781,6 +791,16 @@ Public Class usrCntlMitarbeiter
ContextMenuStrip1.Hide()
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
Dim Mandant As String = ""
If Not cbxClientTimas.SelectedItem Is Nothing Then
Mandant = cbxClientTimas.SelectedItem.value
End If
pbMitarbeiter_export.Value = 0
'txtPloseAnh_Einarbeitung.Text = "0 / 0"
'lblPloseAnh_Proz.Text = ""
If item IsNot Nothing Then
If item.Name = "uploadPuctureToWiki" Then
uploadToWiki()
@@ -788,34 +808,39 @@ Public Class usrCntlMitarbeiter
ElseIf item.Name = "copyToClipboard" Then
copyToClipboardWIKI()
ElseIf item.Name = "checkue" Then
checkUeberstunden(False, Now().Month, Now().Year)
pbMitarbeiter_export.Visible = True
checkUeberstunden(False, Now().Month, Now().Year, Mandant)
ElseIf item.Name = "ue_stand_yesterday" Then
gettimesaldo(False)
pbMitarbeiter_export.Visible = True
gettimesaldo(False, Mandant)
ElseIf item.Name = "ue_stand" Then
pbMitarbeiter_export.Visible = True
Dim f As New frmDatumsabfrage("Zeitsaldo-Stichtag ", True)
f.Label1.Text = "GS-Saldo Ende Vortag"
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
gettimesaldo(True, CDate(f.dtp_date.Value))
gettimesaldo(True, Mandant, CDate(f.dtp_date.Value))
End If
ElseIf item.Name = "ueuebersicht" Then
pbMitarbeiter_export.Visible = True
Dim f As New frmDatumsabfrage("Überstunden-Übersicht Monat ", True)
f.dtp_date.Format = DateTimePickerFormat.Custom
f.dtp_date.CustomFormat = "MM.yyyy"
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
Dim f As New frmDatumsabfrage("Überstundenübersicht Monat ", True)
f.dtp_date.Format = DateTimePickerFormat.Custom
f.dtp_date.CustomFormat = "MM.yyyy"
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year, Mandant)
End If
checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year)
End If
Else
MsgBox("Funktion nicht implementiert!")
Else
MsgBox("Funktion nicht implementiert!")
End If
Me.Cursor = Cursors.Default
End If
End Sub
@@ -861,7 +886,7 @@ Public Class usrCntlMitarbeiter
ContextMenuStrip2.Items.Add(checkue)
End If
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand_yesterday") Then
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand_yesterday") AndAlso cbxTimasAktiv.CheckState <> CheckState.Unchecked Then
Dim ue_stand = New ToolStripMenuItem() With {.Text = "Stand Zeitsaldo gestern", .Name = "ue_stand_yesterday", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110}
AddHandler ue_stand.Click, AddressOf mnuItem_Clicked
ContextMenuStrip2.Items.Add(ue_stand)
@@ -1034,7 +1059,7 @@ Public Class usrCntlMitarbeiter
'frmMitarbDetails.Show(Me)
If frmMitarbDetails.ShowDialog() = DialogResult.OK Then
sender.RELOAD()
showTIMAS(True)
showTIMAS(True, "")
dgvTimasNew.Refresh()
End If
@@ -1047,12 +1072,12 @@ Public Class usrCntlMitarbeiter
Tabelle_anzeigen()
End Sub
Private Sub checkUeberstunden(showAll As Boolean, Month As Integer, year As Integer)
Private Sub checkUeberstunden(showAll As Boolean, Month As Integer, year As Integer, TimasMandant As String)
If dgvTimasNew.Rows.Count = 0 Then Exit Sub
Try
Me.Cursor = Cursors.WaitCursor
Dim tag As New cFeiertage(year)
Dim dt_Accounts As New DataTable
@@ -1101,8 +1126,16 @@ Public Class usrCntlMitarbeiter
Dim Info As String = ""
If showAll Then
dt_result_temp = dt_result.Select("multiplier = '+'", "date").CopyToDataTable
Info = "Überstunden aus TIMAS von " & dateStart.ToShortDateString & " bis " & dateEnd.ToShortDateString
Dim rows = dt_result.Select("multiplier = '+'", "date")
If rows.Length > 0 Then
dt_result_temp = rows.CopyToDataTable()
Else
dt_result_temp = dt_result.Clone() 'leere Tabelle mit denselben Spalten
End If
Info = "Überstunden aus TIMAS von " & dateStart.ToShortDateString & " bis " & dateEnd.ToShortDateString & IIf(TimasMandant = "", "", " Timas-Mandant: " & TimasMandant)
Dim sqlWhere As String = String.Join(",", dt_Employee.AsEnumerable().Where(Function(r) Not r.IsNull("employeeId")).Select(Function(r) r("employeeId").ToString()))
@@ -1116,8 +1149,16 @@ Public Class usrCntlMitarbeiter
dt_UES_AUS_AVISO = (New SQL).loadDgvBySql(sql, "ADMIN", 100, True)
Else
dt_result_temp = dt_result.Select("multiplier = '-'", "date").CopyToDataTable
Info = "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo); Ausweis-Nr = 0 -> Mitarbeiter archiviert"
Dim rows = dt_result.Select("multiplier = '-'", "date")
If rows.Length > 0 Then
dt_result_temp = rows.CopyToDataTable()
Else
dt_result_temp = dt_result.Clone() 'leere Tabelle mit denselben Spalten
End If
Info = "falsch ausbezahlte Überstunden (ÜS sind negativ -> Erhöhen den Saldo) " & IIf(TimasMandant = "", "", " Timas-Mandant: " & TimasMandant)
End If
If dt_result_temp.Rows.Count = 0 Then
@@ -1142,9 +1183,15 @@ Public Class usrCntlMitarbeiter
dt_merged.Columns.Add("Nachname", GetType(String))
dt_merged.Columns.Add("Ausweis-Nr", GetType(Integer))
' Daten einfügen
Dim cnt As Integer = 0
For Each row In query
dt_merged.Rows.Add(row)
cnt += 1
Dim proz As Double = (cnt / dt_merged.Rows.Count) * 100
pbMitarbeiter_export.Value = proz
lbl_Mitarbeiter_export.Text = cnt & " / " & dt_merged.Rows.Count
Next
If dt_merged.Rows.Count > 0 Then
@@ -1152,6 +1199,9 @@ Public Class usrCntlMitarbeiter
dt_merged = dt_merged.AsEnumerable().OrderByDescending(Function(r) r("value")).CopyToDataTable()
End If
pbMitarbeiter_export.Value = 100
lbl_Mitarbeiter_export.Text = dt_merged.Rows.Count & " / " & dt_merged.Rows.Count
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_merged,,, Info,,,,, True)
If dt_UES_AUS_AVISO.Rows.Count > 0 Then
@@ -1165,6 +1215,10 @@ Public Class usrCntlMitarbeiter
Else
MsgBox("keine Daten vorhanden")
End If
@@ -1177,13 +1231,16 @@ Public Class usrCntlMitarbeiter
End Sub
Private Sub gettimesaldo(stichtag As Boolean, Optional st_datum As Date = Nothing)
Private Sub gettimesaldo(stichtag As Boolean, TimasMandant As String, Optional st_datum As Date = Nothing)
Me.Cursor = Cursors.WaitCursor
Dim timas As New cTimasAPI("timas")
Dim isServiceRunning As Boolean = True
Dim dt_Employee_temp As New DataTable
dt_Employee_temp.Columns.Add("employeeId", GetType(Integer))
dt_Employee_temp.Columns.Add("Ausweis-Nr", GetType(Integer))
If dgvTimasNew.SelectedRows.Count = 0 Then
MsgBox("Bitte Mitarbeiter markieren!")
@@ -1194,6 +1251,7 @@ Public Class usrCntlMitarbeiter
Dim ROW As DataRow = dt_Employee_temp.NewRow
ROW("employeeId") = r.Cells("Id").Value
ROW("Ausweis-Nr") = r.Cells("Ausweis-Nr").Value
dt_Employee_temp.Rows.Add(ROW)
Next
@@ -1214,12 +1272,15 @@ Public Class usrCntlMitarbeiter
.Nachname = emp.Field(Of String)("Nachname"),
.Niederlassung = emp.Field(Of String)("Niederlassung"),
.Abteilung = emp.Field(Of String)("Abteilung"),
.Firma = emp.Field(Of String)("Firma")
.Firma = emp.Field(Of String)("Firma"),
.Ausweis_Nr = fa.Field(Of Integer)("Ausweis-Nr")
}
Dim dt_Employee As New DataTable
dt_Employee.Columns.Add("employeeId", GetType(Integer))
dt_Employee.Columns.Add("Ausweis-Nr", GetType(Integer))
dt_Employee.Columns.Add("Aktiv", GetType(Boolean))
dt_Employee.Columns.Add("Vorname", GetType(String))
dt_Employee.Columns.Add("Nachname", GetType(String))
dt_Employee.Columns.Add("Niederlassung", GetType(String))
@@ -1229,21 +1290,31 @@ Public Class usrCntlMitarbeiter
dt_Employee.Columns.Add("Saldo", GetType(Double))
For Each item In query
Dim isAktiv As Boolean = False
If item.Ausweis_Nr <> 0 Then
isAktiv = True
End If
dt_Employee.Rows.Add(
item.EmployeeId,
item.Vorname,
item.Nachname,
item.Niederlassung,
item.Abteilung,
item.Firma,
DBNull.Value, ' Saldo-raw
DBNull.Value ' Saldo
item.EmployeeId,
item.Ausweis_Nr,
isAktiv,
item.Vorname,
item.Nachname,
item.Niederlassung,
item.Abteilung,
item.Firma,
DBNull.Value, ' Saldo-raw
DBNull.Value ' Saldo
)
Next
Dim emp_id_all As Integer = -1
Dim saldo As String = ""
Dim saldoDouble As Double
Dim cnt As Integer = 0
For Each r As DataRow In dt_Employee.Rows
@@ -1261,8 +1332,8 @@ Public Class usrCntlMitarbeiter
If Not isServiceRunning Then
MsgBox("Abfragefehler am Timas-Server!")
Exit Sub
MsgBox("Abfragefehler (Timeout) am Timas-Server!")
Continue For
End If
r.Item("Saldo-raw") = saldo
@@ -1293,26 +1364,78 @@ Public Class usrCntlMitarbeiter
End If
cnt += 1
Dim proz As Double = (cnt / dgvTimasNew.SelectedRows.Count) * 100
pbMitarbeiter_export.Value = proz
lbl_Mitarbeiter_export.Text = cnt & " / " & dgvTimasNew.SelectedRows.Count
My.Application.DoEvents()
Next
If dt_Employee.Rows.Count > 0 Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_Employee,,, "Stundensaldo: " & Now.AddDays(-1).ToShortDateString,,,,, True)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_Employee,,, IIf(TimasMandant <> "", "", "Mandant: ") & TimasMandant & " Stundensaldo zum " & IIf(stichtag, st_datum.ToShortDateString, Now.AddDays(-1).ToShortDateString),,,,, True)
End If
pbMitarbeiter_export.Value = 100
lbl_Mitarbeiter_export.Text = dgvTimasNew.SelectedRows.Count & " / " & dgvTimasNew.SelectedRows.Count
End Sub
Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged
Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged, cbxTimasAktiv.CheckStateChanged
getTimasPreData()
End Sub
Private Sub dgvTimasNew_Sorted(sender As Object, e As EventArgs) Handles dgvTimasNew.Sorted
For i As Integer = 0 To dgvTimasNew.Rows.Count - 1
dgvTimasNew.Rows(i).DefaultCellStyle.BackColor = If(dgvTimasNew.Rows(i).Cells("Ausweis-Nr").Value = "0", Color.IndianRed, Color.LightBlue)
Next
End Sub
Private Sub getTimasPreData()
Dim Firma = ""
If cbxClientTimas.SelectedItem Is Nothing Then Exit Sub
Firma = cbxClientTimas.SelectedItem.Value
Dim STATUS As String = ""
Select Case cbxTimasAktiv.CheckState
Case CheckState.Checked
STATUS = "AKTIV"
Case CheckState.Unchecked
STATUS = "INAKTIV"
Case Else
STATUS = ""
End Select
Dim Firma = cbxClientTimas.SelectedItem.Text
If Firma <> "" Then
showTIMAS(False, Firma)
showTIMAS(False, STATUS, Firma)
Else
showTIMAS(False)
showTIMAS(False, STATUS)
End If
pbMitarbeiter_export.Value = 0
lbl_Mitarbeiter_export.Text = "0 / 0"
End Sub
Private Sub MailMitZugangsdatenToolStripMenuItem_Click(sender As Object, e As EventArgs)
End Sub
End Class

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.6.3")>
<Assembly: AssemblyFileVersion("1.2.6.3")>
<Assembly: AssemblyVersion("1.2.6.7")>
<Assembly: AssemblyFileVersion("1.2.6.7")>

View File

@@ -343,6 +343,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property email_big1() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("email_big1", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@@ -145,6 +145,9 @@
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UpdaterVersion" xml:space="preserve">
<value>4.0</value>
</data>
<data name="refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -157,30 +160,39 @@
<data name="dispo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dispo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="reise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\reise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="refresh1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\refresh1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="admin_logo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\admin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="refresh1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\refresh1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="uhr_green" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\uhr_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MDM_IT_Verguetung" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MDM_IT_Verguetung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="personGray_m" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\personGray_m.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dispo_ico" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dispo_ico1.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="connStringFMZOLL_NEW" xml:space="preserve">
<value>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</value>
</data>
<data name="MDM_AI_Verguetung" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MDM_AI_Verguetung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="cmr_logo_klein" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cmr-logo_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Verag_Academy_blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Verag-Academy_blue.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="kalender" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\kalender.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="fd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\fd.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -196,8 +208,11 @@
<data name="admin1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\admin1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="kalender" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\kalender.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="sdl_ico1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sdl_ico2.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="reise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\reise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -271,8 +286,8 @@
<data name="gear1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\gear1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UpdaterVersion" xml:space="preserve">
<value>4.0</value>
<data name="chain" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="printer" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\printer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -286,9 +301,6 @@
<data name="connStringAdmin" xml:space="preserve">
<value>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</value>
</data>
<data name="chain" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="uid" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\uid.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -313,16 +325,7 @@
<data name="del" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sdl_ico1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sdl_ico2.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MDM_AI_Verguetung" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MDM_AI_Verguetung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="MDM_IT_Verguetung" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MDM_IT_Verguetung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="connStringFMZOLL_NEW" xml:space="preserve">
<value>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</value>
<data name="email_big1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\email_big1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

View File

@@ -87,6 +87,7 @@ Partial Class usrctlProcedures
Me.Button48 = New System.Windows.Forms.Button()
Me.Button47 = New System.Windows.Forms.Button()
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.Button60 = New System.Windows.Forms.Button()
Me.Label23 = New System.Windows.Forms.Label()
Me.Button54 = New System.Windows.Forms.Button()
Me.Label19 = New System.Windows.Forms.Label()
@@ -182,7 +183,8 @@ Partial Class usrctlProcedures
Me.Button57 = New System.Windows.Forms.Button()
Me.Button58 = New System.Windows.Forms.Button()
Me.Button59 = New System.Windows.Forms.Button()
Me.Button60 = New System.Windows.Forms.Button()
Me.Button61 = New System.Windows.Forms.Button()
Me.Button62 = New System.Windows.Forms.Button()
Me.tbTRStat.SuspendLayout()
Me.TabPage3.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -842,6 +844,15 @@ Partial Class usrctlProcedures
Me.TabPage6.Text = "MDM Importe"
Me.TabPage6.UseVisualStyleBackColor = True
'
'Button60
'
Me.Button60.Location = New System.Drawing.Point(336, 63)
Me.Button60.Name = "Button60"
Me.Button60.Size = New System.Drawing.Size(106, 49)
Me.Button60.TabIndex = 74
Me.Button60.Text = "Plose PDF-Zuweisung"
Me.Button60.UseVisualStyleBackColor = True
'
'Label23
'
Me.Label23.AutoSize = True
@@ -1730,19 +1741,30 @@ Partial Class usrctlProcedures
Me.Button59.Text = "Firmenlogo in DB"
Me.Button59.UseVisualStyleBackColor = True
'
'Button60
'Button61
'
Me.Button60.Location = New System.Drawing.Point(336, 63)
Me.Button60.Name = "Button60"
Me.Button60.Size = New System.Drawing.Size(106, 49)
Me.Button60.TabIndex = 74
Me.Button60.Text = "Plose PDF-Zuweisung"
Me.Button60.UseVisualStyleBackColor = True
Me.Button61.Location = New System.Drawing.Point(759, 79)
Me.Button61.Name = "Button61"
Me.Button61.Size = New System.Drawing.Size(145, 33)
Me.Button61.TabIndex = 72
Me.Button61.Text = "TEST NCTS FROM EXG"
Me.Button61.UseVisualStyleBackColor = True
'
'Button62
'
Me.Button62.Location = New System.Drawing.Point(29, 256)
Me.Button62.Name = "Button62"
Me.Button62.Size = New System.Drawing.Size(145, 49)
Me.Button62.TabIndex = 73
Me.Button62.Text = "KI TEST"
Me.Button62.UseVisualStyleBackColor = True
'
'usrctlProcedures
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.Button62)
Me.Controls.Add(Me.Button61)
Me.Controls.Add(Me.Button59)
Me.Controls.Add(Me.Button58)
Me.Controls.Add(Me.Button57)
@@ -1989,4 +2011,6 @@ Partial Class usrctlProcedures
Friend WithEvents Button58 As Button
Friend WithEvents Button59 As Button
Friend WithEvents Button60 As Button
Friend WithEvents Button61 As Button
Friend WithEvents Button62 As Button
End Class

View File

@@ -123,10 +123,4 @@
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -3463,6 +3463,7 @@ Public Class usrctlProcedures
Private Sub Button33_Click(sender As Object, e As EventArgs) Handles Button33.Click
Dim cnt = 0
Dim cntSaved = 0
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim kdnr_tmp = ""
@@ -3696,17 +3697,19 @@ Public Class usrctlProcedures
DYIMPORT.Importstatus = isleernothing((currentRow(139)))
DYIMPORT.Importdate = Now()
DYIMPORT.Importfile = System.IO.Path.GetFileName(fd.FileName)
If DYIMPORT.SAVE() Then
If DYIMPORT.SAVE(False) Then
TextBox10.Text &= DYIMPORT.Id & vbNewLine
If Not savedDY Then savedDY = True
If Not savedDY Then
savedDY = True
cntSaved += 1
End If
Else
MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim())
'MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim())
End If
End If
If cnt Mod 10 = 0 Then
Application.DoEvents()
lblDakosyImport.Text = (cnt + 1)
End If
@@ -3718,10 +3721,12 @@ Public Class usrctlProcedures
cnt += 1
'Next
Catch ex As Exception
MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace)
'MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace)
End Try
End While
MsgBox("Von " & cnt & " Zeilen wurden " & cntSaved & " erfolgreich eingelesen")
If savedDY Then
'zuerst alle doppelten löschen und die fehlerhaften zuerst
sql.doSQL("EXECUTE dbo.sp_DeleteDuplicateZollmeldungen_ohne_Importfile", "AVISO")
@@ -5147,6 +5152,202 @@ OPTION (MAXRECURSION 1000);", "AVISO") '
Return Nothing
End Function
Private Sub Button61_Click(sender As Object, e As EventArgs) Handles Button61.Click
Dim referenz As String = InputBox("Bitte EXG-Referenz eingeben (mit % am Ende):", "NCTS-Test aus EXG", "4801/26033344%")
If String.IsNullOrWhiteSpace(referenz) Then Exit Sub
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED"
VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "SUB"
Try
Dim saveFile = TestNCTSFromEXG(referenz.Trim(), True, "T1")
MsgBox("NCTS-Test erfolgreich!" & vbCrLf & saveFile)
Process.Start(saveFile)
Catch ex As Exception
MsgBox("Fehler beim NCTS-Test:" & vbCrLf & ex.Message)
End Try
End Sub
Shared Function GET_IDsByBezugsNr(bezugsNr As String) As List(Of Integer)
Dim ids As New List(Of Integer)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT exg_Id FROM tblDakosy_EXG WHERE exg_ObjectName LIKE @bezugsNr ORDER BY exg_ObjectName", conn)
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr.Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]") & "[_]EXG[0-9]%")
Using dr = cmd.ExecuteReader()
While dr.Read()
ids.Add(Convert.ToInt32(dr("exg_Id")))
End While
End Using
End Using
End Using
Return ids
End Function
Shared Function TestNCTSFromEXG(bezugsNrEXG As String, Optional sendFTP As Boolean = False, Optional nctsArt As String = "T1") As String
Dim exgIds As List(Of Integer) = GET_IDsByBezugsNr(bezugsNrEXG)
If exgIds.Count = 0 Then
Throw New Exception("Keine EXG-Gestellungen gefunden für: " & bezugsNrEXG)
End If
Console.WriteLine("EXG-Test: " & exgIds.Count & " Gestellungen gefunden.")
Dim BezugsNr As String = "TEST_EXG_" & Now.ToString("MMddHHmmss")
Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004
Dim DY_ANM As New cDakosy_Zollanmeldungen
Dim firma As String = ""
Dim niederlassung As String = ""
Dim firstEXG As Boolean = True
NCTS_OUT.ncts_ObjectName = BezugsNr
'EXG-Daten laden und NCTS befüllen
For Each exgId In exgIds.Distinct()
Dim EXG As New DAKOSY_Worker.cDakosyEXG
EXG.exg_Id = exgId
If Not EXG.LOAD(True) Then Throw New Exception("EXG nicht gefunden: " & exgId)
If EXG.exg_POSITION Is Nothing OrElse EXG.exg_POSITION.Count = 0 Then Throw New Exception("EXG ohne Positionen: " & exgId)
If firstEXG Then
firma = EXG.exg_firma
niederlassung = EXG.exg_niederlassung
firstEXG = False
Else
If firma <> EXG.exg_firma OrElse niederlassung <> EXG.exg_niederlassung Then
Throw New Exception("EXG-Datensätze gehören zu unterschiedlichen Firmen oder Niederlassungen.")
End If
End If
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, BezugsNr) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Console.WriteLine("TEST NCTS: EXG übernommen: " & EXG.exg_ObjectName)
Dim HC = NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Last()
Console.WriteLine("EXG: " & EXG.exg_ObjectName)
Console.WriteLine("EXG Versender: " & Convert.ToString(EXG.exg_Consignor_Name))
Console.WriteLine("EXG Empfänger: " & Convert.ToString(EXG.exg_Consignee_Name))
Console.WriteLine("NCTS Versender: " & Convert.ToString(HC.nctsHC_Consignor_Name))
Console.WriteLine("NCTS Empfänger: " & Convert.ToString(HC.nctsHC_Consignee_Name))
Next
If NCTS_OUT.ncts_HOUSE_CONSIGNMENT Is Nothing OrElse NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Count = 0 Then
Throw New Exception("Keine NCTS-House-Consignments erzeugt.")
End If
'Neue Zollanmeldung erstellen
DY_ANM.dy_ART = nctsArt
DY_ANM.dy_BezugsNr = BezugsNr
If Not DY_ANM.SAVE() OrElse DY_ANM.dy_Id <= 0 Then
Throw New Exception("NCTS-Zollanmeldung konnte nicht erstellt werden.")
End If
'NCTS mit der neuen Zollanmeldung verknüpfen
NCTS_OUT.ncts_ObjectName = BezugsNr
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
NCTS_OUT.ncts_Trans_Referenz = BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
NCTS_OUT.ncts_LetzteBearbeitung = Now
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
NCTS_OUT.ncts_firma = If(firma, "VERAG")
NCTS_OUT.ncts_niederlassung = If(niederlassung, "SUB")
'CheckNCTSStringLengths(NCTS_OUT)
If Not NCTS_OUT.SAVE_ALL() Then
Throw New Exception("NCTS-Daten konnten nicht gespeichert werden. DY-ID: " & DY_ANM.dy_Id)
End If
'NCTS-XML erstellen
Dim saveFile As String = ""
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If Not cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
Throw New Exception("NCTS-XML konnte nicht erzeugt werden.")
End If
If String.IsNullOrWhiteSpace(saveFile) OrElse Not System.IO.File.Exists(saveFile) Then
Throw New Exception("NCTS-XML-Datei fehlt.")
End If
'Optional an DAKOSY senden
If sendFTP Then
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, BezugsNr, DY_ANM.dy_Id, firma) Then
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
DY_ANM.UPDATE_DATA()
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
Else
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
Throw New Exception("NCTS-FTP-Versand fehlgeschlagen. DY-ID: " & DY_ANM.dy_Id)
End If
End If
Console.WriteLine("TEST NCTS: " & BezugsNr & " / DY-ID: " & DY_ANM.dy_Id)
Return saveFile
End Function
Private Shared Sub CheckNCTSStringLengths(NCTS_OUT As cDakosyNCTSOut004)
Using conn = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL
Dim lengths As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase)
Using cmd As New SqlClient.SqlCommand("
SELECT c.name, t.name AS DataType, c.max_length
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE c.object_id = OBJECT_ID('dbo.tblDakosy_NCTSOut004')
AND t.name IN ('varchar', 'nvarchar', 'char', 'nchar')", conn)
Using dr = cmd.ExecuteReader()
While dr.Read()
Dim maxLen As Integer = CInt(dr("max_length"))
If maxLen = -1 Then Continue While
Dim dataType As String = CStr(dr("DataType"))
If dataType = "nvarchar" OrElse dataType = "nchar" Then maxLen \= 2
lengths.Add(CStr(dr("name")), maxLen)
End While
End Using
End Using
Dim errors As New List(Of String)
For Each prop In NCTS_OUT.GetType().GetProperties()
If prop.PropertyType IsNot GetType(String) OrElse Not prop.CanRead Then Continue For
If prop.GetIndexParameters().Length > 0 Then Continue For
If Not lengths.ContainsKey(prop.Name) Then Continue For
Dim value As String = TryCast(prop.GetValue(NCTS_OUT, Nothing), String)
If value Is Nothing Then Continue For
Dim maxLen As Integer = lengths(prop.Name)
Dim actualBytes As Integer = System.Text.Encoding.GetEncoding(1252).GetByteCount(value)
If actualBytes > maxLen Then
errors.Add(prop.Name & ": " & actualBytes & "/" & maxLen & " Bytes - " & value.Substring(0, Math.Min(value.Length, 100)))
End If
Next
If errors.Count > 0 Then
MsgBox("Zu lange NCTS-Felder:" & vbCrLf & String.Join(vbCrLf, errors))
Throw New Exception("Zu lange NCTS-Felder:" & vbCrLf & String.Join(vbCrLf, errors))
End If
If lengths.Count = 0 Then
Throw New Exception("Keine Spalten für tblDakosy_NCTSOut004 gefunden. Datenbank oder Schema prüfen.")
End If
End Using
End Sub
Private Sub Button62_Click(sender As Object, e As EventArgs) Handles Button62.Click
Dim t = cOpenAI.askAI_HERBERT_Allg("Bitte gib mir eine kurze Zusammenfassung der aktuellen Situation im internationalen Handel und Zollwesen.")
Console.WriteLine(t)
End Sub
End Class

View File

@@ -1,4 +1,5 @@
Imports DAKOSY_Worker
Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_AES_EXG
Public Shared Dateiname = ""
@@ -10,7 +11,14 @@ Public Class cWorker_AES_EXG
Shared Function readEZA_DatenZumAusgang_DataEXITDE_005(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean) As String
Try
Dim VWI As DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp = DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp.LoadFromFile(d)
Dim VWI As DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp
Using fs As New System.IO.FileStream(d, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)
VWI = DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp.Deserialize(fs)
End Using
Dim MRN = ""
Dim RegistriernummerATLAS = ""
Dim ankungsdatum As Object = Nothing
@@ -56,7 +64,8 @@ Public Class cWorker_AES_EXG
EXG.exg_CountryOfDestination = RESP.HeaderData.CountryOfDestination
EXG.exg_ReferenceNumberUCR = RESP.HeaderData.ReferenceNumberUCR
frmDYNachrichtenVerarbeitung.setFirmaNL(VWI.Transaktion.IOPartner, VWI.Transaktion.IODivision3, EXG.exg_firma, EXG.exg_niederlassung)
frmDYNachrichtenVerarbeitung.setFirmaNL(VWI.Transaktion.IOPartner, VWI.Transaktion.IODivision3, EXG.exg_firma, EXG.exg_niederlassung, EXG.exg_ObjectName)
' frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(EXG.exg_firma, EXG.exg_niederlassung, If(EXG.exg_Representative_ContactPerson_EMailAddress, "").ToString, EXG.exg_ObjectName)
If RESP.HeaderData.Consignee IsNot Nothing Then
EXG.exg_Consignee_Name = RESP.HeaderData.Consignee.Name
@@ -82,13 +91,22 @@ Public Class cWorker_AES_EXG
EXG.exg_Consignor_SubsidiaryNumber = RESP.HeaderData.Exporter.SubsidiaryNumber
End If
EXG.exg_POSITION.Clear()
If RESP.GoodsItem IsNot Nothing Then
For Each ITEM In RESP.GoodsItem
Dim EXG_ITEM As New cDakosy_EXG_Position
EXG_ITEM.exgPos_GoodsItemNumber = ITEM.GoodsItemNumber
EXG_ITEM.exgPos_CommodityCode = ITEM.HarmonizedSystemSubHeadingCode & ITEM.CombinedNomenclatureCode
'Tarifnummer als 8-stelligen String zusammensetzen
Dim hsCode As String = If(ITEM.HarmonizedSystemSubHeadingCode, "").Trim()
Dim cnCode As String = If(ITEM.CombinedNomenclatureCode, "").Trim()
If cnCode <> "" Then cnCode = cnCode.PadLeft(2, "0"c)
EXG_ITEM.exgPos_CommodityCode = hsCode & cnCode
EXG_ITEM.exgPos_DescriptionOfGoods = ITEM.DescriptionOfGoods
EXG_ITEM.exgPos_NetMass = ITEM.NetMass
EXG_ITEM.exgPos_GrossMass = ITEM.GrossMass
@@ -138,90 +156,76 @@ Public Class cWorker_AES_EXG
'----------------------------------------------------------------------
'Wenn markiert wurde, dass die NCTS Daten ergänzt werden sollten
'----------------------------------------------------------------------
Dim testDY = True
If testDY Or (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
Console.WriteLine("EXG: NCTS Verarbeitung starten...")
'----------------------------------------------------------------------
'NCTS BEFÜLLEN!
'----------------------------------------------------------------------
Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "TEEEEEEESTTT")
'----------------------------------------------------------------------
'----------------------------------------------------------------------
testDY = True
' Dim testDY = True
'----------------------------------------------------------------------
'NCTS aktualisieren und nach letztem EXG-Rücklauf senden
'----------------------------------------------------------------------
If EXG.exg_AutoFill_DyId IsNot Nothing Then
Dim dyId As Integer = Convert.ToInt32(EXG.exg_AutoFill_DyId)
'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden!
If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then
If dyId > 0 Then
Dim DY_ANM As New cDakosy_Zollanmeldungen(dyId)
Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "") '<<<<<-- Befüllung der NCTS-Daten mit den EXG-Daten. Danach wird geprüft, ob alle Positionen befüllt wurden.
If NCTS_OUT Is Nothing Then
Throw New Exception("NCTS-Befüllung fehlgeschlagen. EXG-ID: " & EXG.exg_Id)
End If
Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId)
If NCTS_OUT IsNot Nothing Then
If cDakosyEXG.isFillNCTS_ID_ALLCompleted(dyId) Then
'Alle EXG-Rückmeldungen vollständig: NCTS ergänzen und versenden
Dim BezugsNr As String = NCTS_OUT.ncts_ObjectName
If String.IsNullOrWhiteSpace(BezugsNr) Then BezugsNr = DY_ANM.dy_BezugsNr
If String.IsNullOrWhiteSpace(BezugsNr) Then Throw New Exception("NCTS-Bezugsnummer fehlt: " & dyId)
'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB)
Dim firma As String = If(String.IsNullOrWhiteSpace(EXG.exg_firma), "VERAG", EXG.exg_firma)
Dim niederlassung As String = If(String.IsNullOrWhiteSpace(EXG.exg_niederlassung), "SUB", EXG.exg_niederlassung)
Dim nctsArt As String = If(String.IsNullOrWhiteSpace(DY_ANM.dy_ART), "T2", DY_ANM.dy_ART)
'AVISO und Sendung anhand der bestehenden Zollanmeldung laden
Dim AVISO As cAviso = Nothing
Dim SENDUNG As cSendungen = Nothing
If DY_ANM.dy_AvisoId IsNot Nothing AndAlso Convert.ToInt32(DY_ANM.dy_AvisoId) > 0 Then
AVISO = cAviso.getAvisoById(DY_ANM.dy_AvisoId)
End If
If DY_ANM.dy_SendungsId IsNot Nothing AndAlso Convert.ToInt32(DY_ANM.dy_SendungsId) > 0 Then
SENDUNG = New cSendungen(Convert.ToInt32(DY_ANM.dy_SendungsId))
End If
'AVISO-Vorblendung wie bei SendNCTS übernehmen
If AVISO IsNot Nothing Then
cDakosyNCTSOut004.loaddataFromAVISO(AVISO, SENDUNG, "", BezugsNr, NCTS_OUT, firma, False)
End If
'Bestehende NCTS-Anmeldung weiterverwenden
NCTS_OUT.ncts_ObjectName = BezugsNr
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
NCTS_OUT.ncts_LetzteBearbeitung = Now
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
NCTS_OUT.ncts_firma = EXG.exg_firma
NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung
' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY)
NCTS_OUT.ncts_firma = firma
NCTS_OUT.ncts_niederlassung = niederlassung
NCTS_OUT.ncts_Declarationtype = nctsArt
NCTS_OUT.ncts_Trans_Referenz = BezugsNr & "_" & Now.ToString("ddMMyyHHmmss")
'VON HIER löschnen ohne test
If testDY OrElse NCTS_OUT.SAVE_ALL() Then
If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist
NCTS_OUT.SAVE_ALL()
End If
Dim saveFile = ""
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
If saveFile <> "" Then
frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\")
End If
End If
Else
'BIS HIER löschnen ohne test
If NCTS_OUT.SAVE_ALL() Then
Dim saveFile = ""
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
If saveFile <> "" Then
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen.
Else
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
MsgBox("Sendefehler!")
End If
End If
End If
End If
If NCTS_OUT.ncts_HOUSE_CONSIGNMENT Is Nothing OrElse NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Count = 0 Then
Throw New Exception("Keine NCTS-House-Consignments vorhanden: " & dyId)
End If
End If
'Identischer Speicher- und Versandweg wie bei SendNCTS
Dim result As String = cDakosyNCTSOut004.SaveAndSendNCTS(
NCTS_OUT, DY_ANM, BezugsNr, firma, True, SENDUNG, "CREATE", nctsArt)
If Not testDY Or If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Kann ganz weg kenn kein test
DY_ANM.UPDATE_DATA()
'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist.
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
Console.WriteLine("EXG: Automatischer NCTS-Versand: " & BezugsNr & " - " & result)
End If
End If
End If
'----------------------------------------------------------------------
'QULAIFIZIERUNG!
'----------------------------------------------------------------------
@@ -298,24 +302,24 @@ Public Class cWorker_AES_EXG
End Function
Shared Function fillNCTS_WithEXG_AutoFill(EXG As cDakosyEXG, ObjectName As String) As cDakosyNCTSOut004
If EXG Is Nothing OrElse EXG.exg_AutoFill_DyId Is Nothing Then Return Nothing
If (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, True)
Dim dyId As Integer = Convert.ToInt32(EXG.exg_AutoFill_DyId)
If dyId <= 0 Then Return Nothing
If NCTS_OUT Is Nothing Then
NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004
NCTS_OUT.ncts_ObjectName = ObjectName
End If
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(dyId, True)
If NCTS_OUT Is Nothing Then Throw New Exception("NCTS-Entwurf nicht gefunden. DY-ID: " & dyId)
Console.WriteLine("EXG: NCTS befüllen...")
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, ObjectName)
Console.WriteLine("EXG: NCTS updaten...")
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist
Console.WriteLine("EXG: NCTS befüllen: " & EXG.exg_Id)
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, NCTS_OUT.ncts_ObjectName)
Return NCTS_OUT
If Not NCTS_OUT.SAVE_ALL() Then
Throw New Exception("NCTS konnte nicht gespeichert werden. DY-ID: " & dyId)
End If
Return Nothing
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id)
Return NCTS_OUT
End Function

View File

@@ -2445,6 +2445,10 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
''=====IMPORT IN VERAG DATENMODELL==========
'Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'IMP.ImportDakosyNCTS(NCTS_TMP, False)
''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
@@ -3134,6 +3138,11 @@ Public Class cWorker_NCTS
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
'======================================================
''=====IMPORT IN VERAG DATENMODELL==========
'Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'IMP.ImportDakosyNCTS(NCTS_TMP, False)
''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
@@ -3207,6 +3216,11 @@ Public Class cWorker_NCTS
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
'======================================================
''=====IMPORT IN VERAG DATENMODELL==========
'Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'IMP.ImportDakosyNCTS(NCTS_TMP, False)
''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'====================================================
@@ -3276,6 +3290,11 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'=====IMPORT IN VERAG DATENMODELL==========
Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
IMP.ImportDakosyNCTS(NCTS_TMP, True)
'==================================
'=======BEREITSTELLUNG DER DATEN AN FREMDSYSTEME=======
cVERAG_out_ncts.copyFileFTP_VERAGncts004_DY(NCTS_TMP, DY_TMP)
'======================================================
@@ -3352,6 +3371,11 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'=====IMPORT IN VERAG DATENMODELL==========
Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
IMP.ImportDakosyNCTS(NCTS_TMP, True)
'==================================
'=======BEREITSTELLUNG DER DATEN AN FREMDSYSTEME=======
cVERAG_out_ncts.copyFileFTP_VERAGncts004_DY(NCTS_TMP, DY_TMP)
'======================================================
@@ -3660,6 +3684,11 @@ Public Class cWorker_NCTS
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
''=====IMPORT IN VERAG DATENMODELL==========
'Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'IMP.ImportDakosyNCTS(NCTS_TMP, False)
''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
@@ -3780,6 +3809,11 @@ Public Class cWorker_NCTS
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
''=====IMPORT IN VERAG DATENMODELL==========
'Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'IMP.ImportDakosyNCTS(NCTS_TMP, True)
''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
@@ -3950,6 +3984,13 @@ Public Class cWorker_NCTS
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
'=====IMPORT IN VERAG DATENMODELL==========
Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
IMP.ImportDakosyNCTS(NCTS_TMP, True)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
@@ -4178,6 +4219,11 @@ Public Class cWorker_NCTS
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
'=====IMPORT IN VERAG DATENMODELL==========
Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
IMP.ImportDakosyNCTS(NCTS_TMP, True)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
@@ -4469,6 +4515,11 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
''''=====IMPORT IN VERAG DATENMODELL==========
'''Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
'''IMP.ImportDakosyNCTS(NCTS_TMP, True)
''''==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
@@ -4546,6 +4597,11 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'''=====IMPORT IN VERAG DATENMODELL==========
''Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
''IMP.ImportDakosyNCTS(NCTS_TMP, False)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
@@ -4622,6 +4678,11 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'=====IMPORT IN VERAG DATENMODELL==========
Dim IMP As New DAKOSY_Worker.cImporter_DakosyToVERAG
IMP.ImportDakosyNCTS(NCTS_TMP, True)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================

View File

@@ -946,7 +946,13 @@ Public Class frmDYNachrichtenVerarbeitung
End If
End Sub
Shared Sub setFirmaNL(iopartner As String, division As String, ByRef firma As String, ByRef nl As String)
Shared Sub setFirmaNL(iopartner As String, division As String, ByRef firma As String, ByRef nl As String, BezugsNr As String)
If iopartner = "UNAT" Then
firma = "UNISPED"
nl = "SUB"
End If
If division Is Nothing Then Exit Sub
If division <> "" Then
Select Case division
@@ -979,15 +985,40 @@ Public Class frmDYNachrichtenVerarbeitung
nl = "AMBAR"
Case "IME"
firma = "IMEX"
nl = "IMX"
nl = "SUB"
Case "UNAT", "ATSPED"
firma = "UNISPED"
nl = "ATSP"
nl = "SUB"
End Select
End If
If String.IsNullOrWhiteSpace(firma) OrElse String.IsNullOrWhiteSpace(nl) Then
If Not String.IsNullOrWhiteSpace(BezugsNr) AndAlso BezugsNr.Length >= 4 Then
Dim neueFirma As String = ""
Dim neueNL As String = ""
Select Case BezugsNr.Substring(0, 4)
Case "5501" : neueFirma = "IMEX" : neueNL = "SUB"
Case "5701" : neueFirma = "AMBAR" : neueNL = "SBG"
Case "4801", "4802" : neueFirma = "ATILLA" : neueNL = "SUB"
Case "5801" : neueFirma = "FRONTOFFICE" : neueNL = "SUB"
Case "5802" : neueFirma = "FRONTOFFICE" : neueNL = "KLIPP"
Case "5003" : neueFirma = "VERAG" : neueNL = "SBG"
Case "5103" : neueFirma = "VERAG" : neueNL = "WAI"
Case "5303" : neueFirma = "VERAG" : neueNL = "NKD"
Case "4803", "4805", "4811", "7001" : neueFirma = "VERAG" : neueNL = "SUB"
Case "5601" : neueFirma = "UNISPED" : neueNL = "SUB"
End Select
If String.IsNullOrWhiteSpace(firma) Then firma = neueFirma
If String.IsNullOrWhiteSpace(nl) Then nl = neueNL
End If
End If
End Sub
@@ -1004,7 +1035,7 @@ Public Class frmDYNachrichtenVerarbeitung
Function getVerahrensartFromBezugsNr(bezugsNr) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut004 WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("Select TOP 1 COUNT(*) FROM tblDakosy_NCTSOut004 WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_EZA WHERE eza_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "EZA"
Return ""
@@ -7214,6 +7245,7 @@ Public Class frmDYNachrichtenVerarbeitung
Public Shared Sub tryGetFirmaNiederlassung(ByRef firma As String, ByRef niederlassung As String, Mail As String, BezugsNr As String)
If Mail.Contains("@imex") Then
firma = "IMEX"
niederlassung = "IMEX"

View File

@@ -43,28 +43,34 @@ Partial Class frmDatenarchivarchiv
Me.txtUOrdner1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtOrdner = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtKategorie = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.Label11 = New System.Windows.Forms.Label()
Me.Label12 = New System.Windows.Forms.Label()
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
Me.Label13 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'ProgressBar1
'
Me.ProgressBar1.Location = New System.Drawing.Point(29, 123)
Me.ProgressBar1.Location = New System.Drawing.Point(29, 147)
Me.ProgressBar1.Name = "ProgressBar1"
Me.ProgressBar1.Size = New System.Drawing.Size(664, 23)
Me.ProgressBar1.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(350, 153)
Me.Label1.Location = New System.Drawing.Point(528, 196)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(24, 13)
Me.Label1.Size = New System.Drawing.Size(165, 55)
Me.Label1.TabIndex = 1
Me.Label1.Text = "0/0"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.BottomCenter
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(26, 19)
Me.Label2.Location = New System.Drawing.Point(26, 26)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(174, 13)
Me.Label2.TabIndex = 1
@@ -73,7 +79,7 @@ Partial Class frmDatenarchivarchiv
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(26, 56)
Me.Label3.Location = New System.Drawing.Point(26, 80)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(55, 13)
Me.Label3.TabIndex = 2
@@ -82,7 +88,7 @@ Partial Class frmDatenarchivarchiv
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(160, 56)
Me.Label4.Location = New System.Drawing.Point(160, 80)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(42, 13)
Me.Label4.TabIndex = 4
@@ -91,7 +97,7 @@ Partial Class frmDatenarchivarchiv
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(294, 56)
Me.Label5.Location = New System.Drawing.Point(294, 80)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(62, 13)
Me.Label5.TabIndex = 6
@@ -100,7 +106,7 @@ Partial Class frmDatenarchivarchiv
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(428, 56)
Me.Label6.Location = New System.Drawing.Point(428, 80)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(62, 13)
Me.Label6.TabIndex = 8
@@ -109,7 +115,7 @@ Partial Class frmDatenarchivarchiv
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(562, 56)
Me.Label7.Location = New System.Drawing.Point(562, 80)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(62, 13)
Me.Label7.TabIndex = 10
@@ -118,7 +124,7 @@ Partial Class frmDatenarchivarchiv
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(562, 2)
Me.Label8.Location = New System.Drawing.Point(562, 9)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(33, 13)
Me.Label8.TabIndex = 13
@@ -127,7 +133,7 @@ Partial Class frmDatenarchivarchiv
'Button1
'
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Location = New System.Drawing.Point(278, 194)
Me.Button1.Location = New System.Drawing.Point(528, 259)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(165, 33)
Me.Button1.TabIndex = 14
@@ -137,7 +143,7 @@ Partial Class frmDatenarchivarchiv
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(428, 2)
Me.Label9.Location = New System.Drawing.Point(428, 9)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(23, 13)
Me.Label9.TabIndex = 17
@@ -146,7 +152,7 @@ Partial Class frmDatenarchivarchiv
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Location = New System.Drawing.Point(294, 2)
Me.Label10.Location = New System.Drawing.Point(294, 9)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(28, 13)
Me.Label10.TabIndex = 15
@@ -167,7 +173,7 @@ Partial Class frmDatenarchivarchiv
Me.txtBis._Waehrung = False
Me.txtBis._WaehrungZeichen = True
Me.txtBis.ForeColor = System.Drawing.Color.Black
Me.txtBis.Location = New System.Drawing.Point(431, 19)
Me.txtBis.Location = New System.Drawing.Point(431, 26)
Me.txtBis.MaxLength = 10
Me.txtBis.MaxLineLength = -1
Me.txtBis.MaxLines_Warning = ""
@@ -192,7 +198,7 @@ Partial Class frmDatenarchivarchiv
Me.txtVon._Waehrung = False
Me.txtVon._WaehrungZeichen = True
Me.txtVon.ForeColor = System.Drawing.Color.Black
Me.txtVon.Location = New System.Drawing.Point(297, 19)
Me.txtVon.Location = New System.Drawing.Point(297, 26)
Me.txtVon.MaxLength = 10
Me.txtVon.MaxLineLength = -1
Me.txtVon.MaxLines_Warning = ""
@@ -217,7 +223,7 @@ Partial Class frmDatenarchivarchiv
Me.txtMax._Waehrung = False
Me.txtMax._WaehrungZeichen = True
Me.txtMax.ForeColor = System.Drawing.Color.Black
Me.txtMax.Location = New System.Drawing.Point(565, 19)
Me.txtMax.Location = New System.Drawing.Point(565, 26)
Me.txtMax.MaxLineLength = -1
Me.txtMax.MaxLines_Warning = ""
Me.txtMax.MaxLines_Warning_Label = Nothing
@@ -243,7 +249,7 @@ Partial Class frmDatenarchivarchiv
Me.txtUOrdner3._WaehrungZeichen = True
Me.txtUOrdner3.Enabled = False
Me.txtUOrdner3.ForeColor = System.Drawing.Color.Black
Me.txtUOrdner3.Location = New System.Drawing.Point(565, 73)
Me.txtUOrdner3.Location = New System.Drawing.Point(565, 97)
Me.txtUOrdner3.MaxLineLength = -1
Me.txtUOrdner3.MaxLines_Warning = ""
Me.txtUOrdner3.MaxLines_Warning_Label = Nothing
@@ -267,7 +273,7 @@ Partial Class frmDatenarchivarchiv
Me.txtUOrdner2._WaehrungZeichen = True
Me.txtUOrdner2.Enabled = False
Me.txtUOrdner2.ForeColor = System.Drawing.Color.Black
Me.txtUOrdner2.Location = New System.Drawing.Point(431, 73)
Me.txtUOrdner2.Location = New System.Drawing.Point(431, 97)
Me.txtUOrdner2.MaxLineLength = -1
Me.txtUOrdner2.MaxLines_Warning = ""
Me.txtUOrdner2.MaxLines_Warning_Label = Nothing
@@ -291,7 +297,7 @@ Partial Class frmDatenarchivarchiv
Me.txtUOrdner1._WaehrungZeichen = True
Me.txtUOrdner1.Enabled = False
Me.txtUOrdner1.ForeColor = System.Drawing.Color.Black
Me.txtUOrdner1.Location = New System.Drawing.Point(297, 73)
Me.txtUOrdner1.Location = New System.Drawing.Point(297, 97)
Me.txtUOrdner1.MaxLineLength = -1
Me.txtUOrdner1.MaxLines_Warning = ""
Me.txtUOrdner1.MaxLines_Warning_Label = Nothing
@@ -314,7 +320,7 @@ Partial Class frmDatenarchivarchiv
Me.txtOrdner._Waehrung = False
Me.txtOrdner._WaehrungZeichen = True
Me.txtOrdner.ForeColor = System.Drawing.Color.Black
Me.txtOrdner.Location = New System.Drawing.Point(163, 73)
Me.txtOrdner.Location = New System.Drawing.Point(163, 97)
Me.txtOrdner.MaxLineLength = -1
Me.txtOrdner.MaxLines_Warning = ""
Me.txtOrdner.MaxLines_Warning_Label = Nothing
@@ -338,7 +344,7 @@ Partial Class frmDatenarchivarchiv
Me.txtKategorie._Waehrung = False
Me.txtKategorie._WaehrungZeichen = True
Me.txtKategorie.ForeColor = System.Drawing.Color.Black
Me.txtKategorie.Location = New System.Drawing.Point(29, 73)
Me.txtKategorie.Location = New System.Drawing.Point(29, 97)
Me.txtKategorie.MaxLineLength = -1
Me.txtKategorie.MaxLines_Warning = ""
Me.txtKategorie.MaxLines_Warning_Label = Nothing
@@ -347,12 +353,89 @@ Partial Class frmDatenarchivarchiv
Me.txtKategorie.TabIndex = 3
Me.txtKategorie.Text = "DOKUMENTE"
'
'MyComboBox1
'
Me.MyComboBox1._allowedValuesFreiText = Nothing
Me.MyComboBox1._allowFreiText = False
Me.MyComboBox1._value = ""
Me.MyComboBox1.FormattingEnabled = True
Me.MyComboBox1.Location = New System.Drawing.Point(343, 47)
Me.MyComboBox1.Name = "MyComboBox1"
Me.MyComboBox1.Size = New System.Drawing.Size(82, 21)
Me.MyComboBox1.TabIndex = 19
'
'MyTextBox1
'
Me.MyTextBox1._DateTimeOnly = False
Me.MyTextBox1._numbersOnly = False
Me.MyTextBox1._numbersOnlyKommastellen = ""
Me.MyTextBox1._numbersOnlyTrennzeichen = True
Me.MyTextBox1._Prozent = False
Me.MyTextBox1._ShortDateNew = False
Me.MyTextBox1._ShortDateOnly = False
Me.MyTextBox1._TimeOnly = False
Me.MyTextBox1._TimeOnly_Seconds = False
Me.MyTextBox1._value = "1000"
Me.MyTextBox1._Waehrung = False
Me.MyTextBox1._WaehrungZeichen = True
Me.MyTextBox1.ForeColor = System.Drawing.Color.Black
Me.MyTextBox1.Location = New System.Drawing.Point(467, 47)
Me.MyTextBox1.MaxLineLength = -1
Me.MyTextBox1.MaxLines_Warning = ""
Me.MyTextBox1.MaxLines_Warning_Label = Nothing
Me.MyTextBox1.Name = "MyTextBox1"
Me.MyTextBox1.Size = New System.Drawing.Size(92, 20)
Me.MyTextBox1.TabIndex = 20
Me.MyTextBox1.Text = "1000"
Me.MyTextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(431, 50)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(30, 13)
Me.Label11.TabIndex = 22
Me.Label11.Text = "Jahr:"
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Location = New System.Drawing.Point(297, 50)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(40, 13)
Me.Label12.TabIndex = 21
Me.Label12.Text = "Monat:"
'
'RichTextBox1
'
Me.RichTextBox1.Location = New System.Drawing.Point(29, 196)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.Size = New System.Drawing.Size(493, 96)
Me.RichTextBox1.TabIndex = 23
Me.RichTextBox1.Text = ""
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Location = New System.Drawing.Point(26, 180)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(46, 13)
Me.Label13.TabIndex = 24
Me.Label13.Text = "Errorlog:"
'
'frmDatenarchivarchiv
'
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(722, 239)
Me.ClientSize = New System.Drawing.Size(722, 304)
Me.Controls.Add(Me.Label13)
Me.Controls.Add(Me.RichTextBox1)
Me.Controls.Add(Me.Label11)
Me.Controls.Add(Me.Label12)
Me.Controls.Add(Me.MyTextBox1)
Me.Controls.Add(Me.MyComboBox1)
Me.Controls.Add(Me.txtBis)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.txtVon)
@@ -402,4 +485,10 @@ Partial Class frmDatenarchivarchiv
Friend WithEvents Label9 As Label
Friend WithEvents txtVon As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label10 As Label
Friend WithEvents MyComboBox1 As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents MyTextBox1 As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label11 As Label
Friend WithEvents Label12 As Label
Friend WithEvents RichTextBox1 As RichTextBox
Friend WithEvents Label13 As Label
End Class

View File

@@ -4,56 +4,177 @@ Public Class frmDatenarchivarchiv
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Me.Cursor = Cursors.WaitCursor
If txtMax._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
If Not IsNumeric(txtMax._value) Then Me.Cursor = Cursors.Default : Exit Sub
If Not IsDate(txtVon._value) Then Me.Cursor = Cursors.Default : Exit Sub
If Not IsDate(txtBis._value) Then Me.Cursor = Cursors.Default : Exit Sub
If txtKategorie.Text Is String.Empty Then Me.Cursor = Cursors.Default : Exit Sub
If txtOrdner.Text Is String.Empty Then Me.Cursor = Cursors.Default : Exit Sub
Dim DT = SQL.loadDgvBySql(" SELECT TOP (" & txtMax._value & ") [da_id] FROM [tblDatenarchiv] inner join tblDatenarchiv_Collection on da_id=coll_daId
where da_vorlage=0 and coll_date BETWEEN '" & txtVon._value & "' and '" & txtBis._value & "' and coll_pfad NOT LIKE '%\\stor01.verag.ost.dmn\DatenArchivArchiv%' and coll_pfad NOT LIKE '\\DELETED\%'
AND da_kategorie='" & txtKategorie.Text & "' and da_ordner='" & txtOrdner.Text & "'
and da_id>=392150 group by [da_id] order by [da_id] ", "FMZOLL")
Dim maxEintraege As Integer
Dim datumVon As Date
Dim datumBis As Date
If DT Is Nothing Then Me.Cursor = Cursors.Default : Exit Sub
If DT.Rows.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub
If Not Integer.TryParse(txtMax._value, maxEintraege) OrElse maxEintraege <= 0 Then Exit Sub
If Not Date.TryParse(txtVon._value, datumVon) Then Exit Sub
If Not Date.TryParse(txtBis._value, datumBis) Then Exit Sub
If datumVon.Date > datumBis.Date Then Exit Sub
If datumBis.Date = Date.MaxValue.Date Then Exit Sub
If String.IsNullOrWhiteSpace(txtKategorie.Text) Then Exit Sub
If String.IsNullOrWhiteSpace(txtOrdner.Text) Then Exit Sub
If vbYes = MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) Then
Dim sqlText As String =
"SELECT TOP (" & maxEintraege & ") da.da_id " &
"FROM tblDatenarchiv da " &
"WHERE da.da_vorlage = 0 " &
"AND da.da_kategorie = '" & txtKategorie.Text.Replace("'", "''") & "' " &
"AND da.da_ordner = '" & txtOrdner.Text.Replace("'", "''") & "' " &
"AND da.da_id >= 392150 " &
"AND EXISTS (" &
"SELECT 1 FROM tblDatenarchiv_Collection coll " &
"WHERE coll.coll_daId = da.da_id " &
"AND coll.coll_date >= '" & datumVon.ToString("yyyyMMdd") & "' " &
"AND coll.coll_date < '" & datumBis.AddDays(1).ToString("yyyyMMdd") & "' " &
"AND coll.coll_pfad NOT LIKE '%\\stor01.verag.ost.dmn\DatenArchivArchiv%' " &
"AND coll.coll_pfad NOT LIKE '\\DELETED\%' " &
") ORDER BY da.da_id"
ProgressBar1.Minimum = 1
ProgressBar1.Maximum = DT.Rows.Count
ProgressBar1.Step = 1
ProgressBar1.Value = 1
Dim DT = SQL.loadDgvBySql(sqlText, "FMZOLL")
For Each ROW In DT.Rows
'Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(txtKategorie._value, txtOrdner._value, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, txtMax._value)
If DT Is Nothing OrElse DT.Rows.Count = 0 Then
MsgBox("Keine Einträge gefunden.", vbInformation)
Exit Sub
End If
If MsgBox("Es werden '" & DT.Rows.Count & "' Einträge verschoben - fortfahren?", vbYesNoCancel) <> vbYes Then Exit Sub
Button1.Enabled = False
RichTextBox1.Clear()
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = DT.Rows.Count
ProgressBar1.Value = 0
Dim erfolgreich As Integer = 0
Dim fehler As Integer = 0
Dim fehlerListe As New List(Of String)
Dim angezeigteFehler As Integer = 0
Dim logOrdner = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "AVISO", "ArchivMigration")
System.IO.Directory.CreateDirectory(logOrdner)
Dim logPfad As String = System.IO.Path.Combine(logOrdner, "ArchivFehler_" & Date.Now.ToString("yyyyMMdd_HHmmss") & ".txt")
System.IO.File.WriteAllText(logPfad, "Archivmigration gestartet: " & Date.Now.ToString("dd.MM.yyyy HH:mm:ss") & Environment.NewLine & Environment.NewLine, System.Text.Encoding.UTF8)
Dim sw As Stopwatch = Stopwatch.StartNew()
For Each ROW As DataRow In DT.Rows
Try
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(ROW("da_id"))
If DS.DATA_LIST.LIST.Count > 0 Then
DS.moveTo_ARCHIVARCHIV()
End If
ProgressBar1.PerformStep()
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count
If DT.Rows.Count < 100 Then
Me.Refresh()
Else
If ProgressBar1.Value Mod 20 = 0 Then
Me.Refresh()
If DS.moveTo_ARCHIVARCHIV(fehlerListe, logPfad) Then
erfolgreich += 1
Else
fehler += 1
End If
End If
Next
End If
Catch ex2 As Exception
fehler += 1
Dim eintrag = Date.Now.ToString("dd.MM.yyyy HH:mm:ss") & " | FEHLER | da_id=" & ROW("da_id").ToString() & " | " & ex2.Message
fehlerListe.Add(eintrag)
System.IO.File.AppendAllText(logPfad, eintrag & Environment.NewLine, System.Text.Encoding.UTF8)
End Try
' Neue Fehler laufend in RichTextBox1 anzeigen
If fehlerListe.Count > angezeigteFehler Then
For i As Integer = angezeigteFehler To fehlerListe.Count - 1
RichTextBox1.AppendText(fehlerListe(i) & Environment.NewLine)
Next
angezeigteFehler = fehlerListe.Count
RichTextBox1.SelectionStart = RichTextBox1.TextLength
RichTextBox1.ScrollToCaret()
RichTextBox1.Refresh()
End If
' Fortschritt und Statistik aktualisieren
ProgressBar1.Value += 1
Dim laufzeit As TimeSpan = sw.Elapsed
Dim dauer As String = String.Format("{0:00}:{1:00}:{2:00}", CInt(Math.Floor(laufzeit.TotalHours)), laufzeit.Minutes, laufzeit.Seconds)
Label1.Text = ProgressBar1.Value & "/" & DT.Rows.Count & vbNewLine &
"Erfolgreich: " & erfolgreich & vbNewLine &
"Fehler: " & fehler & vbNewLine &
"Laufzeit: " & dauer
ProgressBar1.Refresh()
Label1.Refresh()
' UI-Ereignisse verarbeiten, damit die Anzeige aktuell bleibt
Application.DoEvents()
Next
sw.Stop()
System.IO.File.AppendAllText(logPfad, Environment.NewLine &
"Archivmigration beendet: " & Date.Now.ToString("dd.MM.yyyy HH:mm:ss") &
" | Erfolgreich: " & erfolgreich &
" | Fehler: " & fehler &
" | Laufzeit: " & sw.Elapsed.ToString("hh\:mm\:ss") &
Environment.NewLine, System.Text.Encoding.UTF8)
MsgBox("Archivierung abgeschlossen." & vbNewLine &
"Erfolgreich: " & erfolgreich & vbNewLine &
"Datensätze mit Fehlern: " & fehler & vbNewLine &
"Einzelne Fehler: " & fehlerListe.Count & vbNewLine &
"Laufzeit: " & sw.Elapsed.ToString("hh\:mm\:ss") & vbNewLine & vbNewLine &
"Fehlerprotokoll: " & logPfad, vbInformation)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
Finally
Button1.Enabled = True
Me.Cursor = Cursors.Default
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub frmDatenarchivarchiv_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim monate As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
For i As Integer = 1 To 12
monate.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(New Date(2000, i, 1).ToString("MMMM", New System.Globalization.CultureInfo("de-AT")), i.ToString()))
Next
MyComboBox1.fillWithMyListItem(monate)
MyComboBox1._value = Date.Today.Month.ToString()
MyTextBox1._value = Date.Today.Year.ToString()
UpdateZeitraum()
End Sub
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged
UpdateZeitraum()
End Sub
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.TextChanged
UpdateZeitraum()
End Sub
Private Sub UpdateZeitraum()
Dim jahr As Integer
Dim monat As Integer
If Not Integer.TryParse(MyTextBox1._value, jahr) Then Exit Sub
If Not Integer.TryParse(MyComboBox1._value, monat) Then Exit Sub
If jahr < 1 OrElse jahr > 9999 OrElse monat < 1 OrElse monat > 12 Then Exit Sub
txtVon._value = New Date(jahr, monat, 1).ToString("dd.MM.yyyy")
txtBis._value = New Date(jahr, monat, Date.DaysInMonth(jahr, monat)).ToString("dd.MM.yyyy")
End Sub
End Class

View File

@@ -1439,7 +1439,25 @@ Public Class frmStartOptions
End If
'---------------------------------------------------------
'---------------------------------------------------------
' BrokerManagementFile immer zusätzlich anhängen
'---------------------------------------------------------
If SND.tblSnd_SendungID > 0 Then
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, SND.tblSnd_SendungID)
For Each l In ANH_LIST
If String.Equals(Convert.ToString(l.anh_Art), "BrokerManagementFile", StringComparison.OrdinalIgnoreCase) Then
If l.anh_docId > 0 Then
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
If Not String.IsNullOrWhiteSpace(PathTmpANH) AndAlso Not pfadList.Contains(PathTmpANH) Then
pfadList.Add(PathTmpANH)
End If
End If
End If
Next
End If
'---------------------------------------------------------
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(KundenNr, Mail_Art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
' body = body.Replace("%Platzhalter%", "E-Mails: " & EMails & " CC: " & EMails_CC & " BCC:" & EMails_BCC)
@@ -4850,8 +4868,11 @@ Public Class frmStartOptions
showPic(importEZOLLWechselkurse(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, 2, 2), PictureBox24)
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
Me.Visible = False
Dim f As New frmDatenarchivarchiv
f.ShowDialog()
Me.Visible = True
End Sub
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
@@ -6171,8 +6192,8 @@ weiter:
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
'fehlendeRechnungen = (New SQL).loadDgvBySql("SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
von = New Date(datumString)
bis = New Date(datumString)
von = CDate(datumString)
bis = CDate(datumString)
End If
@@ -6407,13 +6428,13 @@ weiter:
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
SQLWhere = "And YEAR(U.Rechnungsdatum) = '" & datumString & "'"
von = New Date("01.01." & txtUTAYear.Text)
bis = New Date("31.12." & txtUTAYear.Text)
von = New Date(txtUTAYear.Text, 1, 1)
bis = New Date(txtUTAYear.Text, 12, 31)
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
SQLWhere = "And CAST(U.Rechnungsdatum AS date) = '" & datumString & "'"
von = New Date(datumString)
bis = New Date(datumString)
von = CDate(datumString)
bis = CDate(datumString)
End If