Files
SDL/SDL/zoll/usrCntlAuswertungenFiskalvertretung_4200.vb
2021-06-24 23:05:48 +02:00

580 lines
33 KiB
VB.net

Imports System.IO
Imports System.Globalization
Public Class usrCntlAuswertungenFiskalvertretung_4200
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Private Property rst As Object
Private Sub usrCntlBrgBuchungenFremd_Load(sender As Object, e As EventArgs) Handles Me.Load
datVon.Value = CDate("01." & Now.AddMonths(-3).Month & "." & Now.AddMonths(-1).Year)
datBis.Value = datVon.Value.AddMonths(3).AddDays(-1)
cboUID.Items.Clear()
cboUID.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE813667748 - VERAG Spedition GmbH", "DE813667748"))
cboUID.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE295575575 - Global-Logistics GmbH", "DE295575575"))
End Sub
Function getDir() As String
Select Case cboUID._value
Case "DE813667748"
Return "\\FMZoll.verag.ost.dmn\FMZoll\ZM\"
Case "DE295575575"
Return "\\192.168.1.20\Daten\ZM\"
Case Else
Return ""
End Select
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
lblErrUID.Visible = False
If cboUID._value = "" Then
lblErrUID.Visible = True
Exit Sub
End If
Me.Cursor = Cursors.WaitCursor
Dim dt = getZM_Datat()
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
If Not Directory.Exists(getDir) Then Directory.CreateDirectory(getDir)
Dim fs As New FileStream(getDir() & "\ZM_Formular_online.xml", FileMode.Create)
Dim sw As New StreamWriter(fs)
' File.AppendAllLines(Path.Combine(mydocpath,"WriteFile.txt"), lines);
' XML-Datei anlegen.
' fso = New FileSystemObject
' strPath = fso.BuildPath("\\FMZoll.verag.ost.dmn\FMZoll\ZM", "ZM_Formular_online.xml")
' txt = fso.CreateTextFile(strPath, True, False)
'With txt
sw.WriteLine("<?xml version=""1.0"" encoding=""UTF-8"" ?>")
sw.WriteLine("<xml-data xmlns=""http://www.lucom.com/ffw/xml-data-1.0.xsd"">")
sw.WriteLine("<form>catalog://A-Z/ust/ZM_Formular_online</form>")
sw.WriteLine("<instance>")
sw.WriteLine("<datarow>")
sw.WriteLine("<element id=""ID_USER"">.anonymous</element>")
sw.WriteLine("<element id=""berichtigung"">false</element>")
sw.WriteLine("<element id=""knri1"">DE</element>")
sw.WriteLine("<element id=""ffw_version"">ZM_Formular_online V2.0</element>")
sw.WriteLine("</datarow>")
sw.WriteLine("<dataset id=""tbl_ZM_tabelle"">")
' rst.MoveLast()
' Call SysCmd(acSysCmdInitMeter, "Fortschritt: ", rst.RecordCount)
'rst.MoveFirst()
'intZeile = 0
' Schleife zum Lesen der Fiskalvertretungsdaten.
Dim zeile_m = 1
For Each r As DataRow In dt.Rows
' Inc intZeile 'addiert 1
' Call SysCmd(acSysCmdUpdateMeter, intZeile)
If zeile_m < 1000 Then
' Schreiben der Fiskalvertretungsdaten im XML-Format.
sw.WriteLine("<datarow>")
sw.WriteLine("<element id=""knre1"">" & r("knre1") & "</element>")
sw.WriteLine("<element id=""knre2"">" & r("knre2").trim & "</element>")
sw.WriteLine("<element id=""betrag"">" & r("Betrag") & "</element>")
sw.WriteLine("<element id=""zeile_m"">" & zeile_m & "</element>")
sw.WriteLine("<element id=""umsatz_art"">0</element>") '" & r("umsatz_art") & "</element>")
sw.WriteLine("</datarow>")
zeile_m += 1
End If
' DoEvents()
' rst.MoveNext()
Next
sw.WriteLine("</dataset>")
sw.WriteLine("</instance>")
sw.WriteLine("</xml-data>")
'.Close()
' End With
' txt = Nothing
' fso = Nothing
' Me!strNachrichtenzeile = "Die XML-Datei finden Sie unter \\FMZoll.verag.ost.dmn\FMZoll\ZM\ZM_Formular_online.xml"
' rst.Close()
' rst = Nothing
sw.Close()
'Process.Start("\\FMZoll.verag.ost.dmn\FMZoll\ZM\ZM_Formular_online_TEST.xml")
Process.Start(getDir())
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Function getZM_Datat() As DataTable
Dim sqlStr = ""
sqlStr &= " SELECT Tb.knre1, Tb.knre2, cast(round(sum(Tb.betrag),0)as int) as betrag FROM ("
If CheckBox2.Checked Then
sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag,zbant.zbant_regnr" ' ,zbant.zbant_regnr --> sonst streicht "UNION" geliche beträge
sqlStr &= " FROM [192.168.133.98].atlas.dbo.zbant "
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " UNION"
sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag,zbhant.zbant_regnr" ' ,zbant.zbant_regnr --> sonst streicht "UNION" geliche beträge
sqlStr &= " FROM [192.168.133.98].atlas.dbo.zbhant "
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
End If
If CheckBox2.Checked And (CheckBox1.Checked Or cbxDatenAusDakosyLaden.Checked) Then sqlStr &= " UNION"
If CheckBox1.Checked Then
sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag,zbant.zbant_regnr" ' ,zbant.zbant_regnr --> sonst streicht "UNION" geliche beträge
sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbant"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " UNION"
sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag,zbhant.zbant_regnr" ' ,zbant.zbant_regnr --> sonst streicht "UNION" geliche beträge
sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbhant"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
End If
If (CheckBox2.Checked Or CheckBox1.Checked) And (cbxDatenAusDakosyLaden.Checked) Then sqlStr &= " UNION"
If cbxDatenAusDakosyLaden.Checked Then
sqlStr &= " select Left(ezaAd_UStIDAnmelder,2) AS knre1, substring(ezaAd_UStIDAnmelder,3,len(ezaAd_UStIDAnmelder)) AS knre2 ,eza_Rechnungspreis as betrag ,eza_ANR"
sqlStr &= " from tblDakosy_EZA inner join tblDakosy_EZA_Adressen ON ezaAd_EZAId=eza_Id"
' sqlStr &= " WHERE (eza_Trans_DatumZeit) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " WHERE (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=eza_dyaAnmID AND [dySt_status] between 40 and 70 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' )>0 "
sqlStr &= " and ezaAd_AdressTyp='UC' and eza_ANR LIKE 'ATC42%' /*eza_VerfahrenBeantragtCode LIKE '42%'*/ and [eza_UstIdAnmelder]='" & cboUID._value & "' and ezaAd_UStIDAnmelder is not null and [eza_FinanzamtAnmelder]='9153' "
sqlStr &= " AND [eza_Status] IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1) "
End If
sqlStr &= " )"
sqlStr &= " as Tb"
sqlStr &= " GROUP BY Tb.knre1, Tb.knre2"
sqlStr &= " ORDER BY Tb.knre1, Tb.knre2"
'sqlStr &= " UNION"
' sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
'sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag"
' sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbant"
' sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
'sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
'sqlStr &= " AND [zbant_erwust] <>''"
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 600)
End Function
Function getZM_DataVorschau() As DataTable
Dim sqlStr = ""
sqlStr &= " select basman_nl, zbant_beznr, zbant_regnr, zbant_erwust, zbant_nadat,zbaaz_name1, baslnd_alpha, zbant_preisr, zbant_waehr, zbant_kurs, "
sqlStr &= " curEuro, eustwe, zollw FROM "
sqlStr &= " ("
If CheckBox1.Checked Then
sqlStr &= " ("
sqlStr &= " SELECT zbant.basman_nl, zbant.zbant_beznr, zbant.zbant_regnr, zbant.zbant_erwust, zbant.zbant_nadat, zbaaz.[zbaaz_name1], zbaaz.baslnd_alpha, zbant.zbant_preisr, zbant.zbant_waehr, zbant.zbant_kurs, "
sqlStr &= " CASE WHEN [zbant].[zbant_kurs]=0 THEN [zbant].[zbant_preisr] ELSE cast((([zbant].[zbant_preisr]/[zbant].[zbant_kurs])*100)/100 as decimal(17,2)) END AS curEuro"
sqlStr &= " ,Sum(zbapo.zbapo_eustwe) AS eustwe, Sum(zbapo.zbapo_zollw) AS zollw"
sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbant "
sqlStr &= " left JOIN [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbaaz"
sqlStr &= " ON zbant.[basman_nr] = zbaaz.[basman_nr] "
sqlStr &= " AND zbant.[basman_nl] = zbaaz.[basman_nl]"
sqlStr &= " AND zbaaz.zbabg_regkz = REPLACE(zbant.zbant_regnr,'ATC42','ATC0042')"
sqlStr &= " AND zbaaz.[zbaaz_typ] = 1 "
sqlStr &= " INNER JOIN [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbapo "
sqlStr &= " ON zbant.[basman_nr] = zbapo.[basman_nr] "
sqlStr &= " AND zbant.[basman_nl] = zbapo.[basman_nl]"
sqlStr &= " AND zbant.[zbant_beznr] = zbapo.[zbant_beznr]"
sqlStr &= " AND zbant.[zbant_regnr] = zbapo.[zbant_regnr]"
sqlStr &= " AND zbant.[zbant_korant] = zbapo.[zbant_korant]"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " GROUP BY zbant.basman_nl, zbant.zbant_beznr, zbant.zbant_regnr, zbant.zbant_erwust, zbant.zbant_nadat, zbaaz.[zbaaz_name1], zbaaz.baslnd_alpha, zbant.zbant_preisr, zbant.zbant_waehr, zbant.zbant_kurs"
sqlStr &= " ) "
sqlStr &= " UNION"
sqlStr &= " ("
sqlStr &= " SELECT zbhant.basman_nl, zbhant.zbant_beznr, zbhant.zbant_regnr, zbhant.zbant_erwust, zbhant.zbant_nadat, zbhaaz.[zbaaz_name1], zbhaaz.baslnd_alpha, zbhant.zbant_preisr, zbhant.zbant_waehr, zbhant.zbant_kurs, "
sqlStr &= " CASE WHEN [zbhant].[zbant_kurs]=0 THEN [zbhant].[zbant_preisr] ELSE cast((([zbhant].[zbant_preisr]/[zbhant].[zbant_kurs])*100)/100 as decimal(17,2)) END AS curEuro"
sqlStr &= " ,Sum(zbhapo.zbapo_eustwe) AS eustwe, Sum(zbhapo.zbapo_zollw) AS zollw"
sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbhant "
sqlStr &= " left JOIN [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbhaaz"
sqlStr &= " ON zbhant.[basman_nr] = zbhaaz.[basman_nr] "
sqlStr &= " AND zbhant.[basman_nl] = zbhaaz.[basman_nl]"
sqlStr &= " AND zbhaaz.zbabg_regkz = REPLACE(zbhant.zbant_regnr,'ATC42','ATC0042')"
sqlStr &= " AND zbhaaz.[zbaaz_typ] = 1 "
sqlStr &= " INNER JOIN [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbhapo "
sqlStr &= " ON zbhant.[basman_nr] = zbhapo.[basman_nr] "
sqlStr &= " AND zbhant.[basman_nl] = zbhapo.[basman_nl]"
sqlStr &= " AND zbhant.[zbant_beznr] = zbhapo.[zbant_beznr]"
sqlStr &= " AND zbhant.[zbant_regnr] = zbhapo.[zbant_regnr]"
sqlStr &= " AND zbhant.[zbant_korant] = zbhapo.[zbant_korant]"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " GROUP BY zbhant.basman_nl, zbhant.zbant_beznr, zbhant.zbant_regnr, zbhant.zbant_erwust, zbhant.zbant_nadat, zbhaaz.[zbaaz_name1], zbhaaz.baslnd_alpha, zbhant.zbant_preisr, zbhant.zbant_waehr, zbhant.zbant_kurs"
sqlStr &= " ) "
End If
If (CheckBox2.Checked Or cbxDatenAusDakosyLaden.Checked) And CheckBox1.Checked Then sqlStr &= " UNION"
If CheckBox2.Checked Then
sqlStr &= " ("
sqlStr &= " SELECT zbant.basman_nl, zbant.zbant_beznr, zbant.zbant_regnr, zbant.zbant_erwust, zbant.zbant_nadat, zbaaz.[zbaaz_name1], zbaaz.baslnd_alpha, zbant.zbant_preisr, zbant.zbant_waehr, zbant.zbant_kurs, "
sqlStr &= " CASE WHEN [zbant].[zbant_kurs]=0 THEN [zbant].[zbant_preisr] ELSE cast((([zbant].[zbant_preisr]/[zbant].[zbant_kurs])*100)/100 as decimal(17,2)) END AS curEuro"
sqlStr &= " ,Sum(zbapo.zbapo_eustwe) AS eustwe, Sum(zbapo.zbapo_zollw) AS zollw"
sqlStr &= " FROM [192.168.133.98].atlas.dbo.zbant "
sqlStr &= " left JOIN [192.168.133.98].atlas.dbo.zbaaz"
sqlStr &= " ON zbant.[basman_nr] = zbaaz.[basman_nr] "
sqlStr &= " AND zbant.[basman_nl] = zbaaz.[basman_nl]"
sqlStr &= " AND zbaaz.zbabg_regkz = REPLACE(zbant.zbant_regnr,'ATC42','ATC0042')"
sqlStr &= " AND zbaaz.[zbaaz_typ] = 1 "
sqlStr &= " INNER JOIN [192.168.133.98].atlas.dbo.zbapo "
sqlStr &= " ON zbant.[basman_nr] = zbapo.[basman_nr] "
sqlStr &= " AND zbant.[basman_nl] = zbapo.[basman_nl]"
sqlStr &= " AND zbant.[zbant_beznr] = zbapo.[zbant_beznr]"
sqlStr &= " AND zbant.[zbant_regnr] = zbapo.[zbant_regnr]"
sqlStr &= " AND zbant.[zbant_korant] = zbapo.[zbant_korant]"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " GROUP BY zbant.basman_nl, zbant.zbant_beznr, zbant.zbant_regnr, zbant.zbant_erwust, zbant.zbant_nadat,zbaaz.[zbaaz_name1], zbaaz.baslnd_alpha, zbant.zbant_preisr, zbant.zbant_waehr, zbant.zbant_kurs"
sqlStr &= " )"
sqlStr &= " UNION"
sqlStr &= " ("
sqlStr &= " SELECT zbhant.basman_nl, zbhant.zbant_beznr, zbhant.zbant_regnr, zbhant.zbant_erwust, zbhant.zbant_nadat, zbhaaz.[zbaaz_name1], zbhaaz.baslnd_alpha, zbhant.zbant_preisr, zbhant.zbant_waehr, zbhant.zbant_kurs, "
sqlStr &= " CASE WHEN [zbhant].[zbant_kurs]=0 THEN [zbhant].[zbant_preisr] ELSE cast((([zbhant].[zbant_preisr]/[zbhant].[zbant_kurs])*100)/100 as decimal(17,2)) END AS curEuro"
sqlStr &= " ,Sum(zbhapo.zbapo_eustwe) AS eustwe, Sum(zbhapo.zbapo_zollw) AS zollw"
sqlStr &= " FROM [192.168.133.98].atlas.dbo.zbhant "
sqlStr &= " left JOIN [192.168.133.98].atlas.dbo.zbhaaz"
sqlStr &= " ON zbhant.[basman_nr] = zbhaaz.[basman_nr] "
sqlStr &= " AND zbhant.[basman_nl] = zbhaaz.[basman_nl]"
sqlStr &= " AND zbhaaz.zbabg_regkz = REPLACE(zbhant.zbant_regnr,'ATC42','ATC0042')"
sqlStr &= " AND zbhaaz.[zbaaz_typ] = 1 "
sqlStr &= " INNER JOIN [192.168.133.98].atlas.dbo.zbhapo "
sqlStr &= " ON zbhant.[basman_nr] = zbhapo.[basman_nr] "
sqlStr &= " AND zbhant.[basman_nl] = zbhapo.[basman_nl]"
sqlStr &= " AND zbhant.[zbant_beznr] = zbhapo.[zbant_beznr]"
sqlStr &= " AND zbhant.[zbant_regnr] = zbhapo.[zbant_regnr]"
sqlStr &= " AND zbhant.[zbant_korant] = zbhapo.[zbant_korant]"
sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
sqlStr &= " AND [zbant_erwust] <>''"
sqlStr &= " AND [zbant_anmust] = '" & cboUID._value & "' "
sqlStr &= " GROUP BY zbhant.basman_nl, zbhant.zbant_beznr, zbhant.zbant_regnr, zbhant.zbant_erwust, zbhant.zbant_nadat, zbhaaz.[zbaaz_name1], zbhaaz.baslnd_alpha, zbhant.zbant_preisr, zbhant.zbant_waehr, zbhant.zbant_kurs"
sqlStr &= " ) "
End If
If (CheckBox2.Checked Or CheckBox1.Checked) And (cbxDatenAusDakosyLaden.Checked) Then sqlStr &= " UNION"
If cbxDatenAusDakosyLaden.Checked Then
sqlStr &= " select eza_niederlassung as basman_nl, eza_ObjectName as zbant_beznr,eza_ANR as zbant_regnr, ezaAd_UStIDAnmelder as zbant_erwust,eza_Trans_DatumZeit as zbant_nadat,"
sqlStr &= " (CASE WHEN ezaAd_NameFirma1 is null THEN (SELECT TOP 1 [Name 1] FROM Kunden INNER JOIN Adressen on Adressennr=kundennr WHERE EORITIN=ezaAd_TeilnehmerEORI) ELSE ezaAd_NameFirma1 END) as zbaaz_name1,"
sqlStr &= " (CASE WHEN ezaAd_LandCode is null THEN (SELECT TOP 1 (SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz=Adressen.LandKz) FROM Kunden INNER JOIN Adressen on Adressennr=kundennr WHERE EORITIN=ezaAd_TeilnehmerEORI) ELSE ezaAd_LandCode END) as baslnd_alpha,"
sqlStr &= " eza_Rechnungspreis as zbant_preisr,eza_Rechnungswaehrung as zbant_waehr "
sqlStr &= " ,0 as zbant_kurs,eza_Rechnungspreis as curEuro,0 as eustwe,0 as zollw"
sqlStr &= " from tblDakosy_EZA inner join tblDakosy_EZA_Adressen ON ezaAd_EZAId=eza_Id"
' sqlStr &= " WHERE (eza_Trans_DatumZeit) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
sqlStr &= " WHERE (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=eza_dyaAnmID AND [dySt_status] between 40 and 70 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' )>0 "
sqlStr &= " and ezaAd_AdressTyp='UC' and eza_ANR LIKE 'ATC42%' /*eza_VerfahrenBeantragtCode LIKE '42%'*/ and [eza_UstIdAnmelder]='" & cboUID._value & "' and ezaAd_UStIDAnmelder is not null and [eza_FinanzamtAnmelder]='9153' "
sqlStr &= " AND [eza_Status] IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1) "
' sqlStr &= " select Left(ezaAd_UStIDAnmelder,2) AS knre1, substring(ezaAd_UStIDAnmelder,3,len(ezaAd_UStIDAnmelder)) AS knre2 ,eza_Rechnungspreis as betrag"
' sqlStr &= " from tblDakosy_EZA inner join tblDakosy_EZA_Adressen ON ezaAd_EZAId=eza_Id"
' sqlStr &= " WHERE (eza_Trans_DatumZeit) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
'sqlStr &= " and ezaAd_AdressTyp='DT' and eza_VerfahrenBeantragtCode=42 and eza_FiskalvertretungKz=1 /*AND ezaAd_UStIDAnmelder='" & cboUID._value & "'*/ and ezaAd_UStIDAnmelder is not null"
End If
sqlStr &= " ) as Tb"
sqlStr &= " order by zbant_erwust"
'sqlStr &= " UNION"
' sqlStr &= " SELECT Left([zbant_erwust],2) AS knre1, substring([zbant_erwust],3,len([zbant_erwust])) AS knre2"
'sqlStr &= " ,(CASE WHEN [zbant_kurs]=0 THEN [zbant_preisr] ELSE (([zbant_preisr]/[zbant_kurs])*100)/100 END) as betrag"
' sqlStr &= " FROM [VERAG-ATLAS1\SQLATLAS].atlas.dbo.zbant"
' sqlStr &= " WHERE (zbant_nadat) Between '" & datVon.Value.ToShortDateString & "' And '" & datBis.Value.ToShortDateString & "' "
'sqlStr &= " AND zbant_stat IN(SELECT [zbant_stat] FROM [atlas_status] where fiskal_freigabe=1)"
'sqlStr &= " AND [zbant_erwust] <>''"
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 600)
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
lblErrUID.Visible = False
If cboUID._value = "" Then
lblErrUID.Visible = True
Exit Sub
End If
Me.Cursor = Cursors.WaitCursor
Dim dt = getZM_Datat()
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
If Not System.IO.Directory.Exists(getDir()) Then System.IO.Directory.CreateDirectory(getDir())
Dim fs As New FileStream(getDir() & "\ZM_Formular_online.csv", FileMode.Create)
Dim sw As New StreamWriter(fs)
sw.WriteLine("#v1.1")
sw.WriteLine("Laenderkennzeichen;USt-IdNr.;Betrag(EUR); Art der Leistung")
Dim umsatz_art = 0
Dim zeile_m = 1
For Each r As DataRow In dt.Rows
' If zeile_m < 1000 Then
sw.WriteLine(r("knre1") & ";" & r("knre2").trim & ";" & r("Betrag") & ";" & IIf(umsatz_art = 0, "L", IIf(umsatz_art = 1, "S", IIf(umsatz_art = 2, "D", "?"))))
zeile_m += 1
' End If
Next
sw.Close()
fs.Close()
Process.Start(getDir() & "\ZM_Formular_online.csv")
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim displayFilter = False
lblErrUID.Visible = False
If cboUID._value = "" Then
lblErrUID.Visible = True
Exit Sub
End If
Dim print As New frmPrintLayout
print.Text = "Fiskalvertretung"
Dim rpt As New rptFiskalvertretungVorschau
rpt.DataSource = getZM_DataVorschau()
'Filter anzeigen
' If displayFilter Then
' rpt.lblFilterTxt.Visible = displayFilter
'rpt.txtFilter.Visible = displayFilter
'rpt.txtFilter.Text = SQL.getStringReplaceScalarVar(getSpedBuchWhere, getSpedbuchList)
'Else
'If txtUeberschr.Text <> "" Then
' rpt.txtFilter.Text = txtUeberschr.Text
'rpt.txtFilter.Visible = True
'rpt.lblFilterTxt.Visible = True
'rpt.lblFilterTxt.Text = "Beschreibung:"
'End If
'End If
rpt.GroupHeader1.DataField = "baslnd_alpha" 'Gruppierung
rpt.GroupHeader2.DataField = "zbant_erwust" 'Gruppierung
' rpt.GroupHeader2.DataField = "AvisoId" 'Gruppierung
' MsgBox(rpt.DataSource.rows.count)
If rpt.DataSource.rows.count = 0 Then
rpt.Dispose() : print.Dispose()
MsgBox("Keine Daten vorhanden!")
Exit Sub
End If
Dim sum = 0
rpt.lblUeberschrift.Text = "Fiskalvertretung " & datVon.Text & " bis " & datBis.Text
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
'Dim cnt As Integer = 0
rpt.lblDat.Text = Now.ToLongDateString
Dim sumEust As Double = 0
Dim sumRg As Double = 0
Dim gesSumEust As Double = 0
Dim gesSumRg As Double = 0
Dim gesgesSumEust As Double = 0
Dim gesgesSumRg As Double = 0
Dim gesgesSumAnz = 0
Dim gesSumAnz = 0
AddHandler rpt.Detail.Format, Sub()
' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
rpt.lblAbfDatum.Text = rpt.Fields.Item("zbant_nadat").Value
rpt.lblRegNr.Text = rpt.Fields.Item("zbant_regnr").Value
rpt.lblBezNr.Text = rpt.Fields.Item("zbant_beznr").Value
rpt.lblNL.Text = rpt.Fields.Item("basman_nl").Value
rpt.lblReBetrWaehr.Text = rpt.Fields.Item("zbant_waehr").Value
Dim re As Double = 0
Dim rg As Double = 0
Dim eust As Double = 0
Dim kurs As Double = 0
If IsNumeric(checkNull(rpt.Fields.Item("zbant_preisr").Value)) Then re = CDbl(rpt.Fields.Item("zbant_preisr").Value())
rpt.lblReBetrag.Text = CDbl(re).ToString("N2", Globalization.CultureInfo.CurrentCulture)
If IsNumeric(checkNull(rpt.Fields.Item("curEuro").Value)) Then rg = CDbl(rpt.Fields.Item("curEuro").Value())
rpt.lblReBetragEUR.Text = CDbl(rg).ToString("N2", Globalization.CultureInfo.CurrentCulture)
If IsNumeric(checkNull(rpt.Fields.Item("eustwe").Value)) Then eust = CDbl(rpt.Fields.Item("eustwe").Value())
rpt.lblEUST.Text = CDbl(eust).ToString("N2", Globalization.CultureInfo.CurrentCulture)
If IsNumeric(checkNull(rpt.Fields.Item("zbant_kurs").Value)) Then kurs = CDbl(rpt.Fields.Item("zbant_kurs").Value())
rpt.lblKurs.Text = CDbl(kurs).ToString("N2", Globalization.CultureInfo.CurrentCulture)
' sumAbfBez = checkNull(rpt.Fields.Item("Abfertigungsbezeichnung").Value)
sumRg += rg
sumEust += eust
gesSumRg += rg
gesSumEust += eust
gesgesSumRg += rg
gesgesSumEust += eust
gesSumAnz += 1
gesgesSumAnz += 1
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
rpt.lblFiskalvertretung.Text = "Fiskalvertretung - " & SQL.getValueTxtBySql("SELECT TOP 1 isnull([LandBez],'') FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [LandKz]='" & checkNull(rpt.Fields.Item("baslnd_alpha").Value) & "'", "FMZOLL")
rpt.lblFiskalvertretungLand.Text = checkNull(rpt.Fields.Item("baslnd_alpha").Value)
gesSumEust = 0
gesSumRg = 0
gesSumAnz = 0
rpt.lblGesSumTxt.Text = "Summe " & checkNull(rpt.Fields.Item("baslnd_alpha").Value) & ":"
End Sub
AddHandler rpt.GroupHeader2.Format, Sub()
rpt.lblUIDNr.Text = "USt-ID: " & checkNull(rpt.Fields.Item("zbant_erwust").Value)
rpt.lblFirmenname.Text = checkNull(rpt.Fields.Item("zbaaz_name1").Value)
sumEust = 0
sumRg = 0
End Sub
AddHandler rpt.GroupFooter2.Format, Sub()
'rpt.lblSumAbfertigungsart.Text = sumAbfBez
'rpt.lblSumBarzahlungsbetrag.Text = sumBar.ToString("N2", CultureInfo.CurrentCulture)
'rpt.lblSumRechnungsbetrag.Text = sumRg.ToString("N2", CultureInfo.CurrentCulture)
'rpt.lblSumAnzahl.Text = sumAnz.ToString("N0")
'rpt.lblSuag.Text = sumRg.ToString("C")
rpt.lblSumRe.Text = sumRg.ToString("N2", CultureInfo.CurrentCulture)
rpt.lblSumEust.Text = sumEust.ToString("N2", CultureInfo.CurrentCulture)
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
rpt.lblGesSumRe.Text = gesSumRg.ToString("N2", CultureInfo.CurrentCulture)
rpt.lblGesSumEust.Text = gesSumEust.ToString("N2", CultureInfo.CurrentCulture)
rpt.lblGesSumAnzahl.Text = gesSumAnz.ToString("N0")
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
rpt.lblGesgesSumRe.Text = gesgesSumRg.ToString("N2", CultureInfo.CurrentCulture)
rpt.lblGesgesSumEust.Text = gesgesSumEust.ToString("N2", CultureInfo.CurrentCulture)
rpt.lblGesGesSumAnzahl.Text = gesgesSumAnz.ToString("N0")
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Function checkNull(o As Object, Optional ret As String = "") As Object
If o Is Nothing Then Return ret
If o Is DBNull.Value Then Return ret
Return o
End Function
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
lblErrUID.Visible = False
Dim dir = getDir()
If dir = "" Then
lblErrUID.Visible = True
Else
Process.Start(dir)
End If
End Sub
End Class