|
@@ -43,6 +43,7 @@ public class lytoOAController {
|
|
|
private DDClient_Workflow ddClient_workflow;
|
|
|
@Autowired
|
|
|
private YDClient ydClient;
|
|
|
+
|
|
|
@Autowired
|
|
|
private DDClient ddClient;
|
|
|
|
|
@@ -50,6 +51,8 @@ public class lytoOAController {
|
|
|
@SneakyThrows
|
|
|
@PostMapping("/insetToOA")
|
|
|
McR insetXMC(HttpServletRequest request) {
|
|
|
+
|
|
|
+ String mesg = "已完成";
|
|
|
Map data = UtilServlet.getParamMap(request);
|
|
|
if (data != null) {
|
|
|
String AppKey = data.get("AppKey").toString();
|
|
@@ -57,34 +60,47 @@ public class lytoOAController {
|
|
|
String CorpId = data.get("CorpId").toString();
|
|
|
String DDFromName = data.get("FromName").toString();
|
|
|
String DDFromID = data.get("DDFromID").toString();//钉钉表单ID
|
|
|
- String foromuuid=retunYDFROMID(DDFromName);
|
|
|
+ String foromuuid = retunYDFROMID(DDFromName);
|
|
|
+ String FormInstanceId = data.get("FormInstanceId").toString();
|
|
|
if (!AppKey.equals("") && !AppSecret.equals("") && !CorpId.equals("") && !DDFromName.equals("") && !DDFromID.equals("")) {
|
|
|
- //通过CorpI查询对应的数据
|
|
|
- List<Map> dataList_bgxx = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
- .appType("APP_N8M3FKV34PH3KQAXS44M")
|
|
|
- .systemToken("ULD66N81DQ3T5ZD9BPH3S8JUDVT82L8U04H7MUQD")
|
|
|
- .formUuid(foromuuid)
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m7hc1zky", CorpId)))
|
|
|
- .build(), YDConf.FORM_QUERY.retrieve_search_process).getData();
|
|
|
+ try {
|
|
|
+ //通过CorpI查询对应的数据
|
|
|
+ List<Map> dataList_bgxx = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
+ .appType("APP_N8M3FKV34PH3KQAXS44M")
|
|
|
+ .systemToken("ULD66N81DQ3T5ZD9BPH3S8JUDVT82L8U04H7MUQD")
|
|
|
+ .formUuid(foromuuid)
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m7hc1zky", CorpId)))
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_search_process).getData();
|
|
|
|
|
|
- //String formInstanceId = data.get("formInstanceId").toString();
|
|
|
+ //String formInstanceId = data.get("formInstanceId").toString();
|
|
|
|
|
|
|
|
|
- if (dataList_bgxx != null && dataList_bgxx.size() > 0) {
|
|
|
- for (int i = 0; i < dataList_bgxx.size(); i++) {
|
|
|
- Map formdata = dataList_bgxx.get(i);
|
|
|
- formdata = (Map) formdata.get("data");
|
|
|
- //写入OA
|
|
|
- List<Map> formValues = this.retunMap(formdata, DDFromName);////根据表单名称匹配对应的OA字段映射
|
|
|
- System.out.println("formValues:" + formValues);
|
|
|
- String userId = String.valueOf(formdata.get("textField_m7h960t6"));//发起人UserID
|
|
|
|
|
|
- Map extInfo = UtilMap.map("dept_id", DDConf.TOP_DEPARTMENT);
|
|
|
- // Map extInfo = UtilMap.map("dept_id", DDConf.TOP_DEPARTMENT);
|
|
|
- String processInstanceId = ddClient_workflow.doProcessInstances(this.getAccessToken(AppKey, AppSecret), userId, DDFromID, formValues, extInfo);
|
|
|
+ if (dataList_bgxx != null && dataList_bgxx.size() > 0) {
|
|
|
+ for (int i = 0; i < dataList_bgxx.size(); i++) {
|
|
|
+ Map formdata = dataList_bgxx.get(i);
|
|
|
+ formdata = (Map) formdata.get("data");
|
|
|
+ //写入OA
|
|
|
+ List<Map> formValues = this.retunMap(formdata, DDFromName);////根据表单名称匹配对应的OA字段映射
|
|
|
+ System.out.println("formValues:" + formValues);
|
|
|
+ String userId = String.valueOf(formdata.get("textField_m7h960t6"));//发起人UserID
|
|
|
|
|
|
+ Map extInfo = UtilMap.map("dept_id", DDConf.TOP_DEPARTMENT);
|
|
|
+ // Map extInfo = UtilMap.map("dept_id", DDConf.TOP_DEPARTMENT);
|
|
|
+ String processInstanceId = ddClient_workflow.doProcessInstances(this.getAccessToken(AppKey, AppSecret), userId, DDFromID, formValues, extInfo);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ mesg = e.getMessage();
|
|
|
}
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .appType("APP_N8M3FKV34PH3KQAXS44M")
|
|
|
+ .systemToken("ULD66N81DQ3T5ZD9BPH3S8JUDVT82L8U04H7MUQD")
|
|
|
+ .formInstanceId(String.valueOf(FormInstanceId)).useLatestVersion(true)
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("textareaField_m7j6zezs", mesg)))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
|
|
|
|
|
|
}
|
|
@@ -104,7 +120,7 @@ public class lytoOAController {
|
|
|
log.info("响应token, {}", r.getAccessToken());
|
|
|
accessToken = r.getAccessToken();
|
|
|
// token失效自动重置: DD重新调用会重置过期时间
|
|
|
- UtilToken.put("invalid-token-dingtalk", accessToken, r.getExpiresIn() * 1000L);
|
|
|
+ // UtilToken.put("invalid-token-dingtalk", accessToken, r.getExpiresIn() * 1000L);
|
|
|
return accessToken;
|
|
|
}
|
|
|
|