Browse Source

绩效考核取值调整
澳斯漮项目钉钉发起审批及撤销审批新版SDK

fyz 1 month ago
parent
commit
a24b9f0715

+ 16 - 14
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/WorkServiceImpl.java

@@ -762,7 +762,7 @@ public class WorkServiceImpl implements WorkService {
                 ));
                 ));
 
 
         //采购订单档案非工作服数据
         //采购订单档案非工作服数据
-        Map<String, HashMap<String, Object>> workNoCloCost = orderSons.stream().filter(m -> !"工作服".equals(m.get("wlname"))).collect(
+        Map<String, HashMap<String, Object>> workNoCloCost = orderSons.stream().filter(m -> !"保洁服".equals(m.get("wlname"))).collect(
                 Collectors.groupingBy(
                 Collectors.groupingBy(
                         //根据项目点名称
                         //根据项目点名称
                         map -> map.get("name").toString(),
                         map -> map.get("name").toString(),
@@ -810,7 +810,7 @@ public class WorkServiceImpl implements WorkService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-15CA65DBF03C41E2B497C235827ED410KFE9")
                 .formUuid("FORM-15CA65DBF03C41E2B497C235827ED410KFE9")
-                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lr26l3h2",dateList)))
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lr26l3h2, selectField_lr26l3h8",dateList,"物耗/配件")))
                 .build());
                 .build());
 
 
         Map<String, HashMap<String, Object>> procurements = procurementDetailsList.stream().collect(
         Map<String, HashMap<String, Object>> procurements = procurementDetailsList.stream().collect(
@@ -836,7 +836,7 @@ public class WorkServiceImpl implements WorkService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-52A2462CCB374CBF8AC95438E8D16C543E6X")
                 .formUuid("FORM-52A2462CCB374CBF8AC95438E8D16C543E6X")
-                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lr26l3h2",dateList)))
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lr383i3e",dateList)))
                 .build());
                 .build());
 
 
         Map<String, HashMap<String, Object>> materialOuts = materialOutList.stream().collect(
         Map<String, HashMap<String, Object>> materialOuts = materialOutList.stream().collect(
@@ -846,7 +846,7 @@ public class WorkServiceImpl implements WorkService {
                         Collectors.collectingAndThen(
                         Collectors.collectingAndThen(
                                 Collectors.toList(),
                                 Collectors.toList(),
                                 list -> new HashMap<String, Object>() {{
                                 list -> new HashMap<String, Object>() {{
-                                    put("size", size());
+                                    put("size", list.size());
                                 }}
                                 }}
                         )
                         )
                 ));
                 ));
@@ -866,7 +866,7 @@ public class WorkServiceImpl implements WorkService {
                         Collectors.collectingAndThen(
                         Collectors.collectingAndThen(
                                 Collectors.toList(),
                                 Collectors.toList(),
                                 list -> new HashMap<String, Object>() {{
                                 list -> new HashMap<String, Object>() {{
-                                    put("size", size());
+                                    put("size", list.size());
                                 }}
                                 }}
                         )
                         )
                 ));
                 ));
@@ -917,7 +917,7 @@ public class WorkServiceImpl implements WorkService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-6603375ED27B4D059CBB919C2BEFA44BZVOL")
                 .formUuid("FORM-6603375ED27B4D059CBB919C2BEFA44BZVOL")
-                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lw5ud9bk, selectField_lvc9x4vn",dateList,"小业主")))
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lw5ud9bk, selectField_lvc9x4vn, selectField_lvituew9",dateList,"小业主","正常")))
                 .build());
                 .build());
         //上月开票档案
         //上月开票档案
         Map<String, HashMap<String, Object>> lastOpens = lastOpenList.stream().collect(
         Map<String, HashMap<String, Object>> lastOpens = lastOpenList.stream().collect(
@@ -954,7 +954,7 @@ public class WorkServiceImpl implements WorkService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-6603375ED27B4D059CBB919C2BEFA44BZVOL")
                 .formUuid("FORM-6603375ED27B4D059CBB919C2BEFA44BZVOL")
-                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lw5ud9bk, selectField_lvc9x4vn",dateList,"小业主")))
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lw5ud9bk, selectField_lvc9x4vn, selectField_lvituew9",dateList,"小业主","正常")))
                 .build());
                 .build());
 
 
         //上上月开票档案
         //上上月开票档案
@@ -978,7 +978,7 @@ public class WorkServiceImpl implements WorkService {
         //数据整合处理
         //数据整合处理
         projectList.forEach(e->{
         projectList.forEach(e->{
             String name = e.get("textField_lrr3rg6i").toString();
             String name = e.get("textField_lrr3rg6i").toString();
-//            if ("虹桥机场外场区".equals(name)){
+//            if ("苏南硕放机场".equals(name)){
 
 
                 String code = e.get("textField_ltxrn8h1").toString();
                 String code = e.get("textField_ltxrn8h1").toString();
                 List<Map<String,Object>> objects = new ArrayList<>();
                 List<Map<String,Object>> objects = new ArrayList<>();
@@ -1115,29 +1115,31 @@ public class WorkServiceImpl implements WorkService {
                         krksl[0] = UtilMap.getDouble(v,"cost");
                         krksl[0] = UtilMap.getDouble(v,"cost");
                     }
                     }
                 });
                 });
-                if (bzwhcb == 0 || (bzwhcb != 0 && krksl[0] == 0)){
+                if (bzwhcb == 0 || (bzwhcb != 0.0 && krksl[0] == 0)){
                     dataMap.put("numberField_mfenmekv",5);//7-入库
                     dataMap.put("numberField_mfenmekv",5);//7-入库
                 }else {
                 }else {
                     dataMap.put("numberField_mfenmekv",0);//7-入库
                     dataMap.put("numberField_mfenmekv",0);//7-入库
                 }
                 }
                 //出库
                 //出库
+                krksl[0] = 0;
                 materialOuts.forEach((k,v)->{
                 materialOuts.forEach((k,v)->{
                     if (k.equals(code)){
                     if (k.equals(code)){
                         krksl[0] = UtilMap.getDouble(v,"size");
                         krksl[0] = UtilMap.getDouble(v,"size");
                     }
                     }
                 });
                 });
-                if (bzwhcb == 0 || (bzwhcb != 0 && krksl[0] > 0)){
+                if (bzwhcb == 0 || (bzwhcb != 0.0 && krksl[0] > 0)){
                     dataMap.put("numberField_mfenmel3",3);//7-出库
                     dataMap.put("numberField_mfenmel3",3);//7-出库
                 }else {
                 }else {
                     dataMap.put("numberField_mfenmel3",0);//7-出库
                     dataMap.put("numberField_mfenmel3",0);//7-出库
                 }
                 }
                 //盘点
                 //盘点
+                krksl[0] = 0;
                 materialChecks.forEach((k,v)->{
                 materialChecks.forEach((k,v)->{
                     if (k.equals(code)){
                     if (k.equals(code)){
                         krksl[0] = UtilMap.getDouble(v,"size");
                         krksl[0] = UtilMap.getDouble(v,"size");
                     }
                     }
                 });
                 });
-                if (bzwhcb == 0 || (bzwhcb != 0 && krksl[0] > 0)){
+                if (bzwhcb == 0 || (bzwhcb != 0.0 && krksl[0] > 0)){
                     dataMap.put("numberField_mfenmel9",2);//7-自盘
                     dataMap.put("numberField_mfenmel9",2);//7-自盘
                 }else {
                 }else {
                     dataMap.put("numberField_mfenmel9",0);//7-自盘
                     dataMap.put("numberField_mfenmel9",0);//7-自盘
@@ -1362,7 +1364,7 @@ public class WorkServiceImpl implements WorkService {
                             "numberField_mfenmels, textField_mgm3bkiz, numberField_mfenmelt, numberField_mfenmek8, numberField_mfenmek9",
                             "numberField_mfenmels, textField_mgm3bkiz, numberField_mfenmelt, numberField_mfenmek8, numberField_mfenmek9",
                     jsonArray, q.get("textField_mfenmegp"), q.get("textField_mgoljmhh"), q.get("textField_mgolu3w2"),
                     jsonArray, q.get("textField_mfenmegp"), q.get("textField_mgoljmhh"), q.get("textField_mgolu3w2"),
                     q.get("textField_mfenmejo"), q.get("textField_mfenmejq"), q.get("numberField_mfenmejp"), q.get("numberField_mfenmejr"), q.get("numberField_mfenmejs"),
                     q.get("textField_mfenmejo"), q.get("textField_mfenmejq"), q.get("numberField_mfenmejp"), q.get("numberField_mfenmejr"), q.get("numberField_mfenmejs"),
-                    q.get("numberField_mfenmels"), q.get("textField_mgm3bkiz"), q.get("numberField_mfenmelt"), q.get("numberField_mfenmek8"), q.get("numberField_mfenmek9"));
+                    q.get("numberField_mfenmels"), q.get("textField_mgohy54u"), q.get("numberField_mfenmelt"), q.get("numberField_mfenmek8"), q.get("numberField_mfenmek9"));
 
 
             list3.add(map3);
             list3.add(map3);
 
 
@@ -1374,8 +1376,8 @@ public class WorkServiceImpl implements WorkService {
                     jsonArray, q.get("textField_mfenmegp"), q.get("textField_mgoljmhh"), q.get("textField_mgolu3w2"),
                     jsonArray, q.get("textField_mfenmegp"), q.get("textField_mgoljmhh"), q.get("textField_mgolu3w2"),
                     q.get("numberField_mfenmej6"), q.get("numberField_mfenmekv"), q.get("numberField_mfenmel1"), q.get("numberField_mfenmel3"), q.get("numberField_mfenmel9"),
                     q.get("numberField_mfenmej6"), q.get("numberField_mfenmekv"), q.get("numberField_mfenmel1"), q.get("numberField_mfenmel3"), q.get("numberField_mfenmel9"),
                     q.get("numberField_mfenmel2"), q.get("numberField_mfenmela"), q.get("numberField_mfenmelb"), q.get("numberField_mfenmelc"), q.get("numberField_mfenmeld"),
                     q.get("numberField_mfenmel2"), q.get("numberField_mfenmela"), q.get("numberField_mfenmelb"), q.get("numberField_mfenmelc"), q.get("numberField_mfenmeld"),
-                    q.get("numberField_mfenmele"), q.get("numberField_mfenmelf"), q.get("numberField_mfo3dvry"), q.get("numberField_mfo3dvs0"), q.get("numberField_mfo3dvs2"),
-                    q.get("numberField_mfo3dvs5"), q.get("numberField_mfenmell"));
+                    q.get("numberField_mfenmele"), q.get("numberField_mfenmelf"), q.get("numberField_mfenmelg"), q.get("numberField_mfenmelh"), q.get("numberField_mfenmeli"),
+                    q.get("numberField_mfenmelj"), q.get("numberField_mfenmell"));
             list4.add(map4);
             list4.add(map4);
 
 
             Map<String, Object> map5 = UtilMap.map("associationFormField_mgokjmx5, textField_mgokjmx6, employeeField_mgokjmx7, employeeField_mgokjmx8",
             Map<String, Object> map5 = UtilMap.map("associationFormField_mgokjmx5, textField_mgokjmx6, employeeField_mgokjmx7, employeeField_mgokjmx8",

+ 1 - 0
mjava/src/main/java/com/malk/server/common/VenR.java

@@ -32,6 +32,7 @@ public class VenR extends BaseDto {
     public static final String RC_XBB = "com.malk.server.xbongbong.XBBR";
     public static final String RC_XBB = "com.malk.server.xbongbong.XBBR";
     public static final String RC_VK = "com.malk.server.vika.VKR";
     public static final String RC_VK = "com.malk.server.vika.VKR";
     public static final String RC_YJ = "com.malk.server.yunjian.DDR";
     public static final String RC_YJ = "com.malk.server.yunjian.DDR";
+    public static final String RC_CRM = "com.malk.server.crm.DDR";
 
 
     /**
     /**
      * 通用post请求
      * 通用post请求

+ 58 - 0
mjava/src/main/java/com/malk/server/crm/DDR.java

@@ -0,0 +1,58 @@
+package com.malk.server.crm;
+
+import com.malk.server.common.McException;
+import com.malk.server.common.VenR;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Map;
+
+/**
+ * 返回值配置参考McR
+ */
+@Data
+@NoArgsConstructor
+public class DDR<T> extends VenR {
+
+    // 请求状态
+    private String errorCode;
+
+    private String errorMessage;
+
+    private String corpId;
+
+    private String expiresIn;
+
+    private T data;
+
+    /**
+     * token
+     */
+    private String corpAccessToken;
+
+    // 成功状态标记
+    private final static String SUC_CODE = "200000";
+
+
+    /**
+     * 断言错误信息
+     */
+    @Override
+    public void assertSuccess() {
+        McException.assertException(!errorCode.equals(SUC_CODE), errorCode, errorMessage, "crm");
+    }
+
+    /**
+     * 通用post请求
+     */
+    public static DDR doPost(String url, Map header, Map param, Map body) {
+        return (DDR) DDR.doPost(url, header, param, body, VenR.RC_CRM);
+    }
+
+    /**
+     * 通用get请求
+     */
+    public static DDR doGet(String url, Map header, Map param) {
+        return (DDR) DDR.doGet(url, header, param, VenR.RC_CRM);
+    }
+}

+ 2 - 0
mjava/src/main/java/com/malk/service/dingtalk/DDClient_Workflow.java

@@ -41,6 +41,8 @@ public interface DDClient_Workflow {
      */
      */
     boolean terminateRunningApprove(String access_token, String processInstanceId, boolean isSystem, String remark, String operatingUserId);
     boolean terminateRunningApprove(String access_token, String processInstanceId, boolean isSystem, String remark, String operatingUserId);
 
 
+    boolean terminateRunningApproveNew(String access_token, String processInstanceId, boolean isSystem, String remark, String operatingUserId);
+
     /**
     /**
      * 同意或拒绝审批任务
      * 同意或拒绝审批任务
      */
      */

+ 9 - 0
mjava/src/main/java/com/malk/service/dingtalk/DDService.java

@@ -23,6 +23,15 @@ public interface DDService {
      */
      */
     Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure);
     Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure);
 
 
+    /**
+     * 上传审批附件(无规定地址格式)
+     * @param urlFile      远程文件地址
+     * @param fileNamePure 文件名称[后缀自动通过地址获取]
+     * @param type         文件格式
+     * @return
+     */
+    Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure, String type);
+
     /**
     /**
      * 上传审批附件
      * 上传审批附件
      *
      *

+ 16 - 0
mjava/src/main/java/com/malk/service/dingtalk/impl/DDImplClient_Workflow.java

@@ -1,6 +1,8 @@
 package com.malk.service.dingtalk.impl;
 package com.malk.service.dingtalk.impl;
 
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.malk.server.common.VenR;
 import com.malk.server.dingtalk.DDConf;
 import com.malk.server.dingtalk.DDConf;
 import com.malk.server.dingtalk.DDR;
 import com.malk.server.dingtalk.DDR;
 import com.malk.server.dingtalk.DDR_New;
 import com.malk.server.dingtalk.DDR_New;
@@ -79,6 +81,20 @@ public class DDImplClient_Workflow implements DDClient_Workflow {
         return (Boolean) r.getResult();
         return (Boolean) r.getResult();
     }
     }
 
 
+    /**
+     * 撤销审批实例 新版SDK
+     *
+     * @apiNote https://open.dingtalk.com/document/orgapp-service/terminate-a-workflow-by-using-an-instance-id
+     */
+    @Override
+    public boolean terminateRunningApproveNew(String access_token, String processInstanceId, boolean isSystem, String remark, String operatingUserId) {
+        Map header = DDConf.initTokenHeader(access_token);
+        Map body = UtilMap.map("processInstanceId, isSystem, remark, operatingUserId", processInstanceId, isSystem, remark, operatingUserId);
+        String doPost = UtilHttp.doPost("https://api.dingtalk.com/v1.0/workflow/processInstances/terminate", header, null, body);
+        JSONObject jsonObject = JSONObject.parseObject(doPost);
+        return (Boolean) jsonObject.get("result");
+    }
+
     /**
     /**
      * 同意或拒绝审批任务
      * 同意或拒绝审批任务
      *
      *

+ 16 - 0
mjava/src/main/java/com/malk/service/dingtalk/impl/DDImplService.java

@@ -100,6 +100,22 @@ public class DDImplService implements DDService {
         return uploadFileFormUrlForOverflow(accessToken, userId, file.getAbsolutePath());
         return uploadFileFormUrlForOverflow(accessToken, userId, file.getAbsolutePath());
     }
     }
 
 
+    /**
+     * 上传审批附件(无特定地址)
+     *
+     * @param urlFile      远程文件地址
+     * @param fileNamePure 文件名称[后缀自动通过地址获取]
+     * @param type 文件格式
+     */
+    @Override
+    public Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure, String type) {
+        // 下载到本地
+        String fileName = fileNamePure + "." + type.toLowerCase();
+        File file = UtilFile.mkdirIfNot(fileName, filePath.getPath().getFile());
+        UtilHttp.doDownload(urlFile, file);
+        return uploadFileFormUrlForOverflow(accessToken, userId, file.getAbsolutePath());
+    }
+
     /**
     /**
      * 上传审批附件
      * 上传审批附件
      *
      *