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; private String updatedBy;
public IssueMainDailyFormDTO() { public IssueMainDailyFormDTO() {
this.delFlag = delFlag = 0; this.delFlag = 0;
this.revision = revision = 0; this.revision = 0;
this.createdBy = createdBy = "APP_USER"; this.createdBy = "APP_USER";
this.updatedBy = updatedBy = "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 下午 * @date 2020/9/14 5:53 下午
*/ */
void insertIssueMainList(@Param("issueMainList") List<IssueMainDailyFormDTO> issueMainList); 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.commons.mybatis.dao.BaseDao;
import com.epmet.dto.AgencySubDeptTreeDto; import com.epmet.dto.AgencySubDeptTreeDto;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.AgencyInfoResultDTO;
import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.stats.DimAgencyEntity; import com.epmet.entity.stats.DimAgencyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -126,4 +127,12 @@ public interface DimAgencyDao extends BaseDao<DimAgencyEntity> {
DimAgencyEntity getLatestCreatedAgencyDimEntity(); DimAgencyEntity getLatestCreatedAgencyDimEntity();
DimAgencyEntity getLatestUpdatedAgencyDimEntity(); 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.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao; import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao;
import com.epmet.dao.stats.DimAgencyDao;
import com.epmet.dto.extract.FactOriginIssueMainDailyDTO; 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.IssueInfoResultDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO; import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.service.Issue.IssueService; import com.epmet.service.Issue.IssueService;
@ -15,6 +18,7 @@ import com.epmet.service.user.UserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
@ -38,6 +42,8 @@ public class IssueExtractServiceImpl implements IssueExtractService {
private UserService userService; private UserService userService;
@Autowired @Autowired
private TopicService topicService; private TopicService topicService;
@Autowired
private DimAgencyDao dimAgencyDao;
/** /**
* @Description 议题抽取 * @Description 议题抽取
@ -47,18 +53,19 @@ public class IssueExtractServiceImpl implements IssueExtractService {
* @date 2020/9/15 2:02 下午 * @date 2020/9/15 2:02 下午
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean issueExtract(String customerId, String dateId) { public Boolean issueExtract(String customerId, String dateId) {
// 议题信息查询 // 议题信息查询
List<IssueInfoResultDTO> listResult = issueService.selectIssueInfo(customerId, dateId); List<IssueInfoResultDTO> listResult = issueService.selectIssueInfo(customerId, dateId);
List<FactOriginIssueMainDailyDTO> result = new ArrayList<>(); List<IssueMainDailyFormDTO> result = new ArrayList<>();
if (CollectionUtils.isEmpty(listResult)){ if (CollectionUtils.isEmpty(listResult)){
throw new RenException("查询议题信息为空"); throw new RenException("查询议题信息为空");
} }
listResult.forEach(issue -> { listResult.forEach(issue -> {
FactOriginIssueMainDailyDTO factOriginIssueMainDailyDTO = ConvertUtils.sourceToTarget(issue, FactOriginIssueMainDailyDTO.class); IssueMainDailyFormDTO issueMainDailyFormDTO = ConvertUtils.sourceToTarget(issue, IssueMainDailyFormDTO.class);
factOriginIssueMainDailyDTO.setId(issue.getIssueId()); issueMainDailyFormDTO.setId(issue.getIssueId());
result.add(factOriginIssueMainDailyDTO); result.add(issueMainDailyFormDTO);
}); });
// 创建议题人ID // 创建议题人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; 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 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 VALUES
<foreach collection="issueMainList" item="item" index="index" separator=","> <foreach collection="issueMainList" item="item" index="index" separator=",">
( (
REPLACE ( UUID(), '-', '' ), #{item.id},
#{item.customerId},
#{item.gridId},
#{item.pid},
#{item.agencyId},
#{item.dateId}, #{item.dateId},
#{item.weekId}, #{item.weekId},
#{item.monthId}, #{item.monthId},
#{item.quarterId}, #{item.quarterId},
#{item.yearId}, #{item.yearId},
#{item.issueId}, #{item.customerId},
#{item.operationUserId}, #{item.isParty},
#{item.actionCode}, #{item.userId},
#{item.userIdentity}, #{item.createTopicUserId},
#{item.topicId},
#{item.gridId},
#{item.pid},
#{item.agencyId},
#{item.issueStatus},
#{item.topicUserIsParty},
#{item.delFlag}, #{item.delFlag},
#{item.revision}, #{item.revision},
#{item.createdBy}, #{item.createdBy},
@ -32,4 +56,14 @@
) )
</foreach> </foreach>
</insert> </insert>
<!-- 删除旧的记录 -->
<delete id="deleteOldRecord">
DELETE
FROM
fact_origin_issue_main_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
</delete>
</mapper> </mapper>

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

@ -299,4 +299,21 @@
limit 1 limit 1
</select> </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> </mapper>
Loading…
Cancel
Save