fa1ab46f6e375d264b6c0d620283aec439551848.svn-base 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package UIB.JHY;
  2. import java.util.ArrayList;
  3. import org.springframework.jdbc.support.rowset.SqlRowSet;
  4. import UIB.COM.XmlSqlParsersFactory;
  5. import CoreFS.SA01.CoreIComponent;
  6. import CoreFS.SA06.CoreReturnObject;
  7. /**
  8. *
  9. * @desc 按检验项目对原始数据查询
  10. * @author meiguiping
  11. * @date 2011 3:38:57 PM
  12. */
  13. public class UIB100203 extends CoreIComponent
  14. {
  15. /**
  16. * qltyCD2 二级编码 即:拉力,冲击等区分
  17. * qltyCD3 三级编码 即:伸长率,屈服强度,抗拉强度等
  18. * wtbh 委托编号
  19. */
  20. public CoreReturnObject doQltyCdQuery(String qltyCD2 ,String qltyCD3 ,String wtbh ,String strArr , String strSendTP )throws Exception
  21. {
  22. //获取所有的检化验编码,如a,b,Lo,S等
  23. CoreReturnObject cro = new CoreReturnObject();
  24. String sqlOne = XmlSqlParsersFactory.getSql("UIB100203_COMM_03.SELECT");
  25. cro = this.getDao("JhyDao").ExecutequeryForRowSet(sqlOne , new Object[]{qltyCD2 });
  26. SqlRowSet srs = (SqlRowSet)cro.getResult();
  27. //取得检验项目与试样号+位置+类型+二级编码的对应关系
  28. // String sqlTwo = XmlSqlParsersFactory.getSql("UIB100203_COMM_08.SELECT");
  29. // cro = this.getDao("JhyDao").ExecutequeryForRowSet(sqlTwo , new Object[]{wtbh , qltyCD3 });
  30. // SqlRowSet srs1 = (SqlRowSet)cro.getResult();
  31. //
  32. // String repS = " , CASE {1} ELSE NULL END QLTY_CD_CFNM , CASE {2} ELSE NULL END QLTY_CD";
  33. //
  34. // //项目名替换,用于替换repS中的{1}
  35. // String whenNM = " WHEN T1.SMP_NO || T1.SMP_CUT_LOC || T1.SMP_NO_TYPE || T1.QLTY_CD_2||T1.QLTY_OPE_CD ='{1}' THEN '{2}' ";
  36. // StringBuffer tm2 = new StringBuffer();
  37. // //项目代码替换,用于替换repS中的{2}
  38. // String whenCD = " WHEN T1.SMP_NO || T1.SMP_CUT_LOC || T1.SMP_NO_TYPE || T1.QLTY_CD_2||T1.QLTY_OPE_CD ='{1}' THEN '{2}' ";
  39. // StringBuffer tm3 = new StringBuffer();
  40. // while(srs1.next())
  41. // {
  42. // whenNM = whenNM.replaceFirst("[{]+[1]+[}]+", srs1.getString("QQ")).replaceFirst("[{]+[2]+[}]+", srs1.getString("QLTY_CD_CFNM"));
  43. // tm2.append(whenNM);
  44. // whenCD = whenCD.replaceFirst("[{]+[1]+[}]+", srs1.getString("QQ")).replaceFirst("[{]+[2]+[}]+", srs1.getString("QLTY_CD"));
  45. // tm3.append(whenCD);
  46. // }
  47. // repS = repS.replaceFirst("[{]+[1]+[}]+", tm2.toString()).replaceFirst("[{]+[2]+[}]+", tm3.toString());
  48. //
  49. //获取目的SQL
  50. String repSql = ",MAX(DECODE('{2}', T1.QLTY_OPE_CD , T1.QLTY_VAL , NULL)) \"{3}\"";
  51. //",MAX(DECODE('{2}' , WQ.QLTY_CD ,WQ.QLTY_VAL_WK , NULL)) {3}"; //{2}用检验项目替代,{3}用名称替代
  52. String temp = "";
  53. StringBuffer sBuffer = new StringBuffer(350);
  54. String qltyNm = "";
  55. while(srs.next())
  56. {
  57. temp = repSql.replaceFirst("[{]+[2]+[}]+", srs.getString(1)).replaceFirst("[{]+[3]+[}]+", srs.getString("QLTY_OPE_CFNM"));//检验项目
  58. sBuffer.append(temp);
  59. }
  60. String sqlAim = XmlSqlParsersFactory
  61. .getSql("UIB100203_COMM_04.SELECT")
  62. .replaceFirst("[{]+[1]+[}]+", sBuffer.toString());
  63. // System.out.println(sqlAim);
  64. // cro = this.getDao("JhyDao").ExcuteQuery(sqlOne);
  65. // al.add(cro.getResult());
  66. cro = this.getDao("JhyDao").ExcuteQuery(sqlAim , new Object[]{wtbh , qltyCD2 , wtbh , qltyCD2 , qltyCD3 /*,strArr , strSendTP*/ } );
  67. // al.add(cro.getResult());
  68. // CoreReturnObject cro1 = new CoreReturnObject();
  69. // cro1.setResult(al);
  70. return cro;
  71. }
  72. }