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

项目总表表2未填写完成统计补充筛选条件(PM(Owner)【人事】不能为空)

lvjs 4 nap óta
szülő
commit
ed64f7b9aa
1 módosított fájl, 16 hozzáadás és 7 törlés
  1. 16 7
      src/main/java/com/malk/eastar/schedule/ScheduleTask.java

+ 16 - 7
src/main/java/com/malk/eastar/schedule/ScheduleTask.java

@@ -131,7 +131,7 @@ public class ScheduleTask {
 
     /**
      * 项目总表表2未填写完成统计
-     * 每日8点50
+     * 每日9点55
      */
     @Scheduled(cron = "0 55 9 * * ?")
     public void table2IncompleteStatistics() {
@@ -160,6 +160,7 @@ public class ScheduleTask {
         boolean hasMore = true;
         int pageNo = 1;
         JSONArray records;
+        log.info("查询【表2】项目台账所有项目状态为Pending、Done、Closed的记录");
         while(hasMore){
             aiTableResult = aiTableClient.queryMultiRecords(baseId,sheetIdOrName,param,aiTableParam);
             hasMore = aiTableResult.getHasMore();
@@ -195,11 +196,16 @@ public class ScheduleTask {
         JSONObject fields;
         String unionIdPM;
         String checkFailureStr;
+        JSONArray pmJSONArray;
 //        System.out.println("表2PM:");
         for(int i=0;i<table2RecordsFilter.size();i++){
             table2Record = table2RecordsFilter.getJSONObject(i);
             fields = table2Record.getJSONObject("fields");
-            unionIdPM = fields.getJSONArray("PM(Owner)【人事】").getJSONObject(0).getString("unionId");
+            pmJSONArray = fields.getJSONArray("PM(Owner)【人事】");
+            if(pmJSONArray == null){
+                continue;
+            }
+            unionIdPM = pmJSONArray.getJSONObject(0).getString("unionId");
             for(String checkEmptyField : checkEmptyFieldArr){
                 if(StringUtils.isEmpty(fields.getString(checkEmptyField))){
                     checkFailureStr = unionIdPM + "_" + checkEmptyField+"未填写";
@@ -208,6 +214,8 @@ public class ScheduleTask {
                 }
             }
         }
+//        System.out.println("checkEmptyRecordList:");
+//        System.out.println(JSON.toJSONString(checkEmptyRecordList));
         /*
             查询【参数表-人事】部门为销售部、客服部的记录
          */
@@ -225,13 +233,15 @@ public class ScheduleTask {
         conditions.add(condition);
         filter.put("conditions",conditions);
         aiTableParam.setFilter(filter);
+        log.info("查询【参数表-人事】部门为销售部、客服部的记录");
         aiTableResult = aiTableClient.queryMultiRecords(baseId,sheetIdOrName,param,aiTableParam);
+        hasMore = aiTableResult.getHasMore();
+        log.info("是否有更多数据:"+hasMore);
         log.info("销售和PM人员记录数="+aiTableResult.getRecords().size());
         records = aiTableResult.getRecords();
         for(int i=0;i<records.size();i++){
             empRecordsFilter.add(records.getJSONObject(i));
         }
-        log.info("是否有更多数据:"+hasMore);
         JSONObject empRecord;
         String deptId;
         String unionIdPMLeader;
@@ -258,7 +268,6 @@ public class ScheduleTask {
         JSONObject insertData = new JSONObject();
         JSONArray insertRecords = new JSONArray();
         JSONObject insertRecord;
-        JSONArray pmJSONArray;
         JSONArray pmLeaderJSONArray;
         JSONObject unionIdJSONObject;
         for(String str : checkEmptyRecordList){
@@ -279,7 +288,7 @@ public class ScheduleTask {
             fields.put("填写情况", str.split("_")[1]);
             insertRecord = new JSONObject();
             insertRecord.put("fields",fields);
-            log.info(JSON.toJSONString(insertRecord));
+//            log.info(JSON.toJSONString(insertRecord));
             insertRecords.add(insertRecord);
         }
         String result;
@@ -298,7 +307,7 @@ public class ScheduleTask {
                     }
                 }
                 insertData.put("records",newInsertRecords);
-                log.info(JSON.toJSONString(insertData));
+//                log.info(JSON.toJSONString(insertData));
                 result = aiTableClient.createMultiRecords(baseId,sheetIdOrName,param,insertData);
                 log.info("新增项目台账填写情况表记录结果,第"+pageNo+"页:");
                 log.info(result);
@@ -308,7 +317,7 @@ public class ScheduleTask {
         }
         if(insertRecords.size() > 0){
             insertData.put("records",insertRecords);
-            log.info(JSON.toJSONString(insertData));
+//            log.info(JSON.toJSONString(insertData));
             sheetIdOrName = "OTgxt4G";
             result = aiTableClient.createMultiRecords(baseId,sheetIdOrName,param,insertData);
             log.info("新增项目台账填写情况表记录结果,第"+pageNo+"页:");