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

@@ -59,6 +59,7 @@ using Syncfusion.Windows.Forms.Chart;
namespace OnDoc.UICintrols
{
public partial class DokList : UserControl, IMessageListener1
@@ -113,7 +114,7 @@ namespace OnDoc.UICintrols
{
GridDateTimeColumn gdt = e.Column as GridDateTimeColumn;
gdt.Pattern = (Syncfusion.WinForms.Input.Enums.DateTimePattern)Syncfusion.Windows.Shared.DateTimePattern.FullDateTime;
}
@@ -286,10 +287,11 @@ namespace OnDoc.UICintrols
catch { }
finally { db = null; }
}
public void refresh_dokumente(string layout = "")
{
update_currentview();
if (datafilter != "")
{
refresh_dokumente_filtered(layout);
@@ -299,6 +301,7 @@ namespace OnDoc.UICintrols
}
else
{
refresh_view(currentview);
}
@@ -308,21 +311,24 @@ namespace OnDoc.UICintrols
int selectedIndex = RibbonCBProfil.SelectedIndex;
profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString());
// profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString());
System.Data.DataTable dokumente = new System.Data.DataTable();
dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, forMaNr, Search_Docid, false);
Logging.Logging.Debug("Get_Dokumente", "", "");
dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, forMaNr, Search_Docid, false);
// TableHelper.SetColumnsOrder(dokumente, "trefferliste");
if (layout == "") { layout = "trefferliste_relaunch"; }
TableHelper.FormatTable(ref dokumente, layout, ref this.sfDataGrid1);
//this.sfDataGrid1.DataSource = dokumente;
this.sfDataGrid1.DataSource = dokumente;
sfDataGrid1.View.AutoExpandGroups = true;
this.timer1.Enabled = true;
Logging.Logging.Debug("refresh_view", "", "");
refresh_view(currentview);
//foreach (GridColumn gd in sfDataGrid1.Columns)
//{
@@ -512,7 +518,7 @@ namespace OnDoc.UICintrols
}
}
catch { }
catch { }
}
public void dokument_bearbeiten(string dokid, bool newdok = false)
{
@@ -528,8 +534,8 @@ namespace OnDoc.UICintrols
case 0:
break;
case 1:
if (MessageBox.Show("Das Dokument wird aktuell bearbeitet."+Environment.NewLine+ Environment.NewLine + "Sperrung aufheben?" +Environment.NewLine+Environment.NewLine+"Bitte vorgängig prüfen, ob das Dokument nicht mehr in Word/Excel geöffnet ist!","Dokumentsperrung aufheben",MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
if (MessageBox.Show("Das Dokument wird aktuell bearbeitet." + Environment.NewLine + Environment.NewLine + "Sperrung aufheben?" + Environment.NewLine + Environment.NewLine + "Bitte vorgängig prüfen, ob das Dokument nicht mehr in Word/Excel geöffnet ist!", "Dokumentsperrung aufheben", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
clsProcessWatch.RemoveFromList(dokid);
}
else
@@ -587,16 +593,16 @@ namespace OnDoc.UICintrols
db1 = null;
break;
case 1:
Cursor = Cursors.WaitCursor;
System.Windows.Forms.Application.DoEvents();
selected_dokumentid = dokbearbeitung.dokumentid;
selected_partnernr = dokbearbeitung.partnernr.ToString(); ;
interop = dokbearbeitung.interop;
runmacros = dokbearbeitung.runmacros;
dok = GetDoc(false);
OpenDoc(dok, true, interop, false);
Cursor = Cursors.Default;
System.Windows.Forms.Application.DoEvents();
Cursor = Cursors.WaitCursor;
System.Windows.Forms.Application.DoEvents();
selected_dokumentid = dokbearbeitung.dokumentid;
selected_partnernr = dokbearbeitung.partnernr.ToString(); ;
interop = dokbearbeitung.interop;
runmacros = dokbearbeitung.runmacros;
dok = GetDoc(false);
OpenDoc(dok, true, interop, false);
Cursor = Cursors.Default;
System.Windows.Forms.Application.DoEvents();
break;
case 6:
//DB db1 = new DB(AppParams.connectionstring);
@@ -605,7 +611,7 @@ namespace OnDoc.UICintrols
interop = dokbearbeitung.interop;
//runmacros = dokbearbeitung.runmacros;
string filename = dokbearbeitung.filename;
string ext = System.IO.Path.GetExtension(filename);
string apptype = "";
switch (ext.ToUpper())
@@ -627,7 +633,7 @@ namespace OnDoc.UICintrols
break;
}
Logging.Logging.Debug("Doklist Docfunction=6", "Doklist", "");
Logging.Logging.Debug("Doklist Docfunction=6", "Doklist", "");
//db1.Dok_in_Bearbeitung(1, selected_dokumentid, AppParams.CurrentMitarbeiter);
//db1 = null;
clsProcessWatch.AddToList(selected_dokumentid, filename, apptype);
@@ -733,7 +739,7 @@ namespace OnDoc.UICintrols
case "D":
clsFileHelper fh = new clsFileHelper();
string tempfilename = "";
tempfilename = fh.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname);
//System.Diagnostics.Process.Start(tempfilename);
interop = true;
@@ -776,7 +782,7 @@ namespace OnDoc.UICintrols
break;
case "P":
clsFileHelper fh3 = new clsFileHelper();
tempfilename = fh3.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension,dok.dokumentname );
tempfilename = fh3.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname);
System.Diagnostics.Process.Start(tempfilename);
if (editdoc == true)
{
@@ -874,13 +880,18 @@ namespace OnDoc.UICintrols
private void update_currentview()
{
currentview["Preview"] = tsrbvorschau.SelectedIndex;
if (RibbonButtonAttributeEinAusblenden.Checked) { currentview["Attributes"] = 1; } else { currentview["Attributes"] = 0; }
currentview["Splitterdistance"] = splitContainer1.SplitterDistance;
MemoryStream ms = new MemoryStream();
//gaga
this.sfDataGrid1.Serialize(ms);
currentview["Gridsettings"] = Convert.ToBase64String(ms.ToArray());
try
{
currentview["Preview"] = tsrbvorschau.SelectedIndex;
if (RibbonButtonAttributeEinAusblenden.Checked) { currentview["Attributes"] = 1; } else { currentview["Attributes"] = 0; }
currentview["Splitterdistance"] = splitContainer1.SplitterDistance;
MemoryStream ms = new MemoryStream();
this.sfDataGrid1.Serialize(ms);
System.Windows.Forms.Application.DoEvents();
currentview["Gridsettings"] = Convert.ToBase64String(ms.ToArray());
}
catch { }
}
private void RibbonBtnVorschauUnten_Click(object sender, EventArgs e)
@@ -1116,7 +1127,7 @@ namespace OnDoc.UICintrols
if (records.Count < 1) { return; }
if (!row_selected()) return;
InputDialog ma = new InputDialog(true, "Verantwortlichkeit wechseln zu","Verantwortlichkeit zuweisen");
InputDialog ma = new InputDialog(true, "Verantwortlichkeit wechseln zu", "Verantwortlichkeit zuweisen");
ma.ShowDialog();
if (ma.DialogResult == DialogResult.OK)
{
@@ -1135,7 +1146,7 @@ namespace OnDoc.UICintrols
}
dB = null;
refresh_dokumente();
}
}
@@ -1162,6 +1173,7 @@ namespace OnDoc.UICintrols
public void hide_panels()
{
refresh_ansichten("");
set_functions();
this.RibbonButtonFavoriten.Visible = false;
this.RibbonPanelSuche.Visible = false;
this.RibbonPannelAproval.Visible = false;
@@ -1182,6 +1194,7 @@ namespace OnDoc.UICintrols
this.RibbonButtonVorschauRechts.Visible = false;
this.RibbonBtnVorschauUnten.Visible = false;
this.ribbonTabDokpaket_Serienbrief.Visible = false;
//this.ribbonButtonVersandstrasse.Visible = false;
this.ribbonTabDokpaket_Serienbrief.Visible = false;
this.ribbonTabProfil.Visible = false;
@@ -1200,7 +1213,8 @@ namespace OnDoc.UICintrols
{
var selectedItem = e.DataRow;
var dataRow = (e.DataRow.RowData as DataRowView).Row;
if (dataRow["Prüfung_Reghts"].ToString().Contains("Abgelehnt")){
if (dataRow["Prüfung_Reghts"].ToString().Contains("Abgelehnt"))
{
e.Style.BackColor = Color.Red;
}
@@ -1290,7 +1304,7 @@ namespace OnDoc.UICintrols
}
if (dataRow[0].ToString().Substring(0, 1).ToUpper() == "X")
{
if (Convert.ToBoolean(dataRow["Bearbeitung_Zwingend"]) == false )
if (Convert.ToBoolean(dataRow["Bearbeitung_Zwingend"]) == false)
if (Convert.ToBoolean(dataRow["toapprove"]) == true)
{
if (Convert.ToBoolean(dataRow["approved"]) == true)
@@ -1438,11 +1452,11 @@ namespace OnDoc.UICintrols
{
DOCGEN.DocGet dg = new DocGet(AppParams.connectionstring);
//dg.GetDocAsPDF(selected_dokumentid);
clsdok dok = new clsdok("", "", "", "" );
clsdok dok = new clsdok("", "", "", "");
dok = dg.GetDocAsFinalPDF(selected_dokumentid);
clsFileHelper fh = new clsFileHelper();
string tempfilename = "";
tempfilename = fh.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension,dok.dokumentname);
tempfilename = fh.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname);
}
private void ribbonButtonNativ_Click(object sender, EventArgs e)
@@ -1466,14 +1480,14 @@ namespace OnDoc.UICintrols
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string responseContent = reader.ReadToEnd();
if (responseContent.Contains("Hinweismeldung:"))
if (responseContent.Contains("Hinweismeldung:"))
{
MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " wurde nicht durchgeführt:" + Environment.NewLine + responseContent);
MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " wurde nicht durchgeführt:" + Environment.NewLine + responseContent);
return;
}
Logging.DocLog.Info("Dokument archiviert", "OnDoc", documentid, "", "Dokument archiviert und abgeschlossen");
Logging.DocLog.Info("Dokument archiviert", "OnDoc", documentid, "", "Dokument archiviert und abgeschlossen");
}
else
{
@@ -1568,39 +1582,59 @@ namespace OnDoc.UICintrols
//refresh_dokumente();
}
private Boolean check_versandpaket_bp(ref List<Versandpaket> pakete,int partnernr)
{
foreach (Versandpaket vp in pakete)
{
if (vp.partnernr == partnernr) { return true; break; }
}
return false;
}
private void ribbonButtonVersandstrasse_Click(object sender, EventArgs e)
{
Versandpakete versandpakete = new Versandpakete();
Versandpaket paket = new Versandpaket();
paket.Versandoption = "1";
paket.Mitteilung = "";
paket.GAS = "";
paket.GASAdresse = "";
paket.PaketNr = "1";
var records = sfDataGrid1.View.GetSelectedRecords();
if (records.Count < 1) { return; }
// string[] selectedDokument = new string[records.Count];
int i = 0;
paket.Dokument = new List<Versanddokument>();
List<Versandpaket> versandpakete = new List <Versandpaket>();
foreach (var record in records)
{
var datarow = record as DataRowView;
paket.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString()));
i++;
}
versandpakete.paket = new List<Versandpaket>();
versandpakete.paket.Add(paket);
OnDoc.Versandstrasse.Versandstrasse vs = new OnDoc.Versandstrasse.Versandstrasse(versandpakete);
if (check_versandpaket_bp(ref versandpakete, Convert.ToInt32(datarow["partner-nr"])))
{
foreach(Versandpaket versandpaket in versandpakete)
{
if (versandpaket.partnernr== Convert.ToInt32(datarow["partner-nr"]))
{
versandpaket.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString()));
}
}
}
else
{
Versandpaket vp = new Versandpaket();
vp.Dokument = new List <Versanddokument>();
vp.partnernr = Convert.ToInt32(datarow["partner-nr"]);
vp.Versandoption = "1";
vp.Mitteilung = "";
vp.GAS = "";
vp.GASAdresse = "";
vp.PaketNr = i.ToString();
vp.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString()));
i++;
versandpakete.Add(vp);
}
}
OnDoc.Versandstrasse.Versandstrasse vs = new OnDoc.Versandstrasse.Versandstrasse(versandpakete);
vs.Show();
dokumentAnVersandstrasseToolStripMenuItem.Visible = true;
}
private void RibbonButtonFavoriten_Click(object sender, EventArgs e)
@@ -1797,7 +1831,7 @@ namespace OnDoc.UICintrols
private void ribbonGroupMitarbeiter_Click(object sender, EventArgs e)
{
InputDialog ma = new InputDialog(true, "Verantwortlicher Mitarbeiter wählen","Mitarbeiter wählen");
InputDialog ma = new InputDialog(true, "Verantwortlicher Mitarbeiter wählen", "Mitarbeiter wählen");
ma.ShowDialog();
if (ma.DialogResult == DialogResult.OK)
@@ -1887,64 +1921,90 @@ namespace OnDoc.UICintrols
}
//private void refresh_view(string base64string)
private void refresh_view(System.Data.DataRow dataRow)
{
string base64string = dataRow["gridsettings"].ToString();
byte[] bytes = Convert.FromBase64String(base64string);
string plaintext = Strings.Base64Decode(base64string);
string tagesdatum = DateTime.Now.ToString("yyyy-MM-ddT00:00:00");
//tagesdatum = "2024-11-29T00:00:00";
plaintext = plaintext.Replace("@today@", tagesdatum);
plaintext = Strings.Base64Encode(plaintext);
bytes = Convert.FromBase64String(plaintext);
if (plaintext == "")
{
if (AppParams.isSysadmin) { ribbonCBAnsicht.SelectedIndex = 1; } else { ribbonCBAnsicht.SelectedIndex = 0; }
return;
}
//currentview = plaintext;
currentview = dataRow;
using (MemoryStream ms = new MemoryStream(bytes))
{
this.sfDataGrid1.Deserialize(ms);
}
sfDataGrid1.ShowToolTip = true;
//sfDataGrid1.FilterRowPosition = RowPosition.Top;
tsrbvorschau.SelectedIndex = Convert.ToInt32(dataRow["Preview"]);
RibbonButtonAttributeEinAusblenden.Checked = Convert.ToInt32(dataRow["Attributes"]) == 1;
if (tsrbvorschau.SelectedIndex != 0 && Convert.ToInt32(dataRow["SplitterDistance"]) != 0)
{
this.splitContainer1.SplitterDistance = Convert.ToInt32(dataRow["SplitterDistance"]);
this.docPreview1.set_zoom();
}
else
{
// docPreview1.clear_viewer();
}
show_hide_attribute();
//List<string> clist = new List<string>();
//clist.Clear();
//int I = 0;
//if (sfDataGrid1.GroupColumnDescriptions.Count > 0)
//{
// for (int i = 0; i < sfDataGrid1.GroupColumnDescriptions.Count; i++)
// {
// clist.Add(sfDataGrid1.GroupColumnDescriptions[i].ColumnName);
// }
// sfDataGrid1.GroupColumnDescriptions.Clear();
//}
try
{
this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0];
sfDataGrid1.SelectedIndex = 0;
this.sfDataGrid1.TableControl.ScrollRows.ScrollInView(this.sfDataGrid1.TableControl.ResolveToRowIndex(0));
this.sfDataGrid1.TableControl.UpdateScrollBars();
string base64string = dataRow["gridsettings"].ToString();
byte[] bytes = Convert.FromBase64String(base64string);
string plaintext = Strings.Base64Decode(base64string);
string tagesdatum = DateTime.Now.ToString("yyyy-MM-ddT00:00:00");
//tagesdatum = "2024-11-29T00:00:00";
plaintext = plaintext.Replace("@today@", tagesdatum);
plaintext = Strings.Base64Encode(plaintext);
bytes = Convert.FromBase64String(plaintext);
if (plaintext == "")
{
if (AppParams.isSysadmin) { ribbonCBAnsicht.SelectedIndex = 1; } else { ribbonCBAnsicht.SelectedIndex = 0; }
return;
}
currentview = dataRow;
using (MemoryStream ms = new MemoryStream(bytes))
{
this.sfDataGrid1.Deserialize(ms);
}
sfDataGrid1.ShowToolTip = true;
sfDataGrid1.FilterRowPosition = RowPosition.Top;
tsrbvorschau.SelectedIndex = Convert.ToInt32(dataRow["Preview"]);
RibbonButtonAttributeEinAusblenden.Checked = Convert.ToInt32(dataRow["Attributes"]) == 1;
Logging.Logging.Debug("Vorschau selectedind", "", "");
if (tsrbvorschau.SelectedIndex != 0 && Convert.ToInt32(dataRow["SplitterDistance"]) != 0)
{
this.splitContainer1.SplitterDistance = Convert.ToInt32(dataRow["SplitterDistance"]);
this.docPreview1.set_zoom();
}
else
{
// docPreview1.clear_viewer();
}
show_hide_attribute();
try
{
this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0];
sfDataGrid1.SelectedIndex = 0;
}
catch
{
this.selected_dokumentid = "";
}
System.Windows.Forms.Application.DoEvents();
//if (clist.Count > 0) {
// foreach (string s in clist)
// {
// sfDataGrid1.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = s });
// }
//}
}
catch
{
this.selected_dokumentid = "";
}
System.Windows.Forms.Application.DoEvents();
catch { }
}
public static string Decode(string text)
@@ -2207,7 +2267,7 @@ namespace OnDoc.UICintrols
case "prüfung_rechts":
if (e.DisplayText.Contains("Abgelehnt"))
{
Syncfusion.Data.RecordEntry record = sfDataGrid1.View.GetRecordAt(e.RowIndex-1);
Syncfusion.Data.RecordEntry record = sfDataGrid1.View.GetRecordAt(e.RowIndex - 1);
var a = record.Data;
var b = a as DataRowView;
string x = b["dokumentid"].ToString();
@@ -2219,10 +2279,10 @@ namespace OnDoc.UICintrols
t.Text = db.dsdaten.Tables[0].Rows[0]["mutiert_am"].ToString() +
//Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["betreff"].ToString() +
Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["Notizgrund"].ToString();
System.Drawing.Font tf = new System.Drawing.Font(t.Style.Font.FontFamily, 10,FontStyle.Bold);
System.Drawing.Font tf = new System.Drawing.Font(t.Style.Font.FontFamily, 10, FontStyle.Bold);
t.Style.TextAlignment = ContentAlignment.MiddleLeft;
t.Style.BackColor = Color.FromArgb(255,102,0);
t.Style.BackColor = Color.FromArgb(255, 102, 0);
t.Style.Font = tf;
e.ToolTipInfo.Items.Add(t);
db = null;
@@ -2266,7 +2326,7 @@ namespace OnDoc.UICintrols
}
//System.Drawing.Point p = new System.Drawing.Point(Location.X, Location.Y);
//var rowColIndex = sfDataGrid1.TableControl.PointToCellRowColumnIndex(p);
//var mouseDownRecordIndex = this.sfDataGrid1.TableControl.ResolveToRecordIndex(rowColIndex.RowIndex);
//if (!(mouseDownRecordIndex < 0))
@@ -2344,7 +2404,12 @@ namespace OnDoc.UICintrols
historyToolStripMenuItem.Enabled = true;
this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0];
sfDataGrid1.SelectedIndex = 0;
//gaga
try
{
sfDataGrid1.SelectedIndex = 0;
}
catch { }
var record = sfDataGrid1.View.Records.GetItemAt(sfDataGrid1.SelectedIndex);
// var changed = DrugGrid.View.GetPropertyAccessProvider().SetValue(record, "GPackSize", "Hello"); // returns true, suggesting
@@ -2625,7 +2690,7 @@ namespace OnDoc.UICintrols
string documentid = datarow["dokumentid"].ToString();
string aktion = datarow["aktion"].ToString();
if (aktion != "Geprüft/Unterzeichnen") { error = 1; }
// dokument_bearbeiten(documentid, false);
// dokument_bearbeiten(documentid, false);
}
if (error > 0)
{
@@ -2641,8 +2706,8 @@ namespace OnDoc.UICintrols
{
var datarow = record as DataRowView;
string documentid = datarow["dokumentid"].ToString();
DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring,AppParams.RESTURI,AppParams.apikey);
DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey);
if (dg.signdoc(selected_dokumentid, AppParams.tempdir))
{
DB db = new DB(AppParams.connectionstring);