Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
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
Feb 01, 2021
by
cq990612
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码结构
parent
547fc00a
Show 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
);
/**
...
...
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
)
{
...
...
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
);
}
...
...
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