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;}    }

原创粉丝点击