金蝶EAS,憑證接口,生成憑證,刪除憑證,WebService接口_金蝶EAS開發專欄


憑證接口屬於業務接口,調用業務接口之前,需先調用登錄接口。 

金蝶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;
		
	}

}


轉載地址:https://blog.csdn.net/guosyu/article/details/81479618


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM