updaet 20250123

This commit is contained in:
Stefan Hutter
2025-01-24 16:25:47 +01:00
parent 52a3fecee5
commit 608c67d21b
156 changed files with 2055 additions and 1660 deletions

View File

@@ -17,6 +17,7 @@ using System.Runtime.CompilerServices;
using NLog.LayoutRenderers;
using Helper;
using System.Transactions;
using System.Net.NetworkInformation;
@@ -196,7 +197,7 @@ namespace Database
dbkey = "0" + dbkey;
}
skey = skey + dbkey;
s = Helper.DivFnkt.modulo10(skey.Substring(skey.Length-15,15)).ToString();
s = Helper.DivFnkt.modulo10(skey.Substring(skey.Length - 15, 15)).ToString();
skey = skey + s;
return skey;
}
@@ -268,24 +269,46 @@ namespace Database
}
}
public DataTable Get_Vorlage_By_DokumentID(string dokumentid, bool useoffice = false, string tempdir="")
public DataTable Get_Vorlage_By_DokumentID(string dokumentid, bool useoffice = false, string tempdir = "", bool editdoc=false)
{
string sql = "Select dbo.BinaryToBase64(vorlage) as Data, dbo.office_vorlage.office_vorlagenr as nr from dbo.Office_Vorlage_Datei INNER JOIN ";
sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlage_dateinr = dbo.office_vorlage.office_vorlagenr INNER JOIN ";
sql = sql + "dbo.dokumenttyp INNER JOIN ";
sql = sql + "dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr ";
sql = sql + "WHERE dbo.dokument.dokumentid = '" + dokumentid + "' ";
string sql = "";
if (!editdoc)
{
sql = "Select dbo.BinaryToBase64(vorlage) as Data, dbo.office_vorlage.office_vorlagenr as nr from dbo.Office_Vorlage_Datei INNER JOIN ";
sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlage_dateinr = dbo.office_vorlage.office_vorlagenr INNER JOIN ";
sql = sql + "dbo.dokumenttyp INNER JOIN ";
sql = sql + "dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr ";
sql = sql + "WHERE dbo.dokument.dokumentid = '" + dokumentid + "' ";
}
else
{
sql = "SELECT dbo.BinaryToBase64(dbo.Doks.Dokument) AS Data, dbo.office_vorlage.office_vorlagenr AS nr ";
sql = sql + " FROM dbo.Office_Vorlage_Datei INNER JOIN ";
sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlage_dateinr = dbo.office_vorlage.office_vorlagenr INNER JOIN";
sql = sql + " dbo.dokumenttyp INNER JOIN ";
sql = sql + " dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr INNER JOIN ";
sql = sql + " dbo.Doks ON dbo.dokument.dokumentid = dbo.Doks.DokumentID ";
sql = sql + " WHERE(dbo.dokument.dokumentid = '" + dokumentid + "')";
}
Get_Tabledata(sql, false, true);
if (!useoffice) { return dsdaten.Tables[0]; }
else
{
VBFileManagement.VBFileManagement vm = new VBFileManagement.VBFileManagement();
vm.Get_From_DB(Convert.ToInt32(dsdaten.Tables[0].Rows[0][1]), tempdir + dokumentid, connectionstring, false);
if (!editdoc)
{
vm.Get_From_DB(Convert.ToInt32(dsdaten.Tables[0].Rows[0][1]), tempdir + dokumentid, connectionstring, false);
}else
{
vm.Get_Dok_From_DB(dokumentid, tempdir + dokumentid, connectionstring);
}
clsFileHelper fh = new clsFileHelper();
dsdaten.Tables[0].Rows[0][0] = fh.Base64FromFile(tempdir+ dokumentid);
dsdaten.Tables[0].Rows[0][0] = fh.Base64FromFile(tempdir + dokumentid);
fh = null;
vm=null;
vm = null;
System.IO.File.Delete(tempdir + dokumentid);
return dsdaten.Tables[0];
@@ -338,18 +361,32 @@ namespace Database
#region "EDOKA_Datenbank"
public string Create_EDOKA_Doc(clsDocData DocData)
public string Create_EDOKA_Doc(clsDocData DocData, bool editdoc, string dokumentid)
{
DB db = new DB(connectionstring);
string dokumentid = "";
dokumentid = db.get_dbkey("Dokument");
clsDokument dok = new clsDokument();
clsDokumenttyp doktyp = new clsDokumenttyp();
clsConnectionProvider edoka_conn = new clsConnectionProvider();
edoka_conn.sConnectionString = this.connectionstring;
if (dokumentid == "")
{
dokumentid = db.get_dbkey("Dokument");
}
else
{
dok.sDokumentid= dokumentid;
dok.cpMainConnectionProvider=edoka_conn;
dok.SelectOne();
}
doktyp.cpMainConnectionProvider = edoka_conn;
doktyp.iDokumenttypnr = Convert.ToInt32(DocData.DokumenttypNr);
@@ -405,7 +442,7 @@ namespace Database
dok.iBearbeitung_nach_abschluss = doktyp.iTage_mutation;
dok.iBearbeitungszeit_in_minuten = doktyp.iDbearbeitungszeit;
dok.iMonierung_in_tagen = doktyp.iAnzahl_tage;
// dok.sBezeichnung = doktyp.sBezeichnung;
// dok.sBezeichnung = doktyp.sBezeichnung;
dok.iNrpar00 = Convert.ToInt32(DocData.PartnerNr);
dok.iMutierer = dok.iErsteller;
dok.iMitarbeiternr = dok.iErsteller;
@@ -456,21 +493,31 @@ namespace Database
dok.sDokumentname = dokumentname;
dok.cpMainConnectionProvider = edoka_conn;
edoka_conn.OpenConnection();
dok.Insert();
if (!editdoc)
{
dok.Insert();
}
else
{
dok.Update();
}
edoka_conn.CloseConnection(true);
COLD_Index_Sichern(1, dokumentid);
if (dok.bZu_retournieren == true)
if (!editdoc)
{
COLD_Index_Sichern(2, dokumentid);
COLD_Index_Sichern(1, dokumentid);
if (dok.bZu_retournieren == true)
{
COLD_Index_Sichern(2, dokumentid);
}
Status_Erstellen(dokumentid, false);
dok.iStatusnr = Convert.ToInt32(get_current_Status(dokumentid).ToString());
edoka_conn.OpenConnection();
dok.Update();
edoka_conn.CloseConnection(true);
}
Status_Erstellen(dokumentid, false);
dok.iStatusnr = Convert.ToInt32(get_current_Status(dokumentid).ToString());
edoka_conn.OpenConnection();
dok.Update();
edoka_conn.CloseConnection(true);
//DokumentInfoWert
foreach (DataRow dr in DocData.dokumentwerte.Rows)
{
@@ -493,35 +540,38 @@ namespace Database
db.add_parameter("@indextyp", "1");
db.Get_Tabledata("SP_Dokument_Cold_Index", true, false);
}
db.clear_parameter();
db.add_parameter("@dokumentid", dokumentid);
db.add_parameter("@coldfeldnr", dr["cold_indexfeld"].ToString());
db.add_parameter("@value", dr["feldwert"].ToString());
db.Get_Tabledata("SP_Dokument_Cold_Index_Update", true, false);
else
{
db.clear_parameter();
db.add_parameter("@dokumentid", dokumentid);
db.add_parameter("@coldfeldnr", dr["cold_indexfeld"].ToString());
db.add_parameter("@value", dr["feldwert"].ToString());
db.Get_Tabledata("SP_Dokument_Cold_Index_Update", true, false);
}
}
}
db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dok.iDokumenttypnr.ToString(), false, true);
int toapprove = 0;
int approved = 0;
int approved1 = 0;
int approved2 = 0;
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["Unterschrift_Pruefung"]) == true || DocData.As_Faksimile=="True")
int toapprove = DocData.toapprove;
int approved = DocData.approved;
int approved1 = DocData.approval1;
int approved2 = DocData.approval2;
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["Unterschrift_Pruefung"]) == true || DocData.As_Faksimile == "True")
{
toapprove = 1;
if (dok.iUnterschriftlinks == dok.iErsteller) { approved1 = 1; }
if (dok.iUnterschriftrechts == dok.iErsteller) { approved2 = 1; }
//if (dok.iUnterschriftlinks == dok.iErsteller) { approved1 = 1; }
//if (dok.iUnterschriftrechts == dok.iErsteller) { approved2 = 1; }
}
int unterschriftlinks = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschrift_links"]);
int unterschriftrechts = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschrift_rechts"]);
int bearbeitung_zwingend = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bearbeitung_zwingend"]);
int as_faksimile = 0;
if (DocData.As_Faksimile=="True") { as_faksimile = 1; }
if (DocData.As_Faksimile == "True") { as_faksimile = 1; }
//if (bearbeitung_zwingend == 4) { bearbeitung_zwingend = 1; } else { bearbeitung_zwingend = 0; }
if (unterschriftlinks == 1 && unterschriftrechts == 0 && approved1 == 1) { approved = 1; }
//if (unterschriftlinks == 1 && unterschriftrechts == 0 && approved1 == 1) { approved = 1; }
db.Exec_SQL("Update dokument set faksimile="+as_faksimile.ToString()+", bearbeitung_zwingend = " + bearbeitung_zwingend.ToString()+", toapprove=" + toapprove.ToString() + ", approved=" + approved.ToString() + ", approval1=" + approved1.ToString() + ", approval2=" + approved2.ToString() + " where dokumentid = '" + dokumentid + "'");
db.Exec_SQL("Update dokument set faksimile=" + as_faksimile.ToString() + ", bearbeitung_zwingend = " + bearbeitung_zwingend.ToString() + ", toapprove=" + toapprove.ToString() + ", approved=" + approved.ToString() + ", approval1=" + approved1.ToString() + ", approval2=" + approved2.ToString() + " where dokumentid = '" + dokumentid + "'");
return dokumentid;
}
@@ -835,7 +885,8 @@ namespace Database
SqlConnection Connection = new SqlConnection();
string sql = "";
if (serienbriefnr == 0) { sql = "select * from doks where dokumentid='" + DokumentID + "'"; }
if (serienbriefnr !=0) {
if (serienbriefnr != 0)
{
sql = "select top 1 * from edex_sb_vorlage where serienbriefnr=" + serienbriefnr.ToString();
DokumentID = serienbriefnr.ToString();
}
@@ -983,7 +1034,7 @@ namespace Database
return true;
}
public DataTable Get_DokumentWertList(string dokumentid, int dokumenttypnr)
public DataTable Get_DokumentWertList(string dokumentid, int dokumenttypnr, int CreateNew)
{
var scmCmdToExecute = new SqlCommand();
@@ -998,7 +1049,7 @@ namespace Database
{
scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid));
scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumenttypnr));
scmCmdToExecute.Parameters.Add(new SqlParameter("@CreateNew", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1));
scmCmdToExecute.Parameters.Add(new SqlParameter("@CreateNew", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, CreateNew));
sdaAdapter.Fill(dtToReturn);
// Release 4.0 KC 01.06.2007 XMl Daten berücksichtigen (DokumentBearbeitung.edka)
@@ -1276,9 +1327,16 @@ namespace Database
sb.dsempfaenger.ReadXml(fn);
System.IO.File.Delete(fn);
}
Get_Tabledata("Select isnull(faktura,0), isnull(office_vorlagenr,0) from edex_sb_serienbrief where serienbriefnr=" + sb.serienbriefnr.ToString(), false, true);
Get_Tabledata("Select isnull(faktura,0), isnull(office_vorlagenr,0), isnull(toapprove,0), isnull(approved,0), isnull(approval1,0), isnull(approval2,0), isnull(faksimile,0), isnull(ohneunterschrift,0) from edex_sb_serienbrief where serienbriefnr=" + sb.serienbriefnr.ToString(), false, true);
sb.ppfaktura = Convert.ToInt32(dsdaten.Tables[0].Rows[0][0]);
sb.officevorlagenr = Convert.ToInt32(dsdaten.Tables[0].Rows[0][1]);
sb.toapproval = Convert.ToInt32(dsdaten.Tables[0].Rows[0][2]);
sb.approved = Convert.ToInt32(dsdaten.Tables[0].Rows[0][3]);
sb.approval1 = Convert.ToInt32(dsdaten.Tables[0].Rows[0][4]);
sb.approval2 = Convert.ToInt32(dsdaten.Tables[0].Rows[0][5]);
sb.faksimile = Convert.ToInt32(dsdaten.Tables[0].Rows[0][6]);
sb.ohneunterschrift = Convert.ToInt32(dsdaten.Tables[0].Rows[0][7]);
return sb;
}
public int Save_Serienbrief(serienbrief sb, string temppath)
@@ -1322,7 +1380,7 @@ namespace Database
dbsb.iBestaetigt = sb.bestaetigt;
dbsb.iAusgeloest = sb.ausgeloest;
dbsb.iBldossier = sb.vertrag;
edoka_conn.OpenConnection();
if (sb.serienbriefnr == 0)
{
@@ -1337,7 +1395,9 @@ namespace Database
save_empfaengerdata(sb.serienbriefnr, temppath, sb.dsempfaenger);
edoka_conn.CloseConnection(true);
Exec_SQL("Update edex_sb_serienbrief set faktura=" + sb.ppfaktura.ToString() + ", office_vorlagenr="+sb.officevorlagenr.ToString()+" where serienbriefnr = " + sb.serienbriefnr.ToString());
Exec_SQL("Update edex_sb_serienbrief set faktura=" + sb.ppfaktura.ToString() + ", office_vorlagenr=" + sb.officevorlagenr.ToString() + " where serienbriefnr = " + sb.serienbriefnr.ToString());
Exec_SQL("update edex_sb_serienbrief set toapprove=" + sb.toapproval.ToString() + ", approved=" + sb.approved.ToString() + ", approval1=" + sb.approval1.ToString() + ", approval2=" + sb.approval2.ToString() + " where serienbriefnr=" + sb.serienbriefnr.ToString());
Exec_SQL("update edex_sb_serienbrief set faksimile=" + sb.faksimile.ToString() + ", ohneunterschrift=" + sb.ohneunterschrift.ToString() + " where serienbriefnr=" + sb.serienbriefnr.ToString());
return sb.serienbriefnr;
}
@@ -1363,13 +1423,13 @@ namespace Database
{
try
{
string filename = temppath + serienbriefnr.ToString() + ".xml";
//filename = temppath + "sbbase1.xml";
//serienbriefnr = -1;
empf.WriteXml(filename);
SqlConnection Connection = new SqlConnection();
SqlDataAdapter DA = new SqlDataAdapter("select top 1 * from edex_sb_empfaenger where serienbriefnr=" + serienbriefnr.ToString() + "", Connection);
SqlCommandBuilder cb = new SqlCommandBuilder(DA);
@@ -1425,7 +1485,7 @@ namespace Database
public string save_serienbrief_datei(int serienbriefnr, int eintragnr, string filename, string dokumentid)
{
SqlConnection Connection = new SqlConnection();
SqlDataAdapter DA = new SqlDataAdapter("select top 1 * from edex_sb_serienbrief_dokument where dokumentid='"+dokumentid+"'", Connection);
SqlDataAdapter DA = new SqlDataAdapter("select top 1 * from edex_sb_serienbrief_dokument where dokumentid='" + dokumentid + "'", Connection);
//SqlDataAdapter DA = new SqlDataAdapter("select top 1 * from edex_sb_serienbrief_dokument where inteintragnr = " + eintragnr.ToString() + " and serienbriefnr = " + serienbriefnr.ToString(), Connection);
SqlCommandBuilder cb = new SqlCommandBuilder(DA);
DataSet ds = new DataSet();
@@ -1624,7 +1684,7 @@ namespace Database
tdt.Rows.Add(tdr);
}
i=i+1; ;
i = i + 1; ;
}
//foreach (var DR in dv)
@@ -1700,7 +1760,7 @@ namespace Database
s = "Create Table DBO.EDKB09_" + sb.serienbriefnr.ToString() + "( NRPAR00 varchar(11),";
var loopTo = dt.Columns.Count - 1;
for (i = 0; i <= loopTo; i++)
s = s + "["+dt.Columns[i].ColumnName + "] varchar(255),";
s = s + "[" + dt.Columns[i].ColumnName + "] varchar(255),";
s = s.Substring(0, s.Length - 1);
s = s + "";
s = s + " " + ",CONSTRAINT [PK_EDKB09_" + sb.serienbriefnr.ToString() + "] PRIMARY KEY CLUSTERED ([IntEintragnr] ASC)) ON[DEFAULT]";
@@ -1887,7 +1947,7 @@ namespace Database
}
public bool save_edkdata(string filename,string tgnummer)
public bool save_edkdata(string filename, string tgnummer)
{
try
{
@@ -1997,7 +2057,7 @@ namespace Database
clear_parameter();
add_parameter("UrsprungID", dokumentid);
add_parameter("NewDokID", newdokumentid);
clsDokument dok = new clsDokument();
clsConnectionProvider edoka_conn = new clsConnectionProvider();
edoka_conn.sConnectionString = this.connectionstring;
@@ -2005,7 +2065,7 @@ namespace Database
edoka_conn.OpenConnection();
dok.sDokumentid = dokumentid;
dok.SelectOne();
dok.sDokumentid=newdokumentid;
dok.sDokumentid = newdokumentid;
dok.daErstelltam = DateTime.Now;
dok.daMutiertam = DateTime.Now;
dok.iErsteller = manr;