lfx 11 kuukautta sitten
vanhempi
commit
73220f73e3

+ 30 - 0
mjava-mc/src/main/java/com/malk/mc/controller/McYdController.java

@@ -2,15 +2,21 @@ package com.malk.mc.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
 import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
 import com.malk.service.aliwork.YDService;
 import com.malk.utils.PublicUtil;
+import com.malk.utils.UtilMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Arrays;
+
 /***
  * 宜搭服务
  */
@@ -20,7 +26,14 @@ public class McYdController {
 
     @Autowired
     private YDService ydService;
+    @Autowired
+    private YDClient ydClient;
 
+    /***
+     * 复制表单数据到另一个表
+     * @param param
+     * @return
+     */
     @PostMapping("copy")
     public McR copy(@RequestBody JSONObject param){
         if(PublicUtil.isNull(param,"instanceId","formUuid")){
@@ -31,4 +44,21 @@ public class McYdController {
         return McR.success();
     }
 
+    /***
+     * 保存关联表单数据
+     * @param param
+     * @return
+     */
+    @PostMapping("saveGl")
+    public McR saveGl(@RequestBody JSONObject param){
+        if(PublicUtil.isNull(param,"formInstId","formUuid","title","saveFormInstId","compId","appType")){
+            return McR.errorNullPointer();
+        }
+        ydClient.operateData(YDParam.builder().updateFormDataJson(JSONObject.toJSONString(UtilMap.map(param.getString("compId"),Arrays.asList(
+                UtilMap.map("appType, formType, instanceId, title, subTitle, formUuid",param.getString("appType"),"receipt",param.getString("formInstId")
+                        ,param.getString("title"),param.getString("subTitle"),param.getString("formUuid")))
+        ))).formInstId(param.getString("saveFormInstId")).build(), YDConf.FORM_OPERATION.update);
+        return McR.success();
+    }
+
 }

+ 11 - 1
mjava-mc/src/test/java/com/malk/mc/PocTbTest.java

@@ -3,6 +3,9 @@ package com.malk.mc;
 import com.malk.mc.entity.PocTbUser;
 import com.malk.mc.mapper.PocTbUserMapper;
 import com.malk.mc.service.McPocTbService;
+import com.malk.service.dingtalk.DDClient;
+import com.malk.service.dingtalk.DDClient_Notice;
+import com.malk.service.dingtalk.DDClient_Workflow;
 import com.malk.service.teambition.TBClient;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
@@ -29,10 +32,17 @@ public class PocTbTest {
 
     @Autowired
     private PocTbUserMapper pocTbUserMapper;
+    @Autowired
+    private DDClient_Workflow ddClient_workflow;
+    @Autowired
+    private DDClient ddClient;
 
     @Test
     public void test() {
-        mcPocTbService.saveWorkTimes("665ee80a57df029b4375c6de","616fb6f78ad4104a10515809", Arrays.asList("6671330b546ad300120e4c5c"));
+        String url="https%3A%2F%2Foapi.dingtalk.com%2Fconnect%2Foauth2%2Fsns_authorize%3Fappid%3Ddingclamhu8t5rm8nvbe%26response_type%3Dcode%26scope%3Dsnsapi_auth%26redirect_uri%3Dhttps%3A%2F%2Ftyeeli.test.isrm.going-link.com%2Foauth%2Flogin%2Fbykey%2F__unilink%2F76fzZhsvEibt6AusJiaLPoFc0F7Hs3V3DnUJNRJOuS2c7glLug7wEumwptkIgK3QMwpuLbUro6gSnWJGMIabbJbDkDAOHB6d1DWBiaCU64jwDpmRyIUCuzicg4JhW9YH9fevXP1waCmbyzccTVwnx0MnDQ";
+//        mcPocTbService.saveWorkTimes("665ee80a57df029b4375c6de","616fb6f78ad4104a10515809", Arrays.asList("6671330b546ad300120e4c5c"));
+        ddClient_workflow.createTBTask(ddClient.getAccessToken(),"153620324221442254","测试","测试",0,
+                Arrays.asList("153620324221442254"),Arrays.asList(),UtilMap.map("pcUrl, appUrl",url,url),true,10,null);
     }
 
 }

+ 14 - 4
mjava-pake/src/main/java/com/malk/pake/controller/DingAlibtripController.java

@@ -34,14 +34,19 @@ public class DingAlibtripController {
     @PostMapping("/project/add")
     public McR addProject(@RequestBody JSONObject param){
         if(PublicUtil.isNull(param,"projectId","projectName")) return McR.errorNullPointer();
-        String result=ddClient_alibtrip.addProject(ddClient.getAccessToken(),param.getString("projectName"),param.getString("projectId"));
-        create(param.getString("projectName"),param.getString("projectId"));
+        String result="";
+        try {
+            result=ddClient_alibtrip.addProject(ddClient.getAccessToken(),param.getString("projectName"),param.getString("projectId"));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        create(param.getString("projectName"),param.getString("projectId"),param.getString("userId"));
         return McR.success(result);
     }
 
-    private void create(String name,String id){
+    private void create(String name,String id,String userId){
         ddClient_workflow.doProcessInstances(ddClient.getAccessToken(),"17104651870654620",CODE, Arrays.asList(
-                dataName(name),dataId(id)
+                dataName(name),dataId(id),dataPeople(userId)
                 ),
                 UtilMap.map("dept_id","-1"));
     }
@@ -53,4 +58,9 @@ public class DingAlibtripController {
     private Map dataId(String id){
         return UtilMap.map("name, value","项目编号",id);
     }
+
+    private Map dataPeople(String userId){
+        return UtilMap.map("name, value","项目经理",userId);
+    }
+
 }

+ 6 - 6
mjava-pake/src/main/java/com/malk/pake/event/PkDingEventImpl.java

@@ -21,11 +21,6 @@ public class PkDingEventImpl implements DDEvent {
     @Override
     public void executeEvent_Task_Finish(String processInstanceId, String processCode, boolean isAgree, String remark) {
         // 审批任务回调执行业务逻辑
-        log.info("帕科审批任务完成回调,processInstanceId:{},processCode{}",processInstanceId,processCode);
-        if(DING_PROC_FKD_CODE.equals(processCode)&&isAgree){
-            log.info("进入同步");
-            pkDingProcService.syncAmt(processInstanceId);
-        }
     }
 
     @Override
@@ -40,7 +35,12 @@ public class PkDingEventImpl implements DDEvent {
 
     @Override
     public void executeEvent_Instance_Finish(String processInstanceId, String processCode, boolean isAgree, boolean isTerminate, String staffId) {
-
+        // 审批实例回调执行业务逻辑
+        log.info("帕科审批任务完成回调,processInstanceId:{},processCode{}",processInstanceId,processCode);
+        if(DING_PROC_FKD_CODE.equals(processCode)&&isAgree){
+            log.info("进入同步");
+            pkDingProcService.syncAmt(processInstanceId);
+        }
     }
 
     @Override

+ 35 - 9
mjava-pake/src/test/java/com/malk/pake/DingTest.java

@@ -59,17 +59,39 @@ public class DingTest {
 
     @Test
     public void syncProject(){
-        List<String> list= FileUtil.readUtf8Lines("/home/ids.txt");
-        for (int i = 0; i < list.size(); i++) {
-            log.info("处理进度:{}/{}",i+1,list.size());
-            String[] data=list.get(i).split("###");
-            create(data[0],data[1]);
-        }
+//        List<String> list= FileUtil.readUtf8Lines("/home/ids.txt");
+//        for (int i = 0; i < list.size(); i++) {
+//            log.info("处理进度:{}/{}",i+1,list.size());
+//            String[] data=list.get(i).split("###");
+//            create(data[0],data[1],data[2]);
+//        }
+
+        int i=0,t=0;
+        do {
+            i++;
+            DDR_New projectData = ydClient.queryData(YDParam.builder()
+                    .formUuid("FORM-NO96679107GDYGUK9SM8T42G95KA2KZOMUELL4")
+                    .pageNumber(i)
+                    .build(), YDConf.FORM_QUERY.retrieve_list);
+            if(i==1){
+                t=Integer.parseInt(String.valueOf((projectData.getTotalCount()/YDConf.PAGE_SIZE_LIMIT)))+1;
+            }
+            List<Map> dataList = (List<Map>) projectData.getData();
+            for (Map map:dataList){
+                Map formData=UtilMap.getMap(map,"formData");
+                try {
+                    create(UtilMap.getString(formData,"textField_llemcq7b"),UtilMap.getString(formData,"textField_llemcq7d"),UtilMap.getString(formData,"employeeField_llemcq8c_id"));
+                }catch (Exception e){
+                    log.info("数据:{},{},{}",UtilMap.getString(formData,"textField_llemcq7b"),UtilMap.getString(formData,"textField_llemcq7d"),UtilMap.getString(formData,"employeeField_llemcq8c_id"));
+                    e.printStackTrace();
+                }
+            }
+        }while (i<t);
     }
 
-    private void create(String name,String id){
-        ddClient_workflow.doProcessInstances(ddClient.getAccessToken(),"17104651870654620",code, Arrays.asList(
-                dataName(name),dataId(id)
+    private void create(String name,String id,String userId){
+        ddClient_workflow.doProcessInstances(ddClient.getAccessToken(),"17104651870654620","PROC-27EE84F7-EA7E-460C-B9F4-21D54DFD11AA", Arrays.asList(
+                dataName(name),dataId(id),dataPeople(userId)
                 ),
                 UtilMap.map("dept_id","-1"));
     }
@@ -82,4 +104,8 @@ public class DingTest {
         return UtilMap.map("name, value","项目编号",id);
     }
 
+    private Map dataPeople(String userId){
+        return UtilMap.map("name, value","项目经理",userId);
+    }
+
 }