d9ac7197b6ac882f446ee472ea73d1e5697d12fb.svn-base 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package xin.glue.ui.B.B01;
  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.PosJdbcDao;
  7. import com.posdata.glue.dao.manager.PosQueryDefinition;
  8. import com.posdata.glue.dao.manager.PosQueryManager;
  9. import com.posdata.glue.dao.vo.PosParameter;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. /**
  12. * @Description 获取错误订单信息,多条件可选查询{界面ID:UIB015110}
  13. * @author 梅贵平{meiguiping}
  14. * @date 2008-12-6 上午09:24:31
  15. * @JDK Version jdk1.4.2
  16. */
  17. public class FindErrorOrderForm extends PosActivity
  18. {
  19. public String runActivity(PosContext context)
  20. {
  21. String[]ORDNO = (String[])context.get("ORDNO");//订单号
  22. String[]ORDSEQ = (String[])context.get("ORDSEQ");//序号
  23. String[]startTime = (String[])context.get("startTime");//开始时间
  24. String[]endTime = (String[])context.get("endTime");//结束时间
  25. PosParameter param = new PosParameter();
  26. PosGenericDao dao = this.getDao("mesdao");
  27. int j = 0;
  28. StringBuffer sql = getManagerSql("UIB015110_01.SELECT"); //获取query.xml中的SQL语句
  29. if(!"%".equals(ORDNO[0]))//若订单号不为空
  30. {
  31. sql.append("\n AND T1.ORD_NO LIKE ?");
  32. param.setWhereClauseParameter(j++, ORDNO[0]);
  33. }
  34. if(!"".equals(ORDSEQ[0]))//若订单序号不为空
  35. {
  36. sql.append(" AND T1.ORD_SEQ = ?");
  37. param.setWhereClauseParameter(j++, ORDSEQ[0]);
  38. }
  39. if(!"0000".equals(startTime[0]) && !"9999".equals(endTime[0]))//若开始时间和结束时间都不为空
  40. {
  41. sql.append(" AND T1.ERR_DTIME BETWEEN ? AND ? ");
  42. param.setWhereClauseParameter(j++, startTime[0]);
  43. param.setWhereClauseParameter(j++, endTime[0]);
  44. }
  45. sql.append(" ORDER BY T1.ERR_DTIME DESC , T1.DSG_ERROR_CD ASC , T1.ORD_NO||T1.ORD_SEQ ASC");
  46. PosRowSet rowset = dao.findByQueryStatement(sql.toString() , param);//无任何条件时,param不会对结果造成影响
  47. context.put("ErrorOrdResult", rowset);
  48. return PosBizControlConstants.SUCCESS;
  49. }
  50. public StringBuffer getManagerSql(String id)//通过ID获取SQL语句
  51. {
  52. PosJdbcDao dao = (PosJdbcDao)this.getDao("mesdao");
  53. PosQueryManager ppt = dao.getQueryManager();
  54. PosQueryDefinition x = ppt.getQueryDefinition(id);
  55. return new StringBuffer(x.getQueryStatement());
  56. }
  57. }