package xin.glue.ui.B.B01; import java.sql.CallableStatement; import xin.glue.ui.B.common.SaveModifyHistory; 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:UIB010051} * @author 梅贵平{meiguiping} * @date 2009-12-9 下午04:06:07 * @JDK Version jdk1.4.2 */ public class SaveTAFacChemParameter extends PosActivity { public String runActivity(PosContext context) { PosGenericDao dao = this.getDao("mesdao"); PosParameter param = null; PosRowSet rowset = null; String INFID = "UIB010051"; String[] REG_NM = (String[])context.get("REG_NM"); String[]rowStuts = (String[])context.get("rowStuts"); String[]TAFAC_STL_GRD = (String[])context.get("TAFAC_STL_GRD");//牌号 String[] CHEM_MIN = (String[])context.get("CHEM_MIN"); String[] CHEM_MAX = (String[])context.get("CHEM_MAX"); String[] CHEM_CD = (String[])context.get("CHEM_CD"); String[] COMP_YN = (String[])context.get("COMP_YN");//是否为复合元素 if(rowStuts != null) { int len = rowStuts.length; for(int i = 0 ; i < len; i++) { if("".equals(CHEM_MIN[i]) && "".equals(CHEM_MAX[i]))//若最大值和最小值都为空 { param = new PosParameter(); param.setWhereClauseParameter(0, TAFAC_STL_GRD[0]); param.setWhereClauseParameter(1, CHEM_CD[i]); dao.delete("UIB010051_02.DELETE", param); SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010051_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]); continue;//进入下一次循环 } param = new PosParameter(); param.setWhereClauseParameter(0, TAFAC_STL_GRD[0]); param.setWhereClauseParameter(1, CHEM_CD[i]); rowset = dao.find("UIB010051_01.SELECT", param); if(rowset.count() > 0)//若有该元素 { param = new PosParameter(); param.setWhereClauseParameter(0, CHEM_MIN[i]); param.setWhereClauseParameter(1, CHEM_MAX[i]); param.setWhereClauseParameter(2, COMP_YN[i]); param.setWhereClauseParameter(3, REG_NM[0]); param.setWhereClauseParameter(4, TAFAC_STL_GRD[0]); param.setWhereClauseParameter(5, CHEM_CD[i]); dao.update("UIB010051_01.UPDATE" , param); SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010051_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]); } else { param = new PosParameter(); param.setValueParamter(0, TAFAC_STL_GRD[0]); param.setValueParamter(1, CHEM_CD[i]); param.setValueParamter(2, COMP_YN[i]); param.setValueParamter(3, CHEM_MIN[i]); param.setValueParamter(4, CHEM_MAX[i]); param.setValueParamter(5, REG_NM[0]); dao.insert("UIB010051_01.INSERT", param); } } } //delete from String[]rowStatusD = (String[])context.get("rowStatusD");//删除标记 if(rowStatusD != null) { if("d".equals(rowStatusD[0])) { param = new PosParameter(); param.setWhereClauseParameter(0, TAFAC_STL_GRD[0]); dao.delete("UIB010051_01.DELETE", param); SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010051_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]); } } String[] CALL = (String[])context.get("CALL"); String[]TARGET_TAFAC_STL_GRD = (String[])context.get("TARGET_TAFAC_STL_GRD");//目标牌号 if(CALL != null)//牌号复制 { CallableStatement cstm = null; cstm = dao.getCallableStatement("UIB010051_01.CALL"); try { cstm.setString(1, TAFAC_STL_GRD[0]); cstm.setString(2, TARGET_TAFAC_STL_GRD[0]); cstm.setString(3, REG_NM[0]); cstm.registerOutParameter(4, java.sql.Types.VARCHAR); cstm.execute(); }catch(Exception ex) { ex.printStackTrace(); } finally { if(cstm != null) { try { cstm.close(); }catch(Exception e) { e.printStackTrace(); } } } } return PosBizControlConstants.SUCCESS; } }