Browse Source

1.更新了每日、每周、每月同步数据到氚云的方法。
2.删除了更新最近一个月每日、每周、每月公示的方法。
3.删除了更新所有每日、每周、每月工时的方法。

verguenza 4 years ago
parent
commit
6399f62f15

+ 16 - 7
src/main/java/com/galaxis/manatee/controller/TestController.java

@@ -2,7 +2,6 @@ package com.galaxis.manatee.controller;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.galaxis.manatee.exception.BigSizeException;
-import com.galaxis.manatee.service.DataArcherService;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
@@ -16,10 +15,10 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 public class TestController {
 
-    private DataArcherService dataArcherService;
+    private com.galaxis.manatee.service.LogUpdateService LogUpdateService;
 
-    public TestController(DataArcherService dataArcherService) {
-        this.dataArcherService = dataArcherService;
+    public TestController(com.galaxis.manatee.service.LogUpdateService logUpdateService) {
+        LogUpdateService = logUpdateService;
     }
 
     @GetMapping("/test/helloGet")
@@ -38,9 +37,19 @@ public class TestController {
         private String b;
     }
 
-    @GetMapping("/test/api/gogogo")
-    public void testApi(@RequestParam("userId")String userId) throws JsonProcessingException, BigSizeException {
-        dataArcherService.updateChuanyunSelfWorkHourListByUserId(userId);
+    @GetMapping("/test/api/updateChuanyunSelfWorkHourListByUserId")
+    public void updateChuanyunSelfWorkHourListByUserId(@RequestParam("userId")String userId) throws JsonProcessingException, BigSizeException {
+        LogUpdateService.updateChuanyunSelfWorkHourListByUserId(userId);
+    }
+
+    @GetMapping("/test/api/updateChuanyunWeekMemberHourListByUserId")
+    public void updateChuanyunWeekMemberHourListByUserId(@RequestParam("userId")String userId) throws JsonProcessingException, BigSizeException {
+        LogUpdateService.updateChuanyunWeekMemberHourListByUserId(userId);
+    }
+
+    @GetMapping("/test/api/updateChuanyunSelfCostListByUserId")
+    public void updateChuanyunSelfCostListByUserId(@RequestParam("userId")String userId) throws JsonProcessingException, BigSizeException {
+        LogUpdateService.updateChuanyunSelfCostListByUserId(userId);
     }
 
 }

+ 81 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/dto/ChuanyunSelfCostDTO.java

@@ -0,0 +1,81 @@
+package com.galaxis.manatee.entity.chuanyun.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2021/3/6 10:44 上午
+ */
+@Data
+public class ChuanyunSelfCostDTO {
+
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789f4833b5cbd0147a4957a7a466e65297a";
+
+    /**
+     * 项目ID
+     */
+    @JsonProperty("F0000003")
+    private String projectId;
+
+    /**
+     * 项目类型
+     */
+    @JsonProperty("F0000008")
+    private String projectType;
+
+    /**
+     * 日志流程状态
+     */
+    @JsonProperty("F0000009")
+    private String status;
+
+    /**
+     * 用户ID
+     */
+    @JsonProperty("F0000002")
+    private String userId;
+
+    /**
+     * 日期
+     */
+    @JsonProperty("F0000004")
+    @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
+    @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
+    private LocalDateTime dayLogDate;
+
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000005")
+    private BigDecimal workHour;
+
+    /**
+     * 成本
+     */
+    @JsonProperty("F0000006")
+    private BigDecimal cost;
+
+    /**
+     * 月度工时汇总
+     */
+    @JsonProperty("F0000007")
+    private BigDecimal monthWorkHour;
+
+    /**
+     * 部门Id
+     */
+    @JsonProperty("F0000010")
+    private String departmentId;
+}

+ 49 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/dto/ChuanyunWeekMemberHourDTO.java

@@ -0,0 +1,49 @@
+package com.galaxis.manatee.entity.chuanyun.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2021/3/6 10:23 上午
+ */
+@Data
+public class ChuanyunWeekMemberHourDTO {
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789Sffuni6ej7u55hkaw0xwj9nh22";
+
+    @JsonProperty("F0000001")
+    private String projectId;
+
+    @JsonProperty("F0000002")
+    private String userId;
+
+    @JsonProperty("F0000003")
+    private String projectType;
+
+    @JsonProperty("F0000004")
+    private BigDecimal totalHour;
+
+    @JsonProperty("F0000005")
+    private BigDecimal personDays;
+
+    @JsonProperty("F0000008")
+    private String year;
+
+    @JsonProperty("F0000006")
+    private String week;
+
+    @JsonProperty("F0000007")
+    private String status;
+
+    /**
+     * 部门信息
+     */
+    @JsonProperty("F0000009")
+    private String departmentId;
+}

+ 2 - 2
src/main/java/com/galaxis/manatee/entity/chuanyun/dto/Filter.java

@@ -31,7 +31,7 @@ public class Filter {
      * @param requireCount  是否需要总数
      * @return  Filter对象
      */
-    public synchronized static Filter instance(Integer fromRowNumber,Integer toRowNumber,Boolean requireCount){
+    public  static Filter instance(Integer fromRowNumber,Integer toRowNumber,Boolean requireCount){
         return new Filter(fromRowNumber,toRowNumber,requireCount,new String[0],new String[0],AND,new ArrayList<>());
     }
 
@@ -48,7 +48,7 @@ public class Filter {
      *                      ZZZZ为查询值
      * @return  Filter对象
      */
-    public synchronized static Filter instance(Integer fromRowNumber,Integer toRowNumber,Boolean requireCount,String type,List<String> matchers){
+    public  static Filter instance(Integer fromRowNumber,Integer toRowNumber,Boolean requireCount,String type,List<String> matchers){
         return new Filter(fromRowNumber,toRowNumber,requireCount,new String[0],new String[0],type,matchers);
     }
 

+ 1 - 1
src/main/java/com/galaxis/manatee/manager/impl/DefaultChuanyunManagerImpl.java

@@ -54,7 +54,7 @@ public class DefaultChuanyunManagerImpl implements ChuanYunManager {
     }
 
     @Override
-    public synchronized ChuanyunFindAllDTO findAll(String appCode, String actionName, String controller) {
+    public  ChuanyunFindAllDTO findAll(String appCode, String actionName, String controller) {
         @Data
         @AllArgsConstructor
         class FindAll{

+ 70 - 147
src/main/java/com/galaxis/manatee/service/DataArcherService.java

@@ -1,28 +1,16 @@
 package com.galaxis.manatee.service;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.galaxis.manatee.dao.ChuanyunSelfWorkHourDao;
-import com.galaxis.manatee.dao.ChuanyunUserCompanyDao;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunMemberHourDO;
-import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfWorkHourDO;
-import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunUserCompanyDO;
-import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
-import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSelfWorkHourDTO;
-import com.galaxis.manatee.entity.chuanyun.dto.Filter;
-import com.galaxis.manatee.exception.BigSizeException;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunMemberMonthCostDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunProjectMemberWeekHourDO;
+import com.galaxis.manatee.entity.chuanyun.dto.*;
 import com.galaxis.manatee.manager.ChuanYunManager;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.RandomStringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
-import java.time.Instant;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -37,103 +25,16 @@ import java.util.List;
 public class DataArcherService {
 
     private final ChuanYunManager chuanYunManager;
-    private final ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao;
-    private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
 
-    public DataArcherService(ChuanYunManager chuanYunManager, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao) {
+    public DataArcherService(ChuanYunManager chuanYunManager) {
         this.chuanYunManager = chuanYunManager;
-        this.chuanyunSelfWorkHourDao = chuanyunSelfWorkHourDao;
-        this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
-    }
-
-    /**
-     * 更新所有日工时
-     */
-    public void updateAllChuanyunSelfWorkHour(){
-        long startTime = Instant.now().getEpochSecond();
-        var pageSize = 20;
-        var page = 0;
-        while (true){
-            var pageable = PageRequest.of(page, pageSize);
-            var updateList = chuanyunSelfWorkHourDao.findAll(pageable);
-            if (page <= updateList.getTotalPages()) {
-                page += 1;
-                this.updateChuanyunSelfWorkHourList(updateList.toList());
-            }else{
-                break;
-            }
-        }
-        log.info("更新所有每日工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
-    }
-
-    /**
-     * 更新最近一个月的标准每日工时
-     */
-    public void updateRecentChuanyunSelfWorkHour(){
-        long startTime = Instant.now().getEpochSecond();
-        var pageSize = 20;
-        var page = 0;
-        while (true){
-            var pageable = PageRequest.of(page, pageSize);
-            var updateList = chuanyunSelfWorkHourDao.getRecentlyDayHour(pageable);
-            if (page <= updateList.getTotalPages()) {
-                page += 1;
-                this.updateChuanyunSelfWorkHourList(updateList.toList());
-            }else{
-                break;
-            }
-        }
-        log.info("更新最近一个月每日工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
-    }
-
-    /**
-     * 根据用户Id更新氚云每日工时列表
-     * @param userId    用户ID
-     */
-    public void updateChuanyunSelfWorkHourListByUserId(String userId){
-        long startTime = Instant.now().getEpochSecond();
-        List<ChuanyunSelfWorkHourDO> updateList=chuanyunSelfWorkHourDao.findByUserId(userId);
-        this.updateChuanyunSelfWorkHourList(updateList);
-        log.info("用户工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
-    }
-
-    /**
-     * 根据标准日工时列表更新
-     * @param updateList    更新列表
-     */
-    public void updateChuanyunSelfWorkHourList(List<ChuanyunSelfWorkHourDO> updateList){
-        updateList.forEach(chuanyunSelfWorkHourDO -> {
-            try {
-                //
-                ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO = new ChuanyunSelfWorkHourDTO();
-                BeanUtils.copyProperties(chuanyunSelfWorkHourDO, chuanyunSelfWorkHourDTO);
-                ChuanyunUserCompanyDO chuanyunUserCompanyDO = chuanyunUserCompanyDao.findByUserId(chuanyunSelfWorkHourDO.getUserId());
-                if (chuanyunUserCompanyDO != null) {
-                    chuanyunSelfWorkHourDTO.setUserName(chuanyunUserCompanyDO.getUserName());
-                    chuanyunSelfWorkHourDTO.setBg(chuanyunUserCompanyDO.getBg());
-                    //由于人员所在部门信息可能会表,所以每次更新的时候需要获取人员最新的部门信息
-                    chuanyunSelfWorkHourDTO.setDepartmentId(chuanyunUserCompanyDO.getDepartmentId());
-                } else {
-                    chuanyunSelfWorkHourDTO.setUserName(chuanyunSelfWorkHourDTO.getUserId());
-                    chuanyunSelfWorkHourDTO.setBg("IBG");
-                    chuanyunSelfWorkHourDTO.setDepartmentId(chuanyunSelfWorkHourDO.getDepartmentId());
-                }
-                chuanyunSelfWorkHourDTO.setDepartmentName(chuanyunSelfWorkHourDO.getDepartmentName());
-                //更新到氚云
-                updateSelfWorkHour(chuanyunSelfWorkHourDTO);
-
-            } catch (Exception e) {
-                e.printStackTrace();
-                log.warn("更新标准工时异常");
-            }
-        });
     }
 
     /**
      * 异步更新每日工时
      */
     @Async
-    protected void updateSelfWorkHour(ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO) {
+    public void updateSelfWorkHour(ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO) {
         ObjectMapper objectMapper = new ObjectMapper();
         try {
             List<String> matchers = new ArrayList<>();
@@ -165,56 +66,78 @@ public class DataArcherService {
 
         } catch (Exception e) {
             e.printStackTrace();
-            log.warn("更新标准工时异常");
+            log.warn("更新标准工时异常"+chuanyunSelfWorkHourDTO);
         }
     }
 
+    /**
+     * 异步更新每周工时
+     * @param chuanyunWeekMemberHourDTO 每周工时数据对象
+     */
     @Async
-    public void loose() throws JsonProcessingException, BigSizeException {
-
-        @Data
-        class ApiTestDTO {
-
-            /**
-             * 表名
-             */
-            public static final String SCHEMA_CODE = "D001789test_api";
-            @JsonProperty(value = "F0000001")
-            private String a;
-            @JsonProperty(value = "F0000002")
-            private String b;
-            @JsonProperty(value = "F0000003")
-            private String c;
-            @JsonProperty(value = "F0000004")
-            private String d;
-            @JsonProperty(value = "F0000005")
-            private String e;
-            @JsonProperty(value = "F0000006")
-            private String f;
-
-            public ApiTestDTO(String a, String b, String c, String d, String e, String f) {
-                this.a = a;
-                this.b = b;
-                this.c = c;
-                this.d = d;
-                this.e = e;
-                this.f = f;
+    public void updateWeekMemberHour(ChuanyunWeekMemberHourDTO chuanyunWeekMemberHourDTO){
+        ObjectMapper objectMapper=new ObjectMapper();
+        try{
+            List<String> matchers = new ArrayList<>();
+            matchers.add("F0000001_2,"+chuanyunWeekMemberHourDTO.getProjectId());
+            matchers.add("F0000002_2,"+chuanyunWeekMemberHourDTO.getUserId());
+            matchers.add("F0000006_2,"+chuanyunWeekMemberHourDTO.getWeek());
+            matchers.add("F0000008_2,"+chuanyunWeekMemberHourDTO.getYear());
+            matchers.add("F0000003_2,"+chuanyunWeekMemberHourDTO.getProjectType());
+            matchers.add("F0000007_2,"+chuanyunWeekMemberHourDTO.getStatus());
+            var filter= Filter.instance(0,1,true,"And",matchers);
+            var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,filter);
+            var selfMonthString=objectMapper.writeValueAsString(chuanyunWeekMemberHourDTO);
+            ChuanyunSaveDTO chuanyunSaveDTO;
+            if (chuanyunFindAllResponse.getReturnData()!=null) {
+                List<ChuanyunProjectMemberWeekHourDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                ChuanyunProjectMemberWeekHourDO firstResult = result.get(0);
+                chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,firstResult.getObjectId(),selfMonthString);
+            }else {
+                chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,selfMonthString,true);
             }
+            if(!chuanyunSaveDTO.getSuccessful()){
+                log.warn("新增人员项目周度工时失败");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            log.warn("更新标准工时异常"+chuanyunWeekMemberHourDTO);
         }
+    }
 
-        long tmpStart = System.currentTimeMillis();
-        ApiTestDTO apiTestDTO = new ApiTestDTO(RandomStringUtils.random(5, true, true),
-                RandomStringUtils.random(5, true, true),
-                RandomStringUtils.random(5, true, true),
-                RandomStringUtils.random(5, true, true),
-                RandomStringUtils.random(5, true, true),
-                RandomStringUtils.random(5, true, true));
-        ObjectMapper objectMapper = new ObjectMapper();
-        String data = objectMapper.writeValueAsString(apiTestDTO);
-        chuanYunManager.save(ApiTestDTO.SCHEMA_CODE, data, true);
-
-        log.info((System.currentTimeMillis() - tmpStart) + "s");
-
+    /**
+     * 异步更新每月工时
+     * @param chuanyunSelfCostDTO 每周工时数据对象
+     */
+    @Async
+    public void updateChuanyunSelfCost(ChuanyunSelfCostDTO chuanyunSelfCostDTO){
+        ObjectMapper objectMapper=new ObjectMapper();
+        try {
+            List<String> matchers = new ArrayList<>();
+            matchers.add("F0000003_2," + chuanyunSelfCostDTO.getProjectId());
+            matchers.add("F0000009_2," + chuanyunSelfCostDTO.getStatus());
+            matchers.add("F0000002_2," + chuanyunSelfCostDTO.getUserId());
+            matchers.add("F0000008_2," + chuanyunSelfCostDTO.getProjectType());
+            matchers.add("F0000004_2," + chuanyunSelfCostDTO.getDayLogDate());
+            var filter = Filter.instance(0, 1, true, "And", matchers);
+            var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunSelfCostDTO.SCHEMA_CODE, filter);
+            var memberMonthString = objectMapper.writeValueAsString(chuanyunSelfCostDTO);
+            ChuanyunSaveDTO chuanyunSaveDTO;
+            if (chuanyunFindAllResponse.getReturnData() != null) {
+                List<ChuanyunMemberMonthCostDO> result = objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>() {
+                });
+                ChuanyunMemberMonthCostDO firstResult = result.get(0);
+                chuanyunSaveDTO = chuanYunManager.update(ChuanyunMemberMonthCostDO.SCHEMA_CODE, firstResult.getObjectId(), memberMonthString);
+            } else {
+                chuanyunSaveDTO = chuanYunManager.save(ChuanyunMemberMonthCostDO.SCHEMA_CODE, memberMonthString, true);
+            }
+            if (!chuanyunSaveDTO.getSuccessful()) {
+                log.warn("新增项目成员月度工时汇总失败");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.warn("更新标准月工时异常" + chuanyunSelfCostDTO + "");
+        }
     }
 
 }

+ 1 - 2
src/main/java/com/galaxis/manatee/service/DingTalkAuthorization.java

@@ -6,7 +6,6 @@ import com.galaxis.manatee.constant.DingTalkConstant;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
@@ -30,7 +29,7 @@ public class DingTalkAuthorization {
      * 自动获取钉钉授权
      * @throws URISyntaxException   URI异常
      */
-    @Scheduled(fixedDelay = 7000000L)
+//    @Scheduled(fixedDelay = 7000000L)
     private void getToken() throws URISyntaxException {
         var restTemplate=new RestTemplate();
         var uri=new URI(getTokenUri+"?appkey="+ DingTalkConstant.DING_TALK_APP_KEY +"&appsecret="+DingTalkConstant.DING_TALK_APP_SECRET);

+ 10 - 7
src/main/java/com/galaxis/manatee/service/DingTalkScheduledTask.java

@@ -1,7 +1,8 @@
 package com.galaxis.manatee.service;
 
 import com.dingtalk.api.DingTalkClient;
-import com.dingtalk.api.request.*;
+import com.dingtalk.api.request.OapiProcessinstanceGetRequest;
+import com.dingtalk.api.request.OapiProcessinstanceListidsRequest;
 import com.dingtalk.api.response.OapiProcessinstanceGetResponse;
 import com.dingtalk.api.response.OapiProcessinstanceListidsResponse;
 import com.galaxis.manatee.constant.DingTalkConstant;
@@ -15,13 +16,15 @@ import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunProjectChangeDO;
 import com.galaxis.manatee.entity.ding.DingTalkProcessInstance;
 import com.taobao.api.ApiException;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.temporal.ChronoUnit;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
 
 /**
  * 钉钉定时任务
@@ -70,7 +73,7 @@ public class DingTalkScheduledTask {
      * 每个小时定期更新出差申请数据
      * 出差申请信息暂时不进行更新
      */
-    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
+//    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
     void updateBusinessTripProcessInstanceIdList() throws ApiException {
         updateProcessInstanceIdList(DingTalkConstant.PROCESS_CODE_BUSINESS_TRIP);
     }
@@ -81,7 +84,7 @@ public class DingTalkScheduledTask {
      * 每小时根据出差申请Id跟新出差申请信息。
      * 出差申请信息暂时不进行更新
      */
-    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
+//    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
     void updateProcessInstanceList() throws ApiException {
          updateChuanyunAskForLeave(DingTalkConstant.PROCESS_CODE_ASKFORLEAVE);
     }
@@ -90,7 +93,7 @@ public class DingTalkScheduledTask {
      * 业务招待申请更新
      * @throws ApiException
      */
-    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
+//    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
     void updateChuanyunBusinessEntertainmentProcessInstanceList() throws ApiException {
         updateChuanyunBusinessEntertainment(DingTalkConstant.PROCESS_CODE_BUSINESSENTERTAINMENT);
     }
@@ -98,7 +101,7 @@ public class DingTalkScheduledTask {
     /**
      * 每个小时定期更新项目实施变更申请数据
      */
-    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
+//    @Scheduled(fixedDelay = 3600000L,initialDelay = 10000L)
     void updateProjectChangeProcessInstanceIdList() throws ApiException {
         updateChuanyunProjectChangeProcessInstanceIdList(DingTalkConstant.PROCESS_CODE_PROJECT_CHANGE);
     }

+ 236 - 0
src/main/java/com/galaxis/manatee/service/LogUpdateService.java

@@ -0,0 +1,236 @@
+package com.galaxis.manatee.service;
+
+import com.galaxis.manatee.dao.ChuanyunSelfCostDao;
+import com.galaxis.manatee.dao.ChuanyunSelfWorkHourDao;
+import com.galaxis.manatee.dao.ChuanyunUserCompanyDao;
+import com.galaxis.manatee.dao.ChuanyunWeekMemberHourDao;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfCostDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfWorkHourDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunUserCompanyDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunWeekMemberHourDO;
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSelfCostDTO;
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSelfWorkHourDTO;
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunWeekMemberHourDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.time.Instant;
+import java.util.List;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2021/3/6 9:56 上午
+ */
+@Slf4j
+@Service
+public class LogUpdateService {
+
+    private final DataArcherService dataArcherService;
+    private final ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao;
+    private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
+    private final ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao;
+    private final ChuanyunSelfCostDao chuanyunSelfCostDao;
+
+    public LogUpdateService(DataArcherService dataArcherService, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao, ChuanyunSelfCostDao chuanyunSelfCostDao) {
+        this.dataArcherService = dataArcherService;
+        this.chuanyunSelfWorkHourDao = chuanyunSelfWorkHourDao;
+        this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
+        this.chuanyunWeekMemberHourDao = chuanyunWeekMemberHourDao;
+        this.chuanyunSelfCostDao = chuanyunSelfCostDao;
+    }
+
+    /**
+     * 更新所有日工时
+     */
+    public void updateAllChuanyunSelfWorkHour(){
+        long startTime = Instant.now().getEpochSecond();
+        var pageSize = 20;
+        var page = 0;
+        while (true){
+            var pageable = PageRequest.of(page, pageSize);
+            var updateList = chuanyunSelfWorkHourDao.findAll(pageable);
+            if (page <= updateList.getTotalPages()) {
+                page += 1;
+                this.updateChuanyunSelfWorkHourList(updateList.toList());
+            }else{
+                break;
+            }
+        }
+        log.info("更新所有每日工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
+    }
+
+    /**
+     * 更新所有周工时
+     */
+    public void updateAllChuanyunWeekMemberHour(){
+        long startTime = Instant.now().getEpochSecond();
+        var pageSize = 20;
+        var page = 0;
+        while (true){
+            var pageable = PageRequest.of(page, pageSize);
+            var updateList = chuanyunWeekMemberHourDao.findAll(pageable);
+            if (page <= updateList.getTotalPages()) {
+                page += 1;
+                this.updateChuanyunWeekMemberHourList(updateList.toList());
+            }else{
+                break;
+            }
+        }
+        log.info("更新所有每周工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
+    }
+
+    public void updateAllChuanyunSelfCost(){
+        long startTime = Instant.now().getEpochSecond();
+        var pageSize = 20;
+        var page = 0;
+        while (true){
+            var pageable = PageRequest.of(page, pageSize);
+            var updateList = chuanyunSelfCostDao.findAll(pageable);
+            if (page <= updateList.getTotalPages()) {
+                page += 1;
+                this.updateChuanyunSelfCostList(updateList.toList());
+            }else{
+                break;
+            }
+        }
+        log.info("更新所有每月工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
+    }
+
+    /**
+     * 更新最近一个月的标准每日工时
+     */
+    public void updateRecentChuanyunSelfWorkHour(){
+        long startTime = Instant.now().getEpochSecond();
+        var pageSize = 20;
+        var page = 0;
+        while (true){
+            var pageable = PageRequest.of(page, pageSize);
+            var updateList = chuanyunSelfWorkHourDao.getRecentlyDayHour(pageable);
+            if (page <= updateList.getTotalPages()) {
+                page += 1;
+                this.updateChuanyunSelfWorkHourList(updateList.toList());
+            }else{
+                break;
+            }
+        }
+        log.info("更新最近一个月每日工时花费"+(Instant.now().getEpochSecond()-startTime)+"秒");
+    }
+
+    /**
+     * 根据用户Id更新氚云每日工时列表
+     * @param userId    用户ID
+     */
+    public void updateChuanyunSelfWorkHourListByUserId(String userId){
+        List<ChuanyunSelfWorkHourDO> updateList=chuanyunSelfWorkHourDao.findByUserId(userId);
+        this.updateChuanyunSelfWorkHourList(updateList);
+    }
+
+    /**
+     * 根据用户Id更新氚云每周工时列表
+     * @param userId    用户ID
+     */
+    public void updateChuanyunWeekMemberHourListByUserId(String userId){
+        List<ChuanyunWeekMemberHourDO> updateList=chuanyunWeekMemberHourDao.findByUserId(userId);
+        this.updateChuanyunWeekMemberHourList(updateList);
+    }
+
+    /**
+     * 根据用户Id更新氚云每月工时列表
+     * @param userId    用户ID
+     */
+    public void updateChuanyunSelfCostListByUserId(String userId){
+        List<ChuanyunSelfCostDO> updateList=chuanyunSelfCostDao.findByUserId(userId);
+        this.updateChuanyunSelfCostList(updateList);
+    }
+
+    /**
+     * 根据标准日工时列表更新
+     * @param updateList    更新列表
+     */
+    public void updateChuanyunSelfWorkHourList(List<ChuanyunSelfWorkHourDO> updateList){
+        updateList.forEach(chuanyunSelfWorkHourDO -> {
+            try {
+                //
+                ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO = new ChuanyunSelfWorkHourDTO();
+                BeanUtils.copyProperties(chuanyunSelfWorkHourDO, chuanyunSelfWorkHourDTO);
+                ChuanyunUserCompanyDO chuanyunUserCompanyDO = chuanyunUserCompanyDao.findByUserId(chuanyunSelfWorkHourDO.getUserId());
+                if (chuanyunUserCompanyDO != null) {
+                    chuanyunSelfWorkHourDTO.setUserName(chuanyunUserCompanyDO.getUserName());
+                    chuanyunSelfWorkHourDTO.setBg(chuanyunUserCompanyDO.getBg());
+                    //由于人员所在部门信息可能会表,所以每次更新的时候需要获取人员最新的部门信息
+                    chuanyunSelfWorkHourDTO.setDepartmentId(chuanyunUserCompanyDO.getDepartmentId());
+                } else {
+                    chuanyunSelfWorkHourDTO.setUserName(chuanyunSelfWorkHourDTO.getUserId());
+                    chuanyunSelfWorkHourDTO.setBg("IBG");
+                    chuanyunSelfWorkHourDTO.setDepartmentId(chuanyunSelfWorkHourDO.getDepartmentId());
+                }
+                chuanyunSelfWorkHourDTO.setDepartmentName(chuanyunSelfWorkHourDO.getDepartmentName());
+                //更新到氚云
+                dataArcherService.updateSelfWorkHour(chuanyunSelfWorkHourDTO);
+
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.warn("更新标准工时异常");
+            }
+        });
+    }
+
+    /**
+     * 根据标准周工时列表更新
+     * @param updateList    更新列表
+     */
+    public void updateChuanyunWeekMemberHourList(List<ChuanyunWeekMemberHourDO> updateList){
+        updateList.forEach(chuanyunWeekMemberHourDO -> {
+            //更新氚云
+            try {
+                String departmentId=chuanyunUserCompanyDao.findByUserId(chuanyunWeekMemberHourDO.getUserId()).getDepartmentId();
+                ChuanyunWeekMemberHourDTO chuanyunWeekMemberHourDTO = new ChuanyunWeekMemberHourDTO();
+                chuanyunWeekMemberHourDTO.setProjectId(chuanyunWeekMemberHourDO.getProjectId());
+                chuanyunWeekMemberHourDTO.setUserId(chuanyunWeekMemberHourDO.getUserId());
+                chuanyunWeekMemberHourDTO.setWeek(chuanyunWeekMemberHourDO.getWeek());
+                chuanyunWeekMemberHourDTO.setProjectType(chuanyunWeekMemberHourDO.getProjectType());
+                chuanyunWeekMemberHourDTO.setTotalHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
+                chuanyunWeekMemberHourDTO.setStatus(chuanyunWeekMemberHourDO.getStatus());
+                chuanyunWeekMemberHourDTO.setYear(chuanyunWeekMemberHourDO.getYear());
+                chuanyunWeekMemberHourDTO.setDepartmentId(departmentId);
+                dataArcherService.updateWeekMemberHour(chuanyunWeekMemberHourDTO);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.warn("更新每周工时异常"+chuanyunWeekMemberHourDO);
+            }
+        });
+    }
+
+    /**
+     * 根据标准月工时列表更新
+     * @param updateList    更新列表
+     */
+    public void updateChuanyunSelfCostList(List<ChuanyunSelfCostDO> updateList){
+        updateList.forEach(chuanyunSelfCostDO -> {
+            try {
+                ChuanyunSelfCostDTO chuanyunSelfCostDTO = new ChuanyunSelfCostDTO();
+                //更新氚云数据
+                chuanyunSelfCostDTO.setCost(chuanyunSelfCostDO.getCost());
+                chuanyunSelfCostDTO.setProjectId(chuanyunSelfCostDO.getProjectId());
+                chuanyunSelfCostDTO.setProjectType(chuanyunSelfCostDO.getProjectType());
+                chuanyunSelfCostDTO.setStatus(chuanyunSelfCostDO.getStatus());
+                chuanyunSelfCostDTO.setUserId(chuanyunSelfCostDO.getUserId());
+                chuanyunSelfCostDTO.setMonthWorkHour(chuanyunSelfCostDO.getMonthlyTotalHour());
+                chuanyunSelfCostDTO.setDayLogDate(chuanyunSelfCostDO.getDayLogDate());
+                chuanyunSelfCostDTO.setWorkHour(chuanyunSelfCostDO.getTotalHour());
+                chuanyunSelfCostDTO.setDepartmentId(chuanyunSelfCostDO.getDepartmentId());
+                if (!StringUtils.isEmpty(chuanyunSelfCostDO.getProjectId())) {
+                    dataArcherService.updateChuanyunSelfCost(chuanyunSelfCostDTO);
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+                log.warn("更新每月工时异常"+chuanyunSelfCostDO);
+            }
+        });
+
+    }
+}

+ 2 - 3
src/main/java/com/galaxis/manatee/task/WorkHourStatistics.java

@@ -21,7 +21,6 @@ import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.PageRequest;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -65,10 +64,10 @@ public class WorkHourStatistics {
     /**
      * 更新所有项目工时
      */
-    @Scheduled(fixedDelay = 432000000L)
+//    @Scheduled(fixedDelay = 432000000L)
     public void updateHour() {
         //每日工时标准化
-        standardWorkHour();
+//        standardWorkHour();
 //        standardWeeklyWorkHour();
 //        standardMonthlyWorkHour();
 //        projectMemberHour();

+ 0 - 201
src/main/java/com/galaxis/manatee/task/WorkHourStatisticsRecently.java

@@ -1,6 +1,5 @@
 package com.galaxis.manatee.task;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.galaxis.manatee.constant.ChuanYunConstant;
@@ -9,11 +8,9 @@ import com.galaxis.manatee.entity.chuanyun.data.object.*;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.Filter;
-import com.galaxis.manatee.exception.BigSizeException;
 import com.galaxis.manatee.manager.ChuanYunManager;
 import com.galaxis.manatee.service.LogStandardService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
@@ -181,76 +178,9 @@ public class WorkHourStatisticsRecently {
             }
         }
         log.info("每日工时标准化"+(Instant.now().getEpochSecond()-startTime)+"秒");
-        updateChuanyunStandardWorkHour();
     }
 
     /**
-     * 将标准化工时更新到氚云中
-     */
-    private void updateChuanyunStandardWorkHour(){
-        var flag = true;
-        var pageSize = 20;
-        var page = 0;
-        log.info("开始更新氚云日工时汇总");
-        long startTime=Instant.now().getEpochSecond();
-        while(flag) {
-            var pageable= PageRequest.of(page,pageSize);
-            var updateList=chuanyunSelfWorkHourDao.getRecentlyDayHour(pageable);
-            if (page<=updateList.getTotalPages()){
-                page += 1;
-                updateList.forEach(chuanyunSelfWorkHourDO -> {
-                    try{
-                        ChuanyunUserCompanyDO chuanyunUserCompanyDO =chuanyunUserCompanyDao.findByUserId(chuanyunSelfWorkHourDO.getUserId());
-                        WorkHourStatistics.ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO = new WorkHourStatistics.ChuanyunSelfWorkHourDTO();
-                        BeanUtils.copyProperties(chuanyunSelfWorkHourDO,chuanyunSelfWorkHourDTO);
-                        if (chuanyunUserCompanyDO!=null){
-                            chuanyunSelfWorkHourDTO.setUserName(chuanyunUserCompanyDO.getUserName());
-                            chuanyunSelfWorkHourDTO.setBg(chuanyunUserCompanyDO.getBg());
-                        }else{
-                            chuanyunSelfWorkHourDTO.setUserName(chuanyunSelfWorkHourDTO.getUserId());
-                        }
-                        if (chuanyunUserCompanyDO!=null){
-                            chuanyunSelfWorkHourDTO.setDepartmentId(chuanyunUserCompanyDO.getDepartmentId());
-                        }
-                        chuanyunSelfWorkHourDTO.setDepartmentName(chuanyunSelfWorkHourDO.getDepartmentName());
-                            List<String> matchers = new ArrayList<>();
-                            if (!StringUtils.isEmpty(chuanyunSelfWorkHourDO.getProjectId())&&!chuanyunSelfWorkHourDO.getProjectId().equals(ChuanYunConstant.PRODUCTION_PROJECT_ID)){
-                                matchers.add("F0000001_2,"+chuanyunSelfWorkHourDO.getProjectId());
-                            }
-                            matchers.add("F0000002_2,"+chuanyunSelfWorkHourDO.getUserId());
-                            matchers.add("F0000003_2,"+chuanyunSelfWorkHourDO.getDayLogDate());
-                            matchers.add("F0000005_2,"+chuanyunSelfWorkHourDO.getProjectType());
-//                    matchers.add("F0000006_2,"+self.getStatus());
-                            var filter= Filter.instance(0,1,true,"And",matchers);
-                            var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunMemberHourDO.SCHEMA_CODE,filter);
-                            var selfMonthString=objectMapper.writeValueAsString(chuanyunSelfWorkHourDTO);
-                            ChuanyunSaveDTO chuanyunSaveDTO;
-                            if (chuanyunFindAllResponse.getReturnData()!=null){
-                                List<ChuanyunMemberHourDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                                ChuanyunMemberHourDO firstResult = result.get(0);
-                                chuanyunSaveDTO =chuanYunManager.update(ChuanyunMemberHourDO.SCHEMA_CODE,firstResult.getObjectId(),selfMonthString);
-                            }else {
-                                chuanyunSaveDTO =chuanYunManager.save(ChuanyunMemberHourDO.SCHEMA_CODE,selfMonthString,true);
-                            }
-                            if(!chuanyunSaveDTO.getSuccessful()){
-                                log.warn("新增工时标准化失败");
-                            }
-
-                    }catch (Exception e){
-                        e.printStackTrace();
-                        log.warn("更新标准工时异常");
-                    }
-                });
-            }else {
-                //流程执行完
-                flag=false;
-            }
-        }
-        log.info("日工时更新花费"+(Instant.now().getEpochSecond()-startTime));
-    }
-
-
-    /**
      * 人员-项目-周度工时汇总
      */
     private void standardWeeklyWorkHour() {
@@ -280,75 +210,9 @@ public class WorkHourStatisticsRecently {
             }
         });
         log.info("周工时标准化"+(Instant.now().getEpochSecond()-start)+"秒");
-        updateChuanyunWeekHour();
     }
 
     /**
-     * 人员-项目-周度工时汇总,更新氚云数据
-     */
-    private void updateChuanyunWeekHour(){
-        var flag = true;
-        var pageSize = 20;
-        var page = 0;
-        log.info("开始更新氚云周工时汇总");
-        long startTime=Instant.now().getEpochSecond();
-        while(flag) {
-            var pageable = PageRequest.of(page, pageSize);
-            var updateList = chuanyunWeekMemberHourDao.getRecentlyWeekHour(pageable);
-            if (page<=updateList.getTotalPages()){
-                page += 1;
-                updateList.getContent().forEach(chuanyunWeekMemberHourDO -> {
-                    //更新氚云
-                    try {
-                        String departmentId=chuanyunUserCompanyDao.findByUserId(chuanyunWeekMemberHourDO.getUserId()).getDepartmentId();
-                        WorkHourStatistics.ChuanyunProjectMemberWeekHourDTO chuanyunProjectMemberWeekHourDTO = new WorkHourStatistics.ChuanyunProjectMemberWeekHourDTO();
-                        chuanyunProjectMemberWeekHourDTO.setProjectId(chuanyunWeekMemberHourDO.getProjectId());
-                        chuanyunProjectMemberWeekHourDTO.setUserId(chuanyunWeekMemberHourDO.getUserId());
-                        chuanyunProjectMemberWeekHourDTO.setWeek(chuanyunWeekMemberHourDO.getWeek());
-                        chuanyunProjectMemberWeekHourDTO.setProjectType(chuanyunWeekMemberHourDO.getProjectType());
-                        chuanyunProjectMemberWeekHourDTO.setTotalHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
-//                        if (chuanyunProjectMemberWeekHourDTO.getTotalHour()!=null){
-//                            chuanyunProjectMemberWeekHourDTO.setPersonDays(chuanyunWeekMemberHourDO.getStandardWorkHour().divide(standard,2,RoundingMode.HALF_UP));
-//                        }
-                        chuanyunProjectMemberWeekHourDTO.setHourStatus(chuanyunWeekMemberHourDO.getStatus());
-                        chuanyunProjectMemberWeekHourDTO.setYear(chuanyunWeekMemberHourDO.getYear());
-                        chuanyunProjectMemberWeekHourDTO.setDepartmentId(departmentId);
-
-                        List<String> matchers = new ArrayList<>();
-                        matchers.add("F0000001_2,"+chuanyunWeekMemberHourDO.getProjectId());
-                        matchers.add("F0000002_2,"+chuanyunWeekMemberHourDO.getUserId());
-                        matchers.add("F0000006_2,"+chuanyunWeekMemberHourDO.getWeek());
-                        matchers.add("F0000008_2,"+chuanyunWeekMemberHourDO.getYear());
-                        matchers.add("F0000003_2,"+chuanyunWeekMemberHourDO.getProjectType());
-                        matchers.add("F0000007_2,"+chuanyunWeekMemberHourDO.getStatus());
-                        var filter= Filter.instance(0,1,true,"And",matchers);
-                        var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,filter);
-                        var selfMonthString=objectMapper.writeValueAsString(chuanyunProjectMemberWeekHourDTO);
-                        ChuanyunSaveDTO chuanyunSaveDTO;
-                        if (chuanyunFindAllResponse.getReturnData()!=null) {
-                            List<ChuanyunProjectMemberWeekHourDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                            ChuanyunProjectMemberWeekHourDO firstResult = result.get(0);
-                            chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,firstResult.getObjectId(),selfMonthString);
-                        }else {
-                            chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,selfMonthString,true);
-                        }
-                        if(!chuanyunSaveDTO.getSuccessful()){
-                            log.warn("新增人员项目周度工时失败");
-                        }
-                    } catch (JsonProcessingException | BigSizeException e) {
-                        e.printStackTrace();
-                    }
-                });
-            }else {
-                //流程执行完
-                flag=false;
-            }
-        }
-        log.info("周工时更新花费"+(Instant.now().getEpochSecond()-startTime));
-    }
-
-
-    /**
      * 单月工时汇总
      */
     private void standardMonthlyWorkHour() {
@@ -368,7 +232,6 @@ public class WorkHourStatisticsRecently {
                 flag = false;
             }
         }
-        updateChuanyunMonthHour();
     }
 
     /**
@@ -444,70 +307,6 @@ public class WorkHourStatisticsRecently {
         });
     }
 
-
-
-    /**
-     * 人员-项目-月度工时汇总,更新氚云数据
-     */
-    private void updateChuanyunMonthHour(){
-        var flag = true;
-        var pageSize = 20;
-        var page = 0;
-        log.info("开始更新氚云月工时汇总");
-        long startTime=Instant.now().getEpochSecond();
-        while(flag) {
-            var pageable = PageRequest.of(page, pageSize);
-            var updateList = chuanyunSelfCostDao.getRecentlyMonthHour(pageable);
-            if (page<=updateList.getTotalPages()){
-                page += 1;
-                updateList.getContent().forEach(chuanyunSelfCostDO -> {
-                    WorkHourStatistics.ChuanyunMemberMonthCostDTO chuanyunMemberMonthCostDTO = new WorkHourStatistics.ChuanyunMemberMonthCostDTO();
-                    //更新氚云数据
-                    chuanyunMemberMonthCostDTO.setCost(chuanyunSelfCostDO.getCost());
-                    chuanyunMemberMonthCostDTO.setProjectId(chuanyunSelfCostDO.getProjectId());
-                    chuanyunMemberMonthCostDTO.setProjectType(chuanyunSelfCostDO.getProjectType());
-                    chuanyunMemberMonthCostDTO.setStatus(chuanyunSelfCostDO.getStatus());
-                    chuanyunMemberMonthCostDTO.setUserId(chuanyunSelfCostDO.getUserId());
-                    chuanyunMemberMonthCostDTO.setMonthWorkHour(chuanyunSelfCostDO.getMonthlyTotalHour());
-                    chuanyunMemberMonthCostDTO.setDayLogDate(chuanyunSelfCostDO.getDayLogDate());
-                    chuanyunMemberMonthCostDTO.setWorkHour(chuanyunSelfCostDO.getTotalHour());
-                    chuanyunMemberMonthCostDTO.setDepartmentId(chuanyunSelfCostDO.getDepartmentId());
-                    if (!StringUtils.isEmpty(chuanyunSelfCostDO.getProjectId())){
-                        try {
-                            List<String> matchers = new ArrayList<>();
-                            matchers.add("F0000003_2,"+chuanyunSelfCostDO.getProjectId());
-                            matchers.add("F0000009_2,"+chuanyunSelfCostDO.getStatus());
-                            matchers.add("F0000002_2,"+chuanyunSelfCostDO.getUserId());
-                            matchers.add("F0000008_2,"+chuanyunSelfCostDO.getProjectType());
-                            matchers.add("F0000004_2,"+chuanyunSelfCostDO.getDayLogDate());
-                            var filter= Filter.instance(0,1,true,"And",matchers);
-                            var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunMemberMonthCostDO.SCHEMA_CODE,filter);
-                            var memberMonthString=objectMapper.writeValueAsString(chuanyunMemberMonthCostDTO);
-                            ChuanyunSaveDTO chuanyunSaveDTO;
-                            if (chuanyunFindAllResponse.getReturnData()!=null){
-                                List<ChuanyunMemberMonthCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                                ChuanyunMemberMonthCostDO firstResult = result.get(0);
-                                chuanyunSaveDTO =chuanYunManager.update(ChuanyunMemberMonthCostDO.SCHEMA_CODE,firstResult.getObjectId(),memberMonthString);
-                            }else {
-                                chuanyunSaveDTO =chuanYunManager.save(ChuanyunMemberMonthCostDO.SCHEMA_CODE,memberMonthString,true);
-                            }
-                            if(!chuanyunSaveDTO.getSuccessful()){
-                                log.warn("新增项目成员月度成本汇总失败");
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                            log.warn("########"+chuanyunSelfCostDO+"");
-                        }
-                    }
-                });
-            }else {
-                //流程执行完
-                flag=false;
-            }
-        }
-        log.info("月工时更新花费"+(Instant.now().getEpochSecond()-startTime));
-    }
-
     /**
      * 删除状态为审核中数据
      */