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
7d3b5028
Commit
7d3b5028
authored
Jun 13, 2020
by
彭祥礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增合伙人配置二维码
parent
e921634d
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
627 additions
and
4 deletions
+627
-4
apply-net/src/main/java/com/winsun/controller/DeployController.java
+140
-0
common/src/main/java/com/winsun/bean/UserDeploy.java
+49
-0
common/src/main/java/com/winsun/bean/UserSchool.java
+1
-0
common/src/main/java/com/winsun/mapper/UserDeployMapper.java
+17
-0
service-manager/src/main/java/com/winsun/controller/NewUserController.java
+2
-0
service-manager/src/main/java/com/winsun/controller/UserDeployController.java
+145
-0
service-manager/src/main/java/com/winsun/utils/ExcelDealUtils.java
+100
-4
task/src/main/java/com/winsun/TimingTask/LzSalaryTask.java
+173
-0
No files found.
apply-net/src/main/java/com/winsun/controller/DeployController.java
0 → 100644
View file @
7d3b5028
package
com
.
winsun
.
controller
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
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.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.bean.UserDeploy
;
import
com.winsun.bean.UserSchool
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.mapper.UserDeployMapper
;
import
com.winsun.mapper.UserSchoolMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 〈合伙人配置信息管理〉
*
* @author PXL
* @create 2020/6/8 11:53
*/
@Slf4j
@RestController
@RequestMapping
(
"/deploy"
)
public
class
DeployController
extends
BaseController
{
@Autowired
private
UserDeployMapper
userDeployMapper
;
@Autowired
private
SysUserMapper
sysUserMapper
;
@Autowired
private
SchoolMapper
schoolMapper
;
@Autowired
private
UserSchoolMapper
userSchoolMapper
;
//新用户选择套餐页面*
@RequestMapping
(
value
=
"/chooseArea"
)
@ResponseBody
public
String
chooseArea
(
String
partner
,
RedirectAttributes
attr
)
{
List
<
Map
<
String
,
Object
>>
areaQrCode
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
partner
)){
//areaQrCode =hhrManager.findAreaQrCode(partner);
}
else
{
return
"redirect:/customer/nocard.do"
;
}
if
(
areaQrCode
.
size
()!=
1
){
return
"redirect:/customer/nocard.do"
;
}
return
"mobilePhone/yrym_chooseArea"
;
}
/**
*
*/
@RequestMapping
(
value
=
"/findAreaCustomer"
)
@ResponseBody
public
ResponseData
<
Map
<
String
,
Object
>>
findAreaCustomer
(
@RequestParam
(
"id"
)
Integer
id
)
{
Map
<
String
,
Object
>
objMaps
=
new
HashMap
<>();
UserDeploy
userDeploy
=
userDeployMapper
.
selectById
(
id
);
List
<
String
>
schoolNameList
=
new
ArrayList
<>();
if
(
userDeploy
!=
null
){
userDeploy
.
setSubNames
(
userDeploy
.
getSubNames
().
substring
(
0
,
userDeploy
.
getSubNames
().
length
()-
1
));
userDeploy
.
setSchoolNames
(
userDeploy
.
getSchoolNames
().
substring
(
0
,
userDeploy
.
getSchoolNames
().
length
()-
1
));
userDeploy
.
setHhrIds
(
userDeploy
.
getHhrIds
().
substring
(
0
,
userDeploy
.
getHhrIds
().
length
()-
1
));
userDeploy
.
setHhrNames
(
userDeploy
.
getHhrNames
().
substring
(
0
,
userDeploy
.
getHhrNames
().
length
()-
1
));
Map
<
String
,
String
>
subMap
=
new
HashMap
<>();
String
[]
subNames
=
userDeploy
.
getSubNames
().
split
(
","
);
for
(
String
subName
:
subNames
)
{
subMap
.
put
(
subName
,
subName
);
}
String
[]
schoolNames
=
userDeploy
.
getSchoolNames
().
split
(
","
);
for
(
int
i
=
0
;
i
<
schoolNames
.
length
;
i
++){
schoolNameList
.
add
(
schoolNames
[
i
]);
}
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
schoolWrapper
.
in
(
"school_name"
,
schoolNameList
);
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
schoolWrapper
);
for
(
String
s
:
subMap
.
keySet
())
{
List
<
School
>
school1s
=
new
ArrayList
<>();
for
(
School
school
:
schoolList
)
{
if
(
school
.
getSubName
().
equals
(
s
)){
school1s
.
add
(
school
);
}
}
objMaps
.
put
(
s
,
school1s
);
}
objMaps
.
put
(
"subMap"
,
subMap
);
objMaps
.
put
(
"userDeploy"
,
userDeploy
);
return
ResponseData
.
success
(
objMaps
);
}
return
ResponseData
.
error
(
"没有查询相关的合伙人配置信息!!!"
);
}
/**
* 初始合伙人列表
* @param schoolId
* @return
*/
@Permission
(
menuname
=
"获取合伙人列表"
,
value
=
"getHhrs"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
SysUser
>>
getHhrs
(
@RequestParam
(
name
=
"schoolId"
,
required
=
false
)
String
schoolId
){
Wrapper
<
UserSchool
>
userSchoolWrapper
=
new
EntityWrapper
<>();
userSchoolWrapper
.
eq
(
StringUtils
.
isNotBlank
(
schoolId
),
"school_id"
,
schoolId
);
List
<
UserSchool
>
userSchools
=
userSchoolMapper
.
selectList
(
userSchoolWrapper
);
List
<
String
>
list
=
new
ArrayList
<>();
for
(
UserSchool
userSchool
:
userSchools
)
{
list
.
add
(
userSchool
.
getUserId
());
}
Wrapper
<
SysUser
>
sysUserWrapper
=
new
EntityWrapper
<>();
sysUserWrapper
.
setSqlSelect
(
"id,name"
);
sysUserWrapper
.
in
(
"id"
,
list
);
List
<
SysUser
>
sysUserList
=
sysUserMapper
.
selectList
(
sysUserWrapper
);
return
ResponseData
.
success
(
sysUserList
);
}
/**
* 初始合伙人列表
* @param subName
* @return
*/
@Permission
(
menuname
=
"获取学校列表"
,
value
=
"getSchools"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
School
>>
getSchools
(
@RequestParam
(
name
=
"subName"
,
required
=
false
)
String
subName
){
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
schoolWrapper
.
setSqlSelect
(
"id,school_name schoolName"
);
schoolWrapper
.
eq
(
StringUtils
.
isNotBlank
(
subName
),
"sub_name"
,
subName
);
List
<
School
>
list
=
schoolMapper
.
selectList
(
schoolWrapper
);
return
ResponseData
.
success
(
list
);
}
}
common/src/main/java/com/winsun/bean/UserDeploy.java
0 → 100644
View file @
7d3b5028
package
com
.
winsun
.
bean
;
import
com.baomidou.mybatisplus.annotations.TableField
;
import
com.baomidou.mybatisplus.annotations.TableId
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
com.baomidou.mybatisplus.enums.IdType
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* <合伙人配置管理>
* @Author pxl
* @Date 2020-06-11
*/
@Data
@TableName
(
"hhr_user_deploy"
)
public
class
UserDeploy
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3211780602827881637L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 配置名
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 合伙人Id
*/
@TableField
(
"hhrIds"
)
private
String
hhrIds
;
/**
* 合伙人name
*/
@TableField
(
"hhrNames"
)
private
String
hhrNames
;
@TableField
(
"subNames"
)
private
String
subNames
;
@TableField
(
"schoolNames"
)
private
String
schoolNames
;
}
common/src/main/java/com/winsun/bean/UserSchool.java
View file @
7d3b5028
...
...
@@ -22,5 +22,6 @@ public class UserSchool implements Serializable {
/**
*
*/
@TableId
(
value
=
"school_id"
)
private
String
schoolId
;
}
common/src/main/java/com/winsun/mapper/UserDeployMapper.java
0 → 100644
View file @
7d3b5028
package
com
.
winsun
.
mapper
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.UserDeploy
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
/**
* 〈合伙人配置信息〉
*
* @author PXL
* @create 2020/6/8 11:52
*/
@Mapper
@Component
public
interface
UserDeployMapper
extends
BaseMapper
<
UserDeploy
>
{
}
service-manager/src/main/java/com/winsun/controller/NewUserController.java
View file @
7d3b5028
...
...
@@ -266,7 +266,9 @@ public class NewUserController extends BaseController {
@Permission
(
menuname
=
"初始县分"
,
value
=
"initSubstName"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
School
>>
initSubstName
(
@RequestParam
(
name
=
"substName"
,
required
=
false
)
String
substName
){
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
schoolWrapper
.
setSqlSelect
(
"sub_name subName,school_name schoolName"
);
schoolWrapper
.
groupBy
(
"sub_name"
);
schoolWrapper
.
orderBy
(
"sub_name"
,
false
);
List
<
School
>
list
=
schoolMapper
.
selectList
(
schoolWrapper
);
return
ResponseData
.
success
(
list
);
...
...
service-manager/src/main/java/com/winsun/controller/UserDeployController.java
0 → 100644
View file @
7d3b5028
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.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.bean.UserDeploy
;
import
com.winsun.bean.UserSchool
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.mapper.UserDeployMapper
;
import
com.winsun.mapper.UserSchoolMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 〈合伙人配置信息管理〉
*
* @author PXL
* @create 2020/6/8 11:53
*/
@Slf4j
@RestController
@RequestMapping
(
"/userDeploy"
)
public
class
UserDeployController
extends
BaseController
{
@Autowired
private
UserDeployMapper
userDeployMapper
;
@Autowired
private
SysUserMapper
sysUserMapper
;
@Autowired
private
SchoolMapper
schoolMapper
;
@Autowired
private
UserSchoolMapper
userSchoolMapper
;
/**
* 合伙人配置信息编辑
*
* @param userDeploy 编辑对象json字符串
* @return
*/
@Permission
(
menuname
=
"修改或者添加合伙人配置信息"
,
value
=
"addOrUpdate"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
updateProduct
(
@RequestParam
(
"userDeploy"
)
String
userDeploy
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
user
.
getRoleNames
().
stream
().
anyMatch
(
roleName
->
StringUtils
.
equalsAny
(
roleName
,
"超级管理员"
)))
{
return
ResponseData
.
error
(
"无数据权限"
);
}
UserDeploy
pro
=
JSON
.
parseObject
(
userDeploy
,
UserDeploy
.
class
);
Integer
obj
=
pro
.
getId
();
if
(
obj
!=
null
){
Wrapper
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
pro
.
getId
());
userDeployMapper
.
update
(
pro
,
wrapper
);
return
ResponseData
.
success
(
"修改成功!"
);
}
userDeployMapper
.
insert
(
pro
);
return
ResponseData
.
success
(
"新增成功!"
);
}
@RequestMapping
(
value
=
"/delete"
)
@ResponseBody
public
ResponseData
<
String
>
delete
(
Integer
id
)
{
try
{
userDeployMapper
.
deleteById
(
id
);
}
catch
(
Exception
e
)
{
log
.
info
(
e
.
getMessage
());
return
ResponseData
.
error
(
"删除失败!!!"
);
}
return
ResponseData
.
success
(
"删除成功!!!"
);
}
/**
* 合伙人配置信息查詢
* @param name
* @param hhrNames
* @param pageSize
* @return
*/
@Permission
(
menuname
=
"查询合伙人配置信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
UserDeploy
>>
listProduct
(
@RequestParam
(
name
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
name
=
"hhrNames"
,
required
=
false
)
String
hhrNames
,
@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
(
"无数据权限"
);
}
Wrapper
<
UserDeploy
>
wrapper
=
new
EntityWrapper
();
wrapper
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
,
SqlLike
.
DEFAULT
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
hhrNames
),
"hhrNames"
,
hhrNames
,
SqlLike
.
DEFAULT
);
Page
<
UserDeploy
>
page
=
new
Page
<>(
pageNo
,
pageSize
);
List
<
UserDeploy
>
list
=
userDeployMapper
.
selectPage
(
page
,
wrapper
);
page
.
setRecords
(
list
);
return
ResponseData
.
success
(
page
,
"查询成功!"
);
}
/**
* 初始合伙人列表
* @param schoolId
* @return
*/
@Permission
(
menuname
=
"获取合伙人列表"
,
value
=
"getHhrs"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
SysUser
>>
getHhrs
(
@RequestParam
(
name
=
"schoolId"
,
required
=
false
)
String
schoolId
){
Wrapper
<
UserSchool
>
userSchoolWrapper
=
new
EntityWrapper
<>();
userSchoolWrapper
.
eq
(
StringUtils
.
isNotBlank
(
schoolId
),
"school_id"
,
schoolId
);
List
<
UserSchool
>
userSchools
=
userSchoolMapper
.
selectList
(
userSchoolWrapper
);
List
<
String
>
list
=
new
ArrayList
<>();
for
(
UserSchool
userSchool
:
userSchools
)
{
list
.
add
(
userSchool
.
getUserId
());
}
if
(
list
.
size
()>
0
){
Wrapper
<
SysUser
>
sysUserWrapper
=
new
EntityWrapper
<>();
sysUserWrapper
.
setSqlSelect
(
"id,name"
);
sysUserWrapper
.
in
(
"id"
,
list
);
List
<
SysUser
>
sysUserList
=
sysUserMapper
.
selectList
(
sysUserWrapper
);
return
ResponseData
.
success
(
sysUserList
);
}
return
ResponseData
.
success
(
null
);
}
/**
* 初始合伙人列表
* @param subName
* @return
*/
@Permission
(
menuname
=
"获取学校列表"
,
value
=
"getSchools"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
List
<
School
>>
getSchools
(
@RequestParam
(
name
=
"subName"
,
required
=
false
)
String
subName
){
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
schoolWrapper
.
setSqlSelect
(
"id,school_name schoolName"
);
schoolWrapper
.
eq
(
StringUtils
.
isNotBlank
(
subName
),
"sub_name"
,
subName
);
List
<
School
>
list
=
schoolMapper
.
selectList
(
schoolWrapper
);
return
ResponseData
.
success
(
list
);
}
}
service-manager/src/main/java/com/winsun/utils/ExcelDealUtils.java
View file @
7d3b5028
package
com
.
winsun
.
utils
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.xssf.usermodel.*
;
import
java.util.*
;
...
...
@@ -82,6 +80,69 @@ public class ExcelDealUtils {
return
workbook
;
}
private
static
void
setCellDefaultStyle
(
String
value
,
CellStyle
style
,
XSSFCell
cell
)
{
cell
.
setCellStyle
(
style
);
cell
.
setCellValue
(
value
);
}
public
static
XSSFWorkbook
getWorkBook3
(
Map
<
String
,
Object
>
headData
,
List
<
Map
<
String
,
Object
>>
list
)
{
String
sheetName
=
headData
.
get
(
"sheetName"
).
toString
();
List
<
String
>
names
=
(
List
<
String
>)
headData
.
get
(
"names"
);
List
<
String
>
columns
=
(
List
<
String
>)
headData
.
get
(
"columns"
);
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
sheetName
);
// 表头样式
XSSFCellStyle
headStyle
=
workbook
.
createCellStyle
();
// 字体样式
XSSFFont
xssfFont
=
workbook
.
createFont
();
// 加粗
xssfFont
.
setBold
(
true
);
// 字体名称
xssfFont
.
setFontName
(
"楷体"
);
// 字体大小
xssfFont
.
setFontHeight
(
16
);
// 设置字体css
headStyle
.
setFont
(
xssfFont
);
// 竖向居中
headStyle
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
// 横向居中
headStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
// 边框
headStyle
.
setBorderBottom
(
BorderStyle
.
THIN
);
headStyle
.
setBorderLeft
(
BorderStyle
.
THIN
);
headStyle
.
setBorderRight
(
BorderStyle
.
THIN
);
headStyle
.
setBorderTop
(
BorderStyle
.
THIN
);
headStyle
.
setFillBackgroundColor
(
IndexedColors
.
GREY_25_PERCENT
.
getIndex
());
//设置列宽度
for
(
int
i
=
0
;
i
<
columns
.
size
();
i
++
){
sheet
.
setColumnWidth
(
i
,
3000
);
}
// sheet.addMergedRegion(new CellRangeAddress(0, 0, 11, 18));
// sheet.addMergedRegion(new CellRangeAddress(0, 0, 19, 26));
final
XSSFRow
row2
=
sheet
.
createRow
(
2
);
for
(
int
i
=
0
;
i
<
names
.
size
();
i
++){
XSSFCell
cell
=
row2
.
createCell
(
i
);
cell
.
setCellValue
(
names
.
get
(
i
));
cell
.
setCellStyle
(
headStyle
);
}
//数据
int
rowIndex
=
row2
.
getRowNum
();
for
(
Map
<
String
,
Object
>
maps:
list
)
{
final
XSSFRow
rowdata
=
sheet
.
createRow
(++
rowIndex
);
for
(
String
column
:
columns
)
{
XSSFCell
cell
=
rowdata
.
createCell
(
Math
.
max
(
rowdata
.
getLastCellNum
(),
0
));
if
(
maps
.
get
(
column
)
!=
null
)
{
cell
.
setCellValue
(
maps
.
get
(
column
).
toString
());
}
}
}
return
workbook
;
}
public
static
Map
<
String
,
Object
>
dealHeadMap
(
Map
<
String
,
Object
>
map
){
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<
String
,
Object
>();
...
...
@@ -215,6 +276,41 @@ public class ExcelDealUtils {
return
resultMap
;
}
// 导出学一人一码统计报表excel表头
public
static
Map
<
String
,
Object
>
yrymExcel
(
String
sheetName
){
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<
String
,
Object
>();
headMap
.
put
(
"县分"
,
"subName"
);
headMap
.
put
(
"学校数"
,
"schoolNum"
);
headMap
.
put
(
"学生数"
,
"studentNum"
);
headMap
.
put
(
"新用户"
,
"newUserNumWeek"
);
headMap
.
put
(
"单宽带"
,
"newAloneNumWeek"
);
headMap
.
put
(
"融合宽带"
,
"newAloneNumWeek"
);
headMap
.
put
(
"老用户办理"
,
"oldUserNumWeek"
);
headMap
.
put
(
"老用户续约"
,
"oldContinueNumWeek"
);
headMap
.
put
(
"新增"
,
"finishNewNumWeek"
);
headMap
.
put
(
"存量"
,
"finishOldNumWeek"
);
headMap
.
put
(
"总计"
,
"sumWeek"
);
headMap
.
put
(
"新用户A"
,
"newUserNumMonth"
);
headMap
.
put
(
"单宽带A"
,
"newAloneNumMonth"
);
headMap
.
put
(
"融合宽带A"
,
"newMixNumMonth"
);
headMap
.
put
(
"老用户办理A"
,
"oldUserNumMonth"
);
headMap
.
put
(
"老用户续约A"
,
"oldContinueNumMonth"
);
headMap
.
put
(
"新增A"
,
"finishNewNumMonth"
);
headMap
.
put
(
"存量A"
,
"finishOldNumMonth"
);
headMap
.
put
(
"总计A"
,
"sumMonth"
);
headMap
.
put
(
"新用户B"
,
"newUserNumAll"
);
headMap
.
put
(
"单宽带B"
,
"newAloneNumAll"
);
headMap
.
put
(
"融合宽带B"
,
"newMixNumAll"
);
headMap
.
put
(
"老用户办理B"
,
"oldUserNumAll"
);
headMap
.
put
(
"老用户续约B"
,
"oldContinueNumAll"
);
headMap
.
put
(
"新增B"
,
"finishNewNumAll"
);
headMap
.
put
(
"存量B"
,
"finishOldNumAll"
);
headMap
.
put
(
"总计B"
,
"sumAll"
);
Map
<
String
,
Object
>
resultMap
=
dealHeadMap
(
headMap
);
resultMap
.
put
(
"sheetName"
,
sheetName
);
return
resultMap
;
}
// 总经理薪酬管理导出excel表头
public
static
Map
<
String
,
Object
>
zjlWageExcel
(
String
sheetName
){
Map
<
String
,
Object
>
headMap
=
new
LinkedHashMap
<
String
,
Object
>();
...
...
task/src/main/java/com/winsun/TimingTask/LzSalaryTask.java
0 → 100644
View file @
7d3b5028
package
com
.
winsun
.
TimingTask
;
import
com.baomidou.mybatisplus.enums.SqlLike
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.bean.HhrUser
;
import
com.winsun.bean.LzKpi
;
import
com.winsun.bean.LzWage
;
import
com.winsun.bean.SalesList
;
import
com.winsun.mapper.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.LinkedList
;
import
java.util.List
;
/**
* 〈每月自动生成上月楼长薪酬〉
*
* @author PXL
* @create 2020/6/8 9:44
*/
@Slf4j
@RestController
@Configuration
@EnableScheduling
public
class
LzSalaryTask
{
private
static
LzWageMpapper
lzWageMpapper
;
private
static
LzKpiMapper
lzKpiMapper
;
private
static
SchoolMapper
schoolMapper
;
private
static
UserSchoolMapper
userSchoolMapper
;
private
static
HhrUserMapper
hhrUserMapper
;
private
static
SalesListMapper
salesOrderMapper
;
private
static
SysUserMapper
sysUserMapper
;
@Autowired
public
LzSalaryTask
(
LzWageMpapper
LzWageMpapper
,
LzKpiMapper
lzKpiMapper
,
SchoolMapper
schoolMapper
,
UserSchoolMapper
userSchoolMapper
,
HhrUserMapper
hhrUserMapper
,
SysUserMapper
sysUserMapper
)
{
LzSalaryTask
.
lzWageMpapper
=
LzWageMpapper
;
LzSalaryTask
.
lzKpiMapper
=
lzKpiMapper
;
LzSalaryTask
.
schoolMapper
=
schoolMapper
;
LzSalaryTask
.
userSchoolMapper
=
userSchoolMapper
;
LzSalaryTask
.
hhrUserMapper
=
hhrUserMapper
;
LzSalaryTask
.
sysUserMapper
=
sysUserMapper
;
}
/**
* 每月生成楼长上月薪酬
* @return
*/
@Scheduled
(
cron
=
"0 10 2 1 * ?"
)
//每月1号两点10分执行
//@Scheduled(cron = "0 15 10 15 * ?")
//@Scheduled(fixedRate=1000*60)
@PostMapping
(
"/lzSalaryTask"
)
public
ResponseData
<
String
>
createSalary
()
{
List
<
LzWage
>
lzWageList
=
new
LinkedList
<>();
List
<
String
>
userIds
=
new
LinkedList
<>();
Date
date
=
new
Date
();
// 使用String类format()方法格式化日期
String
year
=
String
.
format
(
"%tY"
,
date
);
Integer
m
=
Integer
.
valueOf
(
String
.
format
(
"%tm"
,
date
));
String
month
=
""
;
if
(
m
>
10
){
month
=
year
+
"-"
+(
m
-
1
);
}
else
if
(
m
==
0
){
month
=
year
+
"-12"
;
}
else
{
month
=
year
+
"-0"
+(
m
-
1
);
}
Wrapper
<
HhrUser
>
hhrUserWrapper
=
new
EntityWrapper
<>();
hhrUserWrapper
.
eq
(
"position"
,
"楼长"
);
List
<
HhrUser
>
hhrUserList
=
hhrUserMapper
.
selectList
(
hhrUserWrapper
);
for
(
HhrUser
hhrUser
:
hhrUserList
)
{
LzWage
lzWage
=
new
LzWage
();
String
userId
=
hhrUser
.
getId
();
lzWage
.
setMonth
(
month
);
lzWage
.
setUserId
(
Integer
.
valueOf
(
userId
));
userIds
.
add
(
userId
);
lzWageList
.
add
(
lzWage
);
}
Wrapper
<
SalesList
>
salesOrderWrapper
=
new
EntityWrapper
<>();
salesOrderWrapper
.
in
(
"user_id"
,
userIds
);
salesOrderWrapper
.
like
(
"activate_time"
,
month
,
SqlLike
.
RIGHT
);
List
<
SalesList
>
salesOrderList
=
salesOrderMapper
.
selectList
(
salesOrderWrapper
);
Wrapper
<
LzKpi
>
lzKpiWrapper
=
new
EntityWrapper
<>();
lzKpiWrapper
.
in
(
"user_id"
,
userIds
);
lzKpiWrapper
.
eq
(
"month"
,
month
);
List
<
LzKpi
>
lzKpiList
=
lzKpiMapper
.
selectList
(
lzKpiWrapper
);
Wrapper
<
LzWage
>
wrageWrapper
=
new
EntityWrapper
<>();
wrageWrapper
.
in
(
"user_id"
,
userIds
);
wrageWrapper
.
in
(
"month"
,
month
);
List
<
LzWage
>
wrageList
=
lzWageMpapper
.
selectList
(
wrageWrapper
);
List
<
Integer
>
wrageIds
=
new
LinkedList
<>();
if
(
wrageList
.
size
()>
0
){
for
(
LzWage
lzWage
:
wrageList
)
{
wrageIds
.
add
(
lzWage
.
getId
());
}
}
Integer
insertCount
=
0
;
for
(
String
userId
:
userIds
)
{
Integer
count
=
0
;
//充值达标数
for
(
SalesList
salesOrder
:
salesOrderList
)
{
if
(
userId
.
equals
(
salesOrder
.
getUserId
())){
double
recentlyAmount
=
salesOrder
.
getRecentlyAmount
();
//充值金额50以上算充值达标
if
(
recentlyAmount
>
50
){
count
++;
}
}
}
double
kpiTotail
=
0
;
for
(
LzKpi
lzKpi
:
lzKpiList
)
{
if
(
userId
.
equals
(
lzKpi
.
getUserId
())){
kpiTotail
+=
lzKpi
.
getKpi
();
}
}
for
(
LzWage
lzWage
:
lzWageList
)
{
if
(
userId
.
equals
(
lzWage
.
getUserId
().
toString
())){
lzWage
.
setRechargeNum
(
count
);
//充值达标数
double
rechargeWage
=
count
*
20
;
//充值薪酬=充值达标数*20
//充值薪酬和kpi薪酬最高为500
if
(
rechargeWage
>
500
){
rechargeWage
=
500
;
}
lzWage
.
setRechargeWage
(
rechargeWage
);
//充值达标薪酬
lzWage
.
setKpi
(
kpiTotail
);
double
kpiWage
=
kpiTotail
*
5
;
//kpi薪酬=kpi*5
//充值薪酬和kpi薪酬最高为500
if
(
kpiWage
>
500
){
kpiWage
=
500
;
}
lzWage
.
setKpiWage
(
kpiWage
);
//总薪酬=充值薪酬+kpi薪酬;总薪酬超过800的部分要收20%的税
double
wage
=
kpiWage
+
rechargeWage
;
if
(
wage
>
800
){
wage
=
wage
+
(
wage
-
800
)*
20
/
100
;
}
lzWage
.
setWage
(
wage
);
if
(
wrageIds
.
size
()>
0
){
Wrapper
<
LzWage
>
delWrapper
=
new
EntityWrapper
<>();
delWrapper
.
in
(
"id"
,
wrageIds
);
lzWageMpapper
.
delete
(
delWrapper
);
}
insertCount
+=
lzWageMpapper
.
insert
(
lzWage
);
}
}
}
return
ResponseData
.
success
(
insertCount
+
"位楼长"
+
month
+
"月份薪酬已生成!"
);
}
}
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