|
@ -17,6 +17,7 @@ import com.epmet.dao.evaluationindex.indexcal.GridScoreDao; |
|
|
import com.epmet.dao.evaluationindex.indexcoll.*; |
|
|
import com.epmet.dao.evaluationindex.indexcoll.*; |
|
|
import com.epmet.dao.evaluationindex.screen.*; |
|
|
import com.epmet.dao.evaluationindex.screen.*; |
|
|
import com.epmet.dto.ScreenCustomerGridDTO; |
|
|
import com.epmet.dto.ScreenCustomerGridDTO; |
|
|
|
|
|
import com.epmet.dto.extract.result.AgencyMonthCountResultDTO; |
|
|
import com.epmet.dto.indexcal.AgencyScoreDTO; |
|
|
import com.epmet.dto.indexcal.AgencyScoreDTO; |
|
|
import com.epmet.dto.indexcal.CalculateCommonFormDTO; |
|
|
import com.epmet.dto.indexcal.CalculateCommonFormDTO; |
|
|
import com.epmet.dto.indexcal.DeptScoreDTO; |
|
|
import com.epmet.dto.indexcal.DeptScoreDTO; |
|
@ -851,8 +852,41 @@ public class FactIndexCollectServiceImpl implements FactIndexCollectService { |
|
|
**/ |
|
|
**/ |
|
|
private void insertIndexDataYear(String monthId, String customerId){ |
|
|
private void insertIndexDataYear(String monthId, String customerId){ |
|
|
// 查询今年,上报了几个月的指数统计
|
|
|
// 查询今年,上报了几个月的指数统计
|
|
|
|
|
|
List<AgencyMonthCountResultDTO> orgIds = screenCustomerAgencyDao.selectAllOrgByCustomerId(customerId); |
|
|
|
|
|
if (CollectionUtils.isEmpty(orgIds)){ |
|
|
|
|
|
throw new RenException("客户下没有查到agencyId,gridId,deptId"); |
|
|
|
|
|
} |
|
|
|
|
|
List<AgencyMonthCountResultDTO> agencyMonthCount = screenIndexDataMonthlyDao.selectMonthCountByOrgId(getYearStr(monthId), orgIds); |
|
|
|
|
|
if (!CollectionUtils.isEmpty(agencyMonthCount)){ |
|
|
|
|
|
agencyMonthCount.forEach(a -> { |
|
|
|
|
|
orgIds.forEach(o -> { |
|
|
|
|
|
if (a.getOrgId().equals(o.getOrgId())){ |
|
|
|
|
|
o.setMonthCount(a.getMonthCount()); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
Integer monthCount = screenIndexDataMonthlyDao.selectCountIndexDataMonthly(customerId, getYearStr(monthId)); |
|
|
Integer monthCount = screenIndexDataMonthlyDao.selectCountIndexDataMonthly(customerId, getYearStr(monthId)); |
|
|
List<IndexDataMonthlyFormDTO> monthlyFormList = screenIndexDataMonthlyDao.selectListIndexDataMonthlyByYear(customerId, getYearStr(monthId), monthCount); |
|
|
List<IndexDataMonthlyFormDTO> monthlyFormList = screenIndexDataMonthlyDao.selectListIndexDataMonthlyByYear(customerId, getYearStr(monthId), monthCount); |
|
|
|
|
|
BigDecimal monthCountBd = new BigDecimal(monthCount); |
|
|
|
|
|
monthlyFormList.forEach(m -> { |
|
|
|
|
|
orgIds.forEach(o -> { |
|
|
|
|
|
if (m.getOrgId().equals(o.getOrgId())){ |
|
|
|
|
|
BigDecimal selfCount = new BigDecimal(o.getMonthCount()); |
|
|
|
|
|
if (o.getMonthCount() == NumConstant.ZERO){ |
|
|
|
|
|
m.setIndexTotal(monthCountBd.multiply(m.getIndexTotal())); |
|
|
|
|
|
m.setPartyDevAblity(monthCountBd.multiply(m.getPartyDevAblity())); |
|
|
|
|
|
m.setServiceAblity(monthCountBd.multiply(m.getServiceAblity())); |
|
|
|
|
|
m.setGovernAblity(monthCountBd.multiply(m.getGovernAblity())); |
|
|
|
|
|
}else { |
|
|
|
|
|
m.setIndexTotal(monthCountBd.multiply(m.getIndexTotal()).divide(selfCount)); |
|
|
|
|
|
m.setPartyDevAblity(monthCountBd.multiply(m.getPartyDevAblity()).divide(selfCount)); |
|
|
|
|
|
m.setServiceAblity(monthCountBd.multiply(m.getServiceAblity()).divide(selfCount)); |
|
|
|
|
|
m.setGovernAblity(monthCountBd.multiply(m.getGovernAblity()).divide(selfCount)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
if (monthlyFormList.size() > NumConstant.ZERO){ |
|
|
if (monthlyFormList.size() > NumConstant.ZERO){ |
|
|
int deleteNum; |
|
|
int deleteNum; |
|
|
do { |
|
|
do { |
|
|