123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- package com.steerinfo.dil.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.steerinfo.dil.mapper.AmsNotUploadedEasMapper;
- import com.steerinfo.dil.wsdl.LoginUtil;
- import com.steerinfo.dil.wsdl.ServiceInfo;
- import com.steerinfo.dil.wsdl.WSContext;
- import com.steerinfo.dil.wsdl.WSUpDaxingMeteringSystemFacadeSrvProxyServiceLocator;
- import org.dom4j.Document;
- import org.dom4j.DocumentHelper;
- import org.dom4j.Element;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.text.SimpleDateFormat;
- import java.util.List;
- import java.util.Map;
- /**
- * @ author :TXF
- * @ time :2022/2/16 17:28
- */
- @Service
- public class AmsNotUploadedEasServiceImpl {
- @Autowired
- AmsNotUploadedEasMapper amsNotUploadedEasMapper;
- /**
- * 模拟采购报文
- * @Author TXF
- * @Date 2022/2/15 19:11
- * @param
- * @return
- **/
- public void makeXmlFile(){
- List<Map<String, Object>> asd = amsNotUploadedEasMapper.asd();
- int i = 1;
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- for (Map<String, Object> map : asd) {
- if(map.get("resultTareWeightTime") != null)
- map.put("resultTareWeightTime",sdf.format(map.get("resultTareWeightTime")));
- if(map.get("resultCrossWeightTime") != null)
- map.put("resultCrossWeightTime",sdf.format(map.get("resultCrossWeightTime")));
- // map.put("No", "PO2021013615");
- // map.put("easEntryId", "YANhW8BARA+c4oqKXy0/YiYEHMU=");
- String xml = asXmlData(map);
- sendMesToKD(xml);
- System.out.println(i++);
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- // System.out.println(xml);
- }
- }
- /**
- * 创建计量数据 金蝶xml格式字符串
- * @Author TXF
- * @Date 2022/2/10 17:32
- * @param map
- * @return
- **/
- public String asXmlData(Map<String, Object> map){
- // 创建一个Document实例
- Document doc = DocumentHelper.createDocument();
- // 添加根节点
- Element requests = doc.addElement("requests");
- //添加第子节点
- Element request = requests.addElement("request");
- request.addElement("TypeID").addText("PUR"); //采购订单类型
- request.addElement("FNumber").addText((String) map.get("resultPoundNo")); //磅单号
- request.addElement("FBizDate").addText((String) map.get("resultTareWeightTime")); // 净重时间
- request.addElement("Carnumber").addText((String) map.get("capacityNumber")); //车牌号
- request.addElement("FTransportOrgID").addText(""); //运输单位
- request.addElement("FGrossScaleID").addText((String) map.get("resultCrossCalculateNumber")); //毛重汽车衡
- request.addElement("FTareScaleID").addText((String) map.get("resultTareCalculateNumber")); //皮重汽车衡
- request.addElement("FGrossWeight").addText(String.valueOf(map.get("resultCrossWeight"))); //毛重
- request.addElement("FTareWeight").addText(String.valueOf(map.get("resultTareWeight"))); //皮重
- request.addElement("FGrossPoundTime").addText((String) map.get("resultCrossWeightTime")); //毛重时间
- request.addElement("FTarePoundTime").addText((String) map.get("resultTareWeightTime")); //皮重时间
- request.addElement("FSourceBillID").addText((String) map.get("No")); //采购订单号
- request.addElement("FSourceBillEntryID").addText((String) map.get("easEntryId")); //分录ID
- request.addElement("FNetWeight").addText(String.valueOf( map.get("resultNetWeight"))); //净重
- request.addElement("FIncidental").addText("0"); //扣杂
- request.addElement("FLastNetWeight").addText(String.valueOf(map.get("resultNetWeight"))); //最后净重
- request.addElement("FDescription").addText(""); //备注
- return doc.asXML();
- }
- /**
- *
- * 推送数据给金蝶接口
- * @Author TXF
- * @Date 2022/2/10 17:16
- * @param xml 报文
- * @return Integer 1 成功 0 失败
- **/
- public int sendMesToKD(String xml){
- try {
- System.out.println(xml);
- ServiceInfo service = new ServiceInfo("user", "dgjt@kingdee", "eas", "A004", "L2", 1);
- service.setServername("172.16.62.243" , "8888");
- WSContext wsContext = LoginUtil.doEASLogin(service);
- String sessionId = wsContext.getSessionId();
- if(null == sessionId) {
- System.out.println("[error]: 登陆有问题");
- return 0;
- }
- WSUpDaxingMeteringSystemFacadeSrvProxyServiceLocator locator = new WSUpDaxingMeteringSystemFacadeSrvProxyServiceLocator();
- String res = locator.getWSUpDaxingMeteringSystemFacade().saveWeighBill(xml);
- Map returnMap = JSON.parseObject(res, Map.class);
- if("S02".equals(String.valueOf(returnMap.get("Status")))){
- return 1;
- }else {
- System.out.println(xml + "推送失败");
- return 0;
- }
- } catch (Exception e) {
- System.out.println(xml + "数据推送金蝶失败:" + e.getMessage());
- return 0;
- }
- }
- }
|