Browse Source

Merge remote-tracking branch 'origin/dev_screen_data_2.0' into dev_screen_data_2.0

dev_shibei_match
yinzuomei 5 years ago
parent
commit
1afba4bbe6
  1. 8
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java
  2. 25
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/AgencyInfoResultDTO.java
  3. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java
  4. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java
  5. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java
  6. 54
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueMainDailyDao.xml
  7. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml

8
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java

@ -115,9 +115,9 @@ public class IssueMainDailyFormDTO implements Serializable {
private String updatedBy;
public IssueMainDailyFormDTO() {
this.delFlag = delFlag = 0;
this.revision = revision = 0;
this.createdBy = createdBy = "APP_USER";
this.updatedBy = updatedBy = "APP_USER";
this.delFlag = 0;
this.revision = 0;
this.createdBy = "APP_USER";
this.updatedBy = "APP_USER";
}
}

25
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/AgencyInfoResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.extract.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/9/15 6:13 下午
*/
@Data
public class AgencyInfoResultDTO implements Serializable {
private static final long serialVersionUID = 2823049943836552367L;
/**
* 机关ID
*/
private String agencyId;
/**
* 机关的父ID
*/
private String pid;
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java

@ -41,4 +41,13 @@ public interface FactOriginIssueMainDailyDao extends BaseDao<FactOriginIssueMain
* @date 2020/9/14 5:53 下午
*/
void insertIssueMainList(@Param("issueMainList") List<IssueMainDailyFormDTO> issueMainList);
/**
* @Description 删除旧的记录
* @param customerId
* @param dateId
* @author zxc
* @date 2020/9/16 9:33 上午
*/
void deleteOldRecord(@Param("customerId")String customerId,@Param("dateId")String dateId);
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java

@ -21,6 +21,7 @@ package com.epmet.dao.stats;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.AgencySubDeptTreeDto;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.AgencyInfoResultDTO;
import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.stats.DimAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -126,4 +127,12 @@ public interface DimAgencyDao extends BaseDao<DimAgencyEntity> {
DimAgencyEntity getLatestCreatedAgencyDimEntity();
DimAgencyEntity getLatestUpdatedAgencyDimEntity();
/**
* @Description 查询pid信息
* @param agencyIds
* @author zxc
* @date 2020/9/15 6:15 下午
*/
List<AgencyInfoResultDTO> selectAgencyInfo(@Param("agencyIds")List<String> agencyIds);
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java

@ -5,7 +5,10 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao;
import com.epmet.dao.stats.DimAgencyDao;
import com.epmet.dto.extract.FactOriginIssueMainDailyDTO;
import com.epmet.dto.extract.form.IssueMainDailyFormDTO;
import com.epmet.dto.extract.result.AgencyInfoResultDTO;
import com.epmet.dto.extract.result.IssueInfoResultDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.service.Issue.IssueService;
@ -15,6 +18,7 @@ import com.epmet.service.user.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
@ -38,6 +42,8 @@ public class IssueExtractServiceImpl implements IssueExtractService {
private UserService userService;
@Autowired
private TopicService topicService;
@Autowired
private DimAgencyDao dimAgencyDao;
/**
* @Description 议题抽取
@ -47,18 +53,19 @@ public class IssueExtractServiceImpl implements IssueExtractService {
* @date 2020/9/15 2:02 下午
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean issueExtract(String customerId, String dateId) {
// 议题信息查询
List<IssueInfoResultDTO> listResult = issueService.selectIssueInfo(customerId, dateId);
List<FactOriginIssueMainDailyDTO> result = new ArrayList<>();
List<IssueMainDailyFormDTO> result = new ArrayList<>();
if (CollectionUtils.isEmpty(listResult)){
throw new RenException("查询议题信息为空");
}
listResult.forEach(issue -> {
FactOriginIssueMainDailyDTO factOriginIssueMainDailyDTO = ConvertUtils.sourceToTarget(issue, FactOriginIssueMainDailyDTO.class);
factOriginIssueMainDailyDTO.setId(issue.getIssueId());
result.add(factOriginIssueMainDailyDTO);
IssueMainDailyFormDTO issueMainDailyFormDTO = ConvertUtils.sourceToTarget(issue, IssueMainDailyFormDTO.class);
issueMainDailyFormDTO.setId(issue.getIssueId());
result.add(issueMainDailyFormDTO);
});
// 创建议题人ID
@ -105,9 +112,21 @@ public class IssueExtractServiceImpl implements IssueExtractService {
});
});
// 查询pid
List<String> agencyIds = result.stream().map(r -> r.getAgencyId()).distinct().collect(Collectors.toList());
List<AgencyInfoResultDTO> agencyInfoList = dimAgencyDao.selectAgencyInfo(agencyIds);
if (CollectionUtils.isEmpty(agencyInfoList)){
throw new RenException("查询组织上级ID集合为空......");
}
result.forEach(r -> {
agencyInfoList.forEach(pid -> {
if (r.getAgencyId().equals(pid.getAgencyId())){
r.setPid(pid.getPid());
}
});
});
issueMainDailyDao.deleteOldRecord(customerId, dateId);
issueMainDailyDao.insertIssueMainList(result);
return true;
}

54
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueMainDailyDao.xml

@ -5,24 +5,48 @@
<!-- 议题主表插入 -->
<insert id="insertIssueMainList">
INSERT INTO fact_origin_issue_main_daily(ID, CUSTOMER_ID, GRID_ID, PID, AGENCY_ID, DATE_ID, WEEK_ID, MONTH_ID, QUARTER_ID, YEAR_ID, ISSUE_ID, OPERATION_USER_ID, ACTION_CODE, USER_IDENTITY, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME)
INSERT INTO fact_origin_issue_main_daily(
ID,
DATE_ID,
WEEK_ID,
MONTH_ID,
QUARTER_ID,
YEAR_ID,
CUSTOMER_ID,
IS_PARTY,
USER_ID,
CREATE_TOPIC_USER_ID,
TOPIC_ID,
GRID_ID,
PID,
AGENCY_ID,
ISSUE_STATUS,
TOPIC_USER_IS_PARTY,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
VALUES
<foreach collection="issueMainList" item="item" index="index" separator=",">
(
REPLACE ( UUID(), '-', '' ),
#{item.customerId},
#{item.gridId},
#{item.pid},
#{item.agencyId},
#{item.id},
#{item.dateId},
#{item.weekId},
#{item.monthId},
#{item.quarterId},
#{item.yearId},
#{item.issueId},
#{item.operationUserId},
#{item.actionCode},
#{item.userIdentity},
#{item.customerId},
#{item.isParty},
#{item.userId},
#{item.createTopicUserId},
#{item.topicId},
#{item.gridId},
#{item.pid},
#{item.agencyId},
#{item.issueStatus},
#{item.topicUserIsParty},
#{item.delFlag},
#{item.revision},
#{item.createdBy},
@ -32,4 +56,14 @@
)
</foreach>
</insert>
<!-- 删除旧的记录 -->
<delete id="deleteOldRecord">
DELETE
FROM
fact_origin_issue_main_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
</delete>
</mapper>

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml

@ -299,4 +299,21 @@
limit 1
</select>
<!-- 查询pid信息 -->
<select id="selectAgencyInfo" resultType="com.epmet.dto.extract.result.AgencyInfoResultDTO">
SELECT
id AS agencyId,
pid
FROM
dim_agency
WHERE
del_flag = '0'
AND
(
<foreach collection="agencyIds" item="item" separator=" OR ">
id = #{item}
</foreach>
)
</select>
</mapper>
Loading…
Cancel
Save