package com.aimluck.eip.cashflow;

import java.util.ArrayList;
import java.util.List;

import com.aimluck.commons.field.ALNumberField;
import com.aimluck.commons.field.ALStringField;
import com.aimluck.eip.util.ALCommonUtils;
import com.aimluck.eip.util.ALEipUtils;
import com.aimluck.eip.cashflow.util.AccountPlanUtils;

public class AccountPlanResultData {
  
  /** カテゴリテンプレート */
  protected ALStringField ordertemplate;
  
  /** 入出金予定ID */
  private ALNumberField account_plan_id;
  
  /** 入出金区分 */
  private ALNumberField account_class;
  
  /** カテゴリID */
  private ALNumberField category_id;
  
  /** カテゴリ名 */
  private ALStringField category_name;

  /** サブカテゴリID */
  private ALNumberField subcategory_id;
  
  /** サブカテゴリ名 */
  private ALStringField subcategory_name;

  /** 科目ID */
  private ALNumberField item_id;
  
  /** 科目名 */
  private ALStringField item_name;

  /** 取引先ID */
  private ALNumberField client_id;
  
  /** 取引先名 */
  private ALStringField client_name;
  
  /** 支払入金方法 */
  private ALStringField client_pay_classid;
  
  /** 支払入金方法名 */
  private ALStringField client_pay_classname;
  
  /** 入出金区分 */
  private ALNumberField moneyclass;
  
  /** 支払方法 */
  private ALStringField moneyclass_name;
  
  /** 手形番号 */
  private ALNumberField draft_number;

  /** 振出人 */
  private ALStringField remitter;
  
  /** 振出日 */
  private ALStringField remittance_date;

  /** 受取日 */
  private ALStringField receipt_date;
  
  /** 手形支払銀行名 */
  private ALStringField pay_bank_name;
  
  /** 手形支払支店名 */
  private ALStringField pay_bank_branch_name;
  
  /** 請求日 */
  private ALStringField billing_date;
  
  /** 手形取立預け銀行名 */
  private ALStringField charge_bank_name;
  
  /** 手形取立預け支店名 */
  private ALStringField charge_bank_branch_name;
  
  /** 手形取立預け金額 */
  private ALNumberField charge_money;
  
  /** 手形取立預け日 */
  private ALStringField charge_date;

  /** 手形取立預け手数料 */
  private ALNumberField charge_handling;
  
  /** 入出金日 */
  private ALStringField account_date;

  /** 金額 */
  private ALNumberField price;
  
  /** 摘要 */
  private ALStringField note;
  
  /** 登録日 */
  private ALStringField create_date;
  
  /** 登録ユーザー名 */
  private ALNumberField create_user;

  /** 更新日 */
  private ALStringField update_date;
  
  /** 更新ユーザー名 */
  private ALNumberField update_user;

  /** カテゴリリスト */
  private List categoryList;

  /** サブカテゴリリスト */
  private List subCategoryList;
  
  /** 科目リスト */
  private ArrayList itemList;
  
  /** 取引先リスト */
  private ArrayList clientList;

  /**
   * 
   * @see com.aimluck.eip.common.ALData#initField()
   */
  public void initField() {
    ordertemplate = new ALStringField();
    account_plan_id = new ALNumberField();
    account_class = new ALNumberField();
    category_id = new ALNumberField();
    category_name = new ALStringField();
    subcategory_id = new ALNumberField();
    subcategory_name = new ALStringField();
    item_id = new ALNumberField();
    item_name = new ALStringField();
    client_id = new ALNumberField();
    client_name = new ALStringField();
    client_pay_classid = new ALStringField();
    client_pay_classname = new ALStringField();
    moneyclass = new ALNumberField();
    moneyclass_name = new ALStringField();
    account_date = new ALStringField();
    price = new ALNumberField();
    draft_number = new ALNumberField();
    receipt_date = new ALStringField();
    remitter = new ALStringField();
    remittance_date = new ALStringField();   
    pay_bank_name = new ALStringField();
    pay_bank_branch_name = new ALStringField();
    billing_date = new ALStringField();
    charge_bank_name = new ALStringField();
    charge_bank_branch_name = new ALStringField();   
    charge_money = new ALNumberField();  
    charge_date = new ALStringField();
    charge_handling = new ALNumberField();
    note = new ALStringField();
    note.setTrim(false);
    create_date = new ALStringField();
    create_user = new ALNumberField();
    update_date = new ALStringField();
    update_user = new ALNumberField();
  }

 
  /**
   * @param i
   */
  public ALNumberField getAccountPlanId() {
    return account_plan_id;
  }
  
  /**
   * @param i
   */
  public void setAccountPlanId(long i) {
    account_plan_id.setValue(i);
  }
  /**
   * @return
   */
  public ALStringField getOrderTemplate() {
    return ordertemplate;
  }

  /**
   * @param string
   */
  public void setOrderTemplate(String string) {
    ordertemplate.setValue(string);
  }
  
  /**
   * 入出金区分 <BR>
   * @return
   */
  public ALNumberField getAccountClass() {
    return account_class;
  }
  
  /**
   * 入出金区分 <BR>
   * @param string
   */
  public void setAccountClass(String string) {
    account_class.setValue(string);
  }

  /**
   * カテゴリID <BR>
   * @return
   */
  public ALNumberField getCategoryId() {
    return category_id;
  }

  /**
   * カテゴリID <BR>
   * @param i
   */
  public void setCategoryId(long i) {
    category_id.setValue(i);
  }

  /**
   * カテゴリ名 <BR>
   * @return
   */
  public String getCategoryName() {
    return ALCommonUtils.replaceToAutoCR(category_name.toString());
  }
 
  /**
   * カテゴリ名 <BR>
   * @param string
   */
  public void setCategoryName(String string) {
    category_name.setValue(string);
  }

  /**
   * サブカテゴリID <BR>
   * @return
   */
  public ALNumberField getSubCategoryId() {
    return subcategory_id;
  }

  /**
   * サブカテゴリID <BR>
   * @param i
   */
  public void setSubCategoryId(long i) {
    subcategory_id.setValue(i);
  }

  /**
   * サブカテゴリ名 <BR>
   * @return
   */
  public String getSubCategoryName() {
    return ALCommonUtils.replaceToAutoCR(subcategory_name.toString());
  }
  
  /**
   * サブカテゴリ名 <BR>
   * @param string
   */
  public void setSubCategoryName(String string) {
    subcategory_name.setValue(string);
  }
  
  /**
   * 科目ID <BR>
   * @return
   */
  public ALNumberField getItemId() {
    return item_id;
  }
  
  /**
   * 科目ID <BR>
   * @param i
   */
  public void setItemId(long i) {
    item_id.setValue(i);
  }
  
  /**
   * 科目名 <BR>
   * @return
   */
  public String getItemName() {
    return ALCommonUtils.replaceToAutoCR(item_name.toString());
  }

  /**
   * 科目名 <BR>
   * @param string
   */
  public void setItemName(String string) {
    item_name.setValue(string);
  }
  
  /**
   * 取引先ID <BR>
   * @return
   */
  public ALNumberField getClientId() {
    return client_id;
  }

  /**
   * 取引先ID <BR>
   * @param i
   */
  public void setClientId(long i) {
    client_id.setValue(i);
  }
  
  /**
   * 取引先名 <BR>
   * @return
   */
  public String getClientName() {
    return ALCommonUtils.replaceToAutoCR(client_name.toString());
  }

  /**
   * 取引先名 <BR>
   * @param string
   */
  public void setClientName(String string) {
    client_name.setValue(string);
  }

  /**
   * 支払入金方法 <BR>
   * @return
   */
  public String getClientPayClassId() {
    return ALCommonUtils.replaceToAutoCR(client_pay_classid.toString());
  }

  /**
   * 支払入金方法 <BR>
   * @param string
   */
  public void setClientPayClassId(String string) {
    client_pay_classid.setValue(string);
  }

  /**
   * 支払入金方法名 <BR>
   * @return
   */
  public String getClientPayClassName() {
    return ALCommonUtils.replaceToAutoCR(client_pay_classname.toString());
  }

  /**
   * 支払入金方法名 <BR>
   * @param string
   */
  public void setClientPayClassName(String string) {
    client_pay_classname.setValue(string);
  }

  /**
   * 支払方法 <BR>
   * @return
   */
  public ALNumberField getMoneyClass() {
    return moneyclass;
  }
  
  /**
   * 支払方法 <BR>
   * @param string
   */
  public void setMoneyClass(String string) {
    moneyclass.setValue(string);
  }

  /**
   * 支払方法名 <BR>
   * @return
   */
  public String getMoneyClassName() {
    return ALCommonUtils.replaceToAutoCR(moneyclass_name.toString());
  }

  /**
   * 支払方法名 <BR>
   * @param string
   */
  public void setMoneyClassName(String string) {
    moneyclass_name.setValue(string);
  }
  
  /**
   * 手形番号 <BR>
   * @return
   */
  public ALNumberField getDraftNumber() {
    return draft_number;
  }

  /**
   * 手形番号 <BR>
   * @param string
   */
  public void setDraftNumber(String string) {
    draft_number.setValue(string);
  }
  
  /**
   * 振出人 <BR>
   * @return
   */
  public String getRemitter() {
    return ALCommonUtils.replaceToAutoCR(remitter.toString());
  }
 
  /**
   * 振出人 <BR>
   * @param string
   */
  public void setRemitter(String string) {
    remitter.setValue(string);
  }

  /**
   * 振出日 <BR>
   * @return
   */
  public ALStringField getRemittanceDate() {
    return remittance_date;
  }
  
  /**
   * 振出日 <BR>
   * @param string
   */
  public void setRemittanceDate(String string) {
    remittance_date.setValue(string);
  }
  
  /**
   * 受取日 <BR>
   * @return
   */
  public ALStringField getReceiptDate() {
    return receipt_date;
  }
  
  /**
   * 受取日 <BR>
   * @param string
   */
  public void setReceiptDate(String string) {
    receipt_date.setValue(string);
  }
  
  /**
   * 手形支払銀行名 <BR>
   * @return
   */
  public ALStringField getPayBankName() {
    return pay_bank_name;
  }
 
  /**
   * 手形支払銀行名 <BR>
   * @param string
   */
  public void setPayBankName(String string) {
    pay_bank_name.setValue(string);
  }
  
  /**
   * 手形支払支店名 <BR>
   * @return
   */
  public ALStringField getPayBankBranchName() {
    return pay_bank_branch_name;
  }
 
  /**
   * 手形支払支店名 <BR>
   * @param string
   */
  public void setPayBankBranchName(String string) {
    pay_bank_branch_name.setValue(string);
  }
  
  /**
   * 請求日 <BR>
   * @return
   */
  public ALStringField getBillingDate() {
    return billing_date;
  }
 
  /**
   * 請求日 <BR>
   * @param string
   */
  public void setBillingDate(String string) {
    billing_date.setValue(string);
  }
  
  /**
   * 手形取立預け銀行名 <BR>
   * @return
   */
  public ALStringField getChargeBankName() {
    return charge_bank_name;
  }
 
  /**
   * 手形取立預け銀行名 <BR>
   * @param string
   */
  public void setChargeBankName(String string) {
    charge_bank_name.setValue(string);
  }

  /**
   * 手形取立預け支店名 <BR>
   * @return
   */
  public ALStringField getChargeBankBranchName() {
    return charge_bank_branch_name;
  }

  /**
   * 手形取立預け支店名 <BR>
   * @param string
   */
  public void setChargeBankBranchName(String string) {
    charge_bank_branch_name.setValue(string);
  }

  /**
   * 手形取立預け金額 <BR>
   * @return
   */
  public String getChargeMoney() {
    return AccountPlanUtils.translateMoneyStr(charge_money.toString());
  }

  /**
   * 手形取立預け金額 <BR>
   * @param string
   */
  public void setChargeMoney(String string) {
    charge_money.setValue(string);
  }
  
  /**
   * 手形取立預け日 <BR>
   * @return
   */
  public ALStringField getChargeDate() {
    return charge_date;
  }

  /**
   * 手形取立預け日 <BR>
   * @param string
   */
  public void setChargeDate(String string) {
    charge_date.setValue(string);
  }

  /**
   * 手形取立預け手数料 <BR>
   * @return
   */
  public String getChargeHandling() {
    return AccountPlanUtils.translateMoneyStr(charge_handling.toString());
  }
 
  /**
   * 手形取立預け手数料 <BR>
   * @param string
   */
  public void setChargeHandling(String string) {
    charge_handling.setValue(string);
  }
  
  /**
   * 入出金日 <BR>
   * @return
   */
  public ALStringField getAccountDate() {
    return account_date;
  }

  /**
   * 入出金日 <BR>
   * @param string
   */
  public void setAccountDate(String string) {
    account_date.setValue(string);
  }

  /**
   * 金額 <BR>
   * @return
   */
  public String getPrice() {
    return AccountPlanUtils.translateMoneyStr(price.toString());
  }

  /**
   * 金額 <BR>
   * @param string
   */
  public void setPrice(String string) {
    price.setValue(string);
  }

  /**
   * 摘要 <BR>
   * @return
   */
  public String getNote() {
    return ALEipUtils.getMessageList(note.getValue());
  }

  /**
   * 摘要 <BR>
   * @param string
   */
  public void setNote(String string) {
    note.setValue(string);
  }

  /**
   * 作成日 <BR>
   * @return
   */
  public ALStringField getCreateDate() {
    return create_date;
  }

  /**
   * 作成日 <BR>
   * @param string
   */
  public void setCreateDate(String string) {
    create_date.setValue(string);
  }

  /**
   * 作成者ID <BR>
   * @return
   */
  public ALNumberField getCreateUser() {
    return create_user;
  }

  /**
   * 作成者ID <BR>
   * @return
   */
  public void setCreatedUser(String string) {
    create_user.setValue(string);
  }

  /**
   * 更新日 <BR>
   * @return
   */
  public ALStringField getUpdateDate() {
    return update_date;
  }
  
  /**
   * 更新日 <BR>
   * @param string
   */
  public void setUpdateDate(String string) {
    update_date.setValue(string);
  }
  
  /**
   * 更新者ID <BR>
   * @return
   */
  public ALNumberField getUpdateUser() {
    return update_user;
  }

  /**
   * 更新者ID <BR>
   * @return
   */
  public void setUpdateUser(String string) {
    update_user.setValue(string);
  }

}

