| 
					
				 | 
			
			
				@@ -7,18 +7,14 @@ import kd.bos.entity.EntityMetadataCache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.logging.Log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.logging.LogFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.orm.query.QFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.sdk.util.KHttpClientUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.RoundingMode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.sql.Timestamp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.OperationServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.SaveServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nckd.base.helper.CommonHelperUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -385,6 +381,7 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取接口链接等信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx", new QFilter[]{new QFilter("number", "=", "paytoJHX")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String url = jkpzxx.getString("nckd_servername"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean isESBApi = jkpzxx.getBoolean("nckd_isesb"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (DynamicObject dataEntity : billEntities) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             boolean isSuccess = false;//是否成功标识 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -453,13 +450,15 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, String> header = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             header.put("Content-Type", "application/json; charset=UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String bodyString = buildEsbApiBodyJSON(new JSONObject(qjjson)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果是esb接口,需要包一层参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(isESBApi) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                qjjson = buildEsbApiBodyJSON(new JSONObject(qjjson)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String apiResult = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                apiResult = KHttpClientUtils.postjson(url, header, bodyString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                apiResult = HttpUtils.postjson(url, header, qjjson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                throw new RuntimeException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append("错误号:").append("XXXXXXX"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -480,18 +479,7 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //存入日志表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             saveAgentlog(payBillEntity, qjjson, apiResult, "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject apiResultJSON = new JSONObject(apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(apiResultJSON.get("responseData") == null || apiResultJSON.getJSONArray("responseData").length() == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("错误号:").append("XXXXXXX"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("\r\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return errMsg.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject cbsReturnJson = apiResultJSON.getJSONArray("responseData").getJSONObject(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            JSONObject cbsReturnJson = new JSONObject(apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /************************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (cbsReturnJson == null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -559,6 +547,8 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx", new QFilter[]{new QFilter("number", "=", "paytoJHX")}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String url = jkpzxx.get("nckd_servername") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean isESBApi = jkpzxx.getBoolean("nckd_isesb"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (DynamicObject dataEntity : billEntities) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             boolean isSuccess = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             boolean isZFQZ = true; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -675,13 +665,15 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, String> header = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             header.put("Content-Type", "application/json; charset=UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String bodyString = buildEsbApiBodyJSON(new JSONObject(qjjson)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果是esb接口,需要包一层参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(isESBApi) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                qjjson = buildEsbApiBodyJSON(new JSONObject(qjjson)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String apiResult = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                apiResult = KHttpClientUtils.postjson(url, header, bodyString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                apiResult = HttpUtils.postjson(url, header, qjjson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                throw new RuntimeException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append("错误号:").append("XXXXXXX"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -702,21 +694,9 @@ public class PayBillToolUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //存入日志表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             savelog(payBillEntity, qjjson, apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject apiResultJSON = new JSONObject(apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(apiResultJSON.get("responseData") == null || apiResultJSON.getJSONArray("responseData").length() == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("错误号:").append("XXXXXXX"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errMsg.append("\r\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return errMsg.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject cbsReturnJson = apiResultJSON.getJSONArray("responseData").getJSONObject(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            JSONObject cbsReturnJson = new JSONObject(apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /************************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (cbsReturnJson == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 isSuccess = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,"); 
			 |