|
@@ -6,6 +6,7 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.dataentity.resource.ResManager;
|
|
|
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.BusinessDataServiceHelper;
|
|
|
import kd.fi.er.business.trip.model.TripSyncDataMappingModel;
|
|
@@ -22,7 +23,7 @@ import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
|
|
|
|
- * 滴滴-同步组织
|
|
|
+ * 滴滴-同步组织,全复制的7.0.8的标准源码后改造
|
|
|
* @author wanghaiwu_kd
|
|
|
* @date 2025/06/16
|
|
|
*/
|
|
@@ -68,7 +69,7 @@ public class DiDiTripOrgCusInvoke extends AbstractOrgInvoke<Set<JSONObject>> {
|
|
|
String access_token = DiDiServiceUtil.getCacheToken(new Date());
|
|
|
logger.info("Line 76 access_token{}", access_token);
|
|
|
if (access_token == null) {
|
|
|
- this.tripSyncLogParam.setMessage(ResManager.loadKDString("商旅集成,获取滴滴token为空,请检查配置。", "DiDiTripOrgInvoke_1", "fi-er-business", new Object[0]));
|
|
|
+ this.tripSyncLogParam.setMessage(ResManager.loadKDString("商旅集成,获取滴滴Token为空,请检查配置。", "DiDiTripOrgInvoke_1", "fi-er-business", new Object[0]));
|
|
|
this.tripSyncLogParam.setStatus("B");
|
|
|
return null;
|
|
|
} else {
|
|
@@ -86,7 +87,6 @@ public class DiDiTripOrgCusInvoke extends AbstractOrgInvoke<Set<JSONObject>> {
|
|
|
Arrays.stream(orgDOs).forEach((orgDO) -> {
|
|
|
String name = orgDO.getString("fullname");
|
|
|
String out_budget_id = String.valueOf(orgDO.getLong("org.id"));
|
|
|
- String parent_id = String.valueOf(orgDO.getLong("parent.id"));
|
|
|
|
|
|
HashMap<String, Object> signMap = new HashMap();
|
|
|
signMap.put("client_id", client_id);
|
|
@@ -99,8 +99,9 @@ public class DiDiTripOrgCusInvoke extends AbstractOrgInvoke<Set<JSONObject>> {
|
|
|
signMap.put("name", name);
|
|
|
signMap.put("out_budget_id", String.valueOf(out_budget_id));
|
|
|
|
|
|
-
|
|
|
- signMap.put("parent_id", String.valueOf(parent_id));
|
|
|
+
|
|
|
+ String parentId_DiDi = getDiDiOrgId(orgDO.getLong("parent.id"));
|
|
|
+ signMap.put("parent_id", String.valueOf(parentId_DiDi));
|
|
|
|
|
|
String signKey = (String)supplierMap.get("reservedfield1");
|
|
|
String addDeptSign = DiDiServiceUtil.genSign(signMap, signKey);
|
|
@@ -144,7 +145,7 @@ public class DiDiTripOrgCusInvoke extends AbstractOrgInvoke<Set<JSONObject>> {
|
|
|
String url = "";
|
|
|
switch (syncKey) {
|
|
|
case "add":
|
|
|
- url = (String) ExternalConstants.DIDIURLMAP.get("BudgetCenterAddKey");
|
|
|
+ url = (String)ExternalConstants.DIDIURLMAP.get("BudgetCenterAddKey");
|
|
|
break;
|
|
|
case "edit":
|
|
|
url = (String)ExternalConstants.DIDIURLMAP.get("BudgetCenterEditKey");
|
|
@@ -177,4 +178,26 @@ public class DiDiTripOrgCusInvoke extends AbstractOrgInvoke<Set<JSONObject>> {
|
|
|
return code;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 根据星瀚组织ID查询映射的DiDi组织ID
|
|
|
+ * @param orgId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String getDiDiOrgId(Long orgId){
|
|
|
+ String didiOrgId = "";
|
|
|
+
|
|
|
+ if(orgId > 0L){
|
|
|
+ QFilter qFilter = new QFilter("server", QCP.equals, "DIDI");
|
|
|
+ qFilter.and(new QFilter("datatype", QCP.equals, "bos_org"));
|
|
|
+ qFilter.and(new QFilter("innerdataid", QCP.equals, orgId));
|
|
|
+
|
|
|
+ DynamicObject mappingInfo = BusinessDataServiceHelper.loadSingle("er_tripsync_datamapping", qFilter.toArray());
|
|
|
+ if(mappingInfo != null){
|
|
|
+ didiOrgId = mappingInfo.getString("outdataid");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return didiOrgId;
|
|
|
+ }
|
|
|
}
|