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