forked from rongchao/epmet-cloud-rizhao
18 changed files with 463 additions and 8 deletions
@ -0,0 +1,24 @@ |
|||
package com.epmet.dto.project.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Description 客户项目超期相关参数 |
|||
* @ClassName ProjectExceedParamsResultDTO |
|||
* @Auth wangc |
|||
* @Date 2021-03-05 17:02 |
|||
*/ |
|||
@Data |
|||
public class ProjectExceedParamsResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 7621539816482416776L; |
|||
|
|||
private Integer defaultExceedLimit; |
|||
|
|||
private Integer defaultAbout2ExceedLimit; |
|||
|
|||
private Integer exceedLimit; |
|||
|
|||
private Integer about2ExceedLimit; |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
package com.epmet.service.evaluationindex.extract.toscreen; |
|||
|
|||
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; |
|||
|
|||
/** |
|||
* @Description |
|||
* 给【screen_project_data】 |
|||
* 【screen_project_process_attachment】 |
|||
* 【screen_project_img_data】 |
|||
* 【screen_project_process】这四个表定时整理数据 |
|||
* @author wangc |
|||
* @date 2021.03.04 13:38 |
|||
*/ |
|||
|
|||
public interface ScreenProjectSettleService { |
|||
|
|||
|
|||
/** |
|||
* @Description 抽取项目数据到screen_project_* |
|||
* @param param |
|||
* @return void |
|||
* @author wangc |
|||
* @date 2021.03.04 23:09 |
|||
*/ |
|||
void extractScreenData(ScreenCentralZoneDataFormDTO param); |
|||
|
|||
} |
|||
@ -0,0 +1,91 @@ |
|||
package com.epmet.service.evaluationindex.extract.toscreen.impl; |
|||
|
|||
import com.epmet.commons.tools.constant.NumConstant; |
|||
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; |
|||
import com.epmet.dto.screen.ScreenProjectDataDTO; |
|||
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; |
|||
import com.epmet.entity.project.ProjectEntity; |
|||
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; |
|||
import com.epmet.service.evaluationindex.extract.toscreen.ScreenProjectSettleService; |
|||
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; |
|||
import com.epmet.service.project.ProjectProcessService; |
|||
import com.epmet.service.project.ProjectService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.util.CollectionUtils; |
|||
|
|||
import java.util.List; |
|||
import java.util.stream.Collector; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* @Description |
|||
* @ClassName ScreenProjectSettleServiceImpl |
|||
* @Auth wangc |
|||
* @Date 2021-03-04 23:10 |
|||
*/ |
|||
public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleService { |
|||
|
|||
|
|||
@Autowired |
|||
private ScreenProjectDataService targetDbService; |
|||
@Autowired |
|||
private FactOriginProjectMainDailyService originMainService; |
|||
@Autowired |
|||
private ProjectService projectService; |
|||
@Autowired |
|||
private ProjectProcessService processService; |
|||
|
|||
/** |
|||
* @Description 抽取项目数据到screen_project_* |
|||
* @param param |
|||
* @return void |
|||
* @author wangc |
|||
* @date 2021.03.04 23:09 |
|||
*/ |
|||
@Override |
|||
@Transactional |
|||
public void extractScreenData(ScreenCentralZoneDataFormDTO param) { |
|||
int rows = targetDbService.checkIfExisted(param.getCustomerId()); |
|||
List<ProjectExceedParamsResultDTO> exceedParams = projectService.getProjectExceedParams(param.getCustomerId()); |
|||
Integer exceedLimit = NumConstant.FIVE; |
|||
Integer about2ExceedLimit = NumConstant.FIVE; |
|||
|
|||
|
|||
if(!CollectionUtils.isEmpty(exceedParams)){ |
|||
for(ProjectExceedParamsResultDTO ex :exceedParams){ |
|||
if(null != ex.getDefaultExceedLimit()){ |
|||
exceedLimit = null == ex.getExceedLimit() ? ex.getDefaultExceedLimit() : ex.getExceedLimit(); |
|||
} |
|||
if(null != ex.getDefaultAbout2ExceedLimit()){ |
|||
about2ExceedLimit = null == ex.getAbout2ExceedLimit() ? ex.getDefaultAbout2ExceedLimit() : ex.getDefaultAbout2ExceedLimit(); |
|||
} |
|||
} |
|||
|
|||
} |
|||
List<ScreenProjectDataDTO> metaData = |
|||
originMainService.initNewScreenProjectData(param.getCustomerId(), param.getDateId(),exceedLimit,about2ExceedLimit); |
|||
|
|||
if(!CollectionUtils.isEmpty(metaData)) { |
|||
List<ProjectEntity> info = projectService.getProjectInfo(metaData.stream().map(ScreenProjectDataDTO::getProjectId).collect(Collectors.toList())); |
|||
if(!CollectionUtils.isEmpty(info)){ |
|||
metaData.stream().flatMap(meta -> info.stream().filter(nature -> StringUtils.equals(meta.getProjectId(), |
|||
nature.getId())).map(projectInfo -> { |
|||
meta.setProjectCreateTime(projectInfo.getCreatedTime()); |
|||
meta.setProjectTitle(projectInfo.getTitle()); |
|||
return null; |
|||
})); |
|||
} |
|||
|
|||
} |
|||
ScreenProjectDataDTO orientCase = new ScreenProjectDataDTO(); |
|||
orientCase.setCustomerId(param.getCustomerId()); |
|||
//待更新的数据 需要检测更新的字段为:①projectStatusCode ②closeCaseTime ③allCategoryName ④projectLevel
|
|||
List<ScreenProjectDataDTO> orientData = |
|||
targetDbService.getPending(orientCase); |
|||
|
|||
|
|||
|
|||
} |
|||
} |
|||
Loading…
Reference in new issue