|
@@ -62,7 +62,7 @@ public class WorkHourStatistics {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- @Scheduled(fixedDelay = 432000000L)
|
|
|
|
|
|
+// @Scheduled(fixedDelay = 432000000L)
|
|
public void updateHour() {
|
|
public void updateHour() {
|
|
standardWorkHour();
|
|
standardWorkHour();
|
|
standardWeeklyWorkHour();
|
|
standardWeeklyWorkHour();
|
|
@@ -151,39 +151,39 @@ public class WorkHourStatistics {
|
|
* 人员-项目-周度工时汇总
|
|
* 人员-项目-周度工时汇总
|
|
*/
|
|
*/
|
|
private void standardWeeklyWorkHour() {
|
|
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();
|
|
updateChuanyunWeekHour();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -191,21 +191,21 @@ public class WorkHourStatistics {
|
|
* 单月工时汇总
|
|
* 单月工时汇总
|
|
*/
|
|
*/
|
|
private void standardMonthlyWorkHour() {
|
|
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();
|
|
updateChuanyunMonthHour();
|
|
}
|
|
}
|
|
|
|
|