package xin.glue.nui.H.H02; import java.math.BigDecimal; import java.util.Date; import java.util.Set; 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; import com.posdata.glue.msg.PosMessage; /* * author:tangliang唐亮 * date:2008-10-29 * desc: 轧钢长度,轧钢重量,轧钢时间,总轧钢长度,总轧钢重量 * 把总轧钢时间在ROLL TABLE中进行 UPDATE处理 */ public class SaveModifyDisMountRoll extends PosActivity{ public String runActivity(PosContext context) { //定义查询出来的结果,总长度、总重量、总时间 BigDecimal ROLLING_TOT_LEN_SEARCH = null; BigDecimal ROLLING_TOT_WGT_SEARCH = null; BigDecimal ROLLING_TOT_HOUR_SEARCH = null; //取得查询的结果集对象 PosRowSet rows =(PosRowSet) context.get("ChangeRoll"); //如果结果集存在值的情况下 if(rows.hasNext()){ //获取每一行的数据 PosRow row = rows.next(); //获取每一行的特定值,这里只获取轧辊的总长度,总时间,总重量。需要求和的长度、时间、重量通过二级发过来 //String ROLL_HOUR_SEARCH = (String) row.getAttribute("ROLL_HOUR"); //String ROLL_NO_SEARCH = (String) row.getAttribute("ROLL_NO"); //String ROLLING_LEN_SEARCH = (String) row.getAttribute("ROLLING_LEN"); //String ROLLING_WGT_SEARCH = (String) row.getAttribute("ROLLING_WGT"); ROLLING_TOT_LEN_SEARCH = (java.math.BigDecimal)row.getAttribute("ROLLING_TOT_LEN"); ROLLING_TOT_WGT_SEARCH = (java.math.BigDecimal)row.getAttribute("ROLLING_TOT_WGT"); ROLLING_TOT_HOUR_SEARCH =(BigDecimal)row.getAttribute("ROLLING_TOT_HOUR"); } if(ROLLING_TOT_LEN_SEARCH == null){ ROLLING_TOT_LEN_SEARCH = new java.math.BigDecimal(0); } if(ROLLING_TOT_WGT_SEARCH == null){ ROLLING_TOT_WGT_SEARCH = new java.math.BigDecimal(0); } if(ROLLING_TOT_HOUR_SEARCH == null){ ROLLING_TOT_HOUR_SEARCH = new java.math.BigDecimal(0); } //获得从二级传上来的数据 PosMessage message = context.getMessage(); //辊号类别 上部 //String TOP_BOT_CLF_UP = "T"; //辊号类别 下部 //String TOP_BOT_CLF_LO = "B"; //下线轧辊号(上) String DISM_ROLLID_UP = (String)message.get("DISM_ROLLID_UP"); //下线轧辊号(下) String DISM_ROLLID_LO = (String)message.get("DISM_ROLLID_LO"); //轧制长度(上) String ROLLEDLENGTH_UP = (String)message.get("ROLLEDLENGTH_UP"); //轧制长度(下) String ROLLEDLENGTH_LO = (String)message.get("ROLLEDLENGTH_LO"); //轧制重量(上) String ROLLEDWEIGHT_UP = (String)message.get("ROLLEDWEIGHT_UP"); //轧制重量(下) String ROLLEDWEIGHT_LO = (String)message.get("ROLLEDWEIGHT_LO"); //轧辊运行时间(上) String ROLLPRTIME_UP = (String)message.get("ROLLPRTIME_UP"); //轧辊运行时间(下) String ROLLPRTIME_LO = (String)message.get("ROLLPRTIME_LO"); //轧辊下线时间 String DISMOUNTTIME = (String)message.get("DISMOUNTTIME"); String sql = " SELECT TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDLENGTH_UP,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDLENGTH_LO,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDWEIGHT_UP ,TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLEDWEIGHT_LO, TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLPRTIME_UP, TRIM(TO_CHAR(ROUND(NVL(?,'0'),0))) nROLLPRTIME_LO FROM DUAL"; PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0,ROLLEDLENGTH_UP ); param0.setWhereClauseParameter(1,ROLLEDLENGTH_LO ); param0.setWhereClauseParameter(2,ROLLEDWEIGHT_UP ); param0.setWhereClauseParameter(3,ROLLEDWEIGHT_LO ); param0.setWhereClauseParameter(4,ROLLPRTIME_UP ); param0.setWhereClauseParameter(5,ROLLPRTIME_LO ); PosRowSet rollLthVO = getDao("mesdao").findByQueryStatement(sql, param0); if (rollLthVO.hasNext()) { PosRow rollLthROW = rollLthVO.next(); String nROLLEDLENGTH_UP = (String)rollLthROW.getAttribute("nROLLEDLENGTH_UP"); String nROLLEDLENGTH_LO = (String)rollLthROW.getAttribute("nROLLEDLENGTH_LO"); String nROLLEDWEIGHT_UP = (String)rollLthROW.getAttribute("nROLLEDWEIGHT_UP"); String nROLLEDWEIGHT_LO = (String)rollLthROW.getAttribute("nROLLEDWEIGHT_LO"); String nROLLPRTIME_UP = (String)rollLthROW.getAttribute("nROLLPRTIME_UP"); String nROLLPRTIME_LO = (String)rollLthROW.getAttribute("nROLLPRTIME_LO"); //计算下线轧辊的总轧钢长度,总轧钢重量、总轧钢时间 (上部的) int ROLLING_TOT_LEN_UP = ROLLING_TOT_LEN_SEARCH.intValue() + Integer.valueOf(nROLLEDLENGTH_UP).intValue(); int ROLLING_TOT_WGT_UP = ROLLING_TOT_WGT_SEARCH.intValue() + Integer.valueOf(nROLLEDWEIGHT_UP).intValue(); int ROLLING_TOT_HOUR_UP = ROLLING_TOT_HOUR_SEARCH.intValue() + Integer.valueOf(nROLLPRTIME_UP).intValue(); //计算下线轧辊的总轧钢长度、重量、时间 (下部的) int ROLLING_TOT_LEN_LO = ROLLING_TOT_LEN_SEARCH.intValue() + Integer.valueOf(nROLLEDLENGTH_LO).intValue(); int ROLLING_TOT_WGT_LO = ROLLING_TOT_WGT_SEARCH.intValue() + Integer.valueOf(nROLLEDWEIGHT_LO).intValue(); int ROLLING_TOT_HOUR_LO = ROLLING_TOT_HOUR_SEARCH.intValue() + Integer.valueOf(nROLLPRTIME_LO).intValue(); //更新上部轧辊的相关信息,这里轧辊的总长度,总重量,总时间已经求出。长度、重量、时间取二级发过来的数据 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, ROLLEDLENGTH_UP); param1.setWhereClauseParameter(1, ROLLEDWEIGHT_UP); param1.setWhereClauseParameter(2, ROLLPRTIME_UP); param1.setWhereClauseParameter(3, String.valueOf(ROLLING_TOT_LEN_UP)); param1.setWhereClauseParameter(4, String.valueOf(ROLLING_TOT_WGT_UP)); param1.setWhereClauseParameter(5, String.valueOf(ROLLING_TOT_HOUR_UP)); //param1.setWhereClauseParameter(6, TOP_BOT_CLF_UP); param1.setWhereClauseParameter(6, DISMOUNTTIME); param1.setWhereClauseParameter(7, DISM_ROLLID_UP); getDao("mesdao").update("NIH020060_DISMOUNT_ROLL.update", param1); //更新下部轧辊的相关信息,这里轧辊的总长度,总重量,总时间已经求出。长度、重量、时间取二级发过来的数据 PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, ROLLEDLENGTH_LO); param2.setWhereClauseParameter(1, ROLLEDWEIGHT_LO); param2.setWhereClauseParameter(2, ROLLPRTIME_LO); param2.setWhereClauseParameter(3, String.valueOf(ROLLING_TOT_LEN_LO)); param2.setWhereClauseParameter(4, String.valueOf(ROLLING_TOT_WGT_LO)); param2.setWhereClauseParameter(5, String.valueOf(ROLLING_TOT_HOUR_LO)); //param2.setWhereClauseParameter(6, TOP_BOT_CLF_LO); param2.setWhereClauseParameter(6, DISMOUNTTIME); param2.setWhereClauseParameter(7, DISM_ROLLID_LO); getDao("mesdao").update("NIH020060_DISMOUNT_ROLL.update", param2); } return PosBizControlConstants.SUCCESS; } }