WMS-存储过程调用示例
来源:互联网 发布:ruby精粹专家编程 pdf 编辑:程序博客网 时间:2024/04/30 13:11
package jp.co.daifuku.wms.extension.util;import java.sql.Connection;import java.sql.SQLException;import jp.co.daifuku.common.text.StringUtil;import jp.co.daifuku.wms.base.common.WmsParam;import jp.co.daifuku.wms.base.common.WmsUserInfo;import jp.co.daifuku.wms.handler.db.DefaultDDBHandler;import jp.co.daifuku.wms.handler.db.ProcParameter;public class MainSystemData { private static Connection conn = null; private MainSystemData(){} static Connection getConnection() throws SQLException { if(conn==null || conn.isClosed()) conn= WmsParam.getConnection(); return conn; } public static String[] getMainSystemData(String productId, String storeId, String palletCode, String productDate, int qty, String factoryId, String lotNo, String ssign, WmsUserInfo ui){String[] rValues = null;DefaultDDBHandler dbhanld = null;try{dbhanld= new DefaultDDBHandler(getConnection()); ProcParameter pr[] = new ProcParameter[12]; pr[0]= new ProcParameter(); pr[0].setParamName("storeId"); pr[0].setParamOrder(1); pr[0].setParamType(ProcParameter.TYPE_IN); pr[0].setParamValue(storeId); pr[0].setValueType(ProcParameter.VALUES_STRING); pr[1]= new ProcParameter(); pr[1].setParamName("productId"); pr[1].setParamOrder(2); pr[1].setParamType(ProcParameter.TYPE_IN); pr[1].setParamValue(productId); pr[1].setValueType(ProcParameter.VALUES_STRING); pr[2]= new ProcParameter(); pr[2].setParamName("factoryId"); pr[2].setParamOrder(3); pr[2].setParamType(ProcParameter.TYPE_IN); pr[2].setParamValue(factoryId); pr[2].setValueType(ProcParameter.VALUES_STRING); pr[3]= new ProcParameter(); pr[3].setParamName("productDate"); pr[3].setParamOrder(4); pr[3].setParamType(ProcParameter.TYPE_IN); pr[3].setParamValue(productDate); pr[3].setValueType(ProcParameter.VALUES_STRING); pr[4]= new ProcParameter(); pr[4].setParamName("lotNo"); pr[4].setParamOrder(5); pr[4].setParamValue(lotNo); pr[4].setParamType(ProcParameter.TYPE_INOUT); pr[4].setValueType(ProcParameter.VALUES_STRING); pr[5]= new ProcParameter(); pr[5].setParamName("qty"); pr[5].setParamOrder(6); pr[5].setParamType(ProcParameter.TYPE_IN); pr[5].setParamValue(String.valueOf(qty)); pr[5].setValueType(ProcParameter.VALUES_INT); pr[6]= new ProcParameter(); pr[6].setParamName("pcode_l"); pr[6].setParamOrder(7); pr[6].setParamType(ProcParameter.TYPE_INOUT); pr[6].setParamValue(palletCode); pr[6].setValueType(ProcParameter.VALUES_STRING); pr[7]= new ProcParameter(); pr[7].setParamName("pcode_o"); pr[7].setParamOrder(8); pr[7].setParamType(ProcParameter.TYPE_OUT); pr[7].setValueType(ProcParameter.VALUES_STRING); pr[8]= new ProcParameter(); pr[8].setParamName("return_code"); pr[8].setParamOrder(9); pr[8].setParamType(ProcParameter.TYPE_OUT); pr[8].setValueType(ProcParameter.VALUES_STRING); pr[9]= new ProcParameter(); pr[9].setParamName("ssign"); pr[9].setParamOrder(10); pr[9].setParamType(ProcParameter.TYPE_IN); pr[9].setParamValue(ssign); pr[9].setValueType(ProcParameter.VALUES_STRING); pr[10]= new ProcParameter(); pr[10].setParamName("userid"); pr[10].setParamOrder(11); pr[10].setParamType(ProcParameter.TYPE_IN); pr[10].setParamValue(ui.getUserId()); pr[10].setValueType(ProcParameter.VALUES_STRING); pr[11]= new ProcParameter(); pr[11].setParamName("machineid"); pr[11].setParamOrder(12); pr[11].setParamType(ProcParameter.TYPE_IN); pr[11].setParamValue(ui.getTerminalNo()); pr[11].setValueType(ProcParameter.VALUES_STRING); String[] strs = dbhanld.executeProc("callMainSystemBatchQuery", pr); if(strs != null && strs.length == 4){ rValues = new String[4]; if(!StringUtil.isBlank(strs[0])) rValues[0] = strs[0].trim(); if(!StringUtil.isBlank(strs[1])) rValues[1] = strs[1].trim(); if(!StringUtil.isBlank(strs[2])) rValues[2] = strs[2].trim(); if(!StringUtil.isBlank(strs[3].trim())){ if(strs[3].trim().equals("1")){ rValues[3] = "6023851"; }else if(strs[3].trim().equals("2")){ rValues[3] = "6023852"; }else if(strs[3].trim().equals("3")){ rValues[3] = "6023853"; }else{ rValues[3] = ""; } } } getConnection().commit(); return rValues;}catch (Exception e) {e.printStackTrace();}finally{if(dbhanld != null){dbhanld.close();}}return null;} }