Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
manager
Project
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
reyun
manager
Commits
2c89f95f
Commit
2c89f95f
authored
Jul 13, 2020
by
kangxiaoshan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导出格式换为EXCLE
parent
a70c8888
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
116 additions
and
22 deletions
+116
-22
ContractController.java
src/main/java/common/controller/ContractController.java
+116
-22
No files found.
src/main/java/common/controller/ContractController.java
View file @
2c89f95f
...
@@ -7,6 +7,9 @@ import dic.AuthMenuEnmm;
...
@@ -7,6 +7,9 @@ import dic.AuthMenuEnmm;
import
dic.ContractStatusEnum
;
import
dic.ContractStatusEnum
;
import
dic.OperateObjectTypeEnum
;
import
dic.OperateObjectTypeEnum
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.poi.hssf.usermodel.HSSFRow
;
import
org.apache.poi.hssf.usermodel.HSSFSheet
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.joda.time.DateTime
;
import
org.joda.time.DateTime
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -28,6 +31,7 @@ import java.io.*;
...
@@ -28,6 +31,7 @@ import java.io.*;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -97,9 +101,7 @@ public class ContractController {
...
@@ -97,9 +101,7 @@ public class ContractController {
public
void
export
(
@CurrentAccount
User
loginAccount
,
@PathVariable
String
platform
,
@RequestParam
String
startDate
public
void
export
(
@CurrentAccount
User
loginAccount
,
@PathVariable
String
platform
,
@RequestParam
String
startDate
,
@RequestParam
String
endDate
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
,
@RequestParam
String
endDate
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
List
<
Contract
>
contractList
=
service
.
findAll
(
loginAccount
,
startDate
,
endDate
,
platform
,
null
);
List
<
Contract
>
contractList
=
service
.
findAll
(
loginAccount
,
startDate
,
endDate
,
platform
,
null
);
/*StringBuilder sb = new StringBuilder();
// byte[] content = new byte[0];
StringBuilder
sb
=
new
StringBuilder
();
//录入时间 合同编号 客户账号 我方签约主体 签约方 行业分类 销售 开始日期 结束日期 套餐类型 合同金额 签约类型 合同状态 回款状态 关联合同
//录入时间 合同编号 客户账号 我方签约主体 签约方 行业分类 销售 开始日期 结束日期 套餐类型 合同金额 签约类型 合同状态 回款状态 关联合同
sb.append("录入时间,合同编号,客户账号,我方签约主体,签约方,行业分类,销售,开始日期,结束日期,套餐类型,合同金额,签约类型,合同状态,回款状态,关联合同\r\n");
sb.append("录入时间,合同编号,客户账号,我方签约主体,签约方,行业分类,销售,开始日期,结束日期,套餐类型,合同金额,签约类型,合同状态,回款状态,关联合同\r\n");
if (ValidateUtil.isValid(contractList)) {
if (ValidateUtil.isValid(contractList)) {
...
@@ -122,22 +124,50 @@ public class ContractController {
...
@@ -122,22 +124,50 @@ public class ContractController {
.append("\r\n");
.append("\r\n");
}
}
}
}
String fileName = "合同管理_" + new DateTime(startDate).toString("yyyyMMdd") + "_" + new DateTime(endDate).toString("yyyyMMdd")
String fileName = "合同管理_" + new DateTime(startDate).toString("yyyyMMdd") + "_" + new DateTime(endDate).toString("yyyyMMdd")
+ ".csv";
+ ".csv";
this
.
exportWrite
(
fileName
,
sb
.
toString
(),
"合同管理"
,
response
);
this.exportWrite(fileName, sb.toString(), "合同管理", response);*/
// InputStream in = new ByteArrayInputStream(sb.toString().getBytes());
//创建工作薄对象
// try {
HSSFWorkbook
workbook
=
new
HSSFWorkbook
();
//这里也可以设置sheet的Name
// content = IOUtils.toByteArray(in);
//创建工作表对象
// } catch (IOException e) {
HSSFSheet
sheet
=
workbook
.
createSheet
();
// e.printStackTrace();
//创建工作表的行
// }
HSSFRow
row
=
sheet
.
createRow
(
0
);
// HttpHeaders headers = new HttpHeaders();
// response.setHeader("filename", "contract.csv");
List
<
String
>
title
=
Arrays
.
asList
(
"录入时间,合同编号,客户账号,我方签约主体,签约方,行业分类,销售,开始日期,结束日期,套餐类型,合同金额,签约类型,合同状态,回款状态,关联合同"
// response.setHeader("content-disposition", "attachment; filename=contract.csv");
.
split
(
","
));
// response.setHeader("Content-Type", "text/csv");
// response.setContentType("APPLICATION/OCTET-STREAM");
int
lineSize
=
title
.
size
();
for
(
int
i
=
0
;
i
<
lineSize
;
i
++)
{
row
.
createCell
(
i
).
setCellValue
(
title
.
get
(
i
));
}
for
(
int
i
=
0
;
i
<
contractList
.
size
();
i
++)
{
Contract
contract
=
contractList
.
get
(
i
);
HSSFRow
rowBody
=
sheet
.
createRow
(
i
+
1
);
rowBody
.
createCell
(
0
).
setCellValue
(
new
DateTime
(
contract
.
getCreateTime
()).
toString
(
"yyyy-MM-dd"
));
rowBody
.
createCell
(
1
).
setCellValue
(
contract
.
getContractCode
());
rowBody
.
createCell
(
2
).
setCellValue
(
contract
.
getEmail
()
==
null
?
"无"
:
contract
.
getEmail
());
rowBody
.
createCell
(
3
).
setCellValue
(
contract
.
getMyBodyName
());
rowBody
.
createCell
(
4
).
setCellValue
(
contract
.
getCustomerBody
());
rowBody
.
createCell
(
5
).
setCellValue
(
contract
.
getTradeName
());
rowBody
.
createCell
(
6
).
setCellValue
(
contract
.
getSaleName
());
rowBody
.
createCell
(
7
).
setCellValue
(
contract
.
getStartDate
());
rowBody
.
createCell
(
8
).
setCellValue
(
contract
.
getEndDate
());
rowBody
.
createCell
(
9
).
setCellValue
(
contract
.
getPriceLevel
());
rowBody
.
createCell
(
10
).
setCellValue
(
contract
.
getMoney
());
rowBody
.
createCell
(
11
).
setCellValue
(
CONTRACT_STATUS
.
get
(
contract
.
getContractType
()));
rowBody
.
createCell
(
12
).
setCellValue
(
CONTRACT_STATUS
.
get
(
contract
.
getStatus
()));
rowBody
.
createCell
(
13
).
setCellValue
(
CONTRACT_STATUS
.
get
(
contract
.
getBackStatus
()
+
"_back"
));
rowBody
.
createCell
(
14
).
setCellValue
(
contract
.
getRelationCode
()
==
null
?
""
:
contract
.
getRelationCode
());
}
String
fileName
=
"合同管理_"
+
new
DateTime
(
startDate
).
toString
(
"yyyyMMdd"
)
+
"_"
+
new
DateTime
(
endDate
).
toString
(
"yyyyMMdd"
)
+
".xls"
;
this
.
exportWrite
(
fileName
,
workbook
,
"合同管理_"
,
response
);
NewUserLogThread
userlog
=
new
NewUserLogThread
(
loginAccount
.
getEmail
(),
loginAccount
.
getName
(),
OperateObjectTypeEnum
.
CUSTOMER
.
getKey
(),
platform
,
"导出合同"
,
startDate
,
endDate
,
request
,
platform
);
NewUserLogThread
userlog
=
new
NewUserLogThread
(
loginAccount
.
getEmail
(),
loginAccount
.
getName
(),
OperateObjectTypeEnum
.
CUSTOMER
.
getKey
(),
platform
,
"导出合同"
,
startDate
,
endDate
,
request
,
platform
);
userlog
.
start
();
userlog
.
start
();
...
@@ -453,13 +483,51 @@ public class ContractController {
...
@@ -453,13 +483,51 @@ public class ContractController {
String
bodyCode
,
String
serchName
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
String
bodyCode
,
String
serchName
,
HttpServletResponse
response
,
HttpServletRequest
request
)
{
List
<
Contract
>
contracts
=
shareIncomeService
.
shareIncomeList
(
loginAccount
,
startDate
,
endDate
,
platform
,
bodyCode
,
serchName
);
List
<
Contract
>
contracts
=
shareIncomeService
.
shareIncomeList
(
loginAccount
,
startDate
,
endDate
,
platform
,
bodyCode
,
serchName
);
byte
[]
content
=
new
byte
[
0
];
//
byte[] content = new byte[0];
DecimalFormat
df
=
new
DecimalFormat
(
"##,##0.00"
);
DecimalFormat
df
=
new
DecimalFormat
(
"##,##0.00"
);
StringBuilder
sb
=
new
StringBuilder
();
//
StringBuilder sb = new StringBuilder();
/*sb.append("我方签约主体,签约方,合同编号,合同金额,不含税收入,合同开始时间,合同截止时间,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");*/
/*sb.append("我方签约主体,签约方,合同编号,合同金额,不含税收入,合同开始时间,合同截止时间,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");*/
sb
.
append
(
"我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n"
);
//sb.append("我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");
//创建工作薄对象
HSSFWorkbook
workbook
=
new
HSSFWorkbook
();
//这里也可以设置sheet的Name
//创建工作表对象
HSSFSheet
sheet
=
workbook
.
createSheet
();
//创建工作表的行
HSSFRow
row
=
sheet
.
createRow
(
0
);
List
<
String
>
title
=
Arrays
.
asList
(
"我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入"
.
split
(
","
));
int
lineSize
=
title
.
size
();
for
(
int
i
=
0
;
i
<
lineSize
;
i
++)
{
row
.
createCell
(
i
).
setCellValue
(
title
.
get
(
i
));
}
for
(
int
i
=
0
;
i
<
contracts
.
size
();
i
++)
{
Contract
contract
=
contracts
.
get
(
i
);
HSSFRow
rowBody
=
sheet
.
createRow
(
i
+
1
);
rowBody
.
createCell
(
0
).
setCellValue
(
contract
.
getMyBodyName
());
rowBody
.
createCell
(
1
).
setCellValue
(
contract
.
getCustomerBody
());
rowBody
.
createCell
(
2
).
setCellValue
(
contract
.
getContractCode
());
rowBody
.
createCell
(
3
).
setCellValue
(
CONTRACT_STATUS
.
get
(
contract
.
getStatus
()));
rowBody
.
createCell
(
4
).
setCellValue
(
df
.
format
(
contract
.
getMoney
()));
rowBody
.
createCell
(
5
).
setCellValue
(
df
.
format
(
contract
.
getIncomeExcludingTax
()
*
1.0
/
100
));
rowBody
.
createCell
(
6
).
setCellValue
(
contract
.
getStartDate
());
rowBody
.
createCell
(
7
).
setCellValue
(
contract
.
getEndDate
());
rowBody
.
createCell
(
8
).
setCellValue
(
contract
.
getIntervalUseDays
());
rowBody
.
createCell
(
9
).
setCellValue
(
df
.
format
(
contract
.
getIntervaIncomeShare
()
*
1.0
/
100
));
rowBody
.
createCell
(
10
).
setCellValue
(
df
.
format
(
contract
.
getAdjustmentFund
()
*
1.0
/
100
));
rowBody
.
createCell
(
11
).
setCellValue
(
df
.
format
(
contract
.
getIncomeShareAll
()
*
1.0
/
100
));
}
String
fileName
=
"分摊收入报表_"
+
new
DateTime
(
startDate
).
toString
(
"yyyyMMdd"
)
+
"_"
+
new
DateTime
(
endDate
).
toString
(
"yyyyMMdd"
)
+
".xls"
;
this
.
exportWrite
(
fileName
,
workbook
,
"分摊收入报表"
,
response
);
if
(
ValidateUtil
.
isValid
(
contracts
))
{
/*
if (ValidateUtil.isValid(contracts)) {
for (Contract c : contracts) {
for (Contract c : contracts) {
sb.append(c.getMyBodyName()).append(",")
sb.append(c.getMyBodyName()).append(",")
.append(c.getCustomerBody()).append(",")
.append(c.getCustomerBody()).append(",")
...
@@ -478,10 +546,36 @@ public class ContractController {
...
@@ -478,10 +546,36 @@ public class ContractController {
}
}
String fileName = "分摊收入报表_" + new DateTime(startDate).toString("yyyyMMdd")
String fileName = "分摊收入报表_" + new DateTime(startDate).toString("yyyyMMdd")
+ "_" + new DateTime(endDate).toString("yyyyMMdd") + ".csv";
+ "_" + new DateTime(endDate).toString("yyyyMMdd") + ".csv";
this
.
exportWrite
(
fileName
,
sb
.
toString
(),
"分摊收入报表"
,
response
);
this.exportWrite(fileName, sb.toString(), "分摊收入报表", response);
*/
}
}
private
void
exportWrite
(
String
fileName
,
HSSFWorkbook
workbook
,
String
exportName
,
HttpServletResponse
response
)
{
OutputStream
os
=
null
;
try
{
fileName
=
URLEncoder
.
encode
(
fileName
,
"UTF-8"
);
response
.
setHeader
(
"filename"
,
fileName
);
response
.
setHeader
(
"content-disposition"
,
"attachment; filename="
+
fileName
);
response
.
setHeader
(
"Content-Type"
,
"text/xls"
);
response
.
setContentType
(
"APPLICATION/OCTET-STREAM"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
Exception
e
)
{
logger
.
error
(
exportName
+
"报错"
,
e
);
}
finally
{
if
(
os
!=
null
)
{
try
{
os
.
close
();
}
catch
(
IOException
e
)
{
logger
.
error
(
exportName
+
"导出,关闭流报错"
,
e
);
}
}
}
}
private
void
exportWrite
(
String
fileName
,
String
text
,
String
exportName
,
HttpServletResponse
response
)
{
private
void
exportWrite
(
String
fileName
,
String
text
,
String
exportName
,
HttpServletResponse
response
)
{
OutputStream
os
=
null
;
OutputStream
os
=
null
;
try
{
try
{
...
...
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