You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
14 KiB
318 lines
14 KiB
using OnDoc.Diverses;
|
|
using OnDoc.Klassen;
|
|
using Helper;
|
|
using Microsoft.Office.Interop.Excel;
|
|
using Model;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.WinForms.Controls;
|
|
using Syncfusion.WinForms.DataGrid;
|
|
using Syncfusion.WinForms.DataGrid.Interactivity;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Security.RightsManagement;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web.UI.WebControls;
|
|
using System.Windows.Forms;
|
|
using Database;
|
|
using OnDoc.UIControls;
|
|
|
|
namespace OnDoc.DocMgmt
|
|
{
|
|
public partial class FrmDokumenterstellung : SfForm
|
|
{
|
|
private int partnernr = 0;
|
|
private int profilnr = 0;
|
|
private int dokumenttypnr = 0;
|
|
public FrmDokumenterstellung()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public FrmDokumenterstellung(int PartnerNr, int Dokumenttpynr, int Profilnr)
|
|
{
|
|
partnernr = PartnerNr;
|
|
dokumenttypnr = Dokumenttpynr;
|
|
profilnr = Profilnr;
|
|
InitializeComponent();
|
|
}
|
|
private void FrmDokumenterstellung_Load(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true);
|
|
cbboxpostzustellung.DataSource = db.dsdaten.Tables[0];
|
|
cbboxpostzustellung.ValueMember = "nreintrag";
|
|
cbboxpostzustellung.DisplayMember = "bezeichnung";
|
|
|
|
db.clear_parameter();
|
|
db.add_parameter("@partnernr", "1000208");
|
|
db.Get_Tabledata("sp_dokumentbearbeitung_kube", true, false);
|
|
cbboxzustaendigkube.DataSource = db.dsdaten.Tables[0];
|
|
cbboxzustaendigkube.DisplayMember = "name";
|
|
cbboxzustaendigkube.ValueMember = "mitarbeiternr";
|
|
|
|
db.clear_parameter();
|
|
db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false);
|
|
cbboxzustaendigmitarbeiter.DataSource = db.dsdaten.Tables[0];
|
|
cbboxzustaendigmitarbeiter.DisplayMember = "name";
|
|
cbboxzustaendigmitarbeiter.ValueMember = "mitarbeiternr";
|
|
cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbieter;
|
|
cbboxunterschriftlinks.DataSource = db.dsdaten.Tables[0];
|
|
cbboxunterschriftlinks.DisplayMember = "name";
|
|
cbboxunterschriftlinks.ValueMember = "mitarbeiternr";
|
|
cbboxunterschriftrechts.DataSource = db.dsdaten.Tables[0];
|
|
cbboxunterschriftrechts.DisplayMember = "name";
|
|
cbboxunterschriftrechts.ValueMember = "mitarbeiternr";
|
|
cbboxverantwortlich.DataSource = db.dsdaten.Tables[0];
|
|
cbboxverantwortlich.DisplayMember = "name";
|
|
cbboxverantwortlich.ValueMember = "mitarbeiternr";
|
|
cbboxverantwortlich.SelectedValue = AppParams.CurrentMitarbieter;
|
|
|
|
db.clear_parameter();
|
|
db.add_parameter("dokumenttypnr", dokumenttypnr.ToString());
|
|
db.add_parameter("@dokumentid", "");
|
|
db.add_parameter("@fnkt", "1");
|
|
db.add_parameter("@mitarbeiternr", AppParams.CurrentMitarbieter.ToString());
|
|
db.add_parameter("@bck", "0");
|
|
db.Get_Tabledata("SP_Dokumentbearbeitung_StatusSelektion", true, false);
|
|
cbboxstatus.DataSource = db.dsdaten.Tables[0];
|
|
cbboxstatus.DisplayMember = "Bezeichnung";
|
|
cbboxstatus.ValueMember = "dokumentstatusnr";
|
|
cbboxstatus.SelectedIndex = 1;
|
|
|
|
if (partnernr != 0)
|
|
{
|
|
db.Get_Tabledata("Select * from partner where nrpar00=" + partnernr, false, true);
|
|
this.lblPartner.Text = db.dsdaten.Tables[0].Rows[0]["nrpar00"].ToString() + " " + db.dsdaten.Tables[0].Rows[0]["bkpar00"].ToString();
|
|
}
|
|
if (dokumenttypnr != 0)
|
|
{
|
|
db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dokumenttypnr, false, true);
|
|
this.txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0]["Bezeichnung"].ToString();
|
|
}
|
|
if (profilnr != 0)
|
|
{
|
|
db.Get_Tabledata("Select * from profil where profilnr=" + profilnr, false, true);
|
|
int ulinks = 0;
|
|
int urechts = 0;
|
|
try
|
|
{
|
|
ulinks = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString());
|
|
cbboxunterschriftlinks.SelectedValue = ulinks;
|
|
}
|
|
catch { ulinks = 0; }
|
|
try
|
|
{
|
|
urechts = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString());
|
|
cbboxunterschriftrechts.SelectedValue = urechts;
|
|
}
|
|
catch { urechts = 0; }
|
|
}
|
|
|
|
System.Data.DataTable dokwertlist = new System.Data.DataTable();
|
|
dokwertlist = db.Get_DokumentWertList("", dokumenttypnr);
|
|
gridDokwertlist.DataSource = dokwertlist;
|
|
for (int i = 3; i < gridDokwertlist.Columns.Count; i++)
|
|
{
|
|
gridDokwertlist.Columns[i].Visible = false;
|
|
}
|
|
gridDokwertlist.Columns[0].AllowEditing = false;
|
|
gridDokwertlist.Columns[1].AllowEditing = false;
|
|
gridDokwertlist.Columns[0].Width = gridDokwertlist.Width * 0.35;
|
|
gridDokwertlist.Columns[1].Width = gridDokwertlist.Width * 0.15;
|
|
gridDokwertlist.Columns[2].Width = gridDokwertlist.Width * 0.35;
|
|
gridDokwertlist.Columns.Add(new GridImageColumn() { MappingName = "S", ImageLayout = ImageLayout.Center });
|
|
gridDokwertlist.Columns["S"].Width = 25;
|
|
gridDokwertlist.QueryImageCellStyle += gridDokwertlist_QueryImageCellStyle;
|
|
db = null;
|
|
Refresh_Team();
|
|
this.cbboxteam.SelectedIndex = 0;
|
|
}
|
|
private void gridDokwertlist_QueryImageCellStyle(object sender, Syncfusion.WinForms.DataGrid.Events.QueryImageCellStyleEventArgs e)
|
|
{
|
|
var rowdata = (DataRowView)e.Record;
|
|
var feldtyp = rowdata.Row.ItemArray[5].ToString();
|
|
var datenherkunft = rowdata.Row.ItemArray[6].ToString();
|
|
try
|
|
{
|
|
if (feldtyp.ToUpper().Substring(0, 5) == "DATUM")
|
|
{
|
|
e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\calendar.png"));
|
|
return;
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
try
|
|
{
|
|
if (datenherkunft.ToString().Trim() != "")
|
|
{
|
|
e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search.png"));
|
|
|
|
}
|
|
|
|
if (datenherkunft.Substring(0, 3).ToUpper() == "&PA")
|
|
{
|
|
e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Partner.png"));
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
//e.Image = (Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search_16x16.png"));
|
|
}
|
|
private void Refresh_Team()
|
|
{
|
|
DB dbteam = new DB(AppParams.connectionstring);
|
|
dbteam.clear_parameter();
|
|
dbteam.add_parameter("@profilnr", profilnr.ToString());
|
|
dbteam.add_parameter("@mitarbeiternr", cbboxzustaendigmitarbeiter.SelectedValue.ToString());
|
|
dbteam.Get_Tabledata("sp_dokumentbearbeitung_team", true, false);
|
|
cbboxteam.DataSource = null;
|
|
cbboxteam.DataSource = dbteam.dsdaten.Tables[0];
|
|
cbboxteam.ValueMember = "teamnr";
|
|
cbboxteam.DisplayMember = "bezeichnung";
|
|
}
|
|
private void sfButton2_Click(object sender, EventArgs e)
|
|
{
|
|
clsDocData dokdata = new clsDocData();
|
|
dokdata.PartnerNr = partnernr.ToString();
|
|
dokdata.UseEDOKA_Values = "True";
|
|
dokdata.DokumenttypNr = dokumenttypnr.ToString();
|
|
dokdata.Unterschrift_Links = cbboxunterschriftlinks.SelectedValue.ToString();
|
|
dokdata.Unterschrift_Rechts = cbboxunterschriftrechts.SelectedValue.ToString();
|
|
dokdata.Verantwortlich = cbboxverantwortlich.SelectedValue.ToString();
|
|
dokdata.Team = cbboxteam.SelectedValue.ToString();
|
|
if (rbzustaendigkube.Checked) { dokdata.Zustaendig = cbboxzustaendigkube.SelectedValue.ToString(); } else { dokdata.Zustaendig = cbboxzustaendigmitarbeiter.SelectedValue.ToString(); }
|
|
dokdata.Status = cbboxstatus.SelectedValue.ToString();
|
|
dokdata.Ersteller = AppParams.CurrentMitarbieter.ToString();
|
|
dokdata.DokumentDatum = DateDokumentDatum.DateTimeText.ToString();
|
|
dokdata.Bezeichnung = txtbezeichnung.Text;
|
|
dokdata.UseEDOKA_Values = "True";
|
|
if (rbasPDFarchivieren.Checked) { dokdata.Result_as_PDF = "True"; } else { dokdata.Result_as_PDF = ""; }
|
|
if (cbdigitaleunterschrfiten.Checked) { dokdata.As_Faksimile = "True"; } else { dokdata.As_Faksimile = "False"; }
|
|
|
|
|
|
DOCGEN.DocGen docgen = new DOCGEN.DocGen(AppParams.connectionstring);
|
|
string dokumentid = docgen.GenDocID(dokdata);
|
|
dokdata.Dokumentid = dokumentid;
|
|
|
|
|
|
|
|
if (dokumentid != "")
|
|
{
|
|
DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(AppParams.connectionstring, AppParams.tempdir);
|
|
clsdok dok = new clsdok("", "", "");
|
|
dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata);
|
|
|
|
if (rbDokumentbearbeiten.Checked)
|
|
{
|
|
string filename = AppParams.tempdir + dokumentid + "." + dok.extension;
|
|
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument));
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Save_To_DB(dokdata.Dokumentid, filename);
|
|
db = null;
|
|
|
|
System.Diagnostics.Process.Start("winword.exe", filename);
|
|
clsProcessWatch.AddToList(dokdata.Dokumentid, filename, "Word");
|
|
|
|
}
|
|
if (rbasPDFarchivieren.Checked)
|
|
{
|
|
dok.extension = "pdf";
|
|
string filename = AppParams.tempdir + dokumentid + "." + dok.extension;
|
|
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument));
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Save_To_DB(dokdata.Dokumentid, filename);
|
|
}
|
|
|
|
if (rbEditlater.Checked)
|
|
{
|
|
string filename = AppParams.tempdir + dokumentid + "." + dok.extension;
|
|
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument));
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Save_To_DB(dokdata.Dokumentid, filename);
|
|
db = null;
|
|
}
|
|
this.Close();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void gridDokwertlist_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void gridDokwertlist_CellDoubleClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
var rowIndex = DataGridIndexResolver.ResolveToRecordIndex(this.gridDokwertlist.TableControl, this.gridDokwertlist.CurrentCell.RowIndex);
|
|
if (rowIndex != -1)
|
|
|
|
{
|
|
Set_CellValue(rowIndex, "Gaga");
|
|
return;
|
|
var record = (this.gridDokwertlist.View.Records[rowIndex].Data);
|
|
//MessageBox.Show(record.OrderID.ToString());
|
|
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
var ft = dataRow["feldtyp"].ToString();
|
|
var da = dataRow["datenherkunft"].ToString();
|
|
if (ft.ToUpper().Substring(0, 5) == "DATUM")
|
|
{
|
|
frmCalendar fcal = new frmCalendar();
|
|
fcal.ShowDialog();
|
|
if (fcal.DialogResult == DialogResult.OK)
|
|
{
|
|
Set_CellValue(rowIndex,"Gaga");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Set_CellValue(int row,string wert)
|
|
{
|
|
int rowIndex = row + 1;
|
|
int columnIndex = gridDokwertlist.TableControl.ResolveToGridVisibleColumnIndex(2);
|
|
columnIndex = 2;
|
|
if (columnIndex < 0)
|
|
return;
|
|
var mappingName = gridDokwertlist.Columns[columnIndex].MappingName;
|
|
var recordIndex = gridDokwertlist.TableControl.ResolveToRecordIndex(rowIndex);
|
|
//recordIndex = 0;
|
|
if (recordIndex < 0)
|
|
return;
|
|
object data;
|
|
if (gridDokwertlist.View.TopLevelGroup != null)
|
|
{
|
|
var record = gridDokwertlist.View.TopLevelGroup.DisplayElements[recordIndex];
|
|
if (!record.IsRecords)
|
|
return;
|
|
data = (record as Syncfusion.Data.RecordEntry).Data;
|
|
}
|
|
else
|
|
data = gridDokwertlist.View.Records.GetItemAt(recordIndex);
|
|
|
|
this.gridDokwertlist.View.GetPropertyAccessProvider().SetValue(data, mappingName, "Modified Value");
|
|
}
|
|
|
|
private void gridDokwertlist_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
|
|
int columnIndex = gridDokwertlist.TableControl.ResolveToGridVisibleColumnIndex(2);
|
|
}
|
|
|
|
private void sfButton3_Click(object sender, EventArgs e)
|
|
{
|
|
this.DialogResult = DialogResult.Abort;
|
|
this.Close();
|
|
}
|
|
}
|
|
}
|