update 20250326
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user