Browse Source

年表平均值计算逻辑修改

dev_shibei_match
zhangyongzhangyong 5 years ago
parent
commit
eaa4ec544c
  1. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java
  2. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexCollectServiceImpl.java
  3. 20
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenIndexDataMonthlyDao.xml

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java

@ -62,11 +62,22 @@ public interface ScreenIndexDataMonthlyDao extends BaseDao<ScreenIndexDataMonthl
* 获取今年的各月份的平均值 * 获取今年的各月份的平均值
* @param customerId * @param customerId
* @param yearId * @param yearId
* @param month 做除法运算 * @param monthCount (今年汇总的指数统计的总月数)做除法运算
* @return java.util.List<com.epmet.dto.screencoll.form.IndexDataMonthlyFormDTO> * @return java.util.List<com.epmet.dto.screencoll.form.IndexDataMonthlyFormDTO>
* @Author zhangyong * @Author zhangyong
* @Date 15:51 2020-09-04 * @Date 15:51 2020-09-04
**/ **/
List<IndexDataMonthlyFormDTO> selectListIndexDataMonthlyByYear(@Param("customerId") String customerId, List<IndexDataMonthlyFormDTO> selectListIndexDataMonthlyByYear(@Param("customerId") String customerId,
@Param("yearId") String yearId, @Param("month") String month); @Param("yearId") String yearId, @Param("monthCount") Integer monthCount);
/**
* 统计 今年汇总了几个月的 指数统计
* @param customerId
* @param yearId
* @return java.lang.Integer
* @Author zhangyong
* @Date 18:04 2020-09-11
**/
Integer selectCountIndexDataMonthly(@Param("customerId") String customerId,
@Param("yearId") String yearId);
} }

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexCollectServiceImpl.java

@ -733,7 +733,9 @@ public class FactIndexCollectServiceImpl implements FactIndexCollectService {
* @Date 22:06 2020-09-04 * @Date 22:06 2020-09-04
**/ **/
private void insertIndexDataYear(String monthId, String customerId){ private void insertIndexDataYear(String monthId, String customerId){
List<IndexDataMonthlyFormDTO> monthlyFormList = screenIndexDataMonthlyDao.selectListIndexDataMonthlyByYear(customerId, getYearStr(monthId), getMonthStr(monthId)); // 查询今年,上报了几个月的指数统计
Integer monthCount = screenIndexDataMonthlyDao.selectCountIndexDataMonthly(customerId, getYearStr(monthId));
List<IndexDataMonthlyFormDTO> monthlyFormList = screenIndexDataMonthlyDao.selectListIndexDataMonthlyByYear(customerId, getYearStr(monthId), monthCount);
if (monthlyFormList.size() > NumConstant.ZERO){ if (monthlyFormList.size() > NumConstant.ZERO){
int deleteNum; int deleteNum;
do { do {

20
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenIndexDataMonthlyDao.xml

@ -64,10 +64,10 @@
ORG_ID orgId, ORG_ID orgId,
PARENT_ID parentId, PARENT_ID parentId,
ORG_NAME orgName, ORG_NAME orgName,
SUM(INDEX_TOTAL) / #{month} as indexTotal, SUM(INDEX_TOTAL) / #{monthCount} as indexTotal,
SUM(PARTY_DEV_ABLITY) / #{month} as partyDevAblity, SUM(PARTY_DEV_ABLITY) / #{monthCount} as partyDevAblity,
SUM(SERVICE_ABLITY) / #{month} as serviceAblity, SUM(SERVICE_ABLITY) / #{monthCount} as serviceAblity,
SUM(GOVERN_ABLITY) / #{month} as governAblity SUM(GOVERN_ABLITY) / #{monthCount} as governAblity
FROM screen_index_data_monthly FROM screen_index_data_monthly
WHERE DEL_FLAG = '0' WHERE DEL_FLAG = '0'
AND YEAR_ID = #{yearId} AND YEAR_ID = #{yearId}
@ -75,4 +75,16 @@
GROUP BY ORG_ID GROUP BY ORG_ID
</select> </select>
<select id="selectCountIndexDataMonthly" parameterType="map" resultType="java.lang.Integer">
SELECT
COUNT(1)
FROM(
SELECT
distinct MONTH_ID
FROM screen_index_data_monthly
WHERE DEL_FLAG = '0'
AND YEAR_ID = #{yearId}
AND CUSTOMER_ID = #{customerId}
) monthCount
</select>
</mapper> </mapper>

Loading…
Cancel
Save