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
535ea3b3
Commit
535ea3b3
authored
Apr 30, 2020
by
彭祥礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增 总经理KPI管理
parent
9a8ca5e2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
724 additions
and
31 deletions
+724
-31
common/src/main/java/com/winsun/bean/ManagerKpi.java
+94
-0
common/src/main/java/com/winsun/mapper/ManagerKpiMapper.java
+17
-0
service-manager/src/main/java/com/winsun/controller/LzKpiController.java
+14
-14
service-manager/src/main/java/com/winsun/controller/LzSalaryController.java
+17
-17
service-manager/src/main/java/com/winsun/controller/ManagerKpiController.java
+582
-0
No files found.
common/src/main/java/com/winsun/bean/ManagerKpi.java
0 → 100644
View file @
535ea3b3
package
com
.
winsun
.
bean
;
import
com.baomidou.mybatisplus.annotations.TableField
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 〈总经理KPI信息类〉
*
* @author PXL
* @create 2020/4/30 15:40
*/
@Data
@TableName
(
"hhr_manager_kpi"
)
public
class
ManagerKpi
implements
Serializable
{
/**
*日期月份
*/
@TableField
(
"month"
)
private
String
month
;
/**
*县分
*/
@TableField
(
"county"
)
private
String
county
;
/**
*督导
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 绩效奖金合计
*/
@TableField
(
"total_performance"
)
private
String
totalPerformance
;
/**
* 绩效基数
*/
@TableField
(
"performance_base"
)
private
Integer
performanceBase
;
/**
*应发绩效
*/
@TableField
(
"yf_performance"
)
private
double
yfPerformance
;
/**
*kpi总分
*/
@TableField
(
"kpi"
)
private
Integer
kpi
;
/**
*移动入网kpi
*/
@TableField
(
"rw_kpi"
)
private
Integer
rwKpi
;
/**
*存量维系kpi
*/
@TableField
(
"wx_kpi"
)
private
Integer
wxKpi
;
/**
*团队运营kpi
*/
@TableField
(
"yy_kpi"
)
private
Integer
yyKpi
;
/**
*每月工作kpi
*/
@TableField
(
"work_kpi"
)
private
Integer
workKpi
;
/**
* 2018年5月至今累计佣金
*/
@TableField
(
"total_bonus"
)
private
double
totalBonus
;
/**
* 2018年5月至今累计分成
*/
@TableField
(
"total_fund"
)
private
double
totalFund
;
/**
*秋营达标奖
*/
@TableField
(
"autumn_bonus"
)
private
double
autumnBonus
;
/**
*应发提成
*/
@TableField
(
"yf_bonus"
)
private
double
yfBonus
;
}
common/src/main/java/com/winsun/mapper/ManagerKpiMapper.java
0 → 100644
View file @
535ea3b3
package
com
.
winsun
.
mapper
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.ManagerKpi
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
/**
* 〈总经理KPI Mapper〉
*
* @author PXL
* @create 2020/4/30 15:55
*/
@Mapper
@Component
public
interface
ManagerKpiMapper
extends
BaseMapper
<
ManagerKpi
>
{
}
service-manager/src/main/java/com/winsun/controller/LzKpiController.java
View file @
535ea3b3
...
@@ -41,7 +41,7 @@ import java.io.IOException;
...
@@ -41,7 +41,7 @@ import java.io.IOException;
import
java.util.*
;
import
java.util.*
;
/**
/**
*
正则
校检
*
楼长KPI
校检
* @Author: xiangli
* @Author: xiangli
* @Date:
* @Date:
*/
*/
...
@@ -81,12 +81,12 @@ public class LzKpiController extends BaseController {
...
@@ -81,12 +81,12 @@ public class LzKpiController extends BaseController {
@Qualifier
(
"redisStringTemplate"
)
@Qualifier
(
"redisStringTemplate"
)
private
RedisTemplate
redisTemplate
;
private
RedisTemplate
redisTemplate
;
/**
/**
*
正则
添加
*
楼长KPI
添加
*
*
* @param lzKpi 添加对象json字符串
* @param lzKpi 添加对象json字符串
* @return
* @return
*/
*/
@Permission
(
menuname
=
"添加
正则
信息"
,
value
=
"insert"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"添加
楼长KPI
信息"
,
value
=
"insert"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
insertProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
public
ResponseData
<
String
>
insertProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -121,7 +121,7 @@ public class LzKpiController extends BaseController {
...
@@ -121,7 +121,7 @@ public class LzKpiController extends BaseController {
* @param id 需要删除的id
* @param id 需要删除的id
* @return
* @return
*/
*/
@Permission
(
menuname
=
"删除
正则
信息"
,
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"删除
楼长KPI
信息"
,
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
deleteProduct
(
@RequestParam
(
name
=
"id"
,
required
=
false
)
String
id
,
@RequestParam
(
name
=
"isdel"
,
required
=
false
)
String
isdel
)
{
public
ResponseData
<
String
>
deleteProduct
(
@RequestParam
(
name
=
"id"
,
required
=
false
)
String
id
,
@RequestParam
(
name
=
"isdel"
,
required
=
false
)
String
isdel
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -140,12 +140,12 @@ public class LzKpiController extends BaseController {
...
@@ -140,12 +140,12 @@ public class LzKpiController extends BaseController {
}
}
/**
/**
*
正则
信息编辑
*
楼长KPI
信息编辑
*
*
* @param lzKpi 编辑对象json字符串
* @param lzKpi 编辑对象json字符串
* @return
* @return
*/
*/
@Permission
(
menuname
=
"修改
正则
信息"
,
value
=
"update"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"修改
楼长KPI
信息"
,
value
=
"update"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -206,7 +206,7 @@ public class LzKpiController extends BaseController {
...
@@ -206,7 +206,7 @@ public class LzKpiController extends BaseController {
* @param pageSize
* @param pageSize
* @return
* @return
*/
*/
@Permission
(
menuname
=
"查询KPI信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"查询
楼长
KPI信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
listProduct
(
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
listProduct
(
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
...
@@ -330,7 +330,7 @@ public class LzKpiController extends BaseController {
...
@@ -330,7 +330,7 @@ public class LzKpiController extends BaseController {
* @param pageSize
* @param pageSize
* @return
* @return
*/
*/
@Permission
(
menuname
=
"导出KPI信息"
,
value
=
"excelOut"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"导出
楼长
KPI信息"
,
value
=
"excelOut"
,
method
=
RequestMethod
.
POST
)
public
void
excelOut
(
public
void
excelOut
(
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
...
@@ -441,7 +441,7 @@ public class LzKpiController extends BaseController {
...
@@ -441,7 +441,7 @@ public class LzKpiController extends BaseController {
*
*
* @return
* @return
*/
*/
@Permission
(
menuname
=
"楼长KPI
管理
信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
@Permission
(
menuname
=
"楼长KPI信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
public
ResponseData
downloadMoBan
()
{
public
ResponseData
downloadMoBan
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
SL_reportDaily
);
columns
.
add
(
SL_reportDaily
);
...
@@ -459,7 +459,7 @@ public class LzKpiController extends BaseController {
...
@@ -459,7 +459,7 @@ public class LzKpiController extends BaseController {
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
try
{
//创建工作表
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长KPI
管理
信息"
);
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长KPI信息"
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
1
,
3000
);
sheet
.
setColumnWidth
(
1
,
3000
);
sheet
.
setColumnWidth
(
2
,
3000
);
sheet
.
setColumnWidth
(
2
,
3000
);
...
@@ -493,11 +493,11 @@ public class LzKpiController extends BaseController {
...
@@ -493,11 +493,11 @@ public class LzKpiController extends BaseController {
workbook
.
write
(
os
);
workbook
.
write
(
os
);
os
.
flush
();
os
.
flush
();
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
log
.
error
(
"楼长KPI
管理
信息模板文件出错!"
+
e
.
getMessage
(),
e
);
log
.
error
(
"楼长KPI信息模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
return
ResponseData
.
error
(
"楼长KPI
管理
信息模板出错"
);
return
ResponseData
.
error
(
"楼长KPI信息模板出错"
);
}
}
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
...
@@ -538,7 +538,7 @@ public class LzKpiController extends BaseController {
...
@@ -538,7 +538,7 @@ public class LzKpiController extends BaseController {
try
{
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"楼长KPI
管理
信息导入异常"
,
e
.
getMessage
());
log
.
error
(
"楼长KPI信息导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
return
ResponseData
.
error
(
"导入异常!"
);
}
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
...
@@ -684,7 +684,7 @@ public class LzKpiController extends BaseController {
...
@@ -684,7 +684,7 @@ public class LzKpiController extends BaseController {
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
}*/
}*/
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"楼长KPI
管理
信息导入异常"
,
e
.
getMessage
());
log
.
error
(
"楼长KPI信息导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
return
ResponseData
.
error
(
"导入异常!"
);
}
}
...
...
service-manager/src/main/java/com/winsun/controller/LzSalaryController.java
View file @
535ea3b3
...
@@ -35,7 +35,7 @@ import java.io.IOException;
...
@@ -35,7 +35,7 @@ import java.io.IOException;
import
java.util.*
;
import
java.util.*
;
/**
/**
* 楼长薪
水
管理
* 楼长薪
酬
管理
* @Author: pxl
* @Author: pxl
* @create 2020/4/29 14:08
* @create 2020/4/29 14:08
*/
*/
...
@@ -49,7 +49,7 @@ public class LzSalaryController extends BaseController {
...
@@ -49,7 +49,7 @@ public class LzSalaryController extends BaseController {
private
static
final
int
HEADER_NUM
=
-
1
;
private
static
final
int
HEADER_NUM
=
-
1
;
private
static
final
int
SHEET_INDEX
=
0
;
private
static
final
int
SHEET_INDEX
=
0
;
/**
/**
* 楼长薪
水
信息模板列名
* 楼长薪
酬
信息模板列名
*/
*/
private
static
String
SL_month
=
"KPI月份"
;
private
static
String
SL_month
=
"KPI月份"
;
private
static
String
SL_substName
=
"县分"
;
private
static
String
SL_substName
=
"县分"
;
...
@@ -79,12 +79,12 @@ public class LzSalaryController extends BaseController {
...
@@ -79,12 +79,12 @@ public class LzSalaryController extends BaseController {
@Qualifier
(
"redisStringTemplate"
)
@Qualifier
(
"redisStringTemplate"
)
private
RedisTemplate
redisTemplate
;
private
RedisTemplate
redisTemplate
;
/**
/**
*
正则
添加
*
楼长薪酬
添加
*
*
* @param lzKpi 添加对象json字符串
* @param lzKpi 添加对象json字符串
* @return
* @return
*/
*/
@Permission
(
menuname
=
"添加楼长薪
水
信息"
,
value
=
"insert"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"添加楼长薪
酬
信息"
,
value
=
"insert"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
insertProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
public
ResponseData
<
String
>
insertProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -113,11 +113,11 @@ public class LzSalaryController extends BaseController {
...
@@ -113,11 +113,11 @@ public class LzSalaryController extends BaseController {
}
}
/**
/**
* 楼长薪
水
删除
* 楼长薪
酬
删除
* @param id 需要删除的id
* @param id 需要删除的id
* @return
* @return
*/
*/
@Permission
(
menuname
=
"删除
正则
信息"
,
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"删除
楼长薪酬
信息"
,
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
deleteProduct
(
@RequestParam
(
name
=
"id"
,
required
=
false
)
String
id
,
@RequestParam
(
name
=
"isdel"
,
required
=
false
)
String
isdel
)
{
public
ResponseData
<
String
>
deleteProduct
(
@RequestParam
(
name
=
"id"
,
required
=
false
)
String
id
,
@RequestParam
(
name
=
"isdel"
,
required
=
false
)
String
isdel
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -136,11 +136,11 @@ public class LzSalaryController extends BaseController {
...
@@ -136,11 +136,11 @@ public class LzSalaryController extends BaseController {
}
}
/**
/**
* 修改楼长薪
水
信息
* 修改楼长薪
酬
信息
* @param lzKpi 编辑对象json字符串
* @param lzKpi 编辑对象json字符串
* @return
* @return
*/
*/
@Permission
(
menuname
=
"修改楼长薪
水
信息"
,
value
=
"update"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"修改楼长薪
酬
信息"
,
value
=
"update"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
...
@@ -315,7 +315,7 @@ public class LzSalaryController extends BaseController {
...
@@ -315,7 +315,7 @@ public class LzSalaryController extends BaseController {
* @param pageSize
* @param pageSize
* @return
* @return
*/
*/
@Permission
(
menuname
=
"查询楼长薪
水
信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"查询楼长薪
酬
信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
listProduct
(
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
listProduct
(
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
...
@@ -437,7 +437,7 @@ public class LzSalaryController extends BaseController {
...
@@ -437,7 +437,7 @@ public class LzSalaryController extends BaseController {
* @param pageSize
* @param pageSize
* @return
* @return
*/
*/
@Permission
(
menuname
=
"导出楼长薪
水
信息"
,
value
=
"excelOut"
,
method
=
RequestMethod
.
POST
)
@Permission
(
menuname
=
"导出楼长薪
酬
信息"
,
value
=
"excelOut"
,
method
=
RequestMethod
.
POST
)
public
void
excelOut
(
public
void
excelOut
(
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"userName"
,
required
=
false
)
String
userName
,
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"schoolName"
,
required
=
false
)
String
schoolName
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
...
@@ -526,7 +526,7 @@ public class LzSalaryController extends BaseController {
...
@@ -526,7 +526,7 @@ public class LzSalaryController extends BaseController {
list
.
add
(
map
);
list
.
add
(
map
);
}
}
ServletOutputStream
os
=
null
;
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
ExcelDealUtils
.
getWorkBook
(
ExcelDealUtils
.
wageExcel
(
"楼长楼长薪
水
清单"
),
list
);
XSSFWorkbook
workbook
=
ExcelDealUtils
.
getWorkBook
(
ExcelDealUtils
.
wageExcel
(
"楼长楼长薪
酬
清单"
),
list
);
try
{
try
{
HttpServletResponse
response
=
getHttpServletResponse
();
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
reset
();
...
@@ -547,7 +547,7 @@ public class LzSalaryController extends BaseController {
...
@@ -547,7 +547,7 @@ public class LzSalaryController extends BaseController {
*
*
* @return
* @return
*/
*/
@Permission
(
menuname
=
"楼长楼长薪
水
管理信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
@Permission
(
menuname
=
"楼长楼长薪
酬
管理信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
public
ResponseData
downloadMoBan
()
{
public
ResponseData
downloadMoBan
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
SL_month
);
columns
.
add
(
SL_month
);
...
@@ -563,7 +563,7 @@ public class LzSalaryController extends BaseController {
...
@@ -563,7 +563,7 @@ public class LzSalaryController extends BaseController {
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
try
{
//创建工作表
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长楼长薪
水
管理信息"
);
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长楼长薪
酬
管理信息"
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
1
,
3000
);
sheet
.
setColumnWidth
(
1
,
3000
);
sheet
.
setColumnWidth
(
2
,
5000
);
sheet
.
setColumnWidth
(
2
,
5000
);
...
@@ -595,11 +595,11 @@ public class LzSalaryController extends BaseController {
...
@@ -595,11 +595,11 @@ public class LzSalaryController extends BaseController {
workbook
.
write
(
os
);
workbook
.
write
(
os
);
os
.
flush
();
os
.
flush
();
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
log
.
error
(
"楼长楼长薪
水
管理信息模板文件出错!"
+
e
.
getMessage
(),
e
);
log
.
error
(
"楼长楼长薪
酬
管理信息模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
return
ResponseData
.
error
(
"楼长楼长薪
水
管理信息模板出错"
);
return
ResponseData
.
error
(
"楼长楼长薪
酬
管理信息模板出错"
);
}
}
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
...
@@ -640,7 +640,7 @@ public class LzSalaryController extends BaseController {
...
@@ -640,7 +640,7 @@ public class LzSalaryController extends BaseController {
try
{
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"楼长楼长薪
水
管理信息导入异常"
,
e
.
getMessage
());
log
.
error
(
"楼长楼长薪
酬
管理信息导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
return
ResponseData
.
error
(
"导入异常!"
);
}
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
...
@@ -778,7 +778,7 @@ public class LzSalaryController extends BaseController {
...
@@ -778,7 +778,7 @@ public class LzSalaryController extends BaseController {
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
}*/
}*/
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"楼长楼长薪
水
管理信息导入异常"
,
e
.
getMessage
());
log
.
error
(
"楼长楼长薪
酬
管理信息导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
return
ResponseData
.
error
(
"导入异常!"
);
}
}
...
...
service-manager/src/main/java/com/winsun/controller/ManagerKpiController.java
0 → 100644
View file @
535ea3b3
package
com
.
winsun
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.enums.SqlLike
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.shiro.ShiroUser
;
import
com.winsun.auth.core.util.IOUtils
;
import
com.winsun.bean.*
;
import
com.winsun.mapper.*
;
import
com.winsun.utils.ExcelDealUtils
;
import
com.winsun.utils.ImportExcel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.ss.util.CellRangeAddressList
;
import
org.apache.poi.xssf.usermodel.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.redis.core.RedisTemplate
;
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.*
;
/**
* 总经理KPI
* @Author: pxl
* @create 2020/4/29 14:08
*/
@Slf4j
@RestController
@RequestMapping
(
"/managerKpi"
)
public
class
ManagerKpiController
extends
BaseController
{
/**
* 导入
*/
private
static
final
int
HEADER_NUM
=
-
1
;
private
static
final
int
SHEET_INDEX
=
0
;
/**
* 总经理KPI信息模板列名
*/
private
static
String
SL_month
=
"KPI月份"
;
private
static
String
SL_substName
=
"县分"
;
private
static
String
SL_schoolName
=
"学校"
;
private
static
String
SL_sysuName
=
"姓名(必填)"
;
private
static
String
SL_rechargeNum
=
"放号充值数"
;
private
static
String
SL_rechargeWage
=
"放号薪酬"
;
private
static
String
SL_kpi
=
"kpi总值"
;
private
static
String
SL_kpiWage
=
"kpi薪酬"
;
private
static
String
SL_wage
=
"总薪酬"
;
@Autowired
private
ManagerKpiMapper
managerKpiMapper
;
@Autowired
private
LzKpiMapper
lzKpiMapper
;
@Autowired
private
SchoolMapper
schoolMapper
;
@Autowired
private
UserSchoolMapper
userSchoolMapper
;
@Autowired
private
HhrUserMapper
hhrUserMapper
;
@Autowired
private
SalesOrderMapper
salesOrderMapper
;
@Autowired
private
SysUserMapper
sysUserMapper
;
@Autowired
@Qualifier
(
"redisStringTemplate"
)
private
RedisTemplate
redisTemplate
;
/**
* 总经理KPI信息添加
*
* @param lzKpi 添加对象json字符串
* @return
*/
@Permission
(
menuname
=
"添加总经理KPI信息"
,
value
=
"insert"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
insertProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
}
HashMap
hashMap
=
JSON
.
parseObject
(
lzKpi
,
HashMap
.
class
);
Wrapper
<
SysUser
>
sysWrapper
=
new
EntityWrapper
<>();
String
account
=
hashMap
.
get
(
"account"
).
toString
();
String
substName
=
hashMap
.
get
(
"substName"
).
toString
();
sysWrapper
.
eq
(
StringUtils
.
isNotBlank
(
account
),
"account"
,
account
);
sysWrapper
.
eq
(
StringUtils
.
isNotBlank
(
substName
),
"name"
,
substName
);
List
<
SysUser
>
sysUserList
=
sysUserMapper
.
selectList
(
sysWrapper
);
if
(
sysUserList
.
size
()>
0
){
/*ManagerKpi managerKpi = new ManagerKpi();
managerKpi.setUserId(Integer.valueOf(sysUserList.get(0).getId()));
managerKpi.setMonth(hashMap.get("month").toString());
managerKpi.setRechargeNum(Integer.valueOf(hashMap.get("rechargeNum").toString()));
managerKpi.setRechargeWage(Integer.valueOf(hashMap.get("rechargeWage").toString()));
managerKpi.setKpi(Integer.valueOf(hashMap.get("kpi").toString()));
managerKpi.setKpiWage(Integer.valueOf(hashMap.get("kpiWage").toString()));
managerKpi.setWage(Integer.valueOf(hashMap.get("wage").toString()));
managerKpiMapper.insert(managerKpi);*/
return
ResponseData
.
success
(
"添加成功!"
);
}
return
ResponseData
.
error
(
"账号不存在?"
);
}
/**
* 总经理KPI删除
* @param id 需要删除的id
* @return
*/
@Permission
(
menuname
=
"删除正则信息"
,
value
=
"delete"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
deleteProduct
(
@RequestParam
(
name
=
"id"
,
required
=
false
)
String
id
,
@RequestParam
(
name
=
"isdel"
,
required
=
false
)
String
isdel
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
}
//Wrapper wrapper = new EntityWrapper<>();
//wrapper.eq(StringUtils.isNotBlank(id),"id", id);
//Map<String, Object> dataMapping = new HashMap<>();
//dataMapping.put("is_del", isdel);
//lzKpiMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
if
(
StringUtils
.
isNotBlank
(
id
)){
/*lzWageMpapper.deleteById(id);*/
return
ResponseData
.
success
(
"操作成功!"
);
}
return
ResponseData
.
error
(
"删除id不能为空!"
);
}
/**
* 修改总经理KPI信息
* @param lzKpi 编辑对象json字符串
* @return
*/
@Permission
(
menuname
=
"修改总经理KPI信息"
,
value
=
"update"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"lzKpi"
)
String
lzKpi
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
}
/*LzKpi pro = JSON.parseObject(lzKpi, LzKpi.class);
Wrapper wrapper = new EntityWrapper<>();
wrapper.eq("id", pro.getId());
Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("report_daily", pro.getReportDaily());
dataMapping.put("collective_sales", pro.getCollectiveSales());
dataMapping.put("weekly_meeting", pro.getWeeklyMeeting());
dataMapping.put("organ_training", pro.getOrganTraining());
dataMapping.put("design_plan", pro.getDesignPlan());
dataMapping.put("kpi", pro.getKpi());
dataMapping.put("user_id", pro.getUserId());
dataMapping.put("month", pro.getMonth());
dataMapping.put("is_Del", pro.getIsDel());
lzWageMpapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);*/
return
ResponseData
.
success
(
"修改成功!"
);
}
/**
* @param name
* @param month
* @param pageNo
* @param pageSize
* @return
*/
@Permission
(
menuname
=
"查询总经理KPI信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
ManagerKpi
>>
listProduct
(
@RequestParam
(
name
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"pageNo"
)
int
pageNo
,
@RequestParam
(
name
=
"pageSize"
)
int
pageSize
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
}
Page
<
ManagerKpi
>
page
=
new
Page
<>(
pageNo
,
pageSize
);
Wrapper
<
ManagerKpi
>
managerKpiWrapper
=
new
EntityWrapper
<>();
managerKpiWrapper
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
,
SqlLike
.
DEFAULT
);
List
<
ManagerKpi
>
managerKpiList
=
managerKpiMapper
.
selectList
(
managerKpiWrapper
);
List
<
ManagerKpi
>
dataList
=
new
ArrayList
<>();
//redisTemplate.opsForValue().set(hcmap, hcmap, 60, TimeUnit.MINUTES);
if
(
managerKpiList
.
size
()
<
pageSize
)
{
dataList
=
managerKpiList
;
}
else
{
dataList
=
managerKpiList
.
subList
((
pageNo
-
1
)*
pageSize
,
pageNo
*
pageSize
);
}
page
.
setRecords
(
dataList
);
page
.
setTotal
(
managerKpiList
.
size
());
return
ResponseData
.
success
(
page
,
"查询成功!"
);
}
/**
* @param name
* @param month
* @param pageNo
* @param pageSize
* @return
*/
@Permission
(
menuname
=
"导出总经理KPI信息"
,
value
=
"excelOut"
,
method
=
RequestMethod
.
POST
)
public
void
excelOut
(
@RequestParam
(
name
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
name
=
"month"
,
required
=
false
)
String
month
,
@RequestParam
(
name
=
"pageNo"
)
int
pageNo
,
@RequestParam
(
name
=
"pageSize"
)
int
pageSize
)
throws
IOException
{
ShiroUser
user
=
getShiroUser
();
List
<
String
>
userIds1
=
new
ArrayList
<>();
Wrapper
<
SysUser
>
sysWrapper
=
new
EntityWrapper
<>();
//sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT);
List
<
SysUser
>
sysUserList
=
sysUserMapper
.
selectList
(
sysWrapper
);
for
(
SysUser
sysUser
:
sysUserList
)
{
userIds1
.
add
(
sysUser
.
getId
());
}
if
(
sysUserList
.
size
()==
0
){
log
.
error
(
"查询数据为空!"
);
}
List
<
Integer
>
schoolIds
=
new
ArrayList
<>();
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
//schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName);
//schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName);
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
schoolWrapper
);
for
(
School
school
:
schoolList
)
{
schoolIds
.
add
(
school
.
getId
());
}
if
(
schoolList
.
size
()==
0
){
log
.
error
(
"查询数据为空!"
);
}
List
<
String
>
userIds2
=
new
ArrayList
<>();
Wrapper
<
UserSchool
>
usWrapper
=
new
EntityWrapper
<>();
usWrapper
.
in
(
"school_id"
,
schoolIds
);
List
<
UserSchool
>
userSchoolList
=
userSchoolMapper
.
selectList
(
usWrapper
);
List
<
UserSchool
>
userSchoolsTemp
=
new
ArrayList
<>();
for
(
UserSchool
userSchool
:
userSchoolList
)
{
userIds2
.
add
(
userSchool
.
getUserId
());
}
List
<
String
>
userIds
=
new
ArrayList
<>();
for
(
String
s
:
userIds1
)
{
for
(
String
s1
:
userIds2
)
{
if
(
s
.
equals
(
s1
)){
userIds
.
add
(
s1
);
break
;
}
}
}
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
Wrapper
<
LzWage
>
wrapper
=
new
EntityWrapper
();
if
(
month
.
length
()>
7
){
month
=
month
.
substring
(
0
,
7
);
}
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
month
),
"month"
,
month
);
wrapper
.
in
(
"user_id"
,
userIds
);
List
<
LzWage
>
lzWages
=
null
;
//lzWageMpapper.selectList(wrapper);
if
(
lzWages
.
size
()==
0
){
log
.
error
(
"查询数据为空!"
);
}
for
(
LzWage
lzWage
:
lzWages
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
lzWage
.
getId
());
map
.
put
(
"month"
,
lzWage
.
getMonth
());
map
.
put
(
"rechargeNum"
,
lzWage
.
getRechargeNum
());
map
.
put
(
"rechargeWage"
,
lzWage
.
getRechargeWage
());
map
.
put
(
"kpi"
,
lzWage
.
getKpi
());
map
.
put
(
"kpiWage"
,
lzWage
.
getKpiWage
());
map
.
put
(
"wage"
,
lzWage
.
getWage
());
map
.
put
(
"userId"
,
lzWage
.
getUserId
());
for
(
SysUser
sysUser
:
sysUserList
)
{
if
((
lzWage
.
getUserId
().
toString
()).
equals
(
sysUser
.
getId
())){
map
.
put
(
"sysuName"
,
sysUser
.
getName
());
map
.
put
(
"account"
,
sysUser
.
getAccount
());
break
;
}
}
for
(
UserSchool
userSchool
:
userSchoolList
)
{
if
((
lzWage
.
getUserId
().
toString
()).
equals
(
userSchool
.
getUserId
())){
String
schoolId
=
userSchool
.
getSchoolId
();
for
(
School
school
:
schoolList
)
{
if
(
schoolId
.
equals
(
school
.
getId
()+
""
)){
map
.
put
(
"schoolName"
,
school
.
getSchoolName
());
map
.
put
(
"substName"
,
school
.
getSubName
());
break
;
}
}
}
}
list
.
add
(
map
);
}
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
ExcelDealUtils
.
getWorkBook
(
ExcelDealUtils
.
wageExcel
(
"楼长总经理KPI清单"
),
list
);
try
{
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
Exception
e
)
{
log
.
error
(
"文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
/**
* 受理订单模板下载
*
* @return
*/
@Permission
(
menuname
=
"楼长总经理KPI信息导入模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadMoBan"
)
public
ResponseData
downloadMoBan
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
SL_month
);
columns
.
add
(
SL_substName
);
columns
.
add
(
SL_schoolName
);
columns
.
add
(
SL_sysuName
);
columns
.
add
(
SL_rechargeNum
);
columns
.
add
(
SL_rechargeWage
);
columns
.
add
(
SL_kpi
);
columns
.
add
(
SL_kpiWage
);
columns
.
add
(
SL_wage
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"楼长总经理KPI信息"
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
1
,
3000
);
sheet
.
setColumnWidth
(
2
,
5000
);
sheet
.
setColumnWidth
(
3
,
3000
);
sheet
.
setColumnWidth
(
4
,
3000
);
sheet
.
setColumnWidth
(
5
,
3000
);
sheet
.
setColumnWidth
(
6
,
3000
);
sheet
.
setColumnWidth
(
7
,
3000
);
sheet
.
setColumnWidth
(
8
,
3000
);
//下拉选项
/*List<String> fengju = new ArrayList<>();
fengju.add("受理不成功");
fengju.add("受理成功");
sheet = this.getXSSFSheet(sheet, fengju, 1, 1);*/
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
XSSFCellStyle
cellStyle
=
workbook
.
createCellStyle
();
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
columns
.
forEach
(
val
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
val
);
});
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;fileName=data.xlsx"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
IOException
e
)
{
log
.
error
(
"楼长总经理KPI信息模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
return
ResponseData
.
error
(
"楼长总经理KPI信息模板出错"
);
}
XSSFSheet
getXSSFSheet
(
XSSFSheet
sheet
,
List
<
String
>
datas
,
int
firstcol
,
int
lastcol
)
{
if
(
datas
.
size
()
==
0
)
{
return
sheet
;
}
String
[]
strdata
=
new
String
[
datas
.
size
()];
for
(
int
i
=
0
;
i
<
datas
.
size
();
i
++)
{
strdata
[
i
]
=
datas
.
get
(
i
);
}
XSSFDataValidationHelper
dvHelper
=
new
XSSFDataValidationHelper
(
sheet
);
XSSFDataValidationConstraint
dvConstraint1
=
(
XSSFDataValidationConstraint
)
dvHelper
.
createExplicitListConstraint
(
strdata
);
CellRangeAddressList
addressList
=
new
CellRangeAddressList
(
1
,
20000
,
firstcol
,
lastcol
);
XSSFDataValidation
validation
=
(
XSSFDataValidation
)
dvHelper
.
createValidation
(
dvConstraint1
,
addressList
);
sheet
.
addValidationData
(
validation
);
return
sheet
;
}
/**
* 受理订单
*
* @param file 上传的数据文件
* @return
*/
@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"
))
{
return
ResponseData
.
error
(
"手工上传数据仅支持Excel文件,其他格式不支持!"
);
}
ShiroUser
user
=
getShiroUser
();
// 当前是否有数据权限
boolean
hasDataPermission
=
user
.
getRoleNames
().
stream
().
anyMatch
(
data
->
StringUtils
.
equalsAny
(
data
,
"活动上单员"
,
"数据管理员"
,
"超级管理员"
));
if
(!
hasDataPermission
)
{
return
ResponseData
.
error
(
"无数据权限!"
);
}
ImportExcel
importExcel
=
null
;
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
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_month
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"b"
).
toString
().
equals
(
SL_substName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"c"
).
toString
().
equals
(
SL_schoolName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"d"
).
toString
().
equals
(
SL_sysuName
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"f"
).
toString
().
equals
(
SL_rechargeNum
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"g"
).
toString
().
equals
(
SL_rechargeWage
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"h"
).
toString
().
equals
(
SL_kpi
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"i"
).
toString
().
equals
(
SL_kpiWage
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"j"
).
toString
().
equals
(
SL_wage
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
/*if (listMap.get(0).size() != 11) {
return ResponseData.error("模板不对,请选择正确的模板!");
}*/
List
<
String
>
accountList
=
new
LinkedList
<>();
List
<
String
>
userNameList
=
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
)
+
"行的KPI月份不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"a"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的KPI月份不能为空"
);
}
if
(!
temp
.
containsKey
(
"b"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号充值数不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"b"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号充值数不能为空"
);
}
if
(!
temp
.
containsKey
(
"c"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号薪酬不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"c"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号薪酬不能为空"
);
}
if
(!
temp
.
containsKey
(
"d"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的kpi总值不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"d"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的kpi总值不能为空"
);
}
if
(!
temp
.
containsKey
(
"e"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的kpi薪酬不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"e"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的kpi薪酬不能为空"
);
}
if
(!
temp
.
containsKey
(
"f"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的总薪酬不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"f"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的总薪酬不能为空"
);
}
/*if (!temp.containsKey("h")) {
return ResponseData.error("第" + (i + 1) + "行的县分不能为空");
}
if (StringUtils.isBlank(temp.get("h").toString())) {
return ResponseData.error("第" + (i + 1) + "行的县分不能为空");
}
if (!temp.containsKey("i")) {
return ResponseData.error("第" + (i + 1) + "行的学校不能为空");
}
if (StringUtils.isBlank(temp.get("i").toString())) {
return ResponseData.error("第" + (i + 1) + "行的学校不能为空");
}*/
if
(!
temp
.
containsKey
(
"j"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的姓名不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"j"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的姓名不能为空"
);
}
/*if (!temp.containsKey("e")) {
return ResponseData.error("第" + (i + 1) + "行的银行账号不能为空");
}
if (StringUtils.isBlank(temp.get("e").toString())) {
return ResponseData.error("第" + (i + 1) + "行的银行账号不能为空");
}*/
if
(
temp
.
containsKey
(
"j"
))
{
userNameList
.
add
(
temp
.
get
(
"j"
).
toString
());
}
}
Wrapper
<
SysUser
>
sysWrapper
=
new
EntityWrapper
<>();
sysWrapper
.
setSqlSelect
(
"id,account"
);
if
(
accountList
.
size
()
!=
0
){
sysWrapper
.
in
(
"name"
,
userNameList
);
sysUserList
=
sysUserMapper
.
selectMaps
(
sysWrapper
);
}
for
(
Map
<
String
,
Object
>
map
:
listMap
)
{
String
name
=
map
.
get
(
"j"
).
toString
();
for
(
Map
<
String
,
Object
>
tmap
:
sysUserList
)
{
if
(
name
.
equals
(
tmap
.
get
(
"name"
).
toString
())){
map
.
put
(
"k"
,
tmap
.
get
(
"id"
).
toString
());
break
;
}
}
}
//检查excel表中是否有重复人员编号
/*int size = listMap.size();
Set<String> accountSet = new HashSet<>(size);
for (int i = 0; i < size; i++) {
Map<String, Object> temp = listMap.get(i);
accountSet.add((String) temp.get("b"));
}
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
);
LzWage
lzWage
=
new
LzWage
();
String
month
=
map
.
get
(
"a"
).
toString
();
lzWage
.
setMonth
(
month
);
Integer
rechargeNum
=
Integer
.
valueOf
(
map
.
get
(
"b"
).
toString
());
lzWage
.
setRechargeNum
(
rechargeNum
);
double
rechargeWage
=
Double
.
valueOf
(
map
.
get
(
"c"
).
toString
());
lzWage
.
setRechargeWage
(
rechargeWage
);
double
kpi
=
Double
.
valueOf
(
map
.
get
(
"d"
).
toString
());
lzWage
.
setKpi
(
kpi
);
double
kpiWage
=
Double
.
valueOf
(
map
.
get
(
"e"
).
toString
());
lzWage
.
setKpiWage
(
kpiWage
);
double
wage
=
Integer
.
valueOf
(
map
.
get
(
"f"
).
toString
());
lzWage
.
setWage
(
wage
);
Integer
userId
=
Integer
.
valueOf
(
map
.
get
(
"k"
).
toString
());
lzWage
.
setUserId
(
userId
);
/*Integer integer = lzWageMpapper.insert(lzWage);
if (integer == 1) {
number++;
} 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