| 
					
				 | 
			
			
				@@ -2,6 +2,7 @@ package fi.cas.task; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.druid.support.logging.Log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.druid.support.logging.LogFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.kingdee.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import fi.cas.opplugin.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.context.RequestContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.dataentity.entity.DynamicObject; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13,10 +14,8 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.SaveServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.HashSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class PayQueryStatusTast extends AbstractTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static final Log log = LogFactory.getLog(PayQueryStatusTast.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,7 +31,7 @@ public class PayQueryStatusTast extends AbstractTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject[] payinfos = BusinessDataServiceHelper.load("cas_paybill","billno,billstatus,nckd_paystatus,nckd_sbyy,nckd_fqqdrq,nckd_fkcs,nckd_bbh", new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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 : payinfos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //调用接口查询付款状态 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,12 +42,45 @@ public class PayQueryStatusTast extends AbstractTask { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             param.put("data",data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             param.put("txDateTime",Utils.getData(new Date(), "yyyyMMddHHmmss")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             param.put("batchNo",TypeUtils.nullToString(dataEntity.get("billno"))+"-"+TypeUtils.nullToString(dataEntity.get("nckd_bbh"))+"-"+Utils.getData(new Date(), "yyyyMMddHHmmss")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            param.put("code","NSTC-Q001"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            param.put("code","JY-NSTC-Q001"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String bodyjson=param.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String bodyjson = param.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String billNum = dataEntity.getString("billno"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.info("单据号:"+billNum+"传入参数"+param.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONObject cbsReturnJson =PayBillToolUtil.JHXServiceQuery(url,bodyjson);//待补充,超时返回参数待修改,整体待重构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            JSONObject cbsReturnJson = PayBillToolUtil.JHXServiceQuery(url, bodyjson);//待补充,超时返回参数待修改,整体待重构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /***************************************add by wanghaiwu 20225/05/24*************************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //改成调用restful ebs api的方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, String> header = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header.put("Content-Type", "application/json; charset=UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果是esb接口,需要包一层参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(isESBApi) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                bodyjson = PayBillToolUtil.buildEsbApiBodyJSON(new JSONObject(bodyjson)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String apiResult = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                apiResult = HttpUtils.postjson(url, header, bodyjson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("单据号:" + billNum + "查询失败:" + e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(StringUtils.isEmpty(apiResult)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("单据号:" + billNum + "查询结果为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.info("单据号:" + billNum + "返回参数" + apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            JSONObject cbsReturnJson = new JSONObject(apiResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /************************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.info("单据号:"+billNum+"返回参数"+cbsReturnJson.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(cbsReturnJson==null||cbsReturnJson.get("data")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else{ 
			 |