0d432b6e8f2150c7b4d6e83288168df3e6e3a5c7.svn-base 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package xin.glue.ui.B.B02;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.context.PosContext;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. import com.posdata.glue.dao.vo.PosRow;
  8. import com.posdata.glue.dao.vo.PosRowSet;
  9. /**
  10. *
  11. * @Description 炉次号成分现况查询{界面ID:UIB020020}
  12. * @author 梅贵平{meiguiping}
  13. * @date 2009-1-5 下午01:29:42
  14. * @JDK Version jdk1.4.2
  15. */
  16. public class FindChargeIngredient extends PosActivity
  17. {
  18. public String runActivity(PosContext context)
  19. {
  20. ///ready
  21. MutilConditionFind mcf = new MutilConditionFind();
  22. PosGenericDao dao = this.getDao("mesdao");
  23. PosParameter param = null;
  24. PosRowSet rowset = null;
  25. ///get request data
  26. String[]P_CHARGENO = (String[])context.get("CHARGENO");//炉次号
  27. String[]P_SEQ = (String[])context.get("SEQ");//次数
  28. String[]P_StartTime = (String[])context.get("StartTime");//开始时间
  29. String[]P_EndTime = (String[])context.get("EndTime");//结束时间
  30. String[]P_SQL = (String[])context.get("SQL");
  31. String[]CHARGENO2 = (String[])context.get("CHARGENO2");
  32. String[]P_STLGRD = (String[])context.get("STLGRD");
  33. ///select chem_cd from tbb02_work_ingr where..........
  34. StringBuffer bufferSql = mcf.getQuerySql("UIB020020_01.SELECT");
  35. int j = 0;
  36. param = new PosParameter();
  37. /*bufferSql.append("\n"+P_SQL[0]+"\n");
  38. if(!"%".equals(P_CHARGENO[0]))//若炉次号不为空
  39. {
  40. bufferSql.append("\n"+mcf.getQuerySql("UIB020020_CHARGENO").toString());
  41. param.setWhereClauseParameter(j++, P_CHARGENO[0]);
  42. }
  43. if(!"".equals(P_SEQ[0]))//若此数不为空
  44. {
  45. bufferSql.append("\n"+mcf.getQuerySql("UIB020020_SEQ").toString());
  46. param.setWhereClauseParameter(j++, P_SEQ[0]);
  47. }
  48. bufferSql.append(" ORDER BY SI.COMP_YN , SI.DISPLAY_SEQ ");*/
  49. rowset = dao.findByQueryStatement(bufferSql.toString());//满足条件的成分查询
  50. context.put("ChemNM", rowset);//返回成分
  51. if(rowset.count()<=0)//若查询无成分,则直接返回,不进行下面操作
  52. return PosBizControlConstants.SUCCESS;
  53. ///炉次号成分现况查询
  54. int count = rowset.count();
  55. String mid = mcf.getQuerySql("UIB020020_02.MID").toString();
  56. String temp = "";
  57. j = 1;//用于循环部分
  58. StringBuffer sb = new StringBuffer(2000);
  59. PosRow row = null;
  60. while(rowset.hasNext())
  61. {
  62. row = rowset.next();
  63. temp = mid.replaceAll("[{]+[0]+[}]+", row.getAttribute("CHEM_CD").toString());
  64. temp = temp.replaceAll("[{]+[1]+[}]+", new Integer(j++).toString());
  65. sb.append(temp);
  66. }
  67. bufferSql = new StringBuffer(9000);
  68. bufferSql = mcf.getQuerySql("UIB020020_02.START").append("\n").append(sb).append("\n").append(mcf.getQuerySql("UIB020020_02.END"));
  69. param = new PosParameter();
  70. j = 0;
  71. bufferSql.append("\n"+P_SQL[0]+"\n");
  72. if(!"".equals(P_CHARGENO[0]))//若炉次号不为空
  73. {
  74. bufferSql.append("\n"+mcf.getQuerySql("UIB020020_CHARGENO").toString());
  75. param.setWhereClauseParameter(j++, P_CHARGENO[0]);
  76. param.setWhereClauseParameter(j++, CHARGENO2[0]);
  77. }
  78. if(!"".equals(P_SEQ[0]))//若此数不为空
  79. {
  80. bufferSql.append("\n"+mcf.getQuerySql("UIB020020_SEQ").toString());
  81. param.setWhereClauseParameter(j++, P_SEQ[0]);
  82. }
  83. if(!"".equals(P_StartTime[0]))//判定时间
  84. {
  85. bufferSql.append("\n"+mcf.getQuerySql("UIB020020_TIME").toString());
  86. param.setWhereClauseParameter(j++, P_StartTime[0]);
  87. param.setWhereClauseParameter(j++, P_EndTime[0]);
  88. }
  89. if(!"".equals(P_STLGRD[0]))
  90. {
  91. bufferSql.append("\n"+" AND GC.STL_GRD LIKE ?||'%'");
  92. param.setWhereClauseParameter(j++, P_STLGRD[0]);
  93. }
  94. // if(!"".equals(P_EndTime[0]))//结束时间
  95. // {
  96. // bufferSql.append("\n"+mcf.getQuerySql("UIB020020_ENDTIME").toString());
  97. // param.setWhereClauseParameter(j++, P_EndTime[0]);
  98. // }
  99. rowset = dao.findByQueryStatement(bufferSql.append("\n").append(mcf.getQuerySql("UIB020020_02.GROUPBY")).toString() , param);//炉次号成分查询
  100. context.put("ChargeIngr", rowset);
  101. return PosBizControlConstants.SUCCESS;
  102. }
  103. }