a1ae6f8812db63f80a92ff8b3033d80ed5154377.svn-base 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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 FindChargeIngrAim extends PosActivity
  17. {
  18. public String runActivity(PosContext context)
  19. {
  20. ///readyo
  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. ///select chem_cd from tbb02_work_ingr where..........
  32. StringBuffer bufferSql = mcf.getQuerySql("UIB020021_01.SELECT");
  33. int j = 0;
  34. param = new PosParameter();
  35. bufferSql.append("\n"+P_SQL[0]+"\n");
  36. if(!"%".equals(P_CHARGENO[0]))//若炉次号不为空
  37. {
  38. bufferSql.append("\n"+mcf.getQuerySql("UIB020021_CHARGENO").toString());
  39. param.setWhereClauseParameter(j++, P_CHARGENO[0]);
  40. }
  41. if(!"".equals(P_SEQ[0]))//若此数不为空
  42. {
  43. bufferSql.append("\n"+mcf.getQuerySql("UIB020021_SEQ").toString());
  44. param.setWhereClauseParameter(j++, P_SEQ[0]);
  45. }
  46. bufferSql.append(" ORDER BY SI.COMP_YN , SI.DISPLAY_SEQ ");
  47. rowset = dao.findByQueryStatement(bufferSql.toString() , param);//满足条件的成分查询
  48. context.put("ChemNM", rowset);//返回成分
  49. if(rowset.count()<=0)//若查询无成分,则直接返回,不进行下面操作
  50. return PosBizControlConstants.SUCCESS;
  51. ///炉次号成分现况查询
  52. int count = rowset.count();
  53. String mid = mcf.getQuerySql("UIB020021_02.MID").toString();
  54. String temp = "";
  55. j = 1;//用于循环部分
  56. StringBuffer sb = new StringBuffer(2000);
  57. PosRow row = null;
  58. while(rowset.hasNext())
  59. {
  60. row = rowset.next();
  61. temp = mid.replaceAll("[{]+[0]+[}]+", row.getAttribute("CHEM_CD").toString());
  62. temp = temp.replaceAll("[{]+[1]+[}]+", new Integer(j++).toString());
  63. sb.append(temp);
  64. }
  65. bufferSql = new StringBuffer(9000);
  66. bufferSql = mcf.getQuerySql("UIB020021_02.START").append("\n").append(sb).append("\n").append(mcf.getQuerySql("UIB020021_02.END"));
  67. param = new PosParameter();
  68. j = 0;
  69. bufferSql.append("\n"+P_SQL[0]+"\n");
  70. if(!"%".equals(P_CHARGENO[0]))//若炉次号不为空
  71. {
  72. bufferSql.append("\n"+mcf.getQuerySql("UIB020021_CHARGENO").toString());
  73. param.setWhereClauseParameter(j++, P_CHARGENO[0]);
  74. }
  75. if(!"".equals(P_SEQ[0]))//若此数不为空
  76. {
  77. bufferSql.append("\n"+mcf.getQuerySql("UIB020021_SEQ").toString());
  78. param.setWhereClauseParameter(j++, P_SEQ[0]);
  79. }
  80. if(!"".equals(P_StartTime[0]))//判定时间
  81. {
  82. bufferSql.append("\n"+mcf.getQuerySql("UIB020021_TIME").toString());
  83. param.setWhereClauseParameter(j++, P_StartTime[0]);
  84. param.setWhereClauseParameter(j++, P_EndTime[0]);
  85. }
  86. // if(!"".equals(P_EndTime[0]))//结束时间
  87. // {
  88. // bufferSql.append("\n"+mcf.getQuerySql("UIB020020_ENDTIME").toString());
  89. // param.setWhereClauseParameter(j++, P_EndTime[0]);
  90. // }
  91. rowset = dao.findByQueryStatement(bufferSql.append("\n").append(mcf.getQuerySql("UIB020021_02.GROUPBY")).toString() , param);//炉次号成分查询
  92. context.put("ChargeIngr", rowset);
  93. return PosBizControlConstants.SUCCESS;
  94. }
  95. }