领胜LDS 键盘AOI检测项目
xcd
2020-07-16 3ae459e2e79e567dfd4a552a3b5b8c1fce495167
src/Bro.M071.DBManager/MeasurementUnitResultManager.cs
@@ -1,6 +1,7 @@
using 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;
@@ -14,7 +15,7 @@
{
    public class MeasurementUnitResultManager : ModelManager<MeasurementUnitResult>
    {
        DbProviderFactory Dbfactory = SQLiteFactory.Instance;
        //DbProviderFactory Dbfactory = SQLiteFactory.Instance;
        protected override void ActionBeforeNewModel(DBModel context, MeasurementUnitResult config)
        {
            CheckProductionCodeDuplicate(context, config);
@@ -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