update 20250326

This commit is contained in:
Stefan Hutter
2025-03-26 20:46:46 +01:00
parent c767e2ed82
commit e0d3dbbbff
460 changed files with 122504 additions and 1125 deletions

View File

@@ -21,6 +21,7 @@ using Syncfusion.Pdf;
using Database;
using System.Net;
using Newtonsoft.Json;
using Windows.Media.Capture;
namespace OnDoc.Versandstrasse
{
@@ -29,7 +30,8 @@ namespace OnDoc.Versandstrasse
private List<Versandpaket> pakete = new List<Versandpaket>();
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker = null;
private TreeNodeAdv currentSourceNode;
private bool serienbrief = false;
private serienbrief sb;
public Versandstrasse(List<Versandpaket> pakete)
{
InitializeComponent();
@@ -44,6 +46,11 @@ namespace OnDoc.Versandstrasse
this.treeViewDragHighlightTracker.QueryDragInsertInfo +=
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo);
this.pakete = pakete;
this.serienbrief = pakete[0].isSerienbrief;
if (serienbrief)
{
this.sb = pakete[0].sb;
}
}
private void load_adressen()
@@ -63,12 +70,25 @@ namespace OnDoc.Versandstrasse
}
private void Versandstrasse_Load(object sender, EventArgs e)
{
load_adressen();
Reload_Tree();
load_adressen();
}
private void Reload_Tree() {
treeViewAdv1.Nodes.Clear();
private void Reload_Tree() {
if (serienbrief)
{
TreeNodeAdv DruckJobSB;
DruckJobSB = new TreeNodeAdv();
DruckJobSB.Text = "Serienbrief";
DruckJobSB.Tag = "Druckpaket";
DruckJobSB.TagObject = pakete[0];
treeViewAdv1.Nodes.Add(DruckJobSB);
populate_serienbriefe();
treeViewAdv1.ExpandAll();
return;
}
treeViewAdv1.Nodes.Clear();
TreeNodeAdv DruckJob;
DB db = new DB(AppParams.connectionstring);
for (int i = 0; i < pakete.Count; i++)
@@ -78,6 +98,8 @@ namespace OnDoc.Versandstrasse
DruckJob.Text = "Druckpaket " + pakete[i].PaketNr.ToString()+" - " + db.dsdaten.Tables[0].Rows[0][0].ToString();
DruckJob.Tag = "Druckpaket";
DruckJob.TagObject = pakete[i];
treeViewAdv1.Nodes.Add(DruckJob);
PopulateDocs(pakete[i], ref DruckJob);
@@ -86,6 +108,18 @@ namespace OnDoc.Versandstrasse
treeViewAdv1.ExpandAll();
}
private void populate_serienbriefe()
{
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select dokumentid, dbo.BinaryToBase64(dokument) as dokument from edex_sb_serienbrief_dokument where serienbriefnr=" + sb.serienbriefnr.ToString() + "order by inteintragnr", false,true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
TreeNodeAdv tn = new TreeNodeAdv();
tn.Text = dr["dokumentid"].ToString();
tn.Tag = dr["dokument"].ToString();
treeViewAdv1.Nodes[0].Nodes.Add(tn);
}
}
private void PopulateDocs(Versandpaket paket, ref TreeNodeAdv parentnode)
{
TreeNodeAdv dokumentnode;
@@ -193,13 +227,10 @@ namespace OnDoc.Versandstrasse
}
private bool IsDruckPaket(TreeNodeAdv node)
{
if (node.Tag == null
|| ("Druckpaket").CompareTo(node.Tag.ToString()) != 0)
{
return false;
}
else
return true;
int i = -1;
bool numeric = int.TryParse(node.Tag.ToString(), out i);
if (node.Tag.ToString() == "Druckpaket") { return true; } else { return false; }
}
private void treeViewDragHighlightTracker_QueryDragInsertInfo(object sender, QueryDragInsertInfoEventArgs args)
{
@@ -230,9 +261,9 @@ namespace OnDoc.Versandstrasse
{
Versandpaket newpaket = new Versandpaket();
newpaket.PaketNr= (treeViewAdv1.Nodes.Count + 1).ToString();
newpaket.Versandoption = "1";
newpaket.GAS = "0";
newpaket.GASAdresse = "0";
newpaket.Versandoption = "B1";
newpaket.GAS = "";
newpaket.GASAdresse = "";
newpaket.Mitteilung = "";
newpaket.Dokument = new List<Versanddokument>();
@@ -241,63 +272,46 @@ namespace OnDoc.Versandstrasse
drucknode.Text = NodeText;
drucknode.Tag = "Druckpaket";
drucknode.TagObject=newpaket;
pakete.Add(newpaket);
treeViewAdv1.Nodes.Add(drucknode);
}
private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
{
TreeNodeAdv node = e.Node;
if (node.Level == 1) {
GrpPaketDetails.Enabled = true;
Versandpaket paket = node.TagObject as Versandpaket;
switch (paket.Versandoption) {
case "1":
rbversandoption1.Checked= true; break;
case "2":
rbversandoption2.Checked= true;break;
case "3":
rbversandoption3.Checked= true;break;
default:
break;
}
//if (paket.GAS.ToString() == "1"){
// chkGAS.Checked= true;
// lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
//} else { chkGAS.Checked= false; }
}
else {
if (tscheckboxpreview.Checked)
{
clsVersandstrasse vs = new clsVersandstrasse();
string dok = vs.Prepare_PDF(node.Tag.ToString(), AppParams.tempdir, AppParams.connectionstring);
var stream = new MemoryStream(Convert.FromBase64String(dok));
this.pdfViewerControl1.Load(stream);
}
GrpPaketDetails.Enabled=false; }
}
private void button1_Click(object sender, EventArgs e)
{
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
if (rbversandoption1.Checked) { paket.Versandoption = "1"; }
if (rbversandoption2.Checked) { paket.Versandoption = "2"; }
if (rbversandoption3.Checked) { paket.Versandoption = "3"; }
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
//if (rbversandoption1.Checked) { paket.Versandoption = "1"; }
//if (rbversandoption2.Checked) { paket.Versandoption = "2"; }
//if (rbversandoption3.Checked) { paket.Versandoption = "3"; }
if (chkGAS.Checked) { paket.GAS = "1"; } else { paket.GAS = "0"; }
//if (chkGAS.Checked) { paket.GAS = "1"; } else { paket.GAS = "0"; }
//try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
paket.verified = true;
treeViewAdv1.SelectedNode.TagObject = paket;
// paket.verified = true;
//treeViewAdv1.SelectedNode.TagObject = paket;
//pakete.paket.Add(paket);
Reload_Tree();
// Reload_Tree();
}
private void btnSend_Click(object sender, EventArgs e)
{
if (serienbrief)
{
clsVersandstrasse vs = new clsVersandstrasse();
foreach (TreeNodeAdv tn in treeViewAdv1.Nodes[0].Nodes)
{
tn.TagObject = vs.Prepare_PDF(tn.Text.ToString(), AppParams.tempdir, AppParams.connectionstring,AppParams.RESTURI,AppParams.apikey,Application.StartupPath,null,sb, tn.Tag.ToString());
}
vs = null;
panelVerify.Visible = true;
return;
}
panelPrepare.Visible = true;
Application.DoEvents();
Cursor = Cursors.WaitCursor;
@@ -307,7 +321,7 @@ namespace OnDoc.Versandstrasse
foreach (Versanddokument vsdok in paket.Dokument)
{
clsVersandstrasse vs = new clsVersandstrasse();
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring,AppParams.RESTURI,AppParams.apikey, Application.StartupPath);
//string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
}
Stream[] streams = new Stream[paket.Dokument.Count];
@@ -320,6 +334,10 @@ namespace OnDoc.Versandstrasse
}
string stapel = save_stapel(ref streams);
paket.finaldoc=stapel;
var finalestream = new MemoryStream(Convert.FromBase64String(stapel));
this.pdfViewerControl1.Load(finalestream);
@@ -364,26 +382,82 @@ namespace OnDoc.Versandstrasse
if (chkGAS.Checked)
{
treeViewAdvAdresse.Enabled= true;
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.GAS = "1";
treeViewAdv1.SelectedNode.TagObject = vp;
}
else
{
treeViewAdvAdresse.Enabled = false;
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.GAS = "";
treeViewAdv1.SelectedNode.TagObject = vp;
}
}
private void btnSendFinal_Click(object sender, EventArgs e)
{
if (serienbrief)
{
Versandpaket svp = treeViewAdv1.Nodes[0].TagObject as Versandpaket ;
foreach (TreeNodeAdv node in treeViewAdv1.Nodes[0].Nodes)
{
svp.finaldoc = node.TagObject.ToString();
svp.send_onbase_doc = true;
string _sqlWhere = @"dokumentid = '"+node.Text+"'";
DataTable _newDataTable = sb.dsempfaenger.Tables[0].Select(_sqlWhere, "").CopyToDataTable();
svp.partnernr = Convert.ToInt32(_newDataTable.Rows[0]["partnernr"].ToString());
Versanddokument vd = new Versanddokument(node.Text,"",svp.partnernr.ToString());
vd.dokument = node.TagObject.ToString();
vd.inteintragnr = Convert.ToInt32(_newDataTable.Rows[0]["inteintragnr"].ToString());
svp.Dokument.Add(vd);
send_vs(ref svp);
}
return;
}
panelVerify.Visible = false;
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.verified = true;
treeViewAdv1.SelectedNode.TagObject = vp;
panelVerify.Visible = false;
SendTo_Versandstrasse();
}
private void SendTo_Versandstrasse()
{
Versandpaket versandpaket = new Versandpaket();
versandpaket = (Versandpaket)treeViewAdv1.SelectedNode.TagObject;
versandpaket.send_onbase_doc = true;
string jsonstring = JsonConvert.SerializeObject(versandpaket);
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.send_onbase_doc = true;
DB db = new DB(AppParams.connectionstring);
string dokumente = "";
foreach (Versanddokument vd in vp.Dokument)
{
dokumente = dokumente + vd.DokumentID + ";";
string sql = "SELECT dbo.dokumenttyp.ErstellungInOffice FROM dbo.dokument INNER JOIN dbo.dokumenttyp ON dbo.dokument.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr WHERE (dbo.dokument.dokumentid = '" + vd.DokumentID + "')";
db.Get_Tabledata(sql, false, true);
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "True")
{
vd.dokument = "";
vp.send_onbase_doc = false;
}
}
db.clear_parameter();
db.add_parameter("@tgnummer", AppParams.currenttgnummer);
db.add_parameter("@partnernr", vp.partnernr.ToString());
db.add_parameter("@gasadresse", vp.GASAdresse);
db.add_parameter("@versandoption", vp.Versandoption);
db.add_parameter("@dokumente", dokumente);
db.Get_Tabledata("Ondoc_Insert_Versandprotokoll", true, false);
db = null;
send_vs(ref vp);
}
private void send_vs(ref Versandpaket vp, bool showmessage = true) {
//vp.send_onbase_doc = true;
string jsonstring = JsonConvert.SerializeObject(vp);
string URL = AppParams.RESTURI + "api/Send_Versandstrasse";
@@ -413,25 +487,13 @@ namespace OnDoc.Versandstrasse
}
if (response.ToString().Contains("*archiviert"))
{
MessageBox.Show("Paket an Versandstrasse übergeben");
if (showmessage)
{
MessageBox.Show("Paket an Versandstrasse übergeben", "Versandstrasse", MessageBoxButtons.OK, MessageBoxIcon.Information);
treeViewAdv1.SelectedNode.Remove();
}
}
//if (response.StatusCode == HttpStatusCode.OK)
//{
// StreamReader reader = new StreamReader(response.GetResponseStream());
// string responseContent = reader.ReadToEnd();
// if (responseContent.Contains("Hinweismeldung:"))
// {
// MessageBox.Show("Das Paket wurde erfolgreich an die Versandstrasse übergeben:" + Environment.NewLine + responseContent);
// treeViewAdv1.SelectedNode.Remove();
// return;
// }
// Logging.DocLog.Info("Dokumentpaket an Versandstrasse übergeben", "OnDoc", versandpaket.partnernr.ToString(), "", "");
//}
//else
//{
// MessageBox.Show("Das Paket konnte nicht an die Versandstrasse übergeben werden." + Environment.NewLine + "Fehler: " + response.StatusDescription);
// Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
//}
}
}
@@ -441,5 +503,106 @@ namespace OnDoc.Versandstrasse
catch { }
}
private void rbapost_CheckedChanged(object sender, EventArgs e)
{
string versandoption = "";
if (rbapost.Checked) { versandoption = "A"; }
if (rbb1post.Checked) { versandoption = "B1"; }
if (rbb2post.Checked) { versandoption = "B2"; }
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket; ;
vp.Versandoption = versandoption;
treeViewAdv1.SelectedNode.TagObject = vp;
}
private void treeViewAdvAdresse_AfterSelect(object sender, EventArgs e)
{
try
{
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow;
DataRow dr2 = treeViewAdvAdresse.SelectedNode.TagObject as DataRow;
vp.GASAdresse = dr2["einzeilig"].ToString();
treeViewAdv1.SelectedNode.TagObject = vp;
}
catch { }
}
private void treeViewAdvAdresse_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
{
try
{
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow;
DataRow dr2 = treeViewAdvAdresse.SelectedNode.TagObject as DataRow;
vp.GASAdresse = dr2["einzeilig"].ToString();
treeViewAdv1.SelectedNode.TagObject = vp;
}
catch { }
}
private void treeViewAdv1_AfterSelect(object sender, EventArgs e)
{
TreeNodeAdv node = treeViewAdv1.SelectedNode;
if (node.Level == 1)
{
GrpPaketDetails.Enabled = true;
Versandpaket paket = node.TagObject as Versandpaket; ;
switch (paket.Versandoption)
{
case "A":
rbapost.Checked = true; break;
case "B1":
rbb1post.Checked = true; break;
case "B2":
rbb2post.Checked = true; break;
default:
rbb2post.Checked = true; break;
}
if (paket.GAS != "")
{
this.chkGAS.Checked = true;
}
else
{ this.chkGAS.Checked = false; }
if (paket.GASAdresse.ToString() != "")
{
foreach (TreeNodeAdv tn in treeViewAdvAdresse.Nodes)
{
if (tn.Text == paket.GASAdresse) { treeViewAdvAdresse.SelectedNode = tn; }
}
}
}
else
{
if (tscheckboxpreview.Checked)
{
clsVersandstrasse vs = new clsVersandstrasse();
string dok = "";
if (serienbrief)
{
dok = vs.Prepare_PDF(node.Text.ToString(), AppParams.tempdir, AppParams.connectionstring,AppParams.RESTURI,AppParams.apikey, Application.StartupPath, null, sb, node.Tag.ToString());
}
else
{
dok = vs.Prepare_PDF(node.Tag.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath);
}
var stream = new MemoryStream(Convert.FromBase64String(dok));
this.pdfViewerControl1.Load(stream);
}
GrpPaketDetails.Enabled = false;
}
}
}
}