CZT
2023-12-01 9541189ca4c0e4dc21a6402d5f879b63d892eb60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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;
    }
}