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
5e05f53a
Commit
5e05f53a
authored
Aug 30, 2017
by
季圣华
Browse files
更新后端代码
parent
b9bc613c
Changes
49
Show whitespace changes
Inline
Side-by-side
src/main/java/com/jsh/service/basic/UnitIService.java
0 → 100644
View file @
5e05f53a
package
com.jsh.service.basic
;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Unit
;
public
interface
UnitIService
extends
BaseIService
<
Unit
>
{
}
src/main/java/com/jsh/service/basic/UnitService.java
0 → 100644
View file @
5e05f53a
package
com.jsh.service.basic
;
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
{
@SuppressWarnings
(
"unused"
)
private
UnitIDAO
unitDao
;
public
void
setUnitDao
(
UnitIDAO
unitDao
)
{
this
.
unitDao
=
unitDao
;
}
@Override
protected
Class
<
Unit
>
getEntityClass
()
{
return
Unit
.
class
;
}
}
src/main/java/com/jsh/service/materials/DepotHeadIService.java
View file @
5e05f53a
...
...
@@ -15,7 +15,5 @@ public interface DepotHeadIService extends BaseIService<DepotHead>
void
findAllMoney
(
PageUtil
<
DepotHead
>
depotHead
,
Integer
supplierId
,
String
type
,
String
subType
,
String
mode
)
throws
JshException
;
public
void
findInDetail
(
PageUtil
pageUtil
,
String
beginTime
,
String
endTime
,
String
type
,
Long
pid
,
String
dids
)
throws
JshException
;
public
void
findInOutMaterialCount
(
PageUtil
pageUtil
,
String
beginTime
,
String
endTime
,
String
type
,
Long
pid
,
String
dids
)
throws
JshException
;
public
void
batchSetStatus
(
Boolean
status
,
String
depotHeadIDs
);
}
src/main/java/com/jsh/service/materials/DepotHeadService.java
View file @
5e05f53a
...
...
@@ -34,11 +34,7 @@ public class DepotHeadService extends BaseService<DepotHead> implements DepotHea
depotHeadDao
.
findAllMoney
(
pageUtil
,
supplierId
,
type
,
subType
,
mode
);
}
public
void
findInDetail
(
PageUtil
pageUtil
,
String
beginTime
,
String
endTime
,
String
type
,
Long
pid
,
String
dids
)
throws
JshException
{
depotHeadDao
.
findInDetail
(
pageUtil
,
beginTime
,
endTime
,
type
,
pid
,
dids
);
}
public
void
findInOutMaterialCount
(
PageUtil
pageUtil
,
String
beginTime
,
String
endTime
,
String
type
,
Long
pid
,
String
dids
)
throws
JshException
{
depotHeadDao
.
findInOutMaterialCount
(
pageUtil
,
beginTime
,
endTime
,
type
,
pid
,
dids
);
public
void
batchSetStatus
(
Boolean
status
,
String
depotHeadIDs
){
depotHeadDao
.
batchSetStatus
(
status
,
depotHeadIDs
);
}
}
src/main/java/com/jsh/service/materials/MaterialIService.java
View file @
5e05f53a
...
...
@@ -2,8 +2,19 @@ package com.jsh.service.materials;
import
com.jsh.base.BaseIService
;
import
com.jsh.model.po.Material
;
import
com.jsh.util.JshException
;
import
com.jsh.util.PageUtil
;
import
java.io.File
;
import
java.io.InputStream
;
public
interface
MaterialIService
extends
BaseIService
<
Material
>
{
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
);
public
void
findUnitName
(
PageUtil
<
Material
>
material
,
Long
mId
)
throws
JshException
;
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Material
>
pageUtil
)
throws
JshException
;
public
InputStream
importExcel
(
File
materialFile
)
throws
JshException
;
}
src/main/java/com/jsh/service/materials/MaterialService.java
View file @
5e05f53a
package
com.jsh.service.materials
;
import
com.jsh.base.BaseService
;
import
com.jsh.base.Log
;
import
com.jsh.dao.materials.MaterialIDAO
;
import
com.jsh.model.po.Material
;
import
com.jsh.model.po.MaterialCategory
;
import
com.jsh.util.JshException
;
import
com.jsh.util.MaterialConstants
;
import
com.jsh.util.PageUtil
;
import
com.jsh.util.Tools
;
import
jxl.Workbook
;
import
jxl.format.Colour
;
import
jxl.write.*
;
import
org.apache.poi.hssf.usermodel.HSSFSheet
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Row
;
import
java.io.*
;
import
java.lang.Boolean
;
import
java.util.*
;
public
class
MaterialService
extends
BaseService
<
Material
>
implements
MaterialIService
{
...
...
@@ -14,6 +31,16 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
this
.
materialDao
=
materialDao
;
}
public
void
batchSetEnable
(
Boolean
enable
,
String
supplierIDs
){
materialDao
.
batchSetEnable
(
enable
,
supplierIDs
);
}
@Override
public
void
findUnitName
(
PageUtil
<
Material
>
pageUtil
,
Long
mId
)
throws
JshException
{
materialDao
.
findUnitName
(
pageUtil
,
mId
);
}
@Override
protected
Class
<
Material
>
getEntityClass
()
...
...
@@ -21,4 +48,298 @@ public class MaterialService extends BaseService<Material> implements MaterialIS
return
Material
.
class
;
}
/**
* 初始化加载所有系统基础数据
*/
@SuppressWarnings
({
"rawtypes"
})
private
static
Map
<
String
,
List
>
mapData
=
new
HashMap
<
String
,
List
>();
/**
* 错误的表格数据
*/
private
static
List
<
Material
>
wrongData
=
new
ArrayList
<
Material
>();
/**
* 导出Excel表格
*/
@Override
public
InputStream
exmportExcel
(
String
isAllPage
,
PageUtil
<
Material
>
pageUtil
)
throws
JshException
{
try
{
//将OutputStream转化为InputStream
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
putDataOnOutputStream
(
out
,
pageUtil
.
getPageList
());
return
new
ByteArrayInputStream
(
out
.
toByteArray
());
}
catch
(
Exception
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>>>>>>导出信息为excel表格异常"
,
e
);
throw
new
JshException
(
"导出信息为excel表格异常"
,
e
);
}
}
/**
* 生成excel表格
* @param os
*/
@SuppressWarnings
(
"deprecation"
)
private
void
putDataOnOutputStream
(
OutputStream
os
,
List
<
Material
>
dataList
)
{
WritableWorkbook
workbook
=
null
;
try
{
workbook
=
Workbook
.
createWorkbook
(
os
);
WritableSheet
sheet
=
workbook
.
createSheet
(
"信息报表"
,
0
);
//增加列头
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
(
Material
material:
dataList
){
int
j
=
0
;
Map
<
Integer
,
String
>
cellInfo
=
material
.
getCellInfo
();
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getName
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getMaterialCategory
().
getName
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getModel
()
==
null
?
""
:
material
.
getModel
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getMfrs
()
==
null
?
""
:
material
.
getMfrs
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getStandard
()
==
null
?
""
:
material
.
getStandard
()));
sheet
.
addCell
(
getLabelInfo
(
cellInfo
,
j
++,
i
,
material
.
getSafetyStock
()
==
null
?
""
:
material
.
getSafetyStock
().
toString
(),
material
));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getUnit
()
==
null
?
""
:
material
.
getUnit
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getRetailPrice
()
==
null
?
""
:
material
.
getRetailPrice
().
toString
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getLowPrice
()
==
null
?
""
:
material
.
getLowPrice
().
toString
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getPresetPriceOne
()
==
null
?
""
:
material
.
getPresetPriceOne
().
toString
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getPresetPriceTwo
()
==
null
?
""
:
material
.
getPresetPriceTwo
().
toString
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getRemark
()
==
null
?
""
:
material
.
getRemark
()));
sheet
.
addCell
(
new
Label
(
j
++,
i
,
material
.
getEnabled
()?
"启用"
:
"禁用"
));
i
++;
}
}
workbook
.
write
();
workbook
.
close
();
}
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
,
Material
material
)
{
Label
label
=
null
;
//设置背景颜色
WritableCellFormat
cellFormat
=
new
WritableCellFormat
();
try
{
cellFormat
.
setBackground
(
Colour
.
RED
);
}
catch
(
WriteException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>>>>设置单元格背景颜色错误"
,
e
);
}
if
(
null
==
cellInfo
||
cellInfo
.
size
()
==
0
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
value
);
}
else
{
//表示此单元格有错误
if
(
cellInfo
.
containsKey
(
cellNum
))
{
if
(
cellNum
==
MaterialConstants
.
BusinessForExcel
.
EXCEL_SAFETY_STOCK
)
{
label
=
new
Label
(
cellNum
,
columnNum
,
material
.
getSafetyStockStr
(),
cellFormat
);
}
}
else
{
label
=
new
Label
(
cellNum
,
columnNum
,
value
);
}
}
return
label
;
}
@Override
public
InputStream
importExcel
(
File
materialFile
)
throws
JshException
{
//全局变量--每次调用前需要清空数据
mapData
.
clear
();
//2、解析文件成资产数据
parseFile
(
materialFile
);
if
(
null
!=
wrongData
&&
wrongData
.
size
()>
0
)
{
//将OutputStream转化为InputStream
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
putDataOnOutputStream
(
out
,
wrongData
);
return
new
ByteArrayInputStream
(
out
.
toByteArray
());
}
else
{
return
null
;
}
}
/**
* 解析excel表格
* @param assetFile
*/
@SuppressWarnings
(
"unchecked"
)
private
void
parseFile
(
File
assetFile
)
{
//每次调用前清空
wrongData
.
clear
();
int
totalRow
=
0
;
try
{
//创建对Excel工作簿文件的引用
HSSFWorkbook
workbook
=
new
HSSFWorkbook
(
new
FileInputStream
(
assetFile
));
//创建对工作表的引用,获取第一个工作表的内容
HSSFSheet
sheet
=
workbook
.
getSheetAt
(
0
);
/**
* =====================================
* 1、此处要增加文件的验证,如果不是资产文件需要进行特殊的处理,13列
* 2、文件内容为空处理
* 3、如果是修改过的文件内容
*/
Iterator
<
Row
>
itsheet
=
sheet
.
rowIterator
();
while
(
itsheet
.
hasNext
())
{
//获取当前行数据
Row
row
=
itsheet
.
next
();
//获取一行有多少单元格
// System.out.println(row.getLastCellNum());
//excel表格第几行数据 从1开始 0 是表头
int
rowNum
=
row
.
getRowNum
();
/**
* 表头跳过不读
*/
if
(
MaterialConstants
.
BusinessForExcel
.
EXCEL_TABLE_HEAD
==
rowNum
)
continue
;
//开始处理excel表格内容 --每行数据读取,同时统计总共行数
totalRow
++;
//获取excel表格的每格数据内容
Iterator
<
Cell
>
it
=
row
.
cellIterator
();
//资产子类型--添加了一些excel表格数据
Material
material
=
new
Material
();
//保存每个单元格错误类型
Map
<
Integer
,
String
>
cellType
=
new
HashMap
<
Integer
,
String
>();
//设置列号
material
.
setRowLineNum
(
rowNum
);
Cell
cell
=
null
;
//判断列号--从零开始
int
cellIndex
=
0
;
while
(
it
.
hasNext
())
{
//获取每个单元格对象
cell
=
it
.
next
();
//获取列号
cellIndex
=
cell
.
getColumnIndex
();
//设置此单元格为字符串类型
cell
.
setCellType
(
Cell
.
CELL_TYPE_STRING
);
Log
.
infoFileSync
(
"==================excel表格中第"
+
totalRow
+
"行的第 "
+
cellIndex
+
"列的值为"
+
cell
.
getStringCellValue
());
//每行中数据顺序 "品名","类型","型号","制造商","规格","安全存量","单位","零售价","最低售价","预计采购价","批发价","备注","状态"
switch
(
cellIndex
)
{
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_NAME
:
String
materialName
=
cell
.
getStringCellValue
();
if
(
null
==
materialName
||
""
.
equals
(
materialName
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(品名)信息"
);
break
;
}
material
.
setName
(
materialName
);
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_CATEGORY
:
String
category
=
cell
.
getStringCellValue
();
if
(
null
==
category
||
""
.
equals
(
category
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(类型)信息"
);
break
;
}
material
.
setMaterialCategory
(
new
MaterialCategory
(
1
l
));
//根目录
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_MODEL
:
String
model
=
cell
.
getStringCellValue
();
if
(
null
==
model
||
""
.
equals
(
model
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(型号)信息"
);
break
;
}
material
.
setModel
(
model
);
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_MFRS
:
String
mfrs
=
cell
.
getStringCellValue
();
if
(
null
==
mfrs
||
""
.
equals
(
mfrs
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(制造商)信息"
);
break
;
}
material
.
setMfrs
(
mfrs
);
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_STANDARD
:
String
standard
=
cell
.
getStringCellValue
();
if
(
null
==
standard
||
""
.
equals
(
standard
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(规格)信息"
);
break
;
}
material
.
setStandard
(
standard
);
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_SAFETY_STOCK
:
String
safetyStock
=
cell
.
getStringCellValue
();
if
(
null
==
safetyStock
||
""
.
equals
(
safetyStock
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(安全存量)信息"
);
break
;
}
if
(
Tools
.
checkStrIsNum
(
safetyStock
))
{
material
.
setSafetyStock
(
Double
.
parseDouble
(
safetyStock
));
}
else
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>(安全存量)不是数字格式"
);
cellType
.
put
(
cellIndex
,
"wrong"
);
material
.
setSafetyStock
(
0.00d
);
material
.
setSafetyStockStr
(
safetyStock
);
}
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_UNIT
:
String
unit
=
cell
.
getStringCellValue
();
if
(
null
==
unit
||
""
.
equals
(
unit
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(单位)信息"
);
break
;
}
material
.
setUnit
(
unit
);
break
;
case
MaterialConstants
.
BusinessForExcel
.
EXCEL_REMARK
:
String
remark
=
cell
.
getStringCellValue
();
if
(
null
==
remark
||
""
.
equals
(
remark
))
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>列表没有填写(备注)信息"
);
break
;
}
material
.
setRemark
(
remark
);
break
;
}
}
material
.
setCellInfo
(
cellType
);
Log
.
infoFileSync
(
totalRow
+
"行总共有"
+
cellIndex
+
"列"
);
//判断完成后增加数据
if
((
null
!=
cellType
&&
cellType
.
size
()
>
0
)
||
material
.
getName
()
==
null
)
{
wrongData
.
add
(
material
);
}
else
{
material
.
setEnabled
(
true
);
materialDao
.
save
(
material
);
}
}
}
catch
(
FileNotFoundException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常:找不到指定文件!"
,
e
);
}
catch
(
IOException
e
)
{
Log
.
errorFileSync
(
">>>>>>>>>>>>>>>>>>读取excel文件异常,请确认文件格式是否正确 !"
,
e
);
}
Log
.
infoFileSync
(
"===================excel表格总共有 "
+
totalRow
+
" 条记录!"
);
}
}
src/main/java/com/jsh/util/MaterialConstants.java
0 → 100644
View file @
5e05f53a
package
com.jsh.util
;
/**
* 定义商品信息常量
* @author jishenghua
*/
public
interface
MaterialConstants
{
/**
* 公共常量
* @author ji sheng hua
*/
public
class
Common
{
}
/**
* 常量--导入导出excel表格业务相关
* @author jishenghua
*/
public
class
BusinessForExcel
{
/**
* 名称
*/
public
static
final
int
EXCEL_NAME
=
0
;
/**
* 类型
*/
public
static
final
int
EXCEL_CATEGORY
=
1
;
/**
* 制造商
*/
public
static
final
int
EXCEL_MFRS
=
2
;
/**
* 型号
*/
public
static
final
int
EXCEL_MODEL
=
3
;
/**
* 规格
*/
public
static
final
int
EXCEL_STANDARD
=
4
;
/**
* 安全存量
*/
public
static
final
int
EXCEL_SAFETY_STOCK
=
5
;
/**
* 单位
*/
public
static
final
int
EXCEL_UNIT
=
6
;
/**
* 零售价
*/
public
static
final
int
EXCEL_RETAILPRICE
=
7
;
/**
* 最低售价
*/
public
static
final
int
EXCEL_LOWPRICE
=
8
;
/**
* 预设售价一
*/
public
static
final
int
EXCEL_PRESETPRICEONE
=
9
;
/**
* 预设售价二
*/
public
static
final
int
EXCEL_PRESETPRICETWO
=
10
;
/**
* 备注
*/
public
static
final
int
EXCEL_REMARK
=
11
;
/**
* 表头
*/
public
static
final
int
EXCEL_TABLE_HEAD
=
0
;
/**
* action返回excel结果
*/
public
static
final
String
EXCEL
=
"excel"
;
}
}
src/main/java/com/jsh/util/SupplierConstants.java
0 → 100644
View file @
5e05f53a
package
com.jsh.util
;
/**
* 定义供应商、客户管理常量
* @author jishenghua
*/
public
interface
SupplierConstants
{
/**
* 公共常量
* @author jishenghua
*/
public
class
Common
{
}
/**
* 常量--导入导出excel表格业务相关
* @author jishenghua
*/
public
class
BusinessForExcel
{
/**
* 名称
*/
public
static
final
int
EXCEL_SUPPLIER
=
0
;
/**
* 类型
*/
public
static
final
int
EXCEL_TYPE
=
1
;
/**
* 联系人
*/
public
static
final
int
EXCEL_CONTACTS
=
2
;
/**
* 电话
*/
public
static
final
int
EXCEL_PHONE_NUM
=
3
;
/**
* 电子邮箱
*/
public
static
final
int
EXCEL_EMAIL
=
4
;
/**
* 预收款
*/
public
static
final
int
EXCEL_ADVANCE_IN
=
5
;
/**
* 期初应收
*/
public
static
final
int
EXCEL_BEGIN_NEED_GET
=
6
;
/**
* 期初应付
*/
public
static
final
int
EXCEL_BEGIN_NEED_PAY
=
7
;
/**
* 备注
*/
public
static
final
int
EXCEL_DESCRIPTION
=
8
;
/**
* 传真
*/
public
static
final
int
EXCEL_FAX
=
9
;
/**
* 手机
*/
public
static
final
int
EXCEL_TELEPHONE
=
10
;
/**
* 地址
*/
public
static
final
int
EXCEL_ADDRESS
=
11
;
/**
* 纳税人识别号
*/
public
static
final
int
EXCEL_TAX_NUM
=
12
;
/**
* 开户行
*/
public
static
final
int
EXCEL_BANK_NAME
=
13
;
/**
* 账号
*/
public
static
final
int
EXCEL_ACCOUNT_NUMBER
=
14
;
/**
* 税率
*/
public
static
final
int
EXCEL_TAX_RATE
=
15
;
/**
* 表头
*/
public
static
final
int
EXCEL_TABLE_HEAD
=
0
;
/**
* action返回excel结果
*/
public
static
final
String
EXCEL
=
"excel"
;
}
}
src/main/java/com/jsh/util/Tools.java
View file @
5e05f53a
...
...
@@ -3,6 +3,7 @@ package com.jsh.util;
import
java.io.IOException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.InetAddress
;
import
java.net.URLDecoder
;
import
java.net.URLEncoder
;
import
java.net.UnknownHostException
;
import
java.security.MessageDigest
;
...
...
@@ -48,7 +49,7 @@ public class Tools
}
/**
* 获取指定日期格式 yyyy-MM
* 获取指定日期格式 yyyy-MM
-dd
* @return
*/
public
static
String
getCurrentMonth
(
Date
date
)
...
...
@@ -230,6 +231,31 @@ public class Tools
}
return
valueAfterTransCode
;
}
/**
* 字符转码
* @param aValue
* @return
* @see 转码后的字符串
*/
public
static
String
decodeValue
(
String
aValue
)
{
if
(
aValue
.
trim
().
length
()
==
0
)
{
return
""
;
}
String
valueAfterTransCode
=
null
;
try
{
valueAfterTransCode
=
URLDecoder
.
decode
(
aValue
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
getMessage
();
}
return
valueAfterTransCode
;
}
/**
* 去除str中的'
* @param str
...
...
Prev
1
2
3
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