Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴学德
gdtel-gztel-school-center
Commits
8bdf41b7
Commit
8bdf41b7
authored
Apr 28, 2020
by
彭祥礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加KPI管理导入功能
parent
9d841d57
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
102 additions
and
82 deletions
+102
-82
service-manager/src/main/java/com/winsun/controller/LzKpiController.java
+102
-82
No files found.
service-manager/src/main/java/com/winsun/controller/LzKpiController.java
View file @
8bdf41b7
...
...
@@ -19,6 +19,7 @@ import com.winsun.mapper.SchoolMapper;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.mapper.UserSchoolMapper
;
import
com.winsun.utils.ExcelDealUtils
;
import
com.winsun.utils.ImportExcel
;
import
com.winsun.utils.MyBatisPlusUpdateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -32,14 +33,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* 正则校检
...
...
@@ -423,10 +422,6 @@ public class LzKpiController extends BaseController {
@Permission
(
menuname
=
"楼长KPI管理信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
public
ResponseData
downloadMoBan
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
SL_sysuName
);
columns
.
add
(
SL_account
);
columns
.
add
(
SL_substName
);
columns
.
add
(
SL_schoolName
);
columns
.
add
(
SL_reportDaily
);
columns
.
add
(
SL_collectiveSales
);
columns
.
add
(
SL_weeklyMeeting
);
...
...
@@ -434,27 +429,31 @@ public class LzKpiController extends BaseController {
columns
.
add
(
SL_designPlan
);
columns
.
add
(
SL_kpi
);
columns
.
add
(
SL_month
);
columns
.
add
(
SL_sysuName
);
columns
.
add
(
SL_account
);
columns
.
add
(
SL_substName
);
columns
.
add
(
SL_schoolName
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长KPI管理信息"
);
sheet
.
setColumnWidth
(
0
,
4
000
);
sheet
.
setColumnWidth
(
1
,
6
000
);
sheet
.
setColumnWidth
(
2
,
3
000
);
sheet
.
setColumnWidth
(
3
,
9
000
);
sheet
.
setColumnWidth
(
0
,
2
000
);
sheet
.
setColumnWidth
(
1
,
2
000
);
sheet
.
setColumnWidth
(
2
,
2
000
);
sheet
.
setColumnWidth
(
3
,
2
000
);
sheet
.
setColumnWidth
(
4
,
2000
);
sheet
.
setColumnWidth
(
5
,
2000
);
sheet
.
setColumnWidth
(
6
,
2
000
);
sheet
.
setColumnWidth
(
7
,
2
000
);
sheet
.
setColumnWidth
(
8
,
2
000
);
sheet
.
setColumnWidth
(
9
,
2
000
);
sheet
.
setColumnWidth
(
10
,
5
000
);
sheet
.
setColumnWidth
(
6
,
5
000
);
sheet
.
setColumnWidth
(
7
,
4
000
);
sheet
.
setColumnWidth
(
8
,
6
000
);
sheet
.
setColumnWidth
(
9
,
3
000
);
sheet
.
setColumnWidth
(
10
,
9
000
);
//下拉选项
List
<
String
>
fengju
=
new
ArrayList
<>();
/*
List<String> fengju = new ArrayList<>();
fengju.add("受理不成功");
fengju.add("受理成功");
sheet
=
this
.
getXSSFSheet
(
sheet
,
fengju
,
1
,
1
);
sheet = this.getXSSFSheet(sheet, fengju, 1, 1);
*/
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
XSSFCellStyle
cellStyle
=
workbook
.
createCellStyle
();
...
...
@@ -472,11 +471,11 @@ public class LzKpiController extends BaseController {
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
IOException
e
)
{
log
.
error
(
"
受理单
模板文件出错!"
+
e
.
getMessage
(),
e
);
log
.
error
(
"
楼长KPI管理信息
模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
return
ResponseData
.
error
(
"
受理单
模板出错"
);
return
ResponseData
.
error
(
"
楼长KPI管理信息
模板出错"
);
}
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
...
...
@@ -501,7 +500,7 @@ public class LzKpiController extends BaseController {
* @param file 上传的数据文件
* @return
*/
/*
@Permission(menuname = "上传数据", value = "importDate", method = RequestMethod.POST)
@Permission
(
menuname
=
"上传数据"
,
value
=
"importDate"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
updateDatas
(
@RequestParam
(
name
=
"file"
)
MultipartFile
file
)
{
StringBuffer
error
=
new
StringBuffer
();
if
(!
StringUtils
.
endsWithAny
(
file
.
getOriginalFilename
(),
"xlsx"
,
"xls"
))
{
...
...
@@ -517,123 +516,143 @@ public class LzKpiController extends BaseController {
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
log.error("
受理单
导入异常", e.getMessage());
log
.
error
(
"
楼长KPI管理信息
导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
if
(
listMap
.
size
()
==
1
)
{
return
ResponseData
.
error
(
"文件不能为空"
);
}
if (!listMap.get(0).get("a").toString().equals(SL_
sysuName
)) {
if
(!
listMap
.
get
(
0
).
get
(
"a"
).
toString
().
equals
(
SL_
reportDaily
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("b").toString().equals(SL_
account
)) {
if
(!
listMap
.
get
(
0
).
get
(
"b"
).
toString
().
equals
(
SL_
collectiveSales
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("c").toString().equals(SL_
substName
)) {
if
(!
listMap
.
get
(
0
).
get
(
"c"
).
toString
().
equals
(
SL_
weeklyMeeting
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("d").toString().equals(SL_
schoolName
)) {
if
(!
listMap
.
get
(
0
).
get
(
"d"
).
toString
().
equals
(
SL_
organTraining
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_reportDaily
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
e"
).
toString
().
equals
(
SL_designPlan
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_collectiveSales
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
f"
).
toString
().
equals
(
SL_kpi
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_weeklyMeeting
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
g"
).
toString
().
equals
(
SL_month
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_organTraining
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
h"
).
toString
().
equals
(
SL_sysuName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_designPlan
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
i"
).
toString
().
equals
(
SL_account
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_kpi
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
j"
).
toString
().
equals
(
SL_substName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if (!listMap.get(0).get("
d").toString().equals(SL_month
)) {
if
(!
listMap
.
get
(
0
).
get
(
"
k"
).
toString
().
equals
(
SL_schoolName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(
listMap
.
get
(
0
).
size
()
!=
11
)
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
List
<
String
>
accountList
=
new
LinkedList
<>();
List
<
Map
<
String
,
Object
>>
sysUserList
=
new
LinkedList
<>();
//校验数据
try
{
//校验数据
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
if
(!
temp
.
containsKey
(
"a"
))
{
return ResponseData.error("第" + (i + 1) + "行的
姓名
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
汇总任务量
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"a"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
姓名
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
汇总任务量
不能为空"
);
}
if
(!
temp
.
containsKey
(
"b"
))
{
return ResponseData.error("第" + (i + 1) + "行的
账号
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
参与集中营销
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"b"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
账号
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
参与集中营销
不能为空"
);
}
if
(!
temp
.
containsKey
(
"c"
))
{
return ResponseData.error("第" + (i + 1) + "行的
县分
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
组织周例会
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"c"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
县分
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
组织周例会
不能为空"
);
}
if
(!
temp
.
containsKey
(
"d"
))
{
return ResponseData.error("第" + (i + 1) + "行的
学校名
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
定制扫楼营销方案
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"d"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
学校名
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
定制扫楼营销方案
不能为空"
);
}
if
(!
temp
.
containsKey
(
"e"
))
{
return ResponseData.error("第" + (i + 1) + "行的
汇总任务量
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
组织培训
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"e"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
汇总任务量
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
组织培训
不能为空"
);
}
if
(!
temp
.
containsKey
(
"f"
))
{
return ResponseData.error("第" + (i + 1) + "行的
参与集中营销
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
KPI总值
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"f"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
参与集中营销
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
KPI总值
不能为空"
);
}
if
(!
temp
.
containsKey
(
"g"
))
{
return ResponseData.error("第" + (i + 1) + "行的
组织周例会
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
KPI月份
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"g"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的组织周例会不能为空");
}
if (!temp.containsKey("h")) {
return ResponseData.error("第" + (i + 1) + "行的定制扫楼营销方案不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的KPI月份不能为空"
);
}
if
(!
temp
.
containsKey
(
"h"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的姓名不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"h"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
定制扫楼营销方案
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
姓名
不能为空"
);
}
if
(!
temp
.
containsKey
(
"i"
))
{
return ResponseData.error("第" + (i + 1) + "行的
组织培训
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
账号
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"i"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
组织培训
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
账号
不能为空"
);
}
if
(!
temp
.
containsKey
(
"j"
))
{
return ResponseData.error("第" + (i + 1) + "行的
KPI总值
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
县分
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"j"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的
KPI总值
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
县分
不能为空"
);
}
if
(!
temp
.
containsKey
(
"k"
))
{
return ResponseData.error("第" + (i + 1) + "行的
KPI月份
不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的
学校名
不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"k"
).
toString
()))
{
return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空");
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的学校名不能为空"
);
}
if
(
temp
.
containsKey
(
"i"
))
{
accountList
.
add
(
temp
.
get
(
"i"
).
toString
());
}
}
Wrapper
<
SysUser
>
sysWrapper
=
new
EntityWrapper
<>();
sysWrapper
.
setSqlSelect
(
"id,account"
);
sysWrapper
.
in
(
"account"
,
accountList
);
sysUserList
=
sysUserMapper
.
selectMaps
(
sysWrapper
);
for
(
Map
<
String
,
Object
>
map
:
listMap
)
{
String
account
=
map
.
get
(
"i"
).
toString
();
for
(
Map
<
String
,
Object
>
tmap
:
sysUserList
)
{
if
(
account
.
equals
(
tmap
.
get
(
"account"
).
toString
())){
map
.
put
(
"h"
,
tmap
.
get
(
"id"
).
toString
());
break
;
}
}
}
//检查excel表中是否有重复人员编号
int size = listMap.size();
/*
int size = listMap.size();
Set<String> accountSet = new HashSet<>(size);
for (int i = 0; i < size; i++) {
Map<String, Object> temp = listMap.get(i);
...
...
@@ -641,46 +660,47 @@ public class LzKpiController extends BaseController {
}
if (accountSet.size() != size) {
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
}
}
*/
}
catch
(
Exception
e
)
{
log
.
error
(
"楼长KPI管理信息导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
int
number
=
0
;
Date
acceptDate
=
new
Date
();
Date
successTime
=
acceptDate
;
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
map
=
listMap
.
get
(
i
);
String sysuName = map.get("a").toString();
String account = map.get("b").toString();
String substName = map.get("c").toString();
String schoolName = map.get("d").toString();
Integer reportDaily = Integer.valueOf(map.get("e").toString());
Integer collectiveSales = Integer.valueOf(map.get("f").toString());
Integer weeklyMeeting = Integer.valueOf(map.get("g").toString());
Integer organTraining = Integer.valueOf(map.get("h").toString());
Integer designPlan = Integer.valueOf(map.get("i").toString());
Integer kpi = Integer.valueOf(map.get("j").toString());
String month = map.get("k").toString();
String acceptComment = null;
if (StringUtils.isNotBlank(map.get("d").toString())) {
acceptComment = map.get("d").toString();
}
LzKpi
lzKpi
=
new
LzKpi
();
Integer
reportDaily
=
Integer
.
valueOf
(
map
.
get
(
"a"
).
toString
());
lzKpi
.
setReportDaily
(
reportDaily
);
Integer
collectiveSales
=
Integer
.
valueOf
(
map
.
get
(
"b"
).
toString
());
lzKpi
.
setCollectiveSales
(
collectiveSales
);
Integer
weeklyMeeting
=
Integer
.
valueOf
(
map
.
get
(
"c"
).
toString
());
lzKpi
.
setWeeklyMeeting
(
weeklyMeeting
);
Integer
organTraining
=
Integer
.
valueOf
(
map
.
get
(
"d"
).
toString
());
lzKpi
.
setOrganTraining
(
organTraining
);
Integer
designPlan
=
Integer
.
valueOf
(
map
.
get
(
"e"
).
toString
());
lzKpi
.
setDesignPlan
(
designPlan
);
Integer
kpi
=
Integer
.
valueOf
(
map
.
get
(
"f"
).
toString
());
lzKpi
.
setKpi
(
kpi
);
String
month
=
map
.
get
(
"g"
).
toString
();
lzKpi
.
setMonth
(
month
);
String
userId
=
map
.
get
(
"h"
).
toString
();
lzKpi
.
setUserId
(
userId
);
Integer integer
= null;
if (StringUtils.isNotBlank(
account
)) {
integer = orderMapper.updateOrderSUByOrderNumberIsNotNull(orderNumber, orderStatus, acceptName, acceptResult, acceptComment, acceptDate,successTime
);
String
userId0
=
null
;
if
(
StringUtils
.
isNotBlank
(
map
.
get
(
"h"
).
toString
()
))
{
userId0
=
map
.
get
(
"h"
).
toString
(
);
}
Integer
integer
=
lzKpiMapper
.
insert
(
lzKpi
);
if
(
integer
==
1
)
{
number
++;
String id = orderMapper.selectIdByOrderNumber(orderNumber);
appMapper.inserOrderHis(id, status, acceptDate, user.getName());
}
else
{
error
.
append
(
"第"
+
(
i
+
1
)
+
"行的更新失败,"
);
}
}
error
.
append
(
"成功更新"
+
number
+
"条数据!"
);
return
ResponseData
.
success
(
error
.
toString
(),
"导入完成"
);
}
*/
}
}
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