package xin.glue.ui.D.D01; import java.math.BigDecimal; import java.sql.Timestamp; import java.util.HashMap; import java.util.Map; 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.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; /** * 保存板坏设计订单选定标准的条件 * @author 王黎 * @date 2008-11-25 */ public class SaveSltedStlGrd extends PosActivity { public String runActivity(PosContext context) { String[] chk = (String[]) context.get("CHK"); String[] COIL_WTH_GAP = (String[]) context.get("COIL_WTH_GAP");//钢卷宽度间隔条件 String[] DEVLMT_FR = (String[]) context.get("DEVLMT_FR");//交货期条件<开始日> String[] DEVLMT_TO = (String[]) context.get("DEVLMT_TO");//交货期条件<结束日> String[] PLAN_WGT_FR = (String[]) context.get("PLAN_WGT_FR");//待设计量<开始> String[] PLAN_WGT_TO = (String[]) context.get("PLAN_WGT_TO");//待设计量<结束> String[] DEVLMT_ALL_YN = (String[]) context.get("DEVLMT_ALL_YN");//交货期条件<是否全体选择> String[] PLAN_WGT_ALL_YN = (String[]) context.get("PLAN_WGT_ALL_YN");//待设计量<是否全部选择> String[] REGED_BY_CD = (String[])context.get("REGED_BY_CD");//录入人 String[] CHGED_BY_CD = (String[])context.get("CHGED_BY_CD");//修改人 String[] SLTED_STL_GRP = (String[]) context.get("SLTED_STL_GRP");//左边列表信息:厂内牌号组代码 String[] RN = (String[]) context.get("RN");//左边列表信息:排列序号 PosRowSet rowSet = null; boolean flag = false; //查询TBD00_SLABDN_ETSTDH中是否存在条件数据,以便做出更新还是插入操作判断 String sql = "SELECT NVL(MAX(ETSTDH_SEQ), 1) AS MAX_ETSTDH_SEQ FROM TBD00_SLABDN_ETSTDH"; rowSet = this.getDao("mesdao").findByQueryStatement(sql); Timestamp REG_DATETIME = new Timestamp(System.currentTimeMillis()); Timestamp CHG_DATETIME = new Timestamp(System.currentTimeMillis()); String MAX_ETSTDH_SEQ = ""; PosRow row = null; Map map = new HashMap(); if(rowSet.hasNext()) { flag = true;//等于true的时候就执行更新操作,否则执行插入操作 row = rowSet.next(); map = row.getAttributes(); MAX_ETSTDH_SEQ = ((BigDecimal)map.get("MAX_ETSTDH_SEQ")).toString(); } PosParameter parameter = null; if(!flag)//执行insert操作 { parameter = new PosParameter(); parameter.setValueParamter(0, DEVLMT_FR[0]); //交货期条件<开始日> parameter.setValueParamter(1, DEVLMT_TO[0]); //交货期条件<结束日> parameter.setValueParamter(2, DEVLMT_ALL_YN[0]); //交货期条件<是否全体选择> parameter.setValueParamter(3, PLAN_WGT_FR[0]); //待设计量<开始> parameter.setValueParamter(4, PLAN_WGT_TO[0]); //待设计量<结束> parameter.setValueParamter(5, PLAN_WGT_ALL_YN[0]); //待设计量<是否全部选择> parameter.setValueParamter(6, COIL_WTH_GAP[0]); //钢卷宽度间隔条件 parameter.setValueParamter(7, REG_DATETIME); //录入时间 parameter.setValueParamter(8, REGED_BY_CD[0]); //录入人 parameter.setValueParamter(9, ""); //修改时间 parameter.setValueParamter(10, ""); //修改人 parameter.setValueParamter(11, "1"); //选定标准序号 getDao("mesdao").insert("slabDnEtstdh.insert",parameter); } else//执行update操作 { parameter = new PosParameter(); parameter.setValueParamter(0, DEVLMT_FR[0]); //交货期条件<开始日> parameter.setValueParamter(1, DEVLMT_TO[0]); //交货期条件<结束日> parameter.setValueParamter(2, DEVLMT_ALL_YN[0]); //交货期条件<是否全体选择> parameter.setValueParamter(3, PLAN_WGT_FR[0]); //待设计量<开始> parameter.setValueParamter(4, PLAN_WGT_TO[0]); //待设计量<结束> parameter.setValueParamter(5, PLAN_WGT_ALL_YN[0]); //待设计量<是否全部选择> parameter.setValueParamter(6, COIL_WTH_GAP[0]); //钢卷宽度间隔条件 //parameter.setValueParamter(7, REG_DATETIME); //录入时间 //parameter.setValueParamter(8, REGED_BY_CD[0]); //录入人 parameter.setValueParamter(7, CHG_DATETIME); //修改时间 parameter.setValueParamter(8, CHGED_BY_CD[0]); //修改人 parameter.setValueParamter(9, MAX_ETSTDH_SEQ); //选定标准序号 getDao("mesdao").update("slabDnEtstdh.update", parameter); } //清楚表中已有的厂内牌号组信息,重新插入新的信息 getDao("mesdao").delete("slabDnEtstdd.delete"); if (chk != null) { for (int i = 0; i < chk.length; i++) { //组织需要插入的厂内牌号组信息 parameter = new PosParameter(); parameter.setValueParamter(0, "L"); parameter.setValueParamter(1, RN[i]); parameter.setValueParamter(2, MAX_ETSTDH_SEQ); parameter.setValueParamter(3, SLTED_STL_GRP[i]); parameter.setValueParamter(4, ""); parameter.setValueParamter(5, ""); getDao("mesdao").insert("slabDnEtstdd.insert", parameter); } } return PosBizControlConstants.SUCCESS; } }