|
@@ -0,0 +1,57 @@
|
|
|
+package com.malk.santai.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.malk.santai.service.StDingProcService;
|
|
|
+import com.malk.service.dingtalk.DDClient;
|
|
|
+import com.malk.service.dingtalk.DDClient_Workflow;
|
|
|
+import com.malk.utils.UtilMap;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Slf4j
|
|
|
+public class StDingProcServiceImpl implements StDingProcService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DDClient_Workflow ddClient_workflow;
|
|
|
+ @Autowired
|
|
|
+ private DDClient ddClient;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void fkdSync(String procInstId) {
|
|
|
+ Map map=ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(),procInstId);
|
|
|
+ log.info("map:{}",map);
|
|
|
+ Map rule=new HashMap();
|
|
|
+ rule.put("TextField-K11U6U5Q","付款事由");// 标题/付款摘要
|
|
|
+ rule.put("RecipientAccountField-K11U6U5P","收款信息");// 收款信息
|
|
|
+ rule.put("MoneyField_FMP7OAX3TZ40","付款金额");// 付款金额
|
|
|
+ Map data=getData(map,rule);
|
|
|
+ data.put("户名", UtilMap.getMap(data,"收款信息").get("name"));// 户名
|
|
|
+ data.put("银行",UtilMap.getMap(data,"收款信息").get("instName"));// 银行
|
|
|
+ data.put("支行信息",UtilMap.getMap(data,"收款信息").get("instBranchName"));// 支行信息
|
|
|
+ data.put("账号",UtilMap.getMap(data,"收款信息").get("cardNo"));// 账号
|
|
|
+ log.info("data:{}",JSONObject.toJSONString(data));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public Map getData(Map instance,Map rule){
|
|
|
+ Map resultMap=new HashMap();
|
|
|
+ List<Map> list=(List<Map>) instance.get("formComponentValues");
|
|
|
+ for (Map map:list) {
|
|
|
+ if(rule.containsKey(String.valueOf(map.get("id")))){
|
|
|
+ String componentType=String.valueOf(map.get("componentType"));
|
|
|
+ if(componentType.equals("RecipientAccountField")){
|
|
|
+ resultMap.put(rule.get(String.valueOf(map.get("id"))),JSONObject.parseObject(String.valueOf(map.get("extValue"))));
|
|
|
+ }else{
|
|
|
+ resultMap.put(rule.get(String.valueOf(map.get("id"))),map.get("value"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+}
|