update 20241210

This commit is contained in:
Stefan Hutter
2024-12-10 20:36:02 +01:00
parent 8ade484063
commit 2c42687a40
191 changed files with 71919 additions and 482 deletions

View File

@@ -40,6 +40,7 @@ using Windows.Perception.Spatial;
using static Model.OnBaseDocUpload;
using static BroadcastListener.Classes.Factory;
using Microsoft.Office.Interop.Excel;
using Microsoft.SqlServer.Server;
namespace OnDoc.UIControls
@@ -94,7 +95,7 @@ namespace OnDoc.UIControls
{
if (message == "BtnSBVorschau")
{
if (sender.SenderName=="Serienbriefbearbeitung")
if (sender.SenderName == "Serienbriefbearbeitung")
{
string[] details = sender.Function.Split(' ');
foreach (System.Data.DataRow dr in sb.dsempfaenger.Tables[0].Rows)
@@ -102,7 +103,7 @@ namespace OnDoc.UIControls
if (dr[0].ToString() == details[0].ToString())
{
IsPreview = true;
PreviewFiename = sender.Details.ToString()+".tmp";
PreviewFiename = sender.Details.ToString() + ".tmp";
ribbonbuttonsave_Click(sender, null);
Generate(Convert.ToInt32(dr["intEintragnr"]));
System.IO.File.Delete(PreviewFiename);
@@ -112,7 +113,7 @@ namespace OnDoc.UIControls
}
}
}
if (message== "BtnSBVorschauSave")
if (message == "BtnSBVorschauSave")
{
ribbonbuttonsave_Click(sender, null);
}
@@ -130,7 +131,7 @@ namespace OnDoc.UIControls
ribbonbuttonsave.Enabled = false;
ribbonButtonDelete.Enabled = false;
RibbonButtonExcelImport.Enabled = false;
ribbonbuttonaddpartner.Enabled= false;
ribbonbuttonaddpartner.Enabled = false;
ribbonButtonPartnerPruefen.Enabled = false;
ribbonButtonVorlageBearbeiten.Enabled = false;
ribbonbuttonaddpartner.Enabled = false;
@@ -233,6 +234,7 @@ namespace OnDoc.UIControls
private void RibbonButtonExcelImport_Click(object sender, EventArgs e)
{
System.Data.DataTable importdata = new System.Data.DataTable();
openFileDialog1.Filter = "Excel-Dateien files (*.xlsx)|*.xlsx|CSV-Dateien (*.csv)|*.csv|Alle Dateien (*.*)|*.*";
openFileDialog1.FilterIndex = 0;
@@ -262,7 +264,7 @@ namespace OnDoc.UIControls
MessageBox.Show("Die ausgewählten Daten können nicht verwendet werden.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (importdata.Columns[0].Caption.ToUpper() != "PARTNERNR")
if (importdata.Columns[0].Caption != "Partnernr")
{
MessageBox.Show("Die importierten Daten enthalten keine Spalte 'Partnernr'. Der Vorgang wird abgebrochen.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
importdata.Rows.Clear();
@@ -270,6 +272,14 @@ namespace OnDoc.UIControls
return;
}
DB dB = new DB(AppParams.connectionstring);
if (sb.dsempfaenger.Tables[0].Rows.Count == 1)
{
if (sb.dsempfaenger.Tables[0].Rows[0]["Partnernr"].ToString().Trim() == "")
{
sb.dsempfaenger.Tables[0].Rows[0].Delete();
sb.dsempfaenger.AcceptChanges();
}
}
//sb.dsempfaenger.Tables[0].Rows.Clear();
bool found = false;
foreach (System.Data.DataColumn dc in importdata.Columns)
@@ -288,11 +298,11 @@ namespace OnDoc.UIControls
}
catch { }
}
}
importdata.AcceptChanges();
found=false;
found = false;
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
{
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
@@ -312,7 +322,14 @@ namespace OnDoc.UIControls
r1[col.ColumnName] = dr[col.ColumnName];
}
catch { r1[col.ColumnName] = ""; }
catch
{
try
{
r1["$$" + col.ColumnName + "$$"] = dr[col.ColumnName];
}
catch { r1[col.ColumnName] = ""; }
}
}
r1["STATUS"] = 0;
@@ -325,11 +342,19 @@ namespace OnDoc.UIControls
//}
//catch { }
dB.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + r1[0].ToString(), false, true);
if (dB.dsdaten.Tables[0].Rows.Count < 1) r1["Fehlercode"] = 1; else r1["fehlercode"] = 0;
r1[1] = dB.dsdaten.Tables[0].Rows[0][0].ToString();
sb.dsempfaenger.Tables[0].Rows.Add(r1);
try
{
if (dB.dsdaten.Tables[0].Rows.Count > 0)
{
if (dB.dsdaten.Tables[0].Rows.Count < 1) r1["Fehlercode"] = 1; else r1["fehlercode"] = 0;
r1[1] = dB.dsdaten.Tables[0].Rows[0][0].ToString();
sb.dsempfaenger.Tables[0].Rows.Add(r1);
}
}
catch { }
}
dB = null;
Partnerliste_Pruefen();
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
finish_progress();
@@ -349,39 +374,44 @@ namespace OnDoc.UIControls
{
// sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = false;
}
catch {
catch
{
sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr");
}
sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = true;
sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
sfDataGridEmpfaenger.Columns["DOKUMENT_GEDRUCKT"].Visible = false;
sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = true;
sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false;
sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false;
sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false;
sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
sfDataGridEmpfaenger.Columns["Zustelladresse"].Visible = false;
sfDataGridEmpfaenger.Columns["Briefanrede1"].Visible = false;
sfDataGridEmpfaenger.Columns["Briefanrede2"].Visible = false;
sfDataGridEmpfaenger.Columns["Anrede"].Width = 0;
sfDataGridEmpfaenger.Columns["Name"].Visible = false;
sfDataGridEmpfaenger.Columns["Vorname"].Visible = false;
sfDataGridEmpfaenger.Columns["Strasse"].Visible = false;
sfDataGridEmpfaenger.Columns["PLZ"].Visible = false;
sfDataGridEmpfaenger.Columns["Ort"].Visible = false;
sfDataGridEmpfaenger.AutoSizeColumnsMode = Syncfusion.WinForms.DataGrid.Enums.AutoSizeColumnsMode.AllCells;
try
{
sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = true;
//sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
sfDataGridEmpfaenger.Columns["DOKUMENT_GEDRUCKT"].Visible = false;
sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = true;
sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false;
sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false;
sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false;
sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
sfDataGridEmpfaenger.Columns["Zustelladresse"].Visible = false;
sfDataGridEmpfaenger.Columns["Briefanrede1"].Visible = false;
sfDataGridEmpfaenger.Columns["Briefanrede2"].Visible = false;
sfDataGridEmpfaenger.Columns["Anrede"].Width = 0;
sfDataGridEmpfaenger.Columns["Name"].Visible = false;
sfDataGridEmpfaenger.Columns["Vorname"].Visible = false;
sfDataGridEmpfaenger.Columns["Strasse"].Visible = false;
sfDataGridEmpfaenger.Columns["PLZ"].Visible = false;
sfDataGridEmpfaenger.Columns["Ort"].Visible = false;
sfDataGridEmpfaenger.AutoSizeColumnsMode = Syncfusion.WinForms.DataGrid.Enums.AutoSizeColumnsMode.AllCells;
}
catch { }
}
private void init_empfaenger(int serienbriefnr)
{
Database.DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select dbo.BinaryToBase64(xmldata) as Data from edex_sb_empfaenger where serienbriefnr=" + serienbriefnr.ToString(), false, true);
Base64Helper bh = new Base64Helper();
bh.Base64 = db.dsdaten.Tables[0].Rows[0][0].ToString();
string xml = bh.DecodeBase64();
string filename = AppParams.tempdir + @"\"+sb.serienbriefnr.ToString()+".xml";
string filename = AppParams.tempdir + @"\" + sb.serienbriefnr.ToString() + ".xml";
System.IO.File.WriteAllText(filename, xml);
//dsempfaenger.Tables.Clear();
//dsempfaenger.ReadXml(filename);
@@ -411,7 +441,7 @@ namespace OnDoc.UIControls
this.sb = new serienbrief();
sb.dokumenttypnr = DokTypSelect.dokumenttypnr;
update_serienbrief_details(true, sb.dokumenttypnr, 0);
init_empfaenger(0);
init_empfaenger(-1);
vorlagenfelder(sb.dokumenttypnr);
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
update_screen();
@@ -433,7 +463,7 @@ namespace OnDoc.UIControls
panelLoad.Visible = false;
Logging.Logging.Debug(ex.Message, "OnDoc", "SB Error");
}
}
else
{
@@ -444,7 +474,7 @@ namespace OnDoc.UIControls
private void vorlage_auslesen_und_speichern()
{
DOCGEN.DocGet dg = new DOCGEN.DocGet(AppParams.connectionstring);
string filedata = dg.get_word_vorlage(sb.officevorlagenr);
@@ -455,7 +485,7 @@ namespace OnDoc.UIControls
dB.Get_ApplicationType_from_Vorlage(sb.officevorlagenr);
string Apptype = "";
Apptype = dB.dsdaten.Tables[0].Rows[0][1].ToString();
string filename = AppParams.tempdir+sb.serienbriefnr.ToString() + "." + Apptype;
string filename = AppParams.tempdir + sb.serienbriefnr.ToString() + "." + Apptype;
fh.SaveBase64ToFile(filedata, filename);
sb.filename = filename;
}
@@ -481,7 +511,7 @@ namespace OnDoc.UIControls
//dB.Save_To_DB("", "", filedata, sb.serienbriefnr);
//sb.filename = dB.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
//// sb.filename = dB.save_sb_vorlage_to_db(filename, Apptype, sb.serienbriefnr);
private void vorlagenfelder(int dokumenttypnr)
{
DB db = new DB(AppParams.connectionstring);
@@ -549,9 +579,9 @@ namespace OnDoc.UIControls
db.Get_Tabledata("Select bezeichnung,office_vorlagenr, isnull(vertrag,0) as vertrag, isnull(physisches_archiv,0) as archiv from dokumenttyp where dokumenttypnr=" + sb.dokumenttypnr.ToString(), false, true);
sb.bezeichnung = db.dsdaten.Tables[0].Rows[0][0].ToString();
sb.officevorlagenr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]);
sb.vertrag= Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][2]);
db.Get_Tabledata("Select beschreibung from physischesarchiv where phyischesarchivnr = " + db.dsdaten.Tables[0].Rows[0][3].ToString(),false,true);
sb.vertrag = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][2]);
db.Get_Tabledata("Select beschreibung from physischesarchiv where physischesarchivnr = " + db.dsdaten.Tables[0].Rows[0][3].ToString(), false, true);
sb.barcode_zusatz = db.dsdaten.Tables[0].Rows[0][0].ToString();
if (sb.barcode_zusatz != "") { sb.barcode_zusatz = " / " + sb.barcode_zusatz; }
}
@@ -580,7 +610,8 @@ namespace OnDoc.UIControls
{
sb.faksimile_unterschrfit = "False";
}
} catch { sb.faksimile_unterschrfit = "False"; }
}
catch { sb.faksimile_unterschrfit = "False"; }
try { sb.team = Convert.ToInt32(cbboxteam.SelectedValue.ToString()); } catch { sb.team = 0; }
sb.archivdatum = Convert.ToDateTime(DateDokumentDatum.Value);
sb.dokumentdatum = Convert.ToDateTime(DateDokumentDatum.Value);
@@ -594,8 +625,6 @@ namespace OnDoc.UIControls
else { db.save_sb_vorlage_to_db(PreviewFiename, "", sb.serienbriefnr); }
}
private void update_zahlen()
{
try
@@ -605,7 +634,9 @@ namespace OnDoc.UIControls
int fehlerhaft = 0;
int generiert = 0;
int abgeschlossen = 0;
sb.dsempfaenger.AcceptChanges();
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
dv.RowFilter = "Status = 0";
treeViewAdv1.Nodes[0].Text = "In Bearbeitung (" + dv.Count.ToString() + ")";
@@ -624,14 +655,14 @@ namespace OnDoc.UIControls
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
update_grid();
enable_disable_functions(2,false);
enable_disable_functions(2, false);
if (inbearbeitung > 0) { RibbonButtonGenerateSB.Enabled = true; }
if (fehlerhaft == 0 && inbearbeitung == 0 && generiert > 0)
{
RibbonButtonArchivierenUndAbschlessen.Enabled = true;
ribbonButtonDruckstapel.Enabled = true;
}
enable_disable_functions(3, true);
if (generiert > 0 || abgeschlossen > 0)
{
@@ -642,7 +673,7 @@ namespace OnDoc.UIControls
catch { }
}
private void treeViewAdv1_AfterSelect(object sender, EventArgs e)
{
update_grid();
@@ -673,7 +704,7 @@ namespace OnDoc.UIControls
sfDataGridEmpfaenger.DataSource = dv;
refresh_spalten();
enable_disable_functions(4, false);
break;
case "Gener":
dv.RowFilter = "Status = 1";
@@ -717,7 +748,7 @@ namespace OnDoc.UIControls
System.Windows.Forms.Application.DoEvents();
}
@@ -726,7 +757,8 @@ namespace OnDoc.UIControls
{
open_sb(selectedsbnr);
}
private void open_sb(int serienbriefnr) {
private void open_sb(int serienbriefnr)
{
DB db = new DB(AppParams.connectionstring);
sb = new serienbrief();
sb.dsempfaenger = new DataSet();
@@ -741,7 +773,7 @@ namespace OnDoc.UIControls
sb.barcode_type = db.dsdaten.Tables[0].Rows[0]["barcodetype"].ToString();
sb.barcode_content = db.dsdaten.Tables[0].Rows[0]["datamatrixcontent"].ToString();
string sql = "";
@@ -758,9 +790,9 @@ namespace OnDoc.UIControls
}
sb.barcode_font = AppParams.barcodefont;
sb.barcode_fontsize = AppParams.barcodefontsize;
sb.barcode_textposition=AppParams.barcodetextposition;
sb.barcode_textposition = AppParams.barcodetextposition;
sb.barcode_zusatz = "";
sb.filename = db.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
pnlLoad.Visible = false;
@@ -779,9 +811,9 @@ namespace OnDoc.UIControls
DateDokumentDatum.Value = sb.archivdatum;
switch (sb.ppfaktura)
{
case 0:rbppohne.Checked = true;break;
case 1: rbppa.Checked = true;break;
case 2:rbbpb.Checked = true;break;
case 0: rbppohne.Checked = true; break;
case 1: rbppa.Checked = true; break;
case 2: rbbpb.Checked = true; break;
}
if (sb.zustaendig == -1)
{
@@ -814,7 +846,7 @@ namespace OnDoc.UIControls
var dataRow = (e.DataRow.RowData as DataRowView).Row;
selectedsbnr = Convert.ToInt32(dataRow["serienbriefnr"].ToString());
}
catch { }
catch { }
}
@@ -958,9 +990,9 @@ namespace OnDoc.UIControls
.Where(gr => gr.Count() > 1)
.Select(g => g.Key);
string check_duplicates = "";
foreach(var dup in duplicates)
foreach (var dup in duplicates)
{
if (check_duplicates!="") { check_duplicates = check_duplicates + ", "; }
if (check_duplicates != "") { check_duplicates = check_duplicates + ", "; }
check_duplicates = check_duplicates + dup.ToString();
}
if (check_duplicates != "")
@@ -974,8 +1006,10 @@ namespace OnDoc.UIControls
if (sb.dsempfaenger.Tables[0].Columns.Count > 20) { check_zwingende_felder(); }
finish_progress();
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
if (msg != "") { MessageBox.Show(msg, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
if (msg != "")
{
MessageBox.Show(msg, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
return true;
}
@@ -1024,9 +1058,9 @@ namespace OnDoc.UIControls
System.Data.DataTable vorlagendaten = new System.Data.DataTable();
private void RibbonButtonGenerateSB_Click(object sender, EventArgs e)
{
ribbonbuttonsave_Click(sender, e);
if (!Partnerliste_Pruefen()){ return; }
if (!Partnerliste_Pruefen()) { return; }
Generate();
}
private void Generate(int vorschauid = 0)
@@ -1044,9 +1078,12 @@ namespace OnDoc.UIControls
{
Helper.FileHelper fh = new FileHelper();
sb.VorlageBase64 = fh.Base64FromFile(PreviewFiename);
} else {
string fn = dB.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
sb.VorlageBase64 = dB.dsdaten.Tables[0].Rows[0][0].ToString(); }
}
else
{
string fn = dB.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
sb.VorlageBase64 = dB.dsdaten.Tables[0].Rows[0][0].ToString();
}
sb.DocValues = new List<clsDocValue>();
@@ -1405,7 +1442,7 @@ namespace OnDoc.UIControls
}
clsDocValue dv = new clsDocValue();
dv.TMBeginn = beginntextmarke; ;
dv.TMEnd = endetextmarke;
dv.Value = feldwert;
@@ -1601,7 +1638,7 @@ namespace OnDoc.UIControls
{
add_progress();
System.Data.DataRow dr = rowView.Row;
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr["Dokumentid"].ToString()+"'", false, true);
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr["Dokumentid"].ToString() + "'", false, true);
var stream = new MemoryStream(Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0][0].ToString()));
if (stream.Length > 0)
{
@@ -1726,7 +1763,7 @@ namespace OnDoc.UIControls
onbasedoc.attributes = new List<Model.OnBaseDocUpload.attribute>();
foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows)
{
OnBaseDocUpload.attribute p = new OnBaseDocUpload.attribute(rw["fieldname"].ToString(), rw["fieldvalue"].ToString());
onbasedoc.attributes.Add(p);
@@ -1827,8 +1864,8 @@ namespace OnDoc.UIControls
dB.Exec_SQL("Update edex_sb_serienbrief set aktiv=0, mutiert_am=getdate(),mutierer=" + AppParams.CurrentMitarbieter.ToString() + " where serienbriefnr=" + sb.serienbriefnr.ToString());
dB = null;
enable_disable_functions(1,false);
enable_disable_functions(1, false);
}
@@ -1844,8 +1881,8 @@ namespace OnDoc.UIControls
if (ribbonButtonPartnerPruefen.Enabled) partnerlistePrüfenToolStripMenuItem.Visible = true;
if (RibbonButtonArchivierenUndAbschlessen.Enabled) archivierenUndAbschliessenToolStripMenuItem.Visible = true;
if (ribbonButtonDruckstapel.Enabled) druckstapelAufbereitenToolStripMenuItem.Visible = true;
if (treeViewAdv1.SelectedNode.Text.Substring(0,4)=="Gene") (dokumentgenerierungZurücksetzenToolStripMenuItem.Visible)=true;
if (treeViewAdv1.SelectedNode.Text.Substring(0, 4) == "Gene") (dokumentgenerierungZurücksetzenToolStripMenuItem.Visible) = true;
}
private void partnerlistePrüfenToolStripMenuItem_Click(object sender, EventArgs e)