|
@@ -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{
|