Browse Source

Merge remote-tracking branch 'origin/dev_pyscreenv2' into dev_temp

dev
wangchao 5 years ago
parent
commit
12c20863da
  1. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  2. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  3. 16
      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/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  5. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  6. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectImgDataServiceImpl.java
  7. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessAttachmentServiceImpl.java
  8. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java
  9. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  10. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
  11. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
  12. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  13. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml
  14. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

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

@ -806,15 +806,22 @@ public class DemoController {
return new Result();
}
@Autowired
/*@Autowired
private ScreenGrassrootsGovernDataAbsorptionService ndddYhjfService;
@PostMapping("diff")
public Result diff(@RequestBody ScreenCentralZoneDataFormDTO param){
ndddYhjfService.difficultyDataHub(param);
return new Result();
}
}*/
@Autowired
private ScreenProjectSettleService screenProjectSettleService;
@PostMapping("project-test")
public Result project(@RequestBody ScreenCentralZoneDataFormDTO param){
screenProjectSettleService.extractScreenData(param);
return new Result();
}
public static void main(String[] args) {
List<String> monthIds = DateUtils.getMonthBetween("202001","202012");
for(String monthId:monthIds){

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java

@ -406,7 +406,7 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
//key : projectId
Map<String,List<CostDayResultDTO>> projectPeriodMap
= costDays.getData().stream().collect(Collectors.groupingBy(CostDayResultDTO :: getId));
list.stream().map(o -> {
list = list.stream().map(o -> {
List<CostDayResultDTO> days = projectPeriodMap.get(o.getProjectId());
if(!CollectionUtils.isEmpty(days)){
Integer max = days.stream().max(Comparator.comparing(CostDayResultDTO::getDetentionDays)).get().getDetentionDays();
@ -416,8 +416,8 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
else if(max >= about2exceedLimit)
o.setProjectLevel(NumConstant.TWO);
}
return null;
});
return o;
}).collect(Collectors.toList());
}
}

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

@ -69,7 +69,6 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
* @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());
@ -96,28 +95,30 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
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(),
metaData = 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;
}));
return meta;
})).collect(Collectors.toList());
}
topicService.fillScreenProjectData(metaData);
//metaData = Optional.ofNullable(topicService.getScreenProjectData(metaData)).orElse(metaData);
userService.fillScreenProjectData(metaData);
//metaData = Optional.ofNullable(userService.getScreenProjectData(metaData)).orElse(metaData);
}
ScreenProjectDataDTO orientCase = new ScreenProjectDataDTO();
orientCase.setCustomerId(param.getCustomerId());
//待更新的数据 需要检测更新的字段为:①projectStatusCode ②closeCaseTime ③allCategoryName ④projectLevel
List<ScreenProjectDataDTO> orientData =
targetDbService.getPending(orientCase);
targetDbService.getPending(orientCase,param.getDateId());
// 给metaData和orientData赋上分类信息
List<String> projectIds =
Optional.ofNullable(metaData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList())).orElse(new ArrayList<>());
projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()));
if(!CollectionUtils.isEmpty(orientData))
projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()));
Map<String, Set<String>> categoryMap = projectService.getProjectCategory(projectIds);
if(!CollectionUtils.isEmpty(categoryMap)){
Map<String, String> integratedProjectCategoryMap = issueService.getIntegratedProjectCategory(categoryMap, param.getCustomerId());
@ -141,7 +142,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
if(!CollectionUtils.isEmpty(metaData)){
List<ScreenProjectImgDataDTO> imgs = topicService.buildNewScreenProjectImgData(metaData);
if(CollectionUtils.isEmpty(imgs)){
if(!CollectionUtils.isEmpty(imgs)){
//FIXME release here
targetImgService.insertBatch(imgs);
}
@ -161,4 +162,5 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
}
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java

@ -114,7 +114,7 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
* @author wangc
* @date 2021.03.08 09:32
*/
List<ScreenProjectDataDTO> getPending(ScreenProjectDataDTO param);
List<ScreenProjectDataDTO> getPending(ScreenProjectDataDTO param,String dateId);
/**
* @Description collect或更新

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java

@ -54,6 +54,7 @@ import java.util.Map;
* @since v1.0.0 2021-02-23
*/
@Service
@DataSource(value = DataSourceConstant.EVALUATION_INDEX)
public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectDataDao, ScreenProjectDataEntity> implements ScreenProjectDataService {
@Resource
@ -231,6 +232,7 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
* @date 2021.03.04 23:35
*/
@Override
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public int checkIfExisted(String customerId) {
return baseDao.checkIfExisted(customerId);
}
@ -243,7 +245,9 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
* @date 2021.03.08 09:32
*/
@Override
public List<ScreenProjectDataDTO> getPending(ScreenProjectDataDTO param) {
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public List<ScreenProjectDataDTO> getPending(ScreenProjectDataDTO param,String dateId) {
param.setDataEndTime(dateId);
return baseDao.selectPending(param);
}
@ -255,6 +259,7 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
* @date 2021.03.09 17:36
*/
@Override
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public void insertOrUpdateBatch(String customerId, String dateId, List<ScreenProjectDataDTO> meta, List<ScreenProjectDataDTO> orient) {
//内部数据抽取的逻辑是,不管dateId指定的哪一天,只要在抽取时,目标数据库中没有相应数据
//就抽取指定日期及其之前的所有数据,因此在删除时只需对指定日期删除即可,上述情况是因为

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectImgDataServiceImpl.java

@ -19,11 +19,13 @@ package com.epmet.service.evaluationindex.screen.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenProjectImgDataDao;
import com.epmet.dto.screen.ScreenProjectImgDataDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectImgDataEntity;
@ -45,6 +47,7 @@ import java.util.stream.Collectors;
* @since v1.0.0 2021-02-23
*/
@Service
@DataSource(value = DataSourceConstant.EVALUATION_INDEX)
public class ScreenProjectImgDataServiceImpl extends BaseServiceImpl<ScreenProjectImgDataDao, ScreenProjectImgDataEntity> implements ScreenProjectImgDataService {
@Override

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessAttachmentServiceImpl.java

@ -19,11 +19,13 @@ package com.epmet.service.evaluationindex.screen.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenProjectProcessAttachmentDao;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity;
@ -45,6 +47,7 @@ import java.util.stream.Collectors;
* @since v1.0.0 2021-02-23
*/
@Service
@DataSource(value = DataSourceConstant.EVALUATION_INDEX)
public class ScreenProjectProcessAttachmentServiceImpl extends BaseServiceImpl<ScreenProjectProcessAttachmentDao, ScreenProjectProcessAttachmentEntity> implements ScreenProjectProcessAttachmentService {
@Override
public PageData<ScreenProjectProcessAttachmentDTO> page(Map<String, Object> params) {

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java

@ -53,6 +53,7 @@ import java.util.Map;
* @since v1.0.0 2021-02-23
*/
@Service
@DataSource(value = DataSourceConstant.EVALUATION_INDEX)
public class ScreenProjectProcessServiceImpl extends BaseServiceImpl<ScreenProjectProcessDao, ScreenProjectProcessEntity> implements ScreenProjectProcessService {
@Resource

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java

@ -147,13 +147,13 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
List<ProjectProcessDTO> closedInfo = baseDao.selectClosedProjectOnAppointedDay(customerId, dateId);
if(CollectionUtils.isEmpty(closedInfo)) return;
list.stream().flatMap(target -> closedInfo.stream().filter(closedCase -> StringUtils.equals(closedCase.getProjectId(),target.getProjectId())).map(
list = list.stream().flatMap(target -> closedInfo.stream().filter(closedCase -> StringUtils.equals(closedCase.getProjectId(),target.getProjectId())).map(
merge -> {
target.setProjectStatusCode("closed_case");
target.setCloseCaseTime(DateUtils.format(merge.getCreatedTime(),DateUtils.DATE_TIME_PATTERN));
return null;
return target;
}
));
)).collect(Collectors.toList());
}
/**
@ -169,13 +169,13 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
List<ProjectProcessDTO> closedInfo = baseDao.selectClosedProjectByProjectIds(list.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()));
if(CollectionUtils.isEmpty(closedInfo)) return;
list.stream().flatMap(target -> closedInfo.stream().filter(closedCase -> StringUtils.equals(closedCase.getProjectId(),target.getProjectId())).map(
list = list.stream().flatMap(target -> closedInfo.stream().filter(closedCase -> StringUtils.equals(closedCase.getProjectId(),target.getProjectId())).map(
merge -> {
//target.setProjectStatusCode("closed_case");
target.setCloseCaseTime(DateUtils.format(merge.getCreatedTime(),DateUtils.DATE_TIME_PATTERN));
return null;
return target;
}
));
)).collect(Collectors.toList());
}
/**
@ -191,7 +191,7 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
public List<ScreenProjectProcessDTO> buildNewScreenProjectProcessData(String customerId, String dateId, boolean ifRanged) {
List<ScreenProjectProcessDTO> processes = baseDao.selectProjectProcessAndDirection(customerId, ifRanged ? null : dateId, dateId);
if(CollectionUtils.isEmpty(processes)) return null;
processes.stream().filter(process -> StringUtils.equalsAny(process.getOperation(),
return processes.stream().filter(process -> StringUtils.equalsAny(process.getOperation(),
"close","return","transfer")).map(target -> {
List<ProjectStaffDTO> points = target.getPoints();
if(!CollectionUtils.isEmpty(points)){
@ -204,10 +204,9 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
target.setTransferDeptIds(builder1.substring(NumConstant.ZERO,builder1.length() - NumConstant.TWO));
target.setTransferDeptName(builder2.substring(NumConstant.ZERO,builder2.length() - NumConstant.TWO));
}
return null;
});
return target;
}).collect(Collectors.toList());
return processes;
}

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java

@ -197,15 +197,15 @@ public class TopicServiceImpl implements TopicService {
public List<ScreenProjectDataDTO> fillScreenProjectData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectDataDTO> collection = topicDao.selectScreenProjectData(list);
if(!CollectionUtils.isEmpty(collection)){
list.stream().flatMap(target -> collection.stream().filter(
list = list.stream().flatMap(target -> collection.stream().filter(
res -> StringUtils.equals(target.getTopicId(),res.getTopicId())
).map(merge -> {
target.setLatitude(merge.getLatitude());
target.setLongitude(merge.getLongitude());
target.setProjectContent(merge.getProjectContent());
target.setProjectAddress(merge.getProjectAddress());
return null;
}));
return target;
})).collect(Collectors.toList());
}
return collection;
}
@ -221,13 +221,12 @@ public class TopicServiceImpl implements TopicService {
public List<ScreenProjectImgDataDTO> buildNewScreenProjectImgData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectImgDataDTO> imgs = topicDao.initNewScreenProjectImgData(list.get(NumConstant.ZERO).getCustomerId(), list);
if(CollectionUtils.isEmpty(imgs)) return null;
imgs.stream().flatMap(img -> list.stream().filter(project -> StringUtils.equals(img.getTopicId(),project.getTopicId())).map(
return imgs.stream().flatMap(img -> list.stream().filter(project -> StringUtils.equals(img.getTopicId(),project.getTopicId())).map(
match -> {
img.setProjectId(match.getProjectId());
return null;
return img;
}
));
return imgs;
)).collect(Collectors.toList());
}
/**

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java

@ -740,11 +740,11 @@ public class UserServiceImpl implements UserService {
public List<ScreenProjectDataDTO> fillScreenProjectData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectDataDTO> collection = userDao.selectScreenProjectData(list);
if(!CollectionUtils.isEmpty(collection)){
list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId()))
list = list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId()))
.map(merge -> {
target.setLinkName(merge.getLinkName());
target.setLinkMobile(merge.getLinkMobile());
return null;}));
return target;})).collect(Collectors.toList());
}
return collection;
}

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -50,11 +50,12 @@
select *
from screen_project_data
where del_flag = '0'
and customerId = #{customerId}
and customer_id = #{customerId}
and project_status_code = 'pending'
<if test='null != projectLevel and "" != projectLevel'>
and project_level = #{projectLevel}
</if>
and data_end_time <![CDATA[<>]]> #{dataEndTime}
</select>
<insert id="insertBatch" parameterType="java.util.List">
@ -150,9 +151,15 @@
</if>
</foreach>
</trim>
<trim prefix="DATA_END_TIME = " suffix=",">
#{dataEndTime}
</trim>
<trim prefix="updated_time = " suffix=",">
now()
</trim>
</trim>
DATA_END_TIME = #{dataEndTime},
updated_time = now()
where
<foreach collection="list" separator="or" item="i" index="index" >
PROJECT_ID=#{i.projectId}

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml

@ -314,7 +314,7 @@
<foreach collection="ids" item="id" open="AND (" separator=" OR " close=")">
outter.id = #{id}
</foreach>
AND NOT EXIST (
AND NOT EXISTS (
SELECT * FROM issue_project_category_dict WHERE del_flag = '0' AND
customer_id = #{customerId} and id = outter.id
)

4
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -334,7 +334,7 @@
`project_process`
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND operation = 'close'
<foreach collection="list" item="projectId" open="AND (" separator=" OR " close=" )">
@ -403,7 +403,7 @@
<select id="selectProcessAttachment" resultType="com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO">
SELECT
ID AS attachementId,
ID AS attachmentId,
CUSTOMER_ID,
PROJECT_ID,
PROCESS_ID,

Loading…
Cancel
Save