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.ResultSet; 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; /** * 明细发送结束的同时将明细数据保存到货运中国、铁前数据库中去 * @author KangMiao * @Date 2015-6-30 下午05:46:27 * */ public class SendOtherTableOfCoils extends PosActivity { public String runActivity(PosContext context) { //钢卷实际规格厚度 String[] COIL_THK = (String[]) context.get("COIL_THK" ); //车辆号加入 String[] TRANS_CAR_NO = (String[]) context.get("TRANS_CAR_NO"); // 运输指示号 String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO"); // 钢种牌号 String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD"); // 重量 String[] COIL_WGT = (String[]) context.get("COIL_WGT"); // 发货时间 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[] CZD = (String[]) context.get("CZD" ); // 登录人 String[] REG_ID = (String[]) context.get("REG_ID"); //明细发送结束的同时将明细数据发送到铁前数据库中去;火车的不发预报 //if(!DLIV_TP[0].equals("T")) //{ saveXgcxTable(pDlivDirNo, TRANS_CAR_NO, SPEC_STL_GRD, COIL_THK, COIL_WGT,CZD); //} //明细发送到中冶新材 SENDZYCOIL(OLD_SAMPL_NO,ORD_CD); //调用存货异动点存储过程 SENDERP(OLD_SAMPL_NO,ORD_CD,REG_ID[0]); return PosBizControlConstants.SUCCESS; } /** * @description 明细发送结束的同时将明细数据保存到铁前数据库中去; * 调用存储过程KCH_StorageManagerX_K.SET_TQMX@xgcx('1',vLoadInfo(2),vLoadInfo(1),vSteel,vPly,vtmpCount,vtmpAddWeight,'4001HB1','厚板线'); * @param 对应参数:操作模式(确认1,撤消3),pDlivDirNo运输指示号DLIV_DIRNO(预报号),TRANS_CAR_NO车号,SPEC_STL_GRD牌号, * COIL_THK钢卷实际规格(厚度),数量1,COIL_WGT钢卷实际重量(ACT_WGT),装车ID,装车产线 (默认4001RZ1 '热轧线' ) * @author KangMiao * @Date 2015-6-30 下午05:46:27 */ public void saveXgcxTable(String[] pDlivDirNo,String[] TRANS_CAR_NO,String[] SPEC_STL_GRD,String[] COIL_THK,String[] COIL_WGT,String[] CZD) { int iCnt = 0; if (pDlivDirNo != null) { iCnt = pDlivDirNo.length; } CallableStatement cstm = null; for (int i = 0; i < iCnt; i++) { try { Double COIL_WGT_double = 0.0; if(COIL_WGT[i] != null) { COIL_WGT_double = Double.valueOf(COIL_WGT[i])/1000; } cstm = getDao("mesdao").getCallableStatement("UIJ010060_01.CALL"); cstm.setString(1, "1"); cstm.setString(2, pDlivDirNo[i]); cstm.setString(3, TRANS_CAR_NO[i]); cstm.setString(4, SPEC_STL_GRD[i]); cstm.setString(5, COIL_THK[i]); cstm.setString(6, "1"); cstm.setString(7, COIL_WGT_double.toString()); cstm.setString(8, CZD[0]); cstm.setString(9, "4001RZ1"); cstm.setString(10, "热轧线"); cstm.execute(); 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) { } } } public void SENDZYCOIL(String[] OLD_SAMPL_NO,String[] ORD_CD) { int iCnt = 0; if (OLD_SAMPL_NO != null) { iCnt = OLD_SAMPL_NO.length; } CallableStatement cstm = null; for (int i = 0; i < iCnt; i++) { try { String ordcd=ORD_CD[i]; if("224902".equals(ordcd)||"243187".equals(ordcd)){ cstm = getDao("mesdao").getCallableStatement("UIJ010060_02.CALL"); cstm.setString(1, OLD_SAMPL_NO[i]); cstm.execute(); } } catch (Exception ex) { ex.printStackTrace(); System.out.println("明细数据发送到中冶接口表数据库执行失败UIJ010060_02.CALL**********"); } finally { if (cstm != null) try { cstm.close(); System.out.println("明细数据发送到中冶接口表数据库成功执行UIJ010060_02.CALL-------------------"); } catch (Exception e) { e.printStackTrace(); } } } } public void SENDERP(String[] OLD_SAMPL_NO,String[] ORD_CD,String REGID) { int iCnt = 0; if (OLD_SAMPL_NO != null) { iCnt = OLD_SAMPL_NO.length; } CallableStatement cstm = null; for (int i = 0; i < iCnt; i++) { try { //调用存货异动点存储过程 ProduceFactory PD= new ProduceFactory(); // PD.ErpDataCover("HCOIL",OLD_SAMPL_NO[i],"11AC","1","O",REGID,"热轧综判");//根据一体化要求,发货之前都为在制品 20220223 PD.ErpDataCover("HCOIL",OLD_SAMPL_NO[i],"69A","1","O",REGID,"热轧发货"); } catch (Exception ex) { ex.printStackTrace(); System.out.println("明细数据发送到一体化失败*******"); } finally { if (cstm != null) try { cstm.close(); System.out.println("明细数据发送到一体化成功*------------------"); } catch (Exception e) { e.printStackTrace(); } } } } }