Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
traffic-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxiaoming
traffic-front
Commits
f4f918e1
Commit
f4f918e1
authored
Oct 03, 2018
by
sherlock
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
another dataSource
parent
2fe7e9f1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
294 additions
and
82 deletions
+294
-82
pom.xml
atms-api/pom.xml
+9
-0
SpringContextUtil.java
.../java/pwc/taxtech/atms/common/util/SpringContextUtil.java
+15
-11
InputInvoiceDao.java
...c/main/java/pwc/taxtech/atms/vat/dao/InputInvoiceDao.java
+5
-4
VatAbstractService.java
...pwc/taxtech/atms/vat/service/impl/VatAbstractService.java
+2
-2
JXFP.java
.../taxtech/atms/vat/service/impl/report/functions/JXFP.java
+4
-4
JXFPMX.java
...axtech/atms/vat/service/impl/report/functions/JXFPMX.java
+1
-1
XXFP.java
.../taxtech/atms/vat/service/impl/report/functions/XXFP.java
+1
-1
applicationContext.xml
atms-api/src/main/resources/applicationContext.xml
+18
-0
conf_profile_dev.properties
atms-api/src/main/resources/conf/conf_profile_dev.properties
+6
-0
InputInvoiceMapper.java
...ain/java/pwc/taxtech/atms/invoice/InputInvoiceMapper.java
+39
-56
OutputInvoiceMapper.java
...in/java/pwc/taxtech/atms/invoice/OutputInvoiceMapper.java
+192
-0
DataSourceExtendDto.java
...in/java/pwc/taxtech/atms/vat/dpo/DataSourceExtendDto.java
+1
-2
DataSource.java
...src/main/java/pwc/taxtech/atms/vat/entity/DataSource.java
+0
-0
InputInvoiceMapper.xml
...resources/pwc/taxtech/atms/invoice/InputInvoiceMapper.xml
+0
-0
OutputInvoiceMapper.xml
...esources/pwc/taxtech/atms/invoice/OutputInvoiceMapper.xml
+0
-0
PeriodFormulaBlockExtendsMapper.xml
.../atms/vat/dao/extends/PeriodFormulaBlockExtendsMapper.xml
+1
-1
No files found.
atms-api/pom.xml
View file @
f4f918e1
...
@@ -14,6 +14,15 @@
...
@@ -14,6 +14,15 @@
</parent>
</parent>
<dependencies>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 -->
<dependency>
<groupId>
com.oracle
</groupId>
<artifactId>
ojdbc
</artifactId>
<version>
0.0.1
</version>
</dependency>
<dependency>
<dependency>
<groupId>
pwc.taxtech.atms
</groupId>
<groupId>
pwc.taxtech.atms
</groupId>
<artifactId>
atms-dao
</artifactId>
<artifactId>
atms-dao
</artifactId>
...
...
atms-api/src/main/java/pwc/taxtech/atms/common/util/SpringContextUtil.java
View file @
f4f918e1
...
@@ -9,6 +9,8 @@ import pwc.taxtech.atms.dao.OrganizationMapper;
...
@@ -9,6 +9,8 @@ import pwc.taxtech.atms.dao.OrganizationMapper;
import
pwc.taxtech.atms.dao.ProjectDao
;
import
pwc.taxtech.atms.dao.ProjectDao
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dao.ProjectServiceTypeMapper
;
import
pwc.taxtech.atms.dao.ProjectServiceTypeMapper
;
import
pwc.taxtech.atms.invoice.InputInvoiceMapper
;
import
pwc.taxtech.atms.invoice.OutputInvoiceMapper
;
import
pwc.taxtech.atms.service.impl.DistributedIdService
;
import
pwc.taxtech.atms.service.impl.DistributedIdService
;
import
pwc.taxtech.atms.vat.dao.*
;
import
pwc.taxtech.atms.vat.dao.*
;
...
@@ -30,19 +32,21 @@ public class SpringContextUtil implements ApplicationContextAware {
...
@@ -30,19 +32,21 @@ public class SpringContextUtil implements ApplicationContextAware {
public
static
PeriodStandardAccountMapper
periodStandardAccountMapper
;
public
static
PeriodStandardAccountMapper
periodStandardAccountMapper
;
public
static
ProjectDao
projectDao
;
public
static
ProjectDao
projectDao
;
public
static
BalanceMapper
balanceMapper
;
public
static
BalanceMapper
balanceMapper
;
public
static
DataSourceMapper
dataSourceMapper
;
//
public static DataSourceMapper dataSourceMapper;
public
static
PeriodDataSourceMapper
periodDataSourceMapper
;
public
static
PeriodDataSourceMapper
periodDataSourceMapper
;
public
static
DataSourceDetailMapper
dataSourceDetailMapper
;
//
public static DataSourceDetailMapper dataSourceDetailMapper;
public
static
PeriodDataSourceDetailMapper
periodDataSourceDetailMapper
;
public
static
PeriodDataSourceDetailMapper
periodDataSourceDetailMapper
;
public
static
PeriodFormulaBlockMapper
periodFormulaBlockMapper
;
public
static
PeriodFormulaBlockMapper
periodFormulaBlockMapper
;
public
static
VatEnterpriseAccountDao
vatEnterpriseAccountDao
;
public
static
VatEnterpriseAccountDao
vatEnterpriseAccountDao
;
public
static
VatEnterpriseAccountMapper
vatEnterpriseAccountMapper
;
public
static
VatEnterpriseAccountMapper
vatEnterpriseAccountMapper
;
public
static
PeriodEnterpriseAccountMapper
periodEnterpriseAccountMapper
;
public
static
PeriodEnterpriseAccountMapper
periodEnterpriseAccountMapper
;
public
static
BalanceStdManualMapper
balanceStdManualMapper
;
public
static
BalanceStdManualMapper
balanceStdManualMapper
;
public
static
OutputVatInvoiceMapper
outputVATInvoiceMapper
;
// public static OutputVatInvoiceMapper outputVATInvoiceMapper;
public
static
OutputInvoiceMapper
outputInvoiceMapper
;
public
static
PeriodTaxRuleSettingMapper
periodTaxRuleSettingMapper
;
public
static
PeriodTaxRuleSettingMapper
periodTaxRuleSettingMapper
;
public
static
InputVatInvoiceDao
inputVatInvoiceDao
;
public
static
InputInvoiceDao
inputInvoiceDao
;
public
static
InputVatInvoiceMapper
inputVATInvoiceMapper
;
// public static InputVatInvoiceMapper inputVATInvoiceMapper;
public
static
InputInvoiceMapper
inputInvoiceMapper
;
public
static
AssetsListMapper
assetsListMapper
;
public
static
AssetsListMapper
assetsListMapper
;
public
static
ProjectMapper
projectMapper
;
public
static
ProjectMapper
projectMapper
;
public
static
CellDataSourceMapper
cellDataSourceMapper
;
public
static
CellDataSourceMapper
cellDataSourceMapper
;
...
@@ -72,23 +76,23 @@ public class SpringContextUtil implements ApplicationContextAware {
...
@@ -72,23 +76,23 @@ public class SpringContextUtil implements ApplicationContextAware {
periodCellTemplateMapper
=
webApplicationContext
.
getBean
(
PeriodCellTemplateMapper
.
class
);
periodCellTemplateMapper
=
webApplicationContext
.
getBean
(
PeriodCellTemplateMapper
.
class
);
projectServiceTypeMapper
=
webApplicationContext
.
getBean
(
ProjectServiceTypeMapper
.
class
);
projectServiceTypeMapper
=
webApplicationContext
.
getBean
(
ProjectServiceTypeMapper
.
class
);
periodTemplateMapper
=
webApplicationContext
.
getBean
(
PeriodTemplateMapper
.
class
);
periodTemplateMapper
=
webApplicationContext
.
getBean
(
PeriodTemplateMapper
.
class
);
periodStandardAccountMapper
=
webApplicationContext
.
getBean
(
PeriodStandardAccountMapper
.
class
);
//
periodStandardAccountMapper = webApplicationContext.getBean(PeriodStandardAccountMapper.class);
periodStandardAccountMapper
=
webApplicationContext
.
getBean
(
PeriodStandardAccountMapper
.
class
);
periodStandardAccountMapper
=
webApplicationContext
.
getBean
(
PeriodStandardAccountMapper
.
class
);
projectDao
=
webApplicationContext
.
getBean
(
ProjectDao
.
class
);
projectDao
=
webApplicationContext
.
getBean
(
ProjectDao
.
class
);
balanceMapper
=
webApplicationContext
.
getBean
(
BalanceMapper
.
class
);
balanceMapper
=
webApplicationContext
.
getBean
(
BalanceMapper
.
class
);
dataSourceMapper
=
webApplicationContext
.
getBean
(
DataSourceMapper
.
class
);
//
dataSourceMapper = webApplicationContext.getBean(DataSourceMapper.class);
periodDataSourceMapper
=
webApplicationContext
.
getBean
(
PeriodDataSourceMapper
.
class
);
periodDataSourceMapper
=
webApplicationContext
.
getBean
(
PeriodDataSourceMapper
.
class
);
dataSourceDetailMapper
=
webApplicationContext
.
getBean
(
DataSourceDetailMapper
.
class
);
//
dataSourceDetailMapper = webApplicationContext.getBean(DataSourceDetailMapper.class);
periodDataSourceDetailMapper
=
webApplicationContext
.
getBean
(
PeriodDataSourceDetailMapper
.
class
);
periodDataSourceDetailMapper
=
webApplicationContext
.
getBean
(
PeriodDataSourceDetailMapper
.
class
);
periodFormulaBlockMapper
=
webApplicationContext
.
getBean
(
PeriodFormulaBlockMapper
.
class
);
periodFormulaBlockMapper
=
webApplicationContext
.
getBean
(
PeriodFormulaBlockMapper
.
class
);
vatEnterpriseAccountDao
=
webApplicationContext
.
getBean
(
VatEnterpriseAccountDao
.
class
);
vatEnterpriseAccountDao
=
webApplicationContext
.
getBean
(
VatEnterpriseAccountDao
.
class
);
vatEnterpriseAccountMapper
=
webApplicationContext
.
getBean
(
VatEnterpriseAccountMapper
.
class
);
vatEnterpriseAccountMapper
=
webApplicationContext
.
getBean
(
VatEnterpriseAccountMapper
.
class
);
periodEnterpriseAccountMapper
=
webApplicationContext
.
getBean
(
PeriodEnterpriseAccountMapper
.
class
);
periodEnterpriseAccountMapper
=
webApplicationContext
.
getBean
(
PeriodEnterpriseAccountMapper
.
class
);
balanceStdManualMapper
=
webApplicationContext
.
getBean
(
BalanceStdManualMapper
.
class
);
balanceStdManualMapper
=
webApplicationContext
.
getBean
(
BalanceStdManualMapper
.
class
);
output
VATInvoiceMapper
=
webApplicationContext
.
getBean
(
OutputVa
tInvoiceMapper
.
class
);
output
InvoiceMapper
=
webApplicationContext
.
getBean
(
Outpu
tInvoiceMapper
.
class
);
periodTaxRuleSettingMapper
=
webApplicationContext
.
getBean
(
PeriodTaxRuleSettingMapper
.
class
);
periodTaxRuleSettingMapper
=
webApplicationContext
.
getBean
(
PeriodTaxRuleSettingMapper
.
class
);
input
VatInvoiceDao
=
webApplicationContext
.
getBean
(
InputVa
tInvoiceDao
.
class
);
input
InvoiceDao
=
webApplicationContext
.
getBean
(
Inpu
tInvoiceDao
.
class
);
input
VATInvoiceMapper
=
webApplicationContext
.
getBean
(
InputVa
tInvoiceMapper
.
class
);
input
InvoiceMapper
=
webApplicationContext
.
getBean
(
Inpu
tInvoiceMapper
.
class
);
assetsListMapper
=
webApplicationContext
.
getBean
(
AssetsListMapper
.
class
);
assetsListMapper
=
webApplicationContext
.
getBean
(
AssetsListMapper
.
class
);
projectMapper
=
webApplicationContext
.
getBean
(
ProjectMapper
.
class
);
projectMapper
=
webApplicationContext
.
getBean
(
ProjectMapper
.
class
);
cellDataSourceMapper
=
webApplicationContext
.
getBean
(
CellDataSourceMapper
.
class
);
cellDataSourceMapper
=
webApplicationContext
.
getBean
(
CellDataSourceMapper
.
class
);
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/dao/Input
Vat
InvoiceDao.java
→
atms-api/src/main/java/pwc/taxtech/atms/vat/dao/InputInvoiceDao.java
View file @
f4f918e1
...
@@ -3,17 +3,18 @@ package pwc.taxtech.atms.vat.dao;
...
@@ -3,17 +3,18 @@ package pwc.taxtech.atms.vat.dao;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
pwc.taxtech.atms.invoice.InputInvoiceMapper
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoice
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoice
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoiceExample
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoiceExample
;
import
java.util.List
;
import
java.util.List
;
@Service
@Service
public
class
Input
Vat
InvoiceDao
{
public
class
InputInvoiceDao
{
@Autowired
@Autowired
Input
VatInvoiceMapper
inputVAT
InvoiceMapper
;
Input
InvoiceMapper
input
InvoiceMapper
;
public
List
<
InputVatInvoice
>
getInput
VAT
Invoice
(
Integer
period
,
Integer
invoiceType
,
String
checkPass
,
String
scanPass
,
String
notPass
)
{
public
List
<
InputVatInvoice
>
getInputInvoice
(
Integer
period
,
Integer
invoiceType
,
String
checkPass
,
String
scanPass
,
String
notPass
)
{
InputVatInvoiceExample
example
=
new
InputVatInvoiceExample
();
InputVatInvoiceExample
example
=
new
InputVatInvoiceExample
();
InputVatInvoiceExample
.
Criteria
criteria
=
example
.
createCriteria
();
InputVatInvoiceExample
.
Criteria
criteria
=
example
.
createCriteria
();
InputVatInvoiceExample
.
Criteria
criteria1
=
example
.
createCriteria
();
InputVatInvoiceExample
.
Criteria
criteria1
=
example
.
createCriteria
();
...
@@ -37,6 +38,6 @@ public class InputVatInvoiceDao {
...
@@ -37,6 +38,6 @@ public class InputVatInvoiceDao {
example
.
or
(
criteria1
);
example
.
or
(
criteria1
);
}
}
return
input
VAT
InvoiceMapper
.
selectByExample
(
example
);
return
inputInvoiceMapper
.
selectByExample
(
example
);
}
}
}
}
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/VatAbstractService.java
View file @
f4f918e1
...
@@ -47,8 +47,8 @@ public class VatAbstractService {
...
@@ -47,8 +47,8 @@ public class VatAbstractService {
public
PeriodCellTemplateMapper
periodCellTemplateMapper
;
public
PeriodCellTemplateMapper
periodCellTemplateMapper
;
@Autowired
@Autowired
public
PeriodCellTemplateConfigMapper
periodCellTemplateConfigMapper
;
public
PeriodCellTemplateConfigMapper
periodCellTemplateConfigMapper
;
@Autowired
//
@Autowired
public
DataSourceMapper
dataSourceMapper
;
//
public DataSourceMapper dataSourceMapper;
@Autowired
@Autowired
public
PeriodDataSourceMapper
periodDataSourceMapper
;
public
PeriodDataSourceMapper
periodDataSourceMapper
;
@Autowired
@Autowired
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/JXFP.java
View file @
f4f918e1
...
@@ -81,22 +81,22 @@ public class JXFP extends FunctionBase implements FreeRefFunction {
...
@@ -81,22 +81,22 @@ public class JXFP extends FunctionBase implements FreeRefFunction {
List
<
InputVatInvoice
>
inputVATInvoices
;
List
<
InputVatInvoice
>
inputVATInvoices
;
if
(
authenticationType
==
1
&&
formulaContext
.
getIsYear
())
{
if
(
authenticationType
==
1
&&
formulaContext
.
getIsYear
())
{
inputVATInvoices
=
SpringContextUtil
.
input
VatInvoiceDao
.
getInputVAT
Invoice
(
null
,
invoiceType
,
inputVATInvoices
=
SpringContextUtil
.
input
InvoiceDao
.
getInput
Invoice
(
null
,
invoiceType
,
Constant
.
InputInvoiceCertificationResult
.
CheckPass
,
Constant
.
InputInvoiceCertificationResult
.
ScanPass
,
Constant
.
InputInvoiceCertificationResult
.
CheckPass
,
Constant
.
InputInvoiceCertificationResult
.
ScanPass
,
null
);
null
);
}
else
if
(
authenticationType
==
1
)
{
}
else
if
(
authenticationType
==
1
)
{
inputVATInvoices
=
SpringContextUtil
.
input
VatInvoiceDao
.
getInputVAT
Invoice
(
period
,
invoiceType
,
inputVATInvoices
=
SpringContextUtil
.
input
InvoiceDao
.
getInput
Invoice
(
period
,
invoiceType
,
Constant
.
InputInvoiceCertificationResult
.
CheckPass
,
Constant
.
InputInvoiceCertificationResult
.
ScanPass
,
Constant
.
InputInvoiceCertificationResult
.
CheckPass
,
Constant
.
InputInvoiceCertificationResult
.
ScanPass
,
null
);
null
);
}
}
// 认证未通过与未认证暂认为是同一个意思
// 认证未通过与未认证暂认为是同一个意思
else
if
((
authenticationType
==
1
||
authenticationType
==
2
)
&&
formulaContext
.
getIsYear
())
{
else
if
((
authenticationType
==
1
||
authenticationType
==
2
)
&&
formulaContext
.
getIsYear
())
{
inputVATInvoices
=
SpringContextUtil
.
input
VatInvoiceDao
.
getInputVAT
Invoice
(
null
,
invoiceType
,
inputVATInvoices
=
SpringContextUtil
.
input
InvoiceDao
.
getInput
Invoice
(
null
,
invoiceType
,
null
,
null
,
Constant
.
InputInvoiceCertificationResult
.
NotPass
);
null
,
null
,
Constant
.
InputInvoiceCertificationResult
.
NotPass
);
}
}
// 认证未通过与未认证暂认为是同一个意思
// 认证未通过与未认证暂认为是同一个意思
else
if
(
authenticationType
==
0
||
authenticationType
==
2
)
{
else
if
(
authenticationType
==
0
||
authenticationType
==
2
)
{
inputVATInvoices
=
SpringContextUtil
.
input
VatInvoiceDao
.
getInputVAT
Invoice
(
period
,
invoiceType
,
null
,
inputVATInvoices
=
SpringContextUtil
.
input
InvoiceDao
.
getInput
Invoice
(
period
,
invoiceType
,
null
,
null
,
Constant
.
InputInvoiceCertificationResult
.
NotPass
);
null
,
Constant
.
InputInvoiceCertificationResult
.
NotPass
);
}
else
{
}
else
{
saveFormulaBlock
(
period
,
ec
,
formulaExpression
,
new
BigDecimal
(
"0.0"
),
0L
,
formulaContext
.
getProjectId
());
saveFormulaBlock
(
period
,
ec
,
formulaExpression
,
new
BigDecimal
(
"0.0"
),
0L
,
formulaContext
.
getProjectId
());
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/JXFPMX.java
View file @
f4f918e1
...
@@ -84,7 +84,7 @@ public class JXFPMX extends FunctionBase implements FreeRefFunction {
...
@@ -84,7 +84,7 @@ public class JXFPMX extends FunctionBase implements FreeRefFunction {
}
}
String
dbName
=
SpringContextUtil
.
projectDao
.
getDbNameWithYearAndOrgId
(
formulaContext
.
getOrganizationId
(),
curYear
);
String
dbName
=
SpringContextUtil
.
projectDao
.
getDbNameWithYearAndOrgId
(
formulaContext
.
getOrganizationId
(),
curYear
);
List
<
InputVATInvoiceResultDto
>
inputInvoice
=
SpringContextUtil
.
input
VAT
InvoiceMapper
.
getInputVATInvoiceResultDto
(
dbName
);
List
<
InputVATInvoiceResultDto
>
inputInvoice
=
SpringContextUtil
.
inputInvoiceMapper
.
getInputVATInvoiceResultDto
(
dbName
);
if
(!
goodsName
.
equals
(
"99"
))
{
if
(!
goodsName
.
equals
(
"99"
))
{
inputInvoice
=
inputInvoice
.
stream
()
inputInvoice
=
inputInvoice
.
stream
()
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/XXFP.java
View file @
f4f918e1
...
@@ -71,7 +71,7 @@ public class XXFP extends FunctionBase implements FreeRefFunction {
...
@@ -71,7 +71,7 @@ public class XXFP extends FunctionBase implements FreeRefFunction {
}
}
String
dbName
=
SpringContextUtil
.
projectDao
.
getDbNameWithYearAndOrgId
(
formulaContext
.
getOrganizationId
(),
curYear
);
String
dbName
=
SpringContextUtil
.
projectDao
.
getDbNameWithYearAndOrgId
(
formulaContext
.
getOrganizationId
(),
curYear
);
List
<
OutputVATInvoiceDto
>
outputInvoice
=
SpringContextUtil
.
output
VAT
InvoiceMapper
.
getVatInvoiceWithItems
(
dbName
);
List
<
OutputVATInvoiceDto
>
outputInvoice
=
SpringContextUtil
.
outputInvoiceMapper
.
getVatInvoiceWithItems
(
dbName
);
if
(
invoiceType
!=
99
)
{
if
(
invoiceType
!=
99
)
{
outputInvoice
=
outputInvoice
.
stream
()
outputInvoice
=
outputInvoice
.
stream
()
...
...
atms-api/src/main/resources/applicationContext.xml
View file @
f4f918e1
...
@@ -26,6 +26,11 @@
...
@@ -26,6 +26,11 @@
</property>
</property>
</bean>
</bean>
<bean
id=
"datasource2"
class=
"com.alibaba.druid.pool.DruidDataSource"
>
<property
name=
"url"
value=
"${jdbc2_url}"
/>
<property
name=
"username"
value=
"${jdbc2_username}"
/>
<property
name=
"password"
value=
"${jdbc2_password}"
/>
</bean>
<!-- **************************************************************** -->
<!-- **************************************************************** -->
<!-- 启用注解, 启用component-scan -->
<!-- 启用注解, 启用component-scan -->
<!-- **************************************************************** -->
<!-- **************************************************************** -->
...
@@ -35,6 +40,12 @@
...
@@ -35,6 +40,12 @@
<import
resource=
"applicationContext-datasource.xml"
/>
<import
resource=
"applicationContext-datasource.xml"
/>
<bean
id=
"sqlSessionFactory2"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"datasource2"
/>
<property
name=
"configLocation"
value=
"classpath:sqlMapConfig.xml"
/>
<property
name=
"mapperLocations"
value=
"classpath*:pwc/taxtech/atms/invoice/*Mapper.xml"
/>
</bean>
<bean
id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<bean
id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"dataSource"
/>
<property
name=
"dataSource"
ref=
"dataSource"
/>
<property
name=
"configLocation"
value=
"classpath:sqlMapConfig.xml"
/>
<property
name=
"configLocation"
value=
"classpath:sqlMapConfig.xml"
/>
...
@@ -49,6 +60,13 @@
...
@@ -49,6 +60,13 @@
<constructor-arg
ref=
"sqlSessionFactory"
/>
<constructor-arg
ref=
"sqlSessionFactory"
/>
</bean>
</bean>
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<property
name=
"basePackage"
value=
"pwc.taxtech.atms.invoice"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"sqlSessionFactory2"
/>
</bean>
<bean
id=
"transactionManager2"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"datasource2"
/>
</bean>
<!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="pwc.taxtech.atms" /> </bean> -->
<!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="pwc.taxtech.atms" /> </bean> -->
<bean
id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<bean
id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
...
...
atms-api/src/main/resources/conf/conf_profile_dev.properties
View file @
f4f918e1
...
@@ -4,6 +4,12 @@ jdbc_password=taxadmin2018
...
@@ -4,6 +4,12 @@ jdbc_password=taxadmin2018
#jdbc_password=111111
#jdbc_password=111111
jdbc_admin_db
=
tax_admin
jdbc_admin_db
=
tax_admin
jdbc2_url
=
jdbc:oracle:thin:@10.158.230.144:11521:XE
jdbc2_user
=
pwc_invoice
jdbc2_password
=
pwc_invoice
#jdbc_password=111111
jdbc2_admin_db
=
pwc_invoice
jdbc_url_demo
=
jdbc:mysql://10.158.230.144:3306/demo_db_name?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
jdbc_url_demo
=
jdbc:mysql://10.158.230.144:3306/demo_db_name?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
mail_jdbc_url
=
jdbc:sqlserver://192.168.1.102:1434;DatabaseName=MAILMaster
mail_jdbc_url
=
jdbc:sqlserver://192.168.1.102:1434;DatabaseName=MAILMaster
...
...
atms-dao/src/main/java/pwc/taxtech/atms/
vat/dao/DataSour
ceMapper.java
→
atms-dao/src/main/java/pwc/taxtech/atms/
invoice/InputInvoi
ceMapper.java
View file @
f4f918e1
package
pwc
.
taxtech
.
atms
.
vat
.
dao
;
package
pwc
.
taxtech
.
atms
.
invoice
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
org.apache.ibatis.session.RowBounds
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.vat.dpo.DataSourceCellDataDto
;
import
pwc.taxtech.atms.vat.dpo.CellInvoiceDto
;
import
pwc.taxtech.atms.vat.dpo.DataSourceExtendDto
;
import
pwc.taxtech.atms.vat.dpo.InputInvoicePreviewQueryParam
;
import
pwc.taxtech.atms.vat.entity.DataSource
;
import
pwc.taxtech.atms.vat.dpo.InputVATInvoiceItemExtendDto
;
import
pwc.taxtech.atms.vat.entity.DataSourceExample
;
import
pwc.taxtech.atms.vat.dpo.InputVATInvoiceResultDto
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoice
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoiceExample
;
import
java.util.List
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
DataSour
ceMapper
extends
MyVatMapper
{
public
interface
InputInvoi
ceMapper
extends
MyVatMapper
{
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
long
countByExample
(
DataSour
ceExample
example
);
long
countByExample
(
InputVatInvoi
ceExample
example
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
deleteByExample
(
DataSour
ceExample
example
);
int
deleteByExample
(
InputVatInvoi
ceExample
example
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
deleteByPrimaryKey
(
Lo
ng
id
);
int
deleteByPrimaryKey
(
Stri
ng
id
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
insert
(
DataSour
ce
record
);
int
insert
(
InputVatInvoi
ce
record
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
insertSelective
(
DataSour
ce
record
);
int
insertSelective
(
InputVatInvoi
ce
record
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
List
<
DataSource
>
selectByExampleWithRowbounds
(
DataSour
ceExample
example
,
RowBounds
rowBounds
);
List
<
InputVatInvoice
>
selectByExampleWithRowbounds
(
InputVatInvoi
ceExample
example
,
RowBounds
rowBounds
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
List
<
DataSource
>
selectByExample
(
DataSour
ceExample
example
);
List
<
InputVatInvoice
>
selectByExample
(
InputVatInvoi
ceExample
example
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
DataSource
selectByPrimaryKey
(
Lo
ng
id
);
InputVatInvoice
selectByPrimaryKey
(
Stri
ng
id
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
updateByExampleSelective
(
@Param
(
"record"
)
DataSource
record
,
@Param
(
"example"
)
DataSour
ceExample
example
);
int
updateByExampleSelective
(
@Param
(
"record"
)
InputVatInvoice
record
,
@Param
(
"example"
)
InputVatInvoi
ceExample
example
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
updateByExample
(
@Param
(
"record"
)
DataSource
record
,
@Param
(
"example"
)
DataSour
ceExample
example
);
int
updateByExample
(
@Param
(
"record"
)
InputVatInvoice
record
,
@Param
(
"example"
)
InputVatInvoi
ceExample
example
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
updateByPrimaryKeySelective
(
DataSour
ce
record
);
int
updateByPrimaryKeySelective
(
InputVatInvoi
ce
record
);
/**
/**
* This method was generated by MyBatis Generator.
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT.
DATA_SOUR
CE
* This method corresponds to the database table TAX_PROJECT.
INPUT_VAT_INVOI
CE
*
*
* @mbg.generated
* @mbg.generated
*/
*/
int
updateByPrimaryKey
(
DataSour
ce
record
);
int
updateByPrimaryKey
(
InputVatInvoi
ce
record
);
void
clearFormulaBlockWithPeriod
(
@Param
(
"period"
)
Integer
period
);
long
getInputVATInvoiceCountByCondition
(
@Param
(
"paras"
)
InputInvoicePreviewQueryParam
param
);
void
clearTaxRuleSettingWithPeriod
(
@Param
(
"period"
)
Integer
period
);
List
<
InputVatInvoice
>
getInputVATInvoiceCountByConditionWithPaging
(
@Param
(
"paras"
)
InputInvoicePreviewQueryParam
param
,
@Param
(
"limitFrom"
)
int
limitFrom
);
void
clearCellTemplateWithPeriod
(
@Param
(
"period"
)
Integer
period
,
@Param
(
"exceptReportTemplateIDs"
)
String
exceptReportTemplateIDs
);
List
<
InputVATInvoiceResultDto
>
getInputVATInvoiceResultDto
(
@Param
(
"dbName"
)
String
dbName
);
void
clearCellTemplateConfigWithPeriod
(
@Param
(
"period"
)
Integer
period
,
@Param
(
"exceptReportTemplateIDs"
)
String
exceptReportTemplateIDs
);
List
<
CellInvoiceDto
>
selectInputInvoiceWithItem
(
);
void
clearTemplateWithPeriod
(
@Param
(
"period"
)
Integer
period
,
@Param
(
"exceptReportTemplateIDs"
)
String
exceptReportTemplateIDs
);
InputVATInvoiceItemExtendDto
selectInvoiceExtendDto
(
@Param
(
"invoiceItemId"
)
String
invoiceItemId
);
void
clearTaxPayerReportWithPeriod
(
@Param
(
"period"
)
Integer
period
,
@Param
(
"projectId"
)
String
projectId
);
void
clearDataSourceWithPeriod
(
@Param
(
"period"
)
Integer
period
);
void
clearDataSourceDetailWithPeriod
(
@Param
(
"period"
)
Integer
period
);
void
clearCellDataSourceDataWithPeriod
(
@Param
(
"period"
)
Integer
period
);
void
clearCellDataWithPeriod
(
@Param
(
"exceptReportTemplateIDs"
)
String
exceptReportTemplateIDs
,
@Param
(
"period"
)
Integer
period
);
void
clearReportWithPeriod
(
Integer
period
);
void
clearDataWithPeriod
(
@Param
(
"exceptReportTemplateIDs"
)
String
exceptReportTemplateIDs
,
@Param
(
"period"
)
Integer
period
,
@Param
(
"projectId"
)
String
projectId
);
List
<
DataSourceExtendDto
>
getFormulaDataSource
(
Long
reportID
);
List
<
DataSourceExtendDto
>
getManualDataSource
(
Long
cellDataID
);
DataSourceCellDataDto
getManualDataSource2
(
Long
dataSourceID
);
}
}
\ No newline at end of file
atms-dao/src/main/java/pwc/taxtech/atms/invoice/OutputInvoiceMapper.java
0 → 100644
View file @
f4f918e1
package
pwc
.
taxtech
.
atms
.
invoice
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.session.RowBounds
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.vat.dpo.OutputInvoiceDataSourceDto
;
import
pwc.taxtech.atms.vat.dpo.OutputVATInvoiceDto
;
import
pwc.taxtech.atms.vat.dpo.OutputVATInvoiceInfoDto
;
import
pwc.taxtech.atms.vat.dpo.QueryOutputDto
;
import
pwc.taxtech.atms.vat.entity.OutputVatInvoice
;
import
pwc.taxtech.atms.vat.entity.OutputVatInvoiceExample
;
import
java.util.List
;
@Mapper
public
interface
OutputInvoiceMapper
extends
MyVatMapper
{
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
long
countByExample
(
OutputVatInvoiceExample
example
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
deleteByExample
(
OutputVatInvoiceExample
example
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
deleteByPrimaryKey
(
String
invoiceId
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
insert
(
OutputVatInvoice
record
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
insertSelective
(
OutputVatInvoice
record
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
List
<
OutputVatInvoice
>
selectByExampleWithRowbounds
(
OutputVatInvoiceExample
example
,
RowBounds
rowBounds
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
List
<
OutputVatInvoice
>
selectByExample
(
OutputVatInvoiceExample
example
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
OutputVatInvoice
selectByPrimaryKey
(
String
invoiceId
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
updateByExampleSelective
(
@Param
(
"record"
)
OutputVatInvoice
record
,
@Param
(
"example"
)
OutputVatInvoiceExample
example
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
updateByExample
(
@Param
(
"record"
)
OutputVatInvoice
record
,
@Param
(
"example"
)
OutputVatInvoiceExample
example
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
updateByPrimaryKeySelective
(
OutputVatInvoice
record
);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_PROJECT. OUTPUT_VAT_INVOICE
*
* @mbg.generated
*/
int
updateByPrimaryKey
(
OutputVatInvoice
record
);
List
<
OutputVATInvoiceInfoDto
>
selectOutputVATInvoiceInfoLeftJoinItem
(
@Param
(
"queryDto"
)
QueryOutputDto
queryDto
);
@Select
(
"SELECT "
+
" o.PERIOD_ID as periodId, "
+
" o.INVOICE_TYPE as invoiceType, "
+
" o.CLASS_CODE as classCode, "
+
" o.INVOICE_NUMBER as invoiceNumber, "
+
" o.BUYER_NAME as buyerName, "
+
" o.BUYER_TAX_NUMBER as buyerTaxNumber, "
+
" o.BANK_ACCOUNT as bankAccount, "
+
" o.PHONE_NUM as phoneNum, "
+
" o.INVOICE_DATE as invoiceDate, "
+
" oi.CODE_VERSION as codeVersion, "
+
" oi.PRODUCT_NAME as productName, "
+
" oi.DOCUMENT_NUM as documentNum, "
+
" oi.PRODUCT_STANDARD as productStandard, "
+
" oi.UNIT as unit, "
+
" oi.QUANTITY as quantity, "
+
" oi.UNIT_PRICE as unitPrice, "
+
" oi.AMOUNT as amount, "
+
" oi.TAX_RATE as taxRate, "
+
" oi.TAX_AMOUNT as taxAmount, "
+
" oi.TAX_CLASS_CODE as taxClassCode "
+
"FROM "
+
" OUTPUT_VAT_INVOICE o, "
+
" OUTPUT_VAT_INVOICE_ITEM oi, "
+
" (SELECT "
+
" INVOICE_ID, MIN(SeqNo) MIN_SEQ_NO "
+
" FROM "
+
" OUTPUT_VAT_INVOICE_ITEM "
+
" GROUP BY InvoiceID) m "
+
"WHERE "
+
" o.INVOICE_ID = oi.INVOICE_ID "
+
" AND o.INVOICE_ID = m.INVOICE_ID "
+
" AND oi.SEQ_NO = m.MIN_SEQ_NO "
+
" AND o.PERIOD_ID = #{period}"
+
" UNION SELECT "
+
" o2.periodID, "
+
" NULL AS invoiceType, "
+
" '' AS classCode, "
+
" '' AS invoiceNumber, "
+
" '' AS buyerName, "
+
" '' AS buyerTaxNumber, "
+
" '' AS bankAccount, "
+
" '' AS phoneNum, "
+
" NULL AS invoiceDate, "
+
" oi2.codeVersion, "
+
" oi2.productName, "
+
" oi2.documentNum, "
+
" oi2.productStandard, "
+
" oi2.unit, "
+
" oi2.quantity, "
+
" oi2.unitPrice, "
+
" oi2.amount, "
+
" oi2.taxRate, "
+
" oi2.taxAmount, "
+
" oi2.taxClassCode "
+
"FROM "
+
" OUTPUT_VAT_INVOICE o2, "
+
" OUTPUT_VAT_INVOICE_ITEM oi2, "
+
" (SELECT "
+
" INVOICE_ID, MIN(SEQ_NO) MIN_SEQ_NO "
+
" FROM "
+
" OUTPUT_VAT_INVOICE_ITEM "
+
" GROUP BY INVOICE_ID) m2 "
+
"WHERE "
+
" o2.INVOICE_ID = oi2.INVOICE_ID "
+
" AND o2.INVOICE_ID = m2.INVOICE_ID "
+
" AND oi2.SEQ_NO != m2.MIN_SEQ_NO "
+
" AND o2.PERIOD_ID = #{period}"
+
" "
)
List
<
OutputVATInvoiceInfoDto
>
queryOutputDetailWithItem
(
Integer
period
);
List
<
OutputVATInvoiceDto
>
getVatInvoiceWithItems
(
@Param
(
"dbName"
)
String
dbName
);
List
<
OutputInvoiceDataSourceDto
>
selectOutputInvoiceAndItem
();
}
\ No newline at end of file
atms-dao/src/main/java/pwc/taxtech/atms/vat/dpo/DataSourceExtendDto.java
View file @
f4f918e1
package
pwc
.
taxtech
.
atms
.
vat
.
dpo
;
package
pwc
.
taxtech
.
atms
.
vat
.
dpo
;
import
pwc.taxtech.atms.CommonUtils
;
import
pwc.taxtech.atms.CommonUtils
;
import
pwc.taxtech.atms.vat.entity.DataSource
;
import
pwc.taxtech.atms.vat.entity.PeriodDataSource
;
import
pwc.taxtech.atms.vat.entity.PeriodDataSource
;
import
java.util.List
;
import
java.util.List
;
public
class
DataSourceExtendDto
extends
DataSource
{
public
class
DataSourceExtendDto
extends
Period
DataSource
{
private
Integer
operationType
;
private
Integer
operationType
;
private
Long
cellTemplateId
;
private
Long
cellTemplateId
;
private
Long
cellDataId
;
private
Long
cellDataId
;
...
...
atms-dao/src/main/java/pwc/taxtech/atms/vat/entity/DataSource.java
deleted
100644 → 0
View file @
2fe7e9f1
This diff is collapsed.
Click to expand it.
atms-dao/src/main/resources/pwc/taxtech/atms/
vat/dao/DataSour
ceMapper.xml
→
atms-dao/src/main/resources/pwc/taxtech/atms/
invoice/InputInvoi
ceMapper.xml
View file @
f4f918e1
This diff is collapsed.
Click to expand it.
atms-dao/src/main/resources/pwc/taxtech/atms/
vat/dao/DataSourceDetail
Mapper.xml
→
atms-dao/src/main/resources/pwc/taxtech/atms/
invoice/OutputInvoice
Mapper.xml
View file @
f4f918e1
This diff is collapsed.
Click to expand it.
atms-dao/src/main/resources/pwc/taxtech/atms/vat/dao/extends/PeriodFormulaBlockExtendsMapper.xml
View file @
f4f918e1
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<update
id=
"updateReportId"
>
<update
id=
"updateReportId"
>
UPDATE
UPDATE
PERIOD_
PERIOD_
FORMULA_BLOCK
PERIOD_FORMULA_BLOCK
SET
SET
REPORT_ID= #{reportId,jdbcType=BIGINT}
REPORT_ID= #{reportId,jdbcType=BIGINT}
WHERE
WHERE
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment