Browse Source

批量删除添加睡眠防止限流,新增同步看板记录表

wzy 1 month ago
parent
commit
e347aa61d4

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/schedule/YdScheduleTask.java

@@ -144,7 +144,7 @@ private YdHuaGaoService ydHuaGaoService;
         }
     }
 
-    @Scheduled(cron = "0 0/5 * * * ?")
+//    @Scheduled(cron = "0 0/5 * * * ?")
     public void synckdYdMaterial() {
         log.info("定时同步-物料信息");
         try {

+ 26 - 4
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdHuaGaoServiceImpl.java

@@ -106,6 +106,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
                             .formInstanceIdList(formInstanceIdList)
                             .build(), YDConf.FORM_OPERATION.delete_batch);
                 }
+                Thread.sleep(1000);
             }
             log.info("删除序列号主档数据完成:{}年,{}月,{}周",year,month,weekOfMonth);
 
@@ -277,7 +278,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
                         .build(), YDConf.FORM_OPERATION.create);
             }
         }catch (Exception e){
-            fail(e.getMessage());
+            throw new RuntimeException(e);
         }
 
     }
@@ -321,6 +322,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
                             .formInstanceIdList(formInstanceIdList)
                             .build(), YDConf.FORM_OPERATION.delete_batch);
                 }
+                Thread.sleep(1000);
             }
             log.info("删除即时库存数据完成:{}年,{}月,{}周",year,month,weekOfMonth);
 
@@ -476,7 +478,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
             }
 
         }catch (Exception e){
-            fail(e.getMessage());
+            throw new RuntimeException(e);
         }
 
     }
@@ -513,7 +515,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
             try {
                 result = (List<Map>)JSONObject.parse(client.billQuery(JSONObject.toJSONString(billQuery)));
             } catch (Exception e) {
-                fail(e.getMessage());
+                throw new RuntimeException(e);
             }
 
             list.addAll(result);
@@ -565,6 +567,14 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
     @Async
     @Override
     public void syncReport(String type,String userId) {
+        MDC.put("MDC_KEY_PID","1002");
+
+        //创建看板更新记录
+        String formInstId = ydClient.operateData(YDParam.builder()
+                .formUuid("FORM-0BEA655A36724D509A2CF21C4BA38D367YF7")
+                .formDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mfmhvkey, selectField_mhsjnn2r, dateField_mhsjnn2s, employeeField_mhswy0xy", type, "更新中", System.currentTimeMillis(),Arrays.asList(userId))))
+                .build(), YDConf.FORM_OPERATION.create).toString();
+
         try {
             switch (type){
                 case "成品库存天数看板": syncBDSerialMainFile();break;
@@ -573,16 +583,28 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
                 case "成品/样机出库看板": syncDLVNotice();break;
                 default:break;
             }
+
             //发送工作通知
             if (Objects.nonNull(userId)){
                 sendDdMsg(ddClient.getAccessToken(),ddConf.getAgentId(),userId,"更新" + type + "完成  时间:" + DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
             }
 
+            //更新看板更新记录
+            ydClient.operateData(YDParam.builder()
+                    .formInstId(formInstId)
+                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mhsjnn2r, dateField_mhsjnn2t", "已完成", System.currentTimeMillis())))
+                    .build(), YDConf.FORM_OPERATION.update);
         }catch (Exception e){
             //发送工作通知
             if (Objects.nonNull(userId)){
                 sendDdMsg(ddClient.getAccessToken(),ddConf.getAgentId(),userId,"更新" + type + "异常:" + e.getMessage() + "  时间:" + DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
             }
+
+            //更新看板更新记录
+            ydClient.operateData(YDParam.builder()
+                    .formInstId(formInstId)
+                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mhsjnn2r, dateField_mhsjnn2t", "异常", System.currentTimeMillis())))
+                    .build(), YDConf.FORM_OPERATION.update);
         }
     }
 
@@ -729,7 +751,7 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
             try {
                 result = (List<Map>)JSONObject.parse(client.billQuery(JSONObject.toJSONString(billQuery)));
             } catch (Exception e) {
-                fail(e.getMessage());
+                throw new RuntimeException(e);
             }
 
             list.addAll(result);

+ 5 - 0
mjava-huagao/src/test/java/com/malk/huagao/KdTest.java

@@ -200,6 +200,11 @@ public class KdTest {
         kdHuaGaoService.syncDLVNotice();
     }
 
+    @Test
+    public void test8(){
+        kdHuaGaoService.syncReport("成品/样机出库看板","344749020127590108");
+    }
+
     private IdentifyInfo initIden(){
         //注意 1:此处不再使用参数形式传入用户名及密码等敏感信息,改为在登录配置文件中设置。
         //注意 2:必须先配置第三方系统登录授权信息后,再进行业务操作,详情参考各语言版本SDK介绍中的登录配置文件说明。