Browse Source

screenProjectData

dev_shibei_match
wangchao 5 years ago
parent
commit
b2b0bc794e
  1. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectProcessDTO.java
  2. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java
  3. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectImgDataDao.java
  4. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java
  5. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java
  6. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  7. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
  8. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  9. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  10. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectImgDataService.java
  11. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectProcessAttachmentService.java
  12. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectProcessService.java
  13. 49
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  14. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectImgDataServiceImpl.java
  15. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessAttachmentServiceImpl.java
  16. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectProcessServiceImpl.java
  17. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  18. 22
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  19. 102
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  20. 40
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectImgDataDao.xml
  21. 58
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml
  22. 54
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml
  23. 19
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectProcessDTO.java

@ -143,7 +143,7 @@ public class ScreenProjectProcessDTO implements Serializable {
/**
* 数据截止日期
*/
private String DataEndTime;
private String dataEndTime;
private List<ProjectStaffDTO> points;

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -40,4 +40,8 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
int checkIfExisted(@Param("customerId") String customerId);
List<ScreenProjectDataDTO> selectPending(ScreenProjectDataDTO param);
void insertBatch(@Param("list") List<ScreenProjectDataDTO> list);
void updateBatch(@Param("list") List<ScreenProjectDataDTO> list,@Param("dateId") String dateId);
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectImgDataDao.java

@ -18,8 +18,12 @@
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screen.ScreenProjectImgDataDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectImgDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 中央区-项目数据图片
@ -30,4 +34,7 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenProjectImgDataDao extends BaseDao<ScreenProjectImgDataEntity> {
void deleteByProjectIds(@Param("list") List<String> list);
void insertBatch(@Param("list") List<ScreenProjectImgDataDTO> list);
}

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessAttachmentDao.java

@ -18,8 +18,12 @@
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 中央区-项目数据处理节点附件表
@ -30,4 +34,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenProjectProcessAttachmentDao extends BaseDao<ScreenProjectProcessAttachmentEntity> {
void deleteByProcessId(@Param("list") List<String> list);
void insertBatch(@Param("list")List<ScreenProjectProcessAttachmentDTO> list);
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectProcessDao.java

@ -18,10 +18,13 @@
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screen.ScreenProjectProcessDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 中央区-项目数据项目处理进展表
*
@ -34,4 +37,6 @@ public interface ScreenProjectProcessDao extends BaseDao<ScreenProjectProcessEnt
int deleteByDateIdAndCustomerId(@Param("customerId") String customerId, @Param("dateId") String dateId);
int countByCustomerId(@Param("customerId") String customerId);
void insertBatch(@Param("list") List<ScreenProjectProcessDTO> list);
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java

@ -166,6 +166,7 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
*/
List<ProjectProcessDTO> selectClosedProjectOnAppointedDay(@Param("customerId") String customerId, @Param("dateId") String dateId);
List<ProjectProcessDTO> selectClosedProjectByProjectIds(@Param("list")List<String> list);
/**
* @Description 统计新增项目节点以及被流转到的指向部门
* @param customerId

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

@ -66,6 +66,8 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
private ScreenProjectGridDailyService screenProjectGridDailyService;
@Autowired
private ScreenProjectOrgDailyService screenProjectOrgDailyService;
@Autowired
private ScreenProjectSettleServiceImpl screenProjectSettleService;
/**
* @param extractOriginFormDTO
@ -195,6 +197,12 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
}catch (Exception e){
log.error("项目(事件)分析按组织_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e);
}
try{
//大屏项目数据抽取_按天抽取
screenProjectSettleService.extractScreenData(param);
}catch (Exception e){
log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e);
}
log.info("===== extractDaily method end ======");
}

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

@ -129,24 +129,32 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
//重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily
originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit);
processService.updateProjectCloseTime(metaData);
//更新结案时间和结案状态
processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId());
//TODO collect - metaData
//TODO update - orientData
//FIXME release here
targetDbService.insertOrUpdateBatch(param.getCustomerId(),param.getDateId(),metaData,orientData);
if(!CollectionUtils.isEmpty(metaData)){
List<ScreenProjectImgDataDTO> imgs = topicService.buildNewScreenProjectImgData(metaData);
//TODO collect img
//TODO 先按照项目Id全删除,再insert
if(CollectionUtils.isEmpty(imgs)){
//FIXME release here
targetImgService.insertBatch(imgs);
}
}
//
List<ScreenProjectProcessDTO> processes = processService.buildNewScreenProjectProcessData(param.getCustomerId(), param.getDateId(),!targetProcessService.checkIfHistoricalDataExists(param.getCustomerId()));
//TODO collect process 按照processId删除,再insert
if(!CollectionUtils.isEmpty(processes)){
//FIXME release here
targetProcessService.insertBatch(processes,param.getCustomerId(),param.getDateId());
List<ScreenProjectProcessAttachmentDTO> attachments = processService.buildProcessAttachmentData(processes.stream().map(ScreenProjectProcessDTO::getProcessId).distinct().collect(Collectors.toList()));
if(!CollectionUtils.isEmpty(attachments)){
//FIXME release here
targetAttachmentService.insertBatch(attachments);
}
}
}
}

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

@ -97,14 +97,6 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
void collect(String customerId, ScreenCollFormDTO<ScreenProjectDataInfoFormDTO> param);
/**
* @Description 内部数据入库
* @param param
* @return void
* @author wangc
* @date 2021.03.09 11:10
*/
void collect(ScreenCollFormDTO<ScreenProjectDataDTO> param);
/**
* @Description 查询是否存在客户的数据
@ -123,4 +115,13 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
* @date 2021.03.08 09:32
*/
List<ScreenProjectDataDTO> getPending(ScreenProjectDataDTO param);
/**
* @Description collect或更新
* @param
* @return void
* @author wangc
* @date 2021.03.09 17:36
*/
void insertOrUpdateBatch(String customerId,String dateId,List<ScreenProjectDataDTO> meta,List<ScreenProjectDataDTO> orient);
}

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

@ -93,4 +93,6 @@ public interface ScreenProjectImgDataService extends BaseService<ScreenProjectIm
*/
void delete(String[] ids);
void insertBatch(List<ScreenProjectImgDataDTO> list);
}

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

@ -92,4 +92,6 @@ public interface ScreenProjectProcessAttachmentService extends BaseService<Scree
* @date 2021-02-23
*/
void delete(String[] ids);
void insertBatch(List<ScreenProjectProcessAttachmentDTO> list);
}

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

@ -98,4 +98,6 @@ public interface ScreenProjectProcessService extends BaseService<ScreenProjectPr
void collect(String customerId, ScreenCollFormDTO<ScreenProjectProcessFormDTO> param);
boolean checkIfHistoricalDataExists(String customerId);
void insertBatch(List<ScreenProjectProcessDTO> list,String customerId,String dateId);
}

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

@ -21,6 +21,7 @@ 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;
@ -31,10 +32,12 @@ import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.entity.evaluationindex.screen.*;
import com.epmet.service.evaluationindex.screen.*;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.ParseException;
@ -219,23 +222,6 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
});
}
/**
* @Description 内部数据入库
* @param param
* @return void
* @author wangc
* @date 2021.03.09 11:10
*/
@Override
public void collect(ScreenCollFormDTO<ScreenProjectDataDTO> param) {
//内部数据抽取的逻辑是,不管dateId指定的哪一天,只要在抽取时,目标数据库中没有相应数据
//就抽取指定日期及其之前的所有数据,因此在删除时只需对指定日期删除即可,上述情况是因为
//库中无数据,范围性删除无意义,只是针对在数据库有历史数据的情况下,保证对同一天进行反
//复采集时数不会重复
}
/**
* @Description 查询是否存在客户的数据
@ -261,4 +247,33 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
return baseDao.selectPending(param);
}
/**
* @Description collect或更新
* @param
* @return void
* @author wangc
* @date 2021.03.09 17:36
*/
@Override
public void insertOrUpdateBatch(String customerId, String dateId, List<ScreenProjectDataDTO> meta, List<ScreenProjectDataDTO> orient) {
//内部数据抽取的逻辑是,不管dateId指定的哪一天,只要在抽取时,目标数据库中没有相应数据
//就抽取指定日期及其之前的所有数据,因此在删除时只需对指定日期删除即可,上述情况是因为
//库中无数据,范围性删除无意义,只是针对在数据库有历史数据的情况下,保证对同一天进行反
//复采集时数不会重复
if(!CollectionUtils.isEmpty(meta)){
int affectedRows = baseDao.deleteByDateIdAndCustomerId(customerId,dateId);
while (affectedRows > 0) {
affectedRows = baseDao.deleteByDateIdAndCustomerId(customerId, dateId);
}
List<List<ScreenProjectDataDTO>> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED);
partition.forEach(part -> baseDao.insertBatch(part));
}
if(!CollectionUtils.isEmpty(orient)){
List<List<ScreenProjectDataDTO>> partition = ListUtils.partition(orient, NumConstant.ONE_HUNDRED);
partition.forEach(part -> baseDao.updateBatch(part,dateId));
}
}
}

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

@ -20,6 +20,7 @@ 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.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;
@ -27,6 +28,7 @@ import com.epmet.dao.evaluationindex.screen.ScreenProjectImgDataDao;
import com.epmet.dto.screen.ScreenProjectImgDataDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectImgDataEntity;
import com.epmet.service.evaluationindex.screen.ScreenProjectImgDataService;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -34,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 中央区-项目数据图片
@ -96,4 +99,11 @@ public class ScreenProjectImgDataServiceImpl extends BaseServiceImpl<ScreenProje
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void insertBatch(List<ScreenProjectImgDataDTO> list) {
baseDao.deleteByProjectIds(list.stream().map(ScreenProjectImgDataDTO::getProjectId).distinct().collect(Collectors.toList()));
List<List<ScreenProjectImgDataDTO>> partition = ListUtils.partition(list, NumConstant.ONE_HUNDRED);
partition.forEach(part -> baseDao.insertBatch(list));
}
}

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

@ -20,6 +20,7 @@ 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.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;
@ -27,6 +28,7 @@ import com.epmet.dao.evaluationindex.screen.ScreenProjectProcessAttachmentDao;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity;
import com.epmet.service.evaluationindex.screen.ScreenProjectProcessAttachmentService;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -34,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 中央区-项目数据处理节点附件表
@ -95,4 +98,11 @@ public class ScreenProjectProcessAttachmentServiceImpl extends BaseServiceImpl<S
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void insertBatch(List<ScreenProjectProcessAttachmentDTO> list) {
baseDao.deleteByProcessId(list.stream().map(ScreenProjectProcessAttachmentDTO::getProcessId).distinct().collect(Collectors.toList()));
List<List<ScreenProjectProcessAttachmentDTO>> partition = ListUtils.partition(list,NumConstant.ONE_HUNDRED);
partition.forEach(part -> baseDao.insertBatch(part));
}
}

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

@ -35,6 +35,7 @@ import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity;
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessEntity;
import com.epmet.service.evaluationindex.screen.ScreenProjectProcessService;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -159,4 +160,17 @@ public class ScreenProjectProcessServiceImpl extends BaseServiceImpl<ScreenProje
return baseDao.countByCustomerId(customerId) > NumConstant.ZERO;
}
@Override
public void insertBatch(List<ScreenProjectProcessDTO> list,String customerId,String dateId) {
int affectedRows = baseDao.deleteByDateIdAndCustomerId(customerId, dateId);
while (affectedRows > 0) {
affectedRows = baseDao.deleteByDateIdAndCustomerId(customerId, dateId);
}
List<List<ScreenProjectProcessDTO>> partition = ListUtils.partition(list,NumConstant.ONE_HUNDRED);
partition.forEach(part -> {
baseDao.insertBatch(part);
});
}
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java

@ -138,6 +138,15 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
*/
void updateProjectStatus(List<ScreenProjectDataDTO> list, String dateId,String customerId);
/**
* @Description 查询指定日期关闭的项目 然后将状态由pending改为closed_case并加上结案时间
* @param list
* @return void
* @author wangc
* @date 2021.03.09 09:54
*/
void updateProjectCloseTime(List<ScreenProjectDataDTO> list);
/**
* @Description 构建大屏项目进展数据
*

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

@ -156,6 +156,28 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
));
}
/**
* @Description 查询指定日期关闭的项目 然后将状态由pending改为closed_case并加上结案时间
* @param list
* @return void
* @author wangc
* @date 2021.03.09 09:54
*/
@Override
public void updateProjectCloseTime(List<ScreenProjectDataDTO> list) {
if(CollectionUtils.isEmpty(list)) return;
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(
merge -> {
//target.setProjectStatusCode("closed_case");
target.setCloseCaseTime(DateUtils.format(merge.getCreatedTime(),DateUtils.DATE_TIME_PATTERN));
return null;
}
));
}
/**
* @Description 构建大屏项目进展数据
*

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

@ -56,4 +56,106 @@
and project_level = #{projectLevel}
</if>
</select>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO screen_project_data
(
id,
customer_id,
org_type,
org_id,
parent_id,
org_name,
project_id,
project_title,
project_create_time,
link_name,
link_mobile,
project_content,
project_level,
project_address,
all_category_name,
longitude,
latitude,
close_case_time,
data_end_time,
all_parent_ids,
project_status_code,
revision,
created_by,
created_time,
updated_by,
updated_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.customerId},
#{item.orgType},
#{item.orgId},
#{item.parentId},
#{item.orgName},
#{item.projectId},
#{item.projectTitle},
#{item.projectCreateTime},
#{item.linkName},
#{item.linkMobile},
#{item.projectContent},
#{item.projectLevel},
#{item.projectAddress},
#{item.allCategoryName},
#{item.longitude},
#{item.latitude},
#{item.closeCaseTime},
#{item.dataEndTime},
#{item.allParentIds},
#{item.projectStatusCode},
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now()
)
</foreach>
</insert>
<update id="updateBatch" parameterType="java.util.List">
update screen_project_data
<trim prefix="set" suffixOverrides=",">
<trim prefix="PROJECT_STATUS_CODE= case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.projectStatusCode!=null">
when PROJECT_ID=#{i.projectId} then #{i.projectStatusCode}
</if>
</foreach>
</trim>
<trim prefix=" CLOSE_CASE_TIME =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.closeCaseTime!=null">
when PROJECT_ID=#{i.projectId} then #{i.closeCaseTime}
</if>
</foreach>
</trim>
<trim prefix="ALL_CATEGORY_NAME =case" suffix="end," >
<foreach collection="list" item="i" index="index">
when PROJECT_ID=#{i.projectId} then #{i.allCategoryName}
</foreach>
</trim>
<trim prefix="PROJECT_LEVEL =case" suffix="end," >
<foreach collection="list" item="i" index="index">
<if test="i.projectLevel!=null">
when PROJECT_ID=#{i.projectId} then #{i.projectLevel}
</if>
</foreach>
</trim>
</trim>
DATA_END_TIME = #{dataEndTime},
updated_time = now()
where
<foreach collection="list" separator="or" item="i" index="index" >
PROJECT_ID=#{i.projectId}
</foreach>
</update>
</mapper>

40
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectImgDataDao.xml

@ -18,4 +18,44 @@
</resultMap>
<delete id="deleteByProjectIds">
delete from screen_project_img_data
<where>
<foreach collection="list" item="projectId" separator=" or ">
PROJECT_ID = #{projectId}
</foreach>
</where>
</delete>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO screen_project_img_data
(
id,
customer_id,
project_id,
project_img_url,
sort,
revision,
created_by,
created_time,
updated_by,
updated_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.customerId},
#{item.projectId},
#{item.projectImgUrl},
#{item.sort},
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now()
)
</foreach>
</insert>
</mapper>

58
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessAttachmentDao.xml

@ -26,5 +26,63 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByProcessId" parameterType="java.util.List">
delete from screen_project_process_attachment
<where>
<foreach collection="list" item="processId" separator=" or ">
PROCESS_ID = #{processId}
</foreach>
</where>
</delete>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO screen_project_process_attachment
(
id,
attachment_id,
customer_id,
project_id,
process_id,
file_place,
file_name,
attachment_name,
attachment_size,
attachment_format,
attachment_type,
attachment_url,
sort,
duration,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.attachmentId},
#{item.customerId},
#{item.projectId},
#{item.processId},
#{item.filePlace},
#{item.fileName},
#{item.attachmentName},
#{item.attachmentSize},
#{item.attachmentFormat},
#{item.attachmentType},
#{item.attachmentUrl},
#{item.sort},
#{item.duration},
'0',
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now()
)
</foreach>
</insert>
</mapper>

54
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectProcessDao.xml

@ -6,7 +6,7 @@
<delete id="deleteByDateIdAndCustomerId">
delete from screen_project_process
where customer_id = #{customerId}
and DATA_END_TIME = #{dateId}
and DATA_END_TIME = #{ }
limit 1000
</delete>
@ -15,4 +15,56 @@
select count(id) from `screen_project_process`
where del_flag = '0' and customer_id = #{customerId}
</select>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO screen_project_process
(
id,
customer_id,
process_id,
project_id,
transfer_dept_ids,
transfer_dept_name,
handler_name,
handler_id,
handler_type,
org_id_path,
operation,
public_reply,
internal_remark,
process_time,
data_end_time,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.customerId},
#{item.processId},
#{item.projectId},
#{item.transferDeptName},
#{item.transferDeptIds},
#{item.handlerName},
#{item.handlerId},
#{item.handlerType},
#{item.orgIdPath},
#{item.operation},
#{item.publicReply},
#{item.internalRemark},
#{item.processTime},
#{item.dataEndTime},
'0',
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now()
)
</foreach>
</insert>
</mapper>

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

@ -326,6 +326,23 @@
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
</select>
<select id="selectClosedProjectByProjectIds" resultType="com.epmet.dto.ProjectProcessDTO">
SELECT
project_id,
created_time
FROM
`project_process`
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND operation = 'close'
<foreach collection="list" item="projectId" open="AND (" separator=" OR " close=" )">
project_id = #{projectId}
</foreach>
</select>
<resultMap id="processDirectionMap" type="com.epmet.dto.screen.ScreenProjectProcessDTO">
<result column="customer_id" property="customerId" />
<result column="processId" property="processId" />
@ -362,7 +379,7 @@
process.PUBLIC_REPLY,
process.INTERNAL_REMARK,
process.CREATED_TIME as processTime,
#{dataEndTime} as dataEndTime
#{dataEndTime} as dataEndTime,
staff.DEPARTMENT_NAME,
CASE WHEN staff.DEPARTMENT_ID IS NOT NULL <![CDATA[&&]]> trim(staff.DEPARTMENT_ID) <![CDATA[<>]]> '' THEN staff.DEPARTMENT_ID
WHEN staff.GRID_ID IS NOT NULL <![CDATA[&&]]> trim(staff.GRID_ID) <![CDATA[<>]]> '' THEN staff.GRID_ID

Loading…
Cancel
Save