package com.fzzy.push.gd2020.v2; import com.fzzy.api.data.AuthToken; import com.fzzy.api.entity.Api1305; 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 TfzyVentilationWebservice { public static TfzyVentilationWebservice newInstance() { return new TfzyVentilationWebservice(); } /** * 通风-数据接口 -xml报文 */ public String xml_tfzyVentilationWebservice = "\n" + "\n"; /** * @Desc: 通风-数据接口 */ public InvokeResult tfzyVentilationWebservice(AuthToken authToken,ApiConfs conf, Api1305 data) { InvokeResult invokeResult = new InvokeResult(); ClassLoader cl = Thread.currentThread().getContextClassLoader(); String url = conf.getApiUrl()+"/tfzyVentilationWebservice?wsdl"; //填写调用通风作业接口服务 String method = "tfzyVentilationSaveRecordBase"; //填写通风作业方法名 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 = tfzyVentilationWebserviceXml(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 tfzyVentilationWebserviceXml(Api1305 data) { String xmlStr = xml_tfzyVentilationWebservice; xmlStr = xmlStr.replace("{tfzybm}", GDUtils.formatStr(data.getTfzydh()));//通风作业单号 xmlStr = xmlStr.replace("{kddm}", GDUtils.formatStr(data.getKqdm()));//库点代码 xmlStr = xmlStr.replace("{cfmc}", GDUtils.formatStr(data.getCfdm()));//TODO 仓房名称 xmlStr = xmlStr.replace("{tfmd}", GDUtils.formatStr(data.getTfmd()));//通风目的 xmlStr = xmlStr.replace("{ldkxd}", GDUtils.formatNum(data.getLdkxd()));//粮堆孔隙度 xmlStr = xmlStr.replace("{tflx}", GDUtils.formatStr(data.getTflx()));//通风类型 xmlStr = xmlStr.replace("{Fwlx}", GDUtils.formatStr(data.getFdxs()));//风网类型 xmlStr = xmlStr.replace("{Fwszfs}", GDUtils.formatStr(data.getFwszfs()));//风网设置方式 xmlStr = xmlStr.replace("{Fwkkl}", GDUtils.formatNum(data.getFwkkl()));//风网开孔率 xmlStr = xmlStr.replace("{Kqtjb}", GDUtils.formatNum(data.getKqtjb()));//空气途径比 xmlStr = xmlStr.replace("{Tfkszgs}", GDUtils.formatNum(data.getTfkszgs()));//通风口设置个数 xmlStr = xmlStr.replace("{Tfjxh}", GDUtils.formatStr(data.getTfjxh()));//通风机型号 xmlStr = xmlStr.replace("{Tfjts}", GDUtils.formatNum(data.getTfjts()));//通风机台数 xmlStr = xmlStr.replace("{dtfjedqy}", GDUtils.formatNum(data.getDtfjedfl()));//单台风机额定全压 xmlStr = xmlStr.replace("{dtfjedfl}", GDUtils.formatNum(data.getDtfjedfl()));//单台风机额定风量 xmlStr = xmlStr.replace("{Sffs}", GDUtils.formatStr(data.getSffs()));//送风方式 xmlStr = xmlStr.replace("{Dtfjscfl}", GDUtils.formatNum(data.getDtfjscfl()));//单台风机实测风量 xmlStr = xmlStr.replace("{Zfl}", GDUtils.formatNum(data.getDtfjzgl()));//单台风机轴功率 xmlStr = xmlStr.replace("{Dtfjscfl}", GDUtils.formatNum(data.getZfl()));//总风量 xmlStr = xmlStr.replace("{Dwtfl}", GDUtils.formatNum(data.getDwtfl()));//单位通风量 xmlStr = xmlStr.replace("{Scxtzl}", GDUtils.formatNum(data.getScxtzl()));//实测系统阻力 xmlStr = xmlStr.replace("{Zhdl}", GDUtils.formatNum(data.getZhdl()));//总耗电量 xmlStr = xmlStr.replace("{Zydyjdqw}", GDUtils.formatNum(data.getZysqw()));//作业第一阶段气温 xmlStr = xmlStr.replace("{zydyjdpjqs}", GDUtils.formatNum(data.getZysqs()));//作业第一阶段平均气温 xmlStr = xmlStr.replace("{zydyjdtfqpjlw}", GDUtils.formatNum(data.getZyqpjlw()));//作业第一阶段通风前平均粮温 xmlStr = xmlStr.replace("{zydyjdzysc}", GDUtils.formatNum(data.getZyqpjlw()));//TODO 作业第一阶段作业时长 // // xmlStr = xmlStr.replace("{Zydsjdqw}", GDUtils.formatNum(data.getXzqhdm()));//作业第二阶段气温 // xmlStr = xmlStr.replace("{Zydsjdpjqs}", GDUtils.formatNum(data.getXzqhdm()));//作业第二阶段平均气湿 // xmlStr = xmlStr.replace("{Zydejdtfqpjlw}", GDUtils.formatNum(data.getXzqhdm()));//作业第二阶段平均粮温 // xmlStr = xmlStr.replace("{Zydejdzysc}", GDUtils.formatNum(data.getXzqhdm()));//作业第二阶段作业时长 // // // xmlStr = xmlStr.replace("{Zydsjdqw}", GDUtils.formatNum(data.getXzqhdm()));//作业第三阶段气温 // xmlStr = xmlStr.replace("{Zydsjdpjqs}", GDUtils.formatNum(data.getXzqhdm()));//作业第三阶段平均气湿 // xmlStr = xmlStr.replace("{Zydejdtfqpjlw}", GDUtils.formatNum(data.getXzqhdm()));//作业第三阶段平均粮温 // xmlStr = xmlStr.replace("{Zydejdzysc}", GDUtils.formatNum(data.getXzqhdm()));//作业第三阶段作业时长 // // xmlStr = xmlStr.replace("{Zydsjdqw}", GDUtils.formatNum(data.getXzqhdm()));//作业第四阶段气温 // xmlStr = xmlStr.replace("{Zydsjdpjqs}", GDUtils.formatNum(data.getXzqhdm()));//作业第四阶段平均气湿 // xmlStr = xmlStr.replace("{Zydejdtfqpjlw}", GDUtils.formatNum(data.getXzqhdm()));//作业第四阶段平均粮温 // xmlStr = xmlStr.replace("{Zydejdzysc}", GDUtils.formatNum(data.getXzqhdm()));//作业第四阶段作业时长 xmlStr = xmlStr.replace("{Zyqpjlw}", GDUtils.formatNum(data.getZyqpjlw()));//作业前平均粮温 xmlStr = xmlStr.replace("{Jshpjlw}", GDUtils.formatNum(data.getJshpjlw()));//结束后平均粮温 xmlStr = xmlStr.replace("{Dljwnh}", GDUtils.formatNum(data.getDljwnh()));//吨粮降温能耗 xmlStr = xmlStr.replace("{Ssl}", GDUtils.formatNum(data.getSsl()));//失水率 xmlStr = xmlStr.replace("{Bsxgpjjg}", GDUtils.formatStr(data.getBsxgpjjg()));//保水效果评价结果 xmlStr = xmlStr.replace("{Tfjwjyxpjzc}", GDUtils.formatStr(data.getTfjwjyxpjzc()));//通风降温均匀性评价_整仓 xmlStr = xmlStr.replace("{tfjsjyxfxsc}", GDUtils.formatStr(data.getTfjwjyxpjsc()));//通风降温均匀性评价_上层 xmlStr = xmlStr.replace("{Tfjwjyxpjzjc}", GDUtils.formatStr(data.getTfjwjyxpjzjc()));//通风降温均匀性评价_中层 xmlStr = xmlStr.replace("{Tfjwjyxpjxc}", GDUtils.formatStr(data.getTfjwjyxpjxc()));//通风降温均匀性评价_下层 xmlStr = xmlStr.replace("{zyqpjsf}", GDUtils.formatNum(data.getZyqpjsf()));//作业前平均水分 xmlStr = xmlStr.replace("{zyhpjsf}", GDUtils.formatNum(data.getZyqpjlw()));//结束后平均水分 xmlStr = xmlStr.replace("{Jsfd}", GDUtils.formatNum(data.getJsfd()));//降水幅度 xmlStr = xmlStr.replace("{Dljsnh}", GDUtils.formatNum(data.getDljsnh()));//吨粮降水能耗 xmlStr = xmlStr.replace("{tfjsjyxfxzc}", GDUtils.formatStr(data.getTfjsjyxfxzc()));//通风降水均匀性评价_整仓 xmlStr = xmlStr.replace("{Tfjsjyxfxsc}", GDUtils.formatStr(data.getTfjsjyxfxsc()));//通风降水均匀性评价_上层 xmlStr = xmlStr.replace("{Tfjsjyxfxzjc}", GDUtils.formatStr(data.getTfjsjyxfxzjc()));//通风降水均匀性评价_中层 xmlStr = xmlStr.replace("{Tfjsjyxfxxc}", GDUtils.formatStr(data.getTfjsjyxfxxc()));//通风降水均匀性评价_下层 xmlStr = xmlStr.replace("{Tfzyfzr}", GDUtils.formatStr(data.getTfzyfzr()));//通风作业负责人 xmlStr = xmlStr.replace("{Tfzyry}", GDUtils.formatStr(data.getTfzyry()));//通风作业人员 xmlStr = xmlStr.replace("{czbz}", GDUtils.formatStr(data.getCzbz()));//操作标志 xmlStr = xmlStr.replace("{zhgxsj}", GDUtils.formatDate(data.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));//最后更新时间 return xmlStr; } }