CSVファイルの読み込み

JSP画面

<th>取り込み対象ファイル</th>
<td><input type="file"value="" name="if_formFile" size="80">

ACTION

//ファイルからの取得処理
List l_resultList = iLeE15aLogic.DBW_setCSV(b_ComRequesterBean,
  b_Le15aForm.getIf_formFile(), b_Le15aForm.getIs_self_adop());

session.setAttribute("leE15aMsgsSession", l_resultList);

String ret = "success1";
String s_erroMsg = "";

// エラーメッセージが入っていた場合は、success2を返す。
s_erroMsg = ((LeE15aMsgsBean) (l_resultList.get(0))).getErrorMsg();
if (s_erroMsg != null && !s_erroMsg.equals("")) {
 ret = "success2";
}

/**
 * LeE15aビジネスロジック(インタフェース)<p>
 */
package requester.le.e15.e15a.logic;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.struts.upload.FormFile;
import org.springframework.dao.DataAccessException;

import requester.com.bean.ComRequesterBean;
import requester.le.com.bean.LeComCLAL2Bean;
import requester.le.com.bean.LeComCLAL3Bean;
import requester.le.com.bean.LeComCLRL1Bean;
import requester.le.com.bean.LeComCLRL2Bean;
import requester.le.com.dao.ILeComCLAL2Dao;
import requester.le.com.dao.ILeComCLAL3Dao;
import requester.le.com.dao.ILeComCLRL1Dao;
import requester.le.com.dao.ILeComCLRL2Dao;
import requester.le.com.logic.LeComLogic;
import requester.le.e15.e15a.bean.LeE15aMakerBean;
import requester.le.e15.e15a.bean.LeE15aMsgsBean;
import requester.le.e15.e15a.dao.ILeE15MakerDao;

public class LeE15aLogicImp extends LeComLogic implements ILeE15aLogic {

 private ILeComCLRL1Dao service1;

 private ILeComCLRL2Dao service2;

 private ILeComCLAL2Dao service3;

 private ILeComCLAL3Dao service4;

 private ILeE15MakerDao service5;

 public void setService1(ILeComCLRL1Dao service1) {
  this.service1 = service1;
 }

 public void setService2(ILeComCLRL2Dao service2) {
  this.service2 = service2;
 }

 public void setService3(ILeComCLAL2Dao service3) {
  this.service3 = service3;
 }

 public void setService4(ILeComCLAL3Dao service4) {
  this.service4 = service4;
 }

 public void setService5(ILeE15MakerDao service5) {
  this.service5 = service5;
 }

 public List DBW_setCSV(ComRequesterBean ib_comRequesterBean,
   FormFile if_formFile, String is_selfAdop)
   throws DataAccessException, Exception {

  LeE15aMsgsBean b_LeE15aMsgsBean;

  // 引数の設定
  String s_lemgno = ib_comRequesterBean.getMgno();

  // ファイル名を取得し、ファイルタイプチェックメソッドを呼ぶ
  // ファイルタイプチェックメソッド
  List l_emsgs = checkFileType(if_formFile.getFileName());

  // エラーが発生していたら、処理を終了
  if (l_emsgs != null) {
   return l_emsgs;
  }

  InputStream is = if_formFile.getInputStream();

  int i_isSize = is.available();

  if (i_isSize == 0) {
   // ファイルの中身がない
   return (List) setErrorList("33001", 0);
  }

  // ファイルの中身を行単位で取得。
  List l_fileDataList = getFileData(is);

  // エラーメッセージ用リスト
  l_emsgs = (List) l_fileDataList.get(0);

  // 結果用リスト
  List l_smsgs = (List) l_fileDataList.get(1);

  // エラーが発生していたら、処理を終了
  if (l_emsgs.size() != 0) {
   return l_emsgs;
  }

  // 全ての行で、必須入力検査
  for (int i = 0; i < l_smsgs.size(); i++) {
   b_LeE15aMsgsBean = (LeE15aMsgsBean) l_smsgs.get(i);

   if (b_LeE15aMsgsBean != null) {
    // 必須入力検査
    l_emsgs = checkNotInput(b_LeE15aMsgsBean, l_emsgs, i,
      is_selfAdop);

    // エラーメッセージが追加されていた場合は終了
    if (l_emsgs != null && l_emsgs.size() != 0) {
     return l_emsgs;
    }
   }

  }

  // 全ての行で、項目検査
  for (int i = 0; i < l_smsgs.size(); i++) {
   // 項目検査
   l_emsgs = checkInputType(l_emsgs, l_smsgs, i);

   // エラーメッセージが追加されていた場合は終了
   if (l_emsgs != null && l_emsgs.size() != 0) {
    return l_emsgs;
   }
  }

  // 親物品番号を取得する。
  String s_syuParent = getSyuParent(s_lemgno);

  // 親回路記号を取得する。
  String s_kaiParent = getKaiParent(s_lemgno, s_syuParent);

  // 起案情報の削除
  deleteKian(s_lemgno, s_syuParent, s_kaiParent);

  // 親情報の取得
  LeComCLRL1Bean b_LeComCLRL1BeanParent = getLeComCLRL1BeanParent(
    s_lemgno, s_syuParent);
  LeComCLRL2Bean b_LeComCLRL2BeanParent = getLeComCLRL2BeanParent(
    s_lemgno, s_syuParent, s_kaiParent);

  // CSVDataをDBへアップロードする。
  uploadCSVData(s_lemgno, l_smsgs, s_syuParent, s_kaiParent,
    b_LeComCLRL1BeanParent, b_LeComCLRL2BeanParent);

  return l_smsgs;
 }

 /**
  * checkFileTypeメソッド
  * 機能:ファイル名が空でないか、CSVであるかをチェック
  * @param name
  * @return
  */
 private List checkFileType(String s_fileName) {

  if (s_fileName == null || s_fileName.equals("")) {
   // ファイルが添付されていない
   return (List) setErrorList("33001", 0);
  }

  int i_period = s_fileName.lastIndexOf(".");
  if (i_period == -1) {
   // ピリオドがない
   return (List) setErrorList("33001", 0);
  }

  String s_fileType = s_fileName.substring(i_period + 1);
  if (!s_fileType.equals("csv") && !s_fileType.equals("CSV")
    && !s_fileType.equals("Csv") && !s_fileType.equals("cSv")
    && !s_fileType.equals("csV") && !s_fileType.equals("CSv")
    && !s_fileType.equals("cSV") && !s_fileType.equals("CsV")) {
   // CSVファイルでない
   return (List) setErrorList("33001", 0);
  }
  return null;
 }

 /**
  * updateCSVDataメソッド
  * 機能:CSVデータをDBへアップロードする。
  * @param s_lemgno
  * @param l_smsgs
  * @param s_syuParent
  * @param s_kaiParent
  * @param b_LeComCLRL1BeanParent
  * @param b_LeComCLRL2BeanParent
  */
 private void uploadCSVData(String s_lemgno, List l_smsgs,
   String s_syuParent, String s_kaiParent,
   LeComCLRL1Bean b_LeComCLRL1BeanParent,
   LeComCLRL2Bean b_LeComCLRL2BeanParent) {

  LeE15aMsgsBean b_LeE15aMsgsBean;

  // 物品番号管理Mapの作成
  // 物品番号がすでに登録されたか確認のMap
  Map m_Syu = new HashMap();

  // 物品番号回路記号管理Mapの作成
  // 物品番号と回路記号のセットですでに登録されたか確認のMap
  Map m_SyuKai = new HashMap();
  Map m_Kai = new HashMap();

  // 物品番号回路記号取付法管理Mapの作成
  // 物品番号・回路記号・取付法のセットですでに登録されたかの確認Map
  Map m_SyuKaiFit = new HashMap();
  Map m_KaiFit = null;
  Integer i_Fit = new Integer(0);

  // 物品番号回路記号カウントMap
  Map m_SyuKaicount = new HashMap();
  Integer i_seqL5;

  // 物品番号の追番L1
  Integer i_seqL1 = new Integer(1);

  // 回路記号の追番L2
  Integer i_seqL2;

  // 取付法の追番L3
  Integer i_seqL3;

  // 取付法の総数の追番L4
  Integer i_seqL4 = new Integer(1);

  // 一時的な変数
  Integer i_seqw;

  // 物品番号管理Mapの追番1に、親物品番号をセット
  m_Syu.put(s_syuParent, i_seqL1);

  //物品番号回路記号管理Mapに、親物品番号をセット
  m_Kai.put(s_kaiParent, new Integer(1));
  m_SyuKai.put(s_syuParent, m_Kai);

  // 物品番号回路記号カウントMapに、親回路記号をセット
  m_SyuKaicount.put(s_syuParent, new Integer(1));

  // 取付法チェック追加用
  List l_data = new ArrayList();
  String[] s_data;

  // 起案の更新
  for (int i = 0; i < l_smsgs.size(); i++) {
   b_LeE15aMsgsBean = (LeE15aMsgsBean) l_smsgs.get(i);

   String s_syu = b_LeE15aMsgsBean.getSyu();
   String s_kai = b_LeE15aMsgsBean.getKai();
   String s_fitMethod = b_LeE15aMsgsBean.getFit_method();

   // 取付法検査用に、退避
   s_data = new String[3];
   s_data[0] = s_syu;
   s_data[1] = s_kai;
   s_data[2] = s_fitMethod;
   l_data.add(s_data);

   // 親物品番号と異なる場合
   // LEMON依頼(レイヤー1)情報の更新
   if (!s_syu.equals(s_syuParent)) {

    // 物品番号管理Mapから今の物品番号をKeyにして
    // 追番を取得
    i_seqw = (Integer) m_Syu.get(s_syu);

    if (i_seqw == null) {

     // 物品番号の追番を+1
     i_seqL1 = new Integer(i_seqL1.intValue() + 1);

     // 初めて出たので、DB更新
     insertCLRL1(s_lemgno, b_LeComCLRL1BeanParent, s_syu,
       b_LeE15aMsgsBean, i_seqL1);

     // 物品番号管理Mapに、物品番号が存在したことを登録。
     // keyとして物品番号、valueとして追番をセットする。
     m_Syu.put(s_syu, i_seqL1);

    }
   }

   // Keyを文字列に
   // 親物品番号、親回路記号とどちらかが異なる場合
   // LEMON依頼(レイヤー2)とLEMON回答(レイヤー2)情報の更新
   if (!s_syu.equals(s_syuParent) || !s_kai.equals(s_kaiParent)) {

    // ワーク変数の初期化
    i_seqw = null;

    // 物品番号回路記号管理Mapから今の物品番号、回路記号を
    // Keyにしてすでに存在するかチェック

    if (m_SyuKai.get(s_syu) != null) {
     m_Kai = (Map) m_SyuKai.get(s_syu);
     if (m_Kai.get(s_kai) != null) {
      i_seqw = (Integer) m_Kai.get(s_kai);
     }
    } else {
     m_Kai = new HashMap();
    }

    // 物品番号・回路記号のセットが出たことが無かった場合
    if (i_seqw == null) {

     i_seqL5 = null;

     // m_SyuKaicountに、物品番号配下の回路記号数を+1
     if (m_SyuKaicount.get(s_syu) != null) {
      i_seqL5 = (Integer) m_SyuKaicount.get(s_syu);
     }

     if (i_seqL5 == null) {
      i_seqL5 = new Integer(0);
     }

     i_seqL5 = new Integer(i_seqL5.intValue() + 1);

     // 物品番号回路記号カウントMapに、物品番号配下の
     // 回路記号数をセット
     m_SyuKaicount.put(s_syu, i_seqL5);

     // DBに登録
     insertCLRL2andCLAL2(s_lemgno, b_LeComCLRL2BeanParent,
       s_syu, s_kai, i_seqL5);

    }

    if (i_seqw != null) {
     i_seqL2 = i_seqw;
    } else {
     i_seqL2 = new Integer(0);
    }

    // 回路記号の追番を+1
    i_seqL2 = new Integer(i_seqL2.intValue() + 1);

    // 物品番号回路記号管理Mapに、物品番号・回路記号のセットが存在したことを登録。
    // keyとして物品番号と回路記号、valueとしてi_seqL2をセットする。
    m_Kai.put(s_kai, i_seqL2);
    m_SyuKai.put(s_syu, m_Kai);

    // 取付法が記入されている場合
    // LEMON回答(レイヤー3)情報の更新
    if (s_fitMethod != null && !s_fitMethod.equals("")) {

     i_Fit = null;

     // 物品番号回路記号取付法管理Mapから今の物品番号、回路記号、取付法を
     // Keyにして取付法の存在数を取得
     // ここに来る前のチェックで、必ず一意になってはいるはず
     // 見つからなかった場合は、空のHashMapを作る。
     if (m_SyuKaiFit.get(s_syu) != null) {
      m_KaiFit = (Map) m_SyuKaiFit.get(s_syu);
      if (m_KaiFit.get(s_kai) != null) {
       i_Fit = (Integer) m_KaiFit.get(s_kai);
      }
     } else {
      m_KaiFit = new HashMap();
     }

     if (i_Fit != null) {
      i_seqL3 = i_Fit;
     } else {
      i_seqL3 = new Integer(0);
     }

     // 物品番号-回路記号-取付法の個数を増やす
     i_seqL3 = new Integer(i_seqL3.intValue() + 1);

     // 物品番号回路記号取付法管理Mapに、i_seqL3をセット
     m_KaiFit.put(s_kai, i_seqL3);
     m_SyuKaiFit.put(s_syu, m_KaiFit);

     // 取付法の総数を+1
     i_seqL4 = new Integer(i_seqL4.intValue() + 1);

     // DB更新
     insertCLAL3(s_lemgno, b_LeE15aMsgsBean, i_seqL4, i_seqL3);

    }

   }

  }

  // 物品番号・回路記号があって取付法が空の場合、取付法が"-"のデータを追加する処理
  updateFitMethod(s_lemgno, l_data);

 }

 /**
  * updateFitMethod
  * 機能:物品番号・回路記号があって取付法が空の場合、取付法が"-"のデータを追加する。
  * @param s_lemgno
  * @param l_Syu
  */
 private void updateFitMethod(String s_lemgno, List l_data) {

  // 物品番号・回路記号が存在して、取付法が存在しないとDBに不整合が生じる。
  // 回路記号追番は1、追番はシーケンス

  LeE15aMsgsBean b_LeE15aMsgsBean;
  Map m_syu = new HashMap();
  Map m_kai = new HashMap();

  // 取付法存在フラグ
  Integer i_fit;

  // 更新時の追番のシーケンス(1は親番のデータが入っている)
  int i_seq = 1;

  // 全てをMapにセット
  for (int i = 0; i < l_data.size(); i++) {
   // syu,kaiは必須。
   String s_syu = ((String[]) (l_data.get(i)))[0];
   String s_kai = ((String[]) (l_data.get(i)))[1];
   String s_fitMethod = ((String[]) (l_data.get(i)))[2];

   i_fit = null;

   // Mapから、同じsyu,kaiの値を検索し、
   // 無ければ初めてなので、1を設定
   if (m_syu.get(s_syu) != null) {
    m_kai = (Map) m_syu.get(s_syu);
    if (m_kai.get(s_kai) != null) {
     i_fit = (Integer) m_kai.get(s_kai);
    }

   }

   if (i_fit == null) {
    // Mapに取付法がない場合
    if (!s_fitMethod.equals("")) {
     // 引数の取付法があったら、取付法存在フラグを1にする。
     i_fit = new Integer(1);
    }
   }

   // Mapにsyu,kai,fitMethodフラグをセットする
   m_kai.put(s_kai, i_fit);
   m_syu.put(s_syu, m_kai);
  }

  // Mapから、取付法存在フラグが1になっていないものを更新

  for (int i = 0; i < l_data.size(); i++) {
   String s_syu = ((String[]) (l_data.get(i)))[0];
   String s_kai = ((String[]) (l_data.get(i)))[1];

   i_fit = null;

   // Mapから、同じsyu,kaiの値を検索
   if (m_syu.get(s_syu) != null) {
    m_kai = (Map) m_syu.get(s_syu);
    if (m_kai.get(s_kai) != null) {
     i_fit = (Integer) m_kai.get(s_kai);
    }
   }

   // fitMethod存在フラグがnullなら、fitMethodを"‐"として更新する。
   if (i_fit == null) {
    i_seq++;
    b_LeE15aMsgsBean = new LeE15aMsgsBean();
    b_LeE15aMsgsBean.setKai(s_kai);
    b_LeE15aMsgsBean.setFit_method("‐");
    // CLAL3更新
    insertCLAL3(s_lemgno, b_LeE15aMsgsBean, new Integer(i_seq),
      new Integer(1));
   }

  }

 }

 /**
  * insertCLAL3メソッド
  * 機能:CLAL3のデータを作成する。
  * @param is_lemgno
  * @param im_KaiSeqKaiMap
  * @param ib_LeE15aMsgsBean
  * @param i_seq
  * @return
  */
 private void insertCLAL3(String is_lemgno,
   LeE15aMsgsBean ib_LeE15aMsgsBean, Integer i_seq, Integer i_seqKai) {

  String s_kai = ib_LeE15aMsgsBean.getKai();
  String s_fitMethod = ib_LeE15aMsgsBean.getFit_method();
  String s_adopCode = ib_LeE15aMsgsBean.getAdop_code();
  String s_adop = ib_LeE15aMsgsBean.getAdop();
  String s_structure = ib_LeE15aMsgsBean.getStructure();
  String s_endDate = ib_LeE15aMsgsBean.getEnd_date();
  String s_pdfDate = ib_LeE15aMsgsBean.getPdf_date();
  String s_insTop = ib_LeE15aMsgsBean.getIns_top();
  String s_insSide = ib_LeE15aMsgsBean.getIns_side();
  String s_insUnder = ib_LeE15aMsgsBean.getIns_under();

  LeComCLAL3Bean b_LeComCLAL3Bean;
  b_LeComCLAL3Bean = new LeComCLAL3Bean();

  b_LeComCLAL3Bean.setLemgno(is_lemgno);
  b_LeComCLAL3Bean.setKai(s_kai);
  b_LeComCLAL3Bean.setSeq(i_seq);
  b_LeComCLAL3Bean.setSeq_kai(i_seqKai);

  // 空文字の場合は、アップデートはしない
  if (s_fitMethod != null && !s_fitMethod.equals("")) {
   b_LeComCLAL3Bean.setFit_method(s_fitMethod);
  }

  if (s_adopCode != null && !s_adopCode.equals("")) {
   b_LeComCLAL3Bean.setAdop_code(s_adopCode);
  }

  if (s_adop != null && !s_adop.equals("")) {
   b_LeComCLAL3Bean.setAdop(s_adop);
  }

  if (s_structure != null && !s_structure.equals("")) {
   b_LeComCLAL3Bean.setStructure(s_structure);
  }

  if (s_endDate != null && !s_endDate.equals("")) {
   b_LeComCLAL3Bean.setLib_end_date(s_endDate);
  }

  if (s_pdfDate != null && !s_pdfDate.equals("")) {
   b_LeComCLAL3Bean.setPdf_date(s_pdfDate);
  }

  if (s_insTop != null && !s_insTop.equals("")) {
   b_LeComCLAL3Bean.setIns_top(s_insTop);
  }

  if (s_insSide != null && !s_insSide.equals("")) {
   b_LeComCLAL3Bean.setIns_side(s_insSide);
  }

  if (s_insUnder != null && !s_insUnder.equals("")) {
   b_LeComCLAL3Bean.setIns_under(s_insUnder);
  }

  b_LeComCLAL3Bean.setTable_type("W");

  service4.insertDaoSubSub(b_LeComCLAL3Bean);

  return;
 }

 /**
  * insertCLRL2andCLAL2メソッド
  * 機能:CLRL2とCLAL2のデータを作成する。
  * @param s_lemgno
  * @param b_LeComCLRL2BeanParent
  * @param m_SyuSeqMap
  * @param s_syu
  * @param s_kai
  * @return
  */
 private void insertCLRL2andCLAL2(String s_lemgno,
   LeComCLRL2Bean b_LeComCLRL2BeanParent, String s_syu, String s_kai,
   Integer i_seq) {

  String s_diveType = b_LeComCLRL2BeanParent.getDive_type();
  String s_diveKai = b_LeComCLRL2BeanParent.getDive_kai();
  String s_diveCode = b_LeComCLRL2BeanParent.getDive_code();
  String s_diveRsn = b_LeComCLRL2BeanParent.getDive_rsn();
  String s_diveRsn2 = b_LeComCLRL2BeanParent.getDive_rsn2();
  String s_pinElect = b_LeComCLRL2BeanParent.getPin_elect();
  String s_weightSt = b_LeComCLRL2BeanParent.getWeight_st();
  String s_weightDay = b_LeComCLRL2BeanParent.getWeight_day();
  String s_bendState = b_LeComCLRL2BeanParent.getBend_state();
  String s_bendDay = b_LeComCLRL2BeanParent.getBend_day();

  LeComCLRL2Bean b_LeComCLRL2Bean;
  b_LeComCLRL2Bean = new LeComCLRL2Bean();

  b_LeComCLRL2Bean.setLemgno(s_lemgno);
  b_LeComCLRL2Bean.setSyu(s_syu);
  b_LeComCLRL2Bean.setKai(s_kai);
  b_LeComCLRL2Bean.setSeq(i_seq);

  // 空文字の場合は、アップデートはしない
  if (s_diveType != null && !s_diveType.equals("")) {
   b_LeComCLRL2Bean.setDive_type(s_diveType);
  }

  if (s_diveKai != null && !s_diveKai.equals("")) {
   b_LeComCLRL2Bean.setDive_kai(s_diveKai);
  }

  if (s_diveCode != null && !s_diveCode.equals("")) {
   b_LeComCLRL2Bean.setDive_code(s_diveCode);
  }

  if (s_diveRsn != null && !s_diveRsn.equals("")) {
   b_LeComCLRL2Bean.setDive_rsn(s_diveRsn);
  }

  if (s_diveRsn2 != null && !s_diveRsn2.equals("")) {
   b_LeComCLRL2Bean.setDive_rsn2(s_diveRsn2);
  }

  if (s_pinElect != null && !s_pinElect.equals("")) {
   b_LeComCLRL2Bean.setPin_elect(s_pinElect);
  }

  if (s_weightSt != null && !s_weightSt.equals("")) {
   b_LeComCLRL2Bean.setWeight_st(s_weightSt);
  }

  if (s_weightDay != null && !s_weightDay.equals("")) {
   b_LeComCLRL2Bean.setWeight_day(s_weightDay);
  }

  if (s_bendState != null && !s_bendState.equals("")) {
   b_LeComCLRL2Bean.setBend_state(s_bendState);
  }

  if (s_bendDay != null && !s_bendDay.equals("")) {
   b_LeComCLRL2Bean.setBend_day(s_bendDay);
  }

  b_LeComCLRL2Bean.setTable_type("W");

  service2.insertDaoSubSub(b_LeComCLRL2Bean);

  LeComCLAL2Bean b_LeComCLAL2Bean;
  b_LeComCLAL2Bean = new LeComCLAL2Bean();

  b_LeComCLAL2Bean.setLemgno(s_lemgno);
  b_LeComCLAL2Bean.setSyu(s_syu);
  b_LeComCLAL2Bean.setKai(s_kai);
  b_LeComCLAL2Bean.setSeq(i_seq);
  b_LeComCLAL2Bean.setTable_type("W");

  service3.insertDaoSubSub(b_LeComCLAL2Bean);
  return;
 }

 /**
  * insertCLRL1メソッド
  * 機能:CLRL1のデータを作成する。
  * @param s_lemgno
  * @param b_LeComCLRL1BeanParent
  * @param m_SyuMap
  * @param s_syu
  * @param ib_LeE15aMsgsBean
  * @return
  */
 private Integer insertCLRL1(String s_lemgno,
   LeComCLRL1Bean b_LeComCLRL1BeanParent, String s_syu,
   LeE15aMsgsBean ib_LeE15aMsgsBean, Integer i_seq) {

  String s_mkcode = ib_LeE15aMsgsBean.getMkcode();
  String s_mkhnm = ib_LeE15aMsgsBean.getMkhnm();
  String s_layer3 = b_LeComCLRL1BeanParent.getLayer3();
  String s_layer4 = b_LeComCLRL1BeanParent.getLayer4();
  String s_func = b_LeComCLRL1BeanParent.getFunc();
  String s_bgaPkg1 = b_LeComCLRL1BeanParent.getBga_pkg1();
  String s_bgaPkg2 = b_LeComCLRL1BeanParent.getBga_pkg2();
  String s_bgaPkg3 = b_LeComCLRL1BeanParent.getBga_pkg3();
  String s_bgaPkg4 = b_LeComCLRL1BeanParent.getBga_pkg4();
  String s_pkgs = b_LeComCLRL1BeanParent.getPkgs();
  String s_pkgsCmte = b_LeComCLRL1BeanParent.getPkgs_cmte();
  String s_outSide = b_LeComCLRL1BeanParent.getOutside_p();
  String s_conductFlg = b_LeComCLRL1BeanParent.getConduct_flg();

  LeComCLRL1Bean b_LeComCLRL1Bean;
  b_LeComCLRL1Bean = new LeComCLRL1Bean();
  b_LeComCLRL1Bean.setLemgno(s_lemgno);
  b_LeComCLRL1Bean.setSyu(s_syu);
  b_LeComCLRL1Bean.setSeq(i_seq);

  // 空文字の場合は、アップデートはしない
  if (s_mkcode != null && !s_mkcode.equals("")) {
   b_LeComCLRL1Bean.setMkcode(s_mkcode);
  }

  if (s_mkhnm != null && !s_mkhnm.equals("")) {
   b_LeComCLRL1Bean.setMkhnm(s_mkhnm);
  }

  if (s_layer3 != null && !s_layer3.equals("")) {
   b_LeComCLRL1Bean.setLayer3(s_layer3);
  }

  if (s_layer4 != null && !s_layer4.equals("")) {
   b_LeComCLRL1Bean.setLayer4(s_layer4);
  }

  if (s_func != null && !s_func.equals("")) {
   b_LeComCLRL1Bean.setFunc(s_func);
  }

  if (s_bgaPkg1 != null && !s_bgaPkg1.equals("")) {
   b_LeComCLRL1Bean.setBga_pkg1(s_bgaPkg1);
  }
  if (s_bgaPkg2 != null && !s_bgaPkg2.equals("")) {
   b_LeComCLRL1Bean.setBga_pkg2(s_bgaPkg2);
  }

  if (s_bgaPkg3 != null && !s_bgaPkg3.equals("")) {
   b_LeComCLRL1Bean.setBga_pkg3(s_bgaPkg3);
  }

  if (s_bgaPkg4 != null && !s_bgaPkg4.equals("")) {
   b_LeComCLRL1Bean.setBga_pkg4(s_bgaPkg4);
  }

  if (s_pkgs != null && !s_pkgs.equals("")) {
   b_LeComCLRL1Bean.setPkgs(s_pkgs);
  }

  if (s_pkgsCmte != null && !s_pkgsCmte.equals("")) {
   b_LeComCLRL1Bean.setPkgs_cmte(s_pkgsCmte);
  }

  if (s_outSide != null && !s_outSide.equals("")) {
   b_LeComCLRL1Bean.setOutside_p(s_outSide);
  }

  if (s_conductFlg != null && !s_conductFlg.equals("")) {
   b_LeComCLRL1Bean.setConduct_flg(s_conductFlg);
  }

  b_LeComCLRL1Bean.setTable_type("W");

  service1.insertDaoSubSub(b_LeComCLRL1Bean);

  return i_seq;
 }

 /**
  * 親CLRL2Bean取得メソッド
  * 機能:引数から親物品番号・親回路記号のCLRL2Beanを取得する。
  * @param s_lemgno
  * @param s_syuParent
  * @param s_kaiParent
  */
 private LeComCLRL2Bean getLeComCLRL2BeanParent(String s_lemgno,
   String s_syuParent, String s_kaiParent) {
  LeComCLRL2Bean b_LeComCLRL2Bean;
  b_LeComCLRL2Bean = new LeComCLRL2Bean();
  b_LeComCLRL2Bean.setLemgno(s_lemgno);
  b_LeComCLRL2Bean.setSyu(s_syuParent);
  b_LeComCLRL2Bean.setTable_type("W");
  b_LeComCLRL2Bean.setKai(s_kaiParent);
  LeComCLRL2Bean b_LeComCLRL2BeanParent = (LeComCLRL2Bean) service2
    .selectDaoSubSub(b_LeComCLRL2Bean);
  return b_LeComCLRL2BeanParent;
 }

 /**
  * 親CLRL1Bean取得メソッド
  * 機能:引数から親物品番号のCLRL1Beanを取得する。
  * @param s_lemgno
  * @param s_syuParent
  * @return
  */
 private LeComCLRL1Bean getLeComCLRL1BeanParent(String s_lemgno,
   String s_syuParent) {
  LeComCLRL1Bean b_LeComCLRL1Bean;
  b_LeComCLRL1Bean = new LeComCLRL1Bean();
  b_LeComCLRL1Bean.setLemgno(s_lemgno);
  b_LeComCLRL1Bean.setSyu(s_syuParent);
  b_LeComCLRL1Bean.setTable_type("W");
  LeComCLRL1Bean b_LeComCLRL1BeanParent = (LeComCLRL1Bean) service1
    .selectDaoSubSub(b_LeComCLRL1Bean);
  return b_LeComCLRL1BeanParent;
 }

 /**
  * 親回路記号取得メソッド
  * 機能:引数から、親回路記号を取得する。
  * @param s_lemgno
  * @param s_syuParent
  * @return
  */
 private String getKaiParent(String s_lemgno, String s_syuParent) {
  String s_kaiParent = "";
  LeComCLRL2Bean b_LeComCLRL2Bean = new LeComCLRL2Bean();
  b_LeComCLRL2Bean.setLemgno(s_lemgno);
  b_LeComCLRL2Bean.setSyu(s_syuParent);
  b_LeComCLRL2Bean.setSeq(new Integer(1));
  b_LeComCLRL2Bean.setTable_type("W");

  b_LeComCLRL2Bean = (LeComCLRL2Bean) service2
    .selectDaoSubSub(b_LeComCLRL2Bean);

  if (b_LeComCLRL2Bean != null) {
   s_kaiParent = b_LeComCLRL2Bean.getKai();
  }
  return s_kaiParent;
 }

 /**
  * 親物品番号取得メソッド
  * 機能:引数から、親物品番号を取得するメソッド
  * @param s_lemgno
  * @return
  */
 private String getSyuParent(String s_lemgno) {
  String s_syuParent = "";
  LeComCLRL1Bean b_LeComCLRL1Bean = new LeComCLRL1Bean();
  b_LeComCLRL1Bean.setLemgno(s_lemgno);
  b_LeComCLRL1Bean.setSeq(new Integer(1));
  b_LeComCLRL1Bean.setTable_type("W");

  b_LeComCLRL1Bean = (LeComCLRL1Bean) service1
    .selectDaoSubSub(b_LeComCLRL1Bean);

  if (b_LeComCLRL1Bean != null) {
   s_syuParent = b_LeComCLRL1Bean.getSyu();
  }
  return s_syuParent;
 }

 /**
  * 起案削除メソッド
  * 機能:すでに存在している、引数の物品番号を持つ起案を削除する。
  * @param s_lemgno
  * @param s_syuParent
  * @param s_kaiParent
  */
 private void deleteKian(String s_lemgno, String s_syuParent,
   String s_kaiParent) {
  LeComCLRL1Bean b_LeComCLRL1Bean;
  LeComCLRL2Bean b_LeComCLRL2Bean;
  b_LeComCLRL1Bean = new LeComCLRL1Bean();
  b_LeComCLRL1Bean.setLemgno(s_lemgno);
  b_LeComCLRL1Bean.setSyu(s_syuParent);
  b_LeComCLRL1Bean.setTable_type("W");
  b_LeComCLRL1Bean.setSql_type("deleteCLRL1_CSV");
  service1.deleteDaoSubSub(b_LeComCLRL1Bean);

  b_LeComCLRL2Bean = new LeComCLRL2Bean();
  b_LeComCLRL2Bean.setLemgno(s_lemgno);
  b_LeComCLRL2Bean.setSyu(s_syuParent);
  b_LeComCLRL2Bean.setKai(s_kaiParent);
  b_LeComCLRL2Bean.setTable_type("W");
  b_LeComCLRL2Bean.setSql_type("deleteCLRL2_CSV");
  service2.deleteDaoSubSub(b_LeComCLRL2Bean);

  LeComCLAL2Bean b_LeComCLAL2Bean = new LeComCLAL2Bean();
  b_LeComCLAL2Bean.setLemgno(s_lemgno);
  b_LeComCLAL2Bean.setSyu(s_syuParent);
  b_LeComCLAL2Bean.setKai(s_kaiParent);
  b_LeComCLAL2Bean.setTable_type("W");
  b_LeComCLAL2Bean.setSql_type("deleteCLAL2_CSV");
  service3.deleteDaoSubSub(b_LeComCLAL2Bean);

  LeComCLAL3Bean b_LeComCLAL3Bean = new LeComCLAL3Bean();
  b_LeComCLAL3Bean.setLemgno(s_lemgno);
  b_LeComCLAL3Bean.setKai(s_kaiParent);
  b_LeComCLAL3Bean.setTable_type("W");
  b_LeComCLAL3Bean.setSql_type("deleteCLAL3_CSV");
  service4.deleteDaoSubSub(b_LeComCLAL3Bean);
 }

 /**
  * 入力項目チェックメソッド
  * 機能:入力項目のタイプなどをチェックする。
  * @param l_emsgs
  * @param l_smsgs
  * @param i
  */
 private List checkInputType(List l_emsgs, List l_smsgs, int i) {

  LeE15aMsgsBean b_LeE15aMsgsBean = (LeE15aMsgsBean) l_smsgs.get(i);

  String s_syu = b_LeE15aMsgsBean.getSyu();
  String s_mkcode = b_LeE15aMsgsBean.getMkcode();
  String s_mkhnm = b_LeE15aMsgsBean.getMkhnm();
  String s_kai = b_LeE15aMsgsBean.getKai();
  String s_fitMethod = b_LeE15aMsgsBean.getFit_method();
  String s_adopCode = b_LeE15aMsgsBean.getAdop_code();
  String s_adop = b_LeE15aMsgsBean.getAdop();
  String s_endDate = b_LeE15aMsgsBean.getEnd_date();
  String s_pdfDate = b_LeE15aMsgsBean.getPdf_date();
  String s_insTop = b_LeE15aMsgsBean.getIns_top();
  String s_insSide = b_LeE15aMsgsBean.getIns_side();
  String s_insUnder = b_LeE15aMsgsBean.getIns_under();
  String s_structure = b_LeE15aMsgsBean.getStructure();

  // 行数が0から始まっているので、+1
  i++;

  // 物品番号桁数チェック
  if (s_syu.length() > 24) {
   l_emsgs.addAll(setErrorList("33015", i));
  }

  // 物品番号文字種チェック
  Pattern p_syuPattern = Pattern.compile("^[0-9a-zA-Z//-//.///]+");

  if (!p_syuPattern.matcher(s_syu).matches()) {
   l_emsgs.addAll(setErrorList("33016", i));
  }

  // メーカ略号未登録チェック
  if (!s_mkcode.equals("")) {
   LeE15aMakerBean b_LeE15aMakerBean = new LeE15aMakerBean();
   b_LeE15aMakerBean.setMak(s_mkcode);

   List l_makerList = service5.selectListDaoSubSub(b_LeE15aMakerBean);

   if (l_makerList == null || l_makerList.size() == 0) {
    l_emsgs.addAll(setErrorList("33017", i));
   }
  }

  // メーカ型格桁数チェック
  if (s_mkhnm.length() > 48) {
   l_emsgs.addAll(setErrorList("33018", i));
  }

  // 回路記号桁数チェック
  if (s_kai.length() > 8) {
   l_emsgs.addAll(setErrorList("33019", i));
  }

  // ここから下は、入力されている場合のみチェック

  // 取付法入力チェック
  if (!s_adopCode.equals("") || !s_adop.equals("")
    || !s_endDate.equals("") || !s_pdfDate.equals("")
    || !s_insTop.equals("") || !s_insSide.equals("")
    || !s_insUnder.equals("")) {
   if (s_fitMethod.equals("")) {
    l_emsgs.addAll(setErrorList("33020", i));
   }
  }

  // 取付法桁数チェック
  if (!s_fitMethod.equals("") && s_fitMethod.length() > 8) {
   l_emsgs.addAll(setErrorList("33021", i));
  }

  // 採用タイプコード
  if (!s_adopCode.equals("") && s_adopCode.length() > 8) {
   l_emsgs.addAll(setErrorList("33022", i));
  }

  // 採用タイプ
  if (!s_adop.equals("") && !s_adop.equals("1") && !s_adop.equals("2")) {
   l_emsgs.addAll(setErrorList("33023", i));
  }

  // 組立図
  if (!s_structure.equals("") && s_structure.length() > 12) {
   l_emsgs.addAll(setErrorList("", i));
  }

  Pattern p_pattern = Pattern
    .compile("[0-9][0-9][0-9][0-9][/][0-9][0-9][/][0-9][0-9]");

  // 実装LIB作成完了日
  if (!s_endDate.equals("")) {
   Matcher m_matcher = p_pattern.matcher(s_endDate);
   if (m_matcher.matches()) {
    // 日付が「4ケタ/2ケタ/2ケタ」だった場合
    try {
     int i_year = Integer.parseInt(s_endDate.substring(0, 4));
     int i_month = Integer.parseInt(s_endDate.substring(5, 7)) - 1;
     int i_day = Integer.parseInt(s_endDate.substring(8, 10));
     Calendar c_calendar = Calendar.getInstance();
     c_calendar.setLenient(false);
     c_calendar.set(i_year, i_month, i_day);
     c_calendar.getTime();
    } catch (Exception e) {
     //日付が正しくない日付の場合
     l_emsgs.addAll(setErrorList("33024", i));
    }
   } else {
    //日付が正しくない日付の場合
    l_emsgs.addAll(setErrorList("33024", i));
   }
  }

  // pdfファイル作成日
  if (!s_pdfDate.equals("")) {
   Matcher m_matcher2 = p_pattern.matcher(s_pdfDate);
   if (m_matcher2.matches()) {
    // 日付が4ケタ・2ケタ・2ケタだった場合
    try {
     int i_year = Integer.parseInt(s_pdfDate.substring(0, 4));
     int i_month = Integer.parseInt(s_pdfDate.substring(5, 7)) - 1;
     int i_day = Integer.parseInt(s_pdfDate.substring(8, 10));
     Calendar c_calendar = Calendar.getInstance();
     c_calendar.setLenient(false);
     c_calendar.set(i_year, i_month, i_day);
     c_calendar.getTime();
    } catch (Exception e) {
     //日付が正しくない日付の場合
     l_emsgs.addAll(setErrorList("33025", i));
    }
   } else {
    //日付が正しくない日付の場合
    l_emsgs.addAll(setErrorList("33025", i));
   }
  }

  // 部品下面絶縁性(上部)
  if (!s_insTop.equals("") && !s_insTop.equals("1")
    && !s_insTop.equals("2")) {
   l_emsgs.addAll(setErrorList("33005", i));
  }

  // 部品下面絶縁性(側部)
  if (!s_insSide.equals("") && !s_insSide.equals("1")
    && !s_insSide.equals("2")) {
   l_emsgs.addAll(setErrorList("33006", i));
  }

  // 部品下面絶縁性(下部)
  if (!s_insUnder.equals("") && !s_insUnder.equals("1")
    && !s_insUnder.equals("2")) {
   l_emsgs.addAll(setErrorList("33007", i));
  }

  return l_emsgs;
 }

 /**
  * 未入力チェックメソッド
  * 機能:未入力チェックをする。
  * @param b_LeE15aMsgsBean
  * @param l_emsgs
  * @param i
  */
 private List checkNotInput(LeE15aMsgsBean b_LeE15aMsgsBean, List l_emsgs,
   int i, String is_selfAdop) {

  // エラー用Bean
  LeE15aMsgsBean b_errorBean;
  String s_syu = b_LeE15aMsgsBean.getSyu();
  String s_mkcode = b_LeE15aMsgsBean.getMkcode();
  String s_mkhnm = b_LeE15aMsgsBean.getMkhnm();
  String s_kai = b_LeE15aMsgsBean.getKai();

  // 行数が0から始まっているので、+1
  i++;

  // 物品番号の未入力チェック
  if (s_syu.equals("")) {
   b_errorBean = new LeE15aMsgsBean();
   l_emsgs.addAll(setErrorList(b_errorBean, "94002", i, "syu"));
  }

  // 自主採用の場合は検査対象外
  if (!is_selfAdop.equals("1")) {
   // メーカ略号の未入力チェック
   if (s_mkcode.equals("")) {
    b_errorBean = new LeE15aMsgsBean();
    l_emsgs.addAll(setErrorList(b_errorBean, "94002", i, "mkcode"));
   }

   // メーカ型格の未入力チェック
   if (s_mkhnm.equals("")) {
    b_errorBean = new LeE15aMsgsBean();
    l_emsgs.addAll(setErrorList(b_errorBean, "94002", i, "mkhnm"));
   }
  }

  // 回路記号の未入力チェック
  if (s_kai.equals("")) {
   b_errorBean = new LeE15aMsgsBean();
   l_emsgs.addAll(setErrorList(b_errorBean, "94002", i, "kai"));
  }
  return l_emsgs;
 }

 /**
  * ファイル情報取得メソッド
  * 機能:CSVファイルからデータを取得する。
  * @param is_filePath
  * @return
  * @throws IOException
  */
 private List getFileData(InputStream is_stream) throws IOException {

  // インプットストリームを取得
  BufferedReader reader = new BufferedReader(new InputStreamReader(
    is_stream, "SJIS"));

  // インプットの文字列(SJIS)
  String s_line;

  LeE15aMsgsBean b_LeE15aMsgsBean;

  // 一行ごとのデータを保存する、比較用リスト
  List l_fileDataList = new ArrayList();

  // エラーメッセージ用リスト
  List l_emsgs = new ArrayList();

  // 結果用リスト
  List l_smsgs = new ArrayList();

  // 追番
  int i_seq = 0;

  // 比較用Map
  Map m_dataMap;

  // エラー用Bean
  LeE15aMsgsBean b_errorBean;

  // 行数用のint
  int i_line = 0;

  while ((s_line = reader.readLine()) != null && l_emsgs.size() == 0) {
   // 行数を加算
   i_line++;

   // 今取得した行を、カンマ区切りでデータとして取得する。
   String[] l_lineData = s_line.split(",");

   if (l_lineData.length != 13) {
    // 「,,,」といった、カンマが連続のデータ対応
    // 全ての,を" , "にする。
    Pattern pattern = Pattern.compile(",");
    Matcher matcher = pattern.matcher(s_line);
    s_line = matcher.replaceAll(" , ");

    //","でスプリット
    l_lineData = s_line.split(",");

    if (l_lineData.length == 13) {

     // ひとつ目から最後の手前まで、文字列最後の" "を削除する。
     for (int i = 0; i < 12; i++) {
      // 最後の" "を削除する。
      l_lineData[i] = l_lineData[i].substring(0,
        l_lineData[i].length() - 1);
     }

     // 二つ目から最後まで、文字列最初の" "を削除する。
     for (int i = 1; i < 13; i++) {
      // 最初の" "を削除する。
      l_lineData[i] = l_lineData[i].substring(1);
     }
    } else {
     // CSVが一行に13項目でない場合、エラー
     l_emsgs.addAll(setErrorList("33028", i_line));
     break;
    }
   }

   String s_syu = l_lineData[0];
   String s_mkcode = l_lineData[1];
   String s_mkhnm = l_lineData[2];
   String s_kai = l_lineData[3];
   String s_fitMethod = l_lineData[4];
   String s_adopCode = l_lineData[5];
   String s_adop = l_lineData[6];
   String s_structure = l_lineData[7];
   String s_libEndDate = l_lineData[8];
   String s_pdfDate = l_lineData[9];
   String s_insTop = l_lineData[10];
   String s_insSide = l_lineData[11];
   String s_insUnder = l_lineData[12];

   for (int i = 0; i < l_fileDataList.size(); i++) {

    // 比較用リストのi番目の、mgnoを取得
    String s_syuData = (String) ((Map) (l_fileDataList.get(i)))
      .get("syu");

    // 比較用リストのi番目の、kaiを取得
    String s_kaiData = (String) ((Map) (l_fileDataList.get(i)))
      .get("kai");

    // 比較用リストのi番目の、fitMethodを取得
    String s_fitMethodData = (String) ((Map) (l_fileDataList.get(i)))
      .get("fit_method");

    // 物品番号・回路記号・取付法で一意
    // 同じ物がl_fileDataListに存在した場合、エラー
    if (s_syu.equals(s_syuData) && s_kai.equals(s_kaiData)
      && s_fitMethod.equals(s_fitMethodData)) {
     // キー項目重複エラー
     b_errorBean = new LeE15aMsgsBean();
     b_errorBean.setSyu(s_syu);
     b_errorBean.setKai(s_kai);
     b_errorBean.setFit_method(s_fitMethod);
     l_emsgs = setErrorList(b_errorBean, "33008", i_line, "syu",
       "kai", "fit_method");
    }

    // 同じ物品番号なら、メーカ略号・メーカ型格は等しい。
    if (s_syu.equals(s_syuData)) {
     // 今取得した物品番号が、比較用と等しい場合

     String s_mkcodeData = (String) ((Map) (l_fileDataList
       .get(i))).get("mkcode");
     String s_mkhnmData = (String) ((Map) (l_fileDataList.get(i)))
       .get("mkhnm");

     if (!s_mkcode.equals(s_mkcodeData)
       || !s_mkhnm.equals(s_mkhnmData)) {
      // メーカ略号・メーカ型格がどちらかでも、比較用と等しくない場合
      // メーカ略号、メーカ型格エラー(物品番号:xxxxxxは同じですが
      // メーカ略号あるいはメーカ型格が異なる行があります)
      b_errorBean = new LeE15aMsgsBean();
      b_errorBean.setSyu(s_syu);
      l_emsgs = setErrorList(b_errorBean, "33009", i_line,
        "syu");
     }

    }

    // 同じ回路記号なら、取付法は異なる。
    // 回路記号・取付法で一意
    if (s_kai.equals(s_kaiData)) {
     // 今取得した回路記号が、比較用と等しい場合

     if (s_fitMethod.equals(s_fitMethodData)) {
      // 取付法が等しい場合
      // 回路記号/取付法重複エラー(回路記号:xxxxxxxx 取付法:xxxxxxxx)
      b_errorBean = new LeE15aMsgsBean();
      b_errorBean.setKai(s_kai);
      b_errorBean.setFit_method(s_fitMethod);
      l_emsgs = setErrorList(b_errorBean, "33010", i_line,
        "kai", "fit_method");
     }
    }

    // 同じ回路記号なら、物品番号は同じ。
    if (s_kai.equals(s_kaiData)) {
     if (!s_syu.equals(s_syuData)) {
      // 物品番号が異なる場合
      // 回路記号重複エラー(回路記号:xxxxxxx)
      b_errorBean = new LeE15aMsgsBean();
      b_errorBean.setKai(s_kai);
      l_emsgs = setErrorList(b_errorBean, "33026", i_line,
        "kai");
     }
    }

   }
   // 行単位でエラーが発生しなかった場合、メッセージ表示用Beanに各項目の値をセットする。

   if (l_emsgs.size() == 0) {

    i_seq++;

    b_LeE15aMsgsBean = new LeE15aMsgsBean();
    b_LeE15aMsgsBean.setSeq_num(new Integer(i_seq).toString());
    b_LeE15aMsgsBean.setAdop(s_adop);
    b_LeE15aMsgsBean.setAdop_code(s_adopCode);
    b_LeE15aMsgsBean.setEnd_date(s_libEndDate);
    b_LeE15aMsgsBean.setFit_method(s_fitMethod);
    b_LeE15aMsgsBean.setKai(s_kai);
    b_LeE15aMsgsBean.setMkcode(s_mkcode);
    b_LeE15aMsgsBean.setMkhnm(s_mkhnm);
    b_LeE15aMsgsBean.setPdf_date(s_pdfDate);
    b_LeE15aMsgsBean.setStructure(s_structure);
    b_LeE15aMsgsBean.setSyu(s_syu);

    if (s_insTop.equals("絶縁")) {
     b_LeE15aMsgsBean.setIns_top("1");
    } else if (s_insTop.equals("非絶縁")) {
     b_LeE15aMsgsBean.setIns_top("2");
    } else {
     b_LeE15aMsgsBean.setIns_top(s_insTop);
    }

    if (s_insSide.equals("絶縁")) {
     b_LeE15aMsgsBean.setIns_side("1");
    } else if (s_insSide.equals("非絶縁")) {
     b_LeE15aMsgsBean.setIns_side("2");
    } else {
     b_LeE15aMsgsBean.setIns_side(s_insSide);
    }

    if (s_insUnder.equals("絶縁")) {
     b_LeE15aMsgsBean.setIns_under("1");
    } else if (s_insUnder.equals("非絶縁")) {
     b_LeE15aMsgsBean.setIns_under("2");
    } else {
     b_LeE15aMsgsBean.setIns_under(s_insUnder);
    }

    l_smsgs.add(b_LeE15aMsgsBean);

    // 比較用リストに、比較用Mapをセットする。
    m_dataMap = new HashMap();
    m_dataMap.put("syu", s_syu);
    m_dataMap.put("mkcode", s_mkcode);
    m_dataMap.put("mkhnm", s_mkhnm);
    m_dataMap.put("kai", s_kai);
    m_dataMap.put("fit_method", s_fitMethod);

    l_fileDataList.add(m_dataMap);

   }

  }

  // ファイルを閉じる。
  reader.close();

  List l_returnList = new ArrayList();
  l_returnList.add(l_emsgs);
  l_returnList.add(l_smsgs);

  return l_returnList;
 }

 /**
  * エラーリスト作成メソッド項目3
  * 機能:戻り値用のエラーリストを作る。
  * @param ib_LeE15aMsgsBean
  * @param is_errorMsg
  * @param ii_line
  * @param is_errorItem1
  * @param is_errorItem2
  * @param is_errorItem3
  * @return
  */
 private List setErrorList(LeE15aMsgsBean ib_LeE15aMsgsBean,
   String is_errorMsg, int ii_line, String is_errorItem1,
   String is_errorItem2, String is_errorItem3) {

  List l_emsgs = new ArrayList();
  ib_LeE15aMsgsBean.setErrorMsg(is_errorMsg);
  ib_LeE15aMsgsBean.setSeq_num(new Integer(ii_line).toString());
  ib_LeE15aMsgsBean.setErrorItem1(is_errorItem1);
  ib_LeE15aMsgsBean.setErrorItem2(is_errorItem2);
  ib_LeE15aMsgsBean.setErrorItem3(is_errorItem3);
  l_emsgs.add(ib_LeE15aMsgsBean);

  return l_emsgs;
 }

 /**
  * エラーリスト作成メソッド項目2
  * 機能:戻り値用のエラーリストを作る。
  * @param ib_LeE15aMsgsBean
  * @param is_errorMsg
  * @param ii_line
  * @param is_errorItem1
  * @param is_errorItem2
  * @return
  */
 private List setErrorList(LeE15aMsgsBean ib_LeE15aMsgsBean,
   String is_errorMsg, int ii_line, String is_errorItem1,
   String is_errorItem2) {

  List l_emsgs = new ArrayList();
  ib_LeE15aMsgsBean.setErrorMsg(is_errorMsg);
  ib_LeE15aMsgsBean.setSeq_num(new Integer(ii_line).toString());
  ib_LeE15aMsgsBean.setErrorItem1(is_errorItem1);
  ib_LeE15aMsgsBean.setErrorItem2(is_errorItem2);
  l_emsgs.add(ib_LeE15aMsgsBean);

  return l_emsgs;
 }

 /**
  * エラーリスト作成メソッド項目1
  * 機能:戻り値用のエラーリストを作る。
  * @param ib_LeE15aMsgsBean
  * @param is_errorMsg
  * @param ii_line
  * @param is_errorItem1
  * @return
  */
 private List setErrorList(LeE15aMsgsBean ib_LeE15aMsgsBean,
   String is_errorMsg, int ii_line, String is_errorItem1) {
  List l_emsgs = new ArrayList();

  ib_LeE15aMsgsBean.setErrorMsg(is_errorMsg);
  ib_LeE15aMsgsBean.setSeq_num(new Integer(ii_line).toString());
  ib_LeE15aMsgsBean.setErrorItem1(is_errorItem1);
  l_emsgs.add(ib_LeE15aMsgsBean);

  return l_emsgs;
 }

 /**
  * エラーリスト作成メソッド
  * 機能:戻り値用のエラーリストを作る。
  * @param is_errorMsg
  * @param ii_seqNo
  * @return
  */
 private List setErrorList(String is_errorMsg, int ii_line) {
  List l_emsgs = new ArrayList();
  LeE15aMsgsBean ib_LeE15aMsgsBean = new LeE15aMsgsBean();
  ib_LeE15aMsgsBean.setErrorMsg(is_errorMsg);
  ib_LeE15aMsgsBean.setSeq_num(new Integer(ii_line).toString());
  l_emsgs.add(ib_LeE15aMsgsBean);
  return l_emsgs;
 }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值