From ed05efdc17aab076146b134ebe105b6382f221d7 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 10 七月 2025 10:09:29 +0800 Subject: [PATCH] 格式化代码 --- MES.Service/service/QC/PcbTestDataService.cs | 703 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 359 insertions(+), 344 deletions(-) diff --git a/MES.Service/service/QC/PcbTestDataService.cs b/MES.Service/service/QC/PcbTestDataService.cs index 2f70d7b..0f5aa5c 100644 --- a/MES.Service/service/QC/PcbTestDataService.cs +++ b/MES.Service/service/QC/PcbTestDataService.cs @@ -1,366 +1,381 @@ -using System; -using System.Collections.Generic; -using System.Linq; using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.util; using SqlSugar; -namespace MES.Service.service.QC +namespace MES.Service.service.QC; + +/// <summary> +/// PCB妫�娴嬫暟鎹湇鍔� +/// </summary> +public class PcbTestDataService { /// <summary> - /// PCB妫�娴嬫暟鎹湇鍔� + /// 淇濆瓨鏁存澘妫�娴嬫暟鎹� /// </summary> - public class PcbTestDataService + /// <param name="dto">鏁存澘妫�娴嬫暟鎹瓺TO</param> + /// <returns>淇濆瓨缁撴灉</returns> + public bool SaveWholeboardData(WholeboardGenerateDto dto) { - /// <summary> - /// 淇濆瓨鏁存澘妫�娴嬫暟鎹� - /// </summary> - /// <param name="dto">鏁存澘妫�娴嬫暟鎹瓺TO</param> - /// <returns>淇濆瓨缁撴灉</returns> - public bool SaveWholeboardData(WholeboardGenerateDto dto) + try { - try + return SqlSugarHelper.UseTransactionWithOracle(db => { - return SqlSugarHelper.UseTransactionWithOracle(db => + var testData = ConvertWholeboardToEntity(dto); + testData.CreateTime = DateTime.Now; + testData.DataType = "WHOLE"; + + var testDataId = + db.Insertable(testData).ExecuteReturnIdentity(); + + var affectedRows = 1; + if (dto.BoardData != null && dto.BoardData.Count > 0) { - var testData = ConvertWholeboardToEntity(dto); - testData.CreateTime = DateTime.Now; - testData.DataType = "WHOLE"; - - var testDataId = db.Insertable(testData).ExecuteReturnIdentity(); - - var affectedRows = 1; - if (dto.BoardData != null && dto.BoardData.Count > 0) - { - var componentDataList = new List<MesPcbComponentData>(); - foreach (var boardData in dto.BoardData) + var componentDataList = new List<MesPcbComponentData>(); + foreach (var boardData in dto.BoardData) + if (boardData.CompData != null && + boardData.CompData.Count > 0) { - if (boardData.CompData != null && boardData.CompData.Count > 0) - { - var componentData = ConvertComponentListToEntity(boardData.CompData, testDataId); - componentDataList.AddRange(componentData); - } + var componentData = + ConvertComponentListToEntity(boardData.CompData, + testDataId); + componentDataList.AddRange(componentData); } - if (componentDataList.Count > 0) - { - affectedRows += db.Insertable(componentDataList).ExecuteCommand(); - } - } + if (componentDataList.Count > 0) + affectedRows += db.Insertable(componentDataList) + .ExecuteCommand(); + } - return affectedRows; - }) > 0; - } - catch (Exception ex) - { - throw new Exception($"淇濆瓨鏁存澘妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } + return affectedRows; + }) > 0; } - - /// <summary> - /// 淇濆瓨鍗曟澘妫�娴嬫暟鎹� - /// </summary> - /// <param name="dto">鍗曟澘妫�娴嬫暟鎹瓺TO</param> - /// <returns>淇濆瓨缁撴灉</returns> - public bool SaveSingleBoardData(SingleBoardGenerateDto dto) + catch (Exception ex) { - try - { - return SqlSugarHelper.UseTransactionWithOracle(db => - { - var testData = ConvertSingleBoardToEntity(dto); - testData.CreateTime = DateTime.Now; - testData.DataType = "SINGLE"; - - var testDataId = db.Insertable(testData).ExecuteReturnIdentity(); - - var affectedRows = 1; - if (dto.CompData != null && dto.CompData.Count > 0) - { - var componentDataList = ConvertComponentListToEntity(dto.CompData, testDataId); - affectedRows += db.Insertable(componentDataList).ExecuteCommand(); - } - - return affectedRows; - }) > 0; - } - catch (Exception ex) - { - throw new Exception($"淇濆瓨鍗曟澘妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } + throw new Exception($"淇濆瓨鏁存澘妫�娴嬫暟鎹け璐�: {ex.Message}", ex); } - - /// <summary> - /// 鏍规嵁ID鑾峰彇PCB妫�娴嬫暟鎹� - /// </summary> - /// <param name="id">鏁版嵁ID</param> - /// <returns>PCB妫�娴嬫暟鎹�</returns> - public MesPcbTestData GetPcbTestDataById(decimal id) - { - try - { - var db = SqlSugarHelper.GetInstance(); - return db.Queryable<MesPcbTestData>() - .Where(x => x.Id == id) - .First(); - } - catch (Exception ex) - { - throw new Exception($"鑾峰彇PCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } - } - - /// <summary> - /// 鏍规嵁鏉′欢鍒嗛〉鏌ヨPCB妫�娴嬫暟鎹� - /// </summary> - /// <param name="dataType">鏁版嵁绫诲瀷锛圵HOLE/SINGLE锛�</param> - /// <param name="deviceName">璁惧鍚嶇О</param> - /// <param name="pcbSn">PCB鏉$爜</param> - /// <param name="startTime">寮�濮嬫椂闂�</param> - /// <param name="endTime">缁撴潫鏃堕棿</param> - /// <param name="pageIndex">椤电爜</param> - /// <param name="pageSize">椤靛ぇ灏�</param> - /// <returns>鍒嗛〉鏁版嵁</returns> - public (List<MesPcbTestData> items, int totalCount) GetPcbTestDataPage( - string dataType = null, - string deviceName = null, - string pcbSn = null, - DateTime? startTime = null, - DateTime? endTime = null, - int pageIndex = 1, - int pageSize = 20) - { - try - { - var db = SqlSugarHelper.GetInstance(); - var totalCount = 0; - - var data = db.Queryable<MesPcbTestData>() - .WhereIF(StringUtil.IsNotNullOrEmpty(dataType), x => x.DataType == dataType) - .WhereIF(StringUtil.IsNotNullOrEmpty(deviceName), x => x.DeviceName.Contains(deviceName)) - .WhereIF(StringUtil.IsNotNullOrEmpty(pcbSn), x => x.PcbSn.Contains(pcbSn)) - .WhereIF(startTime.HasValue, x => x.PcbTestTime >= startTime.Value) - .WhereIF(endTime.HasValue, x => x.PcbTestTime <= endTime.Value) - .OrderBy(x => x.PcbTestTime, OrderByType.Desc) - .ToPageList(pageIndex, pageSize, ref totalCount); - - return (data, totalCount); - } - catch (Exception ex) - { - throw new Exception($"鏌ヨPCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } - } - - /// <summary> - /// 鏍规嵁娴嬭瘯鏁版嵁ID鑾峰彇鍣ㄤ欢鏁版嵁 - /// </summary> - /// <param name="testDataId">娴嬭瘯鏁版嵁ID</param> - /// <returns>鍣ㄤ欢鏁版嵁鍒楄〃</returns> - public List<MesPcbComponentData> GetComponentDataByTestDataId(decimal testDataId) - { - try - { - var db = SqlSugarHelper.GetInstance(); - return db.Queryable<MesPcbComponentData>() - .Where(x => x.TestDataId == testDataId) - .OrderBy(x => x.CompDesignator) - .ToList(); - } - catch (Exception ex) - { - throw new Exception($"鑾峰彇鍣ㄤ欢鏁版嵁澶辫触: {ex.Message}", ex); - } - } - - /// <summary> - /// 鏍规嵁PCB鏉$爜鑾峰彇妫�娴嬫暟鎹� - /// </summary> - /// <param name="pcbSn">PCB鏉$爜</param> - /// <returns>妫�娴嬫暟鎹垪琛�</returns> - public List<MesPcbTestData> GetPcbTestDataByPcbSn(string pcbSn) - { - try - { - var db = SqlSugarHelper.GetInstance(); - return db.Queryable<MesPcbTestData>() - .Where(x => x.PcbSn == pcbSn) - .OrderBy(x => x.PcbTestTime, OrderByType.Desc) - .ToList(); - } - catch (Exception ex) - { - throw new Exception($"鏍规嵁PCB鏉$爜鑾峰彇妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } - } - - /// <summary> - /// 鍒犻櫎PCB妫�娴嬫暟鎹紙绾ц仈鍒犻櫎鍣ㄤ欢鏁版嵁锛� - /// </summary> - /// <param name="id">鏁版嵁ID</param> - /// <returns>鍒犻櫎缁撴灉</returns> - public bool DeletePcbTestData(decimal id) - { - try - { - return SqlSugarHelper.UseTransactionWithOracle(db => - { - var affectedRows = 0; - - // 鍏堝垹闄ゅ櫒浠舵暟鎹� - affectedRows += db.Deleteable<MesPcbComponentData>() - .Where(x => x.TestDataId == id) - .ExecuteCommand(); - - // 鍐嶅垹闄や富鏁版嵁 - affectedRows += db.Deleteable<MesPcbTestData>() - .Where(x => x.Id == id) - .ExecuteCommand(); - - return affectedRows; - }) > 0; - } - catch (Exception ex) - { - throw new Exception($"鍒犻櫎PCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); - } - } - - /// <summary> - /// 鑾峰彇妫�娴嬬粺璁℃暟鎹� - /// </summary> - /// <param name="dataType">鏁版嵁绫诲瀷</param> - /// <param name="deviceName">璁惧鍚嶇О</param> - /// <param name="startTime">寮�濮嬫椂闂�</param> - /// <param name="endTime">缁撴潫鏃堕棿</param> - /// <returns>缁熻鏁版嵁</returns> - public dynamic GetTestStatistics(string dataType = null, string deviceName = null, - DateTime? startTime = null, DateTime? endTime = null) - { - try - { - var db = SqlSugarHelper.GetInstance(); - - var statistics = db.Queryable<MesPcbTestData>() - .WhereIF(StringUtil.IsNotNullOrEmpty(dataType), x => x.DataType == dataType) - .WhereIF(StringUtil.IsNotNullOrEmpty(deviceName), x => x.DeviceName == deviceName) - .WhereIF(startTime.HasValue, x => x.PcbTestTime >= startTime.Value) - .WhereIF(endTime.HasValue, x => x.PcbTestTime <= endTime.Value) - .GroupBy(x => new { x.DataType, x.DeviceName }) - .Select(x => new - { - DataType = x.DataType, - DeviceName = x.DeviceName, - TotalCount = SqlFunc.AggregateCount(x.Id), - PassCount = SqlFunc.AggregateCount(SqlFunc.IIF(x.PcbFinalResult == "PASS", x.Id, 0)), - FailCount = SqlFunc.AggregateCount(SqlFunc.IIF(x.PcbFinalResult == "FAIL", x.Id, 0)), - AvgCycleTime = SqlFunc.AggregateAvg(x.PcbCycleTime) - }) - .ToList(); - - return statistics; - } - catch (Exception ex) - { - throw new Exception($"鑾峰彇妫�娴嬬粺璁℃暟鎹け璐�: {ex.Message}", ex); - } - } - - #region 绉佹湁鏂规硶 - DTO杞崲 - - /// <summary> - /// 灏嗘暣鏉緿TO杞崲涓哄疄浣� - /// </summary> - /// <param name="dto">鏁存澘DTO</param> - /// <returns>瀹炰綋瀵硅薄</returns> - private MesPcbTestData ConvertWholeboardToEntity(WholeboardGenerateDto dto) - { - return new MesPcbTestData - { - DeviceName = dto.DeviceName, - PcbSn = dto.PcbSn, - PcbTrackLine = dto.PcbTrackLine, - PcbBoardSide = dto.PcbBoardSide, - PcbTestTime = StringUtil.IsNotNullOrEmpty(dto.PcbTestTime) ? - DateTime.Parse(dto.PcbTestTime) : null, - PcbCycleTime = (decimal?)dto.PcbCycleTime, - PcbProjectName = dto.PcbProjectName, - PcbRobotResult = dto.PcbRobotResult, - PcbUserResult = dto.PcbUserResult, - PcbFinalResult = dto.PcbFinalResult, - PcbRepairUser = dto.PcbRepairUser, - PcbBoardNumber = dto.PcbBoardNumber, - PcbBoardRobotNgNumber = dto.PcbBoardRobotNgNumber, - PcbBoardUserNgNumber = dto.PcbBoardUserNgNumber, - PcbBoardRepassNumber = dto.PcbBoardRepassNumber, - PcbCompNumber = dto.PcbCompNumber, - PcbCompRobotNgNumber = dto.PcbCompRobotNgNumber, - PcbCompUserNgNumber = dto.PcbCompUserNgNumber, - PcbCompRepassNumber = dto.PcbCompRepassNumber - }; - } - - /// <summary> - /// 灏嗗崟鏉緿TO杞崲涓哄疄浣� - /// </summary> - /// <param name="dto">鍗曟澘DTO</param> - /// <returns>瀹炰綋瀵硅薄</returns> - private MesPcbTestData ConvertSingleBoardToEntity(SingleBoardGenerateDto dto) - { - return new MesPcbTestData - { - DeviceName = dto.DeviceName, - PcbSn = dto.PcbSn, - PcbTrackLine = dto.PcbTrackLine, - PcbBoardSide = dto.PcbBoardSide, - PcbTestTime = StringUtil.IsNotNullOrEmpty(dto.PcbTestTime) ? - DateTime.Parse(dto.PcbTestTime) : null, - PcbCycleTime = (decimal?)dto.PcbCycleTime, - PcbProjectName = dto.PcbProjectName, - PcbRobotResult = dto.PcbRobotResult, - PcbUserResult = dto.PcbUserResult, - PcbFinalResult = dto.PcbFinalResult, - PcbRepairUser = dto.PcbRepairUser, - PcbBoardNumber = dto.PcbBoardNumber, - PcbCompNumber = dto.PcbCompNumber, - BoardSn = dto.BoardSn, - BoardNo = dto.BoardNo, - BoardRobotResult = dto.BoardRobotResult, - BoardUserResult = dto.BoardUserResult, - BoardFinalResult = dto.BoardFinalResult, - BoardCompNumber = dto.BoardCompNumber, - BoardCompRobotNgNumber = dto.BoardCompRobotNgNumber, - BoardCompUserNgNumber = dto.BoardCompUserNgNumber, - BoardCompRepassNumber = dto.BoardCompRepassNumber - }; - } - - /// <summary> - /// 灏嗗櫒浠禗TO鍒楄〃杞崲涓哄疄浣撳垪琛� - /// </summary> - /// <param name="dtoList">鍣ㄤ欢DTO鍒楄〃</param> - /// <param name="testDataId">娴嬭瘯鏁版嵁ID</param> - /// <returns>瀹炰綋鍒楄〃</returns> - private List<MesPcbComponentData> ConvertComponentListToEntity(List<ComponentDataDto> dtoList, decimal testDataId) - { - return dtoList.Select(dto => new MesPcbComponentData - { - TestDataId = testDataId, - CompDesignator = dto.CompDesignator, - CompPart = dto.CompPart, - CompPackage = dto.CompPackage, - CompType = dto.CompType, - CompRobotCode = dto.CompRobotCode, - CompRobotResult = dto.CompRobotResult, - CompUserCode = dto.CompUserCode, - CompUserResult = dto.CompUserResult, - CompImage = dto.CompImage, - CreateTime = DateTime.Now - }).ToList(); - } - - #endregion } + + /// <summary> + /// 淇濆瓨鍗曟澘妫�娴嬫暟鎹� + /// </summary> + /// <param name="dto">鍗曟澘妫�娴嬫暟鎹瓺TO</param> + /// <returns>淇濆瓨缁撴灉</returns> + public bool SaveSingleBoardData(SingleBoardGenerateDto dto) + { + try + { + return SqlSugarHelper.UseTransactionWithOracle(db => + { + var testData = ConvertSingleBoardToEntity(dto); + testData.CreateTime = DateTime.Now; + testData.DataType = "SINGLE"; + + var testDataId = + db.Insertable(testData).ExecuteReturnIdentity(); + + var affectedRows = 1; + if (dto.CompData != null && dto.CompData.Count > 0) + { + var componentDataList = + ConvertComponentListToEntity(dto.CompData, testDataId); + affectedRows += db.Insertable(componentDataList) + .ExecuteCommand(); + } + + return affectedRows; + }) > 0; + } + catch (Exception ex) + { + throw new Exception($"淇濆瓨鍗曟澘妫�娴嬫暟鎹け璐�: {ex.Message}", ex); + } + } + + /// <summary> + /// 鏍规嵁ID鑾峰彇PCB妫�娴嬫暟鎹� + /// </summary> + /// <param name="id">鏁版嵁ID</param> + /// <returns>PCB妫�娴嬫暟鎹�</returns> + public MesPcbTestData GetPcbTestDataById(decimal id) + { + try + { + var db = SqlSugarHelper.GetInstance(); + return db.Queryable<MesPcbTestData>() + .Where(x => x.Id == id) + .First(); + } + catch (Exception ex) + { + throw new Exception($"鑾峰彇PCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); + } + } + + /// <summary> + /// 鏍规嵁鏉′欢鍒嗛〉鏌ヨPCB妫�娴嬫暟鎹� + /// </summary> + /// <param name="dataType">鏁版嵁绫诲瀷锛圵HOLE/SINGLE锛�</param> + /// <param name="deviceName">璁惧鍚嶇О</param> + /// <param name="pcbSn">PCB鏉$爜</param> + /// <param name="startTime">寮�濮嬫椂闂�</param> + /// <param name="endTime">缁撴潫鏃堕棿</param> + /// <param name="pageIndex">椤电爜</param> + /// <param name="pageSize">椤靛ぇ灏�</param> + /// <returns>鍒嗛〉鏁版嵁</returns> + public (List<MesPcbTestData> items, int totalCount) GetPcbTestDataPage( + string dataType = null, + string deviceName = null, + string pcbSn = null, + DateTime? startTime = null, + DateTime? endTime = null, + int pageIndex = 1, + int pageSize = 20) + { + try + { + var db = SqlSugarHelper.GetInstance(); + var totalCount = 0; + + var data = db.Queryable<MesPcbTestData>() + .WhereIF(StringUtil.IsNotNullOrEmpty(dataType), + x => x.DataType == dataType) + .WhereIF(StringUtil.IsNotNullOrEmpty(deviceName), + x => x.DeviceName.Contains(deviceName)) + .WhereIF(StringUtil.IsNotNullOrEmpty(pcbSn), + x => x.PcbSn.Contains(pcbSn)) + .WhereIF(startTime.HasValue, + x => x.PcbTestTime >= startTime.Value) + .WhereIF(endTime.HasValue, x => x.PcbTestTime <= endTime.Value) + .OrderBy(x => x.PcbTestTime, OrderByType.Desc) + .ToPageList(pageIndex, pageSize, ref totalCount); + + return (data, totalCount); + } + catch (Exception ex) + { + throw new Exception($"鏌ヨPCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); + } + } + + /// <summary> + /// 鏍规嵁娴嬭瘯鏁版嵁ID鑾峰彇鍣ㄤ欢鏁版嵁 + /// </summary> + /// <param name="testDataId">娴嬭瘯鏁版嵁ID</param> + /// <returns>鍣ㄤ欢鏁版嵁鍒楄〃</returns> + public List<MesPcbComponentData> GetComponentDataByTestDataId( + decimal testDataId) + { + try + { + var db = SqlSugarHelper.GetInstance(); + return db.Queryable<MesPcbComponentData>() + .Where(x => x.TestDataId == testDataId) + .OrderBy(x => x.CompDesignator) + .ToList(); + } + catch (Exception ex) + { + throw new Exception($"鑾峰彇鍣ㄤ欢鏁版嵁澶辫触: {ex.Message}", ex); + } + } + + /// <summary> + /// 鏍规嵁PCB鏉$爜鑾峰彇妫�娴嬫暟鎹� + /// </summary> + /// <param name="pcbSn">PCB鏉$爜</param> + /// <returns>妫�娴嬫暟鎹垪琛�</returns> + public List<MesPcbTestData> GetPcbTestDataByPcbSn(string pcbSn) + { + try + { + var db = SqlSugarHelper.GetInstance(); + return db.Queryable<MesPcbTestData>() + .Where(x => x.PcbSn == pcbSn) + .OrderBy(x => x.PcbTestTime, OrderByType.Desc) + .ToList(); + } + catch (Exception ex) + { + throw new Exception($"鏍规嵁PCB鏉$爜鑾峰彇妫�娴嬫暟鎹け璐�: {ex.Message}", ex); + } + } + + /// <summary> + /// 鍒犻櫎PCB妫�娴嬫暟鎹紙绾ц仈鍒犻櫎鍣ㄤ欢鏁版嵁锛� + /// </summary> + /// <param name="id">鏁版嵁ID</param> + /// <returns>鍒犻櫎缁撴灉</returns> + public bool DeletePcbTestData(decimal id) + { + try + { + return SqlSugarHelper.UseTransactionWithOracle(db => + { + var affectedRows = 0; + + // 鍏堝垹闄ゅ櫒浠舵暟鎹� + affectedRows += db.Deleteable<MesPcbComponentData>() + .Where(x => x.TestDataId == id) + .ExecuteCommand(); + + // 鍐嶅垹闄や富鏁版嵁 + affectedRows += db.Deleteable<MesPcbTestData>() + .Where(x => x.Id == id) + .ExecuteCommand(); + + return affectedRows; + }) > 0; + } + catch (Exception ex) + { + throw new Exception($"鍒犻櫎PCB妫�娴嬫暟鎹け璐�: {ex.Message}", ex); + } + } + + /// <summary> + /// 鑾峰彇妫�娴嬬粺璁℃暟鎹� + /// </summary> + /// <param name="dataType">鏁版嵁绫诲瀷</param> + /// <param name="deviceName">璁惧鍚嶇О</param> + /// <param name="startTime">寮�濮嬫椂闂�</param> + /// <param name="endTime">缁撴潫鏃堕棿</param> + /// <returns>缁熻鏁版嵁</returns> + public dynamic GetTestStatistics(string dataType = null, + string deviceName = null, + DateTime? startTime = null, DateTime? endTime = null) + { + try + { + var db = SqlSugarHelper.GetInstance(); + + var statistics = db.Queryable<MesPcbTestData>() + .WhereIF(StringUtil.IsNotNullOrEmpty(dataType), + x => x.DataType == dataType) + .WhereIF(StringUtil.IsNotNullOrEmpty(deviceName), + x => x.DeviceName == deviceName) + .WhereIF(startTime.HasValue, + x => x.PcbTestTime >= startTime.Value) + .WhereIF(endTime.HasValue, x => x.PcbTestTime <= endTime.Value) + .GroupBy(x => new { x.DataType, x.DeviceName }) + .Select(x => new + { + x.DataType, + x.DeviceName, + TotalCount = SqlFunc.AggregateCount(x.Id), + PassCount = SqlFunc.AggregateCount( + SqlFunc.IIF(x.PcbFinalResult == "PASS", x.Id, 0)), + FailCount = SqlFunc.AggregateCount( + SqlFunc.IIF(x.PcbFinalResult == "FAIL", x.Id, 0)), + AvgCycleTime = SqlFunc.AggregateAvg(x.PcbCycleTime) + }) + .ToList(); + + return statistics; + } + catch (Exception ex) + { + throw new Exception($"鑾峰彇妫�娴嬬粺璁℃暟鎹け璐�: {ex.Message}", ex); + } + } + + #region 绉佹湁鏂规硶 - DTO杞崲 + + /// <summary> + /// 灏嗘暣鏉緿TO杞崲涓哄疄浣� + /// </summary> + /// <param name="dto">鏁存澘DTO</param> + /// <returns>瀹炰綋瀵硅薄</returns> + private MesPcbTestData ConvertWholeboardToEntity(WholeboardGenerateDto dto) + { + return new MesPcbTestData + { + DeviceName = dto.DeviceName, + PcbSn = dto.PcbSn, + PcbTrackLine = dto.PcbTrackLine, + PcbBoardSide = dto.PcbBoardSide, + PcbTestTime = StringUtil.IsNotNullOrEmpty(dto.PcbTestTime) + ? DateTime.Parse(dto.PcbTestTime) + : null, + PcbCycleTime = (decimal?)dto.PcbCycleTime, + PcbProjectName = dto.PcbProjectName, + PcbRobotResult = dto.PcbRobotResult, + PcbUserResult = dto.PcbUserResult, + PcbFinalResult = dto.PcbFinalResult, + PcbRepairUser = dto.PcbRepairUser, + PcbBoardNumber = dto.PcbBoardNumber, + PcbBoardRobotNgNumber = dto.PcbBoardRobotNgNumber, + PcbBoardUserNgNumber = dto.PcbBoardUserNgNumber, + PcbBoardRepassNumber = dto.PcbBoardRepassNumber, + PcbCompNumber = dto.PcbCompNumber, + PcbCompRobotNgNumber = dto.PcbCompRobotNgNumber, + PcbCompUserNgNumber = dto.PcbCompUserNgNumber, + PcbCompRepassNumber = dto.PcbCompRepassNumber + }; + } + + /// <summary> + /// 灏嗗崟鏉緿TO杞崲涓哄疄浣� + /// </summary> + /// <param name="dto">鍗曟澘DTO</param> + /// <returns>瀹炰綋瀵硅薄</returns> + private MesPcbTestData ConvertSingleBoardToEntity( + SingleBoardGenerateDto dto) + { + return new MesPcbTestData + { + DeviceName = dto.DeviceName, + PcbSn = dto.PcbSn, + PcbTrackLine = dto.PcbTrackLine, + PcbBoardSide = dto.PcbBoardSide, + PcbTestTime = StringUtil.IsNotNullOrEmpty(dto.PcbTestTime) + ? DateTime.Parse(dto.PcbTestTime) + : null, + PcbCycleTime = (decimal?)dto.PcbCycleTime, + PcbProjectName = dto.PcbProjectName, + PcbRobotResult = dto.PcbRobotResult, + PcbUserResult = dto.PcbUserResult, + PcbFinalResult = dto.PcbFinalResult, + PcbRepairUser = dto.PcbRepairUser, + PcbBoardNumber = dto.PcbBoardNumber, + PcbCompNumber = dto.PcbCompNumber, + BoardSn = dto.BoardSn, + BoardNo = dto.BoardNo, + BoardRobotResult = dto.BoardRobotResult, + BoardUserResult = dto.BoardUserResult, + BoardFinalResult = dto.BoardFinalResult, + BoardCompNumber = dto.BoardCompNumber, + BoardCompRobotNgNumber = dto.BoardCompRobotNgNumber, + BoardCompUserNgNumber = dto.BoardCompUserNgNumber, + BoardCompRepassNumber = dto.BoardCompRepassNumber + }; + } + + /// <summary> + /// 灏嗗櫒浠禗TO鍒楄〃杞崲涓哄疄浣撳垪琛� + /// </summary> + /// <param name="dtoList">鍣ㄤ欢DTO鍒楄〃</param> + /// <param name="testDataId">娴嬭瘯鏁版嵁ID</param> + /// <returns>瀹炰綋鍒楄〃</returns> + private List<MesPcbComponentData> ConvertComponentListToEntity( + List<ComponentDataDto> dtoList, decimal testDataId) + { + return dtoList.Select(dto => new MesPcbComponentData + { + TestDataId = testDataId, + CompDesignator = dto.CompDesignator, + CompPart = dto.CompPart, + CompPackage = dto.CompPackage, + CompType = dto.CompType, + CompRobotCode = dto.CompRobotCode, + CompRobotResult = dto.CompRobotResult, + CompUserCode = dto.CompUserCode, + CompUserResult = dto.CompUserResult, + CompImage = dto.CompImage, + CreateTime = DateTime.Now + }).ToList(); + } + + #endregion } \ No newline at end of file -- Gitblit v1.9.3