ShipmentClient.java
2.53 KB
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
package com.huaheng.api.erp.client;
import com.huaheng.api.erp.client.shipment.rfc.TBAT;
import com.huaheng.api.erp.client.shipment.rfc.TSER;
import com.huaheng.api.erp.domain.Shipment;
import com.huaheng.api.erp.domain.ShipmentItem;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.framework.config.JaxWsDynamicClientFactory;
import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
import org.apache.cxf.endpoint.Client;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import javax.xml.ws.Holder;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Service
public class ShipmentClient {
private static final Logger log = LoggerFactory.getLogger(ShipmentClient.class);
public void soReply(ShipmentDetail shipmentDetail) {
JaxWsDynamicClientFactory jdcf = JaxWsDynamicClientFactory.newInstance();
Client client = jdcf.createClient("http://192.168.11.24:9090/ZmmWsWms001?wsdl");
Holder<String> message = new Holder<>();
Holder<String> code = new Holder<>();
Holder<String> credential = new Holder<>();
TBAT shipment = new TBAT();
TSER shipmentItem =new TSER();
shipment.setSAPNO(shipmentDetail.getReferCode());
shipment.setSAPLINE(shipmentDetail.getReferLineNum());
shipment.setMATNR(shipmentDetail.getMaterialCode());
shipment.setCHARG(shipmentDetail.getBatch());
shipment.setLGORT(shipmentDetail.getLGORT());
shipment.setMENGE(Integer.valueOf(shipmentDetail.getShipQty().toString()));
shipmentItem.setSAPNO(shipmentDetail.getReferCode());
shipmentItem.setSAPLINE(shipmentDetail.getReferLineNum());
shipmentItem.setCHARG(shipmentDetail.getBatch());
shipmentItem.setSERNR(shipmentDetail.getUserDef1());
List<TBAT> shipments = new ArrayList<>();
List<TSER> shipmentItems = new ArrayList<>();
shipments.add(shipment);
shipmentItems.add(shipmentItem);
Holder<List<TBAT>> listHolder = new Holder<List<TBAT>>(shipments);
Holder<List<TSER>> itemListHolder = new Holder<List<TSER>>(shipmentItems);
try {
client.invoke("ZMMFM_WMS_001", listHolder,itemListHolder,
credential, message, code);
}catch (Exception e){
throw new ServiceException("出库回传,回调erp接口错误");
}
log.info("回传成功,物料凭证为{},回传信息:{},信息类型:{}",credential,message,code);
}
}