update 20241201

This commit is contained in:
Stefan Hutter
2024-12-01 18:34:28 +01:00
parent 470d2e1bb5
commit fcc74b25cb
5244 changed files with 3378608 additions and 267 deletions

View File

@@ -39,6 +39,7 @@ using Windows.Media.Ocr;
using Windows.Perception.Spatial;
using static Model.OnBaseDocUpload;
using static BroadcastListener.Classes.Factory;
using Microsoft.Office.Interop.Excel;
namespace OnDoc.UIControls
@@ -270,9 +271,10 @@ namespace OnDoc.UIControls
}
DB dB = new DB(AppParams.connectionstring);
//sb.dsempfaenger.Tables[0].Rows.Clear();
bool found = false;
foreach (System.Data.DataColumn dc in importdata.Columns)
{
bool found = false;
found = false;
foreach (System.Data.DataColumn edc in sb.dsempfaenger.Tables[0].Columns)
{
if (edc.ColumnName == dc.ColumnName) { found = true; break; }
@@ -290,6 +292,13 @@ namespace OnDoc.UIControls
}
importdata.AcceptChanges();
found=false;
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
{
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
}
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
int lastid = sb.dsempfaenger.Tables[0].Rows.Count;
sfDataGridEmpfaenger.DataSource = null;
foreach (System.Data.DataRow dr in importdata.Rows)
@@ -308,11 +317,13 @@ namespace OnDoc.UIControls
}
r1["STATUS"] = 0;
r1["FEHLERCODE"] = 0;
try
{
r1["inteingragnr"] = string.Empty;
}
catch { }
r1["IntEintragnr"] = lastid;
lastid = lastid + 1;
//try
//{
// r1["inteingragnr"] = string.Empty;
//}
//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();
@@ -336,14 +347,18 @@ namespace OnDoc.UIControls
{
try
{
sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = false;
// 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 = false;
sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = true;
sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false;
sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false;
sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false;
@@ -408,6 +423,7 @@ namespace OnDoc.UIControls
sb.dsempfaenger.Tables[sb.dsempfaenger.Tables.Count - 1].TableName = "UsedFelder";
Logging.Logging.Debug("Update Serienbriefdaten", "OnDoc", "");
update_serienbriefdaten(false);
open_sb(sb.serienbriefnr);
treeViewAdv1.Enabled = true;
}
catch (Exception ex)
@@ -626,6 +642,12 @@ namespace OnDoc.UIControls
}
private void update_grid()
{
bool found = false;
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
{
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
}
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
string nodetext = treeViewAdv1.SelectedNode.Text;
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
@@ -691,15 +713,46 @@ namespace OnDoc.UIControls
}
private void bntsbloadok_Click(object sender, EventArgs e)
{
open_sb(selectedsbnr);
}
private void open_sb(int serienbriefnr) {
DB db = new DB(AppParams.connectionstring);
sb = new serienbrief();
sb.dsempfaenger = new DataSet();
sb.serienbriefnr = selectedsbnr;
sb.serienbriefnr = serienbriefnr;
sb = db.Load_Serienbrief(sb, AppParams.tempdir);
db.Get_Tabledata("Select * from office_vorlage where office_vorlagenr = " + sb.officevorlagenr.ToString(), false, true);
sb.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
sb.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
sb.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
sb.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
sb.barcode_horizontal = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bchorizontal"]);
sb.barcode_type = db.dsdaten.Tables[0].Rows[0]["barcodetype"].ToString();
sb.barcode_content = db.dsdaten.Tables[0].Rows[0]["datamatrixcontent"].ToString();
string sql = "";
sql = "select bcpt, bcpl, bcw, bch, bchorizontal from OnDocBarcodeMpping ";
sql = sql + "where orig_bcpt = " + sb.barcode_top.ToString() + " and orig_bcpl=" + sb.barcode_left.ToString() + " ";
sql = sql + "and orig_bcw=" + sb.barcode_width.ToString() + " and orig_bch=" + sb.barcode_height.ToString();
db.Get_Tabledata(sql, false, true);
if (db.dsdaten.Tables[0].Rows.Count > 0)
{
sb.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
sb.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
sb.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
sb.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
}
sb.barcode_font = AppParams.barcodefont;
sb.barcode_fontsize = AppParams.barcodefontsize;
sb.barcode_textposition=AppParams.barcodetextposition;
sb.barcode_zusatz = "";
sb.filename = db.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
pnlLoad.Visible = false;
update_screen();
@@ -781,6 +834,14 @@ namespace OnDoc.UIControls
ps.ShowDialog();
if (ps.DialogResult == DialogResult.OK)
{
bool found = false;
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
{
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
}
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
int lastid = sb.dsempfaenger.Tables[0].Rows.Count;
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + ps.partnernr.ToString(), false, true);
if (db.dsdaten.Tables[0].Rows.Count > 0)
@@ -794,6 +855,7 @@ namespace OnDoc.UIControls
dr["kurzbezeichnung"] = db.dsdaten.Tables[0].Rows[0][0].ToString();
dr["STATUS"] = 0;
dr["FEHLERCODE"] = 0;
dr["IntEintragnr"] = lastid;
sb.dsempfaenger.Tables[0].Rows.Add(dr);
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
@@ -829,7 +891,7 @@ namespace OnDoc.UIControls
bntsbloadok_Click(sender, e);
}
private void Partnerliste_Pruefen()
private bool Partnerliste_Pruefen()
{
DB db = new DB(AppParams.connectionstring);
db.create_sb_check_table(AppParams.CurrentMitarbieter);
@@ -881,10 +943,32 @@ namespace OnDoc.UIControls
if (Convert.ToInt32(dt.Rows[i][4]) == 1) { bldossier = true; };
}
var duplicates = sb.dsempfaenger.Tables[0].AsEnumerable()
.GroupBy(r => r[0])//Using Column Index
.Where(gr => gr.Count() > 1)
.Select(g => g.Key);
string check_duplicates = "";
foreach(var dup in duplicates)
{
if (check_duplicates!="") { check_duplicates = check_duplicates + ", "; }
check_duplicates = check_duplicates + dup.ToString();
}
if (check_duplicates != "")
{
MessageBox.Show("In der Partnerliste sind folgende Duplikate vorhanden: " + Environment.NewLine + check_duplicates, "Partnerprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error);
finish_progress();
return false;
}
//System.Data.DataTable tbNew = (System.Data.DataTable)duplicates;
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); }
if (msg != "") { MessageBox.Show(msg, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
return true;
}
private void check_zwingende_felder()
@@ -931,7 +1015,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; }
Generate();
}
private void Generate(int vorschauid = 0)