Browse Source

。。

dev_shibei_match
zxc 4 years ago
parent
commit
918326a0fe
  1. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java
  2. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java
  3. 75
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java

@ -104,4 +104,21 @@ public interface BaseReportDao {
* @date 2021/6/25 9:14 上午 * @date 2021/6/25 9:14 上午
*/ */
void insertAgencyProject(@Param("list")List<AgencyProjectFormDTO.DataList> dataList); void insertAgencyProject(@Param("list")List<AgencyProjectFormDTO.DataList> dataList);
/**
* @Description 根据dateId删除客户网格项目数据
* @Param customerId
* @Param dateId
* @author zxc
* @date 2021/6/25 10:36 上午
*/
int delGridProject(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* @Description 批量新增网格项目数据
* @Param dataList
* @author zxc
* @date 2021/6/25 10:37 上午
*/
void insertGridProject(@Param("list")List<GridProjectFormDTO.DataList> dataList);
} }

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java

@ -214,7 +214,20 @@ public class BaseReportServiceImpl implements BaseReportService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void gridProject(GridProjectFormDTO formDTO) { public void gridProject(GridProjectFormDTO formDTO) {
if (CollectionUtils.isEmpty(formDTO.getDataList())){
log.warn(String.format(BaseReportConstant.DATA_IS_NULL),"网格项目");
return;
}
if (formDTO.getIsFirst()) {
int deleteNum;
do {
deleteNum = baseReportDao.delGridProject(formDTO.getDataList().get(NumConstant.ZERO).getCustomerId(), formDTO.getDataList().get(NumConstant.ZERO).getDateId());
} while (deleteNum > NumConstant.ZERO);
}
List<List<GridProjectFormDTO.DataList>> partition = ListUtils.partition(formDTO.getDataList(), NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseReportDao.insertGridProject(p);
});
} }
/** /**

75
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml

@ -233,4 +233,79 @@
</foreach> </foreach>
</insert> </insert>
<!-- 批量新增网格项目数据 -->
<insert id="insertGridProject">
INSERT INTO fact_grid_project_daily
(ID,
CUSTOMER_ID,
AGENCY_ID,
GRID_ID,
DATE_ID,
WEEK_ID,
MONTH_ID,
QUARTER_ID,
YEAR_ID,
PROJECT_TOTAL,
PENDING_TOTAL,
PENDING_RATIO,
CLOSED_TOTAL,
CLOSED_RATIO,
RESOLVED_TOTAL,
RESOLVED_RATIO,
UNRESOLVED_TOTAL,
UNRESOLVED_RATIO,
PROJECT_INCR,
PENDING_INCR,
CLOSED_INCR,
RESOLVED_INCR,
UNRESOLVED_INCR,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
values
<foreach collection="list" item="i" separator=",">
(
REPLACE(UUID(), '-', ''),
#{i.customerId},
#{i.agencyId},
#{i.gridId},
#{i.dateId},
#{i.weekId},
#{i.monthId},
#{i.quarterId},
#{i.yearId},
#{i.projectTotal},
#{i.pendingTotal},
#{i.pendingRatio},
#{i.closedTotal},
#{i.closedRatio},
#{i.resolvedTotal},
#{i.resolvedRatio},
#{i.unresolvedTotal},
#{i.unresolvedRatio},
#{i.projectIncr},
#{i.pendingIncr},
#{i.closedIncr},
#{i.resolvedIncr},
#{i.unresolvedIncr},
0,
0,
'BASE_REPORT',
NOW(),
'BASE_REPORT',
NOW()
)
</foreach>
</insert>
<!-- 根据dateId删除客户网格项目数据 -->
<delete id="delGridProject">
DELETE FROM fact_grid_project_daily
WHERE customer_id = #{customerId}
AND date_id = #{dateId}
LIMIT 1000
</delete>
</mapper> </mapper>

Loading…
Cancel
Save