From ffb382ba34aca2dce08ab9e4ef09adc946cf23c8 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期日, 27 四月 2025 17:26:31 +0800 Subject: [PATCH] 双数据源 --- src/main/java/com/zy/common/config/ds/DataSourceType.java | 32 ++ src/main/resources/config.properties | 10 src/main/java/com/zy/common/config/ds/DataSourceConfig.java | 49 ++++ src/main/java/com/zy/nc/vo/SaleOutHeadVO.java | 85 +++++++ src/main/java/com/zy/asrs/task/OverYearLogScheduler.java | 2 src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 2 pom.xml | 3 src/main/java/com/zy/common/config/ds/DynamicDataSource.java | 11 + src/main/java/com/zy/asrs/task/PlcLogScheduler.java | 2 src/main/java/com/zy/asrs/task/BareBoardScheduler.java | 2 src/main/java/com/zy/common/config/ds/DataSourceAop.java | 27 ++ src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java | 32 ++ src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java | 38 +++ src/main/java/com/zy/asrs/task/ErrorStockScheduler.java | 2 src/main/resources/mapper2/test | 0 src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 2 src/main/java/com/zy/nc/vo/SaleOutBodyVO.java | 253 +++++++++++++++++++++++ src/main/resources/application.yml | 20 + src/main/java/com/zy/asrs/task/NotifyLogScheduler.java | 2 src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java | 35 +++ 20 files changed, 587 insertions(+), 22 deletions(-) diff --git a/pom.xml b/pom.xml index 6151db3..2697c69 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ <properties> <java.version>1.8</java.version> <cool.version>3.4.0</cool.version> - <mysql-driver.version>5.1.47</mysql-driver.version> + <mysql-driver.version>8.0.28</mysql-driver.version> <mybatis-plus.version>2.3.2</mybatis-plus.version> <fastjson.version>1.2.58</fastjson.version> <springfox.version>2.7.0</springfox.version> @@ -50,6 +50,7 @@ <artifactId>mysql-connector-java</artifactId> <version>${mysql-driver.version}</version> </dependency> + <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> diff --git a/src/main/java/com/zy/asrs/task/BareBoardScheduler.java b/src/main/java/com/zy/asrs/task/BareBoardScheduler.java index 498483b..001c62b 100644 --- a/src/main/java/com/zy/asrs/task/BareBoardScheduler.java +++ b/src/main/java/com/zy/asrs/task/BareBoardScheduler.java @@ -29,7 +29,7 @@ * 鑷姩璋冪┖鏉垮嚭搴� * */ @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ if (slaveWmsParameterProperties.isAutomaticFillingBoardStaNosBoolean()){ Config config = configService.selectConfigByCode("AutomaticFillingBoard"); if (!Cools.isEmpty(config) && !Cools.isEmpty(config.getValue()) && config.getValue().equals("true")){ diff --git a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java index 917cfc4..4d79614 100644 --- a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java +++ b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java @@ -20,7 +20,7 @@ private ErrorStockHandler errorStockHandler; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ ReturnT<String> returnT = errorStockHandler.start(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); diff --git a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java index 93799d9..c69354e 100644 --- a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java @@ -20,7 +20,7 @@ private NotifyLogHandler notifyLogHandler; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ ReturnT<String> returnT = notifyLogHandler.start(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); diff --git a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java index 2865cc3..53b4408 100644 --- a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java @@ -20,7 +20,7 @@ private OverYearLogHandler overYearLogHandler; @Scheduled(cron = "0 0 1 * * ? ") - private void execute(){ + public void execute(){ ReturnT<String> returnT = overYearLogHandler.start(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); diff --git a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java index 708392f..57517fe 100644 --- a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java @@ -20,7 +20,7 @@ private PlcLogHandler plcLogHandler; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ ReturnT<String> returnT = plcLogHandler.start(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java index 06a0624..ee29a50 100644 --- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java @@ -24,7 +24,7 @@ private WrkMastService wrkMastService; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData(); if (wrkMasts.isEmpty()) { return; diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java index 10bffd4..ebfb840 100644 --- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java @@ -27,7 +27,7 @@ private WorkMastHandler workMastHandler; @Scheduled(cron = "0/3 * * * * ? ") - private void execute(){ + public void execute(){ List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); if (wrkMasts.isEmpty()) { return; diff --git a/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java b/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java new file mode 100644 index 0000000..d8b8519 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java @@ -0,0 +1,38 @@ +package com.zy.common.config.ds; + +import org.springframework.beans.factory.InitializingBean; +import org.springframework.jdbc.datasource.AbstractDataSource; +import org.springframework.util.Assert; + +import javax.sql.DataSource; +import java.util.Map; + +public abstract class AbstractRoutingDataSource extends AbstractDataSource implements InitializingBean { + //澶氭暟鎹簮map闆嗗悎 + private Map<Object, Object> targetDataSources; + //榛樿鏁版嵁婧� + private Object defaultTargetDataSource; + //鍏跺疄灏辨槸targetDataSources锛屽悗闈㈢殑afterPropertiesSet锛堬級鏂规硶浼氬皢targetDataSources璧嬪�肩粰resolvedDataSources + private Map<Object, DataSource> resolvedDataSources; + private DataSource resolvedDefaultDataSource; + + public void setTargetDataSources(Map<Object, Object> targetDataSources) { + this.targetDataSources = targetDataSources; + } + + protected DataSource determineTargetDataSource() { + Assert.notNull(this.resolvedDataSources, "DataSource router not initialized"); + Object lookupKey = this.determineCurrentLookupKey(); + DataSource dataSource = (DataSource) this.resolvedDataSources.get(lookupKey); + if (dataSource == null && ( lookupKey == null)) { + dataSource = this.resolvedDefaultDataSource; + } + if (dataSource == null) { + throw new IllegalStateException("Cannot determine target DataSource for lookup key [" + lookupKey + "]"); + } else { + return dataSource; + } + } + + protected abstract Object determineCurrentLookupKey(); +} \ No newline at end of file diff --git a/src/main/java/com/zy/common/config/ds/DataSourceAop.java b/src/main/java/com/zy/common/config/ds/DataSourceAop.java new file mode 100644 index 0000000..98c2d56 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/DataSourceAop.java @@ -0,0 +1,27 @@ +package com.zy.common.config.ds; + +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.springframework.stereotype.Component; + +@Aspect +@Component +public class DataSourceAop { + @Before("execution(* com.zy.asrs..*(..))") + public void setDataSource2test01() { + System.err.println("test01涓氬姟"); + DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST01); + } + + @Before("execution(* com.zy.system..*(..))") + public void setDataSource2test012() { + System.err.println("test01涓氬姟"); + DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST01); + } + + @Before("execution(* com.zy.nc..*(..))") + public void setDataSource2test02() { + System.err.println("test02涓氬姟"); + DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST02); + } +} diff --git a/src/main/java/com/zy/common/config/ds/DataSourceConfig.java b/src/main/java/com/zy/common/config/ds/DataSourceConfig.java new file mode 100644 index 0000000..fc406a7 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/DataSourceConfig.java @@ -0,0 +1,49 @@ +package com.zy.common.config.ds; + +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import javax.sql.DataSource; + +import static com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER; + +@Configuration +public class DataSourceConfig { + + @Value("${other.datasource.jdbc-url}") + private String url; + @Value("${other.datasource.username}") + private String username; + @Value("${other.datasource.password}") + private String password; + @Value("${other.datasource.driver-class-name}") + private String driverClassName; + + // 涓绘暟鎹簮 + @Bean(name = "dataSource") + @Primary + @ConfigurationProperties(prefix = "spring.datasource") + public DataSource primaryDataSource() { + return DataSourceBuilder.create().build(); + } + + // 娆℃暟鎹簮 + @Bean(name = "slaveDataSource") + public DataSource secondaryDataSource() { + System.out.println(driverClassName); + return DataSourceBuilder.create() + .driverClassName(driverClassName) + .url(url) + .username(username) + .password(password) + .build(); + + } + +} diff --git a/src/main/java/com/zy/common/config/ds/DataSourceType.java b/src/main/java/com/zy/common/config/ds/DataSourceType.java new file mode 100644 index 0000000..d64f307 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/DataSourceType.java @@ -0,0 +1,32 @@ +package com.zy.common.config.ds; + +public class DataSourceType { + + public enum DataBaseType { + TEST01, TEST02 + } + + // 浣跨敤ThreadLocal淇濊瘉绾跨▼瀹夊叏 + private static final ThreadLocal<DataBaseType> TYPE = new ThreadLocal<DataBaseType>(); + + // 寰�褰撳墠绾跨▼閲岃缃暟鎹簮绫诲瀷 + public static void setDataBaseType(DataBaseType dataBaseType) { + if (dataBaseType == null) { + throw new NullPointerException(); + } + System.err.println("[灏嗗綋鍓嶆暟鎹簮鏀逛负]锛�" + dataBaseType); + TYPE.set(dataBaseType); + } + + // 鑾峰彇鏁版嵁婧愮被鍨� + public static DataBaseType getDataBaseType() { + DataBaseType dataBaseType = TYPE.get() == null ? DataBaseType.TEST01 : TYPE.get(); + System.err.println("[鑾峰彇褰撳墠鏁版嵁婧愮殑绫诲瀷涓篯锛�" + dataBaseType); + return dataBaseType; + } + + // 娓呯┖鏁版嵁绫诲瀷 + public static void clearDataBaseType() { + TYPE.remove(); + } +} diff --git a/src/main/java/com/zy/common/config/ds/DynamicDataSource.java b/src/main/java/com/zy/common/config/ds/DynamicDataSource.java new file mode 100644 index 0000000..a0e228c --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/DynamicDataSource.java @@ -0,0 +1,11 @@ +package com.zy.common.config.ds; + +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; + +public class DynamicDataSource extends AbstractRoutingDataSource { + @Override + protected Object determineCurrentLookupKey() { + DataSourceType.DataBaseType dataBaseType = DataSourceType.getDataBaseType(); + return dataBaseType; + } +} diff --git a/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java b/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java new file mode 100644 index 0000000..f6f5cb3 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java @@ -0,0 +1,35 @@ +package com.zy.common.config.ds; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; + +import javax.sql.DataSource; + +@Configuration +@MapperScan(basePackages = {"com.zy.asrs.*.*", "com.zy.system.*.*"}, sqlSessionFactoryRef = "primarySqlSessionFactory") +public class PrimaryDataSourceConfig { + + @Bean(name = "primarySqlSessionFactory") + @Primary + public SqlSessionFactory primarySqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + // 璁剧疆MyBatis鐨凪apper XML鏂囦欢璺緞 + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() + .getResources("classpath:mapper/*.xml")); + return sessionFactory.getObject(); + } + + @Bean(name = "transactionManager") + @Primary + public DataSourceTransactionManager primaryTransactionManager(@Qualifier("dataSource") DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } +} diff --git a/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java new file mode 100644 index 0000000..b03cd82 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java @@ -0,0 +1,32 @@ +package com.zy.common.config.ds; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; + +import javax.sql.DataSource; + +@Configuration +@MapperScan(basePackages = "com.zy.nc", sqlSessionFactoryRef = "secondarySqlSessionFactory") +public class SecondaryDataSourceConfig { + + @Bean(name = "secondarySqlSessionFactory") + public SqlSessionFactory secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + // 璁剧疆MyBatis鐨凪apper XML鏂囦欢璺緞 + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() + .getResources("classpath:mapper2/*.xml")); + return sessionFactory.getObject(); + } + + @Bean(name = "secondaryTransactionManager") + public DataSourceTransactionManager secondaryTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } +} diff --git a/src/main/java/com/zy/nc/vo/SaleOutBodyVO.java b/src/main/java/com/zy/nc/vo/SaleOutBodyVO.java index c09ae17..cc8e678 100644 --- a/src/main/java/com/zy/nc/vo/SaleOutBodyVO.java +++ b/src/main/java/com/zy/nc/vo/SaleOutBodyVO.java @@ -1,4 +1,257 @@ package com.zy.nc.vo; +import lombok.Data; + +@Data public class SaleOutBodyVO { + // 蹇呭~瀛楁 + private String csourcebillbid; // 鏉ユ簮鍗曟嵁琛ㄤ綋涓婚敭 + private String csourcebillhid; // 鏉ユ簮鍗曟嵁琛ㄥご涓婚敭 + private String csourcetype; // 鏉ユ簮鍗曟嵁绫诲瀷 + private Double nnum; // 瀹炲彂涓绘暟閲� + + // 鍙�夊瓧娈� + private Boolean badvfeeflag; // 浠e灚杩愯垂 + private Boolean bbarcodeclose; // 鍗曟嵁琛屾槸鍚︽潯鐮佸叧闂� + private Boolean bcloseordflag; // 鍑哄簱鍏抽棴 + private Boolean binvoiceflag; // 寮�绁� + private Boolean blendoutflag; // 鍊熷嚭杞攢鍞� + private Boolean bonroadflag; // 鍦ㄩ�� + private Boolean breturnprofit; // 杩斿埄 + private Boolean bsafeprice; // 浠蜂繚 + private Boolean bsample; // 鏍峰搧 + private Boolean bsourcelargess; // 涓婃父璧犲搧琛� + private Boolean btou8rm; // 宸蹭笅鍙戦浂鍞� + private Boolean btranendflag; // 杩愯緭鍏抽棴 + private Boolean bwastageflag; // 绛炬敹 + private String casscustid; // 瀹㈡埛 + private String castunitid; // 鍗曚綅 + private String cbodytranstypecode; // 鍑哄叆搴撶被鍨� + private String cbodywarehouseid; // 搴撳瓨浠撳簱 + private String ccorrespondbid; // 瀵瑰簲鍏ュ簱鍗曟嵁琛ㄤ綋涓婚敭 + private String ccorrespondcode; // 瀵瑰簲鍏ュ簱鍗曞崟鎹彿 + private String ccorrespondhid; // 瀵瑰簲鍏ュ簱鍗曚富閿� + private String ccorrespondrowno; // 瀵瑰簲鍏ュ簱鍗曡鍙� + private String ccorrespondtranstype; // 瀵瑰簲鍏ュ簱鍗曚氦鏄撶被鍨� + private String ccorrespondtype; // 瀵瑰簲鍏ュ簱鍗曠被鍨� + private String ccostobject; // 鎴愭湰瀵硅薄 + private String ccurrencyid; // 鏈綅甯� + private String ccustmaterialid; // 瀹㈡埛鐗╂枡鐮� + private String cdelivery_bbid; // 鍙戣揣鍗曟姤妫�鍗曟嵁涓婚敭 + private String cffileid; // 鐗瑰緛鐮� + private String cfirstbillbid; // 婧愬ご鍗曟嵁琛ㄤ綋涓婚敭 + private String cfirstbilldate; // 婧愬ご鍗曟嵁鏃ユ湡 + private String cfirstbillhid; // 婧愬ご鍗曟嵁琛ㄥご涓婚敭 + private String cfirsttranstype; // 婧愬ご浜ゆ槗绫诲瀷 + private String cfirsttype; // 婧愬ご鍗曟嵁绫诲瀷 + private String cgeneralbid; // 鍑哄簱鍗曡〃浣撲富閿� + private String cglobalcurrencyid; // 鍏ㄥ眬鏈綅甯� + private String cgroupcurrencyid; // 闆嗗洟鏈綅甯� + private String cinvoicecustid; // 寮�绁ㄥ鎴� + private String cioliabilityoid; // 鍙戣揣鍒╂鼎涓績 + private String cioliabilityvid; // 鍙戣揣鍒╂鼎涓績 + private String cliabilityoid; // 缁撶畻鍒╂鼎涓績 + private String cliabilityvid; // 缁撶畻鍒╂鼎涓績 + private String clocationid; // 璐т綅 + private String cmaterialoid; // 鐗╂枡 + private String cmaterialvid; // 鐗╂枡缂栫爜 + private String corigareaid; // 鍘熶骇鍦板尯 + private String corigcountryid; // 鍘熶骇鍥� + private String corigcurrencyid; // 甯佺 + private String cprodlineid; // 浜у搧绾� + private String cproductorid; // 鐢熶骇鍘傚晢 + private String cprojectid; // 椤圭洰 + private String cqtunitid; // 鎶ヤ环鍗曚綅 + private String cqualitylevelid; // 璐ㄩ噺绛夌骇 + private String creceieveid; // 鏀惰揣瀹㈡埛 + private String creceiveareaid; // 鏀惰揣鍦板尯 + private String creceivepointid; // 鏀惰揣鍦扮偣 + private String crowno; // 琛屽彿 + private String cselastunitid; // 閫夋嫨鎷嗚В鍗曚綅 + private String csignwastbid; // 鍑哄叆搴撳崟鍏跺畠鏉ユ簮鍗曟嵁琛屼富閿� + private String csignwasthid; // 鍑哄叆搴撳崟鍏跺畠鏉ユ簮鍗曟嵁涓婚敭 + private String csignwasttype; // 鍑哄叆搴撳崟鍏跺畠鏉ユ簮绫诲瀷 + private String csnqualitylevelid; // 搴忓垪鍙疯川閲忕瓑绾� + private String csnunitid; // 搴忓垪鍙峰崟浣� + private String csourcebilldate; // 鏉ユ簮鍗曟嵁鏃ユ湡 + private String csourcematerialoid; // 鏉ユ簮鍗曟嵁鐗╂枡 + private String csourcetranstype; // 鏉ユ簮浜ゆ槗绫诲瀷 + private String csourcewastbid; // 鏉ユ簮閫旀崯鍗曟嵁琛ㄤ綋涓婚敭 + private String csourcewasthid; // 鏉ユ簮閫旀崯鍗曟嵁涓婚敭 + private String csourcewasttranstype; // 鏉ユ簮閫旀崯浜ゆ槗绫诲瀷 + private String csourcewasttype; // 鏉ユ簮閫旀崯鍗曟嵁绫诲瀷 + private String csrc2billbid; // 鍏朵粬鏉ユ簮鍗曡涓婚敭 + private String csrc2billhid; // 鍏朵粬鏉ユ簮鍗曚富閿� + private String csrc2billtype; // 鍏朵粬鏉ユ簮鍗曟嵁绫诲瀷缂栫爜 + private String csrc2transtype; // 鍏朵粬鏉ユ簮浜ゆ槗绫诲瀷缂栫爜 + private String csrcmaterialoid; // 鏉ユ簮鐗╂枡 + private String csrcmaterialvid; // 鏉ユ簮鐗╂枡缂栫爜 + private String cstateid; // 搴撳瓨鐘舵�� + private String csumid; // VMI姹囨�� + private String ctaxcodeid; // 绋庣爜 + private String ctplcustomerid; // 璐т富瀹㈡埛 + private String cunitid; // 涓诲崟浣� + private String cvendorid; // 渚涘簲鍟� + private String cvmivenderid; // 瀵勫瓨渚涘簲鍟� + private String dbizdate; // 鍑哄簱鏃ユ湡 + private String ddeliverdate; // 瑕佹眰鏀惰揣鏃ユ湡 + private String dinbounddate; // 棣栨鍏ュ簱鏃ユ湡 + private String dproducedate; // 鐢熶骇鏃ユ湡 + private String dvalidate; // 澶辨晥鏃ユ湡 + private Integer fbillrowflag; // 閰嶅鏍囧織 + private Boolean flargess; // 璧犲搧 + private Integer ftaxtypeflag; // 鎵g◣绫诲埆 + private Integer ibcversion; // 鎵规鐗堟湰 + private Integer idesatype; // 鎷嗚В绫诲瀷 + private Double naccumoutbacknum; // 绱鍑哄簱閫�鍥炰富鏁伴噺 + private Double naccumoutsignnum; // 绱绛炬敹涓绘暟閲� + private Double naccumvminum; // 绱姹囨�诲尮閰嶄富鏁伴噺 + private Double naccumwastnum; // 绱閫旀崯涓绘暟閲� + private Double nassistnum; // 瀹炲彂鏁伴噺 + private Double nbarcodenum; // 鏉$爜涓绘暟閲� + private Double nbdiscountrate; // 鏁村崟鎶樻墸 + private Double ncaltaxmny; // 璁$◣閲戦 + private Double nchangestdrate; // 鎶樻湰姹囩巼 + private Double ncorrespondastnum; // 绱鍑哄簱鏁伴噺 + private Double ncorrespondgrsnum; // 绱鍑哄簱姣涢噸涓绘暟閲� + private Double ncorrespondnum; // 绱鍑哄簱涓绘暟閲� + private Double ncostmny; // 閲戦 + private Double ncostprice; // 鍗曚环 + private Double ncountnum; // 绠辨暟 + private Double nglobalexchgrate; // 鍏ㄥ眬鏈綅甯佹眹鐜� + private Double nglobalmny; // 鍏ㄥ眬鏈竵鏃犵◣閲戦 + private Double nglobaltaxmny; // 鍏ㄥ眬鏈竵浠风◣鍚堣 + private Double ngrossnum; // 姣涢噸涓绘暟閲� + private Double ngroupexchgrate; // 闆嗗洟鏈綅甯佹眹鐜� + private Double ngroupmny; // 闆嗗洟鏈竵鏃犵◣閲戦 + private Double ngrouptaxmny; // 闆嗗洟鏈竵浠风◣鍚堣 + private Double ninvoicemny; // 鍙紑绁ㄩ噾棰� + private Double ninvoicenum; // 鍙紑绁ㄦ暟閲� + private Double nitemdiscountrate; // 鍗曞搧鎶樻墸 + private Double nmny; // 鏈竵鏃犵◣閲戦 + private Double nnetprice; // 涓绘湰甯佹棤绋庡噣浠� + private Double norigmny; // 鏃犵◣閲戦 + private Double norignetprice; // 涓绘棤绋庡噣浠� + private Double norigprice; // 涓绘棤绋庡崟浠� + private Double norigtaxmny; // 浠风◣鍚堣 + private Double norigtaxnetprice; // 涓诲惈绋庡噣浠� + private Double norigtaxprice; // 涓诲惈绋庡崟浠� + private Double npiece; // 浠舵暟 + private Double nplannedmny; // 璁″垝閲戦 + private Double nplannedprice; // 璁″垝鍗曚环 + private Double nprice; // 涓绘湰甯佹棤绋庡崟浠� + private Double nqtnetprice; // 鏈竵鏃犵◣鍑�浠� + private Double nqtorignetprice; // 鏃犵◣鍑�浠� + private Double nqtorigprice; // 鏃犵◣鍗曚环 + private Double nqtorigtaxnetprc; // 鎶ヤ环鍗曚綅鍚◣鍑�浠� + private Double nqtorigtaxnetprice; // 鍚◣鍑�浠� + private Double nqtorigtaxprice; // 鍚◣鍗曚环 + private Double nqtprice; // 鏈竵鏃犵◣鍗曚环 + private Double nqttaxnetprice; // 鏈竵鍚◣鍑�浠� + private Double nqttaxprice; // 鏈竵鍚◣鍗曚环 + private Double nqtunitnum; // 鎶ヤ环鏁伴噺 + private Double nreplenishednum; // 绱閫�璐т富鏁伴噺 + private Double nrushnum; // 绱瀵瑰啿涓绘暟閲� + private Double nshouldassistnum; // 搴斿彂鏁伴噺 + private Double nshouldnum; // 搴斿彂涓绘暟閲� + private Double nsignnum; // 绱寮�绁ㄤ富鏁伴噺 + private Double ntarenum; // 鐨噸涓绘暟閲� + private Double ntax; // 绋庨 + private Double ntaxmny; // 鏈竵浠风◣鍚堣 + private Double ntaxnetprice; // 涓绘湰甯佸惈绋庡噣浠� + private Double ntaxprice; // 涓绘湰甯佸惈绋庡崟浠� + private Double ntaxrate; // 绋庣巼 + private Double ntotaltrannum; // 绱杩愯緭涓绘暟閲� + private Double nvolume; // 浣撶Н + private Double nweight; // 閲嶉噺 + private String pk_batchcode; // 鎵规涓婚敭 + private String pk_group; // 闆嗗洟 + private String pk_measware; // 璁¢噺鍣ㄥ叿 + private String pk_org; // 搴撳瓨缁勭粐鏈�鏂扮増鏈� + private String pk_org_v; // 搴撳瓨缁勭粐 + private String pk_packsort; // 鍖呰绫诲瀷 + private String pk_returnreason; // 閫�璐у師鍥� + private String pk_serialcode; // 搴忓垪鍙蜂富閿� + private String tchecktime; // 妫�楠屾椂闂� + private String tsourcebbts; // 鏉ユ簮鍙戣揣鍗曟姤妫�鍗曟椂闂存埑 + private String tsourcebodyts; // 鏉ユ簮琛ㄤ綋鏃堕棿鎴� + private String tsourceheadts; // 鏉ユ簮琛ㄥご鏃堕棿鎴� + private String vbatchcode; // 鎵规鍙� + private String vbatchcodenote; // 鎵规澶囨敞 + private String vbcdef1; // 鎵规鑷畾涔夐」1 + private String vbcdef10; // 鎵规鑷畾涔夐」10 + private String vbcdef11; // 鎵规鑷畾涔夐」11 + private String vbcdef12; // 鎵规鑷畾涔夐」12 + private String vbcdef13; // 鎵规鑷畾涔夐」13 + private String vbcdef14; // 鎵规鑷畾涔夐」14 + private String vbcdef15; // 鎵规鑷畾涔夐」15 + private String vbcdef16; // 鎵规鑷畾涔夐」16 + private String vbcdef17; // 鎵规鑷畾涔夐」17 + private String vbcdef18; // 鎵规鑷畾涔夐」18 + private String vbcdef19; // 鎵规鑷畾涔夐」19 + private String vbcdef2; // 鎵规鑷畾涔夐」2 + private String vbcdef20; // 鎵规鑷畾涔夐」20 + private String vbcdef3; // 鎵规鑷畾涔夐」3 + private String vbcdef4; // 鎵规鑷畾涔夐」4 + private String vbcdef5; // 鎵规鑷畾涔夐」5 + private String vbcdef6; // 鎵规鑷畾涔夐」6 + private String vbcdef7; // 鎵规鑷畾涔夐」7 + private String vbcdef8; // 鎵规鑷畾涔夐」8 + private String vbcdef9; // 鎵规鑷畾涔夐」9 + private String vbdef1; // 琛ㄤ綋鑷畾涔夐」1 + private String vbdef10; // 琛ㄤ綋鑷畾涔夐」10 + private String vbdef11; // 琛ㄤ綋鑷畾涔夐」11 + private String vbdef12; // 琛ㄤ綋鑷畾涔夐」12 + private String vbdef13; // 琛ㄤ綋鑷畾涔夐」13 + private String vbdef14; // 琛ㄤ綋鑷畾涔夐」14 + private String vbdef15; // 琛ㄤ綋鑷畾涔夐」15 + private String vbdef16; // 琛ㄤ綋鑷畾涔夐」16 + private String vbdef17; // 琛ㄤ綋鑷畾涔夐」17 + private String vbdef18; // 琛ㄤ綋鑷畾涔夐」18 + private String vbdef19; // 琛ㄤ綋鑷畾涔夐」19 + private String vbdef2; // 琛ㄤ綋鑷畾涔夐」2 + private String vbdef20; // 琛ㄤ綋鑷畾涔夐」20 + private String vbdef3; // 琛ㄤ綋鑷畾涔夐」3 + private String vbdef4; // 琛ㄤ綋鑷畾涔夐」4 + private String vbdef5; // 琛ㄤ綋鑷畾涔夐」5 + private String vbdef6; // 琛ㄤ綋鑷畾涔夐」6 + private String vbdef7; // 琛ㄤ綋鑷畾涔夐」7 + private String vbdef8; // 琛ㄤ綋鑷畾涔夐」8 + private String vbdef9; // 琛ㄤ綋鑷畾涔夐」9 + private String vbillbarcode; // 鍗曟嵁鏉$爜 + private String vbilltypeu8rm; // 鏉ヨ嚜浜庨浂鍞箣鍗曟嵁绫诲瀷 + private String vchangerate; // 鎹㈢畻鐜� + private String vexigencybid; // 绱ф�ユ斁琛岀敵璇峰崟琛屼富閿� + private String vexigencycode; // 绱ф�ユ斁琛岀敵璇峰崟鍙� + private String vexigencyhid; // 绱ф�ユ斁琛岀敵璇峰崟涓婚敭 + private String vexigencyrowno; // 绱ф�ユ斁琛岀敵璇峰崟琛屽彿 + private String vexigencytype; // 绱ф�ユ斁琛屽崟鎹被鍨� + private String vfirstbillcode; // 婧愬ご鍗曟嵁鍙� + private String vfirstrowno; // 婧愬ご鍗曟嵁琛屽彿 + private String vfree1; // 鑷敱杈呭姪灞炴��1 + private String vfree10; // 鑷敱杈呭姪灞炴��10 + private String vfree2; // 鑷敱杈呭姪灞炴��2 + private String vfree3; // 鑷敱杈呭姪灞炴��3 + private String vfree4; // 鑷敱杈呭姪灞炴��4 + private String vfree5; // 鑷敱杈呭姪灞炴��5 + private String vfree6; // 鑷敱杈呭姪灞炴��6 + private String vfree7; // 鑷敱杈呭姪灞炴��7 + private String vfree8; // 鑷敱杈呭姪灞炴��8 + private String vfree9; // 鑷敱杈呭姪灞炴��9 + private String vnotebody; // 琛屽娉� + private String vpickdetailbid; // 鎷i厤鏄庣粏琛� + private String vpickdetailrowno; // 鎷i厤鏄庣粏琛屽彿 + private String vqtunitrate; // 鎶ヤ环鎹㈢畻鐜� + private String vreceiveaddress; // 鏀惰揣鍦板潃 + private String vserialcode; // 搴忓垪鍙� + private String vsignwastcode; // 鍑哄叆搴撳崟鍏跺畠鏉ユ簮鍗曟嵁鍙� + private String vsignwastrowno; // 鍑哄叆搴撳崟鍏跺畠鏉ユ簮鍗曟嵁琛屾爣璇� + private String vsndef1; // 搴忓垪鍙疯嚜瀹氫箟椤�1 + private String vsndef10; // 搴忓垪鍙疯嚜瀹氫箟椤�10 + private String vsndef11; // 搴忓垪鍙疯嚜瀹氫箟椤�11 + private String vsndef12; // 搴忓垪鍙疯嚜瀹氫箟椤�12 + private String vsndef13; // 搴忓垪鍙疯嚜瀹氫箟椤�13 + private String vsndef14; // 搴忓垪鍙疯嚜瀹氫箟椤�14 + private String vsndef15; // 搴忓垪鍙疯嚜瀹氫箟椤�15 + private String vsndef16; // 搴忓垪鍙疯嚜瀹氫箟椤�16 } diff --git a/src/main/java/com/zy/nc/vo/SaleOutHeadVO.java b/src/main/java/com/zy/nc/vo/SaleOutHeadVO.java index 257167c..2c3bbd2 100644 --- a/src/main/java/com/zy/nc/vo/SaleOutHeadVO.java +++ b/src/main/java/com/zy/nc/vo/SaleOutHeadVO.java @@ -1,4 +1,89 @@ package com.zy.nc.vo; +import lombok.Data; + +@Data public class SaleOutHeadVO { + + // 蹇呭~瀛楁 + private String pkOrg; // 搴撳瓨缁勭粐鏈�鏂扮増鏈� + private String cwarehouseid; // 浠撳簱 + + // 鍙�夊瓧娈� + private String approver; // 绛惧瓧浜� + private String billmaker; // 鍒跺崟浜� + private Boolean boutretflag; // 閿�鍞��鍥� + private Boolean bsalecooppur; // 宸插崗鍚岀敓鎴愰噰璐叆搴撳崟 + private Boolean btriatradeflag; // 涓夎璐告槗 + private String cbizid; // 涓氬姟鍛� + private String cbiztype; // 涓氬姟娴佺▼ + private String ccostdomainid; // 缁撶畻鎴愭湰鍩� + private String ccustomerid; // 璁㈠崟瀹㈡埛 + private String cdilivertypeid; // 杩愯緭鏂瑰紡 + private String cdptid; // 閮ㄩ棬鏈�鏂扮増鏈� + private String cdptvid; // 閮ㄩ棬 + private String cfanaceorgoid; // 缁撶畻璐㈠姟缁勭粐鏈�鏂扮増鏈� + private String cfanaceorgvid; // 缁撶畻璐㈠姟缁勭粐 + private String cgeneralhid; // 鍑哄簱鍗曡〃澶翠富閿� + private String corpoid; // 鍏徃鏈�鏂扮増鏈� + private String corpvid; // 鍏徃 + private String cothercalbodyoid; // 鍏ュ簱搴撳瓨缁勭粐鏈�鏂扮増鏈� + private String cothercalbodyvid; // 鍏ュ簱搴撳瓨缁勭粐 + private String cotherwhid; // 鍏ュ簱浠撳簱 + private String creationtime; // 鍒涘缓鏃堕棿 + private String creator; // 鍒涘缓浜� + private String crececountryid; // 鏀惰揣鍥� + private String creceivfinorgoid; // 搴旀敹璐㈠姟缁勭粐鏈�鏂扮増鏈� + private String creceivfinorgvid; // 搴旀敹璐㈠姟缁勭粐 + private String csaleorgoid; // 閿�鍞粍缁囨渶鏂扮増鏈� + private String csaleorgvid; // 閿�鍞粍缁� + private String csendcountryid; // 鍙戣揣鍥� + private String ctaxcountryid; // 鎶ョ◣鍥� + private String ctradewordid; // 璐告槗鏈 + private String ctrancustid; // 鎵胯繍鍟� + private String ctrantypeid; // 鍑哄叆搴撶被鍨� + private String cwhsmanagerid; // 搴撶鍛� + private String dbilldate; // 鍗曟嵁鏃ユ湡 + private String dmakedate; // 鍒跺崟鏃ユ湡 + private Integer fbillflag; // 鍗曟嵁鐘舵�� + private Integer fbuysellflag; // 璐攢绫诲瀷 + private Boolean freplenishflag; // 閿�鍞��璐� + private Integer iprintcount; // 鎵撳嵃娆℃暟 + private String modifiedtime; // 鏈�鍚庝慨鏀规椂闂� + private String modifier; // 鏈�鍚庝慨鏀逛汉 + private Double ntotalnum; // 鎬绘暟閲� + private Double ntotalpiece; // 鎬讳欢鏁� + private Double ntotalvolume; // 鎬讳綋绉� + private Double ntotalweight; // 鎬婚噸閲� + private String pkGroup; // 闆嗗洟 + private String pkMeasware; // 璁¢噺鍣ㄥ叿 + private String pkOrgV; // 搴撳瓨缁勭粐 + private String taudittime; // 绛惧瓧鏃ユ湡 + private String trafficorgoid; // 鐗╂祦缁勭粐鏈�鏂扮増鏈� + private String trafficorgvid; // 鐗╂祦缁勭粐 + private String vbillcode; // 鍗曟嵁鍙� + private String vdef1; // 琛ㄥご鑷畾涔夐」1 + private String vdef10; // 琛ㄥご鑷畾涔夐」10 + private String vdef11; // 琛ㄥご鑷畾涔夐」11 + private String vdef12; // 琛ㄥご鑷畾涔夐」12 + private String vdef13; // 琛ㄥご鑷畾涔夐」13 + private String vdef14; // 琛ㄥご鑷畾涔夐」14 + private String vdef15; // 琛ㄥご鑷畾涔夐」15 + private String vdef16; // 琛ㄥご鑷畾涔夐」16 + private String vdef17; // 琛ㄥご鑷畾涔夐」17 + private String vdef18; // 琛ㄥご鑷畾涔夐」18 + private String vdef19; // 琛ㄥご鑷畾涔夐」19 + private String vdef2; // 琛ㄥご鑷畾涔夐」2 + private String vdef20; // 琛ㄥご鑷畾涔夐」20 + private String vdef3; // 琛ㄥご鑷畾涔夐」3 + private String vdef4; // 琛ㄥご鑷畾涔夐」4 + private String vdef5; // 琛ㄥご鑷畾涔夐」5 + private String vdef6; // 琛ㄥご鑷畾涔夐」6 + private String vdef7; // 琛ㄥご鑷畾涔夐」7 + private String vdef8; // 琛ㄥご鑷畾涔夐」8 + private String vdef9; // 琛ㄥご鑷畾涔夐」9 + private String vdiliveraddress; // 杩愯緭鍦板潃 + private String vnote; // 澶囨敞 + private String vtrantypecode; // 鍑哄叆搴撶被鍨嬬紪鐮� + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 125b490..6ab51fd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,26 +10,28 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://192.168.4.191:1433;databasename=integrationasrs -# username: sa -# password: sa@123 - url: jdbc:sqlserver://192.168.4.191:50948;databasename=source + jdbc-url: jdbc:sqlserver://127.0.0.1:1433;databasename=ytflasrs username: sa password: sa@123 -# url: jdbc:sqlserver://127.0.0.1:51433;databasename=source -# username: sa -# password: Zoneyung@zy56$ + + mvc: static-path-pattern: /** redis: host: localhost port: 6379 database: 0 -# password: xltys1995 + # password: xltys1995 servlet: multipart: maxFileSize: 100MB maxRequestSize: 100MB +other: + datasource: + jdbc-url: jdbc:mysql://192.168.5.61:3306/datareports + username: liku + password: 123456 + driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: mapper-locations: classpath:mapper/*.xml @@ -159,7 +161,7 @@ #缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧� outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc # 鐧诲綍璐﹀彿绠$悊 - login : + login: acctID: "647e849ab6fa0f" username: "llw" password: "666666" diff --git a/src/main/resources/config.properties b/src/main/resources/config.properties index a47ff24..9569026 100644 --- a/src/main/resources/config.properties +++ b/src/main/resources/config.properties @@ -1,6 +1,6 @@ #####涓嶅彉鍙傛暟 -client_id=tchzt2 -client_secret=aad2433934c141b58937 +client_id=WMS +client_secret=b5ee040e00584e518c06 pubKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhxRFEtPfreu+ROWtC5IQZVy1Vkkqi0Fk7A4tGvyfLIw2qPNLWrTmCJeJwXLmgiB+EU0RW9U8jFYRAhSKaQY1HTjHMZcXdfH6m7WitT+sIyDVfTO3wVWtvjFBF1o6qi+T7pNsmCjstArnm/OS55kn0zJcRiTTwP1UU1LrkQbytf9ZHOcbKfqjIL8amsinjdxd6ioUM3JT3PpOXCIRDHsQgvAnFx2q7Y902S0PFzc40FwtuwsuKqesvEbIImUcq1wbIDtMegixy+TfJMWcByNLp2iv8/+Zos+hePhfWRPlD2x0vk30xDXMiUVgq0dhxC5C3yeD2QEbLxIlDqK2WebzZQIDAQAB secret_level=L0 #autotest=ture @@ -32,9 +32,9 @@ #pwd=123456a! #busi_center=1001 -username=WMS -pwd=b5ee040e00584e518c06 -busi_center=fulai??0731 +username=wmsliku +pwd=liku@135 +busi_center=F #username=01 #pwd=123456a! diff --git a/src/main/resources/mapper2/test b/src/main/resources/mapper2/test new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/main/resources/mapper2/test -- Gitblit v1.9.1