Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
work_service
Project
Project
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
licc
work_service
Commits
82f0b560
Commit
82f0b560
authored
4 years ago
by
cq990612
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码结构
parent
58d94ca6
chenqi5.0
chenqi
chenqi2.0
chenqi3.0
chenqi4.0
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
196 additions
and
23 deletions
+196
-23
WorkTimeOrderMapper.java
...rc/main/java/cn/wisenergy/mapper/WorkTimeOrderMapper.java
+3
-4
WorkTimeOrderMapper.xml
...-mapper/src/main/resources/mapper/WorkTimeOrderMapper.xml
+33
-0
DeptUserCollectDto.java
.../main/java/cn/wisenergy/model/dto/DeptUserCollectDto.java
+19
-0
DeptUserDto.java
...del/src/main/java/cn/wisenergy/model/dto/DeptUserDto.java
+4
-0
UserDto.java
...y-model/src/main/java/cn/wisenergy/model/dto/UserDto.java
+2
-0
LevelEnum.java
...del/src/main/java/cn/wisenergy/model/enums/LevelEnum.java
+2
-1
WorkTimeOrderService.java
.../main/java/cn/wisenergy/service/WorkTimeOrderService.java
+6
-2
WorkTimeOrderServiceImpl.java
...a/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
+99
-8
UserRoleLevelUtils.java
...n/java/cn/wisenergy/service/utils/UserRoleLevelUtils.java
+17
-4
WorkTimeOrderController.java
...rgy/web/admin/controller/app/WorkTimeOrderController.java
+11
-4
No files found.
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkTimeOrderMapper.java
View file @
82f0b560
package
cn
.
wisenergy
.
mapper
;
import
cn.wisenergy.model.app.WorkTimeOrder
;
import
cn.wisenergy.model.dto.DayWorkTimeAndType
;
import
cn.wisenergy.model.dto.MonthlyWorkingHoursStatistics
;
import
cn.wisenergy.model.dto.UserWorkTimeStatisticsByProject
;
import
cn.wisenergy.model.dto.WorkTimeAndCostCollect
;
import
cn.wisenergy.model.dto.*
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -108,4 +105,6 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
List
<
UserWorkTimeStatisticsByProject
>
selectListByType
(
Map
<
String
,
Object
>
map
);
List
<
DeptUserCollectDto
>
getDeptNotOrderInfo
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"depts"
)
List
<
Integer
>
depts
,
@Param
(
"startDate"
)
Date
startDate
,
@Param
(
"endDate"
)
Date
endDate
);
}
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/resources/mapper/WorkTimeOrderMapper.xml
View file @
82f0b560
...
...
@@ -411,4 +411,37 @@
)
GROUP BY
<if
test=
"isAll"
>
u.id,u.`name`,
</if>
t.type, t.is_overtime
</select>
<resultMap
id=
"DeptUserCollectDto"
type=
"cn.wisenergy.model.dto.DeptUserCollectDto"
>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"deptId"
column=
"dept_id"
/>
<result
property=
"deptName"
column=
"dept_name"
/>
<collection
property=
"workDay"
javaType=
"ArrayList"
ofType =
"java.util.Date"
>
<result
column=
"work_day"
/>
</collection>
</resultMap>
<select
id=
"getDeptNotOrderInfo"
resultMap=
"DeptUserCollectDto"
>
select d.id as 'dept_id' ,d.dept_name,u.id as 'user_id',u.name as 'user_name',c.work_day
from work_user u LEFT JOIN work_collect c ON u.id = c.user_id LEFT JOIN work_dept d on u.dept_id = d.id
<where>
u.submit_order = 1 and u.`status` = 1 and c.`status` !=3
<if
test=
" startDate !=null and endDate !=null"
>
and c.work_day between #{startDate} and #{endDate}
</if>
<if
test=
"depts !=null and depts.size()>0"
>
AND d.id in
<foreach
collection=
"depts"
item=
"dept"
open=
"("
close=
")"
separator=
","
>
#{dept}
</foreach>
</if>
</where>
ORDER BY d.sort,u.name
</select>
</mapper>
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/DeptUserCollectDto.java
0 → 100644
View file @
82f0b560
package
cn
.
wisenergy
.
model
.
dto
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
DeptUserCollectDto
{
private
Integer
userId
;
private
String
userName
;
private
Integer
deptId
;
private
String
deptName
;
List
<
Date
>
workDay
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/DeptUserDto.java
View file @
82f0b560
package
cn
.
wisenergy
.
model
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -15,5 +17,7 @@ public class DeptUserDto {
private
String
deptName
;
private
Date
date
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
private
List
<
UserDto
>
userDtos
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/UserDto.java
View file @
82f0b560
...
...
@@ -12,4 +12,6 @@ public class UserDto {
private
Integer
id
;
private
String
name
;
private
Integer
notWorkDays
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/enums/LevelEnum.java
View file @
82f0b560
...
...
@@ -11,7 +11,8 @@ public enum LevelEnum {
PROJECT_MANAGER
(
"项目/商机管理"
),
TIMEEXPORT
(
"工时导出"
),
SYSTEMSETTINGS
(
"系统设置"
),
ACCOUNTMANAGEMENT
(
"账号管理"
)
ACCOUNTMANAGEMENT
(
"账号管理"
),
MISSING
(
"填报缺失"
),
;
private
String
LevelName
;
...
...
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkTimeOrderService.java
View file @
82f0b560
...
...
@@ -2,7 +2,6 @@ package cn.wisenergy.service;
import
cn.wisenergy.model.app.WorkTimeOrder
;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.model.vo.ManagerOrderVo
;
import
com.github.pagehelper.PageInfo
;
import
java.util.Date
;
...
...
@@ -120,5 +119,10 @@ public interface WorkTimeOrderService {
*/
int
statusYes
(
Integer
userId
,
Date
workDay
);
/**
* 获取本部门 填报缺失信息
* @param userId
* @return
*/
List
<
DeptUserDto
>
getDeptNotOrderInfo
(
Integer
userId
);
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
View file @
82f0b560
...
...
@@ -73,11 +73,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private
WorkCollectService
workCollectService
;
@Autowired
private
Work
UserDeptService
workUserDept
Service
;
private
Work
CentreService
workCentre
Service
;
@Autowired
private
WorkUserProjectService
workUserProjectService
;
@Autowired
private
StatisticsService
statisticsService
;
// 工单状态
...
...
@@ -825,15 +828,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if
(
null
==
projectId
&&
null
==
type
)
{
List
<
ProjectManagerDto
>
projectManagerDto
=
getProjectManagerDto
(
user
,
workTypes
);
if
(!
CollectionUtils
.
isEmpty
(
projectManagerDto
))
{
projectManagerDto
.
forEach
(
project
->{
projectManagerDto
.
forEach
(
project
->
{
if
(
null
!=
project
.
getId
())
{
projectIds
.
add
(
project
.
getId
());
}
else
{
types
.
add
(
project
.
getType
());
}
}
);
});
}
}
else
{
}
else
{
if
(
null
!=
projectId
)
{
projectIds
.
add
(
projectId
);
}
...
...
@@ -891,7 +894,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
private
String
getTypeName
(
Integer
type
,
List
<
WorkType
>
workTypes
)
{
if
(!
CollectionUtils
.
isEmpty
(
workTypes
))
{
for
(
WorkType
value
:
workTypes
)
{
...
...
@@ -926,11 +928,100 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
/**
*
功能:获取工单变更分页
*
获取本部门 填报缺失信息
*
* @param
managerOrderVo 分页套件
* @return
PageInfo
* @param
userId
* @return
*/
@Override
public
List
<
DeptUserDto
>
getDeptNotOrderInfo
(
Integer
userId
)
{
log
.
info
(
"WorkOrderServiceImpl[]getDeptNotOrderInfo[]input.param.userId"
+
userId
);
if
(
null
==
userId
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
WorkUser
user
=
workUserService
.
getById
(
userId
);
List
<
Integer
>
ranks
=
UserRoleLevelUtils
.
getRankByUserAndLevelName
(
userId
,
LevelEnum
.
PROJECT_MANAGER
.
getLevelName
());
if
(
CollectionUtils
.
isEmpty
(
ranks
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN
);
}
Integer
rankMax
=
null
;
for
(
Integer
rank
:
ranks
)
{
rankMax
=
rankMax
==
null
?
rank
:
rank
>
rankMax
?
rank
:
rankMax
;
}
if
(
rankMax
==
null
)
{
return
null
;
}
List
<
DeptUserCollectDto
>
deptNotOrderInfo
=
new
ArrayList
<>();
List
<
Integer
>
deptIds
=
new
ArrayList
<>();
WorkSubmitAdopt
adopt
=
workSubmitAdoptService
.
getById
(
1
);
Integer
submitTime
=
adopt
.
getSubmitTime
();
Date
date
=
new
Date
();
Date
startDate
=
null
;
Date
endDate
=
null
;
if
(
DateUtil
.
getDay
(
date
)
<=
submitTime
)
{
date
.
setMonth
(
DateUtil
.
getMonth
(
date
)
-
1
);
startDate
=
DateUtil
.
getFirstDayOfMonth
(
date
);
endDate
=
DateUtil
.
getLastDayByMonth2
(
date
);
}
else
{
startDate
=
DateUtil
.
getFirstDayOfMonth
(
date
);
endDate
=
date
;
}
boolean
flag
=
DateUtil
.
isYearAndMonthEqual
(
date
,
new
Date
());
List
<
Date
>
workDays
=
statisticsService
.
currentMonthWorkDays
(
date
,
flag
);
List
<
DeptUserDto
>
deptUserDtos
=
new
ArrayList
<>();
if
(
LevelRankEnum
.
CENTRAL_LEVEL
.
getRank
().
equals
(
rankMax
))
{
List
<
WorkDept
>
deptByCentreManager
=
workCentreService
.
getDeptByCentreManager
(
user
);
for
(
WorkDept
workDept
:
deptByCentreManager
)
{
DeptUserDto
deptUserDto
=
new
DeptUserDto
();
deptUserDto
.
setDeptId
(
workDept
.
getId
());
deptUserDto
.
setDeptName
(
workDept
.
getDeptName
());
deptUserDto
.
setDate
(
date
);
deptUserDtos
.
add
(
deptUserDto
);
}
if
(
CollectionUtils
.
isEmpty
(
deptByCentreManager
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
DEPT_NOT_FOUND
);
}
deptByCentreManager
.
forEach
(
dept
->
deptIds
.
add
(
dept
.
getId
()));
deptNotOrderInfo
=
workTimeOrderMapper
.
getDeptNotOrderInfo
(
userId
,
deptIds
,
startDate
,
endDate
);
}
if
(
LevelRankEnum
.
DEPARTMENT_LEVEL
.
getRank
().
equals
(
rankMax
))
{
deptIds
.
add
(
user
.
getDeptId
());
deptNotOrderInfo
=
workTimeOrderMapper
.
getDeptNotOrderInfo
(
userId
,
deptIds
,
startDate
,
endDate
);
DeptUserDto
deptUserDto
=
new
DeptUserDto
();
deptUserDto
.
setDeptId
(
deptNotOrderInfo
.
get
(
0
).
getDeptId
());
deptUserDto
.
setDeptName
(
deptNotOrderInfo
.
get
(
0
).
getDeptName
());
deptUserDto
.
setDate
(
date
);
deptUserDtos
.
add
(
deptUserDto
);
}
for
(
DeptUserDto
deptUserDto
:
deptUserDtos
)
{
List
<
UserDto
>
userDtos
=
new
ArrayList
<>();
for
(
DeptUserCollectDto
deptUserCollectDto
:
deptNotOrderInfo
)
{
UserDto
userDto
=
new
UserDto
();
List
<
Date
>
workDays1
=
new
ArrayList
<>(
workDays
);
userDto
.
setId
(
deptUserCollectDto
.
getUserId
());
userDto
.
setName
(
deptUserCollectDto
.
getUserName
());
workDays1
.
removeAll
(
deptUserCollectDto
.
getWorkDay
());
userDto
.
setNotWorkDays
(
workDays1
.
size
());
if
(
deptUserCollectDto
.
getDeptId
().
equals
(
deptUserDto
.
getDeptId
()))
{
userDtos
.
add
(
userDto
);
}
}
deptUserDto
.
setUserDtos
(
userDtos
);
}
System
.
out
.
println
(
deptNotOrderInfo
);
return
deptUserDtos
;
}
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/utils/UserRoleLevelUtils.java
View file @
82f0b560
...
...
@@ -16,10 +16,7 @@ import org.springframework.stereotype.Component;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.PostConstruct
;
import
java.util.Comparator
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
@Component
public
class
UserRoleLevelUtils
{
...
...
@@ -183,6 +180,22 @@ public class UserRoleLevelUtils {
return
false
;
}
public
static
List
<
Integer
>
getRankByUserAndLevelName
(
Integer
userId
,
String
levelName
)
{
if
(
null
==
userId
||
StringUtils
.
isBlank
(
levelName
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
List
<
UserRoleLevelDto
>
roleUserLevel
=
UserRoleLevelUtils
.
getRoleUserLevel
(
userId
);
if
(
CollectionUtils
.
isEmpty
(
roleUserLevel
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN
);
}
List
<
Integer
>
ranks
=
new
ArrayList
<>();
for
(
UserRoleLevelDto
userRoleLevelDto
:
roleUserLevel
)
{
if
(
levelName
.
equals
(
userRoleLevelDto
.
getLevelName
()))
{
ranks
.
add
(
userRoleLevelDto
.
getRank
());
}
}
return
ranks
;
}
}
This diff is collapsed.
Click to expand it.
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkTimeOrderController.java
View file @
82f0b560
...
...
@@ -5,10 +5,7 @@ import cn.wisenergy.common.utils.exception.CustomException;
import
cn.wisenergy.common.utils.exception.RESP_CODE_ENUM
;
import
cn.wisenergy.common.utils.exception.Result
;
import
cn.wisenergy.model.app.WorkTimeOrder
;
import
cn.wisenergy.model.dto.AppletsPendApprovalDto
;
import
cn.wisenergy.model.dto.CreateWorkOrderDto
;
import
cn.wisenergy.model.dto.ProjectsDto
;
import
cn.wisenergy.model.dto.WorkTimeOrderDto
;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.service.WorkTimeOrderService
;
import
cn.wisenergy.web.admin.controller.common.BaseController
;
import
com.github.pagehelper.PageInfo
;
...
...
@@ -161,4 +158,14 @@ public class WorkTimeOrderController extends BaseController {
return
getResult
(
workTimeOrderDtos
);
}
@ApiOperation
(
value
=
"查询工时缺失"
,
notes
=
"查询工时缺失"
,
httpMethod
=
"GET"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"管理员Id"
,
dataType
=
"int"
,
required
=
true
)
@GetMapping
(
value
=
"/getDeptNotOrderInfo"
)
public
Result
getDeptNotOrderInfo
(
Integer
userId
)
{
log
.
info
(
"WorkTimeOrderController[]getDeptNotOrderInfo[]input.param.userId:{}"
+
userId
);
List
<
DeptUserDto
>
deptUserDtos
=
workTimeOrderService
.
getDeptNotOrderInfo
(
userId
);
return
getResult
(
deptUserDtos
);
}
}
This diff is collapsed.
Click to expand it.
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