webservice接口开发步骤

webservice接口开发步骤

webservice接口开发步骤

  1. IFzhsQueryService接口类
package nc.itf.jych;


/**
 * @desc:辅助核算查询接口
 * @author hanh
 * @date:2023-12-07
 */
public interface IFzhsQueryService {
	
	/**
	 * 辅助核算查询接口
	 * @author hanh
	 * @date 2023年12月7日
	 * @time 下午10:23:08 
	 */
	
	public String fzhsQueryData(String jsonInfo);
}

  1. IFzhsQueryService.wsdl文件类
    在这里插入图片描述

  2. FzhsQueryServiceImpl接口实现类

package nc.impl.jych;

import java.util.List;
import java.util.Map;

import nc.bs.dao.BaseDAO;
import nc.bs.logging.Logger;
import nc.itf.jych.IFzhsQueryService;
import nc.jdbc.framework.processor.MapListProcessor;
import nc.vo.pubapp.pattern.pub.SqlBuilder;
import nc.vo.wgbfb.fzhsquery.FzhsQueryParam;
import nc.vo.wgbfb.fzhsquery.FzhsQueryReturnVO;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class FzhsQueryServiceImpl implements IFzhsQueryService{

	/** 
	* 辅助核算查询接口
	* @author hanh
	* @date 2023年12月7日
	* @time 下午10:32:18 
	*/
	@SuppressWarnings("unchecked")
	@Override
	public String fzhsQueryData(String jsonInfo) {
		// TODO 自动生成的方法存根
		FzhsQueryParam jsonvo = new Gson().fromJson(jsonInfo.toString(),FzhsQueryParam.class);
		FzhsQueryReturnVO returnvo = new FzhsQueryReturnVO(); 
		returnvo.setCode("200");
		returnvo.setMessage("成功");
		try {
			SqlBuilder sql = new SqlBuilder();
			sql.append("	SELECT 	");
			sql.append("	  oa.code as zbbm, 	");
			sql.append("	  oa.name as zbmc, 	");
			sql.append("	  u1.user_name as zdr, 	");
			sql.append("	  u2.user_name as shr, 	");
			sql.append("	  gl_voucher.year as qjn, 	");
			sql.append("	  gl_voucher.adjustperiod as qjy, 	");
			sql.append("	  substr(gl_voucher.prepareddate,9,2) as qjr,	");
			sql.append("	  gl_voucher.num as pzbm, 	");
			sql.append("	  gl_detail.detailindex as flh, 	");
			sql.append("	  gl_detail.explanation as zy, 	");
			sql.append("	  bac.code as kmbm, 	");
			sql.append("	  ba.name as kmmc, 	");
			sql.append("	  ba.dispname as kmqc,	");
			sql.append("	  bat.name as kmlx,	");
			sql.append("	  bc.name as bz, 	");
			sql.append("	  gl_detail.debitamount as jfyb, 	");
			sql.append("	  gl_detail.localdebitamount as jfbb, 	");
			sql.append("	  gl_detail.creditamount as dfyb, 	");
			sql.append("	  gl_detail.localcreditamount as dfbb, 	");
			sql.append("	  gl_detail.localdebitamount as zzbbjfje,	");
			sql.append("	  gl_detail.localcreditamount as zzbbdfje,	");
			sql.append("	  temp_gl_fzhscombine_view.assconbilename as fzhs 	");
			sql.append("	FROM 	");
			sql.append("	  gl_detail 	");
			sql.append("	  INNER JOIN gl_voucher ON gl_detail.pk_voucher = gl_voucher.pk_voucher 	");
			sql.append("	  left join temp_gl_fzhscombine_view on temp_gl_fzhscombine_view.assid = gl_detail.assid 	");
			sql.append("	  left join bd_currtype bc on bc.pk_currtype = gl_detail.pk_currtype 	");
			sql.append("	  and nvl(bc.dr, 0) = 0 	");
			sql.append("	  left join bd_accasoa ba on ba.pk_accasoa = gl_detail.pk_accasoa 	");
			sql.append("	  and nvl(ba.dr, 0) = 0 	");
			sql.append("	  left join bd_account bac on bac.pk_account = gl_detail.pk_account 	");
			sql.append("	  and nvl(bac.dr, 0) = 0 	");
			sql.append("	  left join bd_acctype bat on bat.pk_acctype = bac.pk_acctype 	");
			sql.append("	  and nvl(bat.dr, 0) = 0 	");
			sql.append("	  left join org_accountingbook oa on oa.pk_accountingbook = gl_voucher.pk_accountingbook 	");
			sql.append("	  and nvl(oa.dr, 0) = 0 	");
			sql.append("	  left join sm_user u1 on gl_voucher.pk_prepared = u1.cuserid 	");
			sql.append("	  and nvl(u1.dr, 0) = 0 	");
			sql.append("	  left join sm_user u2 on gl_voucher.pk_checked = u2.cuserid 	");
			sql.append("	  and nvl(u2.dr, 0) = 0 	");
			sql.append("	  left join gl_cashflowcase on gl_cashflowcase.pk_detail = gl_detail.pk_detail 	");
			sql.append("	  and nvl(gl_cashflowcase.dr, 0) = 0 	");
			sql.append("	  left join bd_cashflow on bd_cashflow.pk_cashflow = gl_cashflowcase.pk_cashflow 	");
			sql.append("	  and nvl(bd_cashflow.dr, 0) = 0 	");
			sql.append("	  left join fip_relation on fip_relation.des_relationid = gl_voucher.pk_voucher 	");
			sql.append("	  WHERE 	");
			sql.append("	  ( 	");
			sql.append("	    nvl (gl_voucher.errmessage, '~') = '~' 	");
			sql.append("	    and (gl_voucher.discardflag <> 'Y') 	");
			sql.append("	    and (gl_voucher.tempsaveflag <> 'Y') 	");
			sql.append("	    or gl_voucher.errmessage <> '~' 	");
			sql.append("	  ) 	");
			sql.append("	  and gl_voucher.voucherkind <> 2 	");
			sql.append("	  and gl_voucher.voucherkind <> 255 	");
			sql.append("	  and gl_voucher.dr = 0	");
			//期间年
			if(jsonvo.getQjn() != null && !"".equals(jsonvo.getQjn())) {
				sql.append(" 	   and gl_voucher.year = '" + jsonvo.getQjn() + "'	 ");
			}
			//期间月
			if(jsonvo.getQjy() != null && !"".equals(jsonvo.getQjy())) {
				sql.append(" 	   and gl_voucher.adjustperiod = '" + jsonvo.getQjy() + "'	 ");
			}
			//账簿编码
			if(jsonvo.getZbbm() != null && !"".equals(jsonvo.getZbbm())) {
				sql.append(" 	   and oa.code = '" + jsonvo.getZbbm() + "'	 ");
			}
			sql.append("	order by 	");
			sql.append("	  gl_voucher.pk_accountingbook, 	");
			sql.append("	  gl_voucher.year, 	");
			sql.append("	  gl_voucher.adjustperiod, 	");
			sql.append("	  gl_voucher.prepareddate, 	");
			sql.append("	  gl_voucher.num, 	");
			sql.append("	  gl_detail.detailindex	");
			List<Map<String, Object>> maplist = (List<Map<String, Object>>) getDao().executeQuery(sql.toString(), new MapListProcessor());
			returnvo.setData(maplist);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			Logger.error("失败!" + e.getMessage());
			returnvo = new FzhsQueryReturnVO();
			returnvo.setCode("500");
			returnvo.setMessage("执行失败" + e.getMessage());
		}
		
		Gson g = new GsonBuilder().serializeNulls().create();
		return g.toJson(returnvo);
	}
	
	private BaseDAO dao;
	private BaseDAO getDao(){
		if(dao == null){
			dao = new BaseDAO();
		}
		return dao;
	}
}

  1. P_zkws.upm文件类
<?xml version='1.0' encoding='UTF-8'?>
<module>
	<public>
		<component active="true" tx="NONE" singleton="true" supportAlias="true" name="IFzhsQueryService" remote="true">
			<interface>nc.itf.jych.IFzhsQueryService</interface>//接口路径
			<implementation>nc.impl.jych.FzhsQueryServiceImpl</implementation>//实现类路径
			<extension class="nc.uap.ws.deploy.OxbWSExtensionProcessor">
				<wsdl>nc/itf/jych/IFzhsQueryService.wsdl</wsdl>//wsdl路径的后半段
				<address>/IFzhsQueryService</address>//接口名
			</extension>
		</component>
	</public>
	<private>
	</private>
</module>

  1. 使用SoupUI调用WebService接口
    在这里插入图片描述
name = "administrator" password="ufsoft*12345"

在这里插入图片描述
在这里插入图片描述

接口开发注意事项:

1.开发完接口要去前台看
2.开发完接口要去库里面看
3.开发完接口要在前台做一张单子看看自己做的接口哪些默认值没赋上

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和安韩Pro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值