Browse Source

Merge remote-tracking branch 'origin/dev'

dev_shibei_match
yinzuomei 4 years ago
parent
commit
609a6deefc
  1. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/form/UpdateProjectSatisfactionScoreFormDTO.java
  2. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  3. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  4. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/form/UpdateProjectSatisfactionScoreFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.project.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2021/7/11 14:42
*/
@Data
public class UpdateProjectSatisfactionScoreFormDTO implements Serializable {
private static final long serialVersionUID = 8358341102854725024L;
private String projectId;
private String projectCustomerId;
private List<String> customerIdList;
}

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -23,6 +23,7 @@ import com.epmet.dto.extract.form.ExtractFactGridGovernDailyFromDTO;
import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO;
import com.epmet.dto.indexcal.CalculateCommonFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO;
import com.epmet.dto.project.form.UpdateProjectSatisfactionScoreFormDTO;
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity; import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity;
@ -957,9 +958,13 @@ public class DemoController {
* @Date 2021/6/23 15:55 * @Date 2021/6/23 15:55
**/ **/
@PostMapping("update-satisfaction-core") @PostMapping("update-satisfaction-core")
public Result updateProjectSatisfactionScore(@RequestBody List<String> customerIdList){ public Result updateProjectSatisfactionScore(@RequestBody UpdateProjectSatisfactionScoreFormDTO formDTO){
if(CollectionUtils.isNotEmpty(customerIdList)){ if(StringUtils.isNotBlank(formDTO.getProjectId())){
customerIdList.forEach(customerId->{ screenProjectSettleService.updateProjectSatisfactionScore(formDTO.getProjectCustomerId(),null,formDTO.getProjectId());
return new Result().ok("项目满意度得分更新成功");
}
if(CollectionUtils.isNotEmpty(formDTO.getCustomerIdList())){
formDTO.getCustomerIdList().forEach(customerId->{
screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null); screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null);
log.info("更新完成"); log.info("更新完成");
}); });
@ -967,7 +972,7 @@ public class DemoController {
List<String> customerIds=dimCustomerService.getAllCustomerId(); List<String> customerIds=dimCustomerService.getAllCustomerId();
customerIds.forEach(customerId->{ customerIds.forEach(customerId->{
screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null); screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null);
log.info("更新完成"); log.info("所有客户数据更新完成");
}); });
} }
return new Result(); return new Result();

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java

@ -182,17 +182,22 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
*/ */
@Override @Override
public void updateProjectSatisfactionScore(String customerId, String dateId,String projectId) { public void updateProjectSatisfactionScore(String customerId, String dateId,String projectId) {
log.info("customerId="+customerId+";dateId="+dateId+";projectId="+projectId);
if(StringUtils.isNotBlank(projectId)){ if(StringUtils.isNotBlank(projectId)){
projectService.calProjectSatisfactionScore(customerId,projectId); BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, projectId);
log.warn("单独计算projectId=" + projectId + "满意度得分:" + calProjectSatisfactionScore);
targetDbService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore);
return; return;
} }
List<String> projectIds=new ArrayList<>(); List<String> projectIds=new ArrayList<>();
if(StringUtils.isNotBlank(dateId)){ if(StringUtils.isNotBlank(dateId)){
log.warn("按日期计算");
List<String> list=projectService.selectEvaluateProjectIds(customerId,dateId); List<String> list=projectService.selectEvaluateProjectIds(customerId,dateId);
if(!CollectionUtils.isEmpty(list)){ if(!CollectionUtils.isEmpty(list)){
projectIds.addAll(list); projectIds.addAll(list);
} }
}else{ }else{
log.warn("计算当前客户下,来源于议题已结案的项目对应的满意度得分");
// 只有来源于议题的项目,才有分数 // 只有来源于议题的项目,才有分数
List<String> closedProjectIds=projectService.selectClosedProjectIds(customerId,"issue","closed"); List<String> closedProjectIds=projectService.selectClosedProjectIds(customerId,"issue","closed");
if(!CollectionUtils.isEmpty(closedProjectIds)){ if(!CollectionUtils.isEmpty(closedProjectIds)){
@ -200,7 +205,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
} }
} }
projectIds.forEach(id -> { projectIds.forEach(id -> {
targetDbService.updateProjectSatisfactionScore(id,projectService.calProjectSatisfactionScore(customerId,id)); BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, id);
log.warn("projectId=" + id + "满意度得分:" + calProjectSatisfactionScore);
targetDbService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore);
}); });
} }

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -195,7 +195,7 @@
<!-- 查询当天(dateId)有评价记录的项目id --> <!-- 查询当天(dateId)有评价记录的项目id -->
<select id="selectEvaluateProjectIds" parameterType="map" resultType="java.lang.String"> <select id="selectEvaluateProjectIds" parameterType="map" resultType="java.lang.String">
SELECT SELECT
psd.PROJECT_ID distinct psd.PROJECT_ID
FROM FROM
project_satisfaction_detail psd project_satisfaction_detail psd
WHERE WHERE

Loading…
Cancel
Save