diff --git a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java index d705f01..7ba5509 100644 --- a/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/DynamicDataSourceConfig.java @@ -10,12 +10,12 @@ import javax.sql.DataSource; @Configuration public class DynamicDataSourceConfig { -// @Primary -// @Bean("masterDataSource") -// @ConfigurationProperties("spring.datasource.master") -// public DataSource masterDataSource() { -// return DataSourceBuilder.create().build(); -// } + @Primary + @Bean("masterDataSource") + @ConfigurationProperties("spring.datasource.master") + public DataSource masterDataSource() { + return DataSourceBuilder.create().build(); + } @Bean("jiuzhouDataSource") @ConfigurationProperties("spring.datasource.jiuzhou") diff --git a/src/main/java/com/dsic/gj_erp/config/JapConfig.java b/src/main/java/com/dsic/gj_erp/config/JapConfig.java index 40bd37e..a6b5d70 100644 --- a/src/main/java/com/dsic/gj_erp/config/JapConfig.java +++ b/src/main/java/com/dsic/gj_erp/config/JapConfig.java @@ -42,7 +42,7 @@ public class JapConfig { return new DataSourceProperties(); } - @Primary +// @Primary @Bean("jpaDataSource") public DataSource jpaDataSource() { DataSourceProperties manDataSourceProperties = japDataSourceProperties(); @@ -55,8 +55,8 @@ public class JapConfig { } @Bean - public PlatformTransactionManager manTransactionManager() { //4 - EntityManagerFactory factory = manEntityManagerFactory().getObject(); + public PlatformTransactionManager manTransactionManager(LocalContainerEntityManagerFactoryBean manEntityManagerFactory) { //4 + EntityManagerFactory factory = manEntityManagerFactory.getObject(); JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(factory); System.out.println(jpaTransactionManager.isNestedTransactionAllowed()); return jpaTransactionManager; @@ -73,10 +73,10 @@ public class JapConfig { } @Bean - public LocalContainerEntityManagerFactoryBean manEntityManagerFactory() { + public LocalContainerEntityManagerFactoryBean manEntityManagerFactory(DataSource jpaDataSource) { LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); - factory.setDataSource(jpaDataSource()); + factory.setDataSource(jpaDataSource); factory.setPackagesToScan("com.dsic.gj_erp"); factory.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); Properties jpaProperties = new Properties(); @@ -90,14 +90,14 @@ public class JapConfig { } @Bean - public DataSourceInitializer manDataSourceInitializer() {//6 + public DataSourceInitializer manDataSourceInitializer(DataSource jpaDataSource) {//6 DataSourceInitializer dsInitializer = new DataSourceInitializer(); - HikariDataSource dataSource = (HikariDataSource) jpaDataSource(); + HikariDataSource dataSource = (HikariDataSource) jpaDataSource; dataSource.setConnectionTimeout(10000); dataSource.setIdleTimeout(60000); dataSource.setMaximumPoolSize(2000); dataSource.setLeakDetectionThreshold(60000); - dataSource.setMinimumIdle(40); + dataSource.setMinimumIdle(80); dataSource.setMaxLifetime(300000); dsInitializer.setDataSource(dataSource); ResourceDatabasePopulator dbPopulator = new ResourceDatabasePopulator(); diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java index 6a1986c..03f4eb0 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/YdjhImportService.java @@ -172,7 +172,8 @@ public class YdjhImportService extends ServiceImpl { @Transactional(rollbackFor = Exception.class) public void execute(List objList) { HashMap _map = new HashMap<>(); - objList.parallelStream().forEach(item->{ + List addList = new ArrayList<>(); + objList.forEach(item->{ String dcPl=item.getDcPl(); if (item.getDcPl().contains("Q")) { dcPl=item.getDcPl().replace("Q", ""); @@ -254,7 +255,7 @@ public class YdjhImportService extends ServiceImpl { sygdMxes = this.initBySl(item, ljList,dcFd); } - List addList = new ArrayList<>(sygdMxes); + addList.addAll(sygdMxes); if (item.getPkqgjs() != null) { List _sygdMxes = sygdMxes.stream().filter(it -> "7".equals(it.getKw())).collect(Collectors.toList()); @@ -346,10 +347,10 @@ public class YdjhImportService extends ServiceImpl { addList.addAll(list); } } - this.saveBatch(addList); - // ljService.saveBatch(ljList); }); + + this.saveBatch(addList); } private List initBySl(YdjhImport item, List bomList,String dcFd) { diff --git a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java index 35463d2..402691e 100644 --- a/src/main/java/com/dsic/gj_erp/service/sy/SYService.java +++ b/src/main/java/com/dsic/gj_erp/service/sy/SYService.java @@ -149,7 +149,7 @@ public class SYService { * @return 最大单据号(流水号) */ // @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class) - @Transactional + @Transactional(rollbackFor = Exception.class) public String f_getpjh(String zxt,String jg,String bmm){ entityManager.clear(); // 清除缓存 QDmBhdyp bhdy=QDmBhdyp.dmBhdyp; @@ -235,6 +235,7 @@ public class SYService { dmBhsjp.setBmqz(f_qz); dmBhsjp.setBmsxh(f_oxh); dmBhsjpRepository.addBhsjp(dmBhsjp); + entityManager.clear(); if (bmm.equals("APS")){ return f_qz+f_oxh; }