update 20250324

This commit is contained in:
Stefan Hutter
2025-03-24 21:19:13 +01:00
parent 9651721aa0
commit c767e2ed82
184 changed files with 908767 additions and 445 deletions

View File

@@ -19,16 +19,18 @@ using Versandstrasse;
using System.IO;
using Syncfusion.Pdf;
using Database;
using System.Net;
using Newtonsoft.Json;
namespace OnDoc.Versandstrasse
{
public partial class Versandstrasse : SfForm
{
private Versandpakete pakete = new Versandpakete();
private List<Versandpaket> pakete = new List<Versandpaket>();
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker = null;
private TreeNodeAdv currentSourceNode;
public Versandstrasse(Versandpakete pakete)
public Versandstrasse(List<Versandpaket> pakete)
{
InitializeComponent();
this.treeViewAdv1.AutoScrolling = ScrollBars.Both;
@@ -44,24 +46,43 @@ namespace OnDoc.Versandstrasse
this.pakete = pakete;
}
private void load_adressen()
{
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from Antwortadresse order by bezeichnung", false, true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
TreeNodeAdv node = new TreeNodeAdv();
node.Text = dr["bezeichnung"].ToString();
node.TagObject = dr;
treeViewAdvAdresse.Nodes.Add(node);
}
treeViewAdvAdresse.Enabled = false;
treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0];
}
private void Versandstrasse_Load(object sender, EventArgs e)
{
load_adressen();
Reload_Tree();
}
private void Reload_Tree() {
treeViewAdv1.Nodes.Clear();
TreeNodeAdv DruckJob;
for (int i = 0; i < pakete.paket.Count; i++)
DB db = new DB(AppParams.connectionstring);
for (int i = 0; i < pakete.Count; i++)
{
db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + pakete[i].partnernr.ToString(), false, true);
DruckJob = new TreeNodeAdv();
DruckJob.Text = "Druckpaket " + pakete.paket[i].PaketNr;
DruckJob.Text = "Druckpaket " + pakete[i].PaketNr.ToString()+" - " + db.dsdaten.Tables[0].Rows[0][0].ToString();
DruckJob.Tag = "Druckpaket";
DruckJob.TagObject = pakete.paket[i];
DruckJob.TagObject = pakete[i];
treeViewAdv1.Nodes.Add(DruckJob);
PopulateDocs(pakete.paket[i], ref DruckJob);
PopulateDocs(pakete[i], ref DruckJob);
}
db = null;
treeViewAdv1.ExpandAll();
}
@@ -241,10 +262,10 @@ namespace OnDoc.Versandstrasse
break;
}
if (paket.GAS.ToString() == "1"){
chkGAS.Checked= true;
lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
} else { chkGAS.Checked= false; }
//if (paket.GAS.ToString() == "1"){
// chkGAS.Checked= true;
// lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
//} else { chkGAS.Checked= false; }
}
else {
if (tscheckboxpreview.Checked)
@@ -266,7 +287,7 @@ namespace OnDoc.Versandstrasse
if (rbversandoption3.Checked) { paket.Versandoption = "3"; }
if (chkGAS.Checked) { paket.GAS = "1"; } else { paket.GAS = "0"; }
try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
//try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
paket.verified = true;
treeViewAdv1.SelectedNode.TagObject = paket;
//pakete.paket.Add(paket);
@@ -277,36 +298,50 @@ namespace OnDoc.Versandstrasse
private void btnSend_Click(object sender, EventArgs e)
{
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
foreach (Versanddokument vsdok in paket.Dokument)
panelPrepare.Visible = true;
Application.DoEvents();
Cursor = Cursors.WaitCursor;
try
{
clsVersandstrasse vs = new clsVersandstrasse();
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
//string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
}
Stream[] streams = new Stream[paket.Dokument.Count];
int i = 0;
foreach (Versanddokument vsdok in paket.Dokument)
{
var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
streams[i] = stream;
i++;
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
foreach (Versanddokument vsdok in paket.Dokument)
{
clsVersandstrasse vs = new clsVersandstrasse();
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
//string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
}
Stream[] streams = new Stream[paket.Dokument.Count];
int i = 0;
foreach (Versanddokument vsdok in paket.Dokument)
{
var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
streams[i] = stream;
i++;
}
string stapel = save_stapel(ref streams);
var finalestream = new MemoryStream(Convert.FromBase64String(stapel));
this.pdfViewerControl1.Load(finalestream);
for (int i1 = 0; i1 < streams.Length; i1++)
{
streams[i1].Close();
streams[i1].Dispose();
streams[i1] = null;
}
streams = null;
treeViewAdv1.SelectedNode.TagObject = paket;
panelVerify.Visible = true;
}
catch { }
panelPrepare.Visible = false;
Cursor = Cursors.Default;
Application.DoEvents();
string stapel = save_stapel(ref streams);
var finalestream = new MemoryStream(Convert.FromBase64String(stapel));
this.pdfViewerControl1.Load(finalestream);
for (int i1 = 0; i1 < streams.Length; i1++)
{
streams[i1].Close();
streams[i1].Dispose();
streams[i1] = null;
}
streams = null;
}
private string save_stapel(ref Stream[] streams)
{
try
@@ -323,5 +358,88 @@ namespace OnDoc.Versandstrasse
}
catch { return ""; }
}
private void chkGAS_CheckedChanged(object sender, EventArgs e)
{
if (chkGAS.Checked)
{
treeViewAdvAdresse.Enabled= true;
}
else
{
treeViewAdvAdresse.Enabled = false;
}
}
private void btnSendFinal_Click(object sender, EventArgs e)
{
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);
string URL = AppParams.RESTURI + "api/Send_Versandstrasse";
panelVerify.Visible = false;
WebRequest request;
var data = Encoding.UTF8.GetBytes(jsonstring);
request = WebRequest.Create(URL);
request.ContentLength = data.Length;
request.ContentType = "application/json";
request.Method = "POST";
request.Headers["Authorization"] = "Bearer " + AppParams.apikey;
string response;
try
{
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
requestStream.Close();
using (Stream responseStream = request.GetResponse().GetResponseStream())
{
using (var reader = new StreamReader(responseStream))
{
response = reader.ReadToEnd();
}
if (response.ToString().Contains("*archiviert"))
{
MessageBox.Show("Paket an Versandstrasse übergeben");
}
//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", "");
//}
}
}
return;
}
catch { }
}
}
}