コード例 #1
0
        private void PrintOilSample(object obj)
        {
            if (OilSampleEntrySelectedItem == null)
            {
                return;
            }


            if (string.IsNullOrEmpty(OilSamplePrintConfig.PrinterName) || OilSamplePrintConfig.TemplateFileName == null)
            {
                MessageBox.Show("请选择模板和打印机");
                return;
            }

            if (OilSampleEntrySelectedItem.CurrencyPrintCount <= 0 || OilSampleEntrySelectedItem.CurrencyPrintCount > 4)
            {
                MessageBox.Show("一次最大打印张数为4");
                return;
            }

            var batchNo = new PrintService().BarTenderOilSamplePrint(OilSamplePrintConfig, OilSampleEntrySelectedItem);

            //var batchNo = "p020340";
            if (!string.IsNullOrEmpty(batchNo))
            {
                var log = new OilSampleFlowPrintLogModel
                {
                    FormsonId    = OilSampleEntrySelectedItem.Id,
                    Title        = OilSampleFlowSelectedItem.Title,
                    FormmainId   = OilSampleEntrySelectedItem.FormmainId,
                    TypeId       = OilSamplePrintConfig.TemplateTypeId,
                    TypeDesc     = OilSamplePrintConfig.TemplateTypeName,
                    BatchNo      = batchNo,
                    PrintCount   = OilSampleEntrySelectedItem.CurrencyPrintCount,
                    PrintedCount = OilSampleEntrySelectedItem.PrintedCount + OilSampleEntrySelectedItem.CurrencyPrintCount,
                    EntryId      = OilSampleEntrySelectedItem.EntryId
                };
                OilSampleEntrySelectedItem.PrintedCount       = log.PrintedCount;
                OilSampleEntrySelectedItem.CurrencyPrintCount = OilSampleEntrySelectedItem.PrintTotalCount - log.PrintedCount;

                // 写日志
                int id = _oilSampleService.InsertOilSampleFlowLog(log);
                if (id > 0)
                {
                    log.Id = id;
                    OilSampleFlowLogs.Insert(0, log);
                    MessageBox.Show("打印成功");
                }
                else
                {
                    MessageBox.Show("插入日志数据失败,请联系管理员");
                }
            }
            else
            {
                MessageBox.Show($"打印失败");
            }
        }
コード例 #2
0
        private void InitData()
        {
            _oilSampleService.GetOilSampleFlow().ToList().ForEach(x => OilSampleFlows.Add(x));
            _oilSampleService.GetOilSampleFlowLog().ToList().ForEach(x => OilSampleFlowLogs.Add(x));
            ComputerPrinters = CommonService.GetComputerPrinters();

            GetOilSamplePrintConfig();
            GetExpressPrintConfig();
        }
コード例 #3
0
        private void OrderPrintOilSampleEntry(object obj)
        {
            int printCount     = 0;
            int previousCounts = 0;

            if (string.IsNullOrEmpty(OilSamplePrintConfig.PrinterName) || OilSamplePrintConfig.TemplateFileName == null)
            {
                MessageBox.Show("请选择模板和打印机");
                return;
            }

            var data = new ObservableCollection <OilSampleEntryModel>();

            foreach (var item in OilSampleEntries)
            {
                if (item.CurrencyPrintCount > 0)
                {
                    printCount += item.CurrencyPrintCount;

                    if (printCount >= 4)
                    {
                        item.CurrencyPrintCount = 4 - previousCounts;
                        printCount = 4;
                        data.Add(item);
                        break;
                    }
                    else
                    {
                        previousCounts += item.CurrencyPrintCount;
                        data.Add(item);
                    }
                }
            }
            if (printCount == 0 || printCount > 4)
            {
                MessageBox.Show("本流程明细已经全部打印完毕");
                return;
            }


            var r = new PrintService().BarTenderOilSampleEntryMergePrint(OilSamplePrintConfig, data, printCount, OilSampleTemplates);

            if (r)
            {
                // 重新加载明细
                OilSampleEntries.Clear();
                OilSampleFlowLogs.Clear();
                _oilSampleService.GetOilSampleEntries(OilSampleFlowSelectedItem.Id).ToList().ForEach(x => OilSampleEntries.Add(x));
                _oilSampleService.GetOilSampleFlowLog().ToList().ForEach(x => OilSampleFlowLogs.Add(x));
                MessageBox.Show("打印成功");
            }
            else
            {
                MessageBox.Show("打印过程出错,请联系管理员 ");
            }
        }
コード例 #4
0
        private void PrintExpress(object obj)
        {
            if (OilSampleFlowSelectedItem == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(ExpressPrintConfig.PrinterName) || ExpressPrintConfig.TemplateSelectedItem == null)
            {
                MessageBox.Show("请选择模板和打印机");
                return;
            }


            var printResult = new PrintService().BarTenderExpressPrint(ExpressPrintConfig, OilSampleFlowSelectedItem.Id);

            //bool printResult = true;
            if (printResult)
            {
                var log = new OilSampleFlowPrintLogModel
                {
                    FormsonId    = 0,
                    Title        = OilSampleFlowSelectedItem.Title,
                    FormmainId   = OilSampleFlowSelectedItem.Id,
                    TypeId       = ExpressPrintConfig.TemplateTypeId,
                    TypeDesc     = ExpressPrintConfig.TemplateTypeName,
                    BatchNo      = "0",
                    PrintCount   = 1,
                    PrintedCount = OilSampleFlowSelectedItem.ExpressPrintedCount + 1,
                    EntryId      = 0
                };
                OilSampleFlowSelectedItem.ExpressPrintedCount = log.PrintedCount;

                // 写日志
                int id = _oilSampleService.InsertOilSampleFlowLog(log);
                if (id > 0)
                {
                    log.Id = id;
                    OilSampleFlowLogs.Insert(0, log);
                    MessageBox.Show("打印成功");
                }
                else
                {
                    MessageBox.Show("插入日志数据失败,请联系管理员");
                }
            }
            else
            {
                MessageBox.Show($"打印失败");
            }
        }
コード例 #5
0
        private void ModifyOilSampleEntryPrintLog(object obj)
        {
            if (OilSampleEntrySelectedItem == null)
            {
                return;
            }
            var r = _oilSampleService.UpdateOilSampleFlowLog(OilSampleEntrySelectedItem.Id);

            if (r)
            {
                // 重新加载entries 和log
                OilSampleEntries.Clear();
                OilSampleFlowLogs.Clear();
                _oilSampleService.GetOilSampleEntries(OilSampleFlowSelectedItem.Id).ToList().ForEach(x => OilSampleEntries.Add(x));
                _oilSampleService.GetOilSampleFlowLog().ToList().ForEach(x => OilSampleFlowLogs.Add(x));
                MessageBox.Show("该行打印张数已全部清0");
            }
            else
            {
                MessageBox.Show("清空日志失败,请联系管理员");
            }
        }
コード例 #6
0
        private void MergePrintOilSampleEntry(object obj)
        {
            int printCount = 0;

            if (string.IsNullOrEmpty(OilSamplePrintConfig.PrinterName) || OilSamplePrintConfig.TemplateFileName == null)
            {
                MessageBox.Show("请选择模板和打印机");
                return;
            }

            if (OilSampleEntries.Count == 0)
            {
                MessageBox.Show($"请先选择样油明细");
                return;
            }

            var data = new ObservableCollection <OilSampleEntryModel>();

            foreach (var item in OilSampleEntries)
            {
                if (item.IsChecked && item.CurrencyPrintCount > 0)
                {
                    printCount += item.CurrencyPrintCount;
                    data.Add(item);
                }
            }

            if (OilSampleEntries.Count > 1 && printCount > 4)
            {
                MessageBox.Show($"多条明细最多选择打印4小张");
                return;
            }


            if (printCount == 0)
            {
                MessageBox.Show($"打印张数为0,请修改数量");
                return;
            }

            if (printCount > 4)
            {
                printCount = 4;
            }

            var r = new PrintService().BarTenderOilSampleEntryMergePrint(OilSamplePrintConfig, data, printCount, OilSampleTemplates);

            if (r)
            {
                // 重新加载明细
                OilSampleEntries.Clear();
                OilSampleFlowLogs.Clear();
                _oilSampleService.GetOilSampleEntries(OilSampleFlowSelectedItem.Id).ToList().ForEach(x => OilSampleEntries.Add(x));
                _oilSampleService.GetOilSampleFlowLog().ToList().ForEach(x => OilSampleFlowLogs.Add(x));
                MessageBox.Show("打印成功");
            }
            else
            {
                MessageBox.Show("打印过程出错,请联系管理员 ");
            }
        }