| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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.PosGenericDao;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class FindModFacSteel extends PosActivity {
- public String runActivity(PosContext context) {
- // TODO Auto-generated method stub
-
- PosGenericDao dao = this.getDao("mesdao");
- String[] FSTLGRD = (String[])context.get("STL_GRD");//厂内钢号
- PosRowSet rowset = null;//存储最终查询结果
- PosRowSet prs = null; //存储临时查询结果
-
- String first = "";//“保存select的开头信息”
- String end = "";//保存select的结尾信息
- String mid = "";//保存select的中间信息
- String sql0 = "";//厂内信息
- StringBuffer sql = new StringBuffer();
-
- String qMark = FSTLGRD[0].toUpperCase();// 大写厂内钢号
-
- PosParameter param = null;
- if(!"".equals(FSTLGRD[0]))
- {
- first="select 'false' CHK, MOD_STL_GRD ";
- end =" FROM TBB01_FAC_INGR B, TBB01_MOD_STL A where upper(A.MOD_STL_GRD)=upper(B.FAC_STL_GRD) AND upper(A.FAC_STL_GRD)='"+qMark+"' group by MOD_STL_GRD ";
- sql0 = getSql();
- param = new PosParameter();
- //qMark = FSTLGRD[0].toUpperCase();
- param.setWhereClauseParameter(0, qMark);
- prs= dao.find("UIB020050_01.SELECT", param);
-
- }
- int i = 1;
- PosRow row = null;
- if(prs.count() > 0)
- {
- while(prs.hasNext())
- {
- row = prs.next();
- mid = sql0.replaceAll("[{]+[0]+[}]+", row.getAttribute("UPPER(CHEM_CD)").toString());
- mid = mid.replaceAll("[{]+[1]+[}]+", new Integer(i++).toString());
- sql = sql.append(mid);
- }
- }
-
-
-
-
-
- if(sql.length() > 0)
- {
- //param = new PosParameter();
- //param.setWhereClauseParameter(0, qMark);
- rowset = dao.findByQueryStatement(first+sql+end);
- context.put("ListResult_1" , rowset);
- }
-
- return PosBizControlConstants.SUCCESS;
- }
-
- public String getSql()//厂内成分
- {
- String sql = ", TO_CHAR(MAX(CASE WHEN upper(CHEM_CD) = '{0}' THEN CHEM_MIN END) ,'0.0000') MIN{1} "+
- ", TO_CHAR(MAX(CASE WHEN upper(CHEM_CD) = '{0}' THEN CHEM_MAX END) , '0.0000') MAX{1} , '{0}' CHEM_CD{1} ";
- return sql;
- }
-
- }
|