package com.ymsino.water.service.archives.bank;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;

/**
 * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.3-hudson-390-
 * Generated source version: 2.0
 * 
 */
@WebService(name = "BankService", targetNamespace = "http://api.service.archives.esb.ymsino.com/")
public interface BankService {

	/**
	 * 保存银行信息
	 * 
	 * @param bankSaveParam
	 * @return returns java.lang.Long
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "save", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.Save")
	@ResponseWrapper(localName = "saveResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.SaveResponse")
	public Long save(
			@WebParam(name = "bankSaveParam", targetNamespace = "") BankSaveParam bankSaveParam);

	/**
	 * 根据查询参数获取银行信息分页列表
	 * 
	 * @param queryParam
	 * @param startRow
	 * @param pageSize
	 * @return returns
	 *         java.util.List<com.ymsino.water.service.archives.bank.BankReturn>
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "getListpager", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetListpager")
	@ResponseWrapper(localName = "getListpagerResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetListpagerResponse")
	public List<BankReturn> getListpager(
			@WebParam(name = "queryParam", targetNamespace = "") QueryParam queryParam,
			@WebParam(name = "startRow", targetNamespace = "") Integer startRow,
			@WebParam(name = "pageSize", targetNamespace = "") Integer pageSize);

	/**
	 * 根据id获取银行信息
	 * 
	 * @param id
	 * @return returns com.ymsino.water.service.archives.bank.BankReturn
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "getById", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetById")
	@ResponseWrapper(localName = "getByIdResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetByIdResponse")
	public BankReturn getById(
			@WebParam(name = "id", targetNamespace = "") Long id);

	/**
	 * 根据查询参数获取银行信息总记录数
	 * 
	 * @param queryParam
	 * @return returns java.lang.Integer
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "getCount", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetCount")
	@ResponseWrapper(localName = "getCountResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.GetCountResponse")
	public Integer getCount(
			@WebParam(name = "queryParam", targetNamespace = "") QueryParam queryParam);

	/**
	 * 修改银行信息
	 * 
	 * @param bankModifyParam
	 * @return returns java.lang.Boolean
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "modify", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.Modify")
	@ResponseWrapper(localName = "modifyResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.ModifyResponse")
	public Boolean modify(
			@WebParam(name = "bankModifyParam", targetNamespace = "") BankModifyParam bankModifyParam);

	/**
	 * 删除银行信息
	 * 
	 * @param id
	 * @return returns java.lang.Boolean
	 */
	@WebMethod
	@WebResult(targetNamespace = "")
	@RequestWrapper(localName = "delete", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.Delete")
	@ResponseWrapper(localName = "deleteResponse", targetNamespace = "http://api.service.archives.esb.ymsino.com/", className = "com.ymsino.water.service.archives.bank.DeleteResponse")
	public Boolean delete(@WebParam(name = "id", targetNamespace = "") Long id);

}
