Browse Source

Merge branch 'dev_bugfix_ljj' into dev

feature/evaluate
sunyuchao 4 years ago
parent
commit
3fae4181be
  1. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java
  2. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
  3. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  4. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  5. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  6. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  7. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
  8. 39
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java
  9. 9
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java

@ -114,9 +114,9 @@ public class GovProjectController {
* @author sun * @author sun
*/ */
@PostMapping("categoryprojectlist") @PostMapping("categoryprojectlist")
public Result<CategoryProjectResultDTO> categoryProjectList(@RequestBody CategoryProjectFormDTO formDTO) { public Result<CategoryProjectResultDTO> categoryProjectList(@LoginUser TokenDto tokenDto, @RequestBody CategoryProjectFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CategoryProjectFormDTO.Category.class); ValidatorUtils.validateEntity(formDTO, CategoryProjectFormDTO.Category.class);
//formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<CategoryProjectResultDTO>().ok(govProjectService.categoryProjectList(formDTO)); return new Result<CategoryProjectResultDTO>().ok(govProjectService.categoryProjectList(formDTO));
} }

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java

@ -192,7 +192,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
do { do {
//1.一千条一循环查询节点数据,封装每个组织对应数据 //1.一千条一循环查询节点数据,封装每个组织对应数据
projectEntity.setPageNo(pageNo); projectEntity.setPageNo(pageNo);
processList = projectProcessService.getProcessList(projectEntity); processList = projectProcessService.getProcessAgencyList(projectEntity);
size = processList.size(); size = processList.size();
pageNo++; pageNo++;
//遍历删除项目节点表查询的无效数据 //遍历删除项目节点表查询的无效数据
@ -247,8 +247,8 @@ public class StatsProjectServiceImpl implements StatsProjectService {
if (mapList.containsKey(agency.getId())) { if (mapList.containsKey(agency.getId())) {
entity = mapList.get(agency.getId()); entity = mapList.get(agency.getId());
entity.setProjectTotal(entity.getProjectTotal() + projectTotal.intValue()); entity.setProjectTotal(entity.getProjectTotal() + projectTotal.intValue());
entity.setPendingTotal(entity.getProjectTotal() - closedTotal.intValue());
entity.setClosedTotal(entity.getClosedTotal() + closedTotal.intValue()); entity.setClosedTotal(entity.getClosedTotal() + closedTotal.intValue());
entity.setPendingTotal(entity.getProjectTotal() - entity.getClosedTotal());
if (projectTotal.intValue() > NumConstant.ZERO) { if (projectTotal.intValue() > NumConstant.ZERO) {
entity.setPendingRatio(new BigDecimal(numberFormat.format((float) entity.getPendingTotal() / (float) entity.getProjectTotal()))); entity.setPendingRatio(new BigDecimal(numberFormat.format((float) entity.getPendingTotal() / (float) entity.getProjectTotal())));
entity.setClosedRatio(new BigDecimal(numberFormat.format((float) entity.getClosedTotal() / (float) entity.getProjectTotal()))); entity.setClosedRatio(new BigDecimal(numberFormat.format((float) entity.getClosedTotal() / (float) entity.getProjectTotal())));
@ -286,7 +286,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
do { do {
//3.一千条一循环查询项目数据,封装每个组织对应数据 //3.一千条一循环查询项目数据,封装每个组织对应数据
projectEntity.setPageNo(num); projectEntity.setPageNo(num);
projectList = projectService.getProjectList(projectEntity); projectList = projectService.getProjectAgencyList(projectEntity);
size = projectList.size(); size = projectList.size();
num++; num++;
//遍历删除项目主表查询的无效数据 //遍历删除项目主表查询的无效数据

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

@ -45,6 +45,7 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值) * @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/ **/
List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity); List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity);
List<ProjectProcessEntity> getProcessAgencyList(ProjectEntity projectEntity);
/** /**
* 根据客户查询项目处理进展 * 根据客户查询项目处理进展

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -47,6 +47,7 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @Description 根据客户Id查询客户项目业务表有效数据 * @Description 根据客户Id查询客户项目业务表有效数据
**/ **/
List<ProjectEntity> getProjectList(ProjectEntity projectEntity); List<ProjectEntity> getProjectList(ProjectEntity projectEntity);
List<ProjectEntity> getProjectAgencyList(ProjectEntity projectEntity);
/** /**
* 已结案项目统计 * 已结案项目统计

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

@ -63,6 +63,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
**/ **/
@Override @Override
public List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity) { public List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity) {
return baseDao.selectProcessList(projectEntity);
}
@Override
public List<ProjectProcessEntity> getProcessAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize()); PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProcessList(projectEntity); return baseDao.selectProcessList(projectEntity);
} }

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java

@ -55,6 +55,10 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
**/ **/
@Override @Override
public List<ProjectEntity> getProjectList(ProjectEntity projectEntity) { public List<ProjectEntity> getProjectList(ProjectEntity projectEntity) {
return baseDao.selectProjectList(projectEntity);
}
@Override
public List<ProjectEntity> getProjectAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize()); PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProjectList(projectEntity); return baseDao.selectProjectList(projectEntity);
} }

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java

@ -140,7 +140,7 @@ public interface IssueVoteDetailDao extends BaseDao<IssueVoteDetailEntity> {
* @author zxc * @author zxc
* @date 2021/12/29 2:02 下午 * @date 2021/12/29 2:02 下午
*/ */
List<DailyStatisticalVoteJobResultDTO> statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId); List<DailyStatisticalVoteJobResultDTO> statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId,@Param("status")Boolean status);
/** /**
* @Description 根据议题ID查询折线图一天的数据 * @Description 根据议题ID查询折线图一天的数据

39
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
@ -339,12 +340,12 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
List<String> daysBetween = DateUtils.getDaysBetween(form.getStartDate(), form.getEndDate()); List<String> daysBetween = DateUtils.getDaysBetween(form.getStartDate(), form.getEndDate());
customerIds.forEach(customerId -> { customerIds.forEach(customerId -> {
daysBetween.forEach(dateId -> { daysBetween.forEach(dateId -> {
statisticVote(customerId,dateId); statisticVote(customerId,yyyyMMddToLine(dateId));
}); });
}); });
}else { }else {
if (StringUtils.isBlank(form.getDateId())){ if (StringUtils.isBlank(form.getDateId())){
form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", "")); form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString());
} }
customerIds.forEach(customerId -> { customerIds.forEach(customerId -> {
statisticVote(customerId, form.getDateId()); statisticVote(customerId, form.getDateId());
@ -352,6 +353,14 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
} }
} }
public String yyyyMMddToLine(String dateId){
StringBuilder sb = new StringBuilder();
sb.append(dateId.substring(0,4)).append(StrConstant.HYPHEN);
sb.append(dateId.substring(4,6)).append(StrConstant.HYPHEN);
sb.append(dateId.substring(6,8));
return sb.toString();
}
/** /**
* @Description 统计 issue_vote_statistical_daily * @Description 统计 issue_vote_statistical_daily
* 只统计表决日增存在的不存在的不写入查询程序补全 * 只统计表决日增存在的不存在的不写入查询程序补全
@ -360,28 +369,32 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
* @author zxc * @author zxc
* @date 2021/12/29 1:46 下午 * @date 2021/12/29 1:46 下午
*/ */
@Transactional(rollbackFor = Exception.class)
public void statisticVote(String customerId,String dateId){ public void statisticVote(String customerId,String dateId){
// 日增 // 日增
List<DailyStatisticalVoteJobResultDTO> dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId); List<DailyStatisticalVoteJobResultDTO> dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, true);
if (CollectionUtils.isNotEmpty(dayAdd)){ if (CollectionUtils.isNotEmpty(dayAdd)){
//累计 //累计
List<DailyStatisticalVoteJobResultDTO> allDayAdd = issueVoteDetailDao.statisticVote(customerId, null); List<DailyStatisticalVoteJobResultDTO> allDayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, false);
dayAdd.forEach(d -> allDayAdd.stream().filter(a -> a.getIssueId().equals(d.getIssueId())).forEach(a -> { dayAdd.forEach(d -> allDayAdd.stream().filter(a -> a.getIssueId().equals(d.getIssueId())).forEach(a -> {
d.setOppositionCount(a.getOppositionCount()); d.setOppositionCount(a.getOppositionCount());
d.setSupportCount(a.getSupportCount()); d.setSupportCount(a.getSupportCount());
d.setTotalCount(a.getTotalCount()); d.setTotalCount(a.getTotalCount());
})); }));
List<IssueVoteStatisticalDailyEntity> needInsert = ConvertUtils.sourceToTarget(dayAdd, IssueVoteStatisticalDailyEntity.class); List<IssueVoteStatisticalDailyEntity> needInsert = ConvertUtils.sourceToTarget(dayAdd, IssueVoteStatisticalDailyEntity.class);
Integer delNum; delAndInsert(needInsert,customerId,dateId);
do {
delNum = baseDao.delHistoryData(customerId, dateId);
} while (delNum != null && delNum > NumConstant.ZERO);
List<List<IssueVoteStatisticalDailyEntity>> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertBatch(p);
});
} }
} }
@Transactional(rollbackFor = Exception.class)
public void delAndInsert(List<IssueVoteStatisticalDailyEntity> needInsert,String customerId,String dateId){
Integer delNum;
do {
delNum = baseDao.delHistoryData(customerId, dateId);
} while (delNum != null && delNum > NumConstant.ZERO);
List<List<IssueVoteStatisticalDailyEntity>> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertBatch(p);
});
}
} }

9
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml

@ -186,10 +186,10 @@
<select id="statisticVote" resultType="com.epmet.dto.result.DailyStatisticalVoteJobResultDTO"> <select id="statisticVote" resultType="com.epmet.dto.result.DailyStatisticalVoteJobResultDTO">
SELECT SELECT
vs.votable_count, vs.votable_count,
<if test="dateId == null"> <if test="status == false">
(t.oppositionCount + t.supportCount) AS totalCount, (t.oppositionCount + t.supportCount) AS totalCount,
</if> </if>
<if test="dateId != null"> <if test="status == true">
(t.oppositionIncrement + t.supportIncrement) AS todayIncrement, (t.oppositionIncrement + t.supportIncrement) AS todayIncrement,
</if> </if>
t.* FROM t.* FROM
@ -203,9 +203,12 @@
FROM issue_vote_detail vd FROM issue_vote_detail vd
WHERE vd.DEL_FLAG = '0' WHERE vd.DEL_FLAG = '0'
AND vd.CUSTOMER_ID = #{customerId} AND vd.CUSTOMER_ID = #{customerId}
<if test="dateId != null"> <if test="status == true">
AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') = #{dateId} AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') = #{dateId}
</if> </if>
<if test="status == false">
AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{dateId}
</if>
GROUP BY vd.ISSUE_ID)t GROUP BY vd.ISSUE_ID)t
INNER JOIN issue_vote_statistical vs ON (vs.ISSUE_ID = t.ISSUE_ID AND vs.DEL_FLAG = '0') INNER JOIN issue_vote_statistical vs ON (vs.ISSUE_ID = t.ISSUE_ID AND vs.DEL_FLAG = '0')
</select> </select>

Loading…
Cancel
Save