private static void SelectTestResultDetail1(TestResultHistory testResult, int count) { #region 查询明细 DataRow dr = testResultDataSource.NewRow(); var pcbsn = testResult.PcbaSN;//GetPCBASn(pcbaSN); var productsn = GetProductSn(testResult.PcbaSN); //GetProductSNOfShell(testRestul.PcbaSN); dr[TestResultItemContent.Order] = count; dr[TestResultItemContent.PcbaSN] = pcbsn; dr[TestResultItemContent.ProductSN] = productsn; dr[TestResultItemContent.FinalResultValue] = GetProductTestFinalResult(pcbsn, productsn, testResult.ShellCodeLen, testResult.ProductTypeNo); var currentProductType = testResult.ProductTypeNo;//GetProductTypeNoOfSN(pcbsn, productsn); dr[TestResultItemContent.ProductTypeNo] = currentProductType; #region 烧录工位信息 var testResultTurn = SelectTestResultOfSN(pcbsn, productsn, STATION_TURN); //dr[TestResultItemContent.StationName_turn] = STATION_TURN; dr[STATION_TURN + TestResultItemContent.StationInDate_turn] = testResultTurn.StationInDate; dr[STATION_TURN + TestResultItemContent.StationOutDate_turn] = testResultTurn.StationOutDate; dr[STATION_TURN + TestResultItemContent.UserTeamLeader_turn] = testResultTurn.UserTeamLeader; dr[STATION_TURN + TestResultItemContent.TestResultValue_turn] = testResultTurn.TestResultValue; dr[STATION_TURN + TestResultItemContent.Turn_TurnItem] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_TurnItem); dr[STATION_TURN + TestResultItemContent.Turn_Voltage_12V_Item] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_Voltage_12V_Item); dr[STATION_TURN + TestResultItemContent.Turn_Voltage_5V_Item] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_Voltage_5V_Item); dr[STATION_TURN + TestResultItemContent.Turn_Voltage_33_1V_Item] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_Voltage_33_1V_Item); dr[STATION_TURN + TestResultItemContent.Turn_Voltage_33_2V_Item] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_Voltage_33_2V_Item); dr[STATION_TURN + TestResultItemContent.Turn_SoftVersion] = SelectTestItemValue(pcbsn, productsn, STATION_TURN, TestResultItemContent.Turn_SoftVersion); #endregion #region 灵敏度 var testResultSen = SelectTestResultOfSN(pcbsn, productsn, STATION_SENSIBLITY); //dr[TestResultItemContent.StationName_sen] = STATION_SENSIBLITY; dr[STATION_SENSIBLITY + TestResultItemContent.StationInDate_sen] = testResultSen.StationInDate; dr[STATION_SENSIBLITY + TestResultItemContent.StationOutDate_sen] = testResultSen.StationOutDate; dr[STATION_SENSIBLITY + TestResultItemContent.UserTeamLeader_sen] = testResultSen.UserTeamLeader; dr[STATION_SENSIBLITY + TestResultItemContent.TestResultValue_sen] = testResultSen.TestResultValue; dr[STATION_SENSIBLITY + TestResultItemContent.Sen_Work_Electric_Test] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_Work_Electric_Test); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_PartNumber] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_PartNumber); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_HardWareVersion] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_HardWareVersion); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_SoftVersion] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_SoftVersion); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_ECUID] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_ECUID); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_BootloaderVersion] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_BootloaderVersion); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_RadioFreq] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_RadioFreq); dr[STATION_SENSIBLITY + TestResultItemContent.Sen_DormantElect] = SelectTestItemValue(pcbsn, productsn, STATION_SENSIBLITY, TestResultItemContent.Sen_DormantElect); #endregion #region 外壳 var testResultShell = SelectTestResultOfSN(pcbsn, productsn, STATION_SHELL); //dr[TestResultItemContent.StationName_shell] = STATION_SHELL; dr[STATION_SHELL + TestResultItemContent.StationInDate_shell] = testResultShell.StationInDate; dr[STATION_SHELL + TestResultItemContent.StationOutDate_shell] = testResultShell.StationOutDate; dr[STATION_SHELL + TestResultItemContent.UserTeamLeader_shell] = testResultShell.UserTeamLeader; dr[STATION_SHELL + TestResultItemContent.TestResultValue_shell] = testResultShell.TestResultValue; dr[STATION_SHELL + TestResultItemContent.Shell_FrontCover] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_FrontCover); dr[STATION_SHELL + TestResultItemContent.Shell_BackCover] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_BackCover); dr[STATION_SHELL + TestResultItemContent.Shell_PCBScrew1] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_PCBScrew1); dr[STATION_SHELL + TestResultItemContent.Shell_PCBScrew2] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_PCBScrew2); dr[STATION_SHELL + TestResultItemContent.Shell_PCBScrew3] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_PCBScrew3); dr[STATION_SHELL + TestResultItemContent.Shell_PCBScrew4] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_PCBScrew4); dr[STATION_SHELL + TestResultItemContent.Shell_ShellScrew1] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_ShellScrew1); dr[STATION_SHELL + TestResultItemContent.Shell_ShellScrew2] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_ShellScrew2); dr[STATION_SHELL + TestResultItemContent.Shell_ShellScrew3] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_ShellScrew3); dr[STATION_SHELL + TestResultItemContent.Shell_ShellScrew4] = SelectTestItemValue(pcbsn, productsn, STATION_SHELL, TestResultItemContent.Shell_ShellScrew4); #endregion #region 气密 var testResultAir = SelectTestResultOfSN(pcbsn, productsn, STATION_AIR); //dr[TestResultItemContent.StationName_air] = STATION_AIR; dr[STATION_AIR + TestResultItemContent.StationInDate_air] = testResultAir.StationInDate; dr[STATION_AIR + TestResultItemContent.StationOutDate_air] = testResultAir.StationOutDate; dr[STATION_AIR + TestResultItemContent.UserTeamLeader_air] = testResultAir.UserTeamLeader; dr[STATION_AIR + TestResultItemContent.TestResultValue_air] = testResultAir.TestResultValue; dr[STATION_AIR + TestResultItemContent.Air_AirtightTest] = SelectTestItemValue(pcbsn, productsn, STATION_AIR, TestResultItemContent.Air_AirtightTest); #endregion #region 支架 var testResultStent = SelectTestResultOfSN(pcbsn, productsn, STATION_STENT); //drTestResultItemContent.StationName_stent] = STATION_STENT; dr[STATION_STENT + TestResultItemContent.StationInDate_stent] = testResultStent.StationInDate; dr[STATION_STENT + TestResultItemContent.StationOutDate_stent] = testResultStent.StationOutDate; dr[STATION_STENT + TestResultItemContent.UserTeamLeader_stent] = testResultStent.UserTeamLeader; dr[STATION_STENT + TestResultItemContent.TestResultValue_stent] = testResultStent.TestResultValue; dr[STATION_STENT + TestResultItemContent.Stent_Screw1] = SelectTestItemValue(pcbsn, productsn, STATION_STENT, TestResultItemContent.Stent_Screw1); dr[STATION_STENT + TestResultItemContent.Stent_Screw2] = SelectTestItemValue(pcbsn, productsn, STATION_STENT, TestResultItemContent.Stent_Screw1); dr[STATION_STENT + TestResultItemContent.Stent_Stent] = SelectTestItemValue(pcbsn, productsn, STATION_STENT, TestResultItemContent.Stent_Stent); dr[STATION_STENT + TestResultItemContent.Stent_LeftStent] = SelectTestItemValue(pcbsn, productsn, STATION_STENT, TestResultItemContent.Stent_LeftStent); dr[STATION_STENT + TestResultItemContent.Stent_RightStent] = SelectTestItemValue(pcbsn, productsn, STATION_STENT, TestResultItemContent.Stent_RightStent); #endregion #region 成品 var testResultProduct = SelectTestResultOfSN(pcbsn, productsn, STATION_PRODUCT); //dr[TestResultItemContent.StationName_product] = STATION_PRODUCT; dr[STATION_PRODUCT + TestResultItemContent.StationInDate_product] = testResultProduct.StationInDate; dr[STATION_PRODUCT + TestResultItemContent.StationOutDate_product] = testResultProduct.StationOutDate; dr[STATION_PRODUCT + TestResultItemContent.UserTeamLeader_product] = testResultProduct.UserTeamLeader; dr[STATION_PRODUCT + TestResultItemContent.TestResultValue_product] = testResultProduct.TestResultValue; dr[STATION_PRODUCT + TestResultItemContent.Product_Work_Electric_Test] = SelectTestItemValue(pcbsn, productsn, STATION_PRODUCT, TestResultItemContent.Product_Work_Electric_Test); dr[STATION_PRODUCT + TestResultItemContent.Product_DormantElect] = SelectTestItemValue(pcbsn, productsn, STATION_PRODUCT, TestResultItemContent.Product_DormantElect); dr[STATION_PRODUCT + TestResultItemContent.Product_Inspect_Result] = SelectTestItemValue(pcbsn, productsn, STATION_PRODUCT, TestResultItemContent.Product_InspectItem); #endregion testResultDataSource.Rows.Add(dr); #endregion }
private static TestResultHistory SelectUseAllPcbaSN(string querySN, int pageIndex, int pageSize) { //List<string> pcbaList = new List<string>(); DataSet ds = new DataSet(); TestResultHistory testResultHistory = new TestResultHistory(); var selectSQL = $"select {DbTable.F_Test_Result.SN},{DbTable.F_Test_Result.PROCESS_NAME} " + $"from {DbTable.F_TEST_RESULT_NAME} " + $"order by {DbTable.F_Test_Result.STATION_IN_DATE} desc"; int count = 1; var pcbaLen = ReadPCBACodeLength(); if (pcbaLen == 0) { pcbaLen = 16; } var shellLen = ReadShellCodeLength(); if (querySN != "" && querySN != null) { TestResultHistory testResult = new TestResultHistory(); testResult.PcbaSN = querySN.Trim(); testResult.ProductTypeNo = GetProductTypeNo(querySN); testResult.ShellCodeLen = shellLen; testResult.PcbaCodeLen = pcbaLen; SelectTestResultDetail1(testResult, count); testResultHistory.TestResultNumber = 1; ds.Tables.Add(testResultDataSource); testResultHistory.TestResultDataSet = ds; return(testResultHistory); } else { var dbReader = SQLServer.ExecuteDataReader(selectSQL); if (dbReader.HasRows) { pcbaCacheList.Clear(); int i = 0; int startIndex = (pageIndex - 1) * pageSize; while (dbReader.Read()) { var pcbaSN = dbReader[0].ToString(); if (pcbaSN.Length == pcbaLen) { //是PCBA var productTypeNo = dbReader[1].ToString(); TestResultHistory queryTestObj = new TestResultHistory(); queryTestObj.PcbaSN = pcbaSN; queryTestObj.ProductTypeNo = productTypeNo; queryTestObj.ShellCodeLen = shellLen; queryTestObj.PcbaCodeLen = pcbaLen; var pcbaObj = pcbaCacheList.Find(m => m.PcbaSN == pcbaSN); if (pcbaObj == null) { pcbaCacheList.Add(queryTestObj); i++; } } } LogHelper.Log.Info("开始查询明细..."); //开始查询明细 int j = 0; foreach (var pcbaItem in pcbaCacheList) { if (j >= startIndex && j < pageIndex * pageSize) { TestResultHistory testResult = new TestResultHistory(); testResult.PcbaSN = pcbaItem.PcbaSN; testResult.ProductTypeNo = pcbaItem.ProductTypeNo; testResult.ShellCodeLen = shellLen; testResult.PcbaCodeLen = pcbaLen; SelectTestResultDetail1(testResult, count); count++; } j++; } LogHelper.Log.Info("查询明细结束..."); ds.Tables.Add(testResultDataSource); testResultHistory.TestResultNumber = j; testResultHistory.TestResultDataSet = ds; } } LogHelper.Log.Info("查询结束..."); return(testResultHistory); }