Browse Source

1.更新周工时统计

WoNiu 4 years ago
parent
commit
7c7185cb8b
1 changed files with 30 additions and 24 deletions
  1. 30 24
      src/main/java/com/galaxis/manatee/task/WorkHourStatisticsRecently.java

+ 30 - 24
src/main/java/com/galaxis/manatee/task/WorkHourStatisticsRecently.java

@@ -134,7 +134,7 @@ public class WorkHourStatisticsRecently {
                 log.error(e.getMessage());
                 e.printStackTrace();
             }
-//            log.info(Instant.now().getEpochSecond()-startTime+"日志100条保存时间");
+            log.info(Instant.now().getEpochSecond()-startTime+"日志100条保存时间");
         }
         log.info("最近一月历史日志信息保存" + totalCount);
     }
@@ -173,6 +173,7 @@ public class WorkHourStatisticsRecently {
      * @param chuanyunUserCompanyDO 员工信息
      */
     private void standardHour(ChuanyunUserCompanyDO chuanyunUserCompanyDO) {
+        log.info("开始每日工时标准化");
         BigDecimal standard = new BigDecimal(8);
         //每人每个项目每天工时
         List<ChuanyunWorkHourDO> selfList = chuanyunWorkHourDao.getSelfWorkHourRecently(chuanyunUserCompanyDO.getUserId());
@@ -219,7 +220,7 @@ public class WorkHourStatisticsRecently {
         var flag = true;
         var pageSize = 20;
         var page = 0;
-        log.info("开始更新日工时汇总");
+        log.info("开始更新氚云日工时汇总");
         long startTime=Instant.now().getEpochSecond();
         while(flag) {
             var pageable= PageRequest.of(page,pageSize);
@@ -232,25 +233,27 @@ public class WorkHourStatisticsRecently {
                         WorkHourStatistics.ChuanyunSelfWorkHourDTO chuanyunSelfWorkHourDTO = new WorkHourStatistics.ChuanyunSelfWorkHourDTO();
                         BeanUtils.copyProperties(chuanyunSelfWorkHourDO,chuanyunSelfWorkHourDTO);
                         chuanyunSelfWorkHourDTO.setDepartmentId(departmentId);
-                        List<String> matchers = new ArrayList<>();
-                        matchers.add("F0000001_2,"+chuanyunSelfWorkHourDO.getProjectId());
-                        matchers.add("F0000002_2,"+chuanyunSelfWorkHourDO.getUserId());
-                        matchers.add("F0000003_2,"+chuanyunSelfWorkHourDO.getDayLogDate());
-                        matchers.add("F0000005_2,"+chuanyunSelfWorkHourDO.getProjectType());
+                        if (!StringUtils.isEmpty(chuanyunSelfWorkHourDO.getProjectId())&&!chuanyunSelfWorkHourDO.getProjectId().equals("production_project")){
+                            List<String> matchers = new ArrayList<>();
+                            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("新增工时标准化失败");
+                            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();
@@ -313,7 +316,7 @@ public class WorkHourStatisticsRecently {
         var flag = true;
         var pageSize = 20;
         var page = 0;
-        log.info("开始更新周工时汇总");
+        log.info("开始更新氚云周工时汇总");
         long startTime=Instant.now().getEpochSecond();
         while(flag) {
             var pageable = PageRequest.of(page, pageSize);
@@ -321,9 +324,10 @@ public class WorkHourStatisticsRecently {
             if (page<=updateList.getTotalPages()){
                 page += 1;
                 updateList.getContent().forEach(chuanyunWeekMemberHourDO -> {
+//                    log.info("------周工时-----------"+chuanyunWeekMemberHourDO);
                     //更新氚云
                     try {
-                        String departmentId=chuanyunUserCompanyDao.findAllByUserId(chuanyunWeekMemberHourDO.getUserId()).get(0).getDepartmentId();
+                        String departmentId=chuanyunUserCompanyDao.findByUserId(chuanyunWeekMemberHourDO.getUserId()).getDepartmentId();
                         BigDecimal standard = new BigDecimal(8);
                         WorkHourStatistics.ChuanyunProjectMemberWeekHourDTO chuanyunProjectMemberWeekHourDTO = new WorkHourStatistics.ChuanyunProjectMemberWeekHourDTO();
                         chuanyunProjectMemberWeekHourDTO.setProjectId(chuanyunWeekMemberHourDO.getProjectId());
@@ -331,7 +335,9 @@ public class WorkHourStatisticsRecently {
                         chuanyunProjectMemberWeekHourDTO.setWeek(chuanyunWeekMemberHourDO.getWeek());
                         chuanyunProjectMemberWeekHourDTO.setProjectType(chuanyunWeekMemberHourDO.getProjectType());
                         chuanyunProjectMemberWeekHourDTO.setTotalHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
-                        chuanyunProjectMemberWeekHourDTO.setPersonDays(chuanyunWeekMemberHourDO.getStandardWorkHour().divide(standard,2,RoundingMode.HALF_UP));
+//                        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);
@@ -474,7 +480,7 @@ public class WorkHourStatisticsRecently {
         var flag = true;
         var pageSize = 20;
         var page = 0;
-        log.info("开始更新月工时汇总");
+        log.info("开始更新氚云月工时汇总");
         long startTime=Instant.now().getEpochSecond();
         while(flag) {
             var pageable = PageRequest.of(page, pageSize);