package xin.glue.ui.G.G02; 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.PosPageSet; 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.web.control.PosGenericAction; /** * 成分参数插入、删除、修改(对应界面ID:UIG020062) * @author * @date 2014-11-26 */ public class PosSaveSlabCutting_1 extends PosActivity { public String runActivity(PosContext context) { PosGenericDao dao = this.getDao("mesdao"); // String INFID = "UIG020062"; PosRowSet rowset = null; PosRow row = null; String[]CHK = (String[])context.get("CHK");//标识 String[]CHARGE_NO = (String[])context.get("CHARGE_NO"); //炉号 String[]SLAB_NO = (String[])context.get("SLAB_NO"); //板坯号 String[]CC_DEVNO = (String[])context.get("CC_DEVNO"); //铸机号 String[]STL_GRD = (String[])context.get("STL_GRD"); //钢种 String[]STATE = (String[])context.get("STATE"); //发送标识 String[]FLAG = (String[])context.get("FLAG"); //板坯状态 String[]SLAB_THK = (String[])context.get("PLY"); //板坯厚度 String[]SLAB_WTH = (String[])context.get("WIDTH"); String[]SLAB_LEN = (String[])context.get("LEN"); String[]rowStuts = (String[])context.get("rowStuts");//行状态 String[]QUANTITY = (String[])context.get("QUANTITY"); //支数 板坯为1 方坯为实际支数 String[]THEOR_WGT = (String[])context.get("THEOR_WGT"); //理论重量 String[]WGT_SEQ = (String[])context.get("WGT_SEQ"); //称重序号 String[]REAL_WGT = (String[])context.get("REAL_WGT"); //称重重量 String[]SEDN_TIME = (String[])context.get("SEDN_TIME"); //最后一次发送时间 String[]REVERT_TIME = (String[])context.get("REVERT_TIME"); //自动化返回时间 String[]LAST_UPDATETIME = (String[])context.get("LAST_UPDATETIME"); //最后更新时间 String[]HEATOVERFLAG = (String[])context.get("HEATOVERFLAG"); //炉次结束标志 String[]CUTTIME = (String[])context.get("CUTTIME"); //切割时间 if(rowStuts != null) { int len = rowStuts.length; //int j = 0; PosParameter param = null; for(int i=0; i < len; i++) { //j = 0; // if("Y".equals(CHK[i]))//只对勾选的数据进行更新 // { // continue; // } param = new PosParameter(); param.setWhereClauseParameter(0, CHARGE_NO[i]); param.setWhereClauseParameter(1, SLAB_NO[i]); String ccDrvNoSql = "select CHARGE_NO,SLAB_NO,CC_DEVNO,STL_GRD from tb_slab_wgt_send where CHARGE_NO = ? and SLAB_NO = ? "; rowset = this.getDao("mesdao").findByQueryStatement(ccDrvNoSql, param); //有数据则更新,没有则插入 if(rowset.hasNext()){ param = new PosParameter(); param.setWhereClauseParameter(0, CHARGE_NO[i]); //根据炉号和板坯号获取自动化返回数据 param.setWhereClauseParameter(1, SLAB_NO[i]); //查询接收表未处理的数据 String recsql = "select wgt_seq,CHARGE_NO,SLAB_NO,real_wgt,revert_time from tb_slab_wgt_rec where CHARGE_NO = ? and SLAB_NO = ? and flag = '0'"; PosRowSet rowset1 = this.getDao("mesdao").findByQueryStatement(recsql, param); if(rowset1.hasNext()){ PosRow row1 = rowset1.next(); String tempwgt = (String)row1.getAttribute("real_wgt").toString(); String tempslabno = (String)row1.getAttribute("SLAB_NO"); String tempchargeno = (String)row1.getAttribute("CHARGE_NO"); String tempwgtseq = (String)row1.getAttribute("wgt_seq"); String temprevertime = (String)row1.getAttribute("revert_time"); PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, tempwgt); param1.setWhereClauseParameter(1, tempwgtseq); param1.setWhereClauseParameter(2, temprevertime); param1.setWhereClauseParameter(3, tempchargeno); param1.setWhereClauseParameter(4, tempslabno); //String recupdsql = "update tb_slab_wgt_send a set a.state = '2',a.real_wgt = ? ,a.wgt_seq = ? ,a.revert_time = ?,a.last_updatetime = to_char(sysdate,'yyyymmddhh24miss') where heatno = ? and billetno = ?"; //更新实际重量 this.getDao("mesdao").update("UIG020060_104.update", param1); PosParameter param2 = new PosParameter(); param2.setWhereClauseParameter(0, CHARGE_NO[i]); //根据炉号和板坯号获取自动化返回数据 param2.setWhereClauseParameter(1, SLAB_NO[i]); // update tb_slab_wgt_rec set flag = '1' where heatno = ? and billetno = ? and WGT_SEQ = ? and REVERT_TIME = ? and flag = '0' //更新接收表状态 this.getDao("mesdao").update("UIG020060_105.update", param2); } //SlabNo[i] = tempNo.substring(10, 13); }else{ param = new PosParameter(); param.setWhereClauseParameter(0, CHARGE_NO[i]);//表示序号 param.setWhereClauseParameter(1, SLAB_NO[i]);//成分 param.setWhereClauseParameter(2, CC_DEVNO[i]);//保留位数 param.setWhereClauseParameter(3, STL_GRD[i]);//详细内容 param.setWhereClauseParameter(4, '0');//录入者或者修改者 param.setWhereClauseParameter(5, FLAG[i]);//详细内容 param.setWhereClauseParameter(6, SLAB_THK[i]);//成分 param.setWhereClauseParameter(7, SLAB_WTH[i]);//表示序号 param.setWhereClauseParameter(8, SLAB_LEN[i]);//成分 param.setWhereClauseParameter(9, QUANTITY[i]);//保留位数 param.setWhereClauseParameter(10, THEOR_WGT[i]);//详细内容 param.setWhereClauseParameter(11, HEATOVERFLAG[i]);//详细内容 param.setWhereClauseParameter(12, CUTTIME[i]);//录入者或者修改者 dao.insert("UIG020060_101.insert", param); } /* if("d".equals(row Stuts[i])) { param = new PosParameter(); param.setWhereClauseParameter(j++, CHEM_CD[i]); dao.delete("UIB010070_01.DELETE", param); //记录删除信息 SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010070_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]); }*/ } } return PosBizControlConstants.SUCCESS; } }