| | |
| | | using Bro.M071.DBManager; |
| | | using 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; |
| | |
| | | { |
| | | public ProductionMeasurementRecordsManager _productionMeasurementRecordsManager = new ProductionMeasurementRecordsManager(); |
| | | public MeasurementUnitResultManager _measurementUnitResultManager = new MeasurementUnitResultManager(); |
| | | |
| | | ProductionMeasurementRecordsRequest recordsRequest = new ProductionMeasurementRecordsRequest(); |
| | | MeasurementUnitResultRequest resultRequest = new MeasurementUnitResultRequest(); |
| | | |
| | | public M071_DataForm() |
| | | { |
| | | InitializeComponent(); |
| | |
| | | |
| | | 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(); |
| | |
| | | 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 |
| | | |
| | | |
| | | } |
| | | } |