|
@@ -22,6 +22,7 @@ import org.springframework.beans.BeanUtils;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
@@ -136,8 +137,7 @@ public class WorkHourStatistics {
|
|
@Scheduled(fixedDelay = 3600000L)
|
|
@Scheduled(fixedDelay = 3600000L)
|
|
private void standardWeeklyWorkHour() {
|
|
private void standardWeeklyWorkHour() {
|
|
long start=Instant.now().getEpochSecond();
|
|
long start=Instant.now().getEpochSecond();
|
|
- //删除数据库中审批中的数据,防止重复记录工时
|
|
|
|
-// chuanyunWeekMemberHourDao.deleteAllByStatus("2");
|
|
|
|
|
|
+
|
|
//更新数据库
|
|
//更新数据库
|
|
log.info("开始周工时标准化");
|
|
log.info("开始周工时标准化");
|
|
List<ChuanyunWeekMemberHourDO> list = chuanyunWeekMemberHourDao.getWeekMemberHour();
|
|
List<ChuanyunWeekMemberHourDO> list = chuanyunWeekMemberHourDao.getWeekMemberHour();
|
|
@@ -157,9 +157,11 @@ public class WorkHourStatistics {
|
|
}
|
|
}
|
|
chuanyunWeekMemberHourDao.save(weekMemberHourDO);
|
|
chuanyunWeekMemberHourDao.save(weekMemberHourDO);
|
|
//搜索是否还有处于审批中的数据
|
|
//搜索是否还有处于审批中的数据
|
|
- ChuanyunWeekMemberHourDO processWeekHour = chuanyunWeekMemberHourDao.getProcessWeekHour(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek());
|
|
|
|
|
|
+ ChuanyunWeekMemberHourDO processWeekHour = chuanyunWeekMemberHourDao.getProcessWeekHour(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getProjectType());
|
|
if (processWeekHour == null){
|
|
if (processWeekHour == null){
|
|
- chuanyunWeekMemberHourDao.deleteByProjectIdAndUserIdAndYearAndWeekAndStatus(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getYear(),chuanyunWeekMemberHourDO.getWeek(),"2");
|
|
|
|
|
|
+ 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());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -241,7 +243,9 @@ public class WorkHourStatistics {
|
|
|
|
|
|
ChuanyunSelfCostDO chuanyunSelfCostDO = new ChuanyunSelfCostDO();
|
|
ChuanyunSelfCostDO chuanyunSelfCostDO = new ChuanyunSelfCostDO();
|
|
chuanyunSelfCostDO.setStatus(projectMonth.getStatus());
|
|
chuanyunSelfCostDO.setStatus(projectMonth.getStatus());
|
|
- chuanyunSelfCostDO.setMonthlyTotalHour(monthHour.getStandardWorkHour());
|
|
|
|
|
|
+ if (monthHour!=null){
|
|
|
|
+ chuanyunSelfCostDO.setMonthlyTotalHour(monthHour.getStandardWorkHour());
|
|
|
|
+ }
|
|
chuanyunSelfCostDO.setProjectId(projectMonth.getProjectId());
|
|
chuanyunSelfCostDO.setProjectId(projectMonth.getProjectId());
|
|
chuanyunSelfCostDO.setProjectType(projectMonth.getProjectType());
|
|
chuanyunSelfCostDO.setProjectType(projectMonth.getProjectType());
|
|
chuanyunSelfCostDO.setUserId(projectMonth.getUserId());
|
|
chuanyunSelfCostDO.setUserId(projectMonth.getUserId());
|
|
@@ -441,12 +445,28 @@ public class WorkHourStatistics {
|
|
/**
|
|
/**
|
|
* 删除状态为审核中数据
|
|
* 删除状态为审核中数据
|
|
* @param schemaCode
|
|
* @param schemaCode
|
|
- * @param buttonCode
|
|
|
|
|
|
+ * @param
|
|
*/
|
|
*/
|
|
- public void deleteExamineStatus(String schemaCode,String buttonCode) {
|
|
|
|
|
|
+ public void deleteExamineStatus(String schemaCode,String statusCode,String projectCode,String projectId,String userCode,String userId,String yearCode,String year,String monthCode,String month,String weekCode,String week,String typeCode,String projectType) {
|
|
try {
|
|
try {
|
|
List<String> matchers = new ArrayList<>();
|
|
List<String> matchers = new ArrayList<>();
|
|
- matchers.add(buttonCode+"_2,"+"2");
|
|
|
|
|
|
+ matchers.add(statusCode+"_2,"+"2");
|
|
|
|
+ matchers.add(projectCode+"_2,"+projectId);
|
|
|
|
+ if (!StringUtils.isEmpty(userId)){
|
|
|
|
+ matchers.add(userCode+"_2,"+userId);
|
|
|
|
+ }
|
|
|
|
+ if (!StringUtils.isEmpty(year)){
|
|
|
|
+ matchers.add(yearCode+"_2,"+year);
|
|
|
|
+ }
|
|
|
|
+ if (!StringUtils.isEmpty(month)){
|
|
|
|
+ matchers.add(monthCode+"_2,"+month);
|
|
|
|
+ }
|
|
|
|
+ if (!StringUtils.isEmpty(week)){
|
|
|
|
+ matchers.add(weekCode+"_2,"+week);
|
|
|
|
+ }
|
|
|
|
+ if (!StringUtils.isEmpty(projectType)){
|
|
|
|
+ matchers.add(typeCode+"_2,"+projectType);
|
|
|
|
+ }
|
|
var filter= Filter.instance(0,Integer.MAX_VALUE,true,"And",matchers);
|
|
var filter= Filter.instance(0,Integer.MAX_VALUE,true,"And",matchers);
|
|
var chuanyunFindAllResponse=chuanYunManager.findAll(schemaCode,filter);
|
|
var chuanyunFindAllResponse=chuanYunManager.findAll(schemaCode,filter);
|
|
if (chuanyunFindAllResponse.getReturnData()!=null){
|
|
if (chuanyunFindAllResponse.getReturnData()!=null){
|