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.M071.DBManager/MeasurementUnitResultManager.cs | 87 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 84 insertions(+), 3 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 -- Gitblit v1.8.0