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; /** * * @Description 保存板坯成分复样信息{界面ID:UIB020035} * @author 梅贵平{meiguiping} * @date 2009-3-30 上午11:24:00 * @JDK Version jdk1.4.2 */ public class SaveSlabAchievement extends PosActivity { public String runActivity(PosContext context) { ///ready PosGenericDao dao = this.getDao("mesdao"); PosParameter param = null; ///获取请求参数 String[]REG_ID = (String[])context.get("REG_ID"); //表格1 String[]rowStuts1 = (String[])context.get("rowStuts1");//值为i时,一次只允许插入一列,插入时其作用 String[]SLAB_NO = (String[])context.get("SLAB_NO");//板坯号,插入时其作用 // String[]PROC_CD = (String[])context.get("PROC_CD");//成分,插入时其作用 String[]CHEM_SEQ = (String[])context.get("CHEM_SEQ");//工序,插入时其作用 String[]SLABNO = (String[])context.get("SLABNO");//板坯号,表2、3、4、5更新时其作用 // String[]PROCCD = (String[])context.get("PROCCD");//工序,表2、3、4、5更新时其作用 String[]SEQ = (String[])context.get("SEQ");//次数,表2、3、4、5更新时其作用 //表格2、3、4、5 String[]rowStuts2 = (String[])context.get("rowStuts2");//对应表格2、3、4、5修改的信息 String[]CHEM_CD = (String[])context.get("CHEM_CD");//成分代码 String[]CHEM_VAL = (String[])context.get("CHEM_VAL");//实绩值 String[]EX = (String[])context.get("EX");//标记是否存在于WORK_INGR表格中 // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); ///界面上更新或插入操作一次只允许有一种 //界面上为UPDATE,rowStuts2只有更新("u")状态 if(rowStuts2 != null && rowStuts1 == null) { int len2 = rowStuts2.length; for(int i = 0; i < len2; i++) { param = new PosParameter(); // System.out.println("################# CHEM_VAL ###################"+CHEM_VAL[i]); //若EX值为Y,INSERT if("Y".equals(EX[i])) { param.setValueParamter(0, SLAB_NO[0]); param.setValueParamter(1, SEQ[0]); param.setValueParamter(2, CHEM_CD[i]); param.setValueParamter(3, CHEM_VAL[i]); param.setValueParamter(4, REG_ID[0]); dao.insert("UIB020035_01.INSERT", param); } //若EX值非Y,则UPDATE else { param.setWhereClauseParameter(0, CHEM_VAL[i]); param.setWhereClauseParameter(1, REG_ID[0]); param.setWhereClauseParameter(2, SLABNO[0]); param.setWhereClauseParameter(3, SEQ[0]); param.setWhereClauseParameter(4, CHEM_CD[i]); dao.update("UIB020035_01.UPDATE", param); } } } //界面上为INSERT操作 if(rowStuts2 != null && rowStuts1 != null) { int len2 = rowStuts2.length; for(int i = 0; i < len2; i++) { param = new PosParameter(); param.setValueParamter(0, SLAB_NO[0]); param.setValueParamter(1, SEQ[0]); param.setValueParamter(2, CHEM_CD[i]); param.setValueParamter(3, CHEM_VAL[i]); param.setValueParamter(4, REG_ID[0]); dao.insert("UIB020035_01.INSERT", param); } } String[] rowStuts3 = (String[])context.get("rowStuts3"); // System.out.println("#########################################################"+rowStuts3); String[] X_SLABNO = (String[])context.get("X_SLABNO"); String[] CHECKED = (String[])context.get("CHECKED"); if(rowStuts3 != null) { int len3 = rowStuts3.length; for(int i = 0; i < len3; i++) { if("Y".equals(CHECKED[i])) { param = new PosParameter(); param.setWhereClauseParameter(0, X_SLABNO[i]); dao.delete("UIB020035_02.DELETE", param); param = new PosParameter(); param.setValueParamter(0, X_SLABNO[i]); param.setValueParamter(1, SLABNO[0]); param.setValueParamter(2, SEQ[0]); dao.insert("UIB020035_02.INSERT", param); } } } return PosBizControlConstants.SUCCESS; } }