|
@@ -14,7 +14,7 @@ import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
import com.galaxis.manatee.exception.BigSizeException;
|
|
import com.galaxis.manatee.exception.BigSizeException;
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
-import com.galaxis.manatee.service.LogService;
|
|
|
|
|
|
+import com.galaxis.manatee.service.LogStandardService;
|
|
import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
|
|
import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
|
|
import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
|
|
import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
|
|
import lombok.Data;
|
|
import lombok.Data;
|
|
@@ -48,9 +48,9 @@ public class WorkHourStatistics {
|
|
private final ChuanyunSelfCostDao chuanyunSelfCostDao;
|
|
private final ChuanyunSelfCostDao chuanyunSelfCostDao;
|
|
private final ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao;
|
|
private final ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao;
|
|
private final ChuanyunMemberCostDao chuanyunMemberCostDao;
|
|
private final ChuanyunMemberCostDao chuanyunMemberCostDao;
|
|
- private final LogService logService;
|
|
|
|
|
|
+ private final LogStandardService logStandardService;
|
|
|
|
|
|
- public WorkHourStatistics(ChuanYunManager chuanYunManager, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunWorkHourDao chuanyunWorkHourDao, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunSelfCostDao chuanyunSelfCostDao, ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao, ChuanyunMemberCostDao chuanyunMemberCostDao, LogService logService) {
|
|
|
|
|
|
+ public WorkHourStatistics(ChuanYunManager chuanYunManager, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunWorkHourDao chuanyunWorkHourDao, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunSelfCostDao chuanyunSelfCostDao, ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao, ChuanyunMemberCostDao chuanyunMemberCostDao, LogStandardService logStandardService) {
|
|
this.chuanYunManager = chuanYunManager;
|
|
this.chuanYunManager = chuanYunManager;
|
|
this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
this.chuanyunWorkHourDao = chuanyunWorkHourDao;
|
|
this.chuanyunWorkHourDao = chuanyunWorkHourDao;
|
|
@@ -58,7 +58,7 @@ public class WorkHourStatistics {
|
|
this.chuanyunSelfCostDao = chuanyunSelfCostDao;
|
|
this.chuanyunSelfCostDao = chuanyunSelfCostDao;
|
|
this.chuanyunWeekMemberHourDao = chuanyunWeekMemberHourDao;
|
|
this.chuanyunWeekMemberHourDao = chuanyunWeekMemberHourDao;
|
|
this.chuanyunMemberCostDao = chuanyunMemberCostDao;
|
|
this.chuanyunMemberCostDao = chuanyunMemberCostDao;
|
|
- this.logService = logService;
|
|
|
|
|
|
+ this.logStandardService = logStandardService;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -91,7 +91,7 @@ public class WorkHourStatistics {
|
|
userCompanyDOList.forEach(chuanyunUserCompanyDO -> {
|
|
userCompanyDOList.forEach(chuanyunUserCompanyDO -> {
|
|
long start = Instant.now().getEpochSecond();
|
|
long start = Instant.now().getEpochSecond();
|
|
//工时标准化
|
|
//工时标准化
|
|
- logService.standardHour(chuanyunUserCompanyDO,false);
|
|
|
|
|
|
+ logStandardService.standardHour(chuanyunUserCompanyDO, false);
|
|
log.info("每日工时标准化" + chuanyunUserCompanyDO.getUserName() + (Instant.now().getEpochSecond() - start) + "秒");
|
|
log.info("每日工时标准化" + chuanyunUserCompanyDO.getUserName() + (Instant.now().getEpochSecond() - start) + "秒");
|
|
updateChuanyunStandardWorkHour(chuanyunUserCompanyDO);
|
|
updateChuanyunStandardWorkHour(chuanyunUserCompanyDO);
|
|
});
|
|
});
|
|
@@ -112,14 +112,7 @@ public class WorkHourStatistics {
|
|
list.forEach(chuanyunWeekMemberHourDO -> {
|
|
list.forEach(chuanyunWeekMemberHourDO -> {
|
|
try {
|
|
try {
|
|
if (chuanyunWeekMemberHourDO != null) {
|
|
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 weekMemberHourDO = ChuanyunWeekMemberHourDO.fromChuanyunWeekMemberHourDO(chuanyunWeekMemberHourDO);
|
|
ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(chuanyunWeekMemberHourDO.getProjectId(), chuanyunWeekMemberHourDO.getUserId(), chuanyunWeekMemberHourDO.getWeek(), chuanyunWeekMemberHourDO.getStatus(), chuanyunWeekMemberHourDO.getProjectType(), chuanyunWeekMemberHourDO.getYear());
|
|
ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(chuanyunWeekMemberHourDO.getProjectId(), chuanyunWeekMemberHourDO.getUserId(), chuanyunWeekMemberHourDO.getWeek(), chuanyunWeekMemberHourDO.getStatus(), chuanyunWeekMemberHourDO.getProjectType(), chuanyunWeekMemberHourDO.getYear());
|
|
if (oldWeekHour != null) {
|
|
if (oldWeekHour != null) {
|
|
chuanyunWeekMemberHourDao.delete(oldWeekHour);
|
|
chuanyunWeekMemberHourDao.delete(oldWeekHour);
|
|
@@ -294,12 +287,11 @@ public class WorkHourStatistics {
|
|
* 人员-项目-周度工时汇总,更新氚云数据
|
|
* 人员-项目-周度工时汇总,更新氚云数据
|
|
*/
|
|
*/
|
|
private void updateChuanyunWeekHour() {
|
|
private void updateChuanyunWeekHour() {
|
|
- var flag = true;
|
|
|
|
var pageSize = 20;
|
|
var pageSize = 20;
|
|
var page = 0;
|
|
var page = 0;
|
|
log.info("开始更新周工时汇总");
|
|
log.info("开始更新周工时汇总");
|
|
long startTime = Instant.now().getEpochSecond();
|
|
long startTime = Instant.now().getEpochSecond();
|
|
- while (flag) {
|
|
|
|
|
|
+ while (true) {
|
|
var pageable = PageRequest.of(page, pageSize);
|
|
var pageable = PageRequest.of(page, pageSize);
|
|
var updateList = chuanyunWeekMemberHourDao.findAll(pageable);
|
|
var updateList = chuanyunWeekMemberHourDao.findAll(pageable);
|
|
if (page <= updateList.getTotalPages()) {
|
|
if (page <= updateList.getTotalPages()) {
|
|
@@ -358,12 +350,11 @@ public class WorkHourStatistics {
|
|
* 人员-项目-月度工时汇总,更新氚云数据
|
|
* 人员-项目-月度工时汇总,更新氚云数据
|
|
*/
|
|
*/
|
|
private void updateChuanyunMonthHour() {
|
|
private void updateChuanyunMonthHour() {
|
|
- var flag = true;
|
|
|
|
var pageSize = 20;
|
|
var pageSize = 20;
|
|
var page = 0;
|
|
var page = 0;
|
|
log.info("开始更新月工时汇总");
|
|
log.info("开始更新月工时汇总");
|
|
long startTime = Instant.now().getEpochSecond();
|
|
long startTime = Instant.now().getEpochSecond();
|
|
- while (flag) {
|
|
|
|
|
|
+ while (true) {
|
|
var pageable = PageRequest.of(page, pageSize);
|
|
var pageable = PageRequest.of(page, pageSize);
|
|
var updateList = chuanyunSelfCostDao.findAll(pageable);
|
|
var updateList = chuanyunSelfCostDao.findAll(pageable);
|
|
if (page <= updateList.getTotalPages()) {
|
|
if (page <= updateList.getTotalPages()) {
|
|
@@ -424,7 +415,6 @@ public class WorkHourStatistics {
|
|
List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
|
|
List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
|
|
list.forEach(chuanyunMemberCostDO -> {
|
|
list.forEach(chuanyunMemberCostDO -> {
|
|
if (StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())) {
|
|
if (StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())) {
|
|
- BigDecimal standard = new BigDecimal(8);
|
|
|
|
ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndProjectTypeAndStatus(chuanyunMemberCostDO.getUserId(), chuanyunMemberCostDO.getProjectId(), chuanyunMemberCostDO.getProjectType(), chuanyunMemberCostDO.getStatus());
|
|
ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndProjectTypeAndStatus(chuanyunMemberCostDO.getUserId(), chuanyunMemberCostDO.getProjectId(), chuanyunMemberCostDO.getProjectType(), chuanyunMemberCostDO.getStatus());
|
|
if (oldCostDO != null) {
|
|
if (oldCostDO != null) {
|
|
chuanyunMemberCostDao.delete(oldCostDO);
|
|
chuanyunMemberCostDao.delete(oldCostDO);
|
|
@@ -516,8 +506,7 @@ public class WorkHourStatistics {
|
|
/**
|
|
/**
|
|
* 删除状态为审核中数据
|
|
* 删除状态为审核中数据
|
|
*
|
|
*
|
|
- * @param schemaCode
|
|
|
|
- * @param
|
|
|
|
|
|
+ * @param schemaCode 氚云表ID
|
|
*/
|
|
*/
|
|
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) {
|
|
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 {
|
|
@@ -546,9 +535,7 @@ public class WorkHourStatistics {
|
|
});
|
|
});
|
|
result.forEach(basicDO -> {
|
|
result.forEach(basicDO -> {
|
|
ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.delete(schemaCode, basicDO.getObjectId());
|
|
ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.delete(schemaCode, basicDO.getObjectId());
|
|
- if (chuanyunSaveDTO.getSuccessful()) {
|
|
|
|
-// log.info("删除状态为审核中数据成功");
|
|
|
|
- } else {
|
|
|
|
|
|
+ if (!chuanyunSaveDTO.getSuccessful()) {
|
|
log.warn("删除状态为审核中数据失败");
|
|
log.warn("删除状态为审核中数据失败");
|
|
}
|
|
}
|
|
});
|
|
});
|