예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            DateTime d_rq1 = dateTimePicker1.Value.Date;
            DateTime d_rq2 = dateTimePicker1.Value.AddDays(1).Date;

            var dataList = SqlUtil.Inst.Orders.Where(a => a.date >= d_rq1 && a.date < d_rq2).ToList().Select(a => new {
                no   = a.no,
                date = a.date.ToString("yyyy年MM月dd日"),
                zje  = a.zje.ToString("0.00"),
                yhje = a.yhje.ToString("0.00"),
                ssje = (a.zje - a.yhje).ToString("0.00"),
                zffs = a.zffs
            }).ToList();

            Assembly assembly = Assembly.GetExecutingAssembly();

            //获取指定的资源

            using (Stream stream = assembly.GetManifestResourceStream("DishSysManager.daily_mx.frx"))
            {
                if (stream != null)  //没有找到,GetManifestResourceStream会返回null
                {
                    report.Clear();
                    report.Load(stream);
                    report.RegisterData(dataList, "mx");
                    report.Preview = this.previewControl1;
                    report.Prepare();
                    report.ShowPrepared();
                }
            }
        }
예제 #2
0
        public FormReportCP(string ord_no)
        {
            InitializeComponent();
            var order = SqlUtil.Inst.Orders.FirstOrDefault(a => a.no == ord_no);

            if (order == null)
            {
                return;
            }
            var          dataList  = SqlUtil.Inst.Details.Where(a => a.ord_no == order.no).ToList();
            Assembly     assembly  = Assembly.GetExecutingAssembly();
            List <Order> dataList2 = new List <Order>();

            dataList2.Add(order);
            var hz = dataList2.Select(a => new
            {
                date = a.date.ToString("yyyy-MM-dd HH:mm"),
                zje  = a.zje.ToString("0.00"),
                yhje = a.yhje.ToString("0.00"),
                sfje = (a.zje - a.yhje).ToString("0.00"),
                a.desk,
                ord_no = a.no
            }).ToList();

            //获取指定的资源

            using (Stream stream = assembly.GetManifestResourceStream("DishSysManager.daily_cp.frx"))
            {
                if (stream != null)  //没有找到,GetManifestResourceStream会返回null
                {
                    report.Clear();
                    report.Load(stream);
                    report.RegisterData(dataList, "mx");
                    report.RegisterData(hz, "hz");
                    report.Prepare();
                    report.PrintSettings.ShowDialog = false;
                    report.Print();
                }
            }
            autoClose = true;
        }
예제 #3
0
파일: Form1.cs 프로젝트: maxweb082/REPO
        private void button2_Click(object sender, System.EventArgs e)
        {
            var rpt  = new FastReport.Report();
            var data = new List <ARAPDataEntity>();

            rpt.Report.Load(@"D:\WorkingDir\LBOM\LBOM\Report\ARAccount.frx");
            rpt.Report.Dictionary.RegisterBusinessObject(data, "DataItem", 1, true);

            rpt.Save(@"D:\WorkingDir\LBOM\LBOM\Report\ARAP_RawData.frx");

            rpt.Clear();
            rpt.Dispose();
        }
예제 #4
0
        protected static int PrintReport(FastReport.Report report, string printerType)
        {
            //如果模板设置了指定类型的打印机,则设置打印机名称
            //string printerName = GetPrinterName(printerType);
            //if (string.IsNullOrEmpty(printerName) == false)
            //{
            //    report.PrintSettings.Printer = printerName;
            //}

            report.PrintSettings.ShowDialog = false;

            report.Print();

            report.Clear();
            report.Dispose();
            report = null;
            return(1);
        }
예제 #5
0
        private void BtnDrucken_Click(object sender, RoutedEventArgs e)
        {
            var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen

            if (vorgang != 4)
            {
                switch (_Auswahl)
                {
                case EnumFilterAuswertung.Anmeldung: _AktAuswertung = (tabAuswertung)_ListeReporteAnmeldung.Current; break;

                case EnumFilterAuswertung.Bauteil: _AktAuswertung = (tabAuswertung)_ListeReporteBauteil.Current; break;

                case EnumFilterAuswertung.Reparatur: _AktAuswertung = (tabAuswertung)_ListeReporteReparatur.Current; break;
                }

                if (_AktAuswertung == null)
                {
                    MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                switch (vorgang)
                {
                case 5: // Exportieren
                    SaveFileDialog dia = new SaveFileDialog()
                    {
                        Filter      = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*",
                        FilterIndex = 1
                    };
                    if (dia.ShowDialog() ?? false)
                    {
                        _Report.Save(dia.FileName);
                        MemoryStream mem;
                        mem = new MemoryStream(_AktAuswertung.Report);
                        using (Stream f = File.Create(dia.FileName))
                        {
                            mem.CopyTo(f);
                        }
                    }
                    return;

                case 6: // Report löschen
                    var mb = MessageBox.Show($"Report {_AktAuswertung.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None);
                    if (mb == MessageBoxResult.Yes)
                    {
                        switch (_Auswahl)
                        {
                        case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Delete(_AktAuswertung); break;

                        case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Delete(_AktAuswertung); break;

                        case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Delete(_AktAuswertung); break;
                        }
                    }
                    return;
                }

                _Report.Clear();
                if (_AktAuswertung.Report == null)
                {
                    vorgang = 3;
                }
                else
                {
                    var mem = new MemoryStream(_AktAuswertung.Report);
                    _Report.Load(mem);
                }
            }

            switch (_Auswahl)
            {
            case JgMaschineData.EnumFilterAuswertung.Anmeldung:
                if (tcAnmeldung.SelectedIndex == 0)
                {
                    _Report.RegisterData(_ListeAnmeldungen.Daten, "Daten");
                }
                else
                {
                    _Report.RegisterData(_ListeAnmeldungAuswahl.Daten, "Daten");
                    _Report.SetParameterValue("DatumVon", _DzAnmeldungVon.AnzeigeDatumZeit);
                    _Report.SetParameterValue("DatumBis", _DzAnmeldungBis.AnzeigeDatumZeit);
                }
                _Report.SetParameterValue("IstAktuell", tcAnmeldung.SelectedIndex == 0);
                break;

            case EnumFilterAuswertung.Bauteil:
                if (_Maschine == null)
                {
                    MessageBox.Show("Wählen Sie eine Maschine aus.");
                    return;
                }

                _Report.RegisterData(_ListeBauteilAuswahl.Daten, "Daten");
                _Report.SetParameterValue("MaschinenName", _Maschine.MaschinenName);
                _Report.SetParameterValue("DatumVon", _DzBauteilVon.AnzeigeDatumZeit);
                _Report.SetParameterValue("DatumBis", _DzBauteilBis.AnzeigeDatumZeit);
                break;

            case EnumFilterAuswertung.Reparatur:
                if (tcReparatur.SelectedIndex == 0)
                {
                    _Report.RegisterData(_ListeReparaturen.Daten, "Daten");
                }
                else
                {
                    _Report.RegisterData(_ListeReparaturAuswahl.Daten, "Daten");
                    _Report.SetParameterValue("DatumVon", _DzReparaturVon.AnzeigeDatumZeit);
                    _Report.SetParameterValue("DatumBis", _DzReparaturBis.AnzeigeDatumZeit);
                }
                _Report.SetParameterValue("IstAktuell", tcReparatur.SelectedIndex == 0);
                break;

            default:
                break;
            }

            if (vorgang == 4) // Neuer Report
            {
                var repName = "";

                var formNeu = new Fenster.FormNeuerReport();
                if (!formNeu.ShowDialog() ?? false)
                {
                    return;
                }
                repName = formNeu.ReportName;

                string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                _AktAuswertung = new tabAuswertung()
                {
                    Id = Guid.NewGuid(),
                    FilterAuswertung = _Auswahl,
                    ReportName       = repName,
                    ErstelltDatum    = DateTime.Now,
                    ErstelltName     = username,
                    GeaendertDatum   = DateTime.Now,
                    GeaendertName    = username
                };

                switch (_Auswahl)
                {
                case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Add(_AktAuswertung); break;

                case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Add(_AktAuswertung); break;

                case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Add(_AktAuswertung); break;
                }

                _Report.Design();
            }

            else
            {
                switch (vorgang)
                {
                case 1: _Report.Show(); break;

                case 2: _Report.Print(); break;

                case 3: _Report.Design(); break;
                }
            }
        }
예제 #6
0
        private void InitCommands()
        {
            CommandBindings.Add(new CommandBinding(MyCommands.ReportNeu, (sen, erg) =>
            {
                Fenster.FormAuswertungBearbeiten form = new Fenster.FormAuswertungBearbeiten(null);
                if (form.ShowDialog() ?? false)
                {
                    string username = Helper.Benutzer;
                    form.Auswertung.FilterAuswertung = JgMaschineData.EnumFilterAuswertung.Allgemein;
                    form.Auswertung.ErstelltDatum    = DateTime.Now;
                    form.Auswertung.ErstelltName     = username;

                    form.Auswertung.GeaendertName  = form.Auswertung.ErstelltName;
                    form.Auswertung.GeaendertDatum = form.Auswertung.ErstelltDatum;

                    _Auswertungen.Add(form.Auswertung);

                    _Report.Clear();
                    _Report.SetParameterValue("SqlVerbindung", Properties.Settings.Default.DatenbankVerbindungsString);

                    _Report.Design();
                }
            }));

            CommandBindings.Add(new CommandBinding(MyCommands.ReportAnzeigen, ExceReportAnzeigenDruck, CanExecReportVorhandenAndNull));
            CommandBindings.Add(new CommandBinding(MyCommands.ReportDrucken, ExceReportAnzeigenDruck, CanExecReportVorhandenAndNull));
            CommandBindings.Add(new CommandBinding(MyCommands.ReportBearbeiten, ExceReportAnzeigenDruck, CanExecReportVorhanden));

            CommandBindings.Add(new CommandBinding(MyCommands.ReportAusDateiLaden, (sen, erg) =>
            {
                Microsoft.Win32.OpenFileDialog dia = new Microsoft.Win32.OpenFileDialog();
                dia.Filter      = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*";
                dia.FilterIndex = 1;
                if (dia.ShowDialog() ?? false)
                {
                    MemoryStream mem = new MemoryStream();
                    using (Stream f = File.OpenRead(dia.FileName))
                    {
                        f.CopyTo(mem);
                    }
                    _Auswertungen.Current.Report = mem.ToArray();
                    _Auswertungen.DsSave();
                    _Auswertungen.Refresh();
                }
            }, CanExecReportVorhanden));

            CommandBindings.Add(new CommandBinding(MyCommands.ReportOptionen, (sen, erg) =>
            {
                Fenster.FormAuswertungBearbeiten form = new Fenster.FormAuswertungBearbeiten(_Auswertungen.Current);
                if (form.ShowDialog() ?? false)
                {
                    string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                    form.Auswertung.GeaendertName  = username;
                    form.Auswertung.GeaendertDatum = form.Auswertung.ErstelltDatum;
                    _Auswertungen.DsSave();
                }
                else
                {
                    _Auswertungen.Reload();
                }
            }, CanExecReportVorhanden));

            CommandBindings.Add(new CommandBinding(MyCommands.ReportInDateiSpeichern, (sen, erg) =>
            {
                Microsoft.Win32.SaveFileDialog dia = new Microsoft.Win32.SaveFileDialog();
                dia.Filter      = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*";
                dia.FilterIndex = 1;
                if (dia.ShowDialog() ?? false)
                {
                    MemoryStream mem;
                    mem = new MemoryStream(_Auswertungen.Current.Report);
                    using (Stream f = File.Create(dia.FileName))
                    {
                        mem.CopyTo(f);
                    }
                }
            }, CanExecReportVorhandenAndNull));
        }
예제 #7
0
 protected override void OnHandleDestroyed(EventArgs e)
 {
     _report.Clear();
     _report.Dispose();
     base.OnHandleDestroyed(e);
 }
예제 #8
0
        private void BtnDrucken_Click(object sender, RoutedEventArgs e)
        {
            _Report.Clear();
            var vorgang = Convert.ToInt32((sender as Button).Tag);  // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen

            var auswahl = EnumFilterAuswertung.Arbeitszeit;

            if (tcArbeitszeit.SelectedIndex == 1)
            {
                auswahl = EnumFilterAuswertung.ArbeitszeitAuswertung;
            }

            if (vorgang != 4)
            {
                switch (auswahl)
                {
                case EnumFilterAuswertung.Arbeitszeit: _AktuellerReport = _ListeReporteArbeitszeiten.Current; break;

                case EnumFilterAuswertung.ArbeitszeitAuswertung: _AktuellerReport = _ListeReporteAuswertung.Current; break;
                }

                if (_AktuellerReport == null)
                {
                    MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                switch (vorgang)
                {
                case 0:     // Reportname ändern
                    var formNeu = new Fenster.FormReportName(_AktuellerReport.ReportName);
                    if (formNeu.ShowDialog() ?? false)
                    {
                        _AktuellerReport.AnzeigeReportname = formNeu.ReportName;
                        _ListeReporteArbeitszeiten.DsSave();
                    }
                    return;

                case 5:     // Exportieren
                    SaveFileDialog dia = new SaveFileDialog()
                    {
                        FileName    = _AktuellerReport.ReportName,
                        Filter      = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*",
                        FilterIndex = 1
                    };
                    if (dia.ShowDialog() ?? false)
                    {
                        _Report.Save(dia.FileName);
                        MemoryStream mem;
                        mem = new MemoryStream(_AktuellerReport.Report);
                        using (Stream f = File.Create(dia.FileName))
                        {
                            mem.CopyTo(f);
                        }
                    }
                    return;

                case 6:      // Report löschen
                    var mb = MessageBox.Show($"Report {_AktuellerReport.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None);
                    if (mb == MessageBoxResult.Yes)
                    {
                        _AktuellerReport.DatenAbgleich.Geloescht = true;
                        switch (auswahl)
                        {
                        case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Remove(_AktuellerReport); break;

                        case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Remove(_AktuellerReport); break;
                        }
                    }
                    return;
                }

                if (_AktuellerReport.Report == null)
                {
                    vorgang = 3;
                }
                else
                {
                    var mem = new MemoryStream(_AktuellerReport.Report);
                    _Report.Load(mem);
                }
            }

            switch (auswahl)
            {
            case EnumFilterAuswertung.Arbeitszeit:
                var bediener = _ListeArbeitszeitenAuswahl.Daten.Select(s => s.eBediener).Distinct().ToList();
                _Report.RegisterData(bediener.Select(s => new { s.Id, s.Name }).ToList(), "Bediener");

                var dat         = _DzArbeitszeitBis.AnzeigeDatumZeit;
                var db          = _ListeArbeitszeitenAuswahl.Db;
                var sollStunden = JgZeit.StringInZeit(db.tabSollStundenSet.FirstOrDefault(w => (w.Jahr == dat.Year) && (w.Monat == dat.Month) && !w.DatenAbgleich.Geloescht).SollStunden, TimeSpan.Zero);
                var lFeiertage  = db.tabFeiertageSet.Where(w => (w.Datum.Year == dat.Year) && (w.Datum.Month == dat.Month) && !w.DatenAbgleich.Geloescht).ToList();
                var lPausen     = db.tabPausenzeitSet.Where(w => !w.DatenAbgleich.Geloescht).ToList();

                var listeAuswertungen = new List <ArbeitszeitBediener>();

                foreach (var bedAusw in bediener)
                {
                    var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden);
                    ds.BedienerBerechnen(bedAusw, (short)dat.Year, (byte)dat.Month, sollStunden, lFeiertage, lPausen);
                    listeAuswertungen.Add(ds);
                }
                _Report.RegisterData(listeAuswertungen, "Auswertungen");

                _Report.RegisterData(_ListeArbeitszeitenAuswahl.Daten, "Stechzeiten");
                _Report.SetParameterValue("Zeitraum.DatumVon", _DzArbeitszeitVon.AnzeigeDatumZeit);
                _Report.SetParameterValue("Zeitraum.DatumBis", _DzArbeitszeitBis.AnzeigeDatumZeit);
                break;

            case EnumFilterAuswertung.ArbeitszeitAuswertung:
                var aktStandort = _Erstellung.AktuellerBediener.eStandort;

                var bedienerImStandort = _Erstellung.ListeBediener.Daten.Where(w => w.fStandort == aktStandort.Id).ToList();
                var listeAuswertung    = new List <ArbeitszeitBediener>();

                foreach (var bedAusw in bedienerImStandort)
                {
                    var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden);
                    ds.BedienerBerechnen(bedAusw, _Erstellung.Jahr, _Erstellung.Monat, _Erstellung.SollStundenMonat, _Erstellung.ListeFeiertageMonat, _Erstellung.ListePausen.Daten);
                    listeAuswertung.Add(ds);
                }

                _Report.RegisterData(bedienerImStandort.Select(s => new { s.Id, s.Name }).ToList(), "Bediener");
                _Report.RegisterData(listeAuswertung, "ListeAuswertung");
                _Report.SetParameterValue("Auswertung.Monat", (JgZeitHelper.JgZeit.Monate)_Erstellung.Monat);
                _Report.SetParameterValue("Auswertung.Jahr", _Erstellung.Jahr);
                break;

            default:
                break;
            }

            if (vorgang == 4) // Neuer Report
            {
                var repName = "";

                var formNeu = new Fenster.FormReportName();
                if (!formNeu.ShowDialog() ?? false)
                {
                    return;
                }
                repName = formNeu.ReportName;

                string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                _AktuellerReport = new tabAuswertung()
                {
                    Id = Guid.NewGuid(),
                    FilterAuswertung = auswahl,
                    ReportName       = repName,
                    ErstelltDatum    = DateTime.Now,
                    ErstelltName     = username,
                    GeaendertDatum   = DateTime.Now,
                    GeaendertName    = username,
                };

                switch (auswahl)
                {
                case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Add(_AktuellerReport); break;

                case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Add(_AktuellerReport); break;
                }

                _Report.Design();
            }

            else
            {
                switch (vorgang)
                {
                case 1:
                    try
                    {
                        _Report.Show();
                    }
                    catch (Exception ex)
                    {
                        Helper.InfoBox("Fehler beim Aufruf der Auswertung", ex);
                    }
                    break;

                case 2:
                    try
                    {
                        _Report.Print();
                    }
                    catch (Exception ex)
                    {
                        Helper.InfoBox("Fehler beim Drucken der Auswertung", ex);
                    }
                    break;

                case 3:
                    try
                    {
                        _Report.Design();
                    }
                    catch { }
                    break;
                }
            }
        }