package xin.glue.ui.B.B02.O1; import org.apache.commons.lang.StringUtils; import xin.glue.ui.B.B02.MutilConditionFind; 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.PosGenericDao; import com.posdata.glue.dao.vo.PosParameter; import com.posdata.glue.dao.vo.PosRowSet; /** * * @Description 送样时间记录{界面ID:UIB020111} * @author 梅贵平{meiguiping} * @date 2009-8-2 下午12:02:52 * @JDK Version jdk1.4.2 */ public class FindSendSMPNO extends PosActivity { public String runActivity(PosContext context) { ///ready PosGenericDao dao = this.getDao("mesdao"); PosParameter param = null; MutilConditionFind mcf = new MutilConditionFind(); ///get request data String[]S_TIME = (String[])context.get("S_TIME");//送样开始时间 String[]E_TIME = (String[])context.get("E_TIME");//送样结束时间 String[]ROLLNO_1= (String[])context.get("ROLLNO_1");//扎啤号 String[]ROLLNO_2= (String[])context.get("ROLLNO_2"); String[]SFLAG = (String[])context.get("SFLAG"); param = new PosParameter(); StringBuffer sb = mcf.getQuerySql("UIB020111_01.SELECT"); int j = 0; Boolean isQurey = false; if("1".equals(SFLAG[0])) { //查询全部 if(!StringUtils.isEmpty(ROLLNO_1[0]) && !StringUtils.isEmpty(ROLLNO_2[0])) //轧批号不为空 { param.setWhereClauseParameter(j++, ROLLNO_1[0]); param.setWhereClauseParameter(j++, ROLLNO_2[0]); sb.append("\n AND SUBSTR(CCM.OLD_SAMPL_NO,1,10 ) BETWEEN ? AND ?"); sb.append("\n AND ROWNUM < 10000"); isQurey = true; } else if(!StringUtils.isEmpty(S_TIME[0]) && !StringUtils.isEmpty(E_TIME[0]))//送样时间不为空 { param.setWhereClauseParameter(j++, S_TIME[0]+"0000"); param.setWhereClauseParameter(j++, S_TIME[0]+"0000"); param.setWhereClauseParameter(j++, E_TIME[0]+"9999"); sb.append("\n AND NVL(A.SMP_SEND_DTIME,?) BETWEEN ? AND ?"); sb.append("\n AND ROWNUM < 10000"); isQurey = true; } else { context.put("returnInfoMsg", "查询全部数据时送样时间或轧批号不能为空!"); } } else if("2".equals(SFLAG[0])) { //查询已送样 if(!StringUtils.isEmpty(ROLLNO_1[0]) && !StringUtils.isEmpty(ROLLNO_2[0])) //轧批号不为空 { param.setWhereClauseParameter(j++, ROLLNO_1[0]); param.setWhereClauseParameter(j++, ROLLNO_2[0]); sb.append("\n AND SUBSTR(CCM.OLD_SAMPL_NO,1,10 ) BETWEEN ? AND ?"); sb.append("\n AND ROWNUM < 10000"); isQurey = true; } else if(!StringUtils.isEmpty(S_TIME[0]) && !StringUtils.isEmpty(E_TIME[0]))//送样时间不为空 { param.setWhereClauseParameter(j++, S_TIME[0]+"0000"); param.setWhereClauseParameter(j++, E_TIME[0]+"9999"); sb.append("\n AND A.SMP_SEND_DTIME BETWEEN ? AND ?"); sb.append("\n AND SMP_SEND_DTIME IS NOT NULL"); sb.append("\n AND ROWNUM < 10000"); isQurey = true; } else { context.put("returnInfoMsg", "查询已送样数据时送样时间或轧批号不能为空!"); } } else if("3".equals(SFLAG[0])) { //查询未送样的 sb.append("\n AND SMP_SEND_DTIME IS NULL"); isQurey = true; } if(isQurey) { PosRowSet rowset = dao.findByQueryStatement(sb.toString(), param); context.put("LotActualityResult", rowset); } return PosBizControlConstants.SUCCESS; } }