diff --git a/irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java b/irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java index 260c93f..86ffa04 100644 --- a/irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java +++ b/irbs.cust.rating/src/main/java/irbs/cust/rating/service/impl/FinanceReportServiceImpl.java @@ -11,16 +11,12 @@ import irbs.cust.rating.jpa.repository.FinanceReportRepository; import irbs.cust.rating.jpa.repository.RatingCompanyCustomerRepository; import irbs.cust.rating.jpa.vo.FinanceReportVo; import irbs.cust.rating.service.FinanceReportService; -import irbs.cust.rating.service.support.Subject; -import irbs.financialTemplate.enums.AccountingStanard; import irbs.financialTemplate.enums.FinancialTemplate; -import irbs.financialTemplate.jpa.vo.MappingFinancialReportVo; import irbs.financialTemplate.jpa.vo.OriginalFinancialReportVo; import irbs.financialTemplate.service.FinancialMappingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.math.BigDecimal; import java.util.*; @Service("financeReportService") @@ -106,24 +102,14 @@ public class FinanceReportServiceImpl extends DaoServiceImpl i) { - ofr = new OriginalFinancialReportVo(); - ofr.setFinancialTemplate(financialTemplateType); - // 判断新旧会计准则 - if (reportList.get(i).getAccountingStandard().equals(AccountingStanard.NEW.name())) { - ofr.setAccountingStanard(AccountingStanard.NEW); - } else { - ofr.setAccountingStanard(AccountingStanard.OLD); - } // 获取财报及数据准备 List reportDataList = financeReportDetailRepository.findByReportId(reportList.get(i).getId()); - Subject subject = getSubject(reportDataList); - ofr.setItemCodes(subject.getCodeList()); - // 转换财报科目 - MappingFinancialReportVo mfr = financialMappingService.getMappingResult(ofr); // 组装新的科目号对应的数据值 - Map dataMap = buildSubjectData(subject.dataMap, mfr.getMappedItemCodes()); +// Map dataMap = buildSubjectData(subject.dataMap, mfr.getMappedItemCodes()); + Map dataMap = getSubject(reportDataList); // 科目数据map中追加该期财报新旧会计准则标识 - dataMap.put("_ACCOUNTING_STANDARD_", ofr.getAccountingStanard().name()); + dataMap.put("_ACCOUNTING_STANDARD_", reportList.get(i).getAccountingStandard()); + dataMap.put("_TEMPLATE_TYPE_", financialTemplateType); result[i] = dataMap; } else { result[i] = null; @@ -132,27 +118,17 @@ public class FinanceReportServiceImpl extends DaoServiceImpl buildSubjectData(Map subjectDataMap, LinkedHashMap mappedMap) { - Map map = new HashMap<>(); - Iterator> it = mappedMap.entrySet().iterator(); - while(it.hasNext()) { - java.util.Map.Entry entry = it.next(); - if (entry.getValue()!=null) { - map.put(entry.getValue(), subjectDataMap.get(entry.getKey())); - } - } - return map; - } // 根据财报数据,获得科目编码集合与科目数据map组装的java类 - public Subject getSubject(List list) throws Exception { - List codeList = new ArrayList<>(); - Map dataMap = new HashMap<>(); + public Map getSubject(List list) throws Exception { + Map dataMap = new HashMap<>(); for (FinanceReportDetail detail: list) { - codeList.add(detail.getProjectCode()); - dataMap.put(detail.getProjectCode(), detail.getProjectValue()); + Double itemValue=null; + if(detail.getProjectValue()!=null){ + itemValue=detail.getProjectValue().doubleValue(); + } + dataMap.put(detail.getProjectCode(), itemValue); } - return new Subject(codeList, dataMap); + return dataMap; } }