124 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Java
		
	
	
	
| package tqq9.lc123.cloud.app.plugin.operate.sys;
 | ||
| 
 | ||
| import kd.bos.dataentity.entity.DynamicObject;
 | ||
| import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
 | ||
| import kd.bos.entity.plugin.PreparePropertysEventArgs;
 | ||
| import kd.bos.entity.plugin.args.AfterOperationArgs;
 | ||
| import kd.bos.logging.Log;
 | ||
| import kd.bos.logging.LogFactory;
 | ||
| import kd.bos.orm.query.QCP;
 | ||
| import kd.bos.orm.query.QFilter;
 | ||
| import kd.bos.servicehelper.AttachmentServiceHelper;
 | ||
| import kd.bos.servicehelper.BusinessDataServiceHelper;
 | ||
| import tqq9.lc123.cloud.app.plugin.utils.HttpRequestUtils;
 | ||
| 
 | ||
| import java.io.IOException;
 | ||
| import java.util.ArrayList;
 | ||
| import java.util.HashMap;
 | ||
| import java.util.List;
 | ||
| import java.util.Map;
 | ||
| 
 | ||
| //wms生产商同步
 | ||
| public class WmsScsSyncOpPlugin extends AbstractOperationServicePlugIn {
 | ||
|     private final static Log logger = LogFactory.getLog(WmsScsSyncOpPlugin.class);
 | ||
| 
 | ||
|     DynamicObject BJURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name",
 | ||
|             new QFilter[]{new QFilter("number", QCP.equals, "BJ_POSTURL")});
 | ||
|     String BJ_URL = (String) BJURL.getString("name");
 | ||
|     DynamicObject GZURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name",
 | ||
|             new QFilter[]{new QFilter("number", QCP.equals, "GZ_POSTURL")});
 | ||
|     String GZ_URL = GZURL.getString("name");
 | ||
|     DynamicObject WMSURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name",
 | ||
|             new QFilter[]{new QFilter("number", QCP.equals, "Ttx_MainURL")});
 | ||
|     String WMS_URL = WMSURL.getString("name");
 | ||
| 
 | ||
|     @Override
 | ||
|     public void onPreparePropertys(PreparePropertysEventArgs e) {
 | ||
|         super.onPreparePropertys(e);
 | ||
|         e.getFieldKeys().add("number");
 | ||
|         e.getFieldKeys().add("name");
 | ||
|         e.getFieldKeys().add("tqq9_address");
 | ||
|         e.getFieldKeys().add("tqq9_proaddress");
 | ||
|     }
 | ||
| 
 | ||
|     @Override
 | ||
|     public void afterExecuteOperationTransaction(AfterOperationArgs e) {
 | ||
|         super.afterExecuteOperationTransaction(e);
 | ||
|         DynamicObject[] dataEntities1 = e.getDataEntities();
 | ||
|         if (null != dataEntities1 && dataEntities1.length > 0) {
 | ||
|             for (DynamicObject dataEntity : dataEntities1) {
 | ||
|                 //获取附件url路径信息
 | ||
|                 List<Map<String, String>> urlPathsArray = new ArrayList<>();
 | ||
|                 List<Map<String, Object>> wms_atts = AttachmentServiceHelper.getAttachments("tqq9_proxyandfactory", dataEntity.getPkValue(), "tqq9_attachmentpanelap");
 | ||
|                 for (Map<String, Object> att : wms_atts) {
 | ||
|                     HashMap<String, String> map = new HashMap<>();
 | ||
|                     String url = (String) att.get("url");
 | ||
|                     map.put("urlPath", url);
 | ||
|                     urlPathsArray.add(map);
 | ||
|                 }
 | ||
|                 Map<String, Object> urlPathList = new HashMap<>();
 | ||
|                 urlPathList.put("urlPaths", urlPathsArray);
 | ||
| 
 | ||
|                 //其他入参:
 | ||
|                 String number1 = dataEntity.getString("number");//生产厂商编码
 | ||
|                 String name = dataEntity.getString("name");//生产厂商名称
 | ||
|                 String tqq9_address = dataEntity.getString("tqq9_address");//地址1,string(50)
 | ||
|                 String tqq9_proaddress = dataEntity.getString("tqq9_proaddress");//地址2,string(50)
 | ||
|                 // <actionType>add|update, 必填</actionType>
 | ||
|                 //  <manufactoryCode>生产厂商编码, string (50) , 必填</ manufactoryCode>
 | ||
|                 //   <manufactoryName>生产厂商名称, string (200) </ manufactoryName>
 | ||
|                 //<manufactoryLicense>生产企业许可证/备案凭证号, string (50) </ manufactoryLicense >
 | ||
|                 //<permitType>准证类型, string (50) </ permitType >
 | ||
|                 //<urlPath>url链接地址, string(200), 必填</ urlPath>
 | ||
|                 //<status>是否有效,Y/N(默认为Y)</status>
 | ||
|                 //<address1>地址1,string(50)</address1>
 | ||
|                 //<address2>地址2,string(50)</address2>
 | ||
|                 //<state>省份,string(50)</state>
 | ||
|                 //<city>城市,string(50)</city>
 | ||
|                 //<district>区县,string(50)</district>
 | ||
|                 //<town>镇,string(50)</town>
 | ||
|                 //<country>国家,string(50)</country>
 | ||
|                 //<countryCode>国家编码,string(50)</countryCode>
 | ||
|                 //<stateCode>省份编码,string(50)</stateCode>
 | ||
|                 //<cityCode>城市编码,string(50)</cityCode>
 | ||
|                 //<districtCode>区/县编码,string(50)</districtCode>
 | ||
|                 //<townCode>镇编码,string(50)</townCode>
 | ||
|                 //<postalCode>邮编,string(50)</postalCode>
 | ||
|                 //<attentionTo>联系人,string(50)</attentionTo>
 | ||
|                 //<phoneNum>电话,string(50)</phoneNum>
 | ||
|                 //<mobile>手机,string(50)</mobile>
 | ||
|                 //<faxNum>传真,string(50)</faxNum>
 | ||
|                 //<email>E-mail,string(200)</email>
 | ||
|                 //<remark>备注,string(500)</remark>
 | ||
| 
 | ||
|                 //开始封装
 | ||
|                 Map<String, Object> request = new HashMap<>();
 | ||
|                 request.put("actionType", "update");
 | ||
|                 request.put("manufactoryCode", number1);
 | ||
|                 request.put("manufactoryName", name);
 | ||
|                 request.put("address1", tqq9_address);
 | ||
|                 request.put("address2", tqq9_proaddress);
 | ||
|                 request.put("urlPathList", urlPathList);
 | ||
|                 request.put("status", "Y");
 | ||
|                 // 最终的外层Map
 | ||
|                 Map<String, Object> finalMap = new HashMap<>();
 | ||
|                 finalMap.put("request", request);
 | ||
|                 logger.info("wms生产商同步——request:" + request);
 | ||
|                 StringBuilder xmlBuilder = new StringBuilder();
 | ||
|                 xmlBuilder.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
 | ||
|                 HttpRequestUtils.buildXml(xmlBuilder, finalMap, 0);
 | ||
|                 logger.info("wms生产商同步——xml:" + xmlBuilder);
 | ||
|                 HashMap<String, String> headMap = new HashMap<>();
 | ||
|                 try {
 | ||
|                     String s = HttpRequestUtils.postXml(WMS_URL + "?method=manufacturer.create&v=2.0&format=xml&customerId=123", xmlBuilder.toString(), headMap);
 | ||
|                     logger.info("wms生产商同步接口结果:" + s);
 | ||
|                 } catch (IOException ex) {
 | ||
|                     throw new RuntimeException(ex);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| }
 |