Browse Source

Merge remote-tracking branch 'origin/dev'

dev_shibei_match
yinzuomei 4 years ago
parent
commit
ba43d4ec87
  1. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginTopicMainDailyDao.java
  2. 25
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginTopicMainDailyServiceImpl.java
  3. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java
  4. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java
  5. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.16__add_shiftIssue.sql
  6. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginTopicMainDailyDao.xml

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginTopicMainDailyDao.java

@ -106,6 +106,14 @@ public interface FactOriginTopicMainDailyDao extends BaseDao<FactOriginTopicMain
**/ **/
void updateFactOriginTopicMain(@Param("topicId")String topicId,@Param("topicStatus")String topicStatus,@Param("closedStatus")String closedStatus); void updateFactOriginTopicMain(@Param("topicId")String topicId,@Param("topicStatus")String topicStatus,@Param("closedStatus")String closedStatus);
/**
* @Description 修改话题主标的 SHIFT_ISSUE 字段 = 1
* @Param topicIds
* @author zxc
* @date 2021/5/25 3:20 下午
*/
void updateTopicMainStatus(@Param("topicIds") List<String> topicIds);
/** /**
* @return java.lang.Integer * @return java.lang.Integer
* @param customerId * @param customerId

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

@ -40,6 +40,7 @@ import com.epmet.service.evaluationindex.extract.todata.FactOriginTopicMainDaily
import com.epmet.service.org.CustomerGridService; import com.epmet.service.org.CustomerGridService;
import com.epmet.service.topic.TopicService; import com.epmet.service.topic.TopicService;
import com.epmet.service.user.UserService; import com.epmet.service.user.UserService;
import com.epmet.util.ModuleConstant;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -91,6 +92,7 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
Map<String, Object> map = this.constructFactOriginData(topicOriginInfoList, gridMap); Map<String, Object> map = this.constructFactOriginData(topicOriginInfoList, gridMap);
List<FactOriginTopicMainDailyEntity> mainDailyEntityList = (List<FactOriginTopicMainDailyEntity>) map.get("main"); List<FactOriginTopicMainDailyEntity> mainDailyEntityList = (List<FactOriginTopicMainDailyEntity>) map.get("main");
List<FactOriginTopicLogDailyEntity> logDailyEntityList = (List<FactOriginTopicLogDailyEntity>) map.get("log"); List<FactOriginTopicLogDailyEntity> logDailyEntityList = (List<FactOriginTopicLogDailyEntity>) map.get("log");
List<String> topicIds = (List<String>) map.get(ModuleConstant.NEED_UPDATE_STATUS_TOPIC);
//删除之前统计的数据 //删除之前统计的数据
deleteFactOriginData(customerId,dateId); deleteFactOriginData(customerId,dateId);
//批量保存主表 //批量保存主表
@ -99,6 +101,8 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
saveFactOriginTopicLogDailyEntity(logDailyEntityList); saveFactOriginTopicLogDailyEntity(logDailyEntityList);
//更新主表的状态状态、关闭状态 //更新主表的状态状态、关闭状态
updateFactOriginTopicMain(topicService.queryUpdateTopicOriginInfoList(customerId, dateId)); updateFactOriginTopicMain(topicService.queryUpdateTopicOriginInfoList(customerId, dateId));
// 更新主表的转议题状态
updateTopicMainStatus(topicIds);
return true; return true;
} }
@ -117,6 +121,18 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
}); });
} }
/**
* @Description 修改话题主标的 SHIFT_ISSUE 字段 = 1
* @Param topicIds
* @author zxc
* @date 2021/5/25 3:18 下午
*/
private void updateTopicMainStatus(List<String> topicIds){
if (!CollectionUtils.isEmpty(topicIds)){
baseDao.updateTopicMainStatus(topicIds);
}
}
private Map<String, GridInfoDTO> getGridInfoMap(String customerId) { private Map<String, GridInfoDTO> getGridInfoMap(String customerId) {
Map<String ,GridInfoDTO> map=new HashMap<>(); Map<String ,GridInfoDTO> map=new HashMap<>();
@ -172,12 +188,13 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
List<String> userIds = topicOriginInfoList.stream().map(topic -> topic.getOperateUserId()).distinct().collect(Collectors.toList()); List<String> userIds = topicOriginInfoList.stream().map(topic -> topic.getOperateUserId()).distinct().collect(Collectors.toList());
Map<String,Integer> userIsPartyMap = userService.selectUserIsParty(userIds); Map<String,Integer> userIsPartyMap = userService.selectUserIsParty(userIds);
List<String> topicIds = new ArrayList<>();
for(TopicOriginInfoDTO topicOriginInfoDTO:topicOriginInfoList){ for(TopicOriginInfoDTO topicOriginInfoDTO:topicOriginInfoList){
GridInfoDTO gridInfoDTO=gridMap.get(topicOriginInfoDTO.getGridId()); GridInfoDTO gridInfoDTO=gridMap.get(topicOriginInfoDTO.getGridId());
if(null==gridInfoDTO){ if(null==gridInfoDTO){
log.error("没有找到 gridId="+topicOriginInfoDTO.getGridId()+" 的基本信息"); log.warn("没有找到 gridId="+topicOriginInfoDTO.getGridId()+" 的基本信息");
// continue; // continue;
throw new RenException("xxxxxx"); throw new RenException("gridInfoDTO is null gridId="+topicOriginInfoDTO.getGridId());
} }
// 一年的第几周 // 一年的第几周
String weekId = DateUtils.format(topicOriginInfoDTO.getOriginalBusinessTime(), DateUtils.DATE_PATTERN_YYYY).concat("W").concat(String.valueOf(DateUtils.getWeekOfYear(topicOriginInfoDTO.getOriginalBusinessTime()))); String weekId = DateUtils.format(topicOriginInfoDTO.getOriginalBusinessTime(), DateUtils.DATE_PATTERN_YYYY).concat("W").concat(String.valueOf(DateUtils.getWeekOfYear(topicOriginInfoDTO.getOriginalBusinessTime())));
@ -219,9 +236,13 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
logDailyEntity.setOperateUserIsParty(false); logDailyEntity.setOperateUserIsParty(false);
} }
logDailyEntityList.add(logDailyEntity); logDailyEntityList.add(logDailyEntity);
if (topicOriginInfoDTO.getActionCode().equals(ModuleConstant.TOPIC_STATUS_SHIFT_ISSUE)){
topicIds.add(topicOriginInfoDTO.getTopicId());
}
} }
map.put("main",mainDailyEntityList); map.put("main",mainDailyEntityList);
map.put("log",logDailyEntityList); map.put("log",logDailyEntityList);
map.put(ModuleConstant.NEED_UPDATE_STATUS_TOPIC,topicIds);
return map; return map;
} }

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

@ -378,12 +378,12 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl<Sc
}); });
}); });
Map<Boolean, List<CategoryProjectResultDTO>> groupByStatus = categoryProjectGrid.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getStatus)); Map<Boolean, List<CategoryProjectResultDTO>> groupByStatus = categoryProjectGrid.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getStatus));
// 取出分类标签code不一样的数据 // 取出分类标签code同agency级别不一样的数据
List<CategoryProjectResultDTO> categoryProjectResultDTOS1 = groupByStatus.get(false); List<CategoryProjectResultDTO> categoryProjectResultDTOS1 = groupByStatus.get(false);
categoryProjectResultDTOS.addAll(categoryProjectResultDTOS1); categoryProjectResultDTOS.addAll(categoryProjectResultDTOS1);
} }
} }
// result = ConvertUtils.sourceToTarget(categoryProjectResultDTOS,ScreenProjectCategoryOrgDailyEntity.class); result = ConvertUtils.sourceToTarget(categoryProjectResultDTOS,ScreenProjectCategoryOrgDailyEntity.class);
/** /**
* 查询父子客户所有的分类根据分类分组然后把agencyId统一换成父客户的 * 查询父子客户所有的分类根据分类分组然后把agencyId统一换成父客户的
* 在保存一份子客户自己agencyId的 * 在保存一份子客户自己agencyId的
@ -409,6 +409,8 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl<Sc
} }
// 此时的 'categoryProjectResultDTOS' 等于 父子客户所有的分类标签 // 此时的 'categoryProjectResultDTOS' 等于 父子客户所有的分类标签
Map<String, List<CategoryProjectResultDTO>> groupByCategoryCode = categoryProjectResultDTOS.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getCategoryCode)); Map<String, List<CategoryProjectResultDTO>> groupByCategoryCode = categoryProjectResultDTOS.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getCategoryCode));
// 这时的result集合要清空,因为被上边使用 【result = ConvertUtils.sourceToTarget(categoryProjectResultDTOS,ScreenProjectCategoryOrgDailyEntity.class);】
result.clear();
List<ScreenProjectCategoryOrgDailyEntity> finalResult = result; List<ScreenProjectCategoryOrgDailyEntity> finalResult = result;
groupByCategoryCode.forEach((code, list) -> { groupByCategoryCode.forEach((code, list) -> {
ScreenProjectCategoryOrgDailyEntity e = new ScreenProjectCategoryOrgDailyEntity(); ScreenProjectCategoryOrgDailyEntity e = new ScreenProjectCategoryOrgDailyEntity();
@ -454,6 +456,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl<Sc
List<CustomerAgencyInfoResultDTO> levelAgencyInfo = groupByLevel.get(level); List<CustomerAgencyInfoResultDTO> levelAgencyInfo = groupByLevel.get(level);
if (!CollectionUtils.isEmpty(levelAgencyInfo)) { if (!CollectionUtils.isEmpty(levelAgencyInfo)) {
orgIds = levelAgencyInfo.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); orgIds = levelAgencyInfo.stream().map(m -> m.getAgencyId()).collect(Collectors.toList());
// 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
List<ScreenProjectCategoryGridDailyDTO> screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId); List<ScreenProjectCategoryGridDailyDTO> screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId);
if (!CollectionUtils.isEmpty(result)) { if (!CollectionUtils.isEmpty(result)) {
if (!CollectionUtils.isEmpty(screenProjectCategory)) { if (!CollectionUtils.isEmpty(screenProjectCategory)) {
@ -466,6 +469,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl<Sc
}); });
}); });
Map<Boolean, List<ScreenProjectCategoryGridDailyDTO>> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); Map<Boolean, List<ScreenProjectCategoryGridDailyDTO>> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus));
// 取出没有累加过的数据
List<ScreenProjectCategoryGridDailyDTO> screenProjectCategoryNoCal = groupByStatus.get(false); List<ScreenProjectCategoryGridDailyDTO> screenProjectCategoryNoCal = groupByStatus.get(false);
if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)) { if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)) {
List<ScreenProjectCategoryOrgDailyEntity> noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); List<ScreenProjectCategoryOrgDailyEntity> noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class);

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -39,4 +39,8 @@ public interface ModuleConstant {
String EXCEPTION_DING_INTERCEPTOR_PREFIX_TOPIC_STATISTICAL = "topicStats"; String EXCEPTION_DING_INTERCEPTOR_PREFIX_TOPIC_STATISTICAL = "topicStats";
String LOG_WARN_NO_AGENCY_MESSAGE = "没有相应的机关集合"; String LOG_WARN_NO_AGENCY_MESSAGE = "没有相应的机关集合";
String TOPIC_STATUS_SHIFT_ISSUE = "shift_issue";
String NEED_UPDATE_STATUS_TOPIC = "needUpdateStatusTopic";
} }

1
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.16__add_shiftIssue.sql

@ -0,0 +1 @@
ALTER TABLE `fact_origin_topic_main_daily` ADD `SHIFT_ISSUE` tinyint(1) NOT NULL default '0' COMMENT '是否转为议题,0:false,1:true' AFTER `CREATE_TOPIC_USER_IS_PARTY`;

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginTopicMainDailyDao.xml

@ -139,6 +139,19 @@
where id = #{topicId} where id = #{topicId}
</update> </update>
<!-- 修改话题主标的 SHIFT_ISSUE 字段 = 1 -->
<update id="updateTopicMainStatus">
UPDATE fact_origin_topic_main_daily
SET SHIFT_ISSUE = 1,
UPDATED_TIME = NOW()
WHERE 1=1
AND (
<foreach collection="topicIds" item="topicId" separator=" OR ">
ID = #{topicId}
</foreach>
)
</update>
<!-- 在当前组织下,发布的话题总数,也可以单独筛选党员 --> <!-- 在当前组织下,发布的话题总数,也可以单独筛选党员 -->
<select id="getAgencyPartyTopicTotal" parameterType="map" resultType="java.lang.Integer"> <select id="getAgencyPartyTopicTotal" parameterType="map" resultType="java.lang.Integer">
SELECT SELECT

Loading…
Cancel
Save