31b4dec4e7193597b1bc30617166147a5b3d2401.svn-base 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package xin.glue.ui.B.B02.O1;
  2. import org.apache.commons.lang.StringUtils;
  3. import xin.glue.ui.B.B02.MutilConditionFind;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.PosGenericDao;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. /**
  11. *
  12. * @Description 送样时间记录{界面ID:UIB020111}
  13. * @author 梅贵平{meiguiping}
  14. * @date 2009-8-2 下午12:02:52
  15. * @JDK Version jdk1.4.2
  16. */
  17. public class FindSendSMPNO extends PosActivity
  18. {
  19. public String runActivity(PosContext context)
  20. {
  21. ///ready
  22. PosGenericDao dao = this.getDao("mesdao");
  23. PosParameter param = null;
  24. MutilConditionFind mcf = new MutilConditionFind();
  25. ///get request data
  26. String[]S_TIME = (String[])context.get("S_TIME");//送样开始时间
  27. String[]E_TIME = (String[])context.get("E_TIME");//送样结束时间
  28. String[]ROLLNO_1= (String[])context.get("ROLLNO_1");//扎啤号
  29. String[]ROLLNO_2= (String[])context.get("ROLLNO_2");
  30. String[]SFLAG = (String[])context.get("SFLAG");
  31. param = new PosParameter();
  32. StringBuffer sb = mcf.getQuerySql("UIB020111_01.SELECT");
  33. int j = 0;
  34. Boolean isQurey = false;
  35. if("1".equals(SFLAG[0])) { //查询全部
  36. if(!StringUtils.isEmpty(ROLLNO_1[0]) && !StringUtils.isEmpty(ROLLNO_2[0])) //轧批号不为空
  37. {
  38. param.setWhereClauseParameter(j++, ROLLNO_1[0]);
  39. param.setWhereClauseParameter(j++, ROLLNO_2[0]);
  40. sb.append("\n AND SUBSTR(CCM.OLD_SAMPL_NO,1,10 ) BETWEEN ? AND ?");
  41. sb.append("\n AND ROWNUM < 10000");
  42. isQurey = true;
  43. } else if(!StringUtils.isEmpty(S_TIME[0]) && !StringUtils.isEmpty(E_TIME[0]))//送样时间不为空
  44. {
  45. param.setWhereClauseParameter(j++, S_TIME[0]+"0000");
  46. param.setWhereClauseParameter(j++, S_TIME[0]+"0000");
  47. param.setWhereClauseParameter(j++, E_TIME[0]+"9999");
  48. sb.append("\n AND NVL(A.SMP_SEND_DTIME,?) BETWEEN ? AND ?");
  49. sb.append("\n AND ROWNUM < 10000");
  50. isQurey = true;
  51. } else {
  52. context.put("returnInfoMsg", "查询全部数据时送样时间或轧批号不能为空!");
  53. }
  54. } else if("2".equals(SFLAG[0])) { //查询已送样
  55. if(!StringUtils.isEmpty(ROLLNO_1[0]) && !StringUtils.isEmpty(ROLLNO_2[0])) //轧批号不为空
  56. {
  57. param.setWhereClauseParameter(j++, ROLLNO_1[0]);
  58. param.setWhereClauseParameter(j++, ROLLNO_2[0]);
  59. sb.append("\n AND SUBSTR(CCM.OLD_SAMPL_NO,1,10 ) BETWEEN ? AND ?");
  60. sb.append("\n AND ROWNUM < 10000");
  61. isQurey = true;
  62. } else if(!StringUtils.isEmpty(S_TIME[0]) && !StringUtils.isEmpty(E_TIME[0]))//送样时间不为空
  63. {
  64. param.setWhereClauseParameter(j++, S_TIME[0]+"0000");
  65. param.setWhereClauseParameter(j++, E_TIME[0]+"9999");
  66. sb.append("\n AND A.SMP_SEND_DTIME BETWEEN ? AND ?");
  67. sb.append("\n AND SMP_SEND_DTIME IS NOT NULL");
  68. sb.append("\n AND ROWNUM < 10000");
  69. isQurey = true;
  70. } else {
  71. context.put("returnInfoMsg", "查询已送样数据时送样时间或轧批号不能为空!");
  72. }
  73. } else if("3".equals(SFLAG[0])) { //查询未送样的
  74. sb.append("\n AND SMP_SEND_DTIME IS NULL");
  75. isQurey = true;
  76. }
  77. if(isQurey) {
  78. PosRowSet rowset = dao.findByQueryStatement(sb.toString(), param);
  79. context.put("LotActualityResult", rowset);
  80. }
  81. return PosBizControlConstants.SUCCESS;
  82. }
  83. }