update 20250413

This commit is contained in:
Stefan Hutter
2025-04-13 13:47:09 +02:00
parent 2ac3265dcd
commit a65bc81881
41 changed files with 1878 additions and 164 deletions

View File

@@ -50,30 +50,61 @@ namespace OnDoc.Versandstrasse
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo);
this.pakete = pakete;
this.serienbrief = pakete[0].isSerienbrief;
if (serienbrief)
{
this.tsbtnDruckPaketNew.Enabled = false;
this.TabControlDokuments.TabPages[1].Enabled = false;
this.sb = pakete[0].sb;
this.btnPrepare.Text = "Versand prüfen";
}
else
{
tsbtnDruckPaketNew.Enabled = true;
}
}
private void load_adressen()
{
bool hasprivateaddresses = false;
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from Antwortadresse_mitarbeiter order by reihenfolge", false, true);
if (db.dsdaten.Tables[0].Rows.Count > 0)
{
hasprivateaddresses = 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);
}
TreeNodeAdv stdnode = new TreeNodeAdv();
stdnode.Text = "Standard-Adressen";
treeViewAdvAdresse.Nodes.Add(stdnode);
treeViewAdvAdresse.SelectedNode = stdnode;
}
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);
if (hasprivateaddresses) { treeViewAdvAdresse.SelectedNode.Nodes.Add(node); } else { treeViewAdvAdresse.Nodes.Add(node); }
}
treeViewAdvAdresse.Enabled = false;
treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0];
treeViewAdvAdresse.Enabled = false;
db = null;
}
private void Versandstrasse_Load(object sender, EventArgs e)
{
Reload_Tree();
load_adressen();
}
@@ -101,14 +132,19 @@ namespace OnDoc.Versandstrasse
DruckJob = new TreeNodeAdv();
DruckJob.Text = "Versand-Couvert - " + db.dsdaten.Tables[0].Rows[0][0].ToString();
DruckJob.Tag = "Druckpaket";
//pakete[i].partnernr = i;
DruckJob.TagObject = pakete[i];
set_nodeimage(DruckJob, 0);
treeViewAdv1.Nodes.Add(DruckJob);
PopulateDocs(pakete[i], ref DruckJob);
}
db = null;
db.Get_Tabledata("Select * from [applikation] where applikationsnr = 1", false, true);
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["Showlogin"]) == true) { button3.Visible = true; } else { button3.Visible = false; }
db = null;
treeViewAdv1.ExpandAll();
foreach (TreeNodeAdv node in treeViewAdv1.Nodes)
{
@@ -131,9 +167,15 @@ namespace OnDoc.Versandstrasse
}
private bool Verify_Couvert(TreeNodeAdv node)
{
DB db = new DB(AppParams.connectionstring);
Versandpaket vp = node.TagObject as Versandpaket;
if (vp.isSerienbrief)
{
set_nodeimage(node, 1);
return true;
}
DB db = new DB(AppParams.connectionstring);
if (vp.partnernr == 0 && node.Nodes.Count==1)
{
TreeNodeAdv tn = node.Nodes[0];
@@ -143,6 +185,10 @@ namespace OnDoc.Versandstrasse
}
if (chkGAS.Checked && txtadresse.Text == "")
{
return false;
}
int currentbp = vp.partnernr;
//node.LeftImageIndices = new int[] { 0 };
int nodecounter = 0;
@@ -204,13 +250,11 @@ namespace OnDoc.Versandstrasse
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)
foreach (Versanddokument vd in pakete[0].Dokument)
{
TreeNodeAdv tn = new TreeNodeAdv();
tn.Text = dr["dokumentid"].ToString();
tn.Tag = dr["dokument"].ToString();
tn.Text = vd.DokumentID + " - " + vd.Bezeichnung;
tn.Tag = vd.dokument;
set_nodeimage(tn, 3);
treeViewAdv1.Nodes[0].Nodes.Add(tn);
}
@@ -225,6 +269,7 @@ namespace OnDoc.Versandstrasse
dokumentnode.Text = paket.Dokument[i].Bezeichnung + " (" + paket.Dokument[i].Partnernr + ")";
dokumentnode.Tag = paket.Dokument[i].DokumentID;
dokumentnode.TagObject = paket.Dokument[i];
reserve_vs_dokument(dokumentnode.Tag.ToString(), 3);
db.Get_Tabledata("SELECT dbo.dokument.dokumentid, isnull(dbo.dokumenttyp.Versandstrasse_moeglich,0) as vsm, isnull(dbo.dokumenttyp.versandstrasse_firstdoc,0) as firstdoc FROM dbo.dokument INNER JOIN " +
" dbo.dokumenttyp ON dbo.dokument.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr where dbo.dokument.dokumentid='" + dokumentnode.Tag + "'", false, true);
@@ -402,7 +447,7 @@ namespace OnDoc.Versandstrasse
private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
@@ -424,6 +469,7 @@ namespace OnDoc.Versandstrasse
private void btnSend_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
if (serienbrief)
{
clsVersandstrasse vs = new clsVersandstrasse();
@@ -432,10 +478,16 @@ namespace OnDoc.Versandstrasse
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;
panelVerify.Visible = false;
panelverifysb.Visible = true;
btnsendserienbrief.Visible = true;
btnSendFinal.Visible = false;
return;
}
panelPrepare.Visible = true;
panelverifysb.Visible = false;
btnsendserienbrief.Visible = false;
btnSendFinal.Visible = true;
Application.DoEvents();
Cursor = Cursors.WaitCursor;
try
@@ -532,6 +584,9 @@ namespace OnDoc.Versandstrasse
if (chkGAS.Checked)
{
treeViewAdvAdresse.Enabled = true;
treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0];
treeViewAdvAdresse_AfterSelect(sender, e);
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.GAS = "1";
treeViewAdv1.SelectedNode.TagObject = vp;
@@ -550,6 +605,7 @@ namespace OnDoc.Versandstrasse
direktversenden = true;
btnSendFinal_Click(sender, e);
direktversenden = false;
this.panelVerify.Visible = false;
}
private void btnSendFinal_Click(object sender, EventArgs e)
@@ -559,14 +615,16 @@ namespace OnDoc.Versandstrasse
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 + "'";
string _sqlWhere = @"dokumentid = '" + node.Text.Substring(0,22) + "'";
string dokumentid = node.Text.Substring(0, 22);
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());
Versanddokument vd = new Versanddokument(dokumentid, "", svp.partnernr.ToString());
vd.dokument = node.TagObject.ToString();
vd.inteintragnr = Convert.ToInt32(_newDataTable.Rows[0]["inteintragnr"].ToString());
@@ -583,7 +641,9 @@ namespace OnDoc.Versandstrasse
db = null;
send_vs(ref svp, false);
}
pdfViewerControl1.Unload();
return;
}
panelVerify.Visible = false;
@@ -591,8 +651,10 @@ namespace OnDoc.Versandstrasse
vp.verified = true;
treeViewAdv1.SelectedNode.TagObject = vp;
panelVerify.Visible = false;
pakete.Remove(vp);
SendTo_Versandstrasse();
pdfViewerControl1.Unload();
}
private void SendTo_Versandstrasse()
@@ -601,6 +663,8 @@ namespace OnDoc.Versandstrasse
vp.send_onbase_doc = true;
DB db = new DB(AppParams.connectionstring);
string dokumente = "";
if (vp.Dokument.Count > 1) { vp.send_onbase_doc = false; }
else {
foreach (Versanddokument vd in vp.Dokument)
{
dokumente = dokumente + vd.DokumentID + ";";
@@ -612,6 +676,7 @@ namespace OnDoc.Versandstrasse
vp.send_onbase_doc = false;
}
}
}
db.clear_parameter();
db.add_parameter("@tgnummer", AppParams.currenttgnummer);
db.add_parameter("@partnernr", vp.partnernr.ToString());
@@ -624,7 +689,7 @@ namespace OnDoc.Versandstrasse
send_vs(ref vp);
}
private void send_vs(ref Versandpaket vp, bool showmessage = true, bool direktversenden = false)
private void send_vs(ref Versandpaket vp, bool showmessage = true)
{
string jsonstring = JsonConvert.SerializeObject(vp);
@@ -728,8 +793,24 @@ namespace OnDoc.Versandstrasse
vp.GASAdresse = dr2["einzeilig"].ToString();
treeViewAdv1.SelectedNode.TagObject = vp;
txtadresse.Text = "";
txtadresse.Text = dr["zeile1"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile2"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile3"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile4"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile5"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile6"].ToString() + Environment.NewLine;
try
{
txtadresse.Text = txtadresse.Text + dr["zeile7"].ToString() + Environment.NewLine;
}
catch { }
}
catch {
txtadresse.Text = "";
}
catch { }
}
@@ -751,9 +832,11 @@ namespace OnDoc.Versandstrasse
{
try
{
Cursor.Current = Cursors.WaitCursor;
TreeNodeAdv node = treeViewAdv1.SelectedNode;
if (node.Level == 1)
{
if (Verify_Couvert(node) == false)
{
GrpPaketDetails.Enabled = false;
@@ -798,12 +881,12 @@ namespace OnDoc.Versandstrasse
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());
dok = vs.Prepare_PDF(node.Text.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath, null, sb, node.Tag.ToString(), this.tschkcouvertpos.Checked);
}
else
{
dok = vs.Prepare_PDF(node.Tag.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath);
dok = vs.Prepare_PDF(node.Tag.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath, null,null,"",this.tschkcouvertpos.Checked);
}
var stream = new MemoryStream(Convert.FromBase64String(dok));
@@ -814,6 +897,7 @@ namespace OnDoc.Versandstrasse
}
}
catch { }
finally { Cursor.Current=Cursors.Default; }
}
private void button2_Click(object sender, EventArgs e)
@@ -895,11 +979,32 @@ namespace OnDoc.Versandstrasse
}
db = null;
pdfViewerControl2.Unload();
Refresh_VersandCouverts();
}
private void versandCouvertÖffnenbearbeitenToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewAdvCouverts.SelectedNode.Level != 1) { return; }
int id = Convert.ToInt32(treeViewAdvCouverts.SelectedNode.Tag);
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from Ondoc_Versandstrasse_Paket where id=" +id.ToString(), false, true);
Versandpaket vp = JsonConvert.DeserializeObject<Versandpaket>(db.dsdaten.Tables[0].Rows[0]["Paket"].ToString());
pakete.Add(vp);
foreach (TreeNodeAdv tn in treeViewAdvCouverts.SelectedNodes)
{
db.Exec_SQL("Update ondoc_versandstrasse_paket set geloescht=getdate(), aktiv=0, geloescht_durch=" + AppParams.CurrentMitarbeiter.ToString() + " where id=" + id.ToString());
}
db = null;
treeViewAdvCouverts.Nodes.Remove(treeViewAdvCouverts.SelectedNode);
pdfViewerControl2.Unload();
Reload_Tree();
this.TabControlDokuments.SelectedIndex = 0;
}
@@ -911,8 +1016,9 @@ namespace OnDoc.Versandstrasse
if (node.Level > 1)
{
node = node.Parent;
treeViewAdv1.SelectedNode.Remove();
reserve_vs_dokument(node.Tag.ToString(), 2);
treeViewAdv1.SelectedNode.Remove();
Verify_Couvert(node);
}
else
@@ -937,5 +1043,54 @@ namespace OnDoc.Versandstrasse
db.Get_Tabledata("Ondoc_Handle_Versandstrasse_Reserved_Dokcuments", true, false);
db = null;
}
private void tschkcouvertpos_CheckedChanged(object sender, EventArgs e)
{
treeViewAdv1_AfterSelect(sender, e);
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
if (treeViewAdv1.SelectedNode.Level>1 && treeViewAdv1.SelectedNode.Parent.Text.Contains("Serienbrief"))
{
löschenToolStripMenuItem.Enabled = false;
}
else
{
löschenToolStripMenuItem.Enabled = true;
}
}
private void btnsendserienbrief_Click(object sender, EventArgs e)
{
direktversenden = true;
btnSendFinal_Click(sender, e);
direktversenden = false;
this.panelverifysb.Visible = false;
}
private void button5_Click(object sender, EventArgs e)
{
this.panelverifysb.Visible = false;
}
private void tsbtnpreviewdoc_Click(object sender, EventArgs e)
{
tscheckboxpreview.Checked=tsbtnpreviewdoc.Checked;
if (tsbtnpreviewdoc.Checked == false)
{
this.pdfViewerControl1.Unload();
}
else
{
treeViewAdv1_AfterSelect(sender, e);
}
}
private void tsbtncheckaddress_Click(object sender, EventArgs e)
{
tschkcouvertpos.Checked=tsbtncheckaddress.Checked;
treeViewAdv1_AfterSelect(sender, e);
}
}
}