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
cb88d91a
Commit
cb88d91a
authored
4 years ago
by
cq990612
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码结构
parent
547fc00a
master
chenqi
chenqi2.0
chenqi3.0
chenqi4.0
chenqi5.0
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
254 deletions
+4
-254
WorkTimeOrderService.java
.../main/java/cn/wisenergy/service/WorkTimeOrderService.java
+1
-17
WorkTimeOrderServiceImpl.java
...a/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
+1
-218
WorkTimeOrderController.java
...rgy/web/admin/controller/app/WorkTimeOrderController.java
+2
-19
No files found.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkTimeOrderService.java
View file @
cb88d91a
...
...
@@ -44,22 +44,6 @@ public interface WorkTimeOrderService {
*/
List
<
WorkTimeOrder
>
getByDayToDto
(
Integer
userId
,
Date
workDay
);
/**
* 功能:工时填报
*
* @param dto 自定义填报类
* @return dto
*/
List
<
WorkTimeOrderDto
>
add
(
CreateWorkOrderDto
dto
);
/**
* 功能: 驳回重新填报
*
* @param dto 自定义DTO
* @return 填报信息
*/
List
<
WorkTimeOrderDto
>
update
(
CreateWorkOrderDto
dto
);
/**
...
...
@@ -124,7 +108,7 @@ public interface WorkTimeOrderService {
* @param createWorkOrderDto
* @return
*/
List
<
WorkTimeOrderDto
>
add
Test
(
CreateWorkOrderDto
createWorkOrderDto
);
List
<
WorkTimeOrderDto
>
add
Order
(
CreateWorkOrderDto
createWorkOrderDto
);
/**
...
...
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
View file @
cb88d91a
...
...
@@ -22,7 +22,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.ArrayList
;
import
java.util.Collections
;
...
...
@@ -186,28 +185,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return
workTimeOrders
;
}
/**
* 功能:工时填报
*
* @param dto 自定义填报类
* @return dto
*/
@Transactional
@Override
public
List
<
WorkTimeOrderDto
>
add
(
@RequestBody
CreateWorkOrderDto
dto
)
{
log
.
info
(
"WorkTimeOrderServiceImpl[]add[]input.param.CreateWorkOrderDto:{}"
+
dto
);
if
(
null
==
dto
||
CollectionUtils
.
isEmpty
(
dto
.
getWorkTimeOrders
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_INFO_IS_NULL
);
}
// 1.检查工单
this
.
checkWorkOrderInfo
(
dto
.
getWorkTimeOrders
());
// 2.保存工单信息
List
<
WorkTimeOrderDto
>
result
=
this
.
saveWorkOrderInfo
(
dto
.
getWorkTimeOrders
());
log
.
info
(
"WorkOrderServiceImpl[]add[]add.success"
);
return
result
;
}
/**
* 功能:测试添加
...
...
@@ -217,7 +194,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
*/
@Transactional
@Override
public
List
<
WorkTimeOrderDto
>
add
Test
(
CreateWorkOrderDto
createWorkOrderDto
)
{
public
List
<
WorkTimeOrderDto
>
add
Order
(
CreateWorkOrderDto
createWorkOrderDto
)
{
log
.
info
(
"WorkTimeOderServiceImpl[]addTest[]input.param.creatWorkOrderDto"
+
createWorkOrderDto
);
if
(
null
==
createWorkOrderDto
||
CollectionUtils
.
isEmpty
(
createWorkOrderDto
.
getWorkTimeOrders
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_INFO_IS_NULL
);
...
...
@@ -325,74 +302,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
/**
* 功能: 驳回重新填报
*
* @param dto 自定义DTO
* @return 填报信息
*/
@Transactional
@Override
public
List
<
WorkTimeOrderDto
>
update
(
CreateWorkOrderDto
dto
)
{
log
.
info
(
"WorkTimeOrderServiceImpl[]update[]input.param.CreateWorkOrderDto:{}"
+
dto
);
if
(
null
==
dto
||
CollectionUtils
.
isEmpty
(
dto
.
getWorkTimeOrders
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_INFO_IS_NULL
);
}
List
<
WorkTimeOrderDto
>
workTimeOrders
=
dto
.
getWorkTimeOrders
();
// 1.判断是否超过8小时
int
count
=
0
;
List
<
WorkTimeOrder
>
byDayToDto
=
getByDayToDto
(
workTimeOrders
.
get
(
0
).
getUserId
(),
workTimeOrders
.
get
(
0
).
getWorkDay
());
int
i
;
for
(
WorkTimeOrder
timeOrder
:
byDayToDto
)
{
i
=
0
;
for
(
WorkTimeOrderDto
workTimeOrder
:
workTimeOrders
)
{
if
(!
workTimeOrder
.
getWorkId
().
equals
(
timeOrder
.
getWorkId
()))
{
i
++;
}
}
if
(
i
==
workTimeOrders
.
size
())
count
+=
timeOrder
.
getWorkTime
();
}
System
.
out
.
println
(
count
);
timeNotEight
(
count
,
workTimeOrders
);
// 2.判断是否重复填报
isRepeat
(
workTimeOrders
);
for
(
WorkTimeOrderDto
workTimeOrder
:
workTimeOrders
)
{
for
(
WorkTimeOrder
orderDto
:
byDayToDto
)
{
// workId如果相同就不管
if
(
workTimeOrder
.
getWorkId
().
equals
(
orderDto
.
getWorkId
()))
{
break
;
}
// 填报和数据库的类型相同
if
(
workTimeOrder
.
getType
().
equals
(
orderDto
.
getType
()))
{
if
(
PROJECT
.
equals
(
workTimeOrder
.
getType
())
||
BUSINESS_OPPORTUNITY
.
equals
(
workTimeOrder
.
getType
()))
if
(
workTimeOrder
.
getProjectId
().
equals
(
orderDto
.
getProjectId
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_ALREADY_COMMIT
);
}
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_ALREADY_COMMIT
);
}
}
}
List
<
WorkTimeOrderDto
>
workTimeOrderDtos
=
reSubmit
(
workTimeOrders
);
// 更新collect表
int
status
=
statusYes
(
workTimeOrders
.
get
(
0
).
getUserId
(),
workTimeOrderDtos
.
get
(
0
).
getWorkDay
());
int
totalTime
=
0
;
List
<
WorkTimeOrder
>
byDay
=
workTimeOrderMapper
.
getByDay
(
workTimeOrders
.
get
(
0
).
getUserId
(),
workTimeOrderDtos
.
get
(
0
).
getWorkDay
());
for
(
WorkTimeOrder
workTimeOrder
:
byDay
)
{
totalTime
+=
workTimeOrder
.
getWorkTime
();
}
WorkCollect
workCollect
=
new
WorkCollect
();
BeanUtils
.
copyProperties
(
workTimeOrders
.
get
(
0
),
workCollect
);
workCollect
.
setTotalTime
(
totalTime
);
workCollect
.
setStatus
(
status
);
workCollectService
.
update
(
workCollect
);
// 更新数据
return
workTimeOrderDtos
;
}
// 判断填写工时单是否重复
...
...
@@ -719,32 +628,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
private
void
checkWorkOrderInfo
(
List
<
WorkTimeOrderDto
>
list
)
{
log
.
info
(
"WorkOrderServiceImpl[]checkWorkOrderInfo[]input.method"
);
// 1、工单时间不能大于当前天
Date
date
=
new
Date
();
WorkSubmitAdopt
workSubmitAdopt
=
workSubmitAdoptService
.
getById
(
1
);
Integer
submitTime
=
workSubmitAdopt
.
getSubmitTime
();
for
(
WorkTimeOrderDto
dto
:
list
)
{
isEmpty
(
dto
);
// 2、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报
if
(
date
.
getTime
()
-
dto
.
getWorkDay
().
getTime
()
>
submitTime
*
24
*
60
*
60
*
1000
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_DAY_THAN_DATE
);
}
// 3.判断当日是否已经填报
WorkCollect
byUserIdAndWorkDay
=
workCollectService
.
getByUserIdAndWorkDay
(
dto
.
getUserId
(),
dto
.
getWorkDay
());
if
(
null
!=
byUserIdAndWorkDay
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_ALREADY_COMMIT
);
}
}
// 判断是否重复填报
isRepeat
(
list
);
// 4.每天工时累加不得超过八小时
timeNotEight
(
0
,
list
);
}
// 判断工单是否合法
private
void
isEmpty
(
WorkTimeOrderDto
dto
)
{
...
...
@@ -816,106 +699,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return
-
1
==
i
;
}
// 驳回重新填报
private
List
<
WorkTimeOrderDto
>
reSubmit
(
List
<
WorkTimeOrderDto
>
workTimeOrders
)
{
WorkSubmitAdopt
workSubmitAdopt
=
workSubmitAdoptService
.
getById
(
1
);
Integer
submitTime
=
workSubmitAdopt
.
getSubmitTime
();
for
(
WorkTimeOrderDto
workTimeOrderDto
:
workTimeOrders
)
{
if
(
null
==
workTimeOrderDto
.
getDes
())
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
DES_NOT_NULL
);
}
WorkTimeOrder
order
=
workTimeOrderMapper
.
selectById
(
workTimeOrderDto
.
getWorkId
());
if
(
order
.
getWorkDay
().
compareTo
(
workTimeOrderDto
.
getWorkDay
())
!=
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
DATE_IS_ERROR
);
}
Date
modifyTime
=
order
.
getModifyTime
();
// 判断是否已经驳回三天
if
(
new
Date
().
getTime
()
-
DateUtil
.
getStartOfDay
(
modifyTime
).
getTime
()
>
submitTime
*
24
*
60
*
60
*
1000
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_DAY_THAN_DATE
);
}
workTimeOrderDto
.
setStatus
(
RE_SUBMIT
);
WorkTimeOrder
workTimeOrder
=
new
WorkTimeOrder
();
BeanUtils
.
copyProperties
(
workTimeOrderDto
,
workTimeOrder
);
// 获取用户名
workTimeOrderDto
.
setUserName
(
workUserService
.
getById
(
workTimeOrder
.
getUserId
()).
getName
());
// 获取项目名
if
(
PROJECT
.
equals
(
workTimeOrder
.
getType
())
||
BUSINESS_OPPORTUNITY
.
equals
(
workTimeOrder
.
getType
()))
{
workTimeOrderDto
.
setProjectName
(
workProjectService
.
getById
(
workTimeOrder
.
getProjectId
()).
getProjectName
());
}
// 获取类型名
workTimeOrderDto
.
setTypeName
(
getTypeName
(
workTimeOrderDto
.
getType
()));
// 获取部门id
Integer
deptIdByUserId
=
workUserDeptService
.
getDeptIdByUserId
(
workTimeOrder
.
getUserId
());
workTimeOrder
.
setDeptId
(
deptIdByUserId
);
Date
workDay
=
workTimeOrder
.
getWorkDay
();
// 默认正常工时
workTimeOrder
.
setIsOvertime
(
0
);
if
(
workHolidayService
.
isHoliday
(
workDay
))
{
workTimeOrder
.
setIsOvertime
(
1
);
}
int
iRow
=
workTimeOrderMapper
.
updateById
(
workTimeOrder
);
if
(
0
==
iRow
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
UPDATE_DATA_FAIL
);
}
}
return
workTimeOrders
;
}
private
List
<
WorkTimeOrderDto
>
saveWorkOrderInfo
(
List
<
WorkTimeOrderDto
>
list
)
{
log
.
info
(
"WorkOrderServiceImpl[]saveWorkOrderInfo[]input.method"
);
int
totalTime
=
0
;
int
status
=
PROJECT
;
//根据用户id,获取用户信息
for
(
WorkTimeOrderDto
dto
:
list
)
{
WorkTimeOrder
workTimeOrder
=
new
WorkTimeOrder
();
// 获取用户名
dto
.
setUserName
(
workUserService
.
getById
(
dto
.
getUserId
()).
getName
());
// 获取项目名
if
((
PROJECT
.
equals
(
dto
.
getType
())
||
BUSINESS_OPPORTUNITY
.
equals
(
dto
.
getType
())))
{
if
(
null
==
dto
.
getProjectId
())
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
NO_JOIN_EVERY_PROJECT_PLASE_JION
);
}
dto
.
setProjectName
(
null
!=
dto
.
getProjectId
()
?
workProjectService
.
getById
(
dto
.
getProjectId
()).
getProjectName
()
:
getTypeName
(
dto
.
getType
()));
// 获取项目经理
if
(
null
!=
dto
.
getProjectId
())
dto
.
setManagerName
(
workUserService
.
getById
(
workProjectService
.
getById
(
dto
.
getProjectId
()).
getManagerId
()).
getName
());
// 获取类型名
dto
.
setTypeName
(
getTypeName
(
dto
.
getType
()));
// 获取部门id
workTimeOrder
.
setDeptId
(
workUserDeptService
.
getDeptIdByUserId
(
dto
.
getUserId
()));
Date
workDay
=
dto
.
getWorkDay
();
// 默认正常工时
workTimeOrder
.
setIsOvertime
(
0
);
if
(
workHolidayService
.
isHoliday
(
workDay
))
{
workTimeOrder
.
setIsOvertime
(
1
);
}
dto
.
setStatus
(
status
);
// 如果是请假或者调休直接通过
if
(
LEAVE
.
equals
(
dto
.
getType
())
||
COMPENSATORY_LEAVE
.
equals
(
dto
.
getType
()))
{
dto
.
setProjectName
(
null
);
dto
.
setProjectId
(
null
);
}
BeanUtils
.
copyProperties
(
dto
,
workTimeOrder
);
int
saveRow
=
workTimeOrderMapper
.
save
(
workTimeOrder
);
if
(
0
==
saveRow
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
totalTime
+=
workTimeOrder
.
getWorkTime
();
}
WorkCollect
workCollect
=
new
WorkCollect
();
BeanUtils
.
copyProperties
(
list
.
get
(
0
),
workCollect
);
workCollect
.
setTotalTime
(
totalTime
);
workCollect
.
setStatus
(
status
);
if
(!
workCollectService
.
insertCollect
(
workCollect
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
return
list
;
}
// 审批分页
private
PageInfo
<
WorkTimeOrderDto
>
pageExamine
(
WorkUser
user
,
Integer
projectId
,
Integer
type
,
Integer
page
,
Integer
size
,
Integer
status
)
{
...
...
This diff is collapsed.
Click to expand it.
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkTimeOrderController.java
View file @
cb88d91a
...
...
@@ -51,24 +51,7 @@ public class WorkTimeOrderController extends BaseController {
return
getResult
(
workTimeOrderService
.
wtoToWtod
(
dtos
));
}
@ApiOperation
(
value
=
"工时填报"
,
notes
=
"工时填报"
,
httpMethod
=
"POST"
)
@ApiImplicitParam
(
name
=
"dto"
,
value
=
"创建工单dto"
,
dataType
=
"CreateWorkOrderDto"
)
@PostMapping
(
value
=
"/add"
)
public
Result
<
List
<
WorkTimeOrderDto
>>
add
(
@RequestBody
CreateWorkOrderDto
dto
)
{
log
.
info
(
"WorkTimeOrderController[]add[]input.param"
+
dto
);
List
<
WorkTimeOrderDto
>
workOrderList
=
workTimeOrderService
.
add
(
dto
);
return
getResult
(
workOrderList
);
}
@ApiOperation
(
value
=
"工时驳回重新填报"
,
notes
=
"工时驳回重新填报"
,
httpMethod
=
"PUT"
)
@ApiImplicitParam
(
name
=
"dto"
,
value
=
"创建工单dto"
,
dataType
=
"CreateWorkOrderDto"
)
@PutMapping
(
value
=
"/update"
)
public
Result
<
List
<
WorkTimeOrderDto
>>
update
(
@RequestBody
CreateWorkOrderDto
dto
)
{
log
.
info
(
"WorkTimeOrderController[]update[]input.param"
+
dto
);
List
<
WorkTimeOrderDto
>
updateData
=
workTimeOrderService
.
update
(
dto
);
return
getResult
(
updateData
);
}
@ApiOperation
(
value
=
"查询待审批(小程序)"
,
notes
=
"查询待审批(小程序)"
,
httpMethod
=
"GET"
)
@ApiImplicitParams
({
...
...
@@ -166,12 +149,12 @@ public class WorkTimeOrderController extends BaseController {
return
getResult
(
workTimeOrderDtos
);
}
@ApiOperation
(
value
=
"工时填报
(测试)"
,
notes
=
"工时填报(测试)
"
,
httpMethod
=
"POST"
)
@ApiOperation
(
value
=
"工时填报
"
,
notes
=
"工时填报
"
,
httpMethod
=
"POST"
)
@ApiImplicitParam
(
name
=
"dto"
,
value
=
"创建工单dto"
,
dataType
=
"CreateWorkOrderDto"
)
@PostMapping
(
value
=
"/addOrder"
)
public
Result
<
List
<
WorkTimeOrderDto
>>
addOrder
(
@RequestBody
CreateWorkOrderDto
dto
)
{
log
.
info
(
"WorkTimeOrderController[]addTest[]input.param"
+
dto
);
List
<
WorkTimeOrderDto
>
workTimeOrderDtos
=
workTimeOrderService
.
add
Test
(
dto
);
List
<
WorkTimeOrderDto
>
workTimeOrderDtos
=
workTimeOrderService
.
add
Order
(
dto
);
return
getResult
(
workTimeOrderDtos
);
}
...
...
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