You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

619 lines
28 KiB

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports System.IO
Imports Microsoft.Office.Interop
Module ModPrintjob
'Dim objword As New Microsoft.Office.Interop.Word.ApplicationClass()
'Dim objword As New Word.ApplicationClass()
'Dim docword As New Word.DocumentClass()
Dim objword As New Word.Application()
Dim docword As New Word.Document()
Dim alnr As Integer
Dim TmpData As New DataTable()
Dim Dokumentname_Dokumente As String
Dim Dokumentname_Quittung As String
Dim Dokumentname_Quittung_PS As String
Dim Dokumentname_Quittung_PDF As String
Dim Dokumentname_Summary As String
Dim Dokumentname_Summary_PS As String
Dim Dokumentname_Summary_PDF As String
Dim Dokumentname_Startblatt As String
Dim Dokumentname_Schlussblatt As String
Dim Dokumentname_Startblatt_PDF As String
Dim Dokumentname_Schlussblatt_PDF As String
Dim Dokumentname_Dokumente_PDF As String
Dim DokPrefix As String
Dim dokumentid As String
Dim FileExtension As String = ""
Function Print_Docs(ByVal intalnr As Integer, ByVal partno As Integer) As Boolean
Try
alnr = intalnr
TmpData = Get_ALDaten(alnr)
dokumentid = TmpData.Rows(0).Item("dokumentid_quittung")
Dim tmpfn As String = Get_Filename(dokumentid)
Dim extension As String = Right(tmpfn, 5)
extension = UCase(extension)
FileExtension = extension
Select Case extension
Case ".DOCX"
Dokumentname_Quittung = DokPrefix + "_" + dokumentid + ".docx"
Dokumentname_Summary = DokPrefix + "_" + dokumentid + "_Su.docx"
Case ".DOTX"
Dokumentname_Quittung = DokPrefix + "_" + dokumentid + ".dotx"
Dokumentname_Summary = DokPrefix + "_" + dokumentid + "_Su.dotx"
Case ".DOTM"
Dokumentname_Quittung = DokPrefix + "_" + dokumentid + ".dotm"
Dokumentname_Summary = DokPrefix + "_" + dokumentid + "_Su.dotm"
Case ".DOCM"
Dokumentname_Quittung = DokPrefix + "_" + dokumentid + ".docm"
Dokumentname_Summary = DokPrefix + "_" + dokumentid + "_Su.docm"
Case Else
Dokumentname_Quittung = DokPrefix + "_" + dokumentid + ".doc"
Dokumentname_Summary = DokPrefix + "_" + dokumentid + "_Su.doc"
End Select
DokPrefix = Format(Now, "yyyyMMddHHmmss")
Dokumentname_Quittung_PS = DokPrefix + "_" + dokumentid + ".ps"
Dokumentname_Quittung_PDF = DokPrefix + "_" + dokumentid + ".pdf"
Dokumentname_Summary_PS = DokPrefix + "_" + dokumentid + "_Su.ps"
Dokumentname_Summary_PDF = DokPrefix + "_" + dokumentid + "_Su.pdf"
Dokumentname_Startblatt_PDF = DokPrefix + "_" + dokumentid + "_DB.pdf"
Dokumentname_Schlussblatt_PDF = DokPrefix + "_" + dokumentid + "_SB.pdf"
Dokumentname_Dokumente_PDF = DokPrefix + "_" + dokumentid + "_docs.pdf"
Dokumente_Bereitstellen(partno)
StartWord()
PrintLog("Generate Quittung:" + alnr.ToString + ":" + partno.ToString, EventLogEntryType.Information)
Generate_Quittung(alnr, partno)
Dim i As Integer
If partno = 0 Then
For i = 1 To 50
If File.Exists(PDFdir + Dokumentname_Quittung_PDF) And File.Exists(PDFdir + Dokumentname_Summary_PDF) Then
Exit For
End If
Threading.Thread.Sleep(1000)
Next
Else
For i = 1 To 50
If File.Exists(PDFdir + Dokumentname_Summary_PDF) Then
Exit For
End If
Threading.Thread.Sleep(1000)
Next
End If
Generate_PDF(partno)
SavePdf(partno)
File.Delete(Workverzeichnis + Dokumentname_Summary)
File.Delete(Workverzeichnis + Dokumentname_Summary_PDF)
File.Delete(Workverzeichnis + Dokumentname_Quittung)
File.Delete(Workverzeichnis + Dokumentname_Quittung_PDF)
File.Delete(Workverzeichnis + Dokumentname_Schlussblatt_PDF)
File.Delete(Workverzeichnis + Dokumentname_Startblatt_PDF)
File.Delete(PDFdir + Dokumentname_Summary_PDF)
File.Delete(PDFdir + Dokumentname_Summary_PS)
File.Delete(PDFdir + Dokumentname_Quittung_PDF)
File.Delete(PDFdir + Dokumentname_Quittung_PS)
File.Delete(Workverzeichnis + Dokumentname_Dokumente_PDF)
File.Delete(Workverzeichnis + "Done_" + Dokumentname_Dokumente_PDF)
Return True
Catch ex As Exception
Globals.PrintLog("Printjob:" + LTrim(Str(alnr)) + ":" + ex.Message)
m_log.Log("ModPrintJob:Print_Docs:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Return False
End Try
End Function
Private Sub SavePdf(ByVal partno As Integer)
If partno = 0 Then
Dim con As New SqlConnection(Globals.sConnectionString)
Dim da As New SqlDataAdapter("Select * From edex_bl_druckjob where druckjobnr=" + Trim(Str(TmpData.Rows(0).Item("druckjobnr"))), con)
Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Dim fs As New FileStream(Workverzeichnis + "Done_" + Dokumentname_Dokumente_PDF, FileMode.OpenOrCreate, FileAccess.Read)
Dim MyData(fs.Length) As Byte
fs.Read(MyData, 0, fs.Length)
fs.Close()
con.Open()
da.Fill(ds, "edex_bl_druckjob")
Dim myRow As DataRow
myRow = ds.Tables("edex_bl_druckjob").Rows(0)
myRow("pdfdokument_aufbereitet") = MyData
da.Update(ds, "edex_bl_druckjob")
fs = Nothing
MyCB = Nothing
ds = Nothing
da = Nothing
con.Close()
con = Nothing
Else
Dim con As New SqlConnection(Globals.sConnectionString)
Dim da As New SqlDataAdapter("Select * From edex_bl_druckjob_part where druckjobnr=" + Trim(Str(TmpData.Rows(0).Item("druckjobnr"))) + " and partno=" + LTrim(Str(partno)), con)
Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Dim fs As New FileStream(Workverzeichnis + "Done_" + Dokumentname_Dokumente_PDF, FileMode.OpenOrCreate, FileAccess.Read)
Dim MyData(fs.Length) As Byte
fs.Read(MyData, 0, fs.Length)
fs.Close()
con.Open()
da.Fill(ds, "edex_bl_druckjob_part")
Dim myRow As DataRow
myRow = ds.Tables("edex_bl_druckjob_part").Rows(0)
myRow("pdfdokument_aufbereitet") = MyData
da.Update(ds, "edex_bl_druckjob_part")
fs = Nothing
MyCB = Nothing
ds = Nothing
da = Nothing
con.Close()
con = Nothing
End If
End Sub
Private Sub Dokumente_Bereitstellen(ByVal partno As Integer)
'FileCopy(Vorlagenverzeichnis + "Startblatt.pdf", Workverzeichnis + Dokumentname_Startblatt_PDF)
'Anpassung Cutover 01.08.2008 - Werbeversand f<>r BL Kunen
If check_Werbung(alnr) Then
FileCopy(Vorlagenverzeichnis + "StartblattWerbung.pdf", Workverzeichnis + Dokumentname_Startblatt_PDF)
Else
FileCopy(Vorlagenverzeichnis + "Startblatt.pdf", Workverzeichnis + Dokumentname_Startblatt_PDF)
End If
FileCopy(Vorlagenverzeichnis + "Schlussblatt.pdf", Workverzeichnis + Dokumentname_Schlussblatt_PDF)
Select Case FileExtension
Case ".DOCX"
FileCopy(Vorlagenverzeichnis + "SummaryLyt.docx", Workverzeichnis + Dokumentname_Summary)
Case ".DOTX"
FileCopy(Vorlagenverzeichnis + "SummaryLyt.dotx", Workverzeichnis + Dokumentname_Summary)
Case ".DOTM"
FileCopy(Vorlagenverzeichnis + "SummaryLyt.dotx", Workverzeichnis + Dokumentname_Summary)
Case ".DOCM"
FileCopy(Vorlagenverzeichnis + "SummaryLyt.docm", Workverzeichnis + Dokumentname_Summary)
Case Else
FileCopy(Vorlagenverzeichnis + "SummaryLyt.doc", Workverzeichnis + Dokumentname_Summary)
End Select
Get_Quittung()
Get_Dokumente(partno)
End Sub
Private Function Get_Quittung() As Boolean
Dim connection As New SqlConnection()
Dim da As New SqlDataAdapter("Select * From doks where DokumentID='" + dokumentid + "'", connection)
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString
connection.Open()
da.Fill(ds, "docs")
Dim myRow As DataRow
myRow = ds.Tables(0).Rows(0)
Dim MyData() As Byte
MyData = myRow.Item(1)
Dim K As Long
K = UBound(MyData)
Dim fs As New FileStream(Workverzeichnis + Dokumentname_Quittung, FileMode.OpenOrCreate, FileAccess.Write)
fs.Write(MyData, 0, K)
fs.Close()
fs = Nothing
Catch ex As Exception
m_log.Log("ModPrintJob:Get_Quittung:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Return False
End Try
CB = Nothing
ds = Nothing
da = Nothing
connection.Close()
connection = Nothing
Return True
End Function
Private Function Get_Dokumente(ByVal partno As Integer) As Boolean
If partno = 0 Then
Dim connection As New SqlConnection()
Dim da As New SqlDataAdapter("Select * From edex_bl_druckjob where druckjobnr=" + LTrim(Str(TmpData.Rows(0).Item("Druckjobnr"))), connection)
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString
connection.Open()
da.Fill(ds, "docs")
Dim myRow As DataRow
myRow = ds.Tables(0).Rows(0)
Dim MyData() As Byte
MyData = myRow.Item("pdfdokument")
Dim K As Long
K = UBound(MyData)
Dim fs As New FileStream(Workverzeichnis + Dokumentname_Dokumente_PDF, FileMode.OpenOrCreate, FileAccess.Write)
fs.Write(MyData, 0, K)
fs.Close()
fs = Nothing
Catch ex As Exception
m_log.Log("ModPrintJob:Get_Dokumente:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Return False
End Try
CB = Nothing
ds = Nothing
da = Nothing
connection.Close()
connection = Nothing
Else
Dim connection As New SqlConnection()
Dim da As New SqlDataAdapter("Select * From edex_bl_druckjob_part where druckjobnr=" + LTrim(Str(TmpData.Rows(0).Item("Druckjobnr"))) + " and partno=" + LTrim(Str(partno)), connection)
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString
connection.Open()
da.Fill(ds, "docs")
Dim myRow As DataRow
myRow = ds.Tables(0).Rows(0)
Dim MyData() As Byte
MyData = myRow.Item("pdfdokument")
Dim K As Long
K = UBound(MyData)
Dim fs As New FileStream(Workverzeichnis + Dokumentname_Dokumente_PDF, FileMode.OpenOrCreate, FileAccess.Write)
fs.Write(MyData, 0, K)
fs.Close()
fs = Nothing
Catch ex As Exception
m_log.Log("ModPrintJob:Get_Dokumente:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Return False
End Try
CB = Nothing
ds = Nothing
da = Nothing
connection.Close()
connection = Nothing
End If
Return True
End Function
Private Sub Generate_Quittung(ByVal alnr As Integer, ByVal partno As Integer)
If partno = 0 Then
objword.Documents.Open(Workverzeichnis + Dokumentname_Quittung)
objword.Visible = True
'objword.WindowState = Word.WdWindowState.wdWindowStateMinimize
docword = objword.ActiveDocument
If Globals.Office2010 = True Then
Try
' docword.ExportAsFixedFormat(PDFdir + Dokumentname_Quittung_PDF, Word.WdExportFormat.wdExportFormatPDF)
docword.ExportAsFixedFormat(PDFdir + Dokumentname_Quittung_PDF, Word.WdExportFormat.wdExportFormatPDF, , Word.WdExportOptimizeFor.wdExportOptimizeForPrint, Word.WdExportRange.wdExportAllDocument, , , Word.WdExportItem.wdExportDocumentContent, True, True, Word.WdExportCreateBookmarks.wdExportCreateNoBookmarks, True, False, False)
Threading.Thread.CurrentThread.Sleep(1000)
Catch ex As Exception
PrintLog(ex.Message, EventLogEntryType.Information)
End Try
Else
objword.ActivePrinter = PSPrinter
docword.PrintOut(OutputFileName:=psdir + Dokumentname_Quittung_PS, PrintToFile:=False, Copies:=1)
End If
docword.Saved = True
docword.Close(SaveChanges:=False)
End If
Dim i As Integer
Dim f3 As Acrobat.CAcroPDDoc
f3 = CreateObject("AcroExch.PDDoc")
PrintLog(Workverzeichnis + Dokumentname_Dokumente_PDF, EventLogEntryType.Information)
i = f3.Open(Workverzeichnis + Dokumentname_Dokumente_PDF)
objword.Documents.Open(Workverzeichnis + Dokumentname_Summary)
objword.Visible = True
docword = objword.ActiveDocument
Try
docword.Bookmarks.Item("Besteller").Select()
objword.Selection.Text = TmpData.Rows(0).Item("Besteller")
docword.Bookmarks.Item("Partner").Select()
objword.Selection.Text = Trim(Str(TmpData.Rows(0).Item("nrpar00")) + " " + TmpData.Rows(0).Item("bkpar00"))
docword.Bookmarks.Item("AnzahlDokumente").Select()
objword.Selection.Text = Trim(Str(TmpData.Rows(0).Item("anzahl_dokument")))
docword.Bookmarks.Item("AnzahlSeiten").Select()
objword.Selection.Text = Trim(Str(f3.GetNumPages))
docword.Bookmarks.Item("DatumZeit").Select()
objword.Selection.Text = Now.ToShortDateString + " " + Now.ToShortTimeString
docword.Bookmarks.Item("AnzahlVertraege").Select()
objword.Selection.Text = Get_Anzahl_Vertraege(alnr)
If TmpData.Rows(0).Item("Anzparts") > 0 Then
docword.Bookmarks.Item("AnzahlTeile").Select()
objword.Selection.Text = "Teil " + LTrim(Str(partno + 1)) + " von " + LTrim(Str(TmpData.Rows(0).Item("anzparts") + 1))
docword.Bookmarks.Item("Teil1").Select()
objword.Selection.Text = "(Total <20>ber alle Druckteile)"
docword.Bookmarks.Item("Teil2").Select()
objword.Selection.Text = "(Total <20>ber alle Druckteile)"
End If
Catch ex As Exception
m_log.Log("ModPrintJob:Generate_Quittung:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Finally
f3.Close()
f3 = Nothing
End Try
If Globals.Office2010 = True Then
docword.ExportAsFixedFormat(PDFdir + Dokumentname_Summary_PDF, Word.WdExportFormat.wdExportFormatPDF, , Word.WdExportOptimizeFor.wdExportOptimizeForPrint, Word.WdExportRange.wdExportAllDocument, , , Word.WdExportItem.wdExportDocumentContent, True, True, Word.WdExportCreateBookmarks.wdExportCreateNoBookmarks, True, False, False)
' docword.ExportAsFixedFormat(PDFdir + Dokumentname_Summary_PDF, Word.WdExportFormat.wdExportFormatPDF)
Threading.Thread.CurrentThread.Sleep(1000)
Else
objword.ActivePrinter = PSPrinter
docword.PrintOut(OutputFileName:=psdir + Dokumentname_Summary_PS, PrintToFile:=False, Copies:=1)
End If
docword.Close(SaveChanges:=False)
objword = Nothing
End Sub
Private Sub Generate_PDF(ByVal partno As Integer)
Dim f1 As Acrobat.CAcroPDDoc
Dim f2 As Acrobat.CAcroPDDoc
Dim f3 As Acrobat.CAcroPDDoc
Dim f4 As Acrobat.CAcroPDDoc
Dim f5 As Acrobat.CAcroPDDoc
f1 = CreateObject("AcroExch.PDDoc")
f2 = CreateObject("AcroExch.PDDoc")
f3 = CreateObject("AcroExch.PDDoc")
f4 = CreateObject("AcroExch.PDDoc")
f5 = CreateObject("AcroExch.PDDoc")
Dim i As Integer
i = f1.Open(Workverzeichnis + Dokumentname_Schlussblatt_PDF)
If IsDate(Globals.Beilage_1_ab) Then
If IO.File.Exists(Globals.Beilage_1) Then
If check_Beilage(alnr, Globals.Beilage_1_ab) Then
Dim fbeilage As Acrobat.CAcroPDDoc
fbeilage = CreateObject("AcroExch.PDDoc")
fbeilage.Open(Globals.Beilage_1)
i = f1.InsertPages(-1, fbeilage, 0, fbeilage.GetNumPages, 1)
fbeilage.Close()
End If
End If
End If
If IsDate(Globals.Beilage_2_ab) Then
If IO.File.Exists(Globals.Beilage_2) Then
If check_Beilage(alnr, Globals.Beilage_2_ab) Then
Dim fbeilage As Acrobat.CAcroPDDoc
fbeilage = CreateObject("AcroExch.PDDoc")
fbeilage.Open(Globals.Beilage_2)
i = f1.InsertPages(-1, fbeilage, 0, fbeilage.GetNumPages, 1)
fbeilage.Close()
End If
End If
End If
If IsDate(Globals.Beilage_3_ab) Then
If IO.File.Exists(Globals.Beilage_3) Then
If check_Beilage(alnr, Globals.Beilage_3_ab) Then
Dim fbeilage As Acrobat.CAcroPDDoc
fbeilage = CreateObject("AcroExch.PDDoc")
fbeilage.Open(Globals.Beilage_3)
i = f1.InsertPages(-1, fbeilage, 0, fbeilage.GetNumPages, 1)
fbeilage.Close()
End If
End If
End If
i = f2.Open(Workverzeichnis + Dokumentname_Dokumente_PDF)
i = f3.Open(PDFdir + Dokumentname_Summary_PDF)
If partno = 0 Then
i = f4.Open(PDFdir + Dokumentname_Quittung_PDF)
End If
i = f5.Open(Workverzeichnis + Dokumentname_Startblatt_PDF)
i = f1.InsertPages(-1, f2, 0, f2.GetNumPages, 1)
i = f1.InsertPages(-1, f3, 0, f3.GetNumPages, 1)
If partno = 0 Then
i = f1.InsertPages(-1, f4, 0, f4.GetNumPages, 1)
End If
'i = f1.InsertPages(-1, f5, 0, 1, 1)
'Anpassung MNK - Cutover 01.08.2008 BL-Beilagen
i = f1.InsertPages(-1, f5, 0, f5.GetNumPages, 1)
i = f1.Save(Acrobat.PDSaveFlags.PDSaveFull, Workverzeichnis + "Done_" + Dokumentname_Dokumente_PDF)
'i = f1.Save(Acrobat.PDDocFlags.PDDocOldVersion, Workverzeichnis + "Done_" + Dokumentname_Dokumente_PDF)
f1.Close()
f2.Close()
f3.Close()
f4.Close()
f5.Close()
f1 = Nothing
f2 = Nothing
f3 = Nothing
f4 = Nothing
f5 = Nothing
'System.Runtime.InteropServices.Marshal.ReleaseComObject(f1)
End Sub
#Region "Datenzugriffe"
Public Function Get_ALDaten(ByVal alnr As Integer) As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_edex_bl_get_aldaten"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Parameters.Add(New SqlParameter("@alnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, alnr))
scmCmdToExecute.Connection = Globals.conn_edoka.scoDBConnection
Globals.conn_edoka.OpenConnection()
Try
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
' // some error occured. Bubble it to caller and encapsulate Exception object
Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
Globals.conn_edoka.CloseConnection(True)
End Try
End Function
Public Function Get_Filename(ByVal DokId As String) As String
Dim result As String = ""
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "Select dokumentname from dokument where dokumentid='" + DokId + "'"
scmCmdToExecute.CommandType = CommandType.Text
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Parameters.Add(New SqlParameter("@alnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, alnr))
scmCmdToExecute.Connection = Globals.conn_edoka.scoDBConnection
Globals.conn_edoka.OpenConnection()
Try
sdaAdapter.Fill(dtToReturn)
result = dtToReturn.Rows(0).Item(0)
Catch ex As Exception
result = "error.doc"
' // some error occured. Bubble it to caller and encapsulate Exception object
Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
Globals.conn_edoka.CloseConnection(True)
End Try
Return result
End Function
Public Function Get_Anzahl_Vertraege(ByVal alnr As Integer) As String
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_edex_bl_get_anzahl_vertraege"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Parameters.Add(New SqlParameter("@alnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, alnr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@anzahl", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Connection = Globals.conn_edoka.scoDBConnection
Globals.conn_edoka.OpenConnection()
Try
sdaAdapter.Fill(dtToReturn)
Return LTrim(Str(scmCmdToExecute.Parameters("@anzahl").Value))
Catch ex As Exception
m_log.Log("ModPrintJob:Get_Anzahl_Vertraege:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Return "?"
' // some error occured. Bubble it to caller and encapsulate Exception object
'Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
Globals.conn_edoka.CloseConnection(True)
End Try
End Function
''' <summary>
''' Methode, welche prueft ob der Aushaendigung Werbung beigelegt werden soll
''' </summary>
''' <param name="alnr"></param>
''' <returns>boolean</returns>
''' <remarks></remarks>
Private Function check_Werbung(ByVal alnr As Integer) As Boolean
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_check_Werbung"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Parameters.Add(New SqlParameter("@alnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, alnr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@werbung", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Connection = Globals.conn_edoka.scoDBConnection
Globals.conn_edoka.OpenConnection()
Dim returnValue As Boolean
returnValue = False
Try
sdaAdapter.Fill(dtToReturn)
If scmCmdToExecute.Parameters("@werbung").Value > 0 Then
returnValue = True
End If
Catch ex As Exception
m_log.Log("ModPrintJob:check_Werbung:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
Globals.conn_edoka.CloseConnection(True)
End Try
Return returnValue
End Function
Private Function check_Beilage(ByVal alnr As Integer, ByVal beilagedatum As String) As Boolean
If beilagedatum > Now Then
Return False
Exit Function
End If
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_check_beilage"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Parameters.Add(New SqlParameter("@alnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, alnr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@beilagedatum", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, beilagedatum))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Beilage", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Connection = Globals.conn_edoka.scoDBConnection
Globals.conn_edoka.OpenConnection()
Dim returnValue As Boolean
returnValue = False
Try
sdaAdapter.Fill(dtToReturn)
If scmCmdToExecute.Parameters("@Beilage").Value > 0 Then
returnValue = True
End If
Catch ex As Exception
m_log.Log("ModPrintJob:check_Beilage:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
Globals.conn_edoka.CloseConnection(True)
End Try
Return returnValue
End Function
#End Region
#Region "Office Funktionen"
Public Sub StartWord()
'Auskommentiert durch MNK 20080902 - Sinnlos - kann nicht genutzt werden
'Try
' Kill("WINWORD")
'Catch ex As Exception
' m_log.Log("ModPrintJob:StartWord_Kill:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
'End Try
Try
objword = GetObject(, "Word.application")
objword.Visible = False
Catch ex As Exception
m_log.Log("ModPrintJob:StartWord_GetObject:" + ex.Message + ex.StackTrace, Common.Common.JournalEntryType.Warning)
Try
objword = CreateObject("Word.application")
objword.Visible = False
Catch ex1 As Exception
m_log.Log("ModPrintJob:StartWord_CreateObject:" + ex1.Message + ex1.StackTrace, Common.Common.JournalEntryType.Warning)
End Try
End Try
End Sub
#End Region
End Module