金蝶EAS,凭证接口,生成凭证,删除凭证,WebService接口

凭证接口属于业务接口,调用业务接口之前,需先调用登录接口。 

金蝶EAS接口调用时,可以先下载相应的WSDL文件,需要知道金蝶应用服务器地址,下载路径例如:

http://192.168.1.199:6888/web/services(或)
http://192.168.1.199:6888/ormrpc/services

(实际IP地址、端口根据应用服务器的具体情况)

package com.demo.modules.si.test;

import com.demo.modules.si.util.LoginUtil;
import com.demo.common.si.gl.wsvoucher.WSWSVoucher;
import com.demo.common.si.gl.WSGLWebServiceFacadeSrvProxyServiceLocator;

/**
 * 凭证接口测试,演示程序,仅供参考
 * 涉及生成凭证、删除凭证,需先下载WSDL文件生成WebService客户端代码
 * @author 郭旭
 *
 */
public class Test {

	/**
	 * 凭证接口调用测试
	 */
	public static void main(String[] args) throws Exception {
		
		// 调用业务接口之前进行验权
		boolean login = LoginUtil.login();
		if(login){
			// 生成凭证
			// importVoucher();
			// 删除凭证
			deleteVoucher();
			
		}

	}

	/**
	 * 凭证生成,供第三方系统调用,直接生成金蝶EAS凭证
	 */
	public static void importVoucher() throws Exception {
		
		String[] results = null; //导入凭证操作的反馈信息
		WSWSVoucher[] vouchers = new WSWSVoucher[2];
		vouchers[0] = getWSVoucher1("1122.02", 0, 1, "测试数据50", "测试数据"); //借方分录
		vouchers[1] = getWSVoucher2("6001.01.01", 0, 2, "测试数据50", "测试数据"); //贷方分录
		
		WSGLWebServiceFacadeSrvProxyServiceLocator locator = null;
		locator = new WSGLWebServiceFacadeSrvProxyServiceLocator();
		
		// 需引入现金流量时,最后一个参数为1,否则为0
		// 需直接生成提交状态的凭证时,第二个参数为1,否则为0
		results = locator.getWSGLWebServiceFacade().importVoucher(vouchers, 0, 0, 0);
		System.out.println("返回值数组长度:" + results.length);
		for(String result : results){
			System.out.println(result);
		}
		
	}
	
	/**
	 * 凭证删除,供第三方系统调用,用于删除金蝶EAS凭证
	 */
	public static void deleteVoucher() throws Exception {
		
		WSGLWebServiceFacadeSrvProxyServiceLocator locator = null;
		locator = new WSGLWebServiceFacadeSrvProxyServiceLocator();
		String companyNumber = "M006"; //公司编码
		String period = "2016.01"; //期间
		String voucherNumber = "暂071"; //凭证号
		String fexp = "测试数据50"; //参考信息
		
		// 删除凭证时,所需参数均为金蝶EAS系统对应的实际参数
		int result = locator.getWSGLWebServiceFacade().deleteVoucher(companyNumber, period, voucherNumber, fexp);
		if(result == 0){
			System.out.println("删除凭证成功!");
		} else {
			System.out.println("删除凭证失败!错误码:" + result);
		}
		
	}
	
	/**
	 * 封装凭证分录(借方)
	 * @param accmountNumber 科目编码
	 * @param amount 金额
	 * @param entrySeq 分录行号
	 * @param desc 参考信息
	 * @param abst 凭证摘要
	 * 
	 */
	public static WSWSVoucher getWSVoucher1(String accmountNumber, double amount, int entrySeq, String desc, String abst) throws Exception {
		
		WSWSVoucher voucher = new WSWSVoucher();
		voucher.setVoucherNumber(""); //凭证号
		voucher.setCompanyNumber("M006"); //公司编码
		voucher.setBookedDate("2016-01-15"); //记账日期
		voucher.setBizDate("2016-01-15"); //业务日期
		voucher.setPeriodYear(2016); //年
		voucher.setPeriodNumber(1); //期间(月)
		voucher.setVoucherType("记"); //凭证类型
		voucher.setDescription(desc);
		
		voucher.setAccountNumber(accmountNumber); //科目编码
		voucher.setEntrySeq(entrySeq); //分录行号
		voucher.setEntryDC(1); //借贷方向:1,借;0(-1),贷
		voucher.setCurrencyNumber("BB01"); //币别编码
		voucher.setCreator("冯博"); //制单人
		voucher.setVoucherAbstract(abst);
		
		voucher.setOriginalAmount(amount); //原币金额
		voucher.setDebitAmount(amount); //借方金额
		voucher.setCreditAmount(0); //贷方金额
		
		voucher.setAsstSeq(1); //辅助账行
		voucher.setAsstActType1("客户"); //辅助核算
		voucher.setAsstActNumber1("G001G001000007"); //核算项目编码
		voucher.setAsstActName1("刘苒苒"); //核算项目名称
		voucher.setItemFlag(0); //现金流量标记
		
		return voucher;
		
	}
	
	/**
	 * 封装凭证分录(贷方)
	 * @param accmountNumber 科目编码
	 * @param amount 金额
	 * @param entrySeq 分录行号
	 * @param desc 参考信息
	 * @param abst 凭证摘要
	 * 
	 */
	public static WSWSVoucher getWSVoucher2(String accmountNumber, double amount, int entrySeq, String desc, String abst) throws Exception {
		
		WSWSVoucher voucher = new WSWSVoucher();
		voucher.setVoucherNumber(""); //凭证号
		voucher.setCompanyNumber("M006"); //公司编码
		voucher.setBookedDate("2016-01-15"); //记账日期
		voucher.setBizDate("2016-01-15"); //业务日期
		voucher.setPeriodYear(2016); //年
		voucher.setPeriodNumber(1); //期间(月)
		voucher.setVoucherType("记"); //凭证类型
		voucher.setDescription(desc);
		
		voucher.setAccountNumber(accmountNumber); //科目编码
		voucher.setEntrySeq(entrySeq); //分录行号
		voucher.setEntryDC(-1); //借贷方向:1,借;0(-1),贷
		voucher.setCurrencyNumber("BB01"); //币别编码
		voucher.setCreator("冯博"); //制单人
		voucher.setVoucherAbstract(abst);
		
		voucher.setOriginalAmount(amount); //原币金额
		voucher.setDebitAmount(0); //借方金额
		voucher.setCreditAmount(amount); //贷方金额
		voucher.setItemFlag(0); //现金流量标记
		
		return voucher;
		
	}

}

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值