package xin.glue.ui.B.common; import java.sql.CallableStatement; 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; /** * * @Description 板坯改判{界面ID:UIB030202} * @author 梅贵平{meiguiping} * @date 2009-8-19 上午09:25:32 * @JDK Version jdk1.4.2 */ public class SaveDcsSlabInfo extends PosActivity { public String runActivity(PosContext context) { // /ready PosGenericDao dao = this.getDao("mesdao"); // /param String[] SLAB_NO = (String[]) context.get("SLAB_NO");// 板坯号 String[] rowStatus = (String[]) context.get("rowStatus");// grid状态 String[] DCS_DETAIL = (String[]) context.get("DCS_DETAIL");// 改判说明 String[] STL_GRD = (String[]) context.get("STL_GRD");// 改判后的牌号 String[] REG_NM = (String[]) context.get("REG_NM");// 改判人 String[] CHK = (String[]) context.get("CHK");// 选择 String[] SLAB_RT = (String[]) context.get("SLAB_RT");// 板坯去向 if (rowStatus == null) return PosBizControlConstants.SUCCESS; int len = rowStatus.length; //进行板坯是否做过申报的判断 for (int i = 0; i < len; i++) { if ("Y".equals(CHK[i])) { String sqlc = "SELECT nvl(REPORT_TIME, 'NULL') REPORT_TIME FROM TBG02_SLAB_COMM T WHERE T.SLAB_NO = ?"; PosParameter paramc = new PosParameter(); paramc.setWhereClauseParameter(0,SLAB_NO[i] ); PosRowSet CoilVo1 = getDao("mesdao").findByQueryStatement(sqlc, paramc); if (CoilVo1.hasNext()) { PosRow CoilROW = CoilVo1.next(); String iflag = (String)CoilROW.getAttribute("REPORT_TIME"); if(!iflag.equals("NULL")) { String vtemp="REPORTFLAG"; context.put("AYY", vtemp); return PosBizControlConstants.SUCCESS; } } } } CallableStatement cstm = dao .getCallableStatement("UIB030202_03.CALLSTATEMENT"); try { for (int i = 0; i < len; i++) { if ("Y".equals(CHK[i])) { cstm.setString(1, SLAB_NO[i]);// 需要改判的板坯号 cstm.setString(2, STL_GRD[i]);// 牌号 cstm.setString(3, SLAB_RT[i]);// 板坯去向 cstm.setString(4, DCS_DETAIL[0]); cstm.setString(5, REG_NM[0]); cstm.registerOutParameter(6, java.sql.Types.VARCHAR); cstm.registerOutParameter(7, java.sql.Types.VARCHAR); cstm.execute(); //add by pbs 增加错误提示 String errorCd = cstm.getString(6); String errorMsg = cstm.getString(7); if ("XX".equals(errorCd)) { context.put("errorMsg", errorMsg); return PosBizControlConstants.FAILURE; } } } cstm.close(); } catch (Exception ex) { ex.printStackTrace(); return PosBizControlConstants.FAILURE; } return PosBizControlConstants.SUCCESS; } }