|
@@ -1,15 +1,23 @@
|
|
|
package com.galaxis.manatee.task;
|
|
|
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.galaxis.manatee.dao.ChuanyunDayWorkAbcDao;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunAskForLeaveDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunDayWorkAbcDO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunDayWorkAbcDTO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
+import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.sql.Timestamp;
|
|
|
import java.time.Instant;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.UUID;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @author zcj
|
|
@@ -22,13 +30,44 @@ public class WorkHourAnalysis {
|
|
|
|
|
|
private final ChuanyunDayWorkAbcDao chuanyunDayWorkAbcDao;
|
|
|
|
|
|
- public WorkHourAnalysis(ChuanyunDayWorkAbcDao chuanyunDayWorkAbcDao) {
|
|
|
+ private final ChuanYunManager chuanYunManager;
|
|
|
+
|
|
|
+ public WorkHourAnalysis(ChuanyunDayWorkAbcDao chuanyunDayWorkAbcDao,ChuanYunManager chuanYunManager) {
|
|
|
this.chuanyunDayWorkAbcDao = chuanyunDayWorkAbcDao;
|
|
|
+ this.chuanYunManager = chuanYunManager;
|
|
|
}
|
|
|
|
|
|
- // @Scheduled(fixedDelay = 3600000L)
|
|
|
+ @Scheduled(fixedDelay = 3600000L)
|
|
|
private void standardDayWorkAbcHour() {
|
|
|
standardDayAbcHour();
|
|
|
+ // standardChuanyunDayWorkAbcHour();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void standardChuanyunDayWorkAbcHour() {
|
|
|
+ var objectMapper = new ObjectMapper();
|
|
|
+ List<ChuanyunDayWorkAbcDO> dayWorkAbcDOList = chuanyunDayWorkAbcDao.findAll();
|
|
|
+ dayWorkAbcDOList.forEach(dayWork -> {
|
|
|
+ try {
|
|
|
+ var putString = objectMapper.writeValueAsString(ChuanyunDayWorkAbcDTO.fromChuanyunDayWorkAbcDTO(dayWork));
|
|
|
+ ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
+ List<String> mathers = new ArrayList<>();
|
|
|
+ mathers.add("F0000001_2," + dayWork.getProjectCode());
|
|
|
+ var filter = Filter.instance(0, 1, true, "And", mathers);
|
|
|
+ ChuanyunFindAllBizDTO<LinkedHashMap<String, String>> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunDayWorkAbcDO.SCHEMA_CODE, filter);
|
|
|
+ if(chuanyunFindAllResponse.getReturnData() == null) {
|
|
|
+ chuanyunSaveDTO = chuanYunManager.save(ChuanyunDayWorkAbcDO.SCHEMA_CODE,putString,true);
|
|
|
+ }else{
|
|
|
+ chuanyunSaveDTO = chuanYunManager.update(ChuanyunDayWorkAbcDO.SCHEMA_CODE,chuanyunFindAllResponse.getReturnData().getBizObjectArray().get(0).get("ObjectId"),putString);
|
|
|
+ }
|
|
|
+ if(chuanyunSaveDTO.getSuccessful()){
|
|
|
+// log.info("新增请假信息成功");
|
|
|
+ }else{
|
|
|
+ log.warn("新增周工时数据信息失败");
|
|
|
+ }
|
|
|
+ }catch(Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -44,16 +83,17 @@ public class WorkHourAnalysis {
|
|
|
String projecrtName = (String)dayWork.get("project_name");
|
|
|
String projectCode = (String)dayWork.get("project_code");
|
|
|
BigDecimal totalTime = (BigDecimal)dayWork.get("total_time");
|
|
|
+ LocalDateTime dayLogDate = ((Timestamp)dayWork.get("day_log_date")).toLocalDateTime();
|
|
|
ChuanyunDayWorkAbcDO dayWorkAbcDO = new ChuanyunDayWorkAbcDO();
|
|
|
- ChuanyunDayWorkAbcDO planDayWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId, 0);
|
|
|
+ ChuanyunDayWorkAbcDO planDayWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId,0);
|
|
|
if(planDayWorkAbc != null) {
|
|
|
dayWorkAbcDO.setPlanTime(planDayWorkAbc.getTotalTime());
|
|
|
}
|
|
|
- ChuanyunDayWorkAbcDO sellDayWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId, 1);
|
|
|
+ ChuanyunDayWorkAbcDO sellDayWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId,1);
|
|
|
if(sellDayWorkAbc != null) {
|
|
|
dayWorkAbcDO.setSellTime(sellDayWorkAbc.getTotalTime());
|
|
|
}
|
|
|
- ChuanyunDayWorkAbcDO otherWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId, 2);
|
|
|
+ ChuanyunDayWorkAbcDO otherWorkAbc = chuanyunDayWorkAbcDao.queryDayWorkAbcTotalTime(projectId,2);
|
|
|
if(otherWorkAbc != null) {
|
|
|
dayWorkAbcDO.setOtherTime(otherWorkAbc.getTotalTime());
|
|
|
}
|
|
@@ -66,6 +106,7 @@ public class WorkHourAnalysis {
|
|
|
dayWorkAbcDO.setProjectCode(projectCode);
|
|
|
dayWorkAbcDO.setProjectName(projecrtName);
|
|
|
dayWorkAbcDO.setTotalTime(totalTime);
|
|
|
+ dayWorkAbcDO.setDayLogDate(dayLogDate);
|
|
|
chuanyunDayWorkAbcDao.save(dayWorkAbcDO);
|
|
|
}catch(Exception e) {
|
|
|
log.error(e.getMessage());
|