Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
7a436d1c
Commit
7a436d1c
authored
Apr 22, 2018
by
季圣华
Browse files
!14 格式化代码,看着有点别扭
Merge pull request !14 from SmkfGao/master
parents
8f304964
6bc92ec9
Changes
286
Show whitespace changes
Inline
Side-by-side
src/main/java/com/jsh/service/basic/CategoryService.java
View file @
7a436d1c
...
...
@@ -4,19 +4,16 @@ import com.jsh.base.BaseService;
import
com.jsh.dao.basic.CategoryIDAO
;
import
com.jsh.model.po.Category
;
public
class
CategoryService
extends
BaseService
<
Category
>
implements
CategoryIService
{
public
class
CategoryService
extends
BaseService
<
Category
>
implements
CategoryIService
{
@SuppressWarnings
(
"unused"
)
private
CategoryIDAO
categoryDao
;
public
void
setCategoryDao
(
CategoryIDAO
categoryDao
)
{
public
void
setCategoryDao
(
CategoryIDAO
categoryDao
)
{
this
.
categoryDao
=
categoryDao
;
}
@Override
protected
Class
<
Category
>
getEntityClass
()
{
protected
Class
<
Category
>
getEntityClass
()
{
return
Category
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/DepotIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Depot
;
public
interface
DepotIService
extends
BaseIService
<
Depot
>
{
public
interface
DepotIService
extends
BaseIService
<
Depot
>
{
}
src/main/java/com/jsh/service/basic/DepotService.java
View file @
7a436d1c
...
...
@@ -5,16 +5,14 @@ import com.jsh.dao.basic.DepotIDAO;
import
com.jsh.dao.basic.UserBusinessIDAO
;
import
com.jsh.model.po.Depot
;
public
class
DepotService
extends
BaseService
<
Depot
>
implements
DepotIService
{
public
class
DepotService
extends
BaseService
<
Depot
>
implements
DepotIService
{
@SuppressWarnings
(
"unused"
)
private
DepotIDAO
depotDao
;
@SuppressWarnings
(
"unused"
)
private
UserBusinessIDAO
userBusinessDao
;
public
void
setDepotDao
(
DepotIDAO
depotDao
)
{
public
void
setDepotDao
(
DepotIDAO
depotDao
)
{
this
.
depotDao
=
depotDao
;
}
...
...
@@ -24,8 +22,7 @@ public class DepotService extends BaseService<Depot> implements DepotIService
@Override
protected
Class
<
Depot
>
getEntityClass
()
{
protected
Class
<
Depot
>
getEntityClass
()
{
return
Depot
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/FunctionsIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Functions
;
public
interface
FunctionsIService
extends
BaseIService
<
Functions
>
{
public
interface
FunctionsIService
extends
BaseIService
<
Functions
>
{
}
src/main/java/com/jsh/service/basic/FunctionsService.java
View file @
7a436d1c
...
...
@@ -5,16 +5,14 @@ import com.jsh.dao.basic.FunctionsIDAO;
import
com.jsh.dao.basic.UserBusinessIDAO
;
import
com.jsh.model.po.Functions
;
public
class
FunctionsService
extends
BaseService
<
Functions
>
implements
FunctionsIService
{
public
class
FunctionsService
extends
BaseService
<
Functions
>
implements
FunctionsIService
{
@SuppressWarnings
(
"unused"
)
private
FunctionsIDAO
functionsDao
;
@SuppressWarnings
(
"unused"
)
private
UserBusinessIDAO
userBusinessDao
;
public
void
setFunctionsDao
(
FunctionsIDAO
functionsDao
)
{
public
void
setFunctionsDao
(
FunctionsIDAO
functionsDao
)
{
this
.
functionsDao
=
functionsDao
;
}
...
...
@@ -23,8 +21,7 @@ public class FunctionsService extends BaseService<Functions> implements Function
}
@Override
protected
Class
<
Functions
>
getEntityClass
()
{
protected
Class
<
Functions
>
getEntityClass
()
{
return
Functions
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/InOutItemIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.InOutItem
;
public
interface
InOutItemIService
extends
BaseIService
<
InOutItem
>
{
public
interface
InOutItemIService
extends
BaseIService
<
InOutItem
>
{
}
src/main/java/com/jsh/service/basic/InOutItemService.java
View file @
7a436d1c
...
...
@@ -4,19 +4,16 @@ import com.jsh.base.BaseService;
import
com.jsh.dao.basic.InOutItemIDAO
;
import
com.jsh.model.po.InOutItem
;
public
class
InOutItemService
extends
BaseService
<
InOutItem
>
implements
InOutItemIService
{
public
class
InOutItemService
extends
BaseService
<
InOutItem
>
implements
InOutItemIService
{
@SuppressWarnings
(
"unused"
)
private
InOutItemIDAO
inOutItemDao
;
public
void
setInOutItemDao
(
InOutItemIDAO
inOutItemDao
)
{
public
void
setInOutItemDao
(
InOutItemIDAO
inOutItemDao
)
{
this
.
inOutItemDao
=
inOutItemDao
;
}
@Override
protected
Class
<
InOutItem
>
getEntityClass
()
{
protected
Class
<
InOutItem
>
getEntityClass
()
{
return
InOutItem
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/LogIService.java
View file @
7a436d1c
package
com.jsh.service.basic
;
import
com.jsh.base.BaseIService
;
import
com.jsh.util.JshException
;
import
com.jsh.model.po.Logdetails
;
import
com.jsh.util.JshException
;
public
interface
LogIService
extends
BaseIService
<
Logdetails
>
{
public
interface
LogIService
extends
BaseIService
<
Logdetails
>
{
/**
* 增加
*
* @param t 对象
* @throws JshException
*/
...
...
src/main/java/com/jsh/service/basic/LogService.java
View file @
7a436d1c
...
...
@@ -5,31 +5,24 @@ import com.jsh.base.Log;
import
com.jsh.dao.basic.LogIDAO
;
import
com.jsh.model.po.Logdetails
;
public
class
LogService
extends
BaseService
<
Logdetails
>
implements
LogIService
{
public
class
LogService
extends
BaseService
<
Logdetails
>
implements
LogIService
{
@SuppressWarnings
(
"unused"
)
private
LogIDAO
logDao
;
public
void
setLogDao
(
LogIDAO
logDao
)
{
public
void
setLogDao
(
LogIDAO
logDao
)
{
this
.
logDao
=
logDao
;
}
@Override
protected
Class
<
Logdetails
>
getEntityClass
()
{
protected
Class
<
Logdetails
>
getEntityClass
()
{
return
Logdetails
.
class
;
}
@Override
public
void
save
(
Logdetails
t
)
{
try
{
public
void
save
(
Logdetails
t
)
{
try
{
super
.
save
(
t
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>创建操作日志异常"
,
e
);
}
}
...
...
src/main/java/com/jsh/service/basic/RoleIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Role
;
public
interface
RoleIService
extends
BaseIService
<
Role
>
{
public
interface
RoleIService
extends
BaseIService
<
Role
>
{
}
src/main/java/com/jsh/service/basic/RoleService.java
View file @
7a436d1c
...
...
@@ -5,15 +5,13 @@ import com.jsh.dao.basic.RoleIDAO;
import
com.jsh.dao.basic.UserBusinessIDAO
;
import
com.jsh.model.po.Role
;
public
class
RoleService
extends
BaseService
<
Role
>
implements
RoleIService
{
public
class
RoleService
extends
BaseService
<
Role
>
implements
RoleIService
{
@SuppressWarnings
(
"unused"
)
private
RoleIDAO
roleDao
;
@SuppressWarnings
(
"unused"
)
private
UserBusinessIDAO
userBusinessDao
;
public
void
setRoleDao
(
RoleIDAO
roleDao
)
{
public
void
setRoleDao
(
RoleIDAO
roleDao
)
{
this
.
roleDao
=
roleDao
;
}
...
...
@@ -22,8 +20,7 @@ public class RoleService extends BaseService<Role> implements RoleIService
}
@Override
protected
Class
<
Role
>
getEntityClass
()
{
protected
Class
<
Role
>
getEntityClass
()
{
return
Role
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/SupplierIService.java
View file @
7a436d1c
...
...
@@ -8,11 +8,10 @@ import com.jsh.util.PageUtil;
import
java.io.File
;
import
java.io.InputStream
;
public
interface
SupplierIService
extends
BaseIService
<
Supplier
>
{
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
);
public
interface
SupplierIService
extends
BaseIService
<
Supplier
>
{
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
);
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Supplier
>
pageUtil
)
throws
JshException
;
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Supplier
>
pageUtil
)
throws
JshException
;
public
InputStream
importExcel
(
File
assetFile
)
throws
JshException
;
public
InputStream
importExcel
(
File
assetFile
)
throws
JshException
;
}
src/main/java/com/jsh/service/basic/SupplierService.java
View file @
7a436d1c
...
...
@@ -5,7 +5,10 @@ import com.jsh.base.Log;
import
com.jsh.dao.basic.SupplierIDAO
;
import
com.jsh.dao.basic.UserBusinessIDAO
;
import
com.jsh.model.po.Supplier
;
import
com.jsh.util.*
;
import
com.jsh.util.JshException
;
import
com.jsh.util.PageUtil
;
import
com.jsh.util.SupplierConstants
;
import
com.jsh.util.Tools
;
import
jxl.Workbook
;
import
jxl.format.Colour
;
import
jxl.write.*
;
...
...
@@ -18,8 +21,16 @@ import java.io.*;
import
java.lang.Boolean
;
import
java.util.*
;
public
class
SupplierService
extends
BaseService
<
Supplier
>
implements
SupplierIService
{
public
class
SupplierService
extends
BaseService
<
Supplier
>
implements
SupplierIService
{
/**
* 初始化加载所有系统基础数据
*/
@SuppressWarnings
({
"rawtypes"
})
private
static
Map
<
String
,
List
>
mapData
=
new
HashMap
<
String
,
List
>();
/**
* 错误的表格数据
*/
private
static
List
<
Supplier
>
wrongData
=
new
ArrayList
<
Supplier
>();
@SuppressWarnings
(
"unused"
)
private
SupplierIDAO
supplierDao
;
@SuppressWarnings
(
"unused"
)
...
...
@@ -27,16 +38,15 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
/**
* 设置映射基类
*
* @return
*/
@Override
protected
Class
<
Supplier
>
getEntityClass
()
{
protected
Class
<
Supplier
>
getEntityClass
()
{
return
Supplier
.
class
;
}
public
void
setSupplierDao
(
SupplierIDAO
supplierDao
)
{
public
void
setSupplierDao
(
SupplierIDAO
supplierDao
)
{
this
.
supplierDao
=
supplierDao
;
}
...
...
@@ -44,42 +54,29 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
this
.
userBusinessDao
=
userBusinessDao
;
}
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
){
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
)
{
supplierDao
.
batchSetEnable
(
enable
,
supplierIDs
);
}
/**
* 初始化加载所有系统基础数据
*/
@SuppressWarnings
({
"rawtypes"
})
private
static
Map
<
String
,
List
>
mapData
=
new
HashMap
<
String
,
List
>();
/**
* 错误的表格数据
*/
private
static
List
<
Supplier
>
wrongData
=
new
ArrayList
<
Supplier
>();
/**
* 导出Excel表格
*/
@Override
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Supplier
>
pageUtil
)
throws
JshException
{
try
{
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Supplier
>
pageUtil
)
throws
JshException
{
try
{
//将OutputStream转化为InputStream
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
putDataOnOutputStream
(
out
,
pageUtil
.
getPageList
());
return
new
ByteArrayInputStream
(
out
.
toByteArray
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>>>>>>导出信息为excel表格异常"
,
e
);
throw
new
JshException
(
"导出信息为excel表格异常"
,
e
);
throw
new
JshException
(
"导出信息为excel表格异常"
,
e
);
}
}
/**
* 生成excel表格
*
* @param os
*/
@SuppressWarnings
(
"deprecation"
)
...
...
@@ -89,87 +86,78 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
workbook
=
Workbook
.
createWorkbook
(
os
);
WritableSheet
sheet
=
workbook
.
createSheet
(
"信息报表"
,
0
);
//增加列头
String
[]
colunmName
=
{
"名称"
,
"类型"
,
"联系人"
,
"电话"
,
"电子邮箱"
,
"预收款"
,
"期初应收"
,
"期初应付"
,
"备注"
,
"传真"
,
"手机"
,
"地址"
,
"纳税人识别号"
,
"开户行"
,
"账号"
,
"税率"
,
"状态"
};
for
(
int
i
=
0
;
i
<
colunmName
.
length
;
i
++)
{
String
[]
colunmName
=
{
"名称"
,
"类型"
,
"联系人"
,
"电话"
,
"电子邮箱"
,
"预收款"
,
"期初应收"
,
"期初应付"
,
"备注"
,
"传真"
,
"手机"
,
"地址"
,
"纳税人识别号"
,
"开户行"
,
"账号"
,
"税率"
,
"状态"
};
for
(
int
i
=
0
;
i
<
colunmName
.
length
;
i
++)
{
sheet
.
setColumnView
(
i
,
10
);
sheet
.
addCell
(
new
Label
(
i
,
0
,
colunmName
[
i
]));
}
if
(
null
!=
dataList
&&
dataList
.
size
()
>
0
)
{
int
i
=
1
;
for
(
Supplier
supplier:
dataList
){
for
(
Supplier
supplier
:
dataList
)
{
int
j
=
0
;
Map
<
Integer
,
String
>
cellInfo
=
supplier
.
getCellInfo
();
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getSupplier
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getType
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getContacts
()
==
null
?
""
:
supplier
.
getContacts
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getPhonenum
()
==
null
?
""
:
supplier
.
getPhonenum
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getEmail
()
==
null
?
""
:
supplier
.
getEmail
()));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getAdvanceIn
()
==
null
?
""
:
supplier
.
getAdvanceIn
().
toString
(),
supplier
));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getBeginNeedGet
()
==
null
?
""
:
supplier
.
getBeginNeedGet
().
toString
(),
supplier
));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getBeginNeedPay
()
==
null
?
""
:
supplier
.
getBeginNeedPay
().
toString
(),
supplier
));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getDescription
()
==
null
?
""
:
supplier
.
getDescription
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getFax
()
==
null
?
""
:
supplier
.
getFax
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getTelephone
()
==
null
?
""
:
supplier
.
getTelephone
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getAddress
()
==
null
?
""
:
supplier
.
getAddress
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getTaxNum
()
==
null
?
""
:
supplier
.
getTaxNum
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getBankName
()
==
null
?
""
:
supplier
.
getBankName
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getAccountNumber
()
==
null
?
""
:
supplier
.
getAccountNumber
()));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getTaxRate
()
==
null
?
""
:
supplier
.
getTaxRate
().
toString
(),
supplier
));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getEnabled
()
?
"启用"
:
"禁用"
));
Map
<
Integer
,
String
>
cellInfo
=
supplier
.
getCellInfo
();
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getSupplier
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getType
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getContacts
()
==
null
?
""
:
supplier
.
getContacts
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getPhonenum
()
==
null
?
""
:
supplier
.
getPhonenum
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getEmail
()
==
null
?
""
:
supplier
.
getEmail
()));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getAdvanceIn
()
==
null
?
""
:
supplier
.
getAdvanceIn
().
toString
(),
supplier
));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getBeginNeedGet
()
==
null
?
""
:
supplier
.
getBeginNeedGet
().
toString
(),
supplier
));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getBeginNeedPay
()
==
null
?
""
:
supplier
.
getBeginNeedPay
().
toString
(),
supplier
));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getDescription
()
==
null
?
""
:
supplier
.
getDescription
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getFax
()
==
null
?
""
:
supplier
.
getFax
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getTelephone
()
==
null
?
""
:
supplier
.
getTelephone
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getAddress
()
==
null
?
""
:
supplier
.
getAddress
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getTaxNum
()
==
null
?
""
:
supplier
.
getTaxNum
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getBankName
()
==
null
?
""
:
supplier
.
getBankName
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getAccountNumber
()
==
null
?
""
:
supplier
.
getAccountNumber
()));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
supplier
.
getTaxRate
()
==
null
?
""
:
supplier
.
getTaxRate
().
toString
(),
supplier
));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
supplier
.
getEnabled
()
?
"启用"
:
"禁用"
));
i
++;
}
}
workbook
.
write
();
workbook
.
close
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>>>>>>导出信息为excel表格异常"
,
e
);
}
}
/**
* 根据错误信息进行提示--excel表格背景设置为红色,表示导入信息有误
*
* @param cellInfo
* @param cellNum
* @param columnNum
* @param value
* @return
*/
private
Label
getLabelInfo
(
Map
<
Integer
,
String
>
cellInfo
,
int
cellNum
,
int
columnNum
,
String
value
,
Supplier
supplier
)
{
private
Label
getLabelInfo
(
Map
<
Integer
,
String
>
cellInfo
,
int
cellNum
,
int
columnNum
,
String
value
,
Supplier
supplier
)
{
Label
label
=
null
;
//设置背景颜色
WritableCellFormat
cellFormat
=
new
WritableCellFormat
();
try
{
try
{
cellFormat
.
setBackground
(
Colour
.
RED
);
}
catch
(
WriteException
e
)
{
}
catch
(
WriteException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>>>>设置单元格背景颜色错误"
,
e
);
}
if
(
null
==
cellInfo
||
cellInfo
.
size
()
==
0
)
{
if
(
null
==
cellInfo
||
cellInfo
.
size
()
==
0
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
value
);
}
else
{
}
else
{
//表示此单元格有错误
if
(
cellInfo
.
containsKey
(
cellNum
))
{
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADVANCE_IN
)
{
if
(
cellInfo
.
containsKey
(
cellNum
))
{
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADVANCE_IN
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
supplier
.
getAdvanceInStr
(),
cellFormat
);
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_GET
)
{
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_GET
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
supplier
.
getBeginNeedGetStr
(),
cellFormat
);
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_PAY
)
{
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_PAY
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
supplier
.
getBeginNeedPayStr
(),
cellFormat
);
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_RATE
)
{
}
else
if
(
cellNum
==
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_RATE
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
supplier
.
getTaxRateStr
(),
cellFormat
);
}
}
else
{
}
else
{
label
=
new
Label
(
cellNum
,
columnNum
,
value
);
}
}
...
...
@@ -183,13 +171,12 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
//2、解析文件成资产数据
parseFile
(
assetFile
);
if
(
null
!=
wrongData
&&
wrongData
.
size
()
>
0
)
{
if
(
null
!=
wrongData
&&
wrongData
.
size
()
>
0
)
{
//将OutputStream转化为InputStream
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
putDataOnOutputStream
(
out
,
wrongData
);
putDataOnOutputStream
(
out
,
wrongData
);
return
new
ByteArrayInputStream
(
out
.
toByteArray
());
}
else
{
}
else
{
return
null
;
}
}
...
...
@@ -197,6 +184,7 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
/**
* 解析excel表格
*
* @param assetFile
*/
@SuppressWarnings
(
"unchecked"
)
...
...
@@ -216,7 +204,7 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
* 3、如果是修改过的文件内容
*/
Iterator
<
Row
>
itsheet
=
sheet
.
rowIterator
();
while
(
itsheet
.
hasNext
())
{
while
(
itsheet
.
hasNext
())
{
//获取当前行数据
Row
row
=
itsheet
.
next
();
//获取一行有多少单元格
...
...
@@ -227,18 +215,18 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
/**
* 表头跳过不读
*/
if
(
SupplierConstants
.
BusinessForExcel
.
EXCEL_TABLE_HEAD
==
rowNum
)
if
(
SupplierConstants
.
BusinessForExcel
.
EXCEL_TABLE_HEAD
==
rowNum
)
continue
;
//开始处理excel表格内容 --每行数据读取,同时统计总共行数
totalRow
++;
totalRow
++;
//获取excel表格的每格数据内容
Iterator
<
Cell
>
it
=
row
.
cellIterator
();
//资产子类型--添加了一些excel表格数据
Supplier
supplier
=
new
Supplier
();
//保存每个单元格错误类型
Map
<
Integer
,
String
>
cellType
=
new
HashMap
<
Integer
,
String
>();
Map
<
Integer
,
String
>
cellType
=
new
HashMap
<
Integer
,
String
>();
Boolean
hasBeginNeedGet
=
false
;
//是否存在期初应付
//设置列号
supplier
.
setRowLineNum
(
rowNum
);
...
...
@@ -246,7 +234,7 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
Cell
cell
=
null
;
//判断列号--从零开始
int
cellIndex
=
0
;
while
(
it
.
hasNext
())
{
while
(
it
.
hasNext
())
{
//获取每个单元格对象
cell
=
it
.
next
();
//获取列号
...
...
@@ -257,18 +245,18 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
Log
.
infoFileSync
(
"==================excel表格中第"
+
totalRow
+
"行的第 "
+
cellIndex
+
"列的值为"
+
cell
.
getStringCellValue
());
//每行中数据顺序 "名称","类型","联系人","电话","电子邮箱","预收款","期初应收","期初应付","备注","传真","手机","地址","纳税人识别号","开户行","账号","税率"
switch
(
cellIndex
)
{
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_SUPPLIER
:
switch
(
cellIndex
)
{
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_SUPPLIER
:
String
supplierName
=
cell
.
getStringCellValue
();
if
(
null
==
supplierName
||
""
.
equals
(
supplierName
))
{
if
(
null
==
supplierName
||
""
.
equals
(
supplierName
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(名称)信息"
);
break
;
}
supplier
.
setSupplier
(
supplierName
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TYPE
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TYPE
:
String
type
=
cell
.
getStringCellValue
();
if
(
null
==
type
||
""
.
equals
(
type
))
{
if
(
null
==
type
||
""
.
equals
(
type
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(类型)信息"
);
break
;
}
...
...
@@ -276,153 +264,148 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_CONTACTS
:
String
contacts
=
cell
.
getStringCellValue
();
if
(
null
==
contacts
||
""
.
equals
(
contacts
))
{
if
(
null
==
contacts
||
""
.
equals
(
contacts
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(联系人)信息"
);
break
;
}
supplier
.
setContacts
(
contacts
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_PHONE_NUM
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_PHONE_NUM
:
String
phoneNum
=
cell
.
getStringCellValue
();
if
(
null
==
phoneNum
||
""
.
equals
(
phoneNum
))
{
if
(
null
==
phoneNum
||
""
.
equals
(
phoneNum
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(电话)信息"
);
break
;
}
supplier
.
setPhonenum
(
phoneNum
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_EMAIL
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_EMAIL
:
String
email
=
cell
.
getStringCellValue
();
if
(
null
==
email
||
""
.
equals
(
email
))
{
if
(
null
==
email
||
""
.
equals
(
email
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(电子邮箱)信息"
);
break
;
}
supplier
.
setEmail
(
email
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADVANCE_IN
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADVANCE_IN
:
String
advanceIn
=
cell
.
getStringCellValue
();
if
(
null
==
advanceIn
||
""
.
equals
(
advanceIn
))
{
if
(
null
==
advanceIn
||
""
.
equals
(
advanceIn
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(预收款)信息"
);
break
;
}
if
(
Tools
.
checkStrIsNum
(
advanceIn
))
{
if
(
Tools
.
checkStrIsNum
(
advanceIn
))
{
supplier
.
setAdvanceIn
(
Double
.
parseDouble
(
advanceIn
));
}
else
{
}
else
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(预收款)不是数字格式"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
supplier
.
setAdvanceIn
(
0.00d
);
supplier
.
setAdvanceInStr
(
advanceIn
);
}
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_GET
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_GET
:
String
beginNeedGet
=
cell
.
getStringCellValue
();
if
(
null
==
beginNeedGet
||
""
.
equals
(
beginNeedGet
))
{
if
(
null
==
beginNeedGet
||
""
.
equals
(
beginNeedGet
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(期初应收)信息"
);
break
;
}
if
(
Tools
.
checkStrIsNum
(
beginNeedGet
)
&&
Double
.
parseDouble
(
beginNeedGet
)>=
0
)
{
if
(
Double
.
parseDouble
(
beginNeedGet
)
>
0
)
{
if
(
Tools
.
checkStrIsNum
(
beginNeedGet
)
&&
Double
.
parseDouble
(
beginNeedGet
)
>=
0
)
{
if
(
Double
.
parseDouble
(
beginNeedGet
)
>
0
)
{
hasBeginNeedGet
=
true
;
//存在期初应付信息
}
supplier
.
setBeginNeedGet
(
Double
.
parseDouble
(
beginNeedGet
));
}
else
{
}
else
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(期初应收)不是数字格式"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
supplier
.
setBeginNeedGet
(
0.00d
);
supplier
.
setBeginNeedGetStr
(
beginNeedGet
);
}
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_PAY
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BEGIN_NEED_PAY
:
String
beginNeedPay
=
cell
.
getStringCellValue
();
if
(
null
==
beginNeedPay
||
""
.
equals
(
beginNeedPay
))
{
if
(
null
==
beginNeedPay
||
""
.
equals
(
beginNeedPay
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(期初应付)信息"
);
break
;
}
if
(
Tools
.
checkStrIsNum
(
beginNeedPay
)
&&
Double
.
parseDouble
(
beginNeedPay
)>=
0
)
{
if
(
hasBeginNeedGet
){
//同时存在不允许
if
(
Tools
.
checkStrIsNum
(
beginNeedPay
)
&&
Double
.
parseDouble
(
beginNeedPay
)
>=
0
)
{
if
(
hasBeginNeedGet
)
{
//同时存在不允许
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(期初应付)和期初应收不能同时存在"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
supplier
.
setBeginNeedPay
(
0.00d
);
supplier
.
setBeginNeedPayStr
(
beginNeedPay
);
}
else
{
}
else
{
supplier
.
setBeginNeedPay
(
Double
.
parseDouble
(
beginNeedPay
));
}
}
else
{
}
else
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(期初应付)不是数字格式"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
supplier
.
setBeginNeedPay
(
0.00d
);
supplier
.
setBeginNeedPayStr
(
beginNeedPay
);
}
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_DESCRIPTION
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_DESCRIPTION
:
String
description
=
cell
.
getStringCellValue
();
if
(
null
==
description
||
""
.
equals
(
description
))
{
if
(
null
==
description
||
""
.
equals
(
description
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(备注)信息"
);
break
;
}
supplier
.
setDescription
(
description
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_FAX
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_FAX
:
String
fax
=
cell
.
getStringCellValue
();
if
(
null
==
fax
||
""
.
equals
(
fax
))
{
if
(
null
==
fax
||
""
.
equals
(
fax
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(传真)信息"
);
break
;
}
supplier
.
setFax
(
fax
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TELEPHONE
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TELEPHONE
:
String
telephone
=
cell
.
getStringCellValue
();
if
(
null
==
telephone
||
""
.
equals
(
telephone
))
{
if
(
null
==
telephone
||
""
.
equals
(
telephone
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(手机)信息"
);
break
;
}
supplier
.
setTelephone
(
telephone
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADDRESS
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ADDRESS
:
String
address
=
cell
.
getStringCellValue
();
if
(
null
==
address
||
""
.
equals
(
address
))
{
if
(
null
==
address
||
""
.
equals
(
address
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(地址)信息"
);
break
;
}
supplier
.
setAddress
(
address
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_NUM
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_NUM
:
String
taxNum
=
cell
.
getStringCellValue
();
if
(
null
==
taxNum
||
""
.
equals
(
taxNum
))
{
if
(
null
==
taxNum
||
""
.
equals
(
taxNum
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(纳税人识别号)信息"
);
break
;
}
supplier
.
setTaxNum
(
taxNum
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BANK_NAME
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_BANK_NAME
:
String
bankName
=
cell
.
getStringCellValue
();
if
(
null
==
bankName
||
""
.
equals
(
bankName
))
{
if
(
null
==
bankName
||
""
.
equals
(
bankName
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(开户行)信息"
);
break
;
}
supplier
.
setBankName
(
bankName
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ACCOUNT_NUMBER
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_ACCOUNT_NUMBER
:
String
accountNumber
=
cell
.
getStringCellValue
();
if
(
null
==
accountNumber
||
""
.
equals
(
accountNumber
))
{
if
(
null
==
accountNumber
||
""
.
equals
(
accountNumber
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(账号)信息"
);
break
;
}
supplier
.
setAccountNumber
(
accountNumber
);
break
;
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_RATE
:
case
SupplierConstants
.
BusinessForExcel
.
EXCEL_TAX_RATE
:
String
taxRate
=
cell
.
getStringCellValue
();
if
(
null
==
taxRate
||
""
.
equals
(
taxRate
))
{
if
(
null
==
taxRate
||
""
.
equals
(
taxRate
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(税率)信息"
);
break
;
}
if
(
Tools
.
checkStrIsNum
(
taxRate
))
{
if
(
Tools
.
checkStrIsNum
(
taxRate
))
{
supplier
.
setTaxRate
(
Double
.
parseDouble
(
taxRate
));
}
else
{
}
else
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(税率)不是数字格式"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
supplier
.
setTaxRate
(
0.00d
);
...
...
@@ -436,23 +419,18 @@ public class SupplierService extends BaseService<Supplier> implements SupplierIS
Log
.
infoFileSync
(
totalRow
+
"行总共有"
+
cellIndex
+
"列"
);
//判断完成后增加数据
if
((
null
!=
cellType
&&
cellType
.
size
()
>
0
)
||
supplier
.
getSupplier
()
==
null
)
{
if
((
null
!=
cellType
&&
cellType
.
size
()
>
0
)
||
supplier
.
getSupplier
()
==
null
)
{
wrongData
.
add
(
supplier
);
}
else
{
}
else
{
supplier
.
setEnabled
(
true
);
supplier
.
setIsystem
((
short
)
1
);
supplier
.
setIsystem
((
short
)
1
);
supplierDao
.
save
(
supplier
);
}
}
}
catch
(
FileNotFoundException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常:找不到指定文件!"
,
e
);
}
catch
(
IOException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常,请确认文件格式是否正确 !"
,
e
);
}
catch
(
FileNotFoundException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常:找不到指定文件!"
,
e
);
}
catch
(
IOException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常,请确认文件格式是否正确 !"
,
e
);
}
Log
.
infoFileSync
(
"===================excel表格总共有 "
+
totalRow
+
" 条记录!"
);
}
...
...
src/main/java/com/jsh/service/basic/SystemConfigIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.SystemConfig
;
public
interface
SystemConfigIService
extends
BaseIService
<
SystemConfig
>
{
public
interface
SystemConfigIService
extends
BaseIService
<
SystemConfig
>
{
}
src/main/java/com/jsh/service/basic/SystemConfigService.java
View file @
7a436d1c
...
...
@@ -4,19 +4,16 @@ import com.jsh.base.BaseService;
import
com.jsh.dao.basic.SystemConfigIDAO
;
import
com.jsh.model.po.SystemConfig
;
public
class
SystemConfigService
extends
BaseService
<
SystemConfig
>
implements
SystemConfigIService
{
public
class
SystemConfigService
extends
BaseService
<
SystemConfig
>
implements
SystemConfigIService
{
@SuppressWarnings
(
"unused"
)
private
SystemConfigIDAO
systemConfigDao
;
public
void
setSystemConfigDao
(
SystemConfigIDAO
systemConfigDao
)
{
public
void
setSystemConfigDao
(
SystemConfigIDAO
systemConfigDao
)
{
this
.
systemConfigDao
=
systemConfigDao
;
}
@Override
protected
Class
<
SystemConfig
>
getEntityClass
()
{
protected
Class
<
SystemConfig
>
getEntityClass
()
{
return
SystemConfig
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/UnitIService.java
View file @
7a436d1c
...
...
@@ -3,7 +3,6 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Unit
;
public
interface
UnitIService
extends
BaseIService
<
Unit
>
{
public
interface
UnitIService
extends
BaseIService
<
Unit
>
{
}
src/main/java/com/jsh/service/basic/UnitService.java
View file @
7a436d1c
...
...
@@ -4,20 +4,17 @@ import com.jsh.base.BaseService;
import
com.jsh.dao.basic.UnitIDAO
;
import
com.jsh.model.po.Unit
;
public
class
UnitService
extends
BaseService
<
Unit
>
implements
UnitIService
{
public
class
UnitService
extends
BaseService
<
Unit
>
implements
UnitIService
{
@SuppressWarnings
(
"unused"
)
private
UnitIDAO
unitDao
;
public
void
setUnitDao
(
UnitIDAO
unitDao
)
{
public
void
setUnitDao
(
UnitIDAO
unitDao
)
{
this
.
unitDao
=
unitDao
;
}
@Override
protected
Class
<
Unit
>
getEntityClass
()
{
protected
Class
<
Unit
>
getEntityClass
()
{
return
Unit
.
class
;
}
...
...
src/main/java/com/jsh/service/basic/UserBusinessIService.java
View file @
7a436d1c
package
com.jsh.service.basic
;
import
com.jsh.base.BaseIService
;
import
com.jsh.util.JshException
;
import
com.jsh.model.po.UserBusiness
;
import
com.jsh.util.JshException
;
import
com.jsh.util.PageUtil
;
public
interface
UserBusinessIService
extends
BaseIService
<
UserBusiness
>
{
public
interface
UserBusinessIService
extends
BaseIService
<
UserBusiness
>
{
/*
* 测试一下自定义hql语句
*/
void
find
(
PageUtil
<
UserBusiness
>
userBusiness
,
String
ceshi
)
throws
JshException
;
void
find
(
PageUtil
<
UserBusiness
>
userBusiness
,
String
ceshi
)
throws
JshException
;
}
src/main/java/com/jsh/service/basic/UserBusinessService.java
View file @
7a436d1c
...
...
@@ -2,29 +2,25 @@ package com.jsh.service.basic;
import
com.jsh.base.BaseService
;
import
com.jsh.dao.basic.UserBusinessIDAO
;
import
com.jsh.util.JshException
;
import
com.jsh.model.po.UserBusiness
;
import
com.jsh.util.JshException
;
import
com.jsh.util.PageUtil
;
public
class
UserBusinessService
extends
BaseService
<
UserBusiness
>
implements
UserBusinessIService
{
public
class
UserBusinessService
extends
BaseService
<
UserBusiness
>
implements
UserBusinessIService
{
@SuppressWarnings
(
"unused"
)
private
UserBusinessIDAO
userBusinessDao
;
public
void
setUserBusinessDao
(
UserBusinessIDAO
userBusinessDao
)
{
public
void
setUserBusinessDao
(
UserBusinessIDAO
userBusinessDao
)
{
this
.
userBusinessDao
=
userBusinessDao
;
}
@Override
protected
Class
<
UserBusiness
>
getEntityClass
()
{
protected
Class
<
UserBusiness
>
getEntityClass
()
{
return
UserBusiness
.
class
;
}
@Override
public
void
find
(
PageUtil
<
UserBusiness
>
pageUtil
,
String
ceshi
)
throws
JshException
{
public
void
find
(
PageUtil
<
UserBusiness
>
pageUtil
,
String
ceshi
)
throws
JshException
{
userBusinessDao
.
find
(
pageUtil
,
ceshi
);
}
...
...
src/main/java/com/jsh/service/basic/UserIService.java
View file @
7a436d1c
package
com.jsh.service.basic
;
import
com.jsh.base.BaseIService
;
import
com.jsh.util.JshException
;
import
com.jsh.model.po.Basicuser
;
import
com.jsh.util.JshException
;
public
interface
UserIService
extends
BaseIService
<
Basicuser
>
{
public
interface
UserIService
extends
BaseIService
<
Basicuser
>
{
/**
* 判断用户名是否符合登录条件
*
* @param username 用户名 String password
* @return int 1、用户名不存在 2、密码不正确 3、黑名单用户 4、符合条件 5、访问后台异常
*/
int
validateUser
(
String
username
,
String
password
)
throws
JshException
;
int
validateUser
(
String
username
,
String
password
)
throws
JshException
;
/**
* 获取用户信息
*
* @param username
* @return 用户信息
* @throws JshException
...
...
@@ -23,11 +24,12 @@ public interface UserIService extends BaseIService<Basicuser>
/**
* 检查用户名称是否存在
*
* @param field 用户属性
* @param username 用户名称
* @param userID 供应商ID
* @return true==存在重名 false==不存在
* @throws JshException
*/
Boolean
checkIsNameExist
(
String
field
,
String
username
,
Long
userID
)
throws
JshException
;
Boolean
checkIsNameExist
(
String
field
,
String
username
,
Long
userID
)
throws
JshException
;
}
Prev
1
…
5
6
7
8
9
10
11
12
13
…
15
Next
Write
Preview
Supports
Markdown
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