Forráskód Böngészése

正式环境配置文件调整,下推操作,付款后推送通知

fyz 3 hónapja%!(EXTRA string=óta)
szülő
commit
e29d52e181

+ 2 - 1
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/controller/DLController.java

@@ -96,7 +96,8 @@ public class DLController {
     @PostMapping(value = "testPush")
     McR testQuery(@RequestBody Map data) {
 //        supplierService.pushToOA();
-        supplierService.accountPushToOA();
+//        supplierService.accountPushToOA();
+        supplierService.testPush();
         return McR.success();
     }
     /**

+ 25 - 0
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/entity/basic/Push.java

@@ -0,0 +1,25 @@
+package com.malk.jiuyousimu.entity.basic;
+
+import lombok.Data;
+
+import java.util.List;
+
+//保存
+@Data
+public class Push {
+        //默认为空 需要时选择性赋值
+        private String Ids;
+//        private List<String> Numbers;
+//        private boolean EntryIds;
+//        private String RuleId;
+
+//       采购业务付款单 FKDLX01_SYS
+//        private String TargetBillTypeId;
+//        private boolean TargetOrgId;
+//        采购业务付款单 AP_PAYBILL
+        private String TargetFormId;
+        private boolean IsEnableDefaultRule;
+        private boolean IsDraftWhenSaveFail;
+//        private String CustomParams;
+
+}

+ 14 - 0
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/service/Impl/DocumentServiceImpl.java

@@ -127,6 +127,10 @@ public class DocumentServiceImpl implements DocumentService {
         HISTORY_DEPTID.put("上海久有私募基金管理有限公司", "1069359193");
     }
 
+    private static final Map<String,String> PAYMENT_RETURN = new HashMap<>();
+    private static final Map<String,String> TRIP_RETURN = new HashMap<>();
+    private static final Map<String,String> COST_RETURN = new HashMap<>();
+
     /**
      * 差旅费报销单
      * @param processData  钉钉单据
@@ -300,6 +304,9 @@ public class DocumentServiceImpl implements DocumentService {
 
                 Submit submit = new Submit();
                 submit.setIds(id);
+
+                TRIP_RETURN.put(id,"");
+
                 //提交
                 String resultJson2 = client.submit(formId, JSONObject.toJSONString(submit));
                 RepoRet repoRet2 = gson.fromJson(resultJson2, RepoRet.class);
@@ -438,6 +445,9 @@ public class DocumentServiceImpl implements DocumentService {
 
                 Submit submit = new Submit();
                 submit.setIds(id);
+
+                COST_RETURN.put(id,"");
+
                 //提交
                 String resultJson2 = client.submit(formId, JSONObject.toJSONString(submit));
                 RepoRet repoRet2 = gson.fromJson(resultJson2, RepoRet.class);
@@ -458,6 +468,8 @@ public class DocumentServiceImpl implements DocumentService {
 
         return McR.success();
     }
+
+
     @Override
     public McR savePayment(Map processData) {
         String userId = String.valueOf(processData.get("originatorUserId"));
@@ -576,6 +588,8 @@ public class DocumentServiceImpl implements DocumentService {
             if (kingDeeService.isTrue(repoRet)){
                 String id = repoRet.getResult().getId();
 
+                PAYMENT_RETURN.put(id,"");
+
                 Submit submit = new Submit();
                 submit.setIds(id);
                 //提交

+ 62 - 2
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/service/Impl/SupplierServiceImpl.java

@@ -2,15 +2,19 @@ package com.malk.jiuyousimu.service.Impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.kingdee.bos.webapi.entity.RepoRet;
 import com.kingdee.bos.webapi.sdk.K3CloudApi;
+import com.malk.jiuyousimu.entity.basic.Push;
 import com.malk.jiuyousimu.entity.basic.Query;
 import com.malk.jiuyousimu.entity.basic.View;
 import com.malk.jiuyousimu.service.KingDeeService;
 import com.malk.jiuyousimu.service.SupplierService;
 import com.malk.server.common.McR;
 import com.malk.service.dingtalk.DDClient;
+import com.malk.service.dingtalk.DDClient_Notice;
 import com.malk.service.dingtalk.DDClient_Workflow;
 import com.malk.utils.UtilFile;
 import com.malk.utils.UtilMap;
@@ -33,6 +37,8 @@ public class SupplierServiceImpl implements SupplierService {
     private DDClient_Workflow ddClient_workflow;
     @Autowired
     private DDClient ddClient;
+    @Autowired
+    private DDClient_Notice ddClient_notice;
     @Override
     public List<Map<String,Object>>  getAllSupplierInfos() {
         log.info("开始从金蝶获取供应商信息");
@@ -293,15 +299,69 @@ public class SupplierServiceImpl implements SupplierService {
     public void testView(){
         K3CloudApi client = new K3CloudApi(kingDeeService.initIden());
         View view = new View();
-        view.setNumber("FYBX20220223000001");
-        String formId = "ER_ExpReimbursement";
+//        view.setNumber("AP00000505");
+//        view.setId("100551.0");
+//        String formId = "AP_Payable";
+
+
+        view.setNumber("FKD00000072");
+        String formId = "AP_PAYBILL";
         try {
             String resultJson = client.view(formId, JSON.toJSONString(view));
             Gson gson = new Gson();
             //对返回结果进行解析和校验
             RepoRet repoRet = gson.fromJson(resultJson, RepoRet.class);
             if (repoRet.getResult().getResponseStatus().isIsSuccess()) {
+                JSONObject jsonObject = JSONObject.parseObject(repoRet.getResult().getResult().toString());
+                JSONArray jsonArray = JSONArray.parseArray(jsonObject.get("PAYBILLENTRY").toString());
+                boolean isAllPay = true;
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject sonObject = JSONObject.parseObject(jsonArray.get(i).toString());
+                    String fbankmsg = sonObject.get("FBANKMSG").toString();
+                    if (!fbankmsg.contains("交易成功")){
+                        isAllPay = false;
+                        break;
+                    }
+                }
+                if (isAllPay){
+                    String content = "你有一条单据已完成付款";
+                    Map<String, Object> msg = UtilMap.map("msgtype, text", "text", UtilMap.map("content", content));
+                    ddClient_notice.sendNotification(ddClient.getAccessToken(),Arrays.asList("603864663125953014"),null,false,msg);
+                }
                 System.out.printf("接口返回结果: %s%n", gson.toJson(repoRet.getResult()));
+                log.info("接口返回结果:{}",gson.toJson(repoRet.getResult()));
+            } else {
+                fail("接口返回结果: " + gson.toJson(repoRet.getResult().getResponseStatus()));
+            }
+        } catch (Exception e) {
+            fail(e.getMessage());
+        }
+    }
+
+    @Override
+    public void testPush(){
+        K3CloudApi client = new K3CloudApi(kingDeeService.initIden());
+         Push push = new Push();
+         push.setIds("100551");
+//         push.setTargetBillTypeId("FKDLX01_SYS");
+         push.setTargetFormId("AP_PAYBILL");
+         push.setIsEnableDefaultRule(true);
+         push.setIsDraftWhenSaveFail(true);
+
+//        view.setNumber("AP00000505");
+//        view.setId("100551.0");
+        String formId = "AP_Payable";
+
+//        String formId = "AP_PAYBILL";
+        try {
+            String resultJson = client.push(formId, JSON.toJSONString(push));
+            Gson gson = new Gson();
+            //对返回结果进行解析和校验
+            RepoRet repoRet = gson.fromJson(resultJson, RepoRet.class);
+            if (repoRet.getResult().getResponseStatus().isIsSuccess()) {
+                System.out.printf("接口返回结果: %s%n", gson.toJson(repoRet.getResult()));
+                log.info("接口返回结果:{}",gson.toJson(repoRet.getResult()));
+
             } else {
                 fail("接口返回结果: " + gson.toJson(repoRet.getResult().getResponseStatus()));
             }

+ 2 - 0
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/service/SupplierService.java

@@ -31,4 +31,6 @@ public interface SupplierService {
     void testQuery();
 
     void testView();
+
+    void testPush();
 }

+ 2 - 1
mjava-jiuyousimu/src/main/resources/application-dev.yml

@@ -60,7 +60,7 @@ dingtalk:
 #测试环境
 kingdee:
   # 第三方系统登录授权的账套ID
-  X-KDApi-AcctID: 69b14ada7a2acd
+  X-KDApi-AcctID: 69e8667d555dd3
   # 第三方系统登录授权的用户
   X-KDApi-UserName: Administrator
   # 第三方系统登录授权的应用ID
@@ -78,3 +78,4 @@ kingdee:
   # 允许的最大读取延时,单位为秒
   # X-KDApi-RequestTimeout: 120
 
+#  69e8667d555dd3

+ 25 - 9
mjava-jiuyousimu/src/main/resources/application-prod.yml

@@ -15,18 +15,15 @@ spring:
     hikari:
       connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
     driver-class-name: com.mysql.cj.jdbc.Driver
-#    username: root
-#    password: cp-root@2022++
-#    url: jdbc:mysql://127.0.0.1:3306/dingtalk?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
     username: root
     password: cp-root@2022++
     url: jdbc:mysql://47.110.74.198:3306/dingtalk?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
-#  jpa:
-#    hibernate:
-#      ddl-auto: none      # JPA对表没有任何操作
-#    show-sql: true
-#    database: MYSQL
-#    database-platform: org.hibernate.dialect.MySQL57Dialect
+  jpa:
+    hibernate:
+      ddl-auto: none      # JPA对表没有任何操作
+    show-sql: true
+    database: MYSQL
+    database-platform: org.hibernate.dialect.MySQL57Dialect
 
 # dingtalk
 dingtalk:
@@ -37,3 +34,22 @@ dingtalk:
   aesKey: uLbNXSzj16uYK6nuA0mMuOJVtMSVOGBwfvwhbh2ugOf
   token: zcJKprGXPkztJ7q3RK
   operator: ""   # OA管理员账号
+kingdee:
+  # 第三方系统登录授权的账套ID
+  X-KDApi-AcctID: 69f07c94785e7a
+  # 第三方系统登录授权的用户
+  X-KDApi-UserName: Administrator
+  # 第三方系统登录授权的应用ID
+  X-KDApi-AppID: 404312_716JTZDPTPq+RUTI0fQMT61sRL06WtMH
+  # 第三方系统登录授权的应用密钥
+  X-KDApi-AppSec: d1faa820433d4b42957300da869f1262
+  # 服务Url地址(公有云统一走网关sdk底层已处理,无需传X-KDApi-ServerUrl,下面这行需要注释)
+  X-KDApi-ServerUrl: http://win-dokf98lkhoo.jiuyoufund.com:8085/k3cloud
+  # 账套语系,默认2052
+  # X-KDApi-LCID: 2052
+  # 组织编码,启用多组织时配置对应的组织编码才有效
+  # X-KDApi-OrgNum: 100
+  # 允许的最大连接延时,单位为秒
+  # X-KDApi-ConnectTimeout: 120
+  # 允许的最大读取延时,单位为秒
+  # X-KDApi-RequestTimeout: 120