webservice接口开发步骤
- 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);
}
-
IFzhsQueryService.wsdl文件类
-
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;
}
}
- 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>
- 使用SoupUI调用WebService接口
name = "administrator" password="ufsoft*12345"
接口开发注意事项:
1.开发完接口要去前台看
2.开发完接口要去库里面看
3.开发完接口要在前台做一张单子看看自己做的接口哪些默认值没赋上