package xin.glue.ui.J.J01; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import org.apache.commons.lang.StringUtils; import xin.glue.ui.common.ProduceFactory; 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 ModifyShipProgStatusOfCoils extends PosActivity { public String runActivity(PosContext context) { //UPDATE TBH02_COIL_COMM String[] pShipProgCd = (String[]) context.get("SHIP_PROG_CD" ); //SET SHIP_PROG_CD = :1 String[] pCoilNo = (String[]) context.get("COIL_NO" ); //WHERE COIL_NO = :2 // 车辆号 String[] TRANS_CAR_NO = (String[]) context.get("TRANS_CAR_NO" ); String[] COIL_WGT = (String[]) context.get("COIL_WGT" ); //草支垫重量 String[] CZD = (String[]) context.get("CZD"); //钢卷实际规格厚度 String[] COIL_THK = (String[]) context.get("COIL_THK" ); // 运输指示号 String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO"); // 钢种牌号 String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD"); // 发货时间 String[] TRNF_DTIME = (String[]) context.get("TRNF_DTIME"); // 收货单位 String[] ORD_NM = (String[]) context.get("ORD_NM"); // 到站点 String[] DEST_PCD_DESC = (String[]) context.get("DEST_PCD_DESC"); // 合同单位 String[] CUST_NM = (String[]) context.get("CUST_NM"); // 运输公司 String[] SHIP_COMP_CD = (String[]) context.get("SHIP_COMP_CD"); // 运输公司 String[] SHIP_COMP_NM = (String[]) context.get("SHIP_COMP_NM"); // 钢卷号 String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO"); // 产品名称 String[] SM_CFNM = (String[]) context.get("SM_CFNM"); String[] ORD_CD = (String[]) context.get("ORD_CD"); String[] DLIV_TP = (String[]) context.get("DlivType"); String[] ORD_NO = (String[]) context.get("ORD_NO"); // 登录人 String[] REG_ID = (String[]) context.get("REG_ID"); int iCnt = 0; if (pDlivDirNo != null) { iCnt = pDlivDirNo.length; } CallableStatement cstm = null; for (int i = 0; i < iCnt; i++) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String trnFTime = TRNF_DTIME[i]; if(StringUtils.isEmpty(trnFTime) || "-".equals(trnFTime)) trnFTime = sdf.format(Calendar.getInstance().getTime()); Double COIL_WGT_double = 0.0; if(COIL_WGT[i] != null) { COIL_WGT_double = Double.valueOf(COIL_WGT[i]); } 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, SPEC_STL_GRD[i]); cstm.setString(5, TRANS_CAR_NO[i]); cstm.setString(6, COIL_WGT_double.toString()); cstm.setString(7, trnFTime); cstm.setString(8, CZD[0]); cstm.setString(9, "0"); cstm.setString(10, "H"); cstm.setString(11, REG_ID[0]); cstm.execute(); //调用存货异动点存储过程 /*ProduceFactory PD= new ProduceFactory(); PD.ErpDataCover("HCOIL",OLD_SAMPL_NO[i],"69A","1","O",REG_ID[0],"热轧发货");*/ logger.logInfo(pDlivDirNo[i] + "明细数据发送到铁前数据库成功执行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[i] + "明细数据发送到铁前数据库执行失败UIJ010060_01.CALL;" + errStr); //ex.printStackTrace(); } } if (cstm != null) { try { cstm.close(); } catch (Exception e) { } } int Cnt = 0; if( pCoilNo != null ) { Cnt = pCoilNo.length; } logger.logInfo("iCnt = ["+ Cnt +"]"); PosParameter param = null; for( int i = 0; i < Cnt; i++ ) { param = new PosParameter(); param.setValueParamter( 0, pShipProgCd[i] ); param.setValueParamter( 1, TRANS_CAR_NO[i] ); param.setValueParamter( 2, COIL_WGT[i] ); param.setValueParamter( 3, CZD[0] ); param.setValueParamter( 4, pCoilNo[i] ); getDao("mesdao").update("UIJ010060.ModifyShipProgStatusOfCoils.Save", param); } return PosBizControlConstants.SUCCESS; } }