lfx 1 semana atrás
pai
commit
5fd9505f53

+ 11 - 0
mjava-ts/src/main/java/com/malk/taisen/Timers/Time.java

@@ -7,6 +7,7 @@ import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.service.aliwork.YDClient;
 import com.malk.taisen.service.NonPoServer;
+import com.malk.taisen.service.RtrServer;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +32,8 @@ public class Time {
     private YDClient ydClient;
     @Autowired
     private NonPoServer nonPoServer;
+    @Autowired
+    private RtrServer rtrServer;
 
     /**
      * 每5分钟时查询下 NPO 流程结束待推送的数据
@@ -52,4 +55,12 @@ public class Time {
 
     }
 
+    @Scheduled(fixedRate = 1000 * 60 * 5)   //05   10   15  25  30   35  40  45  50  55  60
+    public void RTR() throws Exception {
+        System.out.println("每5分钟时查询下RTR流程结束待推送的数据进行处理----开始");
+        rtrServer.syncSAP0005();
+        System.out.println("RTR流程结束待推送的数据-结束");
+
+    }
+
 }

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

@@ -5,4 +5,6 @@ public interface RtrServer {
     void  RtrInsetSAP0005(String type,String formUuid,String InstanceId);
 
     void  RtrInsetSAP0020(String type,String formUuid,String InstanceId);
+
+    void syncSAP0005();
 }

+ 27 - 0
mjava-ts/src/main/java/com/malk/taisen/service/impl/RtrServerImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
+import com.malk.server.aliwork.YDSearch;
 import com.malk.server.common.McException;
 import com.malk.server.dingtalk.DDR_New;
 import com.malk.service.aliwork.YDClient;
@@ -22,6 +23,8 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 @Service
@@ -309,6 +312,30 @@ public class RtrServerImpl implements RtrServer {
         ydClient.operateData(YDParam.builder().formInstanceId(InstanceId).updateFormDataJson(JSON.toJSONString(formData)).build(), YDConf.FORM_OPERATION.update);
     }
 
+    private static List<String> SYNC_FORM_LIST = Arrays.asList("FORM-0401740B8E6F4DF8894498F0D8783B13QIPI","FORM-66A4F00A1E0E4E67B607D4119B88CEF6FBP6", "FORM-0EB8076C7A8E437A8A47862A1C4CFC61B1LB");
+
+    @Override
+    public void syncSAP0005() {
+        LocalDateTime now = LocalDateTime.now();// 10:05
+        LocalDateTime end = now.minusMinutes(3);
+        LocalDateTime start = end.minusMinutes(60);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String startStr = start.format(formatter);
+        String endStr = end.format(formatter);
+        YDSearch orderState=new YDSearch("selectField_miwh5y55","待过账","单据状态", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch pushState=new YDSearch("selectField_mi72r4s6","待推送","推送状态", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        for (String formUuId:SYNC_FORM_LIST){
+            List<Map> list= (List<Map>) ydClient.queryData(YDParam.builder().formUuid(formUuId)
+                    .searchFieldJson(JSONObject.toJSONString(Arrays.asList(orderState,pushState)))
+                    .approvedResult("agree").modifiedFromTimeGMT(startStr).modifiedToTimeGMT(endStr).build(), YDConf.FORM_QUERY.retrieve_search_process).getData();
+            for (Map map:list){
+                String insetid = map.get("processInstanceId").toString();
+                log.info("自动推送:{}/{}",formUuId,insetid);
+                this.RtrInsetSAP0005("YWJT",formUuId,insetid);
+            }
+        }
+    }
+
     /// 推送Sap
     private Map _pushSap(Map detail, Map body, Map row) {