From 30458c0bca8066d98ca901b5065832a44a7e970e Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期四, 16 七月 2020 15:47:22 +0800 Subject: [PATCH] 测量结果 查询+导出功能 --- src/Bro.UI.Config/App.config | 1 src/Bro.M071.Process/UI/M071_DataForm.resx | 39 +++ src/Bro.M071.Model/Model/KeyUnitData.cs | 37 +++ src/Bro.M071.Process/UI/M071_DataForm.cs | 219 ++++++++++++++++++++- src/Bro.M071.DBManager/MeasurementUnitResultManager.cs | 87 ++++++++ src/Bro.M071.Process/UI/M071_DataForm.Designer.cs | 175 +++++++++-------- src/Bro.M071.Model/Model/MeasurementUnitResult.cs | 28 ++ 7 files changed, 486 insertions(+), 100 deletions(-) diff --git a/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs b/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs index 0d49ead..29a5303 100644 --- a/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs +++ b/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs @@ -1,6 +1,7 @@ 锘縰sing Bro.Common.Helper; using Bro.M071.Model; using Bro.M071.Model.Model; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using System; using System.Collections; using System.Collections.Generic; @@ -75,11 +76,11 @@ ProductionCode = productionMeasurementRecords.ProductionCode, ProductionBarcode = productionMeasurementRecords.ProductionBarcode, ProductionMeasurementRecordsId = productionMeasurementRecords.ID, - OperationStartTime= productionMeasurementRecords.OperationStartTime, + OperationStartTime = productionMeasurementRecords.OperationStartTime, OperationEndTime = productionMeasurementRecords.OperationEndTime, - Id= measurementUnitResult.ID, - MeasurementName= measurementUnitResult.MeasurementName, + Id = measurementUnitResult.ID, + MeasurementName = measurementUnitResult.MeasurementName, MeasurementType = measurementUnitResult.MeasurementType, MeasurementValue = measurementUnitResult.MeasurementValue, MeasurementResult = measurementUnitResult.MeasurementResult @@ -90,6 +91,86 @@ } } + + public ProductionMeasurementUnitResultExportDataSet GetProductionMeasurementUnitResultExportDataSet(MeasurementUnitResultRequest request) + { + ProductionMeasurementUnitResultExportDataSet productionMeasurementUnitResultExportDataSet = new ProductionMeasurementUnitResultExportDataSet(); + using (DBModel context = new DBModel()) + { + var mList = context.MeasurementUnitResult.Where(u => u.IS_DELETED == 0); + var pList = context.ProductionMeasurementRecords.Where(u => u.IS_DELETED == 0); + var kList = context.KeyUnitData.Where(u => u.IS_DELETED == 0); + + if (!string.IsNullOrWhiteSpace(request.ProductionBarcode)) + { + pList = pList.Where(u => u.ProductionBarcode.Contains(request.ProductionBarcode)); + } + if (!string.IsNullOrWhiteSpace(request.ProductionCode)) + { + pList = pList.Where(u => u.ProductionCode.Contains(request.ProductionCode)); + } + if (request.StartTime != null) + { + pList = pList.Where(u => u.OperationStartTime >= request.StartTime); + } + if (request.EndTime != null) + { + pList = pList.Where(u => u.OperationStartTime <= request.EndTime); + } + + //mList + if (!string.IsNullOrWhiteSpace(request.MeasurementName)) + { + mList = mList.Where(u => u.MeasurementName.Contains(request.MeasurementName)); + } + if (!string.IsNullOrWhiteSpace(request.MeasurementResult)) + { + mList = mList.Where(u => u.MeasurementResult == request.MeasurementResult); + } + if (!string.IsNullOrWhiteSpace(request.MeasurementType)) + { + mList = mList.Where(u => u.MeasurementType == request.MeasurementType); + } + + productionMeasurementUnitResultExportDataSet.ProductionMeasurementRecordList = pList.ToList(); + var measurementUnitResults = from productionMeasurementRecords in pList + join measurementUnitResult in mList on productionMeasurementRecords.ID equals measurementUnitResult.ProductionMeasurementRecordsId + select new MeasurementUnitResult_DTO + { + ProductionCode = productionMeasurementRecords.ProductionCode, + ProductionBarcode = productionMeasurementRecords.ProductionBarcode, + ProductionMeasurementRecordsId = productionMeasurementRecords.ID, + OperationStartTime = productionMeasurementRecords.OperationStartTime, + OperationEndTime = productionMeasurementRecords.OperationEndTime, + + Id = measurementUnitResult.ID, + MeasurementName = measurementUnitResult.MeasurementName, + MeasurementType = measurementUnitResult.MeasurementType, + MeasurementValue = measurementUnitResult.MeasurementValue, + MeasurementResult = measurementUnitResult.MeasurementResult + }; + + productionMeasurementUnitResultExportDataSet.MeasurementUnitResultList = measurementUnitResults.ToList(); + + var keyUnitDataQuery = from productionMeasurementRecords in pList + join keyUnitData in kList on productionMeasurementRecords.ID equals + keyUnitData.ProductionMeasurementRecordsId + select new KeyUnitData_DTO + { + ProductionCode = productionMeasurementRecords.ProductionCode, + ProductionBarcode = productionMeasurementRecords.ProductionBarcode, + ProductionMeasurementRecordsId = productionMeasurementRecords.ID, + + Id = keyUnitData.ID, + Key = keyUnitData.Key, + MeasurementItem = keyUnitData.MeasurementItem, + ItemValue = keyUnitData.ItemValue, + }; + productionMeasurementUnitResultExportDataSet.KeyUnitDataList = keyUnitDataQuery.ToList(); + + return productionMeasurementUnitResultExportDataSet; + } + } public void BatchAddMeasurementUnitResult(List<MeasurementUnitResult> records) { try diff --git a/src/Bro.M071.Model/Model/KeyUnitData.cs b/src/Bro.M071.Model/Model/KeyUnitData.cs index b583e78..3c58fe3 100644 --- a/src/Bro.M071.Model/Model/KeyUnitData.cs +++ b/src/Bro.M071.Model/Model/KeyUnitData.cs @@ -34,6 +34,11 @@ [StringLength(64)] public string ItemValue { get; set; } + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + [NotMapped] + public string ProductionCode { get; set; } [NotMapped] public string ProductionBarcode { get; set; } } @@ -42,4 +47,36 @@ { } + public class KeyUnitData_DTO + { + public string Id { get; set; } + + /// <summary> + /// 浜у搧娴嬮噺璁板綍Id + /// </summary> + public string ProductionMeasurementRecordsId { get; set; } + + /// <summary> + /// 閿崟鍏� + /// </summary> + public string Key { get; set; } + + /// <summary> + /// 妫�娴嬮」 + /// </summary> + public string MeasurementItem { get; set; } + + /// <summary> + /// 璇ラ敭 妫�娴嬮」 鐨勫�� + /// </summary> + public string ItemValue { get; set; } + + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + public string ProductionCode { get; set; } + + public string ProductionBarcode { get; set; } + } + } diff --git a/src/Bro.M071.Model/Model/MeasurementUnitResult.cs b/src/Bro.M071.Model/Model/MeasurementUnitResult.cs index 3ae292f..881a51a 100644 --- a/src/Bro.M071.Model/Model/MeasurementUnitResult.cs +++ b/src/Bro.M071.Model/Model/MeasurementUnitResult.cs @@ -110,6 +110,34 @@ } } + public class ProductionMeasurementUnitResultExportDataSet + { + + public List<ProductionMeasurementRecords> ProductionMeasurementRecordList { get; set; } + + ///// <summary> + ///// 鍏崇郴鏁版嵁 + ///// </summary> + //public List<MeasurementAndKeyDataRelation> MeasurementAndKeyDataRelationList { get; set; } + + /// <summary> + /// 妫�娴嬬粨鏋� + /// </summary> + public List<MeasurementUnitResult_DTO> MeasurementUnitResultList { get; set; } + + /// <summary> + /// 鍘熷鏁版嵁 + /// </summary> + public List<KeyUnitData_DTO> KeyUnitDataList { get; set; } + + public ProductionMeasurementUnitResultExportDataSet() + { + ProductionMeasurementRecordList = new List<ProductionMeasurementRecords>(); + MeasurementUnitResultList = new List<MeasurementUnitResult_DTO>(); + KeyUnitDataList = new List<KeyUnitData_DTO>(); + } + } + /// <summary> /// MeasurementUnitResult_DTO 鏁版嵁搴撴煡璇娇鐢� /// </summary> diff --git a/src/Bro.M071.Process/UI/M071_DataForm.Designer.cs b/src/Bro.M071.Process/UI/M071_DataForm.Designer.cs index 97d12a0..b637a0b 100644 --- a/src/Bro.M071.Process/UI/M071_DataForm.Designer.cs +++ b/src/Bro.M071.Process/UI/M071_DataForm.Designer.cs @@ -28,10 +28,10 @@ /// </summary> private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle45 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle46 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle47 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle48 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); @@ -72,6 +72,14 @@ this.buttonToBeforePage_MR = new System.Windows.Forms.Button(); this.buttonToFirstPage_MR = new System.Windows.Forms.Button(); this.dataGridView2 = new System.Windows.Forms.DataGridView(); + this.ProductionCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ProductionBarcode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasurementName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasurementType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasurementValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.MeasurementResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.OperationStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.OperationEndTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); this.comboBoxMeasurementType_MR = new System.Windows.Forms.ComboBox(); this.label10 = new System.Windows.Forms.Label(); @@ -90,14 +98,6 @@ this.panel3 = new System.Windows.Forms.Panel(); this.buttonExport_MR = new System.Windows.Forms.Button(); this.buttonQuery_MR = new System.Windows.Forms.Button(); - this.ProductionCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ProductionBarcode = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurementName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurementType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurementValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.MeasurementResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.OperationStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.OperationEndTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); @@ -186,6 +186,7 @@ this.textBoxPageNum.Name = "textBoxPageNum"; this.textBoxPageNum.Size = new System.Drawing.Size(80, 21); this.textBoxPageNum.TabIndex = 2; + this.textBoxPageNum.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ToPage); // // buttonToLastPage // @@ -197,6 +198,7 @@ this.buttonToLastPage.TabIndex = 1; this.buttonToLastPage.Text = "鏈�鍚庨〉"; this.buttonToLastPage.UseVisualStyleBackColor = true; + this.buttonToLastPage.Click += new System.EventHandler(this.buttonToLastPage_Click); // // buttonToNextPage // @@ -208,6 +210,7 @@ this.buttonToNextPage.TabIndex = 1; this.buttonToNextPage.Text = "鍚庝竴椤�"; this.buttonToNextPage.UseVisualStyleBackColor = true; + this.buttonToNextPage.Click += new System.EventHandler(this.buttonToNextPage_Click); // // buttonToBeforePage // @@ -219,6 +222,7 @@ this.buttonToBeforePage.TabIndex = 1; this.buttonToBeforePage.Text = "鍓嶄竴椤�"; this.buttonToBeforePage.UseVisualStyleBackColor = true; + this.buttonToBeforePage.Click += new System.EventHandler(this.buttonToBeforePage_Click); // // buttonToFirstPage // @@ -230,6 +234,7 @@ this.buttonToFirstPage.TabIndex = 1; this.buttonToFirstPage.Text = "绗竴椤�"; this.buttonToFirstPage.UseVisualStyleBackColor = true; + this.buttonToFirstPage.Click += new System.EventHandler(this.buttonToFirstPage_Click); // // labelTotal // @@ -287,9 +292,9 @@ // Column4 // this.Column4.DataPropertyName = "OperationStartTime"; - dataGridViewCellStyle1.Format = "G"; - dataGridViewCellStyle1.NullValue = null; - this.Column4.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle45.Format = "G"; + dataGridViewCellStyle45.NullValue = null; + this.Column4.DefaultCellStyle = dataGridViewCellStyle45; this.Column4.HeaderText = "鐢熶骇鏃堕棿(寮�濮�)"; this.Column4.Name = "Column4"; this.Column4.ReadOnly = true; @@ -298,9 +303,9 @@ // Column5 // this.Column5.DataPropertyName = "OperationEndTime"; - dataGridViewCellStyle2.Format = "G"; - dataGridViewCellStyle2.NullValue = null; - this.Column5.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle46.Format = "G"; + dataGridViewCellStyle46.NullValue = null; + this.Column5.DefaultCellStyle = dataGridViewCellStyle46; this.Column5.HeaderText = "鐢熶骇鏃堕棿(缁撴潫)"; this.Column5.Name = "Column5"; this.Column5.ReadOnly = true; @@ -532,6 +537,7 @@ this.textBoxPageNum_MR.Name = "textBoxPageNum_MR"; this.textBoxPageNum_MR.Size = new System.Drawing.Size(80, 21); this.textBoxPageNum_MR.TabIndex = 2; + this.textBoxPageNum_MR.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ToPageMR); // // buttonToLastPage_MR // @@ -543,6 +549,7 @@ this.buttonToLastPage_MR.TabIndex = 1; this.buttonToLastPage_MR.Text = "鏈�鍚庨〉"; this.buttonToLastPage_MR.UseVisualStyleBackColor = true; + this.buttonToLastPage_MR.Click += new System.EventHandler(this.buttonToLastPage_MR_Click); // // buttonToNextPage_MR // @@ -554,6 +561,7 @@ this.buttonToNextPage_MR.TabIndex = 1; this.buttonToNextPage_MR.Text = "鍚庝竴椤�"; this.buttonToNextPage_MR.UseVisualStyleBackColor = true; + this.buttonToNextPage_MR.Click += new System.EventHandler(this.buttonToNextPage_MR_Click); // // buttonToBeforePage_MR // @@ -565,6 +573,7 @@ this.buttonToBeforePage_MR.TabIndex = 1; this.buttonToBeforePage_MR.Text = "鍓嶄竴椤�"; this.buttonToBeforePage_MR.UseVisualStyleBackColor = true; + this.buttonToBeforePage_MR.Click += new System.EventHandler(this.buttonToBeforePage_MR_Click); // // buttonToFirstPage_MR // @@ -576,6 +585,7 @@ this.buttonToFirstPage_MR.TabIndex = 1; this.buttonToFirstPage_MR.Text = "绗竴椤�"; this.buttonToFirstPage_MR.UseVisualStyleBackColor = true; + this.buttonToFirstPage_MR.Click += new System.EventHandler(this.buttonToFirstPage_MR_Click); // // dataGridView2 // @@ -599,6 +609,70 @@ this.dataGridView2.RowTemplate.Height = 23; this.dataGridView2.Size = new System.Drawing.Size(751, 579); this.dataGridView2.TabIndex = 2; + // + // ProductionCode + // + this.ProductionCode.DataPropertyName = "ProductionCode"; + this.ProductionCode.HeaderText = "浜у搧缂栫爜"; + this.ProductionCode.Name = "ProductionCode"; + this.ProductionCode.ReadOnly = true; + // + // ProductionBarcode + // + this.ProductionBarcode.DataPropertyName = "ProductionBarcode"; + this.ProductionBarcode.HeaderText = "浜у搧鏉$爜"; + this.ProductionBarcode.Name = "ProductionBarcode"; + this.ProductionBarcode.ReadOnly = true; + // + // MeasurementName + // + this.MeasurementName.DataPropertyName = "MeasurementName"; + this.MeasurementName.HeaderText = "妫�娴嬪悕绉�"; + this.MeasurementName.Name = "MeasurementName"; + this.MeasurementName.ReadOnly = true; + // + // MeasurementType + // + this.MeasurementType.DataPropertyName = "MeasurementType"; + this.MeasurementType.HeaderText = "妫�娴嬬被鍨�"; + this.MeasurementType.Name = "MeasurementType"; + this.MeasurementType.ReadOnly = true; + // + // MeasurementValue + // + this.MeasurementValue.DataPropertyName = "MeasurementValue"; + this.MeasurementValue.HeaderText = "妫�娴嬪��"; + this.MeasurementValue.Name = "MeasurementValue"; + this.MeasurementValue.ReadOnly = true; + // + // MeasurementResult + // + this.MeasurementResult.DataPropertyName = "MeasurementResult"; + this.MeasurementResult.HeaderText = "妫�娴嬬粨鏋�"; + this.MeasurementResult.Name = "MeasurementResult"; + this.MeasurementResult.ReadOnly = true; + // + // OperationStartTime + // + this.OperationStartTime.DataPropertyName = "OperationStartTime"; + dataGridViewCellStyle47.Format = "G"; + dataGridViewCellStyle47.NullValue = null; + this.OperationStartTime.DefaultCellStyle = dataGridViewCellStyle47; + this.OperationStartTime.HeaderText = "鐢熶骇鏃堕棿(寮�濮�)"; + this.OperationStartTime.Name = "OperationStartTime"; + this.OperationStartTime.ReadOnly = true; + this.OperationStartTime.Width = 120; + // + // OperationEndTime + // + this.OperationEndTime.DataPropertyName = "OperationEndTime"; + dataGridViewCellStyle48.Format = "G"; + dataGridViewCellStyle48.NullValue = null; + this.OperationEndTime.DefaultCellStyle = dataGridViewCellStyle48; + this.OperationEndTime.HeaderText = "鐢熶骇鏃堕棿(缁撴潫)"; + this.OperationEndTime.Name = "OperationEndTime"; + this.OperationEndTime.ReadOnly = true; + this.OperationEndTime.Width = 120; // // tableLayoutPanel4 // @@ -808,6 +882,7 @@ this.buttonExport_MR.TabIndex = 18; this.buttonExport_MR.Text = "瀵煎嚭"; this.buttonExport_MR.UseVisualStyleBackColor = true; + this.buttonExport_MR.Click += new System.EventHandler(this.buttonExport_MR_Click); // // buttonQuery_MR // @@ -820,70 +895,6 @@ this.buttonQuery_MR.Text = "鏌ヨ"; this.buttonQuery_MR.UseVisualStyleBackColor = true; this.buttonQuery_MR.Click += new System.EventHandler(this.buttonQuery_MR_Click); - // - // ProductionCode - // - this.ProductionCode.DataPropertyName = "ProductionCode"; - this.ProductionCode.HeaderText = "浜у搧缂栫爜"; - this.ProductionCode.Name = "ProductionCode"; - this.ProductionCode.ReadOnly = true; - // - // ProductionBarcode - // - this.ProductionBarcode.DataPropertyName = "ProductionBarcode"; - this.ProductionBarcode.HeaderText = "浜у搧鏉$爜"; - this.ProductionBarcode.Name = "ProductionBarcode"; - this.ProductionBarcode.ReadOnly = true; - // - // MeasurementName - // - this.MeasurementName.DataPropertyName = "MeasurementName"; - this.MeasurementName.HeaderText = "妫�娴嬪悕绉�"; - this.MeasurementName.Name = "MeasurementName"; - this.MeasurementName.ReadOnly = true; - // - // MeasurementType - // - this.MeasurementType.DataPropertyName = "MeasurementType"; - this.MeasurementType.HeaderText = "妫�娴嬬被鍨�"; - this.MeasurementType.Name = "MeasurementType"; - this.MeasurementType.ReadOnly = true; - // - // MeasurementValue - // - this.MeasurementValue.DataPropertyName = "MeasurementValue"; - this.MeasurementValue.HeaderText = "妫�娴嬪��"; - this.MeasurementValue.Name = "MeasurementValue"; - this.MeasurementValue.ReadOnly = true; - // - // MeasurementResult - // - this.MeasurementResult.DataPropertyName = "MeasurementResult"; - this.MeasurementResult.HeaderText = "妫�娴嬬粨鏋�"; - this.MeasurementResult.Name = "MeasurementResult"; - this.MeasurementResult.ReadOnly = true; - // - // OperationStartTime - // - this.OperationStartTime.DataPropertyName = "OperationStartTime"; - dataGridViewCellStyle3.Format = "G"; - dataGridViewCellStyle3.NullValue = null; - this.OperationStartTime.DefaultCellStyle = dataGridViewCellStyle3; - this.OperationStartTime.HeaderText = "鐢熶骇鏃堕棿(寮�濮�)"; - this.OperationStartTime.Name = "OperationStartTime"; - this.OperationStartTime.ReadOnly = true; - this.OperationStartTime.Width = 120; - // - // OperationEndTime - // - this.OperationEndTime.DataPropertyName = "OperationEndTime"; - dataGridViewCellStyle4.Format = "G"; - dataGridViewCellStyle4.NullValue = null; - this.OperationEndTime.DefaultCellStyle = dataGridViewCellStyle4; - this.OperationEndTime.HeaderText = "鐢熶骇鏃堕棿(缁撴潫)"; - this.OperationEndTime.Name = "OperationEndTime"; - this.OperationEndTime.ReadOnly = true; - this.OperationEndTime.Width = 120; // // M071_DataForm // diff --git a/src/Bro.M071.Process/UI/M071_DataForm.cs b/src/Bro.M071.Process/UI/M071_DataForm.cs index 213b464..5b306db 100644 --- a/src/Bro.M071.Process/UI/M071_DataForm.cs +++ b/src/Bro.M071.Process/UI/M071_DataForm.cs @@ -1,11 +1,15 @@ -锘縰sing Bro.M071.DBManager; +锘縰sing Bro.Common.Helper; +using Bro.M071.DBManager; using Bro.M071.Model.Model; using Bro.UI.Model.Winform; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using System; using System.Collections.Generic; using System.ComponentModel; +using System.Configuration; using System.Data; using System.Drawing; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -18,6 +22,10 @@ { public ProductionMeasurementRecordsManager _productionMeasurementRecordsManager = new ProductionMeasurementRecordsManager(); public MeasurementUnitResultManager _measurementUnitResultManager = new MeasurementUnitResultManager(); + + ProductionMeasurementRecordsRequest recordsRequest = new ProductionMeasurementRecordsRequest(); + MeasurementUnitResultRequest resultRequest = new MeasurementUnitResultRequest(); + public M071_DataForm() { InitializeComponent(); @@ -33,7 +41,54 @@ private void buttonQuery_Click(object sender, EventArgs e) { - ProductionMeasurementRecordsRequest recordsRequest = new ProductionMeasurementRecordsRequest(); + recordsRequest.PageNum = 1; + GetProductionMeasurementRecords(); + } + private void buttonToFirstPage_Click(object sender, EventArgs e) + { + recordsRequest.PageNum = 1; + GetProductionMeasurementRecords(); + } + private void buttonToBeforePage_Click(object sender, EventArgs e) + { + if (recordsRequest.PageNum != 1) + { + recordsRequest.PageNum = recordsRequest.PageNum - 1; + GetProductionMeasurementRecords(); + } + } + private void buttonToNextPage_Click(object sender, EventArgs e) + { + if (recordsRequest.PageNum != recordsRequest.TotalPage && recordsRequest.TotalPage != 0) + { + recordsRequest.PageNum = recordsRequest.PageNum + 1; + GetProductionMeasurementRecords(); + } + } + private void buttonToLastPage_Click(object sender, EventArgs e) + { + if (recordsRequest.TotalPage != 0) + { + recordsRequest.PageNum = recordsRequest.TotalPage; + GetProductionMeasurementRecords(); + } + } + + private void ToPage(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + recordsRequest.PageNum = Convert.ToInt32(textBoxPageNum.Text); + if (recordsRequest.PageNum > recordsRequest.TotalPage) + { + recordsRequest.PageNum = recordsRequest.TotalPage == 0 ? 1 : recordsRequest.TotalPage; + } + GetProductionMeasurementRecords(); + } + } + + private void GetProductionMeasurementRecords() + { recordsRequest.ProductionCode = textBoxPCode.Text; recordsRequest.ProductionBarcode = textBoxPBarCode.Text; recordsRequest.ProductionResult = comboBoxPResult.SelectedItem?.ToString(); @@ -46,35 +101,169 @@ labelTotal.Text = $"鏁伴噺:{recordsRequest.TotalNum} 鎬婚〉鏁�:{recordsRequest.TotalPage}"; textBoxPageNum.Text = recordsRequest.PageNum.ToString(); } - #endregion #region 娴嬮噺缁撴灉 private void InitialMeasurementResultLayout() { comboBoxResult_MR.DataSource = new List<string>() { "", "OK", "NG" }; - comboBoxMeasurementType_MR.DataSource = new List<string>() { "", "Slant", "HeightAlignment", "FullRowHeightAlignment" }; + comboBoxMeasurementType_MR.DataSource = new List<string>() { "", "Slant", "Alignment", "RowAlignment" }; } private void buttonQuery_MR_Click(object sender, EventArgs e) { - MeasurementUnitResultRequest recordsRequest = new MeasurementUnitResultRequest(); - recordsRequest.ProductionCode = textBoxPCode_MR.Text; - recordsRequest.ProductionBarcode = textBoxtextBoxPBarCode_MR.Text; - recordsRequest.MeasurementName = textBoxMeasurementName_MR.Text; - recordsRequest.MeasurementType = comboBoxMeasurementType_MR.SelectedItem?.ToString(); - recordsRequest.MeasurementResult = comboBoxResult_MR.SelectedItem?.ToString(); - recordsRequest.StartTime = Convert.ToDateTime(dateTimePickerStartTime_MR.Value.ToString("D").ToString()); - recordsRequest.EndTime = Convert.ToDateTime(dateTimePickerEndTime_MR.Value.AddDays(1).ToString("D").ToString()).AddSeconds(-1); + resultRequest.PageNum = 1; + GetMeasurementUnitResult(); + } - var queryData = _measurementUnitResultManager.GetMeasurementUnitResult(recordsRequest); + private void GetMeasurementUnitResult() + { + resultRequest.ProductionCode = textBoxPCode_MR.Text; + resultRequest.ProductionBarcode = textBoxtextBoxPBarCode_MR.Text; + resultRequest.MeasurementName = textBoxMeasurementName_MR.Text; + resultRequest.MeasurementType = comboBoxMeasurementType_MR.SelectedItem?.ToString(); + resultRequest.MeasurementResult = comboBoxResult_MR.SelectedItem?.ToString(); + resultRequest.StartTime = Convert.ToDateTime(dateTimePickerStartTime_MR.Value.ToString("D").ToString()); + resultRequest.EndTime = Convert.ToDateTime(dateTimePickerEndTime_MR.Value.AddDays(1).ToString("D").ToString()).AddSeconds(-1); + + var queryData = _measurementUnitResultManager.GetMeasurementUnitResult(resultRequest); + dataGridView2.AutoGenerateColumns = false; dataGridView2.DataSource = queryData; labelTotal_MR.Text = $"鏁伴噺:{recordsRequest.TotalNum} 鎬婚〉鏁�:{recordsRequest.TotalPage}"; textBoxPageNum_MR.Text = recordsRequest.PageNum.ToString(); + } + private void ToPageMR(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + resultRequest.PageNum = Convert.ToInt32(textBoxPageNum.Text); + if (resultRequest.PageNum > resultRequest.TotalPage) + { + resultRequest.PageNum = resultRequest.TotalPage == 0 ? 1 : resultRequest.TotalPage; + } + GetMeasurementUnitResult(); + } + } + private void buttonExport_MR_Click(object sender, EventArgs e) + { + try + { + var exportData = GetMeasurementUnitResultAndKeyUnitData(); + if (exportData != null) + { + ExportProductionExcel(exportData); + MessageBox.Show("瀵煎嚭瀹屾垚"); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + private void ExportProductionExcel(ProductionMeasurementUnitResultExportDataSet productionMeasurementUnitResultExportDataSet) + { + ExcelExportSet excelExportDto = new ExcelExportSet(); + excelExportDto.Worksheets = new List<string>() { "鐢熶骇璁板綍", "妫�娴嬬粨鏋�", "鍘熷鏁版嵁" }; + var productionRecordsColumns = new Dictionary<string, string>() + { + {"ProductionCode", "浜у搧缂栫爜"}, + {"ProductionBarcode", "浜у搧鏉$爜"}, + {"ProductionResult", "浜у搧缁撴灉"}, + {"OperationStartTime", "鎿嶄綔寮�濮嬫椂闂�"}, + {"OperationEndTime", "鎿嶄綔缁撴潫鏃堕棿"} + }; + + var keyUnitColumns = new Dictionary<string, string>() + { + {"ProductionBarcode", "浜у搧鏉$爜"}, + {"Key", "閿�"}, + {"MeasurementItem", "妫�娴嬮」"}, + {"ItemValue", "妫�娴嬪��"} + }; + var measurementUnitResultColumns = new Dictionary<string, string>() + { + {"ProductionBarcode", "浜у搧鏉$爜"}, + {"MeasurementName", "妫�娴嬪悕绉�"}, + {"MeasurementType", "妫�娴嬬被鍨�"}, + {"MeasurementValue", "妫�娴嬪��"}, + {"MeasurementResult", "妫�娴嬬粨鏋�"}, + }; + + excelExportDto.WorksheetColumns[excelExportDto.Worksheets[0]] = productionRecordsColumns; + excelExportDto.WorksheetColumns[excelExportDto.Worksheets[1]] = keyUnitColumns; + excelExportDto.WorksheetColumns[excelExportDto.Worksheets[2]] = measurementUnitResultColumns; + + excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[0]] = ExcelExportHelper.ListToDataTable(productionMeasurementUnitResultExportDataSet.ProductionMeasurementRecordList, productionRecordsColumns); + excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(productionMeasurementUnitResultExportDataSet.KeyUnitDataList, keyUnitColumns); + excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[2]] = ExcelExportHelper.ListToDataTable(productionMeasurementUnitResultExportDataSet.MeasurementUnitResultList, measurementUnitResultColumns); + + var exportPath = ConfigurationManager.AppSettings["ExportPath"]; + if (!Directory.Exists(exportPath)) + { + Directory.CreateDirectory(exportPath); + } + var fileName = Path.Combine(exportPath, $"ExportData_{DateTime.Now.ToString("HHmmss")}.xlsx"); + + byte[] filecontent = ExcelExportHelper.CreateOrAppendExcel(excelExportDto, fileName); + FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write); + fs.Write(filecontent, 0, filecontent.Length); + fs.Flush(); + fs.Close(); + } + + private ProductionMeasurementUnitResultExportDataSet GetMeasurementUnitResultAndKeyUnitData() + { + ProductionMeasurementUnitResultExportDataSet productionMeasurementUnitResultExportDataSet = new ProductionMeasurementUnitResultExportDataSet(); + try + { + MeasurementUnitResultRequest measurementUnitResultRequest = resultRequest.DeepSerializeClone(); + measurementUnitResultRequest.PageNum = 1; + measurementUnitResultRequest.PageSize = 10000; + productionMeasurementUnitResultExportDataSet = _measurementUnitResultManager.GetProductionMeasurementUnitResultExportDataSet(measurementUnitResultRequest); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + return productionMeasurementUnitResultExportDataSet; + } + + private void buttonToFirstPage_MR_Click(object sender, EventArgs e) + { + resultRequest.PageNum = 1; + GetMeasurementUnitResult(); + } + + private void buttonToBeforePage_MR_Click(object sender, EventArgs e) + { + if (resultRequest.PageNum != 1) + { + resultRequest.PageNum = resultRequest.PageNum - 1; + GetMeasurementUnitResult(); + } + } + + private void buttonToNextPage_MR_Click(object sender, EventArgs e) + { + if (resultRequest.PageNum != resultRequest.TotalPage && resultRequest.TotalPage != 0) + { + resultRequest.PageNum = resultRequest.PageNum + 1; + GetMeasurementUnitResult(); + } + } + + private void buttonToLastPage_MR_Click(object sender, EventArgs e) + { + if (resultRequest.TotalPage != 0) + { + resultRequest.PageNum = resultRequest.TotalPage; + GetMeasurementUnitResult(); + } + } + #endregion - - } } diff --git a/src/Bro.M071.Process/UI/M071_DataForm.resx b/src/Bro.M071.Process/UI/M071_DataForm.resx index 899b2a9..75be4a3 100644 --- a/src/Bro.M071.Process/UI/M071_DataForm.resx +++ b/src/Bro.M071.Process/UI/M071_DataForm.resx @@ -156,4 +156,43 @@ <metadata name="OperationEndTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> + <metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="ProductionCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="ProductionBarcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="MeasurementName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="MeasurementType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="MeasurementValue.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="MeasurementResult.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="OperationStartTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> + <metadata name="OperationEndTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>True</value> + </metadata> </root> \ No newline at end of file diff --git a/src/Bro.UI.Config/App.config b/src/Bro.UI.Config/App.config index b5c8db5..798153c 100644 --- a/src/Bro.UI.Config/App.config +++ b/src/Bro.UI.Config/App.config @@ -41,6 +41,7 @@ <add key="AuthorityCheck" value="False" /> <add key="AuthorityServer" value="192.168.1.255:11001" /> <add key="ClientSettingsProvider.ServiceUri" value="" /> + <add key="ExportPath" value="D:\PROJECTS\M071\Export" /> </appSettings> <system.web> <membership defaultProvider="ClientAuthenticationMembershipProvider"> -- Gitblit v1.8.0