1. 程式人生 > >EXCEL匯入java程式碼

EXCEL匯入java程式碼

主要業務類:

public class EqpInfoIn {

    public static final String LOG_FILE = "EqpInfoIn.log";
    private static final String[] PARM_TYPE_CDS = new String[]{
        "1020", "1021", "1022", "1023", "1024", "1025", "1026", "1030"
    };
    private static final String[] PARM_TYPE_DESCS = new String[]{
        "供貨商編號", "供貨商名稱", "供貨商狀態", "供貨商地址", "供貨商聯絡人", "供貨商聯絡電話", "祕鑰值", "校驗值"
    };

    public void exportEqpInfo() {
        
        TrcLog.log(LOG_FILE, "----------------終端資訊匯入開始-----------------");
        
        String tpId = DtaInfo.getInstance().getTpId();
        String fileId = (String) EPOper.get(tpId, "iA_eqpInfoIn_REQ.fileId");
        
        if (StringTool.isNullOrEmpty(fileId)) {
            throw new BaseException("PCA1006", "公共體系原子服務請求報文非空欄位[檔案ID],上送資料為空");
        }
        String fileNm = (String) EPOper.get(tpId, "iA_eqpInfoIn_REQ.fileNm");
        if (StringTool.isNullOrEmpty(fileNm)) {
            throw new BaseException("PCA1006", "公共體系原子服務請求報文非空欄位[檔名稱],上送資料為空");
        }
        String fileSuffix = null;
        if (fileNm.contains(".")) {
            String[] tmps = fileNm.split("\\.");
            if (tmps.length < 2) {
                throw new BaseException("PCA1006", "[檔名稱]欄位對應檔案字尾資訊不符合規範");
            } else {
                fileSuffix = tmps[1];
            }
        } else {
            throw new BaseException("PCA1006", "[檔名稱]欄位對應值未包含檔案字尾");
        }

        String usrId = (String) EPOper.get(tpId, "ReqBean[0].head[0].usrId");
        String authOpPerId = (String) EPOper.get(tpId, "ReqBean[0].head[0].authOper");
        String asscOEcd = (String) EPOper.get(tpId, "ReqBean[0].head[0].servInitrBrch");

        // 獲取Bean
        MongoDbOpBean mongoDbOpBean = (MongoDbOpBean) SpringUtil.getBean("MongoDbOpBean");
        
        // 獲取檔案路徑
        String filepath = mongoDbOpBean.download(fileId, fileSuffix);
        if (StringTool.isNullOrEmpty(filepath)) {
            throw new BaseException("PCA1006", "獲取檔案路徑失敗");
        }
        TrcLog.log(LOG_FILE, "fileNo :" + fileId);
        TrcLog.log(LOG_FILE, "filepath :" + filepath);
        File excelFile = new File(filepath);
        if (excelFile.exists() && excelFile.isFile() && excelFile.length()>0) {
            filepath = filepath.replace(fileId, fileNm.substring(0, fileNm.lastIndexOf(".")));
            excelFile.renameTo(new File(filepath));
        } else {
            throw new BaseException("PCA1006", "獲取匯入檔案失敗,請重新上傳匯入資訊");
        }

        // 根據流
        List<EqpInfoDo> list = EqpinfoInUtil.ReadExcel(fileNm, filepath);
        TrcLog.log(LOG_FILE, "讀取內容條數 :" + list.size());
        if ((null == list) || (list.size() <= 0)) {
            throw new BaseException("PCA1006", "匯入檔案為空");
        }
        
        IDataSourceRoute dsRoute = (IDataSourceRoute) SpringUtil.getBean("dsRoute");
        IBaseDos baseDos = dsRoute.getBaseDos("");
        
        // 檢查終端編碼是否重複
        String qrySql = "";
        for (EqpInfoDo eqpInfo : list) {

            // 校驗sql注入
            String[] args = new String[] { eqpInfo.getEqpEcd() };
            boolean flag = PubBean.isSqlPlatValid(args);
            if (!flag) {
                PubBean.setRspsInfo(DtaInfo.getInstance().getTpId(), "PCA1010", "引數不合法");
                return;
            }

            qrySql = "SELECT * FROM TO_O_EQP WHERE EQP_ECD='" + eqpInfo.getEqpEcd() + "'";
            int num = baseDos.executeSql(Sql.SELLIST, qrySql, "TO_O_EQP");
            String eqp_ecd = (String) EPOper.get(tpId, "TO_O_EQP[0].EQP_ECD");
            if (num > 0 && !StringTool.isNullOrEmpty(eqp_ecd)) {
                throw new BaseException("PCA1006", "裝置編碼為" 
                        + eqpInfo.getEqpEcd() + "的裝置資料已存在,請修改後重新上傳");
            }
            qrySql = "SELECT * FROM TP_EQP_PARM WHERE EQP_ECD='" + eqpInfo.getEqpEcd() + "'";
            int num2 = baseDos.executeSql(Sql.SELLIST, qrySql, "TP_EQP_PARM");
            String eqp_ecd_parm = (String) EPOper.get(tpId, "TP_EQP_PARM[0].EQP_ECD");
            if (num2 > 0 && !StringTool.isNullOrEmpty(eqp_ecd_parm)) {
                throw new BaseException("PCA1006", "裝置編碼為" 
                        + eqpInfo.getEqpEcd() + "的裝置引數資料(供貨商資訊)已存在,請修改後重新上傳");
            }
        }
        
        // 資料持久化
        for (int i = 0; i < list.size(); i++) {
            
            EqpInfoDo eBean = list.get(i);
            
            String sqlTO_O_EQP = getOEqpAddSql(eBean, asscOEcd, usrId, authOpPerId);
            try {
                int oeqpInsertNum = baseDos.executeSql(Sql.INSERT, sqlTO_O_EQP, null);
                if (oeqpInsertNum >= 1) {
                    TrcLog.log(LOG_FILE, "sqlTO_O_EQP :" + sqlTO_O_EQP);
                    TrcLog.log(LOG_FILE, "裝置表插入成功");
                } else {
                    throw new BaseException("PCA1006", "資料匯入失敗,請檢查匯入資料");
                }
            } catch (Exception e) {
                throw new BaseException("PCA1006", "資料匯入失敗,請檢查匯入資料");
            }
            
            
            String suppINfos = eBean.getSuppINfo();
            String[] suppINfoArr = suppINfos.split("\\|");
            List<String> eqpParmSql = getOEqpParmAddSql(eBean.getEqpEcd(), suppINfoArr, asscOEcd, usrId, authOpPerId);
            for (String string : eqpParmSql) {
                int eqpParmAddNum = baseDos.executeSql(Sql.INSERT, string, null);
                if (eqpParmAddNum >= 1) {
                    TrcLog.log(LOG_FILE, "add [TP_EQP_PARM] Sql:[" + string + "]");
                    TrcLog.log(LOG_FILE, "裝置引數表供貨商資訊插入成功");
                } else {
                    throw new BaseException("PCA1006", "資料匯入失敗,請檢查匯入資料");
                }
            }
            
        }

        // 刪除檔案
//        mongoDbOpBean.delete(fileId);
        PubBean.setRspsInfo(tpId, "0000000", "成功");
        TrcLog.log(LOG_FILE, "----------------終端資訊匯入結束-----------------");

    }
    
    /**
     * 終端批量匯入,拼裝機構裝置表插入記錄對應Sql
     * @param eqpInfoDo
     * @param asscOEcd
     * @param usrId
     * @param authOpPerId
     * @return
     */
    private String getOEqpAddSql(EqpInfoDo eqpInfoDo, String asscOEcd, String usrId, String authOpPerId) {
        String string = null;
        Date today = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String time = sdf.format(today);
        if (null != eqpInfoDo) {
            // 校驗sql注入
            String[] args = new String[] { 
                    asscOEcd, usrId, authOpPerId, 
                    eqpInfoDo.getoEcd(), eqpInfoDo.getEqpTypCd(), eqpInfoDo.getEqpTypDesc(), 
                    eqpInfoDo.getEqpEcd(), eqpInfoDo.getEqpNm(), 
                    eqpInfoDo.getOrdGdsOEcd(), eqpInfoDo.getOrdGdsONm(), 
                    eqpInfoDo.getEqpTn(), eqpInfoDo.getEqpSerNo()
            };
            boolean flag = PubBean.isSqlPlatValid(args);
            if (!flag) {
                throw new BaseException("PCA1010", "引數不合法,發現引起資料注入危險的內容!");
            }
            StringBuilder sbdr = new StringBuilder();
            sbdr.append("INSERT INTO TO_O_EQP ("
                    + "ASSC_O_ECD, O_ECD, O_NM, "
                    + "EQP_TYP_CD, EQP_TYP_DESC, EQP_ECD, EQP_NM, "
                    + "ORD_GDS_O_ECD, ORD_GDS_O_NM, EQP_TN, EQP_SER_NO, EQP_STAT_CD, "
                    + "EQP_BELG_MFR_NO, EQP_BELG_MFR_NM, "
                    + "CRE_DT, FINL_UPDT_O_ECD, FINL_UPD_OPRT_PSNLID, FINL_UPD_TM, "
                    + "AUTH_OP_PER_ID ,BND_STAT "
                    + ") VALUES ("
                    + "'" + asscOEcd + "','" + eqpInfoDo.getoEcd() + "'," 
                    + "(SELECT O_NM FROM TO_PUB_INST WHERE O_ECD='" + eqpInfoDo.getoEcd() + "'),'"
                    + eqpInfoDo.getEqpTypCd() + "','" + eqpInfoDo.getEqpTypDesc() + "','" 
                    + eqpInfoDo.getEqpEcd() + "','" + eqpInfoDo.getEqpNm() + "','"
                    + eqpInfoDo.getOrdGdsOEcd() + "','" + eqpInfoDo.getOrdGdsONm() + "', '"
                    + eqpInfoDo.getEqpTn() + "', '" + eqpInfoDo.getEqpSerNo() + "', 'Y', '" 
                    + eqpInfoDo.getEqpBelgMfrNo() + "', '" + eqpInfoDo.getEqpBelgMfrNm() + "', '"
                    + time + "','" 
                    + asscOEcd + "','" + usrId + "','" 
                    + DateTool.getCurDateTimeNoSeparator() + "','" 
                    + authOpPerId +  "','"+"00"+"')");
            if (!StringTool.isNullOrEmpty(sbdr.toString())) {
                string = sbdr.toString();
            }
        }
        TrcLog.log(LOG_FILE, string);
        return string;
    }
    
    /**
     * 終端批量匯入,拼裝機構裝置引數表插入記錄對應(供貨商資訊)Sql
     * @param EqpEcd
     * @param suppinfo
     * @param asscOEcd
     * @param usrId
     * @param authOpPerId
     * @return
     */
    public ArrayList<String> getOEqpParmAddSql(String EqpEcd, String[] suppinfo, 
            String asscOEcd, String usrId, String authOpPerId) {
        ArrayList<String> strList = null;
        if ((suppinfo.length +2) == (PARM_TYPE_CDS.length)) {
            strList = new ArrayList<String>();
            for (int i = 0; i < suppinfo.length + 2; i++) {
                
                // 校驗sql注入
                String[] args = new String[] { 
                    asscOEcd, usrId, authOpPerId, EqpEcd
                };
                boolean flag = PubBean.isSqlPlatValid(args);
                if (!flag) {
                    throw new BaseException("PCA1010", "引數不合法,發現引起資料注入危險的內容!");
                }
                
                
                if(PARM_TYPE_CDS[i]=="1020"||PARM_TYPE_CDS[i]=="1021"||PARM_TYPE_CDS[i]=="1022"||PARM_TYPE_CDS[i]=="1023"||PARM_TYPE_CDS[i]=="1024"||PARM_TYPE_CDS[i]=="1025"){
                    strList.add("INSERT INTO TP_EQP_PARM ("
                            + "EQP_ECD, EQP_PARM_TYP_CD, EQP_PARM_TYP_DESC, EQP_PARM_CD, EQP_PARM_DESC, "
                            + "FINL_UPDT_O_ECD, FINL_UPD_OPRT_PSNLID, FINL_UPD_TM, AUTH_OP_PER_ID"
                            + ") VALUES ("
                            + "'" + EqpEcd + "', '" + PARM_TYPE_CDS[i] + "', '" + PARM_TYPE_DESCS[i] + "', "
                            + "'" + suppinfo[i] + "', '" + suppinfo[i] + "', "
                            + "'" + asscOEcd + "', '" + usrId + "', '" + DateTool.getCurDateTimeNoSeparator() + "', "
                            + "'" + authOpPerId + "')");
                }
                else if(PARM_TYPE_CDS[i]=="1026"&&PARM_TYPE_DESCS[i]=="祕鑰值"){
                    strList.add("INSERT INTO TP_EQP_PARM ("
                            + "EQP_ECD, EQP_PARM_TYP_CD, EQP_PARM_TYP_DESC, EQP_PARM_CD, EQP_PARM_DESC, "
                            + "FINL_UPDT_O_ECD, FINL_UPD_OPRT_PSNLID, FINL_UPD_TM, AUTH_OP_PER_ID"
                            + ") VALUES ("
                            + "'" + EqpEcd + "', '" + PARM_TYPE_CDS[i] + "', '" + PARM_TYPE_DESCS[i] + "', "
                            + "'" + "TMK" + "', '" + getTmkOrChk(asscOEcd , 0) + "', "
                            + "'" + asscOEcd + "', '" + usrId + "', '" + DateTool.getCurDateTimeNoSeparator() + "', "
                            + "'" + authOpPerId + "')");
                }else if(PARM_TYPE_CDS[i]=="1030"&&PARM_TYPE_DESCS[i]=="校驗值"){
                    strList.add("INSERT INTO TP_EQP_PARM ("
                            + "EQP_ECD, EQP_PARM_TYP_CD, EQP_PARM_TYP_DESC, EQP_PARM_CD, EQP_PARM_DESC, "
                            + "FINL_UPDT_O_ECD, FINL_UPD_OPRT_PSNLID, FINL_UPD_TM, AUTH_OP_PER_ID"
                            + ") VALUES ("
                            + "'" + EqpEcd + "', '" + PARM_TYPE_CDS[i] + "', '" + PARM_TYPE_DESCS[i] + "', "
                            + "'" + "checkvlaue" + "', '" + getTmkOrChk(asscOEcd , 1) + "', "
                            + "'" + asscOEcd + "', '" + usrId + "', '" + DateTool.getCurDateTimeNoSeparator() + "', "
                            + "'" + authOpPerId + "')");
                }
                else{
                    throw new BaseException("程式呼叫介面pospNewSvr獲得的祕鑰值或校驗值執行插入失敗!!!");
                }
                
            }
        } else {
            throw new BaseException("PCA1006", "供貨商資訊資料不符合規範,必須包含6種供貨商資訊資料,以豎線分隔");
        }
        return strList;
    }
    
    /**
     * @author 王元晨
     * @param asscOEcd 合作機構4位
     * @param num 0代表終端主金鑰kmk  1代表校驗值checkvalue
     * @return
     */
    public String getTmkOrChk( String asscOEcd, int num){
        String tpId = DtaInfo.getInstance().getTpId();
        
        EPOper.put(tpId, "genTmk_Req[0].assOEcd", asscOEcd);
        EPOper.put(tpId, "ReqBean[0].head[0].servEcd", "s09genTmk");

        DTATool dtaTool = (DTATool) SpringUtil.getBean("dtaTool");
        dtaTool.callSubSvcLogic("s09genTmk", false, false);
        
        CompSDO inputSdo = EPOper.getCompSDO(tpId, "genTmk_Rsp");
        
        String kmk = (String) inputSdo.getValue("kmk");
        String checkvalue = (String) inputSdo.getValue("checkvalue");
        
        if(StringTool.isNullOrEmpty(kmk))
        {
            throw new BaseException("介面pospNewSvr返回終端主金鑰Tmk不能為空!!!");
        }
        if(StringTool.isNullOrEmpty(checkvalue)){
            throw new BaseException("介面pospNewSvr返回校驗值checkvalue不能為空!!!");
        }
        
        if(num==0){            
            return kmk;        
        }
        else{
            return checkvalue;
        }
        
    }
    
    /*public void  main (String[] args){
        
        String sucString = this.getTmkOrChk("9400",0);
        System.out.println("sucString::"+sucString);
    }*/

}

 

工具類:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class EqpInfoInUtil {

    private static final String EXCEL_XLS = "xls";
    private static final String EXCEL_XLSX = "xlsx";
    public static final String[] COLUMN_ARR = new String[] {
            "EQPECD", "EQPNM", "EQPSERNO", "BNDSTAT", "OECD",
            "EQPBRNDNM", "EQPTN", "EQPTYPCD", "EQPTYPDESC",
            "ORDGDSOECD", "ORDGDSONM", "EQPBELGMFRNO", "EQPBELGMFRNM",
            "CREDT", "SUPPINFO" };
    public static final String[] COLUMN_ARR2 = new String[] {
            "OECD", "EQPTYPCD", "EQPTYPDESC", "EQPECD", "EQPNM",
            "ORDGDSOECD", "ORDGDSONM", "EQPTN", "EQPSERNO",
            "EQPBELGMFRNO", "EQPBELGMFRNM", "SUPPINFO"};

    /**
     * 判斷Excel的版本,獲取Workbook
     *      *
     *      * @param in
     *      * @param filNm
     *      * @return
     *      * @throws IOException
     */
    public static Workbook getWorkbok(String fileNm, String filepath) {

        Workbook workbook = null;
        try {
            InputStream in = new FileInputStream(filepath);
            if (fileNm.endsWith(EXCEL_XLS)) { // Excel 2003
                workbook = new HSSFWorkbook(in);
            } else if (fileNm.endsWith(EXCEL_XLSX)) { // Excel 2007/2010
                workbook = new XSSFWorkbook(in);
            }
            in.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return workbook;
    }

    /**
     * 讀取Excel測試,相容 Excel 2003/2007/2010
     *
     * @throws Exception
     */
    public static List<EqpInfoDo> ReadExcel(String fileNm, String filepath) {
        List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();
        Workbook workbook = getWorkbok(fileNm, filepath);
        //獲取sheet頁總頁數
        int sheetCount = workbook.getNumberOfSheets();
        Sheet sheet = null;
        if (sheetCount > 0) {
            //獲取sheet頁第一頁
            sheet = workbook.getSheetAt(0);
        }
        // 獲取最大行數
//     int rowNum = sheet.getLastRowNum();
        //獲取最大物理行行數
        int rowNum = sheet.getPhysicalNumberOfRows();
        System.out.println(String.format("本sheet頁最大行數為%d",rowNum));

        //判斷檔案中是否有資料
        switch (rowNum){
            case 0:
                System.out.println(String.format("獲取匯入檔案成功,但匯入的EXCEL為空,請檢查!"));
                break;
            case 1:
                System.out.println(String.format("獲取匯入檔案成功,但匯入EXCEL中資料行為空,請檢查!"));
                break;
            default:
                break;
        }

        // 遍歷所有資料行
        for (int i = 1; i <= rowNum; i++) {
            Map<String, String> cellMap = new HashMap<String, String>();
            Row r = sheet.getRow(i);
            if (r == null) {
                continue;
            }
            // 獲取當前行的列數
            int cellNum = r.getLastCellNum();
    //        System.out.println(String.format("當前行的列數為%d",cellNum));

            for (int j = 0; j < cellNum; j++) {
                Cell cell = r.getCell(j);
                String value =getValue(cell);
                if(value==null||"".equals(value)){
                    System.out.println(String.format("第%d行第%d列資料為空,請檢查資料!",i+1,j+1));
                    switch (j+1) {
                        case 1:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第6個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 2:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第5個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 3:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第4個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 4:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第3個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 5:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第2個為空,請檢查資料!", i + 1, j + 1));
                            break;

                    }
                }
                if(j+1==cellNum){
                    String[] suppINfoArr = value.split("\\|");
                    for(int k=0;k<suppINfoArr.length;k++){
                        if(suppINfoArr[k]==null||"".equals(suppINfoArr[k])){
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第%d個為空,請檢查資料!",i+1,j+1,k+1));
                        }
                    }
                    switch (suppINfoArr.length) {
                        case 5:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第6個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 4:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第5個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 3:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第4個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 2:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第3個為空,請檢查資料!", i + 1, j + 1));
                            break;
                        case 1:
                            System.out.println(String.format("第%d行第%d列資料不符合規範,供貨商資訊第2個為空,請檢查資料!", i + 1, j + 1));
                            break;

                    }
                }
                cellMap.put(COLUMN_ARR2[j], value);
            }
            dataList.add(cellMap);
        }
        List<EqpInfoDo> listBean = new ArrayList<EqpInfoDo>();
        for (Map<String, String> cellMap : dataList) {
            //例項化物件
            EqpInfoDo eBean = new EqpInfoDo();
            eBean.setoEcd(cellMap.get("OECD"));
            eBean.setEqpTypCd(cellMap.get("EQPTYPCD"));
            eBean.setEqpTypDesc(cellMap.get("EQPTYPDESC"));
            eBean.setEqpEcd(cellMap.get("EQPECD"));
            eBean.setEqpNm(cellMap.get("EQPNM"));
            eBean.setOrdGdsOEcd(cellMap.get("ORDGDSOECD"));
            eBean.setOrdGdsONm(cellMap.get("ORDGDSONM"));
            eBean.setEqpTn(cellMap.get("EQPTN"));
            eBean.setEqpSerNo(cellMap.get("EQPSERNO"));
            eBean.setEqpBelgMfrNo(cellMap.get("EQPBELGMFRNO"));
            eBean.setEqpBelgMfrNm(cellMap.get("EQPBELGMFRNM"));
            eBean.setSuppINfo(cellMap.get("SUPPINFO"));
            listBean.add(eBean);
        }
        return listBean;
    }

    private static String getValue(Cell cell) {
        String str = null;
        switch (cell.getCellTypeEnum()) {
            case BOOLEAN:
                str = String.valueOf(cell.getBooleanCellValue());
                break;
            case ERROR:
                str = String.valueOf(cell.getErrorCellValue());
                break;
            case NUMERIC:
                DecimalFormat df = new DecimalFormat("0");
                str = df.format(cell.getNumericCellValue());
                break;
            case STRING:
                str = cell.getStringCellValue().trim();
                break;
            default:
                break;
        }
        return str;
    }

    public static void main(String[] args) {
        try {
            EqpInfoInUtil.ReadExcel("終端批量匯入模板201809060932140001.xlsx",
                    "C:/Users/KYX/Desktop/終端批量匯入模板201809060932140001.xlsx");
        } catch (Exception e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
    }

}

Bean類:

 

public class EqpInfoDo {
    /**
     * 終端裝置資訊Do
     *
     * @author chenym
     *
     */


    String eqpEcd; // 終端編碼
    String eqpNm; // 終端名稱
    String eqpSerNo; // 終端機身序列號
    String bndStat; // 終端繫結狀態
    String oEcd; // 所屬成員機構行號
    String eqpBrndNm; // 品牌名稱
    String eqpTn; // 終端型號
    String eqpTypCd; // 終端型別編碼
    String eqpTypDesc; // 終端型別描述
    String ordGdsOEcd; // 訂貨機構編碼
    String ordGdsONm; // 訂貨機構名稱
    String eqpBelgMfrNo; // 裝置所屬廠商編碼
    String eqpBelgMfrNm; // 裝置所屬廠商名稱
    String creDt; // 入庫日期
    String suppINfo; // 供貨商資訊

    public String getEqpEcd() {
        return eqpEcd;
    }

    public void setEqpEcd(String eqpEcd) {
        this.eqpEcd = eqpEcd;
    }

    public String getEqpNm() {
        return eqpNm;
    }

    public void setEqpNm(String eqpNm) {
        this.eqpNm = eqpNm;
    }

    public String getEqpSerNo() {
        return eqpSerNo;
    }

    public void setEqpSerNo(String eqpSerNo) {
        this.eqpSerNo = eqpSerNo;
    }

    public String getBndStat() {
        return bndStat;
    }

    public void setBndStat(String bndStat) {
        this.bndStat = bndStat;
    }

    public String getoEcd() {
        return oEcd;
    }

    public void setoEcd(String oEcd) {
        this.oEcd = oEcd;
    }

    public String getEqpBrndNm() {
        return eqpBrndNm;
    }

    public void setEqpBrndNm(String eqpBrndNm) {
        this.eqpBrndNm = eqpBrndNm;
    }

    public String getEqpTn() {
        return eqpTn;
    }

    public void setEqpTn(String eqpTn) {
        this.eqpTn = eqpTn;
    }

    public String getEqpTypCd() {
        return eqpTypCd;
    }

    public void setEqpTypCd(String eqpTypCd) {
        this.eqpTypCd = eqpTypCd;
    }

    public String getEqpTypDesc() {
        return eqpTypDesc;
    }

    public void setEqpTypDesc(String eqpTypDesc) {
        this.eqpTypDesc = eqpTypDesc;
    }

    public String getOrdGdsOEcd() {
        return ordGdsOEcd;
    }

    public void setOrdGdsOEcd(String ordGdsOEcd) {
        this.ordGdsOEcd = ordGdsOEcd;
    }

    public String getOrdGdsONm() {
        return ordGdsONm;
    }

    public void setOrdGdsONm(String ordGdsONm) {
        this.ordGdsONm = ordGdsONm;
    }

    public String getEqpBelgMfrNo() {
        return eqpBelgMfrNo;
    }

    public void setEqpBelgMfrNo(String eqpBelgMfrNo) {
        this.eqpBelgMfrNo = eqpBelgMfrNo;
    }

    public String getEqpBelgMfrNm() {
        return eqpBelgMfrNm;
    }

    public void setEqpBelgMfrNm(String eqpBelgMfrNm) {
        this.eqpBelgMfrNm = eqpBelgMfrNm;
    }

    public String getCreDt() {
        return creDt;
    }

    public void setCreDt(String creDt) {
        this.creDt = creDt;
    }

    public String getSuppINfo() {
        return suppINfo;
    }

    public void setSuppINfo(String suppINfo) {
        this.suppINfo = suppINfo;
    }


}