fix:log添加

master
sunhonglei 5 months ago
parent 03eb2c56e1
commit 182b168b57
  1. 134
      ViewModel/Grading/GradingResultVM.cs
  2. 4
      Views/Dialog/ExportDialog.xaml.cs
  3. 3
      Views/Dialog/JsonImport.xaml.cs
  4. 3
      Views/Dialog/MessageBox.xaml.cs
  5. 3
      Views/Grading/GradingResult.xaml.cs

@ -23,6 +23,15 @@ using SparkClient.Views.UserControl.ViewportData.Helper;
using System.Diagnostics.Metrics;
using log4net;
using SparkClient.ViewModel.Configuration;
using System.Drawing.Printing;
using System.Drawing;
using RectangleF = System.Drawing.RectangleF;
using FontFamily = System.Drawing.FontFamily;
using FontStyle = System.Drawing.FontStyle;
using NPOI.SS.Formula.Functions;
using System.Windows.Media;
using Brush = System.Drawing.Brush;
using Brushes = System.Drawing.Brushes;
namespace SparkClient.ViewModel.Grading;
/// <summary>
@ -828,6 +837,7 @@ public class GradingResultVM : BaseViewModel
}
}
SaveTestResult(SaveStatus.SaveAs);
//PrintLabel();
}
catch (Exception ex)
{
@ -1644,6 +1654,130 @@ public class GradingResultVM : BaseViewModel
}
#endregion
public void PrintLabel()
{
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += new PrintPageEventHandler(PrintPageHandler);
printDoc.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 550, 300);
PrintDialog printDialog = new PrintDialog();
printDialog.Document = printDoc;
if (printDialog.ShowDialog() == DialogResult.OK)
{
printDoc.Print();
}
}
private void PrintPageHandler(object sender, PrintPageEventArgs e)
{
var result = algorithmResult.measurements;
int startX = 10;
int startY = 10;
var col2X = startX + 90;
var col3X = col2X + 70;
// 设置字体
Font font = new Font(FontFamily.GenericSerif, 12, FontStyle.Bold);
// 设置颜色
Brush brush = Brushes.Black;
// 设置对齐方式
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center; // 水平居中
format.LineAlignment = StringAlignment.Center; // 垂直居中
// 绘制文本
// 第一行
int X = startX;
int Y = startY;
e.Graphics.DrawString(Standard, font, brush, new PointF(X, Y));
X += 70;
e.Graphics.DrawString(Shape, font, brush, new PointF(X, Y));
X += 50;
e.Graphics.DrawString($"ID:{DiamondCode}", font, brush, new PointF(X, Y));
X += 100;
e.Graphics.DrawString($"Weight:{Wight}ct.", font, brush, new PointF(X, Y));
X += 120;
Brush backgroundBrush = new SolidBrush(System.Drawing.Color.Black); // 背景色为黄色
e.Graphics.FillRectangle(backgroundBrush, new RectangleF(X, Y, 200, font.Height));
e.Graphics.DrawString(CutLevelTotal, font, Brushes.White, new PointF(X, Y));
// 第二行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Diameter", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{FormatDouble_D(result.DIAMETER)}mm", font, brush, new PointF(col2X, Y));
e.Graphics.DrawString($"({FormatDouble_D(result.M1)}mm-{FormatDouble_D(result.M2)}mm)", font, brush, new PointF(col3X, Y));
e.Graphics.DrawString($"0.3%", font, brush, new PointF(310, Y));
e.Graphics.FillRectangle(backgroundBrush, new RectangleF(350, Y, 200, font.Height));
e.Graphics.DrawString(SymLevelTotal, font, Brushes.White, new PointF(X, Y));
// 第三行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Total Dep.", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_D(result.DIAMETER * result.TOTAL_DEPTH)}mm", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"{FormatDouble_P(result.TOTAL_DEPTH)}%", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{DtResults.Where(X=> "TOTAL_DEPTH".Equals(X.TestItemId)).Select(X=>X.CutLevel).FirstOrDefault()}", font, brush, new PointF(480, Y));
// 第四行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Table", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_D(result.DIAMETER * result.TABLE)}mm", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"{FormatDouble_P(result.TABLE)}%", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "TABLE".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(480, Y));
// 第五行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Crown", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_A(result.CROWN_ANGLE)}°", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"({FormatDouble_A(result.CROWN_ANGLE_MIN)}°-{FormatDouble_A(result.CROWN_ANGLE_MAX)}°)", font, brush, new PointF(X, Y));
X += 120;
e.Graphics.DrawString($"({FormatDouble_A(result.CROWN_HEIGHT)}%)", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "CROWN_ANGLE".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(410, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "CROWN_HEIGHT".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(480, Y));
// 第六行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Pavil.", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_A(result.PAV_ANGLE)}°", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"({FormatDouble_A(result.PAV_ANGLE_MIN)}°-{FormatDouble_A(result.PAV_ANGLE_MAX)}°)", font, brush, new PointF(X, Y));
X += 120;
e.Graphics.DrawString($"({FormatDouble_A(result.PAV_DEPTH)}%)", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "PAV_ANGLE".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(410, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "PAV_DEPTH".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(480, Y));
// 第七行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Culet", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_P(result.CULET)}%", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"Twist", font, brush, new PointF(X, Y));
X += 60;
e.Graphics.DrawString($"({FormatDouble_A(result.TWIST_MIN)}°-{FormatDouble_A(result.TWIST_MAX)}°)", font, brush, new PointF(X, Y));
// 第八行
X = startX;
Y += font.Height;
e.Graphics.DrawString("Girdle 16M", font, brush, new PointF(X, Y));
X = col2X;
e.Graphics.DrawString($"{FormatDouble_D(result.GIRDLE_VALLEY)}", font, brush, new PointF(X, Y));
X = col3X;
e.Graphics.DrawString($"({FormatDouble_P(result.GIRDLE_VALLEY_MIN)}%-{FormatDouble_P(result.GIRDLE_VALLEY_MAX)}%)", font, brush, new PointF(X, Y));
e.Graphics.DrawString($"{DtResults.Where(X => "GIRDLE".Equals(X.TestItemId)).Select(X => X.CutLevel).FirstOrDefault()}", font, brush, new PointF(480, Y));
}
#region 钻石操作相关
//暂略
//部分代码(直接操作控件)需要在xaml.cs里边写

@ -1,4 +1,5 @@
using System;
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -19,6 +20,7 @@ namespace SparkClient.Views.Dialog
/// </summary>
public partial class ExportDialog : Window
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(ExportDialog));
public ExportDialog()
{
InitializeComponent();

@ -1,6 +1,8 @@
using HandyControl.Controls;
using log4net;
using SparkClient.ViewModel;
using SparkClient.ViewModel.Dialog;
using SparkClient.Views.Grading;
using System.IO;
using System.Windows;
using System.Windows.Controls;
@ -14,6 +16,7 @@ namespace SparkClient.Views.Dialog
/// </summary>
public partial class JsonImport
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(JsonImport));
public BaseViewModel ViewModel = null;
public JsonImport()
{

@ -3,12 +3,15 @@ using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using log4net;
using SparkClient.Model.Helper;
using SparkClient.Views.Grading;
namespace SparkClient.Views.Dialog;
public partial class MessageBox : Window
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(GradingResult));
public MessageBox()
{
InitializeComponent();

@ -4,6 +4,7 @@ using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using log4net;
using SparkClient.ViewModel.Grading;
using GeometryModel3D = HelixToolkit.Wpf.SharpDX.GeometryModel3D;
@ -11,6 +12,8 @@ namespace SparkClient.Views.Grading;
public partial class GradingResult
{
private static readonly ILog Logger = LogManager.GetLogger(typeof(GradingResult));
// List<Viewport3DTriangleEntity> triangles = new List<Viewport3DTriangleEntity>();
List<GeometryModel3D> mouseAddModels = new List<GeometryModel3D>();
// 用于记录当前所有已存在的Popup

Loading…
Cancel
Save