update 20251210

This commit is contained in:
Stefan Hutter
2025-12-10 17:42:12 +01:00
parent 10ed1e6087
commit 6ac2108d40
303 changed files with 2207203 additions and 1040 deletions

View File

@@ -1,6 +1,8 @@
using Database;
using DOCGEN;
using Microsoft.Office.Interop.Word;
using Model;
using Newtonsoft.Json;
using NLog.LayoutRenderers;
using OnDoc.DocMgmt;
using OnDoc.Klassen;
@@ -55,8 +57,23 @@ namespace OnDoc.UIControls
{
update_details(e.Node.Tag as string);
}
private void update_details(string nodetag){
try {
private void update_details(string nodetag)
{
try
{
if (nodetag.Contains("(Paket)"))
{
string pid = nodetag.Substring(0, nodetag.Length - 7);
grpDetails.Visible = false;
DB dB = new DB(AppParams.connectionstring);
dB.Get_Tabledata("Select paket from ondoc_versandstrasse_paket where id = " + pid.ToString(), false, true);
Versandpaket vp = JsonConvert.DeserializeObject<Versandpaket>(dB.dsdaten.Tables[0].Rows[0]["paket"].ToString());
this.docPreview1.Show_Doc(vp.finaldoc);
// vp = null;
return;
}
grpDetails.Visible = true;
notes.Rows.Clear(); ;
notes.Columns.Clear();
notes.AcceptChanges();
@@ -90,6 +107,7 @@ namespace OnDoc.UIControls
catch { }
}
sfListView1.DataSource = notes;
sfListView1.DisplayMember = "Betreff";
sfListView1.ValueMember = "note";
@@ -128,8 +146,11 @@ namespace OnDoc.UIControls
tmppartner = Convert.ToInt32(dr["nrpar00"]);
tnpartner = new TreeNodeAdv();
tnpartner.Text = dr["nrpar00"].ToString() + " " + dr["bkpar00"].ToString();
if (dr["bewilligungstyp"].ToString() == "1") {
treeViewAdv1.Nodes.Add(tnpartner); } else { treeViewAdv1.Nodes.Add(tnpartner); }
if (dr["bewilligungstyp"].ToString() == "1")
{
treeViewAdv1.Nodes.Add(tnpartner);
}
else { treeViewAdv1.Nodes.Add(tnpartner); }
}
TreeNodeAdv tndok = new TreeNodeAdv();
tndok.Text = dr["bezeichnung"].ToString();
@@ -145,7 +166,27 @@ namespace OnDoc.UIControls
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0].Nodes[0];
update_details(treeViewAdv1.SelectedNode.Tag as string);
}
try
{
db.Get_Tabledata("Select * from ondoc_view_prov_pakete where (aktiv=1 and (signedleft=0 and signleft='" + AppParams.currenttgnummer.ToString() + "') or (signedright=0 and signright='" + AppParams.currenttgnummer.ToString() + "'))", false, true);
foreach (DataRow dr in db.dsdaten.Tables[0].Rows)
{
if (tmppartner != Convert.ToInt32(dr["partnernr"]))
{
tmppartner = Convert.ToInt32(dr["partnernr"]);
tnpartner = new TreeNodeAdv();
tnpartner.Text = dr["partnernr"].ToString() + " " + dr["bkpar00"].ToString();
treeViewAdv1.Nodes.Add(tnpartner);
}
TreeNodeAdv tndok = new TreeNodeAdv();
tndok.Text = "Dokumentpaket - " + dr["Bezeichnung"].ToString();
tndok.Tag = dr["paketid"].ToString() + "(Paket)";
tndok.TagObject = dr;
tnpartner.Nodes.Add(tndok);
}
}catch { }
}
public int anzahl_dokument()
@@ -154,13 +195,13 @@ namespace OnDoc.UIControls
}
private void ribbonButtonNotApproved_Click(object sender, EventArgs e)
{
frmNote note = new frmNote(treeViewAdv1.SelectedNode.Tag.ToString(),"Ablehnen");
frmNote note = new frmNote(treeViewAdv1.SelectedNode.Tag.ToString(), "Ablehnen");
DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow;
if (note.ShowDialog() == DialogResult.OK)
{
DB db = new DB(AppParams.connectionstring);
string sql = "update dokument_bewilligung set abgelehnt=1, abgelehnt_am = '" + DateTime.Now.ToString() + "', betreff='"+note.betreff+"', notizgrund='"+note.notiz+"' where id=" + dr["id"].ToString();
string sql = "update dokument_bewilligung set abgelehnt=1, abgelehnt_am = '" + DateTime.Now.ToString() + "', betreff='" + note.betreff + "', notizgrund='" + note.notiz + "' where id=" + dr["id"].ToString();
db.Exec_SQL(sql);
clsMailer mailer = new clsMailer();
string empfaengerid = "";
@@ -172,11 +213,11 @@ namespace OnDoc.UIControls
// treeViewAdv1.SelectedNode.Parent.Nodes.Remove(treeViewAdv1.SelectedNode);
if (dr["Bewilligungstyp"].ToString() == "2")
{
db.Exec_SQL("Update dokument set approved=0, approval2=0 where dokumentid='" + dr["dokumentid"].ToString()+"'");
db.Exec_SQL("Update dokument set approved=0, approval2=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
db.Exec_SQL("Update dokument set approved=0, approval1=0 where dokumentid='" + dr["dokumentid"].ToString()+"'");
db.Exec_SQL("Update dokument set approved=0, approval1=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
mailer.sendmail(5, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString());
mailer = null;
@@ -187,95 +228,205 @@ namespace OnDoc.UIControls
// tp.Parent.Nodes.Remove(tp);
//}
db = null;
Logging.DocLog.Info("Dokument geprüft - abgelehnt", "Dokumentprüfung", dr["dokumentid"].ToString(),"","");
Logging.DocLog.Info("Dokument geprüft - abgelehnt", "Dokumentprüfung", dr["dokumentid"].ToString(), "", "");
}
}
public List<string>threaddoks = new List<string>();
string threaddocid = "";
string threadempfaenger = "";
string threadid = "";
public List<string> threaddoks = new List<string>();
private void signdoc()
private void signdoc(TreeNodeAdv tn, ref TreeViewAdv tv)
{
string intDokid = threaddocid;
string intempfaenger = threadempfaenger;
string intid = threadid;
threaddoks.Add(intDokid);
int approvaltype = 0;
int error = 0;
DataRow dr = tn.TagObject as DataRow;
threaddoks.Add(dr["dokumentid"].ToString());
DB db = new DB(AppParams.connectionstring);
string empfaengerid = intempfaenger ;
db.Get_Tabledata("Select * from dokument where dokumentid='" + intDokid + "'", false, true);
if (db.dsdaten.Tables[0].Rows[0]["approved"].ToString() == "True")
string empfaengerid = "";
db.Get_Tabledata("Select mutierer from dokument_Bewilligung where id=" + dr["id"].ToString(), false, true);
empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString();
if (dr["Bewilligungstyp"].ToString() == "2")
{
db.Exec_SQL("Update dokument set approval2=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
approvaltype = 2;
}
else
{
db.Exec_SQL("Update dokument set approval1=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
approvaltype = 1;
}
db.Get_Tabledata("Select * from dokument where dokumentid='" + dr["dokumentid"].ToString() + "'", false, true);
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["approved"] )== true)
{
//panelsign.Visible = true;
//Application.DoEvents();
//Cursor = Cursors.WaitCursor;
DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey);
if (dg.signdoc(threaddocid, AppParams.tempdir,pages))
db.Get_Tabledata("select * from OnDoc_GetSignType where dokumentid='" + dr["dokumentid"].ToString() + "'", false, true);
//error = 1;
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "True")
{
db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + intDokid + "'");
if (dg.signdocsf(dr["dokumentid"].ToString(), AppParams.tempdir, pages))
{
db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
error = 1;
}
}
else
{
if (dg.signdoc(dr["dokumentid"].ToString(), AppParams.tempdir, pages))
{
db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{ error = 1; }
}
dg = null;
//panelsign.Visible = false;
//Application.DoEvents();
//Cursor = Cursors.Default;
}
if (error == 0)
{
db.Get_Tabledata("Select mutierer from dokument_Bewilligung where id=" + dr["id"].ToString(), false, true);
empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString();
string sql = "update dokument_bewilligung set bewilligt=1, bewilligt_am = '" + DateTime.Now.ToString() + "' where id=" + dr["id"].ToString();
db.Exec_SQL(sql);
if (dr["Bewilligungstyp"].ToString() == "2")
{
db.Exec_SQL("Update dokument set approval2=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
db.Exec_SQL("Update dokument set approval1=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
clsMailer mailer = new clsMailer();
mailer.sendmail(3, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString());
mailer = null;
Logging.DocLog.Info("Dokument geprüft", "Dokumentprüfung", dr["dokumentid"].ToString(), "", "");
db = null;
threaddoks.Remove(dr["dokumentid"].ToString());
treeViewAdv1.SelectedNode = tn;
//remove_node();
TreeNodeAdv tparent = tn.Parent;
tparent.Nodes.Remove(tv.SelectedNode);
tv.Nodes.Remove(tv.SelectedNode);
if (tparent.Nodes.Count < 1)
{
tv.Nodes.Remove(tparent);
}
else
{
tv.SelectedNode = tparent.Nodes[0];
}
if (tv.Nodes.Count < 1)
{
}
else
{
tv.SelectedNode = tv.Nodes[0].Nodes[0];
}
try
{
update_details(tv.SelectedNode.Tag as string);
}
catch { }
} else
{
if (approvaltype == 2)
{
db.Exec_SQL("Update dokument set approval2=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
db.Exec_SQL("Update dokument set approval1=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
threaddoks.Remove(dr["dokumentid"].ToString());
db.Get_Tabledata("Select bezeichnung from dokument where dokumentid='" + dr["dokumentid"].ToString() + "'",false,true);
MessageBox.Show("Das Dokument '" + db.dsdaten.Tables[0].Rows[0][0].ToString() + "' konnte aufgrund eines technischen Problems nicht signiert werden. Bitte Vorganng wiederholsen", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
db = null;
}
clsMailer mailer = new clsMailer();
mailer.sendmail(3, intempfaenger, "", "", intDokid, "", AppParams.CurrentMitarbeiter.ToString(), intid);
mailer = null;
Logging.DocLog.Info("Dokument geprüft", "Dokumentprüfung", intDokid, "", "");
db = null;
threaddoks.Remove(intDokid);
}
private void ribbonButtonApproved_Click(object sender, EventArgs e)
{
int error = 0;
int approvaltype = 0;
if (treeViewAdv1.SelectedNode.Tag.ToString().Contains("(Paket)"))
{
string pid = treeViewAdv1.SelectedNode.Tag.ToString();
pid = pid.Substring(0,pid.Length - 7);
DB db1 = new DB(AppParams.connectionstring);
db1.clear_parameter();
db1.add_parameter("@paketid", pid);
db1.add_parameter("@unterzeichner", AppParams.currenttgnummer.ToString());
db1.add_parameter("@genehmigt", "1");
db1.Get_Tabledata("sp_ondoc_prov_versandpaket_genehmigt", true, false);
remove_node();
db1 = null;
return;
}
if (AppParams.MultiThreadingSign)
{
approval_startet = true;
//Thread signthread = new Thread(signdoc);
Thread signthread = new Thread(() => signdoc(treeViewAdv1.SelectedNode, ref treeViewAdv1));
signthread.Start();
//remove_node();
return;
}
DB db = new DB(AppParams.connectionstring);
DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow;
clsMailer mailer = new clsMailer();
string empfaengerid = "";
db.Get_Tabledata("Select mutierer from dokument_Bewilligung where id=" + dr["id"].ToString(), false, true);
empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString();
string sql = "update dokument_bewilligung set bewilligt=1, bewilligt_am = '" + DateTime.Now.ToString() + "' where id=" + dr["id"].ToString();
db.Exec_SQL(sql);
if (dr["Bewilligungstyp"].ToString() == "2")
{
db.Exec_SQL("Update dokument set approval2=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
approvaltype = 2;
}
else
{
db.Exec_SQL("Update dokument set approval1=1 where dokumentid='" + dr["dokumentid"].ToString()+"'");
}
if (AppParams.MultiThreadingSign)
{
approval_startet = true;
Thread signthread = new Thread(signdoc);
threaddocid = dr["dokumentid"].ToString();
threadempfaenger = empfaengerid;
threadid = dr["id"].ToString();
signthread.Start();
remove_node();
return;
db.Exec_SQL("Update dokument set approval1=1 where dokumentid='" + dr["dokumentid"].ToString() + "'");
approvaltype = 1;
}
//--------------------------
//--------------------
db.Get_Tabledata("Select * from dokument where dokumentid='" + dr["dokumentid"].ToString() + "'", false, true);
if (db.dsdaten.Tables[0].Rows[0]["approved"].ToString()=="True")
if (db.dsdaten.Tables[0].Rows[0]["approved"].ToString() == "True")
{
panelsign.Visible = true;
System.Windows.Forms.Application.DoEvents();
Cursor = Cursors.WaitCursor;
DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey);
if (dg.signdoc(dr["dokumentid"].ToString(), AppParams.tempdir, pages)) ;
if (dg.signdocsf(dr["dokumentid"].ToString(), AppParams.tempdir, pages))
{
db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
error = 1;
}
dg = null;
panelsign.Visible = false;
@@ -283,14 +434,31 @@ namespace OnDoc.UIControls
Cursor = Cursors.Default;
}
mailer.sendmail(3, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString());
mailer = null;
Logging.DocLog.Info("Dokument geprüft", "Dokumentprüfung", dr["dokumentid"].ToString(), "", "");
db = null;
if (error == 0)
{
mailer.sendmail(3, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString());
mailer = null;
Logging.DocLog.Info("Dokument geprüft", "Dokumentprüfung", dr["dokumentid"].ToString(), "", "");
string sql = "update dokument_bewilligung set bewilligt=1, bewilligt_am = '" + DateTime.Now.ToString() + "' where id=" + dr["id"].ToString();
db.Exec_SQL(sql);
db = null;
remove_node();
}
else
{
MessageBox.Show("Aufgrund eines technischen Problems konnte das Dokument nicht signiert werden. Bitte Vorgang wiederholen", "Signieren",MessageBoxButtons.OK,MessageBoxIcon.Error);
mailer = null;
if (approvaltype == 2)
{
db.Exec_SQL("Update dokument set approval2=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
else
{
db.Exec_SQL("Update dokument set approval1=0 where dokumentid='" + dr["dokumentid"].ToString() + "'");
}
remove_node();
db = null;
}
}
private void remove_node()
@@ -319,7 +487,7 @@ namespace OnDoc.UIControls
}
if (treeViewAdv1.Nodes.Count < 1)
{
}
else
{
@@ -351,13 +519,14 @@ namespace OnDoc.UIControls
public int setcounter()
{
this.label8.Text=threaddoks.Count.ToString();
if (threaddoks.Count > 0)
{
if (this.treeViewAdv1.Nodes.Count == 0) { label7.Text = "Dokument(e) werden signiert - nach Abschluss wird das Fenster geschlossen:";} else { label7.Text = "Dokument(e) werden signiert:"; }
this.pnlMultiThreading.Visible = true;
} else
{
this.label8.Text = threaddoks.Count.ToString();
if (threaddoks.Count > 0)
{
if (this.treeViewAdv1.Nodes.Count == 0) { label7.Text = "Dokument(e) werden signiert - nach Abschluss wird das Fenster geschlossen:"; } else { label7.Text = "Dokument(e) werden signiert:"; }
this.pnlMultiThreading.Visible = true;
}
else
{
this.pnlMultiThreading.Visible = false;
}
return threaddoks.Count;
@@ -367,6 +536,6 @@ namespace OnDoc.UIControls
{
return treeViewAdv1.Nodes.Count;
}
}
}

View File

@@ -69,6 +69,7 @@ namespace OnDoc.UICintrols
this.tsbtnpreviewright = new System.Windows.Forms.ToolStripButton();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.sfDataGrid1 = new Syncfusion.WinForms.DataGrid.SfDataGrid();
this.docPreview1 = new OnDoc.UIControls.DocPreview();
this.panel2 = new System.Windows.Forms.Panel();
this.lblTitel = new System.Windows.Forms.Label();
this.ribbonPanel2 = new System.Windows.Forms.RibbonPanel();
@@ -187,7 +188,6 @@ namespace OnDoc.UICintrols
this.gruppenSchliessenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.RibbonButtonCreateNewDoc = new System.Windows.Forms.RibbonButton();
this.ribbonButton5 = new System.Windows.Forms.RibbonButton();
this.docPreview1 = new OnDoc.UIControls.DocPreview();
this.dokwerte1 = new OnDoc.UIControls.Dokwerte();
this.ctxMenuDokList.SuspendLayout();
this.toolStrip1.SuspendLayout();
@@ -233,7 +233,7 @@ namespace OnDoc.UICintrols
this.zumVersandpaketHinzufügenToolStripMenuItem,
this.unterschriftTestsToolStripMenuItem});
this.ctxMenuDokList.Name = "ctxMenuDokList";
this.ctxMenuDokList.Size = new System.Drawing.Size(342, 680);
this.ctxMenuDokList.Size = new System.Drawing.Size(342, 652);
this.ctxMenuDokList.Opening += new System.ComponentModel.CancelEventHandler(this.ctxMenuDokList_Opening);
//
// dokumentAnzeigenToolStripMenuItem
@@ -559,6 +559,17 @@ namespace OnDoc.UICintrols
this.sfDataGrid1.ColumnResizing += new Syncfusion.WinForms.DataGrid.Events.ColumnResizingEventHandler(this.sfDataGrid1_ColumnResizing);
this.sfDataGrid1.CopyContent += new Syncfusion.WinForms.DataGrid.Events.CutCopyPasteEventHandler(this.sfDataGrid1_CopyContent);
//
// docPreview1
//
this.docPreview1.BackColor = System.Drawing.SystemColors.Control;
this.docPreview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.docPreview1.Location = new System.Drawing.Point(0, 0);
this.docPreview1.Margin = new System.Windows.Forms.Padding(4);
this.docPreview1.Name = "docPreview1";
this.docPreview1.Size = new System.Drawing.Size(1709, 349);
this.docPreview1.TabIndex = 0;
this.docPreview1.ZoomPercentage = 0;
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.WhiteSmoke;
@@ -1608,17 +1619,6 @@ namespace OnDoc.UICintrols
this.ribbonButton5.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonButton5.SmallImage")));
this.ribbonButton5.Text = "Load";
//
// docPreview1
//
this.docPreview1.BackColor = System.Drawing.SystemColors.Control;
this.docPreview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.docPreview1.Location = new System.Drawing.Point(0, 0);
this.docPreview1.Margin = new System.Windows.Forms.Padding(4);
this.docPreview1.Name = "docPreview1";
this.docPreview1.Size = new System.Drawing.Size(1709, 349);
this.docPreview1.TabIndex = 0;
this.docPreview1.ZoomPercentage = 0;
//
// dokwerte1
//
this.dokwerte1.Dock = System.Windows.Forms.DockStyle.Right;

View File

@@ -2131,6 +2131,12 @@ namespace OnDoc.UICintrols
int approval = Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]);
db1.Get_Tabledata("Select count(*) from view_relaunch_approval_serienbrief where bewilligt=0 and abgelehnt = 0 and mitarbeiter_bewilligung=" + AppParams.CurrentMitarbeiter.ToString(), false, true);
approval = approval + Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]);
try
{
db1.Get_Tabledata("Select count(*) from ondoc_view_prov_pakete where (aktiv=1 and (signedleft=0 and signleft='" + AppParams.currenttgnummer.ToString() + "') or (signedright=0 and signright='" + AppParams.currenttgnummer.ToString() + "'))", false, true);
approval = approval + Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]);
}
catch { }
if (approval == 0)
{

View File

@@ -1697,8 +1697,12 @@ namespace OnDoc.UIControls
if (vorschauid == -1 || Convert.ToInt32(vorlagendaten.Rows[i]["IntEintragnr"]) == vorschauid)
{
if (!isbackground) add_progress();
if (isbackground) { counter = counter + 1; bw.ReportProgress((100/ vorlagendaten.Rows.Count)*counter); }
System.Windows.Forms.Application.DoEvents();
try
{
if (isbackground) { counter = counter + 1; bw.ReportProgress((100 / vorlagendaten.Rows.Count) * counter); }
}
catch { }
System.Windows.Forms.Application.DoEvents();
string sp1 = "";
string[] sp2;