package com.fzzy.push.gd2020.v2;
|
|
import com.fzzy.api.data.AuthToken;
|
import com.fzzy.api.entity.Api1102;
|
import com.fzzy.api.entity.Api1105;
|
import com.fzzy.api.entity.Api1208;
|
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;
|
|
/**
|
* @Desc: 粮食库存信息--油脂
|
* @author: Andy
|
* @update-time: 2022/10/16
|
*/
|
@Slf4j
|
public class InventoryRecordLiquidWebService {
|
|
public static InventoryInsertRecordSolidWebService newInstance() {
|
return new InventoryInsertRecordSolidWebService();
|
}
|
|
public String xml_webService = "<?xml version=\"1.0\" encoding=\"utf8\"?><root><row id=\"kcgl_inventory_record\"><hwmc desc=\"货位名称\" type=\"varchar\" length=\"32\" requir=\"必填\">{hwmc}</hwmc><foodstuff_grade_id desc=\"粮食等级\" type=\"varchar\" length=\"50\" requir=\"必填\">{foodstuff_grade_id}</foodstuff_grade_id><glfs desc=\"管理方式\" type=\"varchar\" length=\"2\" requir=\"必填\">{glfs}</glfs><scdd desc=\"收储地点\" type=\"varchar\" length=\"1\" requir=\"必填\">{scdd}</scdd><clfs desc=\"储粮方式\" type=\"varchar\" length=\"1\" requir=\"必填\">{clfs}</clfs><rcsj desc=\"入仓时间\" type=\"varchar\" length=\"19\" requir=\"必填\">{rcsj}</rcsj><production_year desc=\"生产年份\" type=\"varchar\" length=\"4\" requir=\"必填\">{production_year}</production_year><gb desc=\"国别\" type=\"varchar\" length=\"3\" requir=\"必填\">{gb}</gb><store_location_id desc=\"库点代码\" type=\"varchar\" length=\"50\" requir=\"必填\">{store_location_id}</store_location_id><storehouse_id desc=\"仓房名称\" type=\"varchar\" length=\"50\" requir=\"必填\">{storehouse_id}</storehouse_id><ownership desc=\"粮权归属地\" type=\"varchar\" length=\"30\" requir=\"必填\">{ownership}</ownership><foodstuff_varieties_id desc=\"粮食品种编码\" type=\"varchar\" length=\"50\" requir=\"必填\">{foodstuff_varieties_id}</foodstuff_varieties_id><foodstuff_nature_id desc=\"粮食性质编码\" type=\"varchar\" length=\"50\" requir=\"必填\">{foodstuff_nature_id}</foodstuff_nature_id><grain_authority desc=\"粮权所属企业\" type=\"varchar\" length=\"50\" requir=\"必填\">{grain_authority}</grain_authority><storage_qty desc=\"存储量(吨)\" type=\"decimal\" length=\"12\" requir=\"必填\">{storage_qty}</storage_qty><production desc=\"产地\" type=\"varchar\" length=\"100\" requir=\"必填\">{production}</production><put_in_time desc=\"入库时间\" type=\"varchar\" length=\"14\" requir=\"必填\">{put_in_time}</put_in_time><goods_allocation_id desc=\"货位编码\" type=\"varchar\" length=\"50\" requir=\"必填\">{goods_allocation_id}</goods_allocation_id><jjsl desc=\"计价数量\" type=\"decimal\" length=\"12\" requir=\"可选\">{jjsl}</jjsl><bclbs desc=\"包存粮包数\" type=\"int\" length=\"12\" requir=\"可选\">{bclbs}</bclbs><sjzlxg desc=\"实际装粮线高\" type=\"decimal\" length=\"12\" requir=\"可选\">{sjzlxg}</sjzlxg><ldtj desc=\"粮堆体积\" type=\"decimal\" length=\"12\" requir=\"可选\">{ldtj}</ldtj><ldkxd desc=\"粮堆孔隙度\" type=\"decimal\" length=\"12\" requir=\"可选\">{ldkxd}</ldkxd><granary_id desc=\"廒间名称\" type=\"varchar\" length=\"50\" requir=\"可选\">{granary_id}</granary_id><hwzt desc=\"货位(油罐)状态\" type=\"varchar\" length=\"1\" requir=\"可选\">{hwzt}</hwzt><ccwcsj desc=\"出仓完成时间\" type=\"varchar\" length=\"19\" requir=\"可选\">{ccwcsj}</ccwcsj><fcrq desc=\"封仓日期\" type=\"varchar\" length=\"19\" requir=\"可选\">{fcrq}</fcrq><qcsj desc=\"清仓时间\" type=\"varchar\" length=\"19\" requir=\"可选\">{qcsj}</qcsj><bz desc=\"备注\" type=\"varchar\" length=\"200\" requir=\"可选\">{bz}</bz><keep_people desc=\"保管员\" type=\"varchar\" length=\"50\" requir=\"可选\">{keep_people}</keep_people><czbz desc=\"操作标志\" type=\"varchar\" length=\"1\" requir=\"必填\">{czbz}</czbz><zhgxsj desc=\"最后更新时间\" type=\"varchar\" length=\"19\" requir=\"必填\">{zhgxsj}</zhgxsj></row></root>";
|
|
|
private String method = "inventoryInsertRecordByLiquid";// 填写数据方法名
|
private String wsdl = "/inventoryRecordLiquidWebService?wsdl";//填写调用库点信息接口服务
|
private String nameSpace = "http://service.sljt.com";// 填写调用省平台命名空间
|
|
|
public InvokeResult webService(AuthToken authToken,ApiConfs conf, Api1208 data, Api1102 api1102, Api1105 api1105) {
|
InvokeResult invokeResult = new InvokeResult();
|
|
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
|
|
String url = conf.getApiUrl() + wsdl; // 填写调用粮食库存数据接口服务
|
|
|
Thread.currentThread().setContextClassLoader(cl);
|
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
|
Client client = dcf.createClient(url);
|
QName name = new QName(nameSpace, method);
|
Object[] objects;
|
|
try {
|
|
String xmlStr = webServiceXml(data, api1102, api1105);// 获取接口的输入报文,根据需要填写相应的报文
|
|
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;
|
|
|
}
|
|
private String webServiceXml(Api1208 data, Api1102 api1102, Api1105 api1105) {
|
String xmlStr = xml_webService;
|
|
xmlStr = xmlStr.replace("{store_location_id}", GDUtils.formatStr(data.getKqdm()));//库点代码
|
xmlStr = xmlStr.replace("{storehouse_id}", GDUtils.formatStr(data.getHwdm()));// 仓房名称 -值为货位代码
|
xmlStr = xmlStr.replace("{ownership}", GDUtils.formatStr(api1102.getXzqhdm()));//粮权归属行政区划 -使用库区的行政区
|
xmlStr = xmlStr.replace("{foodstuff_varieties_id}", GDUtils.formatStr(data.getLspzdm()));//粮食品种
|
xmlStr = xmlStr.replace("{foodstuff_nature_id}", GDUtils.formatStr(data.getLsxzdm()));//粮食性质
|
xmlStr = xmlStr.replace("{grain_authority}", GDUtils.formatStr(data.getLqgsdwdm()));//粮权所属企业
|
xmlStr = xmlStr.replace("{storage_qty}", GDUtils.formatNum(data.getSjsl()));//库存量
|
xmlStr = xmlStr.replace("{jjsl}", GDUtils.formatNum(data.getJjsl()));//计价数量
|
xmlStr = xmlStr.replace("{bclbs}", GDUtils.formatNum(data.getBclbs()));//包存粮包数
|
xmlStr = xmlStr.replace("{sjzlxg}", GDUtils.formatNum(data.getSjzlxg()));//实际装粮线高
|
xmlStr = xmlStr.replace("{ldtj}", GDUtils.formatNum(data.getLdtj()));//粮堆体积
|
xmlStr = xmlStr.replace("{ldkxd}", "");//粮堆孔隙度
|
xmlStr = xmlStr.replace("{put_in_time}", GDUtils.formatDate(data.getRcsj(), "yyyy-MM-dd"));//入库日期
|
xmlStr = xmlStr.replace("{production}", GDUtils.formatStr(data.getCd()));//产地
|
xmlStr = xmlStr.replace("{granary_id}", "");//廒间
|
xmlStr = xmlStr.replace("{goods_allocation_id}", GDUtils.formatStr(data.getHwdm()));//货位编码
|
xmlStr = xmlStr.replace("{hwmc}", GDUtils.formatStr(api1105.getHwmc()));//货位名称
|
|
xmlStr = xmlStr.replace("{keep_people}", GDUtils.formatStr(data.getBgy()));//保管员姓名
|
xmlStr = xmlStr.replace("{production_year}", GDUtils.formatStr(data.getShnd()));// 收获年度
|
xmlStr = xmlStr.replace("{shnd}", GDUtils.formatStr(data.getShnd()));//收获年度
|
xmlStr = xmlStr.replace("{foodstuff_grade_id}", GDUtils.formatStr(data.getLsdjdm()));//粮食等级
|
xmlStr = xmlStr.replace("{gb}", GDUtils.formatStr(data.getGb()));//国别
|
xmlStr = xmlStr.replace("{hwzt}", GDUtils.formatStr(data.getHwzt()));//货位(油罐)状态
|
xmlStr = xmlStr.replace("{glfs}", GDUtils.formatStr(data.getGlfs()));//管理方式
|
xmlStr = xmlStr.replace("{scdd}", GDUtils.formatStr(data.getScdd()));//收储地点
|
xmlStr = xmlStr.replace("{clfs}", GDUtils.formatStr(data.getClfs()));//储粮方式
|
xmlStr = xmlStr.replace("{rcsj}", GDUtils.formatDate(data.getRcsj(), "yyyy-MM-dd HH:mm:ss"));//入仓时间
|
xmlStr = xmlStr.replace("{ccwcsj}", GDUtils.formatDate(data.getCcwcsj(), "yyyy-MM-dd HH:mm:ss"));//出仓完成时间
|
xmlStr = xmlStr.replace("{fcrq}", GDUtils.formatDate(data.getFcrq(), "yyyy-MM-dd"));//封仓日期
|
xmlStr = xmlStr.replace("{qcsj}", "");//清仓时间
|
xmlStr = xmlStr.replace("{bz}", GDUtils.formatStr(data.getBz()));//备注
|
xmlStr = xmlStr.replace("{czbz}", GDUtils.formatStr(data.getCzbz()));//操作标志
|
xmlStr = xmlStr.replace("{zhgxsj}", GDUtils.formatDate(data.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));//最后更新时间
|
|
return xmlStr;
|
}
|
}
|