package pwc.taxtech.atms.common.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import pwc.taxtech.atms.dao.*; import pwc.taxtech.atms.invoice.InputInvoiceMapper; import pwc.taxtech.atms.invoice.OutputInvoiceDetailMapper; import pwc.taxtech.atms.invoice.OutputInvoiceMapper; import pwc.taxtech.atms.service.impl.DistributedIdService; import pwc.taxtech.atms.vat.dao.*; import java.util.HashMap; import java.util.Map; //用来获取spring托管的bean @Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext webApplicationContext; public static FormulaAdminMapper formulaAdminMapper; public static PeriodReportMapper reportMapper; public static CellDataMapper cellDataMapper; public static PeriodCellDataMapper periodCellDataMapper; public static DistributedIdService distributedIdService; public static PeriodFormulaBlockMapper formulaBlockMapper; public static PeriodCellTemplateMapper periodCellTemplateMapper; public static ProjectServiceTypeMapper projectServiceTypeMapper; public static PeriodTemplateMapper periodTemplateMapper; public static PeriodStandardAccountMapper periodStandardAccountMapper; public static ProjectDao projectDao; public static GlBalanceMapper glBalanceMapper; public static BalanceMapper balanceMapper; // public static DataSourceMapper dataSourceMapper; public static PeriodDataSourceMapper periodDataSourceMapper; // public static DataSourceDetailMapper dataSourceDetailMapper; public static PeriodDataSourceDetailMapper periodDataSourceDetailMapper; public static PeriodFormulaBlockMapper periodFormulaBlockMapper; public static VatEnterpriseAccountDao vatEnterpriseAccountDao; public static VatEnterpriseAccountMapper vatEnterpriseAccountMapper; public static PeriodEnterpriseAccountMapper periodEnterpriseAccountMapper; public static BalanceStdManualMapper balanceStdManualMapper; public static OutputInvoiceMapper outputInvoiceMapper; public static OutputInvoiceDetailMapper outputInvoiceDetailMapper; public static PeriodTaxRuleSettingMapper periodTaxRuleSettingMapper; public static InputInvoiceDao inputInvoiceDao; public static InputInvoiceMapper inputInvoiceMapper; public static InputVatInvoiceMapper inputVatInvoiceMapper; public static CitAssetsListMapper assetsListMapper; public static ProjectMapper projectMapper; public static CellDataSourceMapper cellDataSourceMapper; public static PeriodCellDataSourceMapper periodCellDataSourceMapper; public static OrganizationMapper organizationMapper; public static EnterpriseAccountSetOrgMapper enterpriseAccountSetOrgMapper; public static AccountMappingMapper accountMappingMapper; public static TrialBalanceMapper trialBalanceMapper; public static AdjustmentTableMapper adjustmentTableMapper; public static TrialBalanceFinalMapper trialBalanceFinalMapper; public static ProfitLossStatementMapper profitLossStatementMapper; public static RevenueConfigMapper revenueConfigMapper; public static RevenueTypeMappingMapper revenueTypeMappingMapper; public static InvoiceRecordMapper invoiceRecordMapper; public static CertifiedInvoicesListMapper certifiedInvoicesListMapper; public static TrialBalanceMappingMapper trialBalanceMappingMapper; public static CashFlowMapper cashFlowMapper; public static BalanceSheetManualMapper balanceSheetManualMapper; public static ProfitLossStatementManualMapper profitLossStatementManualMapper; public static CashFlowManualMapper cashFlowManualMapper; public static BalanceSheetFinalMapper balanceSheetFinalMapper; public static CashFlowFinalMapper cashFlowFinalMapper; public static CitBalanceSheetPrcAdjustMapper citBalanceSheetPrcAdjustMapper; public static CitProfitPrcAdjustMapper citProfitPrcAdjustMapper; public static BalanceSheetMapper balanceSheetMapper; public static Map map = new HashMap<String, Object>(); /** * 获取bean * * @param requiredType * @param <T> * @return */ public static <T> T getBean(Class<T> requiredType) { return SpringContextUtil.webApplicationContext.getBean(requiredType); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { webApplicationContext = applicationContext; formulaAdminMapper = webApplicationContext.getBean(FormulaAdminMapper.class); reportMapper = webApplicationContext.getBean(PeriodReportMapper.class); cellDataMapper = webApplicationContext.getBean(CellDataMapper.class); periodCellDataMapper = webApplicationContext.getBean(PeriodCellDataMapper.class); distributedIdService = webApplicationContext.getBean(DistributedIdService.class); formulaBlockMapper = webApplicationContext.getBean(PeriodFormulaBlockMapper.class); periodCellTemplateMapper = webApplicationContext.getBean(PeriodCellTemplateMapper.class); projectServiceTypeMapper = webApplicationContext.getBean(ProjectServiceTypeMapper.class); periodTemplateMapper = webApplicationContext.getBean(PeriodTemplateMapper.class); // periodStandardAccountMapper = webApplicationContext.getBean(PeriodStandardAccountMapper.class); periodStandardAccountMapper = webApplicationContext.getBean(PeriodStandardAccountMapper.class); projectDao = webApplicationContext.getBean(ProjectDao.class); balanceMapper = webApplicationContext.getBean(BalanceMapper.class); // dataSourceMapper = webApplicationContext.getBean(DataSourceMapper.class); periodDataSourceMapper = webApplicationContext.getBean(PeriodDataSourceMapper.class); // dataSourceDetailMapper = webApplicationContext.getBean(DataSourceDetailMapper.class); periodDataSourceDetailMapper = webApplicationContext.getBean(PeriodDataSourceDetailMapper.class); periodFormulaBlockMapper = webApplicationContext.getBean(PeriodFormulaBlockMapper.class); vatEnterpriseAccountDao = webApplicationContext.getBean(VatEnterpriseAccountDao.class); vatEnterpriseAccountMapper = webApplicationContext.getBean(VatEnterpriseAccountMapper.class); periodEnterpriseAccountMapper = webApplicationContext.getBean(PeriodEnterpriseAccountMapper.class); balanceStdManualMapper = webApplicationContext.getBean(BalanceStdManualMapper.class); // outputVatInvoiceMapper = webApplicationContext.getBean(OutputVatInvoiceMapper.class); outputInvoiceMapper = webApplicationContext.getBean(OutputInvoiceMapper.class); outputInvoiceDetailMapper = webApplicationContext.getBean(OutputInvoiceDetailMapper.class); periodTaxRuleSettingMapper = webApplicationContext.getBean(PeriodTaxRuleSettingMapper.class); // inputVatInvoiceDao = webApplicationContext.getBean(InputVatInvoiceDao.class); inputVatInvoiceMapper = webApplicationContext.getBean(InputVatInvoiceMapper.class); inputInvoiceDao = webApplicationContext.getBean(InputInvoiceDao.class); inputInvoiceMapper = webApplicationContext.getBean(InputInvoiceMapper.class); assetsListMapper = webApplicationContext.getBean(CitAssetsListMapper.class); projectMapper = webApplicationContext.getBean(ProjectMapper.class); cellDataSourceMapper = webApplicationContext.getBean(CellDataSourceMapper.class); periodCellDataSourceMapper = webApplicationContext.getBean(PeriodCellDataSourceMapper.class); organizationMapper = webApplicationContext.getBean(OrganizationMapper.class); enterpriseAccountSetOrgMapper = webApplicationContext.getBean(EnterpriseAccountSetOrgMapper.class); accountMappingMapper = webApplicationContext.getBean(AccountMappingMapper.class); glBalanceMapper = webApplicationContext.getBean(GlBalanceMapper.class); trialBalanceMapper = webApplicationContext.getBean(TrialBalanceMapper.class); adjustmentTableMapper = webApplicationContext.getBean(AdjustmentTableMapper.class); trialBalanceFinalMapper = webApplicationContext.getBean(TrialBalanceFinalMapper.class); profitLossStatementMapper = webApplicationContext.getBean(ProfitLossStatementMapper.class); cashFlowMapper = webApplicationContext.getBean(CashFlowMapper.class); balanceSheetManualMapper = webApplicationContext.getBean(BalanceSheetManualMapper.class); profitLossStatementManualMapper = webApplicationContext.getBean(ProfitLossStatementManualMapper.class); cashFlowManualMapper = webApplicationContext.getBean(CashFlowManualMapper.class); balanceSheetFinalMapper = webApplicationContext.getBean(BalanceSheetFinalMapper.class); cashFlowFinalMapper = webApplicationContext.getBean(CashFlowFinalMapper.class); citBalanceSheetPrcAdjustMapper = webApplicationContext.getBean(CitBalanceSheetPrcAdjustMapper.class); citProfitPrcAdjustMapper = webApplicationContext.getBean(CitProfitPrcAdjustMapper.class); balanceSheetMapper = webApplicationContext.getBean(BalanceSheetMapper.class); revenueTypeMappingMapper = webApplicationContext.getBean(RevenueTypeMappingMapper.class); invoiceRecordMapper = webApplicationContext.getBean(InvoiceRecordMapper.class); certifiedInvoicesListMapper = webApplicationContext.getBean(CertifiedInvoicesListMapper.class); trialBalanceMappingMapper = webApplicationContext.getBean(TrialBalanceMappingMapper.class); revenueConfigMapper = webApplicationContext.getBean(RevenueConfigMapper.class); /* map.put("balance_sheet", balanceMapper); map.put("profit_loss_statement",profitLossStatementMapper); map.put("cash_flow", cashFlowMapper); map.put("balance_sheet_manual", balanceSheetManualMapper); map.put("profit_loss_statement_manual", profitLossStatementManualMapper); map.put("cash_flow_manual", cashFlowManualMapper); map.put("balance_sheet_final", balanceSheetFinalMapper); map.put("profit_loss_statement_final", profitLossStatementManualMapper); map.put("cash_flow_final", cashFlowFinalMapper); map.put("cit_balance_sheet_prc_adjust", citBalanceSheetPrcAdjustMapper); map.put("cit_profit_prc_adjust", citProfitPrcAdjustMapper);*/ } }