package xin.glue.ui.J.J01; /* * desc:为火运的与装车处理,垛位移到预装垛位。记录移垛历史信息 * author:唐亮 tangliang * date:2010-3-25 */ import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.sql.CallableStatement; import java.text.SimpleDateFormat; import java.util.Calendar; import org.apache.commons.lang.StringUtils; 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; public class saveYZCoil extends PosActivity{ public String runActivity(PosContext context) { //获取行状态 String[] rowStatus = (String[]) context.get("rowStatus"); String[] CHK = (String[]) context.get("CHK"); //卷号 String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO"); //现在位置 String[] CUR_LOAD_LOC = (String[]) context.get("CUR_LOAD_LOC"); String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO"); String[] CARNO = (String[]) context.get("CARNO"); String[] KZ_WGT = (String[]) context.get("KZ"); String[] REG_ID = (String[]) context.get("REG_ID"); for (int i = 0; i < rowStatus.length; i++){ if(CHK[i] != null && CHK[i].equals("Y")){ //清除公共表信息,把正式垛位改为预装垛位 PosParameter param = new PosParameter(); param.setWhereClauseParameter(0,CARNO[i]); param.setWhereClauseParameter(1,OLD_SAMPL_NO[i]); this.getDao("mesdao").update("FAHUO_03.select", param); //清除垛位表信息 PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0,OLD_SAMPL_NO[i]); this.getDao("mesdao").update("FAHUO_04.select", param1); Number SEQ = null; int SEQ_1 = 0; // 记录库存移动的情况 PosParameter param11 = new PosParameter(); PosRowSet rows11 = getDao("mesdao").find("UIH050700_05.select", param11); if(rows11.hasNext()){ PosRow row11 = rows11.next(); SEQ = (Number) row11.getAttribute("ROLL_SEQ"); if(null == SEQ){ SEQ_1 = 1; }else{ SEQ_1 = SEQ.intValue()+1; } //取出主键后,更新移动表 PosParameter param4 = new PosParameter(); param4.setValueParamter(0, new Integer(SEQ_1)); param4.setValueParamter(1, CUR_LOAD_LOC[i]); param4.setValueParamter(2, "YZ"); param4.setValueParamter(3, OLD_SAMPL_NO[i]); param4.setValueParamter(4, ""); param4.setValueParamter(5, ""); param4.setValueParamter(6, ""); param4.setValueParamter(7, ""); param4.setValueParamter(8, REG_ID[0]); getDao("mesdao").insert("UIH050700_01.insert", param4); saveXgcxTable( pDlivDirNo[i],CARNO[i]) ;//pc要求火车预装车时候发送预报 20211011 CallableStatement cstm = null; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String trnFTime = ""; if(StringUtils.isEmpty(trnFTime) || "-".equals(trnFTime)) trnFTime = sdf.format(Calendar.getInstance().getTime()); cstm = getDao("mesdao").getCallableStatement("UIJ010060_04.CALL"); cstm.setString(1, "1"); cstm.setString(2,OLD_SAMPL_NO[i]); cstm.setString(3, pDlivDirNo[i]); cstm.setString(4, ""); cstm.setString(5, CARNO[i]); cstm.setString(6, ""); cstm.setString(7, trnFTime); cstm.setString(8, KZ_WGT[i]); cstm.setString(9, "0"); cstm.setString(10, "H"); cstm.setString(11, REG_ID[0]); cstm.execute(); logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库成功执行UIJ010060_01.CALL-------------------"); } catch (Exception ex) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ex.printStackTrace(new PrintStream(baos)); String exception = baos.toString(); String errStr = "\n异常原因:" + exception; logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr); } if (cstm != null) { try { cstm.close(); } catch (Exception e) { } } } } } return PosBizControlConstants.SUCCESS; } public void saveXgcxTable(String pDlivDirNo,String TRANS_CAR_NO) { int iCnt = 0; CallableStatement cstm = null; try { cstm = getDao("mesdao").getCallableStatement("UIJ010060_01.CALL"); cstm.setString(1, "1"); cstm.setString(2, pDlivDirNo); cstm.setString(3, TRANS_CAR_NO); cstm.setString(4, ""); cstm.setString(5, ""); cstm.setString(6, "1"); cstm.setString(7, ""); cstm.setString(8, ""); cstm.setString(9, "4001RZ1"); cstm.setString(10, "热轧线"); cstm.execute(); logger.logInfo(pDlivDirNo + "明细数据发送到铁前数据库成功执行UIJ010060_01.CALL-------------------"); } catch (Exception ex) { //System.out.println(pDlivDirNo[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL**********"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ex.printStackTrace(new PrintStream(baos)); String exception = baos.toString(); String errStr = "\n异常原因:" + exception; logger.logInfo(pDlivDirNo + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr); //ex.printStackTrace(); } if (cstm != null) { try { cstm.close(); } catch (Exception e) { } } } }