From 8a3ab64a65da226636743be07c4bee63f50da25d Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期六, 06 三月 2021 11:35:20 +0800 Subject: [PATCH] 1. 解决软件异常崩溃问题 --- src/Bro.M071.DBManager/MeasurementUnitResultManager.cs | 95 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 92 insertions(+), 3 deletions(-) diff --git a/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs b/src/Bro.M071.DBManager/MeasurementUnitResultManager.cs index 686a1e1..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; @@ -59,7 +60,7 @@ } if (!string.IsNullOrWhiteSpace(request.MeasurementResult)) { - mList = mList.Where(u => u.MeasurementResult==request.MeasurementResult); + mList = mList.Where(u => u.MeasurementResult == request.MeasurementResult); } if (!string.IsNullOrWhiteSpace(request.MeasurementType)) { @@ -73,15 +74,103 @@ select new MeasurementUnitResult_DTO { ProductionCode = productionMeasurementRecords.ProductionCode, - ProductionBarcode = productionMeasurementRecords.ProductionBarcode + 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 }; - var pageList = query.OrderBy(u => u.CREATE_TIME).ToPagedList(request); + var pageList = query.OrderBy(u => u.OperationStartTime).ToPagedList(request); request.TotalNum = mList.Count(); return pageList; } } + + 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