package com.fzzy.push.gd2020.v2; import com.fzzy.api.data.AuthToken; import com.fzzy.api.entity.Api1301; import com.fzzy.api.entity.ApiConfs; import com.fzzy.push.gd2020.GDResult; import com.fzzy.push.gd2020.GDUtils; import com.fzzy.push.gd2020.InvokeResult; import com.fzzy.push.gd2020.JaxbUtil; import lombok.extern.slf4j.Slf4j; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; import javax.xml.namespace.QName; @Slf4j public class SafetyCheckWebService { public static SafetyCheckWebService newInstance() { return new SafetyCheckWebService(); } /** * 安全生产-数据接口 -xml报文 */ public String xml_safetyCheckWebService = ""; /** * @Desc: 安全生产-数据接口 */ public InvokeResult safetyCheckWebService(AuthToken authToken,ApiConfs conf, Api1301 data) { InvokeResult invokeResult = new InvokeResult(); ClassLoader cl = Thread.currentThread().getContextClassLoader(); String url = conf.getApiUrl()+"/safetyCheckWebService?wsdl"; //填写调用接口服务 String method = "saveSafetyCheckRecord"; //填写方法名 String nameSpace= "http://service.sljt.com"; //填写调用省平台命名空间 Thread.currentThread().setContextClassLoader(cl); JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(url); QName name = new QName(nameSpace,method); Object[] objects; try { String xmlStr = safetyCheckWebServiceXml(data);// 获取接口的输入报文,根据需要填写相应的报文 log.debug("------xmlStr--{}", xmlStr); objects = client.invoke(name, new Object[]{authToken.getToken(), xmlStr}); log.debug("-----------返回信息---{}", objects[0].toString()); invokeResult = JaxbUtil.converyToJavaBean(objects[0].toString(), InvokeResult.class); } catch (Exception e) { log.error("----执行异常----{}", e); invokeResult.setCode(GDResult.CODE_500.getCode()); invokeResult.setData("后端服务执行异常:+" + e.getMessage()); return invokeResult; } return invokeResult; } /** * 报文获取--替换数据 * * @param data * @return */ public String safetyCheckWebServiceXml(Api1301 data) { String xmlStr = xml_safetyCheckWebService; xmlStr = xmlStr.replace("{Kddm}", GDUtils.formatStr(data.getKqdm()));//库点代码 xmlStr = xmlStr.replace("{Jcjldh}", GDUtils.formatStr(data.getBizId()));//Todo 检查记录单号 xmlStr = xmlStr.replace("{Jcmc}", GDUtils.formatStr(data.getBizId()));//Todo 检查名称 xmlStr = xmlStr.replace("{Jcbm}", GDUtils.formatStr(data.getZrdw()));//检查部门 xmlStr = xmlStr.replace("{Jcr}", GDUtils.formatStr(data.getZrr()));//检查人 xmlStr = xmlStr.replace("{sfczyh}", GDUtils.formatStr(data.getCzbz()));//Todo 是否存在隐患 xmlStr = xmlStr.replace("{sfzgwc}", GDUtils.formatStr(data.getCzbz()));//Todo 是否整改完成 xmlStr = xmlStr.replace("{sfczyh}", GDUtils.formatStr(data.getCzbz()));//Todo 是否存在隐患 xmlStr = xmlStr.replace("{Jcsj}", GDUtils.formatDate(data.getZhgxsj(), "yyyy-MM-dd"));//Todo检查时间 xmlStr = xmlStr.replace("{Zgqx}", GDUtils.formatDate(data.getZhgxsj(), "yyyy-MM-dd"));//Todo整改期限 // xmlStr = xmlStr.replace("{Jcjldh}", GDUtils.formatNum(data.getZczb()));//Todo 检查记录单号 // xmlStr = xmlStr.replace("{Jcjg}", GDUtils.formatNum(data.getZcze()));//Todo 检查项目内容 xmlStr = xmlStr.replace("{Yhms}", GDUtils.formatStr(data.getYhxx()));//隐患描述 // xmlStr = xmlStr.replace("{Yhlb}", GDUtils.formatStr(data.getFddbr()));//Todo 隐患类别 // xmlStr = xmlStr.replace("{Jcjg}", GDUtils.formatStr(data.getFddbr()));//Todo 检查结果 xmlStr = xmlStr.replace("{Zgbm}", GDUtils.formatStr(data.getZrdw()));//Todo 整改部门 xmlStr = xmlStr.replace("{Zgzrr}", GDUtils.formatStr(data.getZrr()));//Todo 整改责任人 xmlStr = xmlStr.replace("{Zgcs}", GDUtils.formatStr(data.getZgysxx()));//Todo 整改措施 // xmlStr = xmlStr.replace("{Sfzgwc}", GDUtils.formatStr(data.getFrlxfs()));//Todo 是否完成整改 // xmlStr = xmlStr.replace("{Fj}", GDUtils.formatStr(data.getFrlxfs()));//Todo 附件ID return xmlStr; } }