package xin.glue.ui.B.B02; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.PosJdbcDao; import com.posdata.glue.dao.manager.PosQueryDefinition; import com.posdata.glue.dao.manager.PosQueryManager; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRowSet; /** * * @Description 试样进程现况查询{界面ID:UIB020110} * @author 梅贵平{meiguiping} * @date 2008-10-31 下午06:09:54 * @JDK Version jdk1.4.2 */ public class FindLotActuality extends PosActivity { public String runActivity(PosContext context) { String[] SMP = (String[])context.get("SMP");//样片号 String[] SEQ = (String[])context.get("SEQ"); String[] SMP_PROG_CD = (String[])context.get("SMP_PROG_CD");//进程代码 String[] STARTTIME = (String[])context.get("STARTTIME");//开始时间 String[] ENDTIME = (String[])context.get("ENDTIME");//结束时间 String[] ROLLNO_1 = (String[])context.get("ROLLNO_1");//开始钢卷号 String[] ROLLNO_2 = (String[])context.get("ROLLNO_2");//结尾钢卷号 StringBuffer sql = getManagerSql("UIB020110_01.SELECT"); PosParameter param = new PosParameter(); int j = 0; // if(!"".equals(SMP[0]) && !"".equals(SEQ[0]) )//若有样片号的存在 // { // sql.append("\n AND a.SMP_NO = ? "); // param.setWhereClauseParameter(j++, SMP[0]+SEQ[0]);//试样号 // } // else if(!"".equals(SMP[0])) // { // sql.append("\n AND substr(a.SMP_NO , 0 , 10) = ?"); // param.setWhereClauseParameter(j++, SMP[0]);//炉次号 // } // else if(!"".equals(SEQ[0])) // { // sql.append("\n AND substr(a.SMP_NO , 11) = ? "); // param.setWhereClauseParameter(j++, SEQ[0]);//序号 // } //若有进程要求 if(!"".equals(SMP_PROG_CD[0])) { sql.append("\n AND a.SMP_PROG_CD = ? "); param.setWhereClauseParameter(j++, SMP_PROG_CD[0]);//进程代码 } // //若有时间要求 // if( !"0000".equals(STARTTIME[0]) && !"9999".equals(ENDTIME[0])) // { // sql.append("\n AND a.SMP_DIR_DTIME BETWEEN ? AND ?"); // param.setWhereClauseParameter(j++, STARTTIME[0]);//开始时间 // param.setWhereClauseParameter(j++, ENDTIME[0]);//结束时间 // } if(!"".equals(ROLLNO_1[0])) { sql.append("\n AND SUBSTR(CCM.OLD_SAMPL_NO , 1 , 10) BETWEEN ? AND ?"); param.setWhereClauseParameter(j++, ROLLNO_1[0]);//开始钢卷号 param.setWhereClauseParameter(j++, ROLLNO_2[0]);//结束钢卷号 // param.setWhereClauseParameter(j++, ENDTIME[0]);//结束时间 } sql.append("\n ORDER BY CCM.OLD_SAMPL_NO ASC"); PosRowSet rowset = this.getDao("mesdao").findByQueryStatement(sql.toString(), param); context.put("LotActualityResult", rowset); return PosBizControlConstants.SUCCESS; } public StringBuffer getManagerSql(String id) { PosJdbcDao dao = (PosJdbcDao)this.getDao("mesdao"); PosQueryManager ppt = dao.getQueryManager(); PosQueryDefinition x = ppt.getQueryDefinition(id); return new StringBuffer(x.getQueryStatement()); } }