Ver Fonte

1.修改周工时

WoNiu há 4 anos atrás
pai
commit
c89be7d8cf

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

@@ -62,7 +62,7 @@ public class WorkHourStatistics {
     }
 
 
-    @Scheduled(fixedDelay = 432000000L)
+//    @Scheduled(fixedDelay = 432000000L)
     public void updateHour() {
         standardWorkHour();
         standardWeeklyWorkHour();
@@ -151,39 +151,39 @@ public class WorkHourStatistics {
      * 人员-项目-周度工时汇总
      */
     private void standardWeeklyWorkHour() {
-//        long start=Instant.now().getEpochSecond();
-//        //更新数据库
-//        log.info("开始周工时标准化");
-//        List<ChuanyunWeekMemberHourDO> list = chuanyunWeekMemberHourDao.getWeekMemberHour();
-//        list.forEach(chuanyunWeekMemberHourDO -> {
-//            try{
-//                if (chuanyunWeekMemberHourDO!=null){
-//                    ChuanyunWeekMemberHourDO weekMemberHourDO = new ChuanyunWeekMemberHourDO();
-//                    weekMemberHourDO.setProjectId(chuanyunWeekMemberHourDO.getProjectId());
-//                    weekMemberHourDO.setProjectType(chuanyunWeekMemberHourDO.getProjectType());
-//                    weekMemberHourDO.setStandardWorkHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
-//                    weekMemberHourDO.setStatus(chuanyunWeekMemberHourDO.getStatus());
-//                    weekMemberHourDO.setUserId(chuanyunWeekMemberHourDO.getUserId());
-//                    weekMemberHourDO.setYear(chuanyunWeekMemberHourDO.getYear());
-//                    weekMemberHourDO.setWeek(chuanyunWeekMemberHourDO.getWeek());
-//                    ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getStatus(),chuanyunWeekMemberHourDO.getProjectType(),chuanyunWeekMemberHourDO.getYear());
-//                    if (oldWeekHour != null) {
-//                        chuanyunWeekMemberHourDao.delete(oldWeekHour);
-//                    }
-//                    chuanyunWeekMemberHourDao.save(weekMemberHourDO);
-//                    //搜索是否还有处于审批中的数据
-//                    ChuanyunWeekMemberHourDO processWeekHour = chuanyunWeekMemberHourDao.getProcessWeekHour(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getProjectType());
-//                    if (processWeekHour == null){
-//                        chuanyunWeekMemberHourDao.deleteByProjectIdAndUserIdAndYearAndWeekAndStatusAndProjectType(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),"2",chuanyunWeekMemberHourDO.getProjectType());
-//                        //同时删除氚云钟数据
-//                        deleteExamineStatus(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,"F0000007","F0000001",chuanyunWeekMemberHourDO.getProjectId(),"F0000002",chuanyunWeekMemberHourDO.getUserId(),"F0000008",chuanyunWeekMemberHourDO.getYear(),"","","F0000006",chuanyunWeekMemberHourDO.getWeek(),"F0000003",chuanyunWeekMemberHourDO.getProjectType());
-//                    }
-//                }
-//            }catch (Exception e){
-//                log.error(e.getMessage()+"周工时标准化异常");
-//            }
-//        });
-//        log.info("周工时标准化"+(Instant.now().getEpochSecond()-start)+"秒");
+        long start=Instant.now().getEpochSecond();
+        //更新数据库
+        log.info("开始周工时标准化");
+        List<ChuanyunWeekMemberHourDO> list = chuanyunWeekMemberHourDao.getWeekMemberHour();
+        list.forEach(chuanyunWeekMemberHourDO -> {
+            try{
+                if (chuanyunWeekMemberHourDO!=null){
+                    ChuanyunWeekMemberHourDO weekMemberHourDO = new ChuanyunWeekMemberHourDO();
+                    weekMemberHourDO.setProjectId(chuanyunWeekMemberHourDO.getProjectId());
+                    weekMemberHourDO.setProjectType(chuanyunWeekMemberHourDO.getProjectType());
+                    weekMemberHourDO.setStandardWorkHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
+                    weekMemberHourDO.setStatus(chuanyunWeekMemberHourDO.getStatus());
+                    weekMemberHourDO.setUserId(chuanyunWeekMemberHourDO.getUserId());
+                    weekMemberHourDO.setYear(chuanyunWeekMemberHourDO.getYear());
+                    weekMemberHourDO.setWeek(chuanyunWeekMemberHourDO.getWeek());
+                    ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getStatus(),chuanyunWeekMemberHourDO.getProjectType(),chuanyunWeekMemberHourDO.getYear());
+                    if (oldWeekHour != null) {
+                        chuanyunWeekMemberHourDao.delete(oldWeekHour);
+                    }
+                    chuanyunWeekMemberHourDao.save(weekMemberHourDO);
+                    //搜索是否还有处于审批中的数据
+                    ChuanyunWeekMemberHourDO processWeekHour = chuanyunWeekMemberHourDao.getProcessWeekHour(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getProjectType());
+                    if (processWeekHour == null){
+                        chuanyunWeekMemberHourDao.deleteByProjectIdAndUserIdAndYearAndWeekAndStatusAndProjectType(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),"2",chuanyunWeekMemberHourDO.getProjectType());
+                        //同时删除氚云钟数据
+                        deleteExamineStatus(ChuanyunProjectMemberWeekHourDO.SCHEMA_CODE,"F0000007","F0000001",chuanyunWeekMemberHourDO.getProjectId(),"F0000002",chuanyunWeekMemberHourDO.getUserId(),"F0000008",chuanyunWeekMemberHourDO.getYear(),"","","F0000006",chuanyunWeekMemberHourDO.getWeek(),"F0000003",chuanyunWeekMemberHourDO.getProjectType());
+                    }
+                }
+            }catch (Exception e){
+                log.error(e.getMessage()+"周工时标准化异常");
+            }
+        });
+        log.info("周工时标准化"+(Instant.now().getEpochSecond()-start)+"秒");
         updateChuanyunWeekHour();
     }
 
@@ -191,21 +191,21 @@ public class WorkHourStatistics {
      * 单月工时汇总
      */
     private void standardMonthlyWorkHour() {
-//        var flag = true;
-//        var pageSize = 20;
-//        var page = 0;
-//        while(flag) {
-//            var pageable= PageRequest.of(page,pageSize);
-//            var chuanyunUserCompanyList = chuanyunUserCompanyDao.findAllByStatus(1,pageable);
-//            if (page<=chuanyunUserCompanyList.getTotalPages()){
-//                page += 1;
-//                List<ChuanyunUserCompanyDO> userCompanyDOList = chuanyunUserCompanyList.getContent();
-//                //单项目单人单月成本
-//                userCompanyDOList.forEach(this::standardMonthlyHour);
-//            }else {
-//                flag = false;
-//            }
-//        }
+        var flag = true;
+        var pageSize = 20;
+        var page = 0;
+        while(flag) {
+            var pageable= PageRequest.of(page,pageSize);
+            var chuanyunUserCompanyList = chuanyunUserCompanyDao.findAllByStatus(1,pageable);
+            if (page<=chuanyunUserCompanyList.getTotalPages()){
+                page += 1;
+                List<ChuanyunUserCompanyDO> userCompanyDOList = chuanyunUserCompanyList.getContent();
+                //单项目单人单月成本
+                userCompanyDOList.forEach(this::standardMonthlyHour);
+            }else {
+                flag = false;
+            }
+        }
         updateChuanyunMonthHour();
     }