diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectPeriodExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectPeriodExtractService.java deleted file mode 100644 index b30c421b53..0000000000 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/ProjectPeriodExtractService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.epmet.service.evaluationindex.extract.todata; - -import com.epmet.dto.extract.form.ExtractOriginFormDTO; - -/** - * @Desc 业务数据抽取 - 项目节点历时 - * @Author wangc - * @DateTime 2020/9/14 5:07 下午 - */ -public interface ProjectPeriodExtractService { - - /** - * @param param - * @return - * @Description 抽取项目节点历时逻辑 - * @author wangc - * @date 2020.09.17 14:05 - **/ - void extractProjectPeriodData(ExtractOriginFormDTO param); - -} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectPeriodExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectPeriodExtractServiceImpl.java deleted file mode 100644 index dbf1130893..0000000000 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectPeriodExtractServiceImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.epmet.service.evaluationindex.extract.todata.impl; - -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.dao.evaluationindex.extract.FactOriginProjectOrgPeriodDailyDao; -import com.epmet.dto.extract.form.ExtractOriginFormDTO; -import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; -import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; -import com.epmet.service.evaluationindex.extract.todata.ProjectPeriodExtractService; -import com.epmet.service.project.ProjectProcessService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.LinkedList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * @Description 业务数据抽取 - 项目节点历时 - * @ClassName ProjectPeriodExtractServiceImpl - * @Auth wangc - * @Date 2020-09-17 13:52 - */ -@Service -@Slf4j -public class ProjectPeriodExtractServiceImpl implements ProjectPeriodExtractService { - - @Autowired - private FactOriginProjectOrgPeriodDailyDao factOriginProjectOrgPeriodDailyDao; - @Autowired - private ProjectProcessService projectProcessService; - - /** - * @param param - * @return - * @Description 抽取项目节点历时逻辑 - * @author wangc - * @date 2020.09.17 14:05 - **/ - @Override - public void extractProjectPeriodData(ExtractOriginFormDTO param) { - int trace = factOriginProjectOrgPeriodDailyDao.selectIfExisted(param.getCustomerId()); - Boolean isFirst = trace <= NumConstant.ZERO ? true : false; - if (StringUtils.isBlank(param.getDateId())) { - Date yesterday = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24); - SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD); - param.setDateId(format.format(yesterday)); - } - List extractData = - projectProcessService.getProjectPeriod(isFirst, param.getCustomerId(), param.getDateId()); - List formattingData = new LinkedList<>(); - extractData.forEach(original -> { - FactOriginProjectOrgPeriodDailyEntity dest - = ConvertUtils.sourceToTarget(original,FactOriginProjectOrgPeriodDailyEntity.class); - if(StringUtils.isNotBlank(original.getDepartmentId())){ - dest.setOrgType("dept"); - dest.setPid(original.getOrgId()); - dest.setPids(original.getOrgIdPath()); - }else if(StringUtils.isNotBlank(original.getGridId())){ - dest.setOrgType("grid"); - dest.setPid(original.getOrgId()); - dest.setPids(original.getOrgIdPath()); - }else{ - dest.setOrgType("agency"); - dest.setPids(""); - String[] array = original.getOrgIdPath().split(":"); - if(null == array || array.length <= NumConstant.ZERO){ - dest.setPid(NumConstant.ZERO_STR); - } - if(array[NumConstant.ZERO] == original.getOrgId() && array.length == NumConstant.ONE){ - dest.setPid(NumConstant.ZERO_STR); - } - if(array.length > NumConstant.ONE && original.getOrgId() == array[array.length - NumConstant.ONE]){ - dest.setPid(array[array.length - NumConstant.TWO]); - dest.setPids(original.getOrgIdPath().replace(original.getOrgId(),"")); - } - if(StringUtils.isNotBlank(dest.getPids())){ - while(dest.getPids().endsWith(":")){ - dest.setPids(dest.getPids().substring(NumConstant.ZERO,dest.getPids().length() - NumConstant.ONE)); - } - while(dest.getPids().startsWith(":")){ - dest.setPids(dest.getPids().replaceFirst(":","")); - } - } - dest.setPids(dest.getPids().replaceAll(" ","")); - } - - formattingData.add(dest); - }); - if(!CollectionUtils.isEmpty(formattingData)) { - List projectIds = formattingData.stream().map(FactOriginProjectOrgPeriodDailyEntity::getProjectId).distinct().collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(projectIds)) { - factOriginProjectOrgPeriodDailyDao.deleteByProjectId(projectIds); - factOriginProjectOrgPeriodDailyDao.insertBatch(formattingData); - } - } - } -}