/**
 * Copyright (c) 2003-2004 System Integrator Corporation.
 *                 All Rights Reserved.
 */
package jp.co.sint.beans.mallmgr;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;

import javax.servlet.http.HttpServletRequest;

import jp.co.sint.basic.SIBasic;
import jp.co.sint.basic.SILogin;
import jp.co.sint.basic.SIOrder;
import jp.co.sint.config.SIConfig;
import jp.co.sint.config.SIDBMultiConf;
import jp.co.sint.config.SIFlagConf;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.database.SIDateTimeType;
import jp.co.sint.database.SITableCondition;
import jp.co.sint.database.SITableConditionManager;
import jp.co.sint.tools.SICheckDataConf;
import jp.co.sint.tools.SICheckUtil;
import jp.co.sint.tools.SICheckValid;
import jp.co.sint.tools.SICustomError;
import jp.co.sint.tools.SICustomErrors;
import jp.co.sint.tools.SIDateTime;
import jp.co.sint.tools.SIUtil;
import jp.co.sint.tools.SIURLParameter;// 7.1.1 ST0236 追加

import org.apache.log4j.Category;

/**
 * @version $Id: UIOrderListCond.java,v 1.0 2003/09/19 Exp $
 * @author Jinwang Chen <br>
 * Description:
 * <p>
 * History
 * </p>
 * <p>
 * Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reason
 * </p>
 * ============&nbsp;&nbsp;&nbsp;==========&nbsp;&nbsp;===========================<br>
 * jwchen 2003/09/19 11:06:28 Original
 */
public class UIOrderListCond extends SIBasic {
  // ログ用のインスタンスの生成
  private static Category log = Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  
  // 受注番号
  private String orderCodeTxt = "";
  
  // 顧客名カナ
  private String custPronNameTxt = "";
  
  // メールアドレス
  private String emailTxt = "";
  
  // 7.2.0 ST0302 追加 ここから
  // 受注番号From
  private String orderCodeFromTxt = "";
  
  // 受注番号To
  private String orderCodeToTxt = "";
  // 7.2.0 ST0302 追加 ここまで
  
  // 受注日の年(To)
  private String initDateYearToCbo = "";
  
  // 受注日の月(To)
  private String initDateMonthToCbo = "";
  
  // 受注日の日(To)
  private String initDateDayToCbo = "";
  
  // 受注日の年(From)
  private String initDateYearFromCbo = "";
  
  // 受注日の月(From)
  private String initDateMonthFromCbo = "";
  
  // 受注日の日(From)
  private String initDateDayFromCbo = "";
  
  // 出荷日の年(To)
  private String shippmentDateYearToCbo = "";
  
  // 出荷日の月(To)
  private String shippmentDateMonthToCbo = "";
  
  // 出荷日の日(To)
  private String shippmentDateDayToCbo = "";
  
  // 出荷日の年(From)
  private String shippmentDateYearFromCbo = "";
  
  // 出荷日の月(From)
  private String shippmentDateMonthFromCbo = "";
  
  // 出荷日の日(From)
  private String shippmentDateDayFromCbo = "";
  
  // 配送希望日の年(To)
  private String deliveryDateYearToCbo = "";
  
  // 配送希望日の月(To)
  private String deliveryDateMonthToCbo = "";
  
  // 配送希望日の日(To)
  private String deliveryDateDayToCbo = "";
  
  // 配送希望日の年(From)
  private String deliveryDateYearFromCbo = "";
  
  // 配送希望日の月(From)
  private String deliveryDateMonthFromCbo = "";
  
  // 配送希望日の日(From)
  private String deliveryDateDayFromCbo = "";
  
  // 配送希望日オプション
  private String deliveryDateTypeFlg = "";
  
  // 受注日(From)
  // private String initDateFrom="";
  
  // 7.3.0 PI-NES0501 追加 ここから
  // 支店コード
  private String companyCode = "";
  
  // 担当者コード
  private String chargeCode = "";
  
  // 会社名
  private String corporationName = "";
  
  // サロン名
  private String companyName = "";
  
  // 担当者名
  private String chargeName = "";
  
  // 支店状況
  private String companyFlgRdo = "0";
  
  // 対応支店
  private String companyNameCdo = "";
  
  // 担当者状況
  private String chargeFlgRdo = "0";
  
  // 担当者
  private String chargeNameCdo = "";
  
  // 電話番号(検索条件)
  private String tel = "";
  
  // 受注経路
  private String orderRoute = "";
  // 7.3.0 PI-NES0501 追加 ここまで
  
  // 入金状況
  private String receiptFlgRdo = "";
  
  // 入金日の年(From)
  private String receiptDateYearFromCbo = "";
  
  // 入金日の月(From)
  private String receiptDateMonthFromCbo = "";
  
  // 入金日の日(From)
  private String receiptDateDayFromCbo = "";
  
  // 入金日(From)
  // private String receiptDateFrom="";
  
  // 入金日の年(To)
  private String receiptDateYearToCbo = "";
  
  // 入金日の月(To)
  private String receiptDateMonthToCbo = "";
  
  // 入金日の日(To)
  private String receiptDateDayToCbo = "";
  
  // 支払方法
  private String payMethodNameCbo = "";
  
  // 先後払いフラグ
  private String paymentFlgRdo = "";
  
  // メール送信フラグ
  private String sendMailFlgRdo = "";
  
  // 受注状態
  private String orderStatusRdo = "";
  
  // 入金日設定の年
  private String receiptDateYearCbo = "";
  
  // 入金日設定の月
  private String receiptDateMonthCbo = "";
  
  // 入金日設定の日
  private String receiptDateDayCbo = "";
  
  // 並べ替え1
  private String firstOrderSel = "OrderCode";
  
  // 並び順1
  private String firstOrderTxt = "1";
  
  // 検索用のＳＱＬ文
  private String conditionSQL = "";
  
  // 並び順
  private String orderBySQL = " ORDER BY aa.initDateTime DESC ";// 7.1.1 ST0227 修正
  
  // 削除・CSV出力用の受注コード
  private String[] orderCodeChk = new String[0];
  
  // 出荷日設定用の受注コード
  private String[] orderCodeHid = new String[0];
  
  // 出荷日設定用の支払区分
  private String[] paymentFlgHid = new String[0];
  
  // 出荷日設定用の受注日時
  private String[] initDateTimeHid = new String[0];
  
  // 出荷日設定用の入金日時
  private String[] receiptDateHid = new String[0];
  
  // 送信するメールの種類
  private String mailType = "";
  
  // ページ番号
  private String pageNumberTxt = "1";
  
  // 入力値チェックの結果、検索可能かどうか？
  private boolean searchFlg = false;
  
  // 7.3.0 PI-NES0601 追加 ここから
  private String custCode = "";// 顧客コード
  
  private String custName = "";// 顧客名
  
  private String shippmentFlgRdo = "";// 出荷状況
  
  private StringBuffer lCommonBuf = new StringBuffer();
  // 対応支店リスト使用フラグ
  private boolean branchListEnable = false;
  // 担当者リスト使用フラグ
  private boolean chargeListEnable = false;
  // 担当者リスト作成用支店コード
  private String belongingBranchCode = "";
  // 対応支店フラグ
  private String branchFlgCbo = "0";
  // 担当者フラグ
  private String chargeFlgCbo = "0";
  
  private String branchCode = "";
  // 7.3.0 PI-NES0601 追加 ここまで
  private String individualCode = "";
  
  private String receivableFlg = "";
  
  private boolean shippmentFlg = false;
  
  private String makerCodeTxt = "";
  
  private String deliveryAddress1 = "";
  
  private String deliveryAddress2 = "";
  
  public UIOrderListCond() {
    SIDateTime lDateTime = new SIDateTime();
    String Month = Integer.toString(lDateTime.getMonth());
    String Day = Integer.toString(lDateTime.getDay());
    
    if (Month.length() == 1) Month = "0" + Month;
    if (Day.length() == 1) Day = "0" + Day;
    
    // 受注日の年(To)
    initDateYearToCbo = Integer.toString(lDateTime.getYear());
    // 受注日の月(To)
    initDateMonthToCbo = Month;
    // 受注日の日(To)
    initDateDayToCbo = Day;
    // 入金日設定の年
    receiptDateYearCbo = Integer.toString(lDateTime.getYear());
    // 入金日設定の月
    receiptDateMonthCbo = Month;
    // 入金日設定の日
    receiptDateDayCbo = Day;
    
    // 一週間前の日付をゲットします
    lDateTime.addDay(-14);
    Month = Integer.toString(lDateTime.getMonth());
    Day = Integer.toString(lDateTime.getDay());
    if (Month.length() == 1) Month = "0" + Month;
    if (Day.length() == 1) Day = "0" + Day;
    
    // 受注日の年(From)
    initDateYearFromCbo = Integer.toString(lDateTime.getYear());
    // 受注日の月(From)
    initDateMonthFromCbo = Month;
    // 受注日の日(From)
    initDateDayFromCbo = Day;
    
    // 条件文の設定
    SITableConditionManager lConditionMan = new SITableConditionManager();
    if (SIDBMultiConf.SIDB_CURRENT_INX == SIDBMultiConf.SIDB_POSTGRESQL_INX) {
      lConditionMan.add(new SITableCondition("aa", "initDateTime", getInitDateFrom(), SIConfig.SICONDITION_TYPE_GREATER_EQUAL, SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa", "initDateTime", getInitDateTo() + " 23:59:59", SIConfig.SICONDITION_TYPE_LESS_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    } else {
      lConditionMan.add(new SITableCondition("aa", "initDateTime", new SIDateTimeType(getInitDateFrom()), SIConfig.SICONDITION_TYPE_GREATER_EQUAL, SIConfig.SICONDITION_TYPE_AND));
      lConditionMan.add(new SITableCondition("aa", "initDateTime", new SIDateTimeType(getInitDateTo() + " 23:59:59"), SIConfig.SICONDITION_TYPE_LESS_EQUAL,SIConfig.SICONDITION_TYPE_AND));
    }
    this.conditionSQL = lConditionMan.getCondtionSQL();
  }
  
  public UIOrderListCond(HttpServletRequest lRequest, SIURLParameter lUrlParam) {// 7.1.1 ST0236 修正
    init(lRequest, lUrlParam);// 7.1.1 ST0236 修正
  }
  
  // setter of 受注番号
  public void setOrderCodeTxt(String lOrderCodeTxt) {
    if (SIUtil.isNull(lOrderCodeTxt)) lOrderCodeTxt = "";
    this.orderCodeTxt = SIUtil.changeTo(lOrderCodeTxt.trim(), this.encode);
  }
  
  // setter of 顧客名カナ
  public void setCustPronNameTxt(String lCustPronNameTxt) {
    if (SIUtil.isNull(lCustPronNameTxt)) lCustPronNameTxt = "";
    this.custPronNameTxt = SIUtil.changeTo(lCustPronNameTxt.trim(), this.encode);
  }
  
  // setter of 顧客名カナ
  public void setEmailTxt(String lEmailTxt) {
    if (SIUtil.isNull(lEmailTxt)) lEmailTxt = "";
    this.emailTxt = SIUtil.changeTo(lEmailTxt.trim(), this.encode);
  }
  
  // 7.2.0 ST0302 追加 ここから
  // setter of 受注番号From
  public void setOrderCodeFromTxt(String lOrderCode) {
    if (SIUtil.isNull(lOrderCode)) lOrderCode = "";
    this.orderCodeFromTxt = SIUtil.changeTo(lOrderCode.trim(), this.encode);
  }
  
  // setter of 受注番号To
  public void setOrderCodeToTxt(String lOrderCode) {
    if (SIUtil.isNull(lOrderCode)) lOrderCode = "";
    this.orderCodeToTxt = SIUtil.changeTo(lOrderCode.trim(), this.encode);
  }
  
  // 7.2.0 ST0302 追加 ここまで
  
  // setter of 受注日の年(From)
  public void setInitDateYearFromCbo(String lInitDateYearFromCbo) {
    if (SIUtil.isNull(lInitDateYearFromCbo)) lInitDateYearFromCbo = "";
    this.initDateYearFromCbo = SIUtil.changeTo(lInitDateYearFromCbo.trim(), this.encode);
  }
  
  // setter of 受注日の月(From)
  public void setInitDateMonthFromCbo(String lInitDateMonthFromCbo) {
    if (SIUtil.isNull(lInitDateMonthFromCbo)) lInitDateMonthFromCbo = "";
    this.initDateMonthFromCbo = SIUtil.changeTo(lInitDateMonthFromCbo.trim(), this.encode);
  }
  
  // setter of 受注日の日(From)
  public void setInitDateDayFromCbo(String lInitDateDayFromCbo) {
    if (SIUtil.isNull(lInitDateDayFromCbo)) lInitDateDayFromCbo = "";
    this.initDateDayFromCbo = SIUtil.changeTo(lInitDateDayFromCbo.trim(), this.encode);
  }
  
  // setter of 受注日の年(To)
  public void setInitDateYearToCbo(String lInitDateYearToCbo) {
    if (SIUtil.isNull(lInitDateYearToCbo)) lInitDateYearToCbo = "";
    this.initDateYearToCbo = SIUtil.changeTo(lInitDateYearToCbo.trim(), this.encode);
  }
  
  // setter of 受注日の月(To)
  public void setInitDateMonthToCbo(String lInitDateMonthToCbo) {
    if (SIUtil.isNull(lInitDateMonthToCbo)) lInitDateMonthToCbo = "";
    this.initDateMonthToCbo = SIUtil.changeTo(lInitDateMonthToCbo.trim(), this.encode);
  }
  
  // setter of 受注日の日(To)
  public void setInitDateDayToCbo(String lInitDateDayToCbo) {
    if (SIUtil.isNull(lInitDateDayToCbo)) lInitDateDayToCbo = "";
    this.initDateDayToCbo = SIUtil.changeTo(lInitDateDayToCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateDayFromCbo
  public void setShippmentDateDayFromCbo(String shippmentDateDayFromCbo) {
    if (SIUtil.isNull(shippmentDateDayFromCbo)) shippmentDateDayFromCbo = "";
    this.shippmentDateDayFromCbo = SIUtil.changeTo(shippmentDateDayFromCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateDayToCbo
  public void setShippmentDateDayToCbo(String shippmentDateDayToCbo) {
    if (SIUtil.isNull(shippmentDateDayToCbo)) shippmentDateDayToCbo = "";
    this.shippmentDateDayToCbo = SIUtil.changeTo(shippmentDateDayToCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateMonthFromCbo
  public void setShippmentDateMonthFromCbo(String shippmentDateMonthFromCbo) {
    if (SIUtil.isNull(shippmentDateMonthFromCbo)) shippmentDateMonthFromCbo = "";
    this.shippmentDateMonthFromCbo = SIUtil.changeTo(shippmentDateMonthFromCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateMonthToCbo
  public void setShippmentDateMonthToCbo(String shippmentDateMonthToCbo) {
    if (SIUtil.isNull(shippmentDateMonthToCbo)) shippmentDateMonthToCbo = "";
    this.shippmentDateMonthToCbo = SIUtil.changeTo(shippmentDateMonthToCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateYearFromCbo
  public void setShippmentDateYearFromCbo(String shippmentDateYearFromCbo) {
    if (SIUtil.isNull(shippmentDateYearFromCbo)) shippmentDateYearFromCbo = "";
    this.shippmentDateYearFromCbo = SIUtil.changeTo(shippmentDateYearFromCbo.trim(), this.encode);
  }
  
  // setter of shippmentDateYearToCbo
  public void setShippmentDateYearToCbo(String shippmentDateYearToCbo) {
    if (SIUtil.isNull(shippmentDateYearToCbo)) shippmentDateYearToCbo = "";
    this.shippmentDateYearToCbo = SIUtil.changeTo(shippmentDateYearToCbo.trim(), this.encode);
  }
  
  // 7.3.0 PI-NES0501 追加 ここから
  // setter of 支店コード
  public void setCompanyCode(String lCompanyCode) {
    if (SIUtil.isNull(lCompanyCode)) lCompanyCode = "";
    this.companyCode = SIUtil.changeTo(lCompanyCode.trim(), this.encode);
  }
  
  // setter of 担当者コード
  public void setChargeCode(String lChargeCode) {
    if (SIUtil.isNull(lChargeCode)) lChargeCode = "";
    this.chargeCode = SIUtil.changeTo(lChargeCode.trim(), this.encode);
  }
  
  // setter of 会社名
  public void setCorporationName(String lCorporationName) {
    if (SIUtil.isNull(lCorporationName)) lCorporationName = "";
    this.corporationName = SIUtil.changeTo(lCorporationName.trim(), this.encode);
  }
  
  // setter of サロン名
  public void setCompanyName(String lCompanyName) {
    if (SIUtil.isNull(lCompanyName)) lCompanyName = "";
    this.companyName = SIUtil.changeTo(lCompanyName.trim(), this.encode);
  }
  
  // setter of 担当者名
  public void setChargeName(String lChargeName) {
    if (SIUtil.isNull(lChargeName)) lChargeName = "";
    this.chargeName = SIUtil.changeTo(lChargeName.trim(), this.encode);
  }
  
  // setter of 支店状況
  public void setCompanyFlgRdo(String lCompanyFlgRdo) {
    if (SIUtil.isNull(lCompanyFlgRdo)) lCompanyFlgRdo = "0";
    this.companyFlgRdo = SIUtil.changeTo(lCompanyFlgRdo.trim(), this.encode);
  }
  
  // setter of 対応支店
  public void setCompanyNameCdo(String lCompanyNameCdo) {
    if (SIUtil.isNull(lCompanyNameCdo)) lCompanyNameCdo = "";
    this.companyNameCdo = SIUtil.changeTo(lCompanyNameCdo.trim(), this.encode);
  }
  
  // setter of 担当者状況
  public void setChargeFlgRdo(String lChargeFlgRdo) {
    if (SIUtil.isNull(lChargeFlgRdo)) lChargeFlgRdo = "0";
    this.chargeFlgRdo = SIUtil.changeTo(lChargeFlgRdo.trim(), this.encode);
  }
  
  // setter of 担当者
  public void setChargeNameCdo(String lChargeNameCdo) {
    if (SIUtil.isNull(lChargeNameCdo)) lChargeNameCdo = "";
    this.chargeNameCdo = SIUtil.changeTo(lChargeNameCdo.trim(), this.encode);
  }
  
  // setter of 電話番号(検索条件)
  public void setTel(String lTel) {
    if (SIUtil.isNull(lTel)) lTel = "";
    this.tel = SIUtil.changeTo(lTel.trim(), this.encode);
  }
  
  // setter of 受注経路
  public void setOrderRoute(String lOrderRoute) {
    if (SIUtil.isNull(lOrderRoute)) lOrderRoute = "";
    this.orderRoute = SIUtil.changeTo(lOrderRoute.trim(), this.encode);
  }
  
  // 7.3.0 PI-NES0501 追加 ここまで
  
  // setter of 入金状況
  public void setReceiptFlgRdo(String lReceiptFlgRdo) {
    if (SIUtil.isNull(lReceiptFlgRdo)) lReceiptFlgRdo = "";
    this.receiptFlgRdo = SIUtil.changeTo(lReceiptFlgRdo.trim(), this.encode);
  }
  
  // setter of 入金日の年(From)
  public void setReceiptDateYearFromCbo(String lReceiptDateYearFromCbo) {
    if (SIUtil.isNull(lReceiptDateYearFromCbo)) lReceiptDateYearFromCbo = "";
    this.receiptDateYearFromCbo = SIUtil.changeTo(lReceiptDateYearFromCbo.trim(), this.encode);
  }
  
  // setter of 入金日の月(From)
  public void setReceiptDateMonthFromCbo(String lReceiptDateMonthFromCbo) {
    if (SIUtil.isNull(lReceiptDateMonthFromCbo)) lReceiptDateMonthFromCbo = "";
    this.receiptDateMonthFromCbo = SIUtil.changeTo(lReceiptDateMonthFromCbo.trim(), this.encode);
  }
  
  // setter of 入金日の日(From)
  public void setReceiptDateDayFromCbo(String lReceiptDateDayFromCbo) {
    if (SIUtil.isNull(lReceiptDateDayFromCbo)) lReceiptDateDayFromCbo = "";
    this.receiptDateDayFromCbo = SIUtil.changeTo(lReceiptDateDayFromCbo.trim(), this.encode);
  }
  
  // setter of 入金日の年(To)
  public void setReceiptDateYearToCbo(String lReceiptDateYearToCbo) {
    if (SIUtil.isNull(lReceiptDateYearToCbo)) lReceiptDateYearToCbo = "";
    this.receiptDateYearToCbo = SIUtil.changeTo(lReceiptDateYearToCbo.trim(), this.encode);
  }
  
  // setter of 入金日の月(To)
  public void setReceiptDateMonthToCbo(String lReceiptDateMonthToCbo) {
    if (SIUtil.isNull(lReceiptDateMonthToCbo)) lReceiptDateMonthToCbo = "";
    this.receiptDateMonthToCbo = SIUtil.changeTo(lReceiptDateMonthToCbo.trim(), this.encode);
  }
  
  // setter of 入金日の日(To)
  public void setReceiptDateDayToCbo(String lReceiptDateDayToCbo) {
    if (SIUtil.isNull(lReceiptDateDayToCbo)) lReceiptDateDayToCbo = "";
    this.receiptDateDayToCbo = SIUtil.changeTo(lReceiptDateDayToCbo.trim(), this.encode);
  }
  
  // setter of 支払方法
  public void setPayMethodNameCbo(String lPayMethodNameCbo) {
    if (SIUtil.isNull(lPayMethodNameCbo)) lPayMethodNameCbo = "";
    this.payMethodNameCbo = SIUtil.changeTo(lPayMethodNameCbo.trim(), this.encode);
  }
  
  // setter of 先後払いフラグ
  public void setPaymentFlgRdo(String lPaymentFlgRdo) {
    if (SIUtil.isNull(lPaymentFlgRdo)) lPaymentFlgRdo = "";
    this.paymentFlgRdo = SIUtil.changeTo(lPaymentFlgRdo.trim(), this.encode);
  }
  
  // setter of メール送信フラグ
  public void setSendMailFlgRdo(String lSendMailFlgRdo) {
    if (SIUtil.isNull(lSendMailFlgRdo)) lSendMailFlgRdo = "";
    this.sendMailFlgRdo = SIUtil.changeTo(lSendMailFlgRdo.trim(), this.encode);
  }
  
  // setter of 受注状態
  public void setOrderStatusRdo(String lOrderStatusRdo) {
    if (SIUtil.isNull(lOrderStatusRdo)) lOrderStatusRdo = "";
    this.orderStatusRdo = SIUtil.changeTo(lOrderStatusRdo.trim(), this.encode);
  }
  
  // setter of 入金日設定の年
  public void setReceiptDateYearCbo(String lReceiptDateYearCbo) {
    if (SIUtil.isNull(lReceiptDateYearCbo)) lReceiptDateYearCbo = "";
    this.receiptDateYearCbo = SIUtil.changeTo(lReceiptDateYearCbo.trim(), this.encode);
  }
  
  // setter of 入金日設定の月
  public void setReceiptDateMonthCbo(String lReceiptDateMonthCbo) {
    if (SIUtil.isNull(lReceiptDateMonthCbo)) lReceiptDateMonthCbo = "";
    this.receiptDateMonthCbo = SIUtil.changeTo(lReceiptDateMonthCbo.trim(), this.encode);
  }
  
  // setter of 入金日設定の日
  public void setReceiptDateDayCbo(String lReceiptDateDayCbo) {
    if (SIUtil.isNull(lReceiptDateDayCbo)) lReceiptDateDayCbo = "";
    this.receiptDateDayCbo = SIUtil.changeTo(lReceiptDateDayCbo.trim(), this.encode);
  }
  
  // setter of 並べ替え1
  public void setFirstOrderSel(String lFirstOrderSel) {
    if (SIUtil.isNull(lFirstOrderSel)) lFirstOrderSel = "OrderCode";
    this.firstOrderSel = SIUtil.changeTo(lFirstOrderSel.trim(), this.encode);
  }
  
  // setter of 並び順１
  public void setFirstOrderTxt(String lFirstOrderTxt) {
    if (SIUtil.isNull(lFirstOrderTxt)) lFirstOrderTxt = "0";
    this.firstOrderTxt = lFirstOrderTxt;
  }
  
  // setter of 検索用ＳＱＬ文
  public void setConditionSQL(String lConditionSQL) {
    if (SIUtil.isNull(lConditionSQL)) lConditionSQL = "";
    this.conditionSQL = SIUtil.changeTo(lConditionSQL.trim(), this.encode);
  }
  
  // setter of 並び順
  public void setOrderBySQL(String lOrderBySQL) {
    if (SIUtil.isNull(lOrderBySQL)) lOrderBySQL = " ORDER BY aa.initDateTime DESC ";// 7.1.1 ST0227 修正
    this.orderBySQL = lOrderBySQL;
  }
  
  public void setOrderCodeChk(String[] lOrderCodeChk) {
    if (lOrderCodeChk == null) lOrderCodeChk = new String[0];
    this.orderCodeChk = lOrderCodeChk;
  }
  
  // setter of 出荷日設定用の受注コード
  public void setOrderCodeHid(String[] lOrderCodeHid) {
    if (lOrderCodeHid == null) lOrderCodeHid = new String[0];
    this.orderCodeHid = lOrderCodeHid;
  }
  
  // setter of 出荷日設定用の受注配送先項番
  public void setPaymentFlgHid(String[] lPaymentFlgHid) {
    if (lPaymentFlgHid == null) lPaymentFlgHid = new String[0];
    this.paymentFlgHid = lPaymentFlgHid;
  }
  
  // setter of 出荷日設定用の受注日時
  public void setInitDateTimeHid(String[] lInitDateTimeHid) {
    if (lInitDateTimeHid == null) lInitDateTimeHid = new String[0];
    this.initDateTimeHid = lInitDateTimeHid;
  }
  
  // setter of 出荷日設定用の入金日
  public void setReceiptDateHid(String[] lReceiptDateHid) {
    if (lReceiptDateHid == null) lReceiptDateHid = new String[0];
    this.receiptDateHid = lReceiptDateHid;
  }
  
  // setter of メール種類
  public void setMailType(String lMailType) {
    if (SIUtil.isNull(lMailType)) lMailType = "";
    this.mailType = lMailType;
  }
  
  // setter of ページ番号
  public void setPageNumberTxt(String lPageNumberTxt) {
    if (SIUtil.isNull(lPageNumberTxt)) lPageNumberTxt = "1";
    this.pageNumberTxt = lPageNumberTxt;
  }
  
  public void setReceivableFlg(String receivableflg) {
    if (SIUtil.isNull(receivableflg)) receivableflg = "";
    this.receivableFlg = receivableflg;
  }
  
  // getter of 受注番号
  public String getOrderCodeTxt() {
    return this.orderCodeTxt;
  }
  
  // getter of 顧客名カナ
  public String getCustPronNameTxt() {
    return this.custPronNameTxt;
  }
  
  // getter of メールアドレス
  public String getEmailTxt() {
    return this.emailTxt;
  }
  
  // 7.2.0 ST0302 追加 ここから
  // getter of 受注番号From
  public String getOrderCodeFromTxt() {
    return this.orderCodeFromTxt;
  }
  
  // getter of 受注番号To
  public String getOrderCodeToTxt() {
    return this.orderCodeToTxt;
  }
  
  // 7.2.0 ST0302 追加 ここまで
  
  // getter of 受注日の年(From)
  public String getInitDateYearFromCbo() {
    return this.initDateYearFromCbo;
  }
  
  // getter of 受注日の月(From)
  public String getInitDateMonthFromCbo() {
    return this.initDateMonthFromCbo;
  }
  
  // getter of 受注日の日(From)
  public String getInitDateDayFromCbo() {
    return this.initDateDayFromCbo;
  }
  
  // getter of 受注日(From)
  public String getInitDateFrom() {
    return SIDateTime.getDate(getInitDateYearFromCbo(), getInitDateMonthFromCbo(), getInitDateDayFromCbo());
  }
  
  // getter of 受注日の年(To)
  public String getInitDateYearToCbo() {
    return this.initDateYearToCbo;
  }
  
  // getter of 受注日の月(To)
  public String getInitDateMonthToCbo() {
    return this.initDateMonthToCbo;
  }
  
  // getter of 受注日の日(To)
  public String getInitDateDayToCbo() {
    return this.initDateDayToCbo;
  }
  
  // getter of 受注日(To)
  public String getInitDateTo() {
    return SIDateTime.getDate(getInitDateYearToCbo(), getInitDateMonthToCbo(), getInitDateDayToCbo());
  }
  
  // getter of shippmentDateDayFromCbo
  public String getShippmentDateDayFromCbo() {
    return this.shippmentDateDayFromCbo;
  }
  
  // getter of shippmentDateDayToCbo
  public String getShippmentDateDayToCbo() {
    return this.shippmentDateDayToCbo;
  }
  
  // getter of shippmentDateMonthFromCbo
  public String getShippmentDateMonthFromCbo() {
    return this.shippmentDateMonthFromCbo;
  }
  
  // getter of shippmentDateMonthToCbo
  public String getShippmentDateMonthToCbo() {
    return this.shippmentDateMonthToCbo;
  }
  
  // getter of shippmentDateYearFromCbo
  public String getShippmentDateYearFromCbo() {
    return this.shippmentDateYearFromCbo;
  }
  
  // getter of shippmentDateYearToCbo
  public String getShippmentDateYearToCbo() {
    return this.shippmentDateYearToCbo;
  }
  
  // getter of 出荷日(To)
  public String getShippmentDateTo() {
    return SIDateTime.getDate(getShippmentDateYearToCbo(), getShippmentDateMonthToCbo(), getShippmentDateDayToCbo());
  }
  
  // getter of 出荷日(From)
  public String getShippmentDateFrom() {
    return SIDateTime.getDate(getShippmentDateYearFromCbo(), getShippmentDateMonthFromCbo(), getShippmentDateDayFromCbo());
  }
  
  // 7.3.0 PI-NES0501 追加 ここから
  // getter of 支店コード
  public String getCompanyCode() {
    return this.companyCode;
  }
  
  // getter of 担当者コード
  public String getChargeCode() {
    return this.chargeCode;
  }
  
  // getter of 支店状況
  public String getCompanyFlgRdo() {
    return this.companyFlgRdo;
  }
  
  // getter of 対応支店
  public String getCompanyNameCdo() {
    return this.companyNameCdo;
  }
  
  // getter of 担当者状況
  public String getChargeFlgRdo() {
    return this.chargeFlgRdo;
  }
  
  // getter of 担当者
  public String getChargeNameCdo() {
    return this.chargeNameCdo;
  }
  
  // getter of 電話番号(検索条件)
  public String getTel() {
    return this.tel;
  }
  
  // getter of 受注経路
  public String getOrderRoute() {
    return this.orderRoute;
  }
  
  // 7.3.0 PI-NES0501 追加 ここまで
  
  // getter of 入金状況
  public String getReceiptFlgRdo() {
    return this.receiptFlgRdo;
  }
  
  // getter of 入金日の年(From)
  public String getReceiptDateYearFromCbo() {
    return this.receiptDateYearFromCbo;
  }
  
  // getter of 入金日の月(From)
  public String getReceiptDateMonthFromCbo() {
    return this.receiptDateMonthFromCbo;
  }
  
  // getter of 入金日の日(From)
  public String getReceiptDateDayFromCbo() {
    return this.receiptDateDayFromCbo;
  }
  
  // getter of 入金日(From)
  public String getReceiptDateFrom() {
    return SIDateTime.getDate(getReceiptDateYearFromCbo(), getReceiptDateMonthFromCbo(), getReceiptDateDayFromCbo());
  }
  
  // getter of 入金日の年(To)
  public String getReceiptDateYearToCbo() {
    return this.receiptDateYearToCbo;
  }
  
  // getter of 入金日の月(To)
  public String getReceiptDateMonthToCbo() {
    return this.receiptDateMonthToCbo;
  }
  
  // getter of 入金日の日(To)
  public String getReceiptDateDayToCbo() {
    return this.receiptDateDayToCbo;
  }
  
  // getter of 入金日(To)
  public String getReceiptDateTo() {
    return SIDateTime.getDate(getReceiptDateYearToCbo(), getReceiptDateMonthToCbo(), getReceiptDateDayToCbo());
  }
  
  // getter of 支払方法
  public String getPayMethodNameCbo() {
    return this.payMethodNameCbo;
  }
  
  // getter of 先後払いフラグ
  public String getPaymentFlgRdo() {
    return this.paymentFlgRdo;
  }
  
  // getter of メール送信フラグ
  public String getSendMailFlgRdo() {
    return this.sendMailFlgRdo;
  }
  
  // getter of 受注状態
  public String getOrderStatusRdo() {
    return this.orderStatusRdo;
  }
  
  // getter of 入金日設定の年
  public String getReceiptDateYearCbo() {
    return this.receiptDateYearCbo;
  }
  
  // getter of 入金日設定の月
  public String getReceiptDateMonthCbo() {
    return this.receiptDateMonthCbo;
  }
  
  // getter of 入金日設定の日
  public String getReceiptDateDayCbo() {
    return this.receiptDateDayCbo;
  }
  
  // getter of 入金日設定
  public String getReceiptDate() {
    return SIDateTime.getDate(getReceiptDateYearCbo(), getReceiptDateMonthCbo(), getReceiptDateDayCbo());
  }
  
  // getter of 並べ替え1
  public String getFirstOrderSel() {
    return this.firstOrderSel;
  }
  
  // getter of 並び順１
  public String getFirstOrderTxt() {
    return this.firstOrderTxt;
  }
  
  // getter of 検索用ＳＱＬ文
  public String getConditionSQL() {
    return this.conditionSQL;
  }
  
  // getter of 並び順
  public String getOrderBySQL() {
    return this.orderBySQL;
  }
  
  // getter of 削除用の受注コード
  public String[] getOrderCodeChk() {
    return this.orderCodeChk;
  }
  
  // getter of 出荷日設定用の受注コード
  public String[] getOrderCodeHid() {
    return this.orderCodeHid;
  }
  
  // getter of 出荷日設定用の支払区分
  public String[] getPaymentFlgHid() {
    return this.paymentFlgHid;
  }
  
  // getter of 出荷日設定用の受注日時
  public String[] getInitDateTimeHid() {
    return this.initDateTimeHid;
  }
  
  // getter of 出荷日設定用の入金日
  public String[] getReceiptDateHid() {
    return this.receiptDateHid;
  }
  
  // getter of メールの種類
  public String getMailType() {
    return this.mailType;
  }
  
  // getter of ページ番号
  public String getPageNumberTxt() {
    return this.pageNumberTxt;
  }
  
  /**
   * @return custCode を戻します。
   */
  public String getCustCode() {
    return custCode;
  }
  
  /**
   * @param custCode custCode を設定。
   */
  public void setCustCode(String custCode) {
    if (SIUtil.isNull(custCode)) custCode = "";
    this.custCode = custCode;
  }
  
  /**
   * @return custName を戻します。
   */
  public String getCustName() {
    return custName;
  }
  
  /**
   * @param custName custName を設定。
   */
  public void setCustName(String custName) {
    if (SIUtil.isNull(custName)) custName = "";
    this.custName = custName;
  }
  
  /**
   * @return shippmentFlgRdo を戻します。
   */
  public String getShippmentFlgRdo() {
    return shippmentFlgRdo;
  }
  
  /**
   * @param shippmentFlgRdo shippmentFlgRdo を設定。
   */
  public void setShippmentFlgRdo(String shippmentFlgRdo) {
    if (SIUtil.isNull(shippmentFlgRdo)) shippmentFlgRdo = "";
    this.shippmentFlgRdo = shippmentFlgRdo;
  }
  
  /**
   * @return corporationName を戻します。
   */
  public String getCorporationName() {
    return corporationName;
  }
  
  /**
   * @return companyName を戻します。
   */
  public String getCompanyName() {
    return companyName;
  }
  
  /**
   * @return branchListEnable を戻します。
   */
  public boolean isBranchListEnable() {
    return branchListEnable;
  }
  
  /**
   * @param branchListEnable branchListEnable を設定。
   */
  public void setBranchListEnable(boolean branchListEnable) {
    this.branchListEnable = branchListEnable;
  }
  
  /**
   * @return chargeListEnable を戻します。
   */
  public boolean isChargeListEnable() {
    return chargeListEnable;
  }
  
  /**
   * @param chargeListEnable chargeListEnable を設定。
   */
  public void setChargeListEnable(boolean chargeListEnable) {
    this.chargeListEnable = chargeListEnable;
  }
  
  /**
   * @return chargeName を戻します。
   */
  public String getChargeName() {
    return chargeName;
  }
  
  /**
   * @return branchCode を戻します。
   */
  public String getBranchCode() {
    return branchCode;
  }
  
  /**
   * @param branchCode branchCode を設定。
   */
  public void setBranchCode(String branchCode) {
    if (SIUtil.isNull(branchCode)) branchCode = "";
    this.branchCode = branchCode;
  }
  
  /**
   * @return individualCode を戻します。
   */
  public String getIndividualCode() {
    return individualCode;
  }
  
  /**
   * @param individualCode を設定。
   */
  public void setIndividualCode(String individualCode) {
    if (SIUtil.isNull(individualCode)) individualCode = "";
    this.individualCode = individualCode;
  }
  
  /**
   * @return branchFlgCbo を戻します。
   */
  public String getBranchFlgCbo() {
    return branchFlgCbo;
  }
  
  /**
   * @param branchFlgCbo branchFlgCbo を設定。
   */
  public void setBranchFlgCbo(String branchFlgCbo) {
    if (SIUtil.isNull(branchFlgCbo)) branchFlgCbo = "0";
    this.branchFlgCbo = branchFlgCbo;
  }
  
  /**
   * @return chargeFlgCbo を戻します。
   */
  public String getChargeFlgCbo() {
    return chargeFlgCbo;
  }
  
  /**
   * @param chargeFlgCbo chargeFlgCbo を設定。
   */
  public void setChargeFlgCbo(String chargeFlgCbo) {
    if (SIUtil.isNull(chargeFlgCbo)) chargeFlgCbo = "0";
    this.chargeFlgCbo = chargeFlgCbo;
  }
  
  /**
   * @return belongingBranchCode を戻します。
   */
  public String getBelongingBranchCode() {
    return belongingBranchCode;
  }
  
  /**
   * @param belongingBranchCode belongingBranchCode を設定。
   */
  public void setBelongingBranchCode(String belongingBranchCode) {
    if (SIUtil.isNull(belongingBranchCode)) belongingBranchCode = "";
    this.belongingBranchCode = belongingBranchCode;
  }
  
  public String getMakerCodeTxt() {
    return makerCodeTxt;
  }
  
  public void setMakerCodeTxt(String makerCodeTxt) {
    if (SIUtil.isNull(makerCodeTxt)) makerCodeTxt="";
    this.makerCodeTxt = makerCodeTxt;
  }
  
  public boolean isShippmentFlg(){
    return shippmentFlg;
  }
  
  public String getReceivableFlg() {
    return receivableFlg;
  }
  
  public String getDeliveryDateDayFromCbo() {
    return deliveryDateDayFromCbo;
  }
  
  public String getDeliveryDateDayToCbo() {
    return deliveryDateDayToCbo;
  }
  
  public String getDeliveryDateMonthFromCbo() {
    return deliveryDateMonthFromCbo;
  }
  
  public String getDeliveryDateMonthToCbo() {
    return deliveryDateMonthToCbo;
  }
  
  public String getDeliveryDateYearFromCbo() {
    return deliveryDateYearFromCbo;
  }
  
  public String getDeliveryDateYearToCbo() {
    return deliveryDateYearToCbo;
  }
  
  public String getDeliveryDateTypeFlg() {
    return deliveryDateTypeFlg;
  }
  
  public void setDeliveryDateDayFromCbo(String deliveryDateDayFromCbo) {
    if (SIUtil.isNull(deliveryDateDayFromCbo)) deliveryDateDayFromCbo = "";
    this.deliveryDateDayFromCbo = deliveryDateDayFromCbo;
  }
  
  public void setDeliveryDateDayToCbo(String deliveryDateDayToCbo) {
    if (SIUtil.isNull(deliveryDateDayToCbo)) deliveryDateDayToCbo = "";
    this.deliveryDateDayToCbo = deliveryDateDayToCbo;
  }
  
  public void setDeliveryDateMonthFromCbo(String deliveryDateMonthFromCbo) {
    if (SIUtil.isNull(deliveryDateMonthFromCbo)) deliveryDateMonthFromCbo = "";
    this.deliveryDateMonthFromCbo = deliveryDateMonthFromCbo;
  }
  
  public void setDeliveryDateMonthToCbo(String deliveryDateMonthToCbo) {
    if (SIUtil.isNull(deliveryDateMonthToCbo)) deliveryDateMonthToCbo = "";
    this.deliveryDateMonthToCbo = deliveryDateMonthToCbo;
  }
    
  public void setDeliveryDateYearFromCbo(String deliveryDateYearFromCbo) {
    if (SIUtil.isNull(deliveryDateYearFromCbo)) deliveryDateYearFromCbo = "";
    this.deliveryDateYearFromCbo = deliveryDateYearFromCbo;
  }
  
  public void setDeliveryDateYearToCbo(String deliveryDateYearToCbo) {
    if (SIUtil.isNull(deliveryDateYearToCbo)) deliveryDateYearToCbo = "";
    this.deliveryDateYearToCbo = deliveryDateYearToCbo;
  }
  
  public void setDeliveryDateTypeFlg(String deliveryDateTypeFlg) {
    if (SIUtil.isNull(deliveryDateTypeFlg)) deliveryDateTypeFlg = "";
    this.deliveryDateTypeFlg = deliveryDateTypeFlg;
  }
  
  public String getDeliveryDateTo() {
    return SIDateTime.getDate(getDeliveryDateYearToCbo(), getDeliveryDateMonthToCbo(), getDeliveryDateDayToCbo());
  }
  
  public String getDeliveryDateFrom() {
    return SIDateTime.getDate(getDeliveryDateYearFromCbo(), getDeliveryDateMonthFromCbo(), getDeliveryDateDayFromCbo());
  }
  
  public String getDeliveryAddress1() {
    return deliveryAddress1;
  }
  
  public String getDeliveryAddress2() {
    return deliveryAddress2;
  }
  
  public void setDeliveryAddress1(String deliveryAddress1) {
    if (SIUtil.isNull(deliveryAddress1)) deliveryAddress1 = "";
    this.deliveryAddress1 = deliveryAddress1;
  }
  
  public void setDeliveryAddress2(String deliveryAddress2) {
    if (SIUtil.isNull(deliveryAddress2)) deliveryAddress2 = "";
    this.deliveryAddress2 = deliveryAddress2;
  }
  
  /**
   * <b>init</b> 入力したデータを基づいて、このbeansを設定します。
   * 
   * @param request クライアントからリクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  // 7.1.1 ST0236 修正 ここから
  public void init(HttpServletRequest lRequest, SIURLParameter lUrlParam) {
    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS);
    this.searchFlg=true;
    super.init(lRequest, lUrlParam);
    this.setCustPronNameTxt((String) lUrlParam.getParam("custPronNameTxt"));// 顧客名カナ
    this.setEmailTxt((String) lUrlParam.getParam("emailTxt"));// mailaddress
    this.setInitDateYearFromCbo((String) lUrlParam.getParam("initDateYearFromCbo"));// 受注日の年(From)
    this.setInitDateMonthFromCbo((String) lUrlParam.getParam("initDateMonthFromCbo"));// 受注日の月(From)
    this.setInitDateDayFromCbo((String) lUrlParam.getParam("initDateDayFromCbo"));// 受注日の日(From)
    this.setInitDateYearToCbo((String) lUrlParam.getParam("initDateYearToCbo"));// 受注日の年(To)
    this.setInitDateMonthToCbo((String) lUrlParam.getParam("initDateMonthToCbo"));// 受注日の月(To)
    this.setInitDateDayToCbo((String) lUrlParam.getParam("initDateDayToCbo"));// 受注日の日(To)
    this.setShippmentDateYearFromCbo((String) lUrlParam.getParam("shippmentDateYearFromCbo"));// 出荷日の年(From)
    this.setShippmentDateMonthFromCbo((String) lUrlParam.getParam("shippmentDateMonthFromCbo"));// 出荷日の月(From)
    this.setShippmentDateDayFromCbo((String) lUrlParam.getParam("shippmentDateDayFromCbo"));// 出荷日の日(From)
    this.setShippmentDateYearToCbo((String) lUrlParam.getParam("shippmentDateYearToCbo"));// 出荷日の年(To)
    this.setShippmentDateMonthToCbo((String) lUrlParam.getParam("shippmentDateMonthToCbo"));// 出荷日の月(To)
    this.setShippmentDateDayToCbo((String) lUrlParam.getParam("shippmentDateDayToCbo"));// 出荷日の日(To)
    this.setDeliveryDateYearFromCbo((String) lUrlParam.getParam("deliveryDateYearFromCbo"));// 配送希望日の年(From)
    this.setDeliveryDateMonthFromCbo((String) lUrlParam.getParam("deliveryDateMonthFromCbo"));// 配送希望日の月(From)
    this.setDeliveryDateDayFromCbo((String) lUrlParam.getParam("deliveryDateDayFromCbo"));// 配送希望日の日(From)
    this.setDeliveryDateYearToCbo((String) lUrlParam.getParam("deliveryDateYearToCbo"));// 配送希望日の年(To)
    this.setDeliveryDateMonthToCbo((String) lUrlParam.getParam("deliveryDateMonthToCbo"));// 配送希望日の月(To)
    this.setDeliveryDateDayToCbo((String) lUrlParam.getParam("deliveryDateDayToCbo"));// 配送希望日の日(To)
    this.setDeliveryDateTypeFlg((String) lUrlParam.getParam("deliveryDateTypeFlg"));
    // 7.3.0 PI-NES0501 追加 ここから
    this.setCompanyFlgRdo((String) lUrlParam.getParam("companyFlgRdo"));// 支店状況
    this.setCompanyNameCdo((String) lUrlParam.getParam("companyNameCdo"));// 支店
    this.setChargeFlgRdo((String) lUrlParam.getParam("chargeFlgRdo"));// 担当者状況
    this.setChargeNameCdo((String) lUrlParam.getParam("chargeNameCdo"));// 担当者
    this.setTel((String) lUrlParam.getParam("tel"));// 電話番号
    this.setOrderRoute((String) lUrlParam.getParam("orderRoute"));// 受注経路
    // 7.3.0 PI-NES0501 追加 ここまで
    this.setReceiptFlgRdo((String) lUrlParam.getParam("receiptFlgRdo"));// 入金状況
    this.setReceiptDateYearFromCbo((String) lUrlParam.getParam("receiptDateYearFromCbo"));// 入金日の年(From)
    this.setReceiptDateMonthFromCbo((String) lUrlParam.getParam("receiptDateMonthFromCbo"));// 入金日の月(From)
    this.setReceiptDateDayFromCbo((String) lUrlParam.getParam("receiptDateDayFromCbo"));// 入金日の日(From)
    this.setReceiptDateYearToCbo((String) lUrlParam.getParam("receiptDateYearToCbo"));// 入金日の年(To)
    this.setReceiptDateMonthToCbo((String) lUrlParam.getParam("receiptDateMonthToCbo"));// 入金日の月(To)
    this.setReceiptDateDayToCbo((String) lUrlParam.getParam("receiptDateDayToCbo"));// 入金日の日(To)
    this.setPayMethodNameCbo((String) lUrlParam.getParam("payMethodNameCbo"));// 支払方法
    this.setOrderStatusRdo((String) lUrlParam.getParam("orderStatusRdo"));// 受注状態
    this.setFirstOrderSel((String) lUrlParam.getParam("firstOrderSel"));// 並べ替え1
    this.setFirstOrderTxt((String) lUrlParam.getParam("firstOrderTxt"));// 並び順1
    SIDateTime date = new SIDateTime();
    this.setReceiptDateYearCbo(date.getYearStr());
    this.setReceiptDateMonthCbo(date.getMonthStr());
    this.setReceiptDateDayCbo(date.getDayStr());
    
    // 7.2.0 ST0302 追加 ここから
    this.setOrderCodeFromTxt((String) lUrlParam.getParam("orderCodeFromTxt"));// 受注番号From
    this.setOrderCodeToTxt((String) lUrlParam.getParam("orderCodeToTxt")); // 受注番号To
    // 7.2.0 ST0302 追加 ここまで
    // 7.3.0 PI-NES0601 追加 ここから
    this.setCustCode((String) lUrlParam.getParam("custCode"));
    this.setCustName((String) lUrlParam.getParam("custName"));
    this.setCompanyName((String) lUrlParam.getParam("companyName"));
    this.setCorporationName((String) lUrlParam.getParam("corporationName"));
    this.setShippmentFlgRdo((String) lUrlParam.getParam("shippmentFlgRdo"));
    this.setBranchFlgCbo((String) lUrlParam.getParam("branchFlgCbo"));// 対応支店フラグ
    this.setBranchCode((String) lUrlParam.getParam("branchCode"));// 対応支店コード
    if (SIUtil.isNull(this.branchCode)) this.setBranchCode((String) lUrlParam.getParam("branchCode2"));// 対応支店コード履歴
    this.setChargeFlgCbo((String) lUrlParam.getParam("chargeFlgCbo"));// 担当者フラグ
    this.setChargeCode((String) lUrlParam.getParam("chargeCode"));// 担当者コード
    if (SIUtil.isNull(this.chargeCode)) this.setChargeCode((String) lUrlParam.getParam("chargeCode2"));// 担当者コード履歴
    // 7.3.0 PI-NES0601 追加 ここまで
    this.setIndividualCode((String) lUrlParam.getParam("individualCode"));// 在庫コード
    this.setReceivableFlg((String) lUrlParam.getParam("receivableFlg"));// 取引条件
    this.setMakerCodeTxt((String) lUrlParam.getParam("makerCodeTxt"));//ブランド
    this.setDeliveryAddress1((String) lUrlParam.getParam("deliveryAddress1"));//配送先住所1
    this.setDeliveryAddress2((String) lUrlParam.getParam("deliveryAddress2"));//配送先住所2
  }
  
  // 7.1.1 ST0236 修正 ここまで
  
  public Collection getCollection(Connection lConnection) throws SIDBAccessException {
    return getCollection(lConnection, new SILogin());
  }
  
  /**
   * <b>getCollection</b> 条件に合ったレコードを検索して、結果のコネクションを作成して、戻します。
   * 
   * @param lConnection データベースへの接続コネクション
   * @return レコードのセット
   * @throws なし
   */
  public Collection getCollection(Connection lConnection, SILogin lLogin) throws SIDBAccessException {
    Statement lStatement = null;
    ResultSet lResultSet = null;
    SIOrder lBasic = new SIOrder();
    StringBuffer lCountBuf = new StringBuffer();
    StringBuffer lOrderBuf = new StringBuffer();
    StringBuffer lSqlBuf = new StringBuffer();
    Collection lResultColl = new ArrayList();
    
    // 検索条件にエラーがあると検索しない。
    if (!searchFlg) { return lResultColl; }
    
    // 基本のSQL
    lOrderBuf.append("SELECT aa.*,bb.address1 AS ad1,bb.address2 AS ad2,bb.address3 AS ad3,bb.companyname AS companyName_d ");
    lOrderBuf.append(",pay.totalpaymentprice ");
    lOrderBuf.append(",cust.receivableflg,cust.memberlevelcode,h.hacchuflg ");
    lOrderBuf.append("FROM custtbl cust,OrderSumVW AS aa ");
    lOrderBuf.append("LEFT OUTER JOIN (SELECT hh.ordercode,CASE sum(CASE WHEN hh.htime IS NULL THEN 0 ELSE 1 END) WHEN 0 THEN 0 WHEN count(*) THEN 1 ELSE 2 END AS hacchuflg ");
    lOrderBuf.append("FROM (SELECT hacchucode,ordercode,max(hacchuoutputdatetime) AS htime FROM hacchutbl WHERE ordercode IS NOT NULL GROUP BY ordercode,hacchucode) hh ");
    lOrderBuf.append("GROUP BY hh.ordercode) h ");
    lOrderBuf.append("ON aa.ordercode=h.ordercode ");
    
    lCountBuf.append("SELECT COUNT(aa.ordercode) ");
    lCountBuf.append("FROM OrderSumVW AS aa ");
    if (SIUtil.isNotNull(this.getReceivableFlg())) lCountBuf.append(",custtbl cust ");
    lSqlBuf.append(",paymentheadertbl pay ");
    lSqlBuf.append(",orderdeliverytbl bb ");
    if (shippmentFlg) {
      lSqlBuf.append(",(SELECT DISTINCT ordercode FROM orderdetaillatestvw WHERE 1=1 ");
      if (SIUtil.isNotNull(this.getShippmentDateFrom())) lSqlBuf.append("AND shippmentdate >= ").append(SIDBUtil.SQL2Str(this.getShippmentDateFrom()," "));
      if (SIUtil.isNotNull(this.getShippmentDateTo())) lSqlBuf.append("AND shippmentdate <= ").append(SIDBUtil.SQL2Str(this.getShippmentDateTo() + " 23:59:59"," "));
      if (SIUtil.isNotNull(this.getShippmentDateFrom())||SIUtil.isNotNull(this.getShippmentDateTo())) lSqlBuf.append("AND shippmentdate IS NOT NULL ");
      if (SIUtil.isNull(this.getDeliveryDateTypeFlg())) {
        if (SIUtil.isNotNull(this.getDeliveryDateFrom())) lSqlBuf.append("AND deliverydate >= ").append(SIDBUtil.SQL2Str(this.getDeliveryDateFrom()," "));
        if (SIUtil.isNotNull(this.getDeliveryDateTo())) lSqlBuf.append("AND deliverydate <= ").append(SIDBUtil.SQL2Str(this.getDeliveryDateTo() + " 23:59:59"," "));
        if (SIUtil.isNotNull(this.getDeliveryDateFrom())||SIUtil.isNotNull(this.getDeliveryDateTo())) lSqlBuf.append("AND deliverydate != '2000-01-01' AND deliverydate IS NOT NULL ");
      } else if (this.getDeliveryDateTypeFlg().equals("1")) {//最短出荷
        lSqlBuf.append("AND deliverydate = '2000-01-01' ");
      } else if (this.getDeliveryDateTypeFlg().equals("2")) {//指定なし
        lSqlBuf.append("AND deliverydate IS NULL ");
      }
      lSqlBuf.append(") AS ship ");
      lSqlBuf.append("WHERE aa.ordercode=bb.ordercode AND aa.orderbranchcode=bb.orderbranchcode AND ship.ordercode=aa.ordercode AND bb.deliverycode=1 AND aa.ordercode=pay.ordercode ");
    } else {
      lSqlBuf.append("WHERE aa.ordercode=bb.ordercode AND aa.orderbranchcode=bb.orderbranchcode AND aa.ordercode=pay.ordercode AND bb.deliverycode=1 ");
    }
    
    // 検索の条件
    lSqlBuf.append(this.conditionSQL);
    lCountBuf.append(lSqlBuf);
    lOrderBuf.append(lSqlBuf);
    lOrderBuf.append(" AND aa.custcode=cust.custcode ");
    if (SIUtil.isNotNull(this.getReceivableFlg())) lCountBuf.append(" AND aa.custcode=cust.custcode ");
    
    // 出力順
    lOrderBuf.append(this.getOrderBySQL());
    log.debug("lOrderBuf=" + lOrderBuf.toString());
    // 実行
    try {
      String rowCnt = SIDBUtil.getFirstData(lConnection, lCountBuf.toString());
      if (rowCnt.equals("") || rowCnt == null) {
        rowCnt = "0";
      }
      int lRecordCount = Integer.parseInt(rowCnt);// レコード数の取得
      
      int lPageSize = this.getPageSize();// ページサイズ
      int lPageNumber = this.getPageNumer();// ページ番号
      
      int lMaxPage = lRecordCount / lPageSize;
      if (lRecordCount % lPageSize > 0) {
        lMaxPage++;
      }
      if (lPageNumber > lMaxPage) lPageNumber = lMaxPage;
      
      // 開始レコードの番号の設定
      int lFromInx = (lPageNumber - 1) * lPageSize;
      // 終止のレコード番号の設定
      int lToInx = lFromInx + lPageSize - 1;
      if (lFromInx < 0) lFromInx = 0;
      if (lToInx < 0) lToInx = 0;
      
      log.debug("getCollection:lFromInx=" + lFromInx + ",lToInx=" + lToInx + ",lRecordCount=" + lRecordCount);
      
      lStatement = lConnection.createStatement();
      lOrderBuf.append(" LIMIT ").append(lPageSize);
      if(lFromInx>0) lOrderBuf.append(" OFFSET ").append(lFromInx);
      log.debug("getCollection:lOrderBuf=" + lOrderBuf.toString());
      lResultSet = lStatement.executeQuery(lOrderBuf.toString());
      
      for (int jj = 0; jj < lFromInx; jj++)
        lResultColl.add(null);
      
      int lIndex = 0;
      
      // レコードのセットの作成
      while (lResultSet.next() && lIndex < lPageSize) {
        lBasic = new SIOrder();
        lBasic.setEncode(SIConfig.SIENCODE_NONE);
        lBasic.setOrderCode(lResultSet.getString("orderCode"));// 受注番号
        lBasic.setCustCode(lResultSet.getString("custCode"));// 顧客コード
        lBasic.setCustCompanyFlg(lResultSet.getString("custCompanyFlg"));// 法人フラグ
        lBasic.setCustName(lResultSet.getString("custName"));// 顧客名
        lBasic.setCustPronName(lResultSet.getString("custPronName"));// 顧客名カナ
        lBasic.setEmail(lResultSet.getString("email"));// EMAIL
        lBasic.setOrderAddressee(lResultSet.getString("orderAddressee"));// 請求書宛名
        lBasic.setPostCode1(lResultSet.getString("postCode1"));// 郵便番号1
        lBasic.setPostCode2(lResultSet.getString("postCode2"));// 郵便番号2
        lBasic.setAddress1(lResultSet.getString("address1"));// 請求書住所1
        lBasic.setAddress2(lResultSet.getString("address2"));// 請求書住所2
        lBasic.setAddress3(lResultSet.getString("address3"));// 請求書住所3
        lBasic.setCompanyName(lResultSet.getString("companyName"));// 会社名
        lBasic.setTel(lResultSet.getString("tel"));// 電話番号
        lBasic.setFax(lResultSet.getString("fax"));// FAX番号
        lBasic.setPayMethodName(lResultSet.getString("payMethodName"));// 支払方法名称
        lBasic.setInitDateTime(SIDBUtil.getDateTime(lResultSet.getTimestamp("initDateTime")));// 受注日時
        lBasic.setUpdateDateTime(SIDBUtil.getDate(lResultSet.getTimestamp("updateDateTime")));// 修正日時
        lBasic.setPaymentFlg(lResultSet.getString("paymentFlg"));// 先後払いフラグ
        lBasic.setFee(lResultSet.getString("fee"));// 手数料(必須)
        lBasic.setDiscountDeliveryFee(lResultSet.getString("discountFee"));// 手数料調整額
        lBasic.setDiscountFee(lResultSet.getString("discountDeliveryFee"));// 送料調整額
        lBasic.setSendMailFlg(lResultSet.getString("sendMailFlg"));// メール送信フラグ
        lBasic.setTotalOfPrice(lResultSet.getString("totalOfPrice"));// 商品代合計
        lBasic.setSumOfDiscount(lResultSet.getString("SumOfDiscount"));// 値引き金額
        lBasic.setSumByPoint(lResultSet.getString("SumByPoint"));// ポイント使用額
        lBasic.setPointEnableFlg(lResultSet.getString("PointEnableFlg"));// ポイント使用可能フラグ
        lBasic.setTotalOfFee(lResultSet.getString("totalOfFee"));// 手数料合計
        lBasic.setTotalOfDeliveryFee(lResultSet.getString("totalOfDeliveryFee"));// 送料合計
        lBasic.setStatus(lResultSet.getString("status"));// 受注状態
        lBasic.setReceiptMailFlg(lResultSet.getString("receiptMailFlg"));// 入金メールフラグ
        lBasic.setShippmentMail(lResultSet.getString("shippmentMailDate"));// 出荷メール送信日時
        lBasic.setOrderRoute(lResultSet.getString("OrderRoute"));// 受注経路 7.3.0 PI-NES0501 追加
        lBasic.setSalonName(lResultSet.getString("companyName_d"));// サロン名
        lBasic.setHacchuflg(lResultSet.getString("hacchuflg"));
        
        // 7.2.0 ST1030 追加 ここから
        lBasic.setDeliveryedFlg(lResultSet.getString("DELIVERYEDFLG").equals("1"));
        lBasic.setDeliveryStatus(SIUtil.add(lResultSet.getString("DELIVERYEDFLG"), lResultSet.getString("NODELIVERYFLG")));
        lBasic.setTotalPaymentPrice(lResultSet.getString("totalpaymentprice"));
        // 7.2.0 ST1030 追加 ここまで
        
        // 7.4.0 ST2057 追加 ここから
        lBasic.setCvsTypeCode(lResultSet.getString("CVSTYPECODE"));
        /*
         * lBasic.setCvsReceiptNo(lResultSet.getString("CVS_RECEIPT_NO")); lBasic.setCvsHaraikomiURL(lResultSet.getString("CVS_HARAIKOMI_URL"));
         */
        // 7.4.0 ST2057 追加 ここまで
        // 7.3.0 PI-NES0501 追加 ここから
        lBasic.setCompanyCode(lResultSet.getString("branchcode"));
        lBasic.setChargeCode(lResultSet.getString("chargecode"));
        lBasic.setBranchName(getSumShippmentTxt(lConnection, lBasic.getOrderCode()));
        
        if (SIUtil.isNotNull(lResultSet.getString("ad3"))) {
          lBasic.setDeliveryAddress(lResultSet.getString("ad1") + lResultSet.getString("ad2") + lResultSet.getString("ad3"));// 配送先住所
        } else {
          lBasic.setDeliveryAddress(lResultSet.getString("ad1") + lResultSet.getString("ad2"));// 配送先住所
        }
        // 7.3.0 PI-NES0501 追加 ここまで
        lBasic.setReceivableFlg(lResultSet.getString("receivableFlg"));
        lBasic.setMemberLevelCode(lResultSet.getString("memberLevelCode"));
        // EDBTG003-00 elecs-matsushima add start
        lBasic.setSumOfSetDiscount(lResultSet.getString("setdiscount"));
        // EDBTG003-00 elecs-matsushima add end
        lResultColl.add(lBasic);
        lIndex++;
      }
      for (int jj = lFromInx + lPageSize; jj < lRecordCount; jj++)
        lResultColl.add(null);
      
    } catch (Exception ex) {
      throw new SIDBAccessException(ex);
    } finally {
      SIDBUtil.close(lResultSet, lStatement);
    }
    return lResultColl;
  }
  
  // 7.3.0 PI-NES0501 追加 ここから
  /**
   * <b>getCompanyCollection<b> 条件に合ったレコードを検索して、結果のコレクションを作成して戻します。
   * 
   * @param lConnection データベースへの接続コネクション
   * @return レコードのセット
   * @throws SIDBAccessException
   */
  public Collection getCompanyCollection(Connection lConnection) throws SIDBAccessException {
    StringBuffer lSqlBuf = new StringBuffer();
    
    // 基本のSQL
    lSqlBuf.append("SELECT BranchName,BranchCode FROM branchtbl a ");
    lSqlBuf.append("WHERE EXISTS (SELECT * FROM CHARGETBL b ");
    lSqlBuf.append("WHERE a.branchcode = b.belongingbranchcode) ");
    
    // 昇順に並べ替え
    lSqlBuf.append("ORDER BY BranchCode ASC");
    log.debug("getCompanyCollection:lSqlBuf=" + lSqlBuf.toString());
    
    Collection lResultColl = new ArrayList();
    
    try {
      lResultColl = SIDBUtil.getCollection(lConnection, lSqlBuf.toString(), false, true);
    } catch (SIDBAccessException e) {
      e.printStackTrace();
    }
    return lResultColl;
  }
  
  /**
   * <b>getChargeCollection</b> 条件に合ったレコードを検索して、結果のコネクションを作成して、戻します。
   * 
   * @param lConnection データベースへの接続コネクション
   * @param branchCode 支店コード
   * @return レコードのセット
   * @throws SIDBAccessException
   */
  public Collection getChargeCollection(Connection lConnection, String branchCode) throws SIDBAccessException {
    StringBuffer lSqlBuf = new StringBuffer();
    
    // 基本のSQL
    lSqlBuf.append("SELECT ChargeName, ChargeCode ");
    lSqlBuf.append("FROM ChargeTbl ");
    if (SIUtil.isNotNull(branchCode)) {
      lSqlBuf.append("WHERE BelongingBranchCode = ").append(SIDBUtil.SQL2Str(branchCode));
    }
    
    // 昇順に並べ替え
    lSqlBuf.append(" ORDER BY ChargeCode ASC");
    
    log.debug("getCollection:lSqlBuf=" + lSqlBuf.toString());
    
    Collection lResultColl = new ArrayList();
    
    try {
      lResultColl = SIDBUtil.getCollection(lConnection, lSqlBuf.toString());
    } catch (SIDBAccessException e) {
      e.printStackTrace();
    }
    return lResultColl;
  }
  
  // 7.3.0 PI-NES0501 追加 ここまで
  
  /**
   * <b>initDelete</b> 入力したデータを基づいて、このbeansを設定します。
   * 
   * @param request クライアントからリクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  public void initDelete(HttpServletRequest lRequest, SIURLParameter lUrlParam) {// 7.1.1 ST0236 修正
    super.init(lRequest, lUrlParam);// 7.1.1 ST0236 修正
    this.setOrderCodeChk(lRequest.getParameterValues("orderCodeChk"));
    this.setOrderCodeHid(lRequest.getParameterValues("orderCodeHid"));
  }
  
  /**
   * <b>initReceipt<b> 入力したデータを基づいて、このbeansを設定します。
   * 
   * @param request クライアントからリクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  // 7.1.1 ST0236 修正 ここから
  public void initReceipt(HttpServletRequest lRequest, SIURLParameter lUrlParam) {
    super.init(lRequest, lUrlParam);
    this.setOrderCodeChk(lRequest.getParameterValues("orderCodeChk"));
    this.setOrderCodeHid(lRequest.getParameterValues("orderCodeHid"));
    this.setPaymentFlgHid(lRequest.getParameterValues("paymentFlgHid"));
    this.setInitDateTimeHid(lRequest.getParameterValues("initDateTimeHid"));
    this.setReceiptDateHid(lRequest.getParameterValues("receiptDateHid"));
    this.setReceiptDateYearCbo((String) lUrlParam.getParam("receiptDateYearCbo"));// 入荷日設定の年
    this.setReceiptDateMonthCbo((String) lUrlParam.getParam("receiptDateMonthCbo"));// 入荷日設定の月
    this.setReceiptDateDayCbo((String) lUrlParam.getParam("receiptDateDayCbo"));// 入荷日設定の日
    this.setMailType((String) lUrlParam.getParam("mailType"));
  }
  
  // 7.1.1 ST0236 修正 ここまで
  
  /**
   * <b>validate</b> 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * 
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public void validate(HttpServletRequest lRequest) {
    SICustomErrors errors = new SICustomErrors();
    SITableConditionManager lConditionMan = new SITableConditionManager();
    lCommonBuf = new StringBuffer();
    shippmentFlg = false;
    
    // メールアドレス
    if (SIUtil.isNotNull(emailTxt) && SICheckValid.checkValid(errors, "メールアドレス", emailTxt, SICheckDataConf.SICHECK_DATA_ASCII_TYPE)) {
      lConditionMan.add(new SITableCondition("aa", "email", getEmailTxt(), SIConfig.SICONDITION_TYPE_LIKE, SIConfig.SICONDITION_TYPE_AND));
    }
    /*
    // 在庫コード
    if (SIUtil.isNotNull(individualCode) && SICheckValid.checkValid(errors, "在庫コード", individualCode, SICheckDataConf.SICHECK_DATA_ALPHA_DIGIT_TYPE)) {
      // EDBTG003-00 nagayoshi mod start
//      lCommonBuf.append(" AND aa.ordercode IN(SELECT od.ordercode FROM orderdetaillatestvw AS od WHERE od.individualcode like'").append(this.getIndividualCode()).append("%') ");
      lCommonBuf.append(" AND aa.ordercode IN(SELECT od.ordercode FROM orderdetaillatestvw AS od WHERE ((od.individualcode like'").append(this.getIndividualCode()).append("%') ");
      lCommonBuf.append(" OR (od.setindividualcode like'").append(this.getIndividualCode()).append("%'))) ");
      // EDBTG003-00 nagayoshi mod end
    }
    */
    // 在庫コード＆ブランド名
    if (SIUtil.isNotNull(individualCode)&&SICheckValid.checkValid(errors, "在庫コード", individualCode, SICheckDataConf.SICHECK_DATA_ALPHA_DIGIT_TYPE)&&SIUtil.isNotNull(makerCodeTxt)) {
      lCommonBuf.append(" AND aa.ordercode IN (SELECT d.ordercode FROM orderdetaillatestvw d,cmdtymtbl c ");
      lCommonBuf.append(" WHERE d.cmdtycode=c.cmdtycode AND c.makercode=").append(SIDBUtil.SQL2Str(this.getMakerCodeTxt()));
      lCommonBuf.append(" AND ((d.individualcode LIKE '").append(this.getIndividualCode()).append("%') OR (d.setindividualcode LIKE '").append(this.getIndividualCode()).append("%'))) ");
    } else if (SIUtil.isNotNull(individualCode)&&SICheckValid.checkValid(errors, "在庫コード", individualCode, SICheckDataConf.SICHECK_DATA_ALPHA_DIGIT_TYPE)) {
      lCommonBuf.append(" AND aa.ordercode IN (SELECT d.ordercode FROM orderdetaillatestvw d ");
      lCommonBuf.append(" WHERE ((d.individualcode LIKE '").append(this.getIndividualCode()).append("%') OR (d.setindividualcode LIKE '").append(this.getIndividualCode()).append("%'))) ");
    } else if (SIUtil.isNotNull(makerCodeTxt)) {
      lCommonBuf.append(" AND aa.ordercode IN (SELECT d.ordercode FROM orderdetaillatestvw d,cmdtymtbl c ");
      lCommonBuf.append(" WHERE d.cmdtycode=c.cmdtycode AND c.makercode=").append(SIDBUtil.SQL2Str(this.getMakerCodeTxt(),") "));
    }
    
    // PI-NES0501 追加 ここから
    // 電話番号
    if (SIUtil.isNotNull(tel) && SICheckValid.checkValid(errors, "電話番号", tel, SICheckDataConf.SICHECK_DATA_DIGIT_TYPE)) {
      lCommonBuf.append(" AND (aa.tel like'%").append(this.getTel()).append("%' OR aa.storetel like'%").append(this.getTel()).append("%' OR bb.tel like'%").append(this.getTel()).append("%') ");
    }
    // PI-NES0501 追加 ここまで
    
    // 7.2.0 ST0302 追加 ここから
    // 2006/07/24 kosuge 修正 start
    
    // 受注番号From
    if (SIUtil.isNotNull(orderCodeFromTxt) && SICheckValid.checkValid(errors, "受注番号", orderCodeFromTxt, SICheckDataConf.SICHECK_DATA_DIGIT_TYPE)) {
      lConditionMan.add(new SITableCondition("aa", "ORDERCODE", orderCodeFromTxt, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    /*
     * //受注番号To if (SIUtil.isNotNull(orderCodeToTxt) && SICheckValid.checkValid(errors, "受注番号To", orderCodeToTxt, SICheckDataConf.SICHECK_DATA_DIGIT_TYPE)) { lConditionMan.add(new
     * SITableCondition("aa", "ORDERCODE", orderCodeToTxt, SIConfig.SICONDITION_TYPE_LESS_EQUAL, SIConfig.SICONDITION_TYPE_AND)); } //受注番号大小 if (errors.isEmpty() &&
     * SIUtil.isNotNull(orderCodeFromTxt) && SIUtil.isNotNull(orderCodeToTxt) && !orderCodeFromTxt.equals(orderCodeToTxt)) { SICheckValid.checkValid(errors, "受注番号From", "受注番号To",
     * orderCodeFromTxt, orderCodeToTxt, SICheckDataConf.SICHECK_DATA_VALUE_LESS_TYPE); }
     */
    // 2006/07/24 kosuge 修正 end
    // 7.2.0 ST0302 追加 ここまで
    boolean initFrom = false;
    boolean initTo = false;
    
    // 受注日
    if (SIUtil.isNotNull(getInitDateFrom()) && SICheckValid.checkValid(errors, "受注日From", getInitDateFrom(), SICheckDataConf.SICHECK_DATA_DATE_TYPE)) initFrom=true;
    if (SIUtil.isNotNull(getInitDateTo()) && SICheckValid.checkValid(errors, "受注日To", getInitDateTo(), SICheckDataConf.SICHECK_DATA_DATE_TYPE)) initTo=true;
    if (initFrom&&initTo) {
      lConditionMan.add(new SITableCondition("AND aa.initDateTime BETWEEN "+SIDBUtil.SQL2Str(getInitDateFrom()+" 00:00:00")+" AND "+SIDBUtil.SQL2Str(getInitDateTo()+" 23:59:59")));
    } else if (initFrom) {
      lConditionMan.add(new SITableCondition("aa", "initDateTime", getInitDateFrom() + " 00:00:00", SIConfig.SICONDITION_TYPE_GREATER_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    } else if (initTo) {
      lConditionMan.add(new SITableCondition("aa", "initDateTime", getInitDateTo() + " 23:59:59", SIConfig.SICONDITION_TYPE_LESS_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 受注日大小
    try {
      if (!SICheckUtil.dateEqual(this.getInitDateFrom(), this.getInitDateTo())) {
        SICheckValid.checkValid(errors, "受注日From", "受注日To", this.getInitDateFrom(), this.getInitDateTo(), SICheckDataConf.SICHECK_DATA_DATE_LESS_TYPE);// 7.1.1 ST0162 修正
      }
    } catch (Exception e) {}
    
    // 出荷日
    SICheckValid.checkValid(errors, "出荷日From", getShippmentDateFrom(), SICheckDataConf.SICHECK_DATA_DATE_TYPE);
    SICheckValid.checkValid(errors, "出荷日To", getShippmentDateTo(), SICheckDataConf.SICHECK_DATA_DATE_TYPE);
    
    // 出荷日大小
    try {
      if (!SICheckUtil.dateEqual(this.getShippmentDateFrom(), this.getShippmentDateTo())) {
        SICheckValid.checkValid(errors, "出荷日From", "出荷日To", this.getShippmentDateFrom(), this.getShippmentDateTo(), SICheckDataConf.SICHECK_DATA_DATE_LESS_TYPE);
      }
    } catch (Exception e) {}
    
    // 対応支店
    if (SIUtil.isNotNull(branchFlgCbo)) {
      if (branchFlgCbo.equals("1")) {
        lConditionMan.add(new SITableCondition("aa", "BranchCode", "", SIConfig.SICONDITION_TYPE_IS_NULL, SIConfig.SICONDITION_TYPE_AND));
      } else if (branchFlgCbo.equals("2")) {
        lConditionMan.add(new SITableCondition("aa", "BranchCode", this.branchCode, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
      }
    }
    // 担当者
    if (SIUtil.isNotNull(chargeFlgCbo)) {
      if (chargeFlgCbo.equals("1")) {
        lConditionMan.add(new SITableCondition("aa", "ChargeCode", "", SIConfig.SICONDITION_TYPE_IS_NULL, SIConfig.SICONDITION_TYPE_AND));
      } else if (chargeFlgCbo.equals("2")) {
        lConditionMan.add(new SITableCondition("aa", "ChargeCode", this.chargeCode, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    // 受注経路
    if (SIUtil.isNotNull(this.getOrderRoute())) {
      lConditionMan.add(new SITableCondition("aa", "orderRoute", this.getOrderRoute(), SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    boolean receiptFrom = false;
    boolean receiptTo = false;
    
    // 入金日
    if (SIUtil.isNotNull(getReceiptDateFrom()) && SICheckValid.checkValid(errors, "入金日From", getReceiptDateFrom(), SICheckDataConf.SICHECK_DATA_DATE_TYPE)) receiptFrom=true;
    if (SIUtil.isNotNull(getReceiptDateTo()) && SICheckValid.checkValid(errors, "入金日To", getReceiptDateTo(), SICheckDataConf.SICHECK_DATA_DATE_TYPE)) receiptTo=true;
    if (receiptFrom&&receiptTo) {
      lConditionMan.add(new SITableCondition("AND aa.receiptDate BETWEEN "+SIDBUtil.SQL2Str(getReceiptDateFrom())+" AND "+SIDBUtil.SQL2Str(getReceiptDateTo())));
    } else if (receiptFrom) {
      lConditionMan.add(new SITableCondition("aa", "receiptDate", getReceiptDateFrom() , SIConfig.SICONDITION_TYPE_GREATER_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    } else if (receiptTo) {
      lConditionMan.add(new SITableCondition("aa", "receiptDate", getReceiptDateTo(), SIConfig.SICONDITION_TYPE_LESS_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 入金日大小
    try {
      if (!SICheckUtil.dateEqual(this.getReceiptDateFrom(), this.getReceiptDateTo())) {
        SICheckValid.checkValid(errors, "入金日From", "入金日To", this.getReceiptDateFrom(), this.getReceiptDateTo(), SICheckDataConf.SICHECK_DATA_DATE_LESS_TYPE);// 7.1.1 ST0162 修正
      }
    } catch (Exception e) {}
    
    // 支払方法
    if (SIUtil.isNotNull(payMethodNameCbo)) {
      lConditionMan.add(new SITableCondition("aa", "PayMethodName", payMethodNameCbo, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 受注状態
    if (SIUtil.isNotNull(orderStatusRdo)) {
      if (orderStatusRdo.equals("3")) {
        lCommonBuf.append(" AND (aa.Status='0' OR aa.Status='2') ");
      } else {
        lConditionMan.add(new SITableCondition("aa", "Status", orderStatusRdo, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    // 顧客コード(完全一致)
    if (SIUtil.isNotNull(this.getCustCode()) && SICheckValid.checkValid(errors, "顧客コード", this.getCustCode(), SICheckDataConf.SICHECK_DATA_DIGIT_TYPE)
        && SICheckValid.checkValid(errors, "顧客コード", this.getCustCode(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 10)) {
      lConditionMan.add(new SITableCondition("aa", "custCode", this.getCustCode(), SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 顧客名(部分一致)
    if (SIUtil.isNotNull(this.getCustName()) && SICheckValid.checkValid(errors, "顧客名", this.getCustName(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 40)) {
      String[] custNameList = this.getCustName().split(" |　");
      for (int i=0;i<custNameList.length;i++) {
        lConditionMan.add(new SITableCondition("aa", "custName", custNameList[i], SIConfig.SICONDITION_TYPE_LIKE, SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    // 顧客名カナ
    if (SIUtil.isNotNull(custPronNameTxt) && SICheckValid.checkValid(errors, "顧客名カナ", custPronNameTxt, SICheckDataConf.SICHECK_DATA_ZENKAKU_KANA_TYPE)
        && SICheckValid.checkValid(errors, "顧客名カナ", custPronNameTxt, SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 50)) {
      String[] custPronNameList = this.getCustPronNameTxt().split(" |　");
      for (int j=0;j<custPronNameList.length;j++) {
        lConditionMan.add(new SITableCondition("aa", "custPronName", custPronNameList[j], SIConfig.SICONDITION_TYPE_LIKE, SIConfig.SICONDITION_TYPE_AND));
      }
    }
    
    // 会社名
    if (SIUtil.isNotNull(this.getCorporationName()) && SICheckValid.checkValid(errors, "会社名", this.getCorporationName(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 100)) {
      lConditionMan.add(new SITableCondition("aa", "companyname", this.getCorporationName(), SIConfig.SICONDITION_TYPE_LIKE, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // サロン名
    if (SIUtil.isNotNull(this.getCompanyName()) && SICheckValid.checkValid(errors, "サロン名", this.getCompanyName(), SICheckDataConf.SICHECK_DATA_BYTE_LEN_WITHIN_TYPE, 100)) {
      lConditionMan.add(new SITableCondition("bb", "companyname", this.getCompanyName(), SIConfig.SICONDITION_TYPE_LIKE, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 取引条件
    if (SIUtil.isNotNull(this.getReceivableFlg())) {
      lConditionMan.add(new SITableCondition("cust", "Receivableflg", this.getReceivableFlg(), SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    
    // 出荷状況
    if (SIUtil.isNotNull(this.getShippmentFlgRdo())) {
      if (this.getShippmentFlgRdo().equals("0")) {// 未出荷
        lCommonBuf.append(" AND aa.DELIVERYEDFLG + aa.NODELIVERYFLG = 2 ");
      } else if (this.getShippmentFlgRdo().equals("1")) {// 一部出荷
        lCommonBuf.append(" AND aa.DELIVERYEDFLG + aa.NODELIVERYFLG = 3 ");
      } else if (this.getShippmentFlgRdo().equals("2")) {// 出荷済
        lCommonBuf.append(" AND aa.DELIVERYEDFLG + aa.NODELIVERYFLG = 1 ");
      }
    }
    // 入金状況
    if (SIUtil.isNotNull(this.getReceiptFlgRdo()) && !this.getReceiptFlgRdo().equals("9")) {
      if (this.getReceiptFlgRdo().equals("0")) {// 未入金
        lCommonBuf.append(" AND COALESCE(pay.TOTALPAYMENTPRICE,0)=0 AND aa.totalofprice+aa.totalofdeliveryfee+aa.totaloffee+COALESCE(aa.discountfee,0)+COALESCE(aa.discountdeliveryfee,0)-aa.setdiscount-aa.sumofdiscount-aa.sumbypoint!=0");
      } else if (this.getReceiptFlgRdo().equals("1")) {// 一部入金
        lCommonBuf.append(" AND COALESCE(pay.TOTALPAYMENTPRICE,0)!=0 AND COALESCE(pay.TOTALPAYMENTPRICE,0)<aa.totalofprice+aa.totalofdeliveryfee+aa.totaloffee+COALESCE(aa.discountfee,0)+COALESCE(aa.discountdeliveryfee,0)-aa.setdiscount-aa.sumofdiscount-aa.sumbypoint");
      } else if (this.getReceiptFlgRdo().equals("2")) {// 入金完了
        lCommonBuf.append(" AND COALESCE(pay.TOTALPAYMENTPRICE,0)>=aa.totalofprice+aa.totalofdeliveryfee+aa.totaloffee+COALESCE(aa.discountfee,0)+COALESCE(aa.discountdeliveryfee,0)-aa.setdiscount-aa.sumofdiscount-aa.sumbypoint");
      }
    }
    
    // 配送先住所
    if (SIUtil.isNotNull(this.deliveryAddress1)) {
      lConditionMan.add(new SITableCondition("bb", "Address1", this.deliveryAddress1, SIConfig.SICONDITION_TYPE_EQUAL, SIConfig.SICONDITION_TYPE_AND));
    }
    if (SIUtil.isNotNull(this.deliveryAddress2)) {
      lCommonBuf.append(" AND bb.address2 || coalesce(bb.address3,'') LIKE '%").append(SIDBUtil.SQL2Like(this.deliveryAddress2)).append("%' ");
    }
    
    if (!errors.isEmpty()) {
      lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
      this.searchFlg = false;
    } else {
      lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
      if (SIUtil.isNotNull(getShippmentDateFrom()) || SIUtil.isNotNull(getShippmentDateTo())
          || SIUtil.isNotNull(getDeliveryDateFrom()) || SIUtil.isNotNull(getDeliveryDateTo())
          || SIUtil.isNotNull(getDeliveryDateTypeFlg())) shippmentFlg = true;
    }
    
    // 条件文の設定
    this.conditionSQL = lConditionMan.getCondtionSQL() + lCommonBuf.toString();// 7.1.1 ST0243 修正
    // 並び順文の作成
    this.makeOrderBySQL();
  }
  
  /**
   * <b>validateDelete</b> 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * 
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateDelete(HttpServletRequest lRequest, Connection lConnection) {
    SICustomErrors errors = new SICustomErrors();
    
    // チェックボックスのチェック
    if (this.getOrderCodeChk() == null || this.getOrderCodeChk().length == 0) {
      errors.addError(new SICustomError("input.data.checkbox.require", "削除"));
    }
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    
    return errors.isEmpty();
  }
  
  /**
   * <b>validateCSV</b> 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * 
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateCSV(HttpServletRequest lRequest, Connection lConnection) {
    SICustomErrors errors = new SICustomErrors();
    
    // チェックボックスのチェック
    if (this.getOrderCodeChk() == null || this.getOrderCodeChk().length == 0) {
      errors.addError(new SICustomError("input.data.checkbox.require", "CSV出力"));
    }
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    
    return errors.isEmpty();
  }
  
  /**
   * <b>validateReceipt</b> 入力したデータをチェックします。
   * 
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateReceipt(HttpServletRequest lRequest, Connection lConnection) {
    SICustomErrors errors = new SICustomErrors();
    
    // 入金日の整合性チェック
    if (SIUtil.isNotNull(this.getReceiptDate())) {
      SICheckValid.checkValid(errors, "入金日設定", this.getReceiptDate(), SICheckDataConf.SICHECK_DATA_DATE_TYPE);
    }
    
    // チェックボックスのチェック
    if (this.getOrderCodeChk() == null || this.getOrderCodeChk().length == 0) {
      errors.addError(new SICustomError("input.data.checkbox.require", "入金日設定"));
    } else {
      String lOrderCode = "";
      UIRegOrder lRegOrder = new UIRegOrder();
      boolean lResult = false;
      int ii = 0;
      
      while (!lResult && ii < getOrderCodeChk().length) {
        lOrderCode = getOrderCodeHid()[Integer.parseInt(getOrderCodeChk()[ii])];
        lRegOrder = new UIRegOrder(lOrderCode);
        lRegOrder.reset(lConnection);
        if (lRegOrder.getStatus().equals("1")) lResult = true;
        ii++;
      }
      if (!lResult) errors.addError(new SICustomError("input.data.checkbox.require", "入金日設定"));
    }
    
    // 受注日＜＝入金日
    // 7.3.0 PI-NES0501削除
    // boolean datecheck =true;
    // try{
    // if(SIUtil.isNotNull(getReceiptDate())&& SICheckUtil.isDate(getReceiptDate())&& this.getOrderCodeChk()!=null){
    // for(int i=0;i<this.getOrderCodeChk().length;i++){
    // int j = Integer.parseInt(this.getOrderCodeChk()[i]);
    // String time = this.getInitDateTimeHid()[j];
    // if(SICheckUtil.dateLess(getReceiptDate(),time)){
    // datecheck = false;
    // }
    // }
    // }
    // }catch(Exception e){
    // datecheck = false;
    // }
    // if(!datecheck)errors.addError(new SICustomError("input.data.order.initdatetime","入金日"));
    
    // 支払区分
    boolean paymentcheck = true;
    for (int i = 0; i < this.getOrderCodeChk().length; i++) {
      int j = Integer.parseInt(this.getOrderCodeChk()[i]);
      String payment = this.getPaymentFlgHid()[j];
      String time = this.getReceiptDateHid()[j];
      // 7.4.0 ST2057 修正 ここから（ST0300の再修正）
      // 7.2.0 ST0300 修正 ここから
      if (SIUtil.isNotNull(time) && (payment.equals(SIFlagConf.SIFLAG_PAYMENTFLG_CARD))) {
        // (payment.equals(SIFlagConf.SIFLAG_PAYMENTFLG_CARD) || payment.equals(SIFlagConf.SIFLAG_PAYMENTFLG_CVS))) {
        // 7.2.0 ST0300 修正 ここまで
        // 7.4.0 ST2057 修正 ここから（ST0300の再修正）
        paymentcheck = false;
      }
    }
    if (!paymentcheck) errors.addError(new SICustomError("input.data.order.payment"));
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    
    return errors.isEmpty();
  }
  
  /**
   * <b>validateCSV</b> 入力したデータをチェックして、同時にSQLの条件文を作成します。
   * 
   * @param lRequest クライアントからのリクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateMail(HttpServletRequest lRequest, Connection lConnection) {
    SICustomErrors errors = new SICustomErrors();
    
    String msg = "";
    if (this.mailType.equals(SIConfig.SIMAIL_TEMPLATE_RECEIPT_COMFIRM)) {
      msg = "入金確認メールを送信";
    } else if (this.mailType.equals(SIConfig.SIMAIL_TEMPLATE_RECEIPT_DEMAND)) {
      msg = "入金督促メールを送信";
    }
    // チェックボックスのチェック
    if (this.getOrderCodeChk() == null || this.getOrderCodeChk().length == 0) {
      errors.addError(new SICustomError("input.data.checkbox.require", msg));
    } else {
      String lOrderCode = "";
      UIRegOrder lRegOrder = new UIRegOrder();
      boolean lResult = false;
      int ii = 0;
      
      while (!lResult && ii < getOrderCodeChk().length) {
        lOrderCode = getOrderCodeHid()[Integer.parseInt(getOrderCodeChk()[ii])];
        lRegOrder = new UIRegOrder(lOrderCode);
        lRegOrder.reset(lConnection);
        if (lRegOrder.getStatus().equals("1")) lResult = true;
        ii++;
      }
      if (this.mailType.equals(SIConfig.SIMAIL_TEMPLATE_RECEIPT_DEMAND)) {
        for (int jj = 0; jj < getOrderCodeChk().length; jj++) {
          lOrderCode = getOrderCodeHid()[Integer.parseInt(getOrderCodeChk()[jj])];
          lRegOrder = new UIRegOrder(lOrderCode);
          lRegOrder.reset(lConnection);
          // 未入金チェック
          if (SIUtil.isNotNull(lRegOrder.getReceiptDate())) {
            errors.addError(new SICustomError("manager.message.receipt.demand"));
            break;
          }
        }
      }
      if (!lResult) errors.addError(new SICustomError("input.data.checkbox.require", msg));
    }
    if (this.mailType.equals(SIConfig.SIMAIL_TEMPLATE_RECEIPT_COMFIRM)) {
      // 入金日の整合性チェック
      if (SIUtil.isNotNull(getReceiptDate())) {
        SICheckValid.checkValid(errors, "入金日設定", getReceiptDate(), SICheckDataConf.SICHECK_DATA_DATE_TYPE);
      }
      
      // 受注日＜＝入金日
      try {
        if (SIUtil.isNotNull(getReceiptDate()) && SICheckUtil.isDate(getReceiptDate()) && this.getOrderCodeChk() != null) {
          for (int i = 0; i < this.getOrderCodeChk().length; i++) {
            int j = Integer.parseInt(this.getOrderCodeChk()[i]);
            String time = this.getInitDateTimeHid()[j];
            if (SICheckUtil.dateLess(getReceiptDate(), time)) {
              errors.addError(new SICustomError("input.data.order.initdatetime", "入金日"));
              break;
            }
          }
        }
      } catch (Exception e) {
        errors.addError(new SICustomError("input.data.order.initdatetime", "入金日"));
      }
    }
    
    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY, errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);
    
    return errors.isEmpty();
  }
  
  /**
   * <b>makeOrderBySQL</b> 並び順文の作成
   * 
   * @param なし
   * @return なし
   * @throws なし
   */
  public void makeOrderBySQL() {
    int def = 0;
    
    // 第一の並び順
    try {
      def = Integer.parseInt(getFirstOrderTxt());
    } catch (Exception e) {
      def = 0;
    }
    this.setFirstOrderTxt(String.valueOf(def));
    this.setOrderBySQL(" ORDER BY aa." + this.firstOrderSel + " " + SIConfig.SIORDER_NAME[def]);
  }
  
  /**
   * <b>getSumShippmentTxt</b> 受注１つ分の支店データをつなげて返す
   * 
   * @param lConnection コネクション
   * @param lOrderCode 受注コード
   * @return 連結された文字列
   * @throws SIDBAccessException
   */
  public static String getSumShippmentTxt(Connection lConnection, String lOrderCode) throws SIDBAccessException {
    Statement lStatement = null;
    ResultSet lResultSet = null;
    StringBuffer lSqlBuf = new StringBuffer();
    StringBuffer lStringBuf = new StringBuffer();
    
    try {
      lSqlBuf.append("SELECT b.BranchName,sum(a.OrderAlLocationNumber) as Num ");
      lSqlBuf.append("FROM OrderAlLocationInfotbl a ");
      lSqlBuf.append("LEFT JOIN Branchtbl b ");
      lSqlBuf.append("ON a.BranchCode=b.BranchCode ");
      lSqlBuf.append("WHERE a.OrderCode =").append(SIDBUtil.SQL2Str(lOrderCode," "));
      lSqlBuf.append("GROUP BY a.BranchCode,b.BranchName ");
      lSqlBuf.append("ORDER BY a.BranchCode ASC");
      
      log.debug("getSumShippmentTxt:lSqlBuf=" + lSqlBuf.toString());
      lStatement = lConnection.createStatement();
      lResultSet = lStatement.executeQuery(lSqlBuf.toString());
      
      while (lResultSet.next()) {
        lStringBuf.append(lResultSet.getString("BranchName")).append(lResultSet.getString("Num"));
        if (!lResultSet.isLast()) lStringBuf.append("<br>");
      }
    } catch (Exception ex) {
      throw new SIDBAccessException(ex);
    } finally {
      SIDBUtil.close(lResultSet, lStatement);
    }
    return lStringBuf.toString();
  }
  
}
