00001 package webscripts;
00002
00003
00004
00005
00006
00007
00008
00009 import java.io.*;
00010 import java.util.*;
00011 import java.sql.*;
00012 import ProdDatabase.*;
00013 import ProdDatabase.SCTDBInfo;
00014
00015 public class generalScripts {
00016
00017
00018
00019 public static Vector getPositionMap(int i) throws Exception {
00020
00021 Vector list = new Vector();
00022 StringBuffer sqlStat = new StringBuffer("SELECT ser_no,posn FROM assm_items WHERE");
00023 sqlStat.append(" assm_ser_no="+DisplayGUI.SCTInfo.SCTSerialNumbers[i]);
00024 sqlStat.append(" ORDER BY ser_no");
00025
00026
00027 Statement statement = SCTDBInterface.getInstance().connection.createStatement();
00028 ResultSet resultSet = statement.executeQuery(sqlStat.toString());
00029 int recordCount=0;
00030
00031 for(boolean n = resultSet.next() ; n==true ; n=resultSet.next() ){
00032 String sn = resultSet.getString(1);
00033 String posn = resultSet.getString(2);
00034 DisplayGUI.SCTDBAssemblyInfo a = new DisplayGUI.SCTDBAssemblyInfo(posn);
00035 list.addElement(sn+"="+DisplayGUI.SCTInfo.SCTViewNames[i]+", Row "+a.getRow()+", Position "+a.getPos());
00036 }
00037 statement.close();
00038 return list;
00039 }
00040
00041
00042 public static void makeDataReferenceFile(String targetDir, int testIndex, boolean isWarm) throws Exception {
00043
00044 Set s = new HashSet();
00045 StringBuffer sqlStat = new StringBuffer("SELECT tests.ser_no,tests.TEST_no,tests.locn_name,tests.test_date");
00046 for(int y=0;y<SCTDBInfo.chipDBnames.length;y++) sqlStat.append(","+SCTDBInfo.chipDBnames[y]+"RC_MN_ENC,"+SCTDBInfo.chipDBnames[y]+"RC_MN_GAIN");
00047 sqlStat.append(" FROM "+SCTDBInfo.sctdaqDBTableNames[testIndex]+",tests,sct_tstdcsinfo,SCT_TSTDAQINFO");
00048 sqlStat.append(" WHERE tests.TEST_name = '"+SCTDBInfo.sctdaqDBTestNames[testIndex]+"'");
00049 sqlStat.append(" AND tests.ser_no IN (SELECT ser_no FROM items WHERE locn_name='Oxford')");
00050 sqlStat.append(" AND tests.TEST_no = "+SCTDBInfo.sctdaqDBTableNames[testIndex]+".TEST_no");
00051 sqlStat.append(" AND SCT_TSTDAQINFO.version NOT LIKE 'SctRodDaq%' AND SCT_TSTDAQINFO.test_no=tests.TEST_no");
00052 if(isWarm) sqlStat.append(" AND sct_tstdcsinfo.t0>10 AND sct_tstdcsinfo.TEST_no=tests.TEST_no");
00053 else sqlStat.append(" AND sct_tstdcsinfo.t0<=10 AND sct_tstdcsinfo.TEST_no=tests.TEST_no");
00054 sqlStat.append(" ORDER BY tests.ser_no,tests.TEST_date DESC,tests.TEST_no DESC");
00055
00056 BufferedWriter out = null;
00057 File oFile = new File(targetDir,SCTDBInfo.sctdaqDBTestNames[testIndex]+"_Reference.txt");
00058
00059 Statement statement = SCTDBInterface.getInstance().connection.createStatement();
00060 System.out.println(sqlStat.toString());
00061 ResultSet resultSet = statement.executeQuery(sqlStat.toString());
00062 for(boolean n = resultSet.next() ; n==true ; n=resultSet.next() ){
00063 int rc=1;
00064
00065 String sn = resultSet.getString(rc++);
00066 if(s.contains(sn)) continue;
00067 s.add(sn);
00068
00069 StringBuffer theLine = new StringBuffer("SN="+sn);
00070 theLine.append("TESTNO="+resultSet.getString(rc++));
00071 System.out.println("sn="+sn+", location="+resultSet.getString(rc++)+" date="+guiUtilities.DaveUtils.extractDate(resultSet.getString(rc++)));
00072 theLine.append("DATA=");
00073 for(int j=0;j<12;j++) {
00074 if(j>0) theLine.append(";");
00075 theLine.append(resultSet.getString(rc++));
00076 theLine.append("*");
00077 theLine.append(resultSet.getString(rc++));
00078 }
00079 if(out==null) out = new BufferedWriter(new FileWriter(oFile));
00080 out.write(theLine.toString());
00081 out.newLine();
00082 }
00083 if(out!=null) out.close();
00084 statement.close();
00085 }
00086
00087
00088
00089 }