
package jp.co.sint.docs;

import jp.co.sint.tools.SIBGPdfTool;
import jp.co.sint.tools.SIUtil;

public class HacchuPdf extends SIBGPdfTool{

  //在庫コード水平軸座標（店舗在庫）
  private final int individualHorizontalPosition1 = 79;
  
  //在庫コード垂直軸（店舗在庫）
  private final int[] individualVerticalAxis1 = {767,701,634,568,501,435,369,302,236,169,103};
  
  //商品名水平軸座標（店舗在庫）
  private final int cmdtyHorizontalPosition1 = 123;
  
  //商品名垂直軸（店舗在庫）
  private final int[] cmdtyVerticalAxis1 = individualVerticalAxis1;
  
  //合計数量水平軸座標（店舗在庫）
  private final int amountTotalHorizontalPosition1 = 377;
  
  //合計数量垂直軸（店舗在庫）
  private final int[] amountTotalVerticalAxis1 = individualVerticalAxis1;
  
  //仕入単価水平軸座標（店舗在庫）
  private final int purchaseHorizontalPosition1 = 448;
  
  //仕入単価垂直軸（店舗在庫）
  private final int[] purchaseVerticalAxis1 = individualVerticalAxis1;
  
  //合計金額水平軸座標（店舗在庫）
  private final int totalHorizontalPosition1 = 538;
  
  //合計金額垂直軸（店舗在庫）
  private int[] totalVerticalAxis1 = individualVerticalAxis1;
  
  //数量水平軸（店舗在庫）
  private final int[] amountHorizontalAxis1 = {119,149,180,210,241,271,302,332,363,393,424,454,485,515,546};
  
  //数量垂直軸（店舗在庫）
  private final int[] amountVerticalAxis1 = {748,682,615,549,482,416,350,283,217,150,84};
  
  //添付水平軸座標（店舗在庫）
  private final int[] amountAddHorizontalAxis1 = {119,149,180,210,241,271,302,332,363,393,424,454,485,515,546};
  
  //添付垂直軸座標（店舗在庫）
  private final int[] amountAddVerticalAxis1 = {738,672,605,539,473,406,340,274,207,141,75};
  
  //備考水平軸座標（店舗在庫）
  private final int commentHorizontalPosition1 = 123;
  
  //備考垂直軸（店舗在庫）
  private final int[] commentVerticalAxis1 = {729,663,596,530,463,397,331,264,198,132,65};
  
  //インデックス水平軸座標（店舗在庫）
  private final int indexHorizontalPosition1 = 62;
  
  //インデックス垂直軸座標（店舗在庫）
  private final int[] indexVerticalAxis1 = individualVerticalAxis1;
  
  //在庫コード水平軸座標（受発注商品）
  private final int individualHorizontalPosition2 = 48;
  
  //在庫コード垂直軸（受発注商品）
  private final int[] individualVerticalAxis2 = {766,745,725,705,684,664,643,623,603,582,562,542,521,501,480,460,439,419,399,378,358,338,317,297,277,256,236,215,195,174,154,134,114,93,72};
  
  //商品名水平軸座標（受発注商品）
  private final int cmdtyHorizontalPosition2 = 93;
  
  //商品名垂直軸（受発注商品）
  private final int[] cmdtyVerticalAxis2 = {771,750,730,710,689,669,648,628,608,587,567,547,526,506,485,465,444,424,404,383,363,343,322,302,282,261,241,220,200,179,159,139,119,98,77};
  
  //備考水平軸座標（受発注商品）
  private final int commentHorizontalPosition2 = 118;
  
  //備考垂直軸（受発注商品）
  private final int[] commentVerticalAxis2 = {761,740,720,700,679,659,638,618,598,577,557,537,516,496,475,455,434,414,394,373,353,333,312,292,272,251,231,210,190,169,149,129,109,88,67};
  
  //合計数量水平軸座標（受発注商品）
  private final int amountTotalHorizontalPosition2 = 376;
  
  //合計数量垂直軸（受発注商品）
  private final int[] amountTotalVerticalAxis2 = individualVerticalAxis2;
  
  //仕入単価水平軸座標（受発注商品）
  private final int purchaseHorizontalPosition2 = 447;
  
  //仕入単価垂直軸（受発注商品）
  private final int[] purchaseVerticalAxis2 = individualVerticalAxis2;
  
  //合計金額水平軸座標（受発注商品）
  private final int totalHorizontalPosition2 = 538;
  
  //合計金額垂直軸（受発注商品）
  private int[] totalVerticalAxis2 = individualVerticalAxis2;
  
  //摘要欄水平軸座標
  private final int remarksHorizontalPosition = 45;
  
  //摘要欄垂直軸
  private final int[] remarksVerticalAxis = {146,136,125,115,104};
  
  public void writeIndividualCode1(String value,int position) {
    if (position > individualVerticalAxis1.length) return;
    super.setFontSize(9);
    super.write(value,individualHorizontalPosition1,individualVerticalAxis1[position]);
  }
  
  public void writeIndividualCode2(String value,int position) {
    if (position > individualVerticalAxis2.length) return;
    super.setFontSize(9);
    super.write(value,individualHorizontalPosition2,individualVerticalAxis2[position]);
  }
  
  public void writeIndividualCode2(String value) {
    super.setFontSize(9);
    for (int i=0;i<individualVerticalAxis2.length;i++)
    super.write(value,individualHorizontalPosition2,individualVerticalAxis2[i]);
  }
  
  public void writeCmdtyName1(String value,int position) {
    if (position > cmdtyVerticalAxis1.length) return;
    if (value.length()>20) super.setFontSize(6);
    else super.setFontSize(9);
    super.write(value,cmdtyHorizontalPosition1,cmdtyVerticalAxis1[position]);
  }
  
  public void writeCmdtyName2(String value,int position) {
    if (position > cmdtyVerticalAxis2.length) return;
    if (value.length()>30) super.setFontSize(6);
    else super.setFontSize(9);
    super.write(value,cmdtyHorizontalPosition2,cmdtyVerticalAxis2[position]);
  }
  
  public void writeAmountTotal1(String value,int position) {
    if (position > amountTotalVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,amountTotalHorizontalPosition1,amountTotalVerticalAxis1[position]);
  }
  
  public void writeAmountTotal2(String value,int position) {
    if (position > amountTotalVerticalAxis2.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,amountTotalHorizontalPosition2,amountTotalVerticalAxis2[position]);
  }
  
  public void writePurchase1(String value,int position) {
    if (position > purchaseVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,purchaseHorizontalPosition1,purchaseVerticalAxis1[position]);
  }
  
  public void writePurchase2(String value,int position) {
    if (position > purchaseVerticalAxis2.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,purchaseHorizontalPosition2,purchaseVerticalAxis2[position]);
  }
  
  public void writeTotal1(String value,int position) {
    if (position > totalVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,totalHorizontalPosition1,totalVerticalAxis1[position]);
  }
  
  public void writeTotal2(String value,int position) {
    if (position > totalVerticalAxis2.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,totalHorizontalPosition2,totalVerticalAxis2[position]);
  }
  
  public void writeAmount1(String value,int xPosition,int yPosition) {
    if (xPosition > amountHorizontalAxis1.length) return;
    if (yPosition > amountVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,amountHorizontalAxis1[xPosition],amountVerticalAxis1[yPosition]);
  }
  
  public void writeAmountAdd1(String value,int xPosition,int yPosition) {
    if (xPosition > amountAddHorizontalAxis1.length) return;
    if (yPosition > amountAddVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,amountAddHorizontalAxis1[xPosition],amountAddVerticalAxis1[yPosition]);
  }
  
  public void writeComment1(String value,int position) {
    if (position > commentVerticalAxis1.length) return;
    super.setFontSize(9);
    super.write(value,commentHorizontalPosition1,commentVerticalAxis1[position]);
  }
  
  public void writeComment2(String value,int position) {
    if (position > commentVerticalAxis2.length) return;
    if (value.length()>30) super.setFontSize(6);
    else super.setFontSize(9);
    super.write(value,commentHorizontalPosition2,commentVerticalAxis2[position]);
  }
  
  public void writeIndex1(String value,int position) {
    if (position > indexVerticalAxis1.length) return;
    super.setFontSize(9);
    super.writeRtoL(value,indexHorizontalPosition1,indexVerticalAxis1[position]);
  }
  
  public void writeStockName(String val){
    if (SIUtil.isNull(val)) return;
    if (val.length() <= 10) {
      super.setFontSize(15);
    } else if (val.length() <= 15) {
      super.setFontSize(12);
    } else {
      super.setFontSize(9);
    }
    super.write(val, 48, 737);
  }
  
  public void writeStockFax(String val){
    super.setFontSize(12);
    super.write(val, 75, 723);
  }
  
  public void writeArrivalPlan(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 103, 663);
    else super.write(val, 103, 674);
  }
  
  public void writeDirectFlg(String val){
    super.setFontSize(9);
    super.write(val, 103, 662);
  }
  
  public void writeDeliveryAddressee(String salon,String name){
    super.setFontSize(9);
    String val = name;
    if (SIUtil.isNotNull(salon)) val = salon + "　" + name;
    super.write(val, 103, 650);
  }
  
  public void writeDeliveryPostCode(String val){
    super.setFontSize(9);
    super.write(val, 103, 638);
  }
  
  public void writeDeliveryAddress(String val){
    super.setFontSize(9);
    super.write(val, 159, 638);
  }
  
  public void writeDeliveryAddressEx(String val){
    super.setFontSize(9);
    super.write(val, 159, 625);
  }
  
  public void writeDeliveryTel(String val){
    super.setFontSize(9);
    super.write(val, 103, 608);
  }
  
  public void writeDeliveryFax(String val){
    super.setFontSize(9);
    super.write(val, 193, 608);
  }
  
  public void writeHacchuCode(String val){
    super.setFontSize(9);
    super.write(val, 400, 739);
  }
  
  public void writeHacchuDate(String val){
    super.setFontSize(9);
    super.write(val, 400, 724);
  }
  
  public void writeChargeName(String val){
    super.setFontSize(9);
    super.write(val, 400, 712);
  }
  
  public void writeOrderCode(String val){
    super.setFontSize(9);
    super.write(val, 400, 687);
  }
  
  public void writeCustName(String val){
    super.setFontSize(9);
    super.write(val+"　様", 400, 675);
  }
  
  public void writeCompanyName(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 368, 693);
    else super.write(val, 368, 653);
  }
  
  public void writeCompanyPostCode(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 368, 680);
    else super.write(val, 368, 640);
  }
  
  public void writeCompanyAddress(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 424, 680);
    else super.write(val, 424, 640);
  }
  
  public void writeCompanyAddressEx(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 424, 667);
    else super.write(val, 424, 627);
  }
  
  public void writeCompanyTel(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 368, 650);
    else super.write(val, 368, 610);
  }
  
  public void writeCompanyFax(String val,boolean isAmountFlg){
    super.setFontSize(9);
    if (isAmountFlg) super.write(val, 458, 650);
    else super.write(val, 458, 610);
  }
  
  public void wtireTotalOfPrice(String val,boolean isAmountFlg){
    super.setFontSize(15);
    if (isAmountFlg) super.writeRtoL(val, 245, 612);
    else super.writeRtoL(val, 245, 550);
  }
  
  public void writeRemarks(String val,int position) {
    if (position > 4) return;
    super.setFontSize(9);
    super.write(val, remarksHorizontalPosition, remarksVerticalAxis[position]);
  }
  
  public void writeReFax(String val) {
    super.setFontSize(14);
    super.write(val, 45, 40);
    
  }
}
