Esempio n. 1
0
 /**
  * 拆分到辅组织汇兑损益应付单-始发地
  *
  * @param objF
  * @return
  */
 private AggExchangeAssistSyfHVO SplitToAssistSyfStart(Object[] objF, Object[] objSYF)
     throws BusinessException {
   AggExchangeAssistSyfHVO aggvo = new AggExchangeAssistSyfHVO();
   ExchangeAssistSyfHVO hvo = InitSyfAssistHVO(objF, objSYF);
   // --差异部分:
   hvo.setPk_org(insertBP.getAssisOrg(objF)); // 组织
   hvo.setDept(insertBP.getAssist_dpm(objF).getPk_dept()); // 组织部门
   hvo.setOriginal_sum(new UFDouble(origin_start));
   hvo.setLocal_sum(new UFDouble(local_start));
   hvo.setBill_org(hvo.getPk_org()); // 单据组织=组织
   hvo.setFinance(insertBP.getFinance(hvo.getBill_org())); // 财务账簿
   // --差异部分
   aggvo.setParent(hvo);
   ExchangeAssistSyfBVO[] bvos = new ExchangeAssistSyfBVO[1];
   bvos[0] = initSyfAssistBVO(objF);
   bvos[0].setProperty(1);
   bvos[0].setBilltype(2);
   bvos[0].setBill_org(hvo.getBill_org());
   bvos[0].setDept(hvo.getDept());
   bvos[0].setOriginal_sum(new UFDouble(origin_start)); // 原币金额
   bvos[0].setLocal_sum(new UFDouble(local_start)); // 本币金额
   bvos[0].setFinance(insertBP.getFinance(hvo.getBill_org())); // 财务账簿
   bvos[0].setTrader(insertBP.getTrader3(objF, 1)); // 客商
   aggvo.setChildren(ExchangeAssistSyfBVO.class, bvos);
   return aggvo;
 }
Esempio n. 2
0
  /**
   * 天尚、海整、快递,这些SYF单据调用此方法
   *
   * @param objSYF
   * @return
   */
  private ExchangeSyfHVO notSplitSyfHVO(Object[] objSYF)
      throws UifException, ParseException, BusinessException {
    ExchangeSyfHVO hvo = initSyfHVO(objSYF);
    hvo.setLink(insertBP.getLink_NotSplit(objSYF)); // 航线
    hvo.setProduct(insertBP.getFailProduct(objSYF)); // 产品

    hvo.setBill_org(insertBP.getOrg_NotSplit(objSYF)); // 单据组织
    hvo.setPk_org(insertBP.getOrg_NotSplit(objSYF)); // 组织
    hvo.setDept(insertBP.getDept_NotSplit(objSYF).getPk_dept()); // 组织部门
    return hvo;
  }
Esempio n. 3
0
 private ExchangeSyfBVO SplitToSyfStartBVO(Object[] objF, int billtype) throws BusinessException {
   ExchangeSyfBVO bvo = InitSyfBVO(objF);
   bvo.setProperty(1);
   bvo.setOriginal_sum(new UFDouble(origin_start)); // 原币金额
   bvo.setLocal_sum(new UFDouble(local_start)); // 本币金额
   bvo.setBill_org((String) insertBP.getBillOrg(objF, "始发地")); // 单据组织
   bvo.setFinance(insertBP.getFinance(bvo.getBill_org())); // 财务账簿
   bvo.setTrader(insertBP.getTrader3(objF, 1)); // 客商
   bvo.setCustomer(insertBP.getClient(objF)); // 客户
   bvo.setBilltype(billtype); // 单据类型
   bvo.setDept(insertBP.getAssist_dpm(objF).getPk_dept()); // 组织部门
   return bvo;
 }
Esempio n. 4
0
  /**
   * 不拆分的单据生成辅组织汇兑损益应付单
   *
   * @return aggvo
   * @throws BusinessException
   */
  private AggExchangeAssistSyfHVO notSplitAssistSyfHVO(Object[] objF, ExchangeSyfBVO bvo)
      throws BusinessException {
    AggExchangeAssistSyfHVO aggvo = new AggExchangeAssistSyfHVO();
    ExchangeAssistSyfHVO hvo = InitSyfAssistHVO(objF, null);
    // 需要单独单独设置的字段
    hvo.setOriginal_sum(new UFDouble(origin_temp));
    hvo.setLocal_sum(new UFDouble(local_temp));
    hvo.setPk_group(pk_group_choice);
    hvo.setProduct(bvo.getProduct());
    hvo.setLink(bvo.getLink());
    hvo.setBill_org(bvo.getBill_org());
    hvo.setPk_org(bvo.getBill_org());
    hvo.setDept(bvo.getDept());

    aggvo.setParent(hvo);
    // 表体
    ExchangeAssistSyfBVO[] bvos = new ExchangeAssistSyfBVO[1];
    bvos[0] = initSyfAssistBVO(objF);
    bvos[0].setBilltype(3);
    //		bvos[0].setProperty(bvo.getProperty());//属性,不拆分单据没有
    bvos[0].setOriginal_sum(new UFDouble(origin_temp)); // 原币金额
    bvos[0].setLocal_sum(new UFDouble(local_temp)); // 本币金额
    bvos[0].setFinance(insertBP.getFinance(bvo.getBill_org())); // 财务账簿
    //		bvos[0].setTrader(insertBP.getTrader3(objF, 2));//客商
    // 需要单独设置的字段
    bvos[0].setProduct(bvo.getProduct());
    bvos[0].setLink(bvo.getLink());
    bvos[0].setBill_org(bvo.getBill_org());
    bvos[0].setDept(bvo.getDept());
    aggvo.setChildren(ExchangeAssistSyfBVO.class, bvos);
    return aggvo;
  }
Esempio n. 5
0
  /**
   * 判断F为不拆分单据时,调用此方法,生成一条bvo
   *
   * @param objF
   * @throws BusinessException
   */
  private ExchangeSyfBVO copyWithoutSplitToSyfBvo(Object[] objF) throws BusinessException {
    ExchangeSyfBVO bvo = InitSyfBVO(objF);
    bvo.setBilltype(3);
    bvo.setOriginal_sum(new UFDouble(origin_temp));
    bvo.setLocal_sum(new UFDouble(local_temp));
    // 重新设置的字段
    bvo.setProduct("");
    bvo.setLink("");
    bvo.setProduct(insertBP.getFailProductF(objF)); // 产品
    bvo.setLink(insertBP.getLink_NotSplit(objF)); // 航线
    bvo.setBill_org(insertBP.getOrg_NotSplit(objF)); // 单据组织
    bvo.setFinance(insertBP.getFinance(bvo.getBill_org())); // 财务账簿
    bvo.setDept(insertBP.getDept_NotSplit(objF).getPk_dept()); // 部门
    bvo.setSupplier(getSupplier(objF)); // 供应商

    return bvo;
  }
Esempio n. 6
0
  /**
   * 初始化 辅组织汇兑损益应付单的表体
   *
   * @param objF
   * @return
   */
  private ExchangeAssistSyfBVO initSyfAssistBVO(Object[] objF) throws BusinessException {
    ExchangeAssistSyfBVO bvo = new ExchangeAssistSyfBVO();
    // 用于关联 汇兑损益应付单表头(即SYF的字段)
    bvo.setSyf_billno(SYF_Bill_no);
    bvo.setSyf_sellnum(SYF_Sellnum);
    bvo.setSyf_product(SYF_pk_product);

    // objF字段
    bvo.setBill_no(objF[1].toString()); // 单据编号
    bvo.setOrigin(insertBP.getAddr(objF)); // 始发地
    bvo.setDestination(objF[3].toString()); // 目的地
    bvo.setVoucher_note(objF[5].toString()); // 凭证摘要
    bvo.setSell(insertBP.getSell(objF)); // 业务员
    bvo.setCustomer(insertBP.getClient(objF)); // 客户
    bvo.setSupplier(getSupplier(objF)); // 供应商
    bvo.setProduct(insertBP.getProduct(objF)); // 获取产品
    bvo.setLink(insertBP.getLink(objF)); // 航线
    bvo.setClear_type(insertBP.getClear_type(objF)); // 结算方式
    bvo.setVoucher_num(objF[13].toString()); // 凭证号
    bvo.setCurrency(insertBP.getCurrency(objF)); // 币种
    bvo.setRate(new UFDouble(Double.parseDouble(objF[17].toString()))); // 汇率
    bvo.setSellnumber(objF[20].toString()); // 业务单号
    bvo.setMainsellnumber(objF[21].toString()); // 主业务单号
    bvo.setSell_date(SellDate); // 业务日期
    bvo.setYear(objF[25].toString()); // 年
    bvo.setMonth(objF[26].toString()); // 月
    bvo.setAccounting_subject(getAccounting_subjectF(objF)); // 会计科目
    bvo.setSubject_orientation(PK_Subject_orientation); // 科目方向
    return bvo;
  }
Esempio n. 7
0
 /**
  * 普通单据(非天尚、快递、海整),记录SYF单据到汇兑损益应付单的表头信息
  *
  * @return
  * @throws ParseException
  */
 private ExchangeSyfHVO SplitToSyfHVO(Object[] objSYF) throws BusinessException, ParseException {
   ExchangeSyfHVO hvo = initSyfHVO(objSYF);
   hvo.setLink(insertBP.getLink(objSYF)); // 航线
   hvo.setProduct(insertBP.getProduct(objSYF)); // 产品
   // --
   if ("PP".equals(objSYF[12]) || "月结".equals(objSYF[12])) {
     // 业务员为主账簿
     hvo.setBill_org(insertBP.getSellOrg(objSYF)); // 单据组织
     hvo.setPk_org(insertBP.getSellOrg(objSYF)); // 组织
     hvo.setDept(insertBP.getSellDept(objSYF).getPk_dept()); // 组织部门
   } else {
     // 目的地为主账簿
     hvo.setBill_org(insertBP.getOrg(objSYF)); // 单据组织
     hvo.setPk_org(insertBP.getOrg(objSYF)); // 组织
     hvo.setDept(insertBP.getOrgDept(objSYF).getPk_dept()); // 组织部门
   }
   return hvo;
 }
Esempio n. 8
0
  private ExchangeSyfHVO initSyfHVO(Object[] objSYF)
      throws ParseException, BusinessException, UifException {
    ExchangeSyfHVO hvo = new ExchangeSyfHVO();
    hvo.setBill_no(objSYF[1].toString()); // 单据编号
    // --
    hvo.setPk_group(pk_group_choice); // 赛拾集团
    hvo.setApprovestatus(-1); // 审批状态 -1,自由
    //		hvo.setBill_type("0001ZZ1000000000NO7Q");// 单据类型
    hvo.setMaketime(new UFDate(new Date())); // 制单日期
    hvo.setSell_date(SellDate); // 业务日期

    hvo.setBill_no(objSYF[1].toString()); // 单据编号
    hvo.setRate(new UFDouble(Double.valueOf(objSYF[16].toString()))); // 汇率
    hvo.setOriginal_sum(new UFDouble(origin)); // 原币金额
    hvo.setLocal_sum(new UFDouble(local)); // 本币金额
    hvo.setClear_type(getClear_type(objSYF)); // 结算方式
    hvo.setOrigin(getAddr(objSYF)); // 始发地
    hvo.setSubject_orientation(PK_Subject_orientation); // 科目方向25; 1是借(001)
    hvo.setAccounting_subject(getAccounting_subject(objSYF)); // 会计科目26
    if (objSYF[3] == null) {
      hvo.setDestination("unknow");
    } else {
      hvo.setDestination(objSYF[3].toString()); // 目的地 如:LAGOS
    }
    hvo.setYear(objSYF[23].toString()); // 年
    hvo.setMonth(objSYF[24].toString()); // 月
    hvo.setCustomer(getClient(objSYF)); // 客户
    hvo.setSellnumber(objSYF[19].toString()); // 集团业务单号
    hvo.setClient(getSupplier(objSYF)); // 供应商
    hvo.setVoucher_note(objSYF[5].toString()); // 凭证
    hvo.setFinance(getFinance(hvo.getBill_org())); // 财务账簿
    hvo.setCurrency(getCurrency(objSYF)); // 币种
    hvo.setBilltype_def(PK_DefBilltype_HDYF); // 自定义档案,单据类型
    hvo.setSell(insertBP.getSell(objSYF)); // 业务员
    return hvo;
  }
Esempio n. 9
0
  /**
   * 初始化 辅组织汇兑损益应付单的表头部分
   *
   * @param objF
   * @return
   */
  private ExchangeAssistSyfHVO InitSyfAssistHVO(Object[] objF, Object[] objSYF)
      throws BusinessException {
    ExchangeAssistSyfHVO hvo = new ExchangeAssistSyfHVO();
    // 用于关联 汇兑损益应付单表头(即SYF的字段)
    hvo.setSyf_billno(SYF_Bill_no);
    hvo.setSyf_sellnum(SYF_Sellnum);
    hvo.setSyf_product(SYF_pk_product);

    // objF字段
    hvo.setPk_group(pk_group_choice);
    hvo.setBilltype_def(PK_DefBilltype_FSYF);
    hvo.setApprovestatus(-1);
    hvo.setMaketime(new UFDate()); // 制单时间
    hvo.setBill_no(objF[1].toString()); // 单据编号
    hvo.setOrigin(insertBP.getAddr(objF)); // 始发地
    hvo.setDestination(objF[3].toString()); // 目的地
    hvo.setVoucher_note(objF[5].toString()); // 凭证摘要
    hvo.setSell(insertBP.getSell(objF)); // 业务员
    hvo.setCustomer(insertBP.getClient(objF)); // 客户
    hvo.setClient(getSupplier(objF)); // 供应商
    hvo.setProduct(insertBP.getProduct(objF)); // 获取产品
    hvo.setLink(insertBP.getLink(objF)); // 航线
    hvo.setClear_type(insertBP.getClear_type(objF)); // 结算方式
    hvo.setVoucher_num(objF[13].toString()); // 凭证号
    hvo.setCurrency(insertBP.getCurrency(objF)); // 币种
    hvo.setRate(new UFDouble(Double.parseDouble(objF[17].toString()))); // 汇率
    hvo.setSellnumber(objF[20].toString()); // 业务单号
    hvo.setMainsellnumber(objF[21].toString()); // 主业务单号
    hvo.setSell_date(SellDate); // 业务日期
    hvo.setYear(objF[25].toString()); // 年
    hvo.setMonth(objF[26].toString()); // 月
    hvo.setAccounting_subject(getAccounting_subjectF(objF)); // 会计科目
    //		hvo.setSubject_orientation(getSubject_orientationF(objF));//科目方向
    hvo.setSubject_orientation(PK_Subject_orientation); // 科目方向
    return hvo;
  }
Esempio n. 10
0
  /**
   * 直接照搬,不拆分
   *
   * @param objSYF
   * @return
   * @throws Exception
   */
  private AggExchangeSyfHVO CopyWithoutSplit(Object[] objSYF) throws Exception {
    AggExchangeSyfHVO aggvo = new AggExchangeSyfHVO();
    ExchangeSyfHVO hvo = new ExchangeSyfHVO();

    hvo.setPk_group(pk_group_choice); // 赛拾集团

    hvo.setApprovestatus(-1); // 审批状态 -1,自由
    //		hvo.setBill_type("0001ZZ1000000000NO7Q");// 单据类型
    hvo.setMaketime(new UFDate(new Date())); // 制单日期

    // 自定义字段
    if (objSYF[21] != null) {
      hvo.setSell_date(new UFDate(objSYF[21].toString())); // 业务日期(存SYF凭证日期)
      hvo.setSell_date(new UFDate("2015-05-12")); // 测试,以后删掉
    }
    hvo.setPk_org(insertBP.getOrg_NotSplit(objSYF)); // 组织
    // 发现问题:pk_org_v 需要设置的值是表ORG_ORGS_V 的 pk_vid 字段值
    // hvo.setPk_org_v(costing[0].getOriginorg());// 组织版本
    hvo.setBill_org(insertBP.getOrg_NotSplit(objSYF)); // 单据组织

    // obj字段
    hvo.setBill_no(objSYF[1].toString()); // 单据编号
    hvo.setRate(new UFDouble(Double.valueOf(objSYF[16].toString()))); // 汇率
    hvo.setOriginal_sum(new UFDouble(origin)); // 原币金额
    hvo.setLocal_sum(new UFDouble(local)); // 本币金额
    hvo.setClear_type(getClear_type(objSYF)); // 结算方式
    hvo.setOrigin(getAddr(objSYF)); // 始发地
    hvo.setSubject_orientation(getSubject_orientation(objSYF)); // 科目方向25; 1是借(001)
    hvo.setAccounting_subject(getAccounting_subject(objSYF)); // 会计科目26
    if (objSYF[3] == null) {
      hvo.setDestination("unknow");
    } else {
      hvo.setDestination(objSYF[3].toString()); // 目的地 如:LAGOS
    }
    hvo.setYear(objSYF[23].toString()); // 年
    hvo.setMonth(objSYF[24].toString()); // 月
    hvo.setCustomer(getClient(objSYF)); // 客户
    hvo.setSellnumber(objSYF[19].toString()); // 集团业务单号
    hvo.setClient(getSupplier(objSYF)); // 供应商
    hvo.setVoucher_note(objSYF[5].toString()); // 凭证
    //		hvo.setFinance(getFinance(hvo.getBill_org()));// 财务账簿

    // costing字段
    hvo.setLink(insertBP.getLink_NotSplit(objSYF)); // 航线
    hvo.setSell(insertBP.getSell(objSYF)); // 业务员
    //		hvo.setSell_dpm(insertBP.getSellDept(objSYF).getPk_dept());// 业务员部门
    hvo.setProduct(insertBP.getFailProduct(objSYF)); // 产品
    hvo.setCurrency(getCurrency(objSYF)); // 币种
    //		hvo.setBilltype(2);// 单据种类
    hvo.setDept(insertBP.getDept_NotSplit(objSYF).getPk_dept()); // 组织部门,3合1
    //		hvo.setDef8("汇兑损益应付SYF");//拆分类型
    hvo.setBilltype_def(PK_DefBilltype_HDYF); // 自定义档案,单据类型
    aggvo.setParent(hvo);

    // 子表数据(2015.4.15)不拆分的单据没有子表
    //		 List<ExchangegalCostBVO> bvolist = new
    //		 ArrayList<ExchangegalCostBVO>();
    ExchangeSyfBVO[] syfbvos = new ExchangeSyfBVO[1];
    ExchangeSyfBVO bvo = new ExchangeSyfBVO();
    bvo.setBilltype(3);
    bvo.setSell_date(new UFDate("2015-05-12")); // 测试,以后删掉
    bvo.setBilltype_def(PK_DefBilltype_HDYF);
    // 不拆分的单据,将表头的 本币、原币、汇率、币种 写在表体,转换模版是取表体的
    bvo.setLocal_sum(hvo.getLocal_sum());
    bvo.setOriginal_sum(hvo.getOriginal_sum());
    bvo.setRate(hvo.getRate());
    bvo.setCurrency(hvo.getCurrency());
    syfbvos[0] = bvo;
    //		// 表体数据放进 Aggvo
    aggvo.setChildren(ExchangeSyfBVO.class, syfbvos);

    // AggExchangegalCostHVO[] bills = new AggExchangegalCostHVO[1];
    // bills[0] = aggvo;
    // AceExchangeGaLInsertBP insertBP = new AceExchangeGaLInsertBP();
    // insertBP.insert(bills);
    return aggvo;
  }