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:UIB020060} * @author 梅贵平{meiguiping} * @date 2009-1-11 下午01:44:21 * @JDK Version jdk1.4.2 */ public class SaveCoilChemAchievement extends PosActivity { public String runActivity(PosContext context) { ///ready PosParameter param = null; PosGenericDao dao = this.getDao("mesdao"); ///get request data String[]REG_ID = (String[])context.get("REG_ID");//登录人 //表格1 String[]rowStuts1 = (String[])context.get("rowStuts1"); String[]COIL_NO = (String[])context.get("COIL_NO");//钢卷号 String[]CHEM_SEQ = (String[])context.get("CHEM_SEQ");//次数 //仅在表2、3、4、5更新时期作用 String[]COILNO = (String[])context.get("COILNO");//钢卷号 String[]SEQ = (String[])context.get("SEQ");//次数 //表格2、3、4、5 String[]rowStuts2 = (String[])context.get("rowStuts2"); String[]CHEM_CD = (String[])context.get("CHEM_CD");//成分 String[]CHEM_MIN = (String[])context.get("CHEM_MIN");//最小 String[]CHEM_MAX = (String[])context.get("CHEM_MAX");//最大 String[]CHEM_VAL = (String[])context.get("CHEM_VAL");//值 String[]EX = (String[])context.get("EX");//元素的插入或删除判断 ///界面上更新或插入操作一次只允许有一种 //界面上为UPDATE,rowStuts2只有更新("u")状态 if(rowStuts2 != null && rowStuts1 == null) { int len2 = rowStuts2.length; for(int i = 0; i < len2; i++) { param = new PosParameter(); //若EX值为Y,INSERT if("Y".equals(EX[i])) { param.setValueParamter(0, COILNO[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("UIB020060_01.INSERT", param); } else//若非EX,则进行UPDATE操作 { param.setWhereClauseParameter(0, CHEM_VAL[i]);//值 param.setWhereClauseParameter(1, REG_ID[0]); param.setWhereClauseParameter(2, COILNO[0]);//钢卷号 param.setWhereClauseParameter(3, SEQ[0]);//次数 param.setWhereClauseParameter(4, CHEM_CD[i]);//成分代码 dao.update("UIB020060_01.UPDATE", param); } } } //界面上为INSERT操作,即插入了一条新的钢号 if(rowStuts2 != null && rowStuts1 != null) { int len2 = rowStuts2.length; for(int i = 0; i < len2; i++) { param = new PosParameter(); /* * 在“次数增加”后,查询时的次数和增加后的次数不同,即CHEM_SEQ和SEQ可能不同, * 钢卷号由于在表格1没有任何钢卷号而增加一个后起作用 * */ param.setValueParamter(0, COILNO[0].equals(COIL_NO[0])?COILNO[0]:COIL_NO[0]); param.setValueParamter(1, SEQ[0].equals(CHEM_SEQ[0])?SEQ[0]:CHEM_SEQ[0]); param.setValueParamter(2, CHEM_CD[i]);//成分 param.setValueParamter(3, CHEM_VAL[i]);//实绩值 param.setValueParamter(4, REG_ID[0]); dao.insert("UIB020060_01.INSERT", param); } } return PosBizControlConstants.SUCCESS; } }