Kaynağa Gözat

RTR 业务计提

lfx 1 ay önce
ebeveyn
işleme
24e2ae3902

+ 2 - 1
mjava-ts/src/main/java/com/malk/taisen/controller/RtrController.java

@@ -27,10 +27,11 @@ public class RtrController {
         log.info("RtrController:notice {}", data);
         String instanceId = UtilMap.getString(data, "instanceId");
         String type = UtilMap.getString(data, "type");
+        String formUuid = UtilMap.getString(data, "formUuid");
         if (type.equals("YWJT")) {
             log.info("泰森宜搭:RTR业务计提 写入SAP0005 请求参数, {}", data);
             System.out.println("泰森宜搭:RTR业务计提 写入SAP0005!::" + data);
-            rtrServer.RtrInsetSAP0005(type, instanceId);
+            rtrServer.RtrInsetSAP0005(type,formUuid, instanceId);
             System.out.println("泰森宜搭:RTR业务计提 写入SAP0005!结束");
             log.info("泰森宜搭:RTR业务计提 写入SAP0005!结束");
         }

+ 1 - 1
mjava-ts/src/main/java/com/malk/taisen/service/RtrServer.java

@@ -2,6 +2,6 @@ package com.malk.taisen.service;
 
 public interface RtrServer {
 
-    void  RtrInsetSAP0005(String type,String InstanceId);
+    void  RtrInsetSAP0005(String type,String formUuid,String InstanceId);
 
 }

+ 43 - 36
mjava-ts/src/main/java/com/malk/taisen/service/impl/RtrServerImpl.java

@@ -7,6 +7,7 @@ import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.server.dingtalk.DDR_New;
 import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
 import com.malk.taisen.service.RtrServer;
 import com.malk.taisen.util.CusutUtil;
 import com.malk.taisen.util.HttpUtil;
@@ -27,6 +28,10 @@ public class RtrServerImpl implements RtrServer {
 
     @Autowired
     private YDClient ydClient;
+
+    @Autowired
+    private YDService ydService;
+
     /**
      * 测试地址
      */
@@ -34,7 +39,7 @@ public class RtrServerImpl implements RtrServer {
     private String  QA_sapUrl ;
 
     @Override
-    public void RtrInsetSAP0005(String type, String InstanceId) {
+    public void RtrInsetSAP0005(String type,String formUuid, String InstanceId) {
         DDR_New ddr = ydClient.queryData(YDParam.builder().formInstId(InstanceId).build(), YDConf.FORM_QUERY.retrieve_id);
         Map dataForm = ddr.getFormData();
 
@@ -76,7 +81,8 @@ public class RtrServerImpl implements RtrServer {
         if (type.equals("YWJT")) {
             JSONArray itemArray = new JSONArray();
             int x = 1;//OA单据行号累计用
-            List<Map<String, Object>> tableFils = (List<Map<String, Object>>) dataForm.get("tableField_mipgl0vx");
+            List<Map> tableFils = ydService.queryDetails(YDParam.builder().formInstanceId(InstanceId).formUuid(formUuid).tableFieldId("tableField_mipgl0vx").build());
+//            List<Map<String, Object>> tableFils = (List<Map<String, Object>>) dataForm.get("tableField_mipgl0vx");
             if (tableFils != null && tableFils.size() > 0) {
                 for (int n = 0; n < tableFils.size(); n++) {
                     Map<String, Object> row = new HashMap(tableFils.get(n));
@@ -107,7 +113,8 @@ public class RtrServerImpl implements RtrServer {
                     itemArray.put(itemObj);
                 }
             }
-            List<Map<String, Object>> tableFils2 = (List<Map<String, Object>>) dataForm.get("tableField_miwh5y8n");
+            List<Map> tableFils2 = ydService.queryDetails(YDParam.builder().formInstanceId(InstanceId).formUuid(formUuid).tableFieldId("tableField_miwh5y8n").build());
+//            List<Map<String, Object>> tableFils2 = (List<Map<String, Object>>) dataForm.get("tableField_miwh5y8n");
             if (tableFils2 != null && tableFils2.size() > 0) {
                 for (int n = 0; n < tableFils2.size(); n++) {
                     Map<String, Object> row = new HashMap(tableFils2.get(n));
@@ -146,39 +153,39 @@ public class RtrServerImpl implements RtrServer {
          * 调用接口
          */
         System.out.println(sapJson);
-        log.info("发起POST请求:URL={},参数={}", QA_sapUrl + "SAP005", sapJson);
-        String post = HttpUtil.post(QA_sapUrl + "SAP005", null, sapJson.toString(), null);
-        log.info(dataForm.get("textField_mi73dy3n")+"POST反馈={}", post);
-        System.out.println( "POST反馈====="+post);
-        if (!post.equals("")) {
-            JSONArray jsonArray = new JSONArray(post);
-            if (jsonArray.size() > 0) {
-                String voucherNumber = "";
-                try {
-                    cn.hutool.json.JSONObject postJsonObject = jsonArray.getJSONObject(0);
-                    String  E_SYSMSGTYPE   =  postJsonObject.getStr("E_SYSMSGTYPE");//状态
-                    String E_MESSAGE = postJsonObject.getStr("E_MESSAGE");//SAP005 接口 反馈值
-                    if ( E_SYSMSGTYPE.equals("S")) {
-                        String e_belnr = postJsonObject.getStr("E_BELNR");
-                        String E_GJAHR = postJsonObject.getStr("E_GJAHR");//凭证年度
-                        //   执行完加入,把更改表单凭证数据
-                        ydClient.operateData(YDParam.builder().formInstanceId(InstanceId).updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_l9nsavm2, textField_mejezfwk, textareaField_mi5kjmxb, selectField_mi72r4s6", E_GJAHR, e_belnr,E_MESSAGE,"成功"))).build(), YDConf.FORM_OPERATION.update);
-                    }else {
-                        //  报错写入
-                        saveError(InstanceId,E_MESSAGE);
-                    }
-                } catch (Exception ex) {
-                    log.error("解析异常{}",ex.getMessage());
-                    saveError(InstanceId,post);
-                }
-            } else {
-                log.error("返回值数组为空");
-                saveError(InstanceId,"返回值数组为空,返回值:"+post);
-            }
-        }else {
-            //  报错写入
-            saveError(InstanceId,post);
-        }
+//        log.info("发起POST请求:URL={},参数={}", QA_sapUrl + "SAP005", sapJson);
+//        String post = HttpUtil.post(QA_sapUrl + "SAP005", null, sapJson.toString(), null);
+//        log.info(dataForm.get("textField_mi73dy3n")+"POST反馈={}", post);
+//        System.out.println( "POST反馈====="+post);
+//        if (!post.equals("")) {
+//            JSONArray jsonArray = new JSONArray(post);
+//            if (jsonArray.size() > 0) {
+//                String voucherNumber = "";
+//                try {
+//                    cn.hutool.json.JSONObject postJsonObject = jsonArray.getJSONObject(0);
+//                    String  E_SYSMSGTYPE   =  postJsonObject.getStr("E_SYSMSGTYPE");//状态
+//                    String E_MESSAGE = postJsonObject.getStr("E_MESSAGE");//SAP005 接口 反馈值
+//                    if ( E_SYSMSGTYPE.equals("S")) {
+//                        String e_belnr = postJsonObject.getStr("E_BELNR");
+//                        String E_GJAHR = postJsonObject.getStr("E_GJAHR");//凭证年度
+//                        //   执行完加入,把更改表单凭证数据
+//                        ydClient.operateData(YDParam.builder().formInstanceId(InstanceId).updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_l9nsavm2, textField_mejezfwk, textareaField_mi5kjmxb, selectField_mi72r4s6", E_GJAHR, e_belnr,E_MESSAGE,"成功"))).build(), YDConf.FORM_OPERATION.update);
+//                    }else {
+//                        //  报错写入
+//                        saveError(InstanceId,E_MESSAGE);
+//                    }
+//                } catch (Exception ex) {
+//                    log.error("解析异常{}",ex.getMessage());
+//                    saveError(InstanceId,post);
+//                }
+//            } else {
+//                log.error("返回值数组为空");
+//                saveError(InstanceId,"返回值数组为空,返回值:"+post);
+//            }
+//        }else {
+//            //  报错写入
+//            saveError(InstanceId,post);
+//        }
     }
 
     private void saveError(String InstanceId,String errorMsg){

+ 2 - 2
mjava-ts/src/test/java/RtrTest.java

@@ -11,12 +11,12 @@ import org.springframework.test.context.junit4.SpringRunner;
 @SpringBootTest(classes = com.malk.kepeida.Boot.class)
 public class RtrTest {
 
-    String instanceId="9e7ee402-6b3c-429f-9d67-6d23a743c6bc";
+    String instanceId="023f6b5e-5d1d-447d-a0ca-8a6b35ecfc57";
     @Autowired
     private RtrServer rtrServer;
 
     @Test
     public void RtrTest(){
-        rtrServer.RtrInsetSAP0005("YWJT", instanceId);
+        rtrServer.RtrInsetSAP0005("YWJT","FORM-0401740B8E6F4DF8894498F0D8783B13QIPI", instanceId);
     }
 }