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
dd280035
Commit
dd280035
authored
4 years ago
by
cq990612
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码结构
parent
6469e966
chenqi5.0
chenqi2.0
chenqi3.0
chenqi4.0
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
909 additions
and
86 deletions
+909
-86
DateUtil.java
...mon/src/main/java/cn/wisenergy/common/utils/DateUtil.java
+3
-0
BASE_RESP_CODE_ENUM.java
...wisenergy/common/utils/exception/BASE_RESP_CODE_ENUM.java
+4
-3
WorkDeptMapper.java
...per/src/main/java/cn/wisenergy/mapper/WorkDeptMapper.java
+3
-0
WorkOrderChangeMapper.java
.../main/java/cn/wisenergy/mapper/WorkOrderChangeMapper.java
+9
-0
WorkTimeOrderMapper.java
...rc/main/java/cn/wisenergy/mapper/WorkTimeOrderMapper.java
+3
-0
WorkCollectMapper.xml
...gy-mapper/src/main/resources/mapper/WorkCollectMapper.xml
+2
-2
WorkDeptMapper.xml
...nergy-mapper/src/main/resources/mapper/WorkDeptMapper.xml
+49
-20
WorkOrderChangeMapper.xml
...apper/src/main/resources/mapper/WorkOrderChangeMapper.xml
+9
-0
WorkTimeOrderMapper.xml
...-mapper/src/main/resources/mapper/WorkTimeOrderMapper.xml
+61
-20
WorkCollect.java
...del/src/main/java/cn/wisenergy/model/app/WorkCollect.java
+2
-0
WorkOrderChange.java
...src/main/java/cn/wisenergy/model/app/WorkOrderChange.java
+59
-0
WorkTimeOrder.java
...l/src/main/java/cn/wisenergy/model/app/WorkTimeOrder.java
+10
-2
DeptOfProjectAndOrderType.java
...ava/cn/wisenergy/model/dto/DeptOfProjectAndOrderType.java
+19
-0
OrderChangeDto.java
.../src/main/java/cn/wisenergy/model/dto/OrderChangeDto.java
+17
-0
OrderChangePageDto.java
.../main/java/cn/wisenergy/model/dto/OrderChangePageDto.java
+33
-0
OrderChangeProjectDto.java
...in/java/cn/wisenergy/model/dto/OrderChangeProjectDto.java
+16
-0
OrderChangeTypeDto.java
.../main/java/cn/wisenergy/model/dto/OrderChangeTypeDto.java
+21
-0
LevelEnum.java
...del/src/main/java/cn/wisenergy/model/enums/LevelEnum.java
+2
-1
OrderChangeEnum.java
...c/main/java/cn/wisenergy/model/enums/OrderChangeEnum.java
+28
-0
OrderChangeManagerVo.java
...main/java/cn/wisenergy/model/vo/OrderChangeManagerVo.java
+31
-0
OrderChangeVo.java
...el/src/main/java/cn/wisenergy/model/vo/OrderChangeVo.java
+37
-0
WorkCollectService.java
...rc/main/java/cn/wisenergy/service/WorkCollectService.java
+1
-0
WorkDeptService.java
...e/src/main/java/cn/wisenergy/service/WorkDeptService.java
+3
-0
WorkOrderChangeService.java
...ain/java/cn/wisenergy/service/WorkOrderChangeService.java
+9
-0
WorkProjectService.java
...rc/main/java/cn/wisenergy/service/WorkProjectService.java
+6
-1
WorkTimeOrderService.java
.../main/java/cn/wisenergy/service/WorkTimeOrderService.java
+17
-0
WorkCentreServiceImpl.java
...java/cn/wisenergy/service/impl/WorkCentreServiceImpl.java
+2
-2
WorkCollectServiceImpl.java
...ava/cn/wisenergy/service/impl/WorkCollectServiceImpl.java
+18
-3
WorkDeptServiceImpl.java
...n/java/cn/wisenergy/service/impl/WorkDeptServiceImpl.java
+7
-0
WorkOrderChangeImpl.java
...n/java/cn/wisenergy/service/impl/WorkOrderChangeImpl.java
+16
-0
WorkProjectServiceImpl.java
...ava/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
+74
-6
WorkTimeOrderServiceImpl.java
...a/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
+282
-23
WorkUserServiceImpl.java
...n/java/cn/wisenergy/service/impl/WorkUserServiceImpl.java
+1
-1
WorkProjectController.java
...nergy/web/admin/controller/app/WorkProjectController.java
+12
-2
WorkTimeOrderController.java
...rgy/web/admin/controller/app/WorkTimeOrderController.java
+43
-0
No files found.
wisenergy-common/src/main/java/cn/wisenergy/common/utils/DateUtil.java
View file @
dd280035
...
...
@@ -844,6 +844,9 @@ public class DateUtil {
int
lastDay
=
cal
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
);
//设置日历中月份的最大天数
cal
.
set
(
Calendar
.
DAY_OF_MONTH
,
lastDay
);
cal
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
cal
.
set
(
Calendar
.
MINUTE
,
0
);
cal
.
set
(
Calendar
.
SECOND
,
0
);
//格式化日期
return
cal
.
getTime
();
}
...
...
This diff is collapsed.
Click to expand it.
wisenergy-common/src/main/java/cn/wisenergy/common/utils/exception/BASE_RESP_CODE_ENUM.java
View file @
dd280035
...
...
@@ -29,7 +29,7 @@ public enum BASE_RESP_CODE_ENUM {
STATISTICS_RECORD_DATA_FAIL
(
"609"
,
"统计档案数据失败"
),
EQUIPMENT_INFO_IS_NULL
(
"610"
,
"设备信息为空"
),
QUERY_DATA_IS_NULL
(
"611"
,
"获取数据为空"
),
WORK_TIME_NOT_OVER_EIGHT
(
"611"
,
"
每日累计工时不超过8小时
"
),
WORK_TIME_NOT_OVER_EIGHT
(
"611"
,
"
当日总工时超出8小时,请核对后提交
"
),
USER_ACCOUNT_ALREADY_EXIST
(
"612"
,
"用户账号已存在"
),
USER_PHONE_ALREADY_EXIST
(
"613"
,
"该手机号已被注册"
),
INSERT_DATA_IS_FAIL
(
"614"
,
"插入数据失败"
),
...
...
@@ -39,7 +39,7 @@ public enum BASE_RESP_CODE_ENUM {
QUERY_USER_INFO_FAIL
(
"618"
,
"该用户不存在"
),
WORK_ORDER_ALREADY_COMMIT
(
"619"
,
"工单类型重复,不能重复填报"
),
WORK_TIME_OVER_NOW_DAY
(
"620"
,
"工单日期不能大于当天"
),
INSERT_WORK_COLLECT_DATA_FAIL
(
"621"
,
"插入工时单汇总信息失败
"
),
WORKORDERHOURS_MUSTBEGREATERTHAN0
(
"621"
,
"工时不能小于等于0
"
),
NO_JOIN_EVERY_PROJECT_PLASE_JION
(
"622"
,
"请选择项目名称"
),
THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN
(
"623"
,
"您不是管理员,请登录管理员账号"
),
DEPT_NOT_HAVE_USER
(
"624"
,
"该部门下没有人员"
),
...
...
@@ -59,7 +59,7 @@ public enum BASE_RESP_CODE_ENUM {
WORKDAY_NOT_NULL
(
"637"
,
"工时日期不能为空"
),
PROJECT_NOT_NULL
(
"638"
,
"项目类型不能为空"
),
NEW_PASSWORD_IS_HTE_SAME_OLD_PASSWORD
(
"639"
,
"新密码不能与旧密码相同"
),
PASSWORD_FORMAT_ERROR
(
"640"
,
"密码由6到16位数字组成
"
),
THEWORKORDERDATE_HASEXCEEDED_THECHANGERANGE
(
"640"
,
"该工单日期已经超出更变范围
"
),
INCOMPLETE_WORK_ORDER_INFORMATION
(
"621"
,
"请填写完整的工单信息"
),
HAVE_ORDER_DELETE
(
"643"
,
"有工单被用户删除,审批失败,请重新审批"
),
ORDER_EXAMINE
(
"644"
,
"该工单已经被审批,请刷新查看"
),
...
...
@@ -85,6 +85,7 @@ public enum BASE_RESP_CODE_ENUM {
DOWNLOAD_ERROR
(
"668"
,
"下载出错"
),
PLEASE_CANCELTHE_MANAGEMENTROLE
(
"669"
,
"注销账号,请取消管理角色"
),
ATLEASTONEADMINISTRATORISREQUIRED
(
"670"
,
"至少需要一个系统管理员!"
),
PLEASESELECTANITEM
(
"671"
,
"请至少选择一个项目"
),
;
...
...
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkDeptMapper.java
View file @
dd280035
package
cn
.
wisenergy
.
mapper
;
import
cn.wisenergy.model.app.WorkDept
;
import
cn.wisenergy.model.dto.DeptOfProjectAndOrderType
;
import
cn.wisenergy.model.dto.OrganizationStructureDto
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -26,4 +27,6 @@ public interface WorkDeptMapper extends BaseMapper<WorkDept> {
int
updateManagerIdISNullById
(
Integer
id
);
List
<
WorkDept
>
getDeptByManagerId
(
Integer
userId
);
List
<
DeptOfProjectAndOrderType
>
getDeptOfProjectAndOrderType
(
Integer
userId
);
}
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkOrderChangeMapper.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
mapper
;
import
cn.wisenergy.model.app.WorkOrderChange
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
WorkOrderChangeMapper
extends
BaseMapper
<
WorkOrderChange
>
{
}
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkTimeOrderMapper.java
View file @
dd280035
...
...
@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import
cn.wisenergy.model.app.WorkTimeOrder
;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.model.vo.OrderChangeManagerVo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -107,4 +108,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
);
List
<
OrderChangePageDto
>
getOrderChangePage
(
OrderChangeManagerVo
vo
);
}
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/resources/mapper/WorkCollectMapper.xml
View file @
dd280035
...
...
@@ -47,10 +47,10 @@
<set>
<if
test=
"null != status"
>
status=#{status},
status=#{status},
</if>
<if
test=
"null !=totalTime"
>
total_time =
#{totalTime},
total_time =
#{totalTime},
</if>
<if
test=
"3 ==status "
>
reject_time = now(),
...
...
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/resources/mapper/WorkDeptMapper.xml
View file @
dd280035
...
...
@@ -4,19 +4,18 @@
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.wisenergy.model.app.WorkDept"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"dept_name"
property=
"deptName"
/>
<id
column=
"id"
property=
"id"
/>
<result
column=
"dept_name"
property=
"deptName"
/>
<result
column=
"oa_dept_id"
property=
"oaDeptId"
/>
<result
column=
"centre_id"
property=
"centreId"
/>
<result
column=
"dept_manager_id"
property=
"deptManagerId"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"modify_time"
property=
"modifyTime"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"modify_time"
property=
"modifyTime"
/>
<result
column=
"sort"
property=
"sort"
/>
</resultMap>
<resultMap
id=
"CentreDeptMap"
type=
"cn.wisenergy.model.dto.OrganizationStructureDto"
>
<id
column=
"centre_id"
property=
"centreId"
/>
<id
column=
"centre_id"
property=
"centreId"
/>
<result
column=
"centre_name"
property=
"centreName"
/>
<collection
property=
"deptUserDtos"
ofType=
"cn.wisenergy.model.dto.DeptUserDto"
>
<id
column=
"dept_id"
property=
"deptId"
/>
...
...
@@ -24,14 +23,24 @@
</collection>
</resultMap>
<resultMap
id=
"ProjectAndOrderType"
type=
"cn.wisenergy.model.dto.DeptOfProjectAndOrderType"
>
<id
column=
"dept_id"
property=
"deptId"
/>
<result
column=
"dept_name"
property=
"deptName"
/>
<collection
property=
"projectManagerDtos"
ofType=
"cn.wisenergy.model.dto.ProjectManagerDto"
>
<id
column=
"project_id"
property=
"id"
/>
<result
column=
"project_name"
property=
"projectName"
/>
</collection>
</resultMap>
<sql
id=
"table"
>
work_dept
</sql>
<sql
id=
"cols_all"
>
id,
<include
refid=
"cols_exclude_id"
/>
id,
<include
refid=
"cols_exclude_id"
/>
</sql>
<sql
id=
"cols_exclude_id"
>
dept_name,oa_dept_id,dept_manager_id,centre_id, create_time, modify_time,sort
</sql>
...
...
@@ -51,18 +60,21 @@
id,dept_name, oa_dept_id,centre_id, dept_name, create_time, modify_time,sort
</sql>
<update
id=
"updateManagerIdISNullById"
>
UPDATE
<include
refid=
"table"
/>
UPDATE
<include
refid=
"table"
/>
SET dept_manager_id = NULL
WHERE id = #{id}
</update>
<select
id=
"getDeptByCondition"
resultMap=
"BaseResultMap"
parameterType=
"integer"
>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
<where>
<include
refid=
"criteria"
/>
</where>
order by sort
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
<where>
<include
refid=
"criteria"
/>
</where>
order by sort
</select>
<select
id=
"getAllDeptByAllCentre"
resultMap=
"CentreDeptMap"
>
...
...
@@ -72,16 +84,33 @@ ORDER BY c.id,d.sort
</select>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
where id =#{deptId}
</select>
<select
id=
"getDeptByManagerId"
resultType=
"cn.wisenergy.model.app.WorkDept"
>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
where dept_manager_id = #{userId}
</select>
<select
id=
"getDeptOfProjectAndOrderType"
resultMap=
"ProjectAndOrderType"
>
select d.id 'dept_id',d.dept_name,p.id 'project_id',p.project_name
from work_dept d LEFT JOIN work_project p on d.id = p.dept_id
<where>
<if
test=
"userId !=null"
>
p.manager_id = #{userId}
</if>
</where>
ORDER BY d.sort
</select>
</mapper>
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/resources/mapper/WorkOrderChangeMapper.xml
0 → 100644
View file @
dd280035
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wisenergy.mapper.WorkOrderChangeMapper"
>
</mapper>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
wisenergy-mapper/src/main/resources/mapper/WorkTimeOrderMapper.xml
View file @
dd280035
...
...
@@ -56,10 +56,10 @@
<!-- 通用查询结果列 -->
<sql
id=
"vals"
>
#{userId},#{projectId},#{deptId},#{workTime},#{workDay},#{status},#{reviewerId},#{des},#{reason},#{type},#{isOvertime},#{rejectTime},now()
#{userId},#{projectId},#{deptId},#{workTime},#{workDay},#{status},#{reviewerId},#{des},#{reason},#{type},#{isOvertime},#{rejectTime},now()
,#{modifyTime}
</sql>
<sql
id=
"cols_exclude_id"
>
user_id, project_id, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime,reject_time, create_time
user_id, project_id, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime,reject_time, create_time
,modify_time
</sql>
<sql
id=
"criteria"
>
...
...
@@ -137,7 +137,7 @@
</update>
<select
id=
"getByDay"
resultType=
"cn.wisenergy.model.app.WorkTimeOrder"
>
<select
id=
"getByDay"
resultType=
"cn.wisenergy.model.app.WorkTimeOrder"
flushCache=
"true"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM
...
...
@@ -258,8 +258,10 @@
IF (YEAR (work_day) = YEAR (NOW()), concat(YEAR (work_day),'年',MONTH (work_day),'月') , concat(YEAR(work_day),
'年')) AS statistics_time ,SUM(t.work_time)/8 AS
total_time, SUM(t.work_time * s.day_salary)/8 AS cost,ty.sort AS ty_sort, d.sort AS d_sort
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time
<
t.work_day AND s.end_time > t.work_day AND year(t.work_day)
<
year(NOW())
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id
join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time
<
t.work_day AND s.end_time > t.work_day AND year(t.work_day)
<
year(NOW())
<if
test=
"firstDayOfMonth != null"
>
AND work_day >= #{firstDayOfMonth}
</if>
...
...
@@ -281,8 +283,10 @@
IF (YEAR (work_day) = YEAR (NOW()), concat(YEAR (work_day),'年',MONTH (work_day),'月') , concat(YEAR(work_day),
'年')) AS statistics_time ,SUM(t.work_time)/8 AS
total_time, SUM(t.work_time * s.day_salary)/8 AS cost,ty.sort AS ty_sort, d.sort AS d_sort
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time
<
t.work_day AND s.end_time > t.work_day AND year(t.work_day) = year(NOW())
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id
join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time
<
t.work_day AND s.end_time > t.work_day AND year(t.work_day) =
year(NOW())
<if
test=
"firstDayOfMonth != null"
>
AND work_day >= #{firstDayOfMonth}
</if>
...
...
@@ -342,13 +346,18 @@
<select
id=
"getUserProjectWorkTimeStatistics"
resultMap=
"userWorkTimeStatisticsByProject"
>
SELECT
<if
test=
"isAll"
>
u.id AS user_id, u.`name` AS user_name,
</if>
<if
test=
"!isAll"
>
'合计' AS user_name ,
</if>
t.project_id AS project_id, t.type AS work_time_type, p.project_name
SELECT
<if
test=
"isAll"
>
u.id AS user_id, u.`name` AS user_name,
</if>
<if
test=
"!isAll"
>
'合计' AS user_name ,
</if>
t.project_id AS project_id, t.type AS work_time_type, p.project_name
AS project_name,
IF(t.is_overtime = 0,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if
test=
"!isAll"
>
0
</if>
IF(t.is_overtime = 0,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS normal_time
from work_time_order t left join work_project p on t.project_id = p.id join work_user u on t.user_id = u.id join work_type ty on t.type = ty.id
from work_time_order t left join work_project p on t.project_id = p.id join work_user u on t.user_id = u.id join
work_type ty on t.type = ty.id
where
t.status in (2,5) AND
t.work_day
<
= #{endDate}
...
...
@@ -357,8 +366,10 @@
AND t.work_day >= #{startDate}
</if>
GROUP BY
<if
test=
"isAll"
>
u.id,u.`name`,
</if>
t.project_id,t.type,p.project_name, t.is_overtime
ORDER BY
<if
test=
"isAll"
>
convert(u.`name` using gbk) asc
</if>
<if
test=
"!isAll"
>
ty.sort
</if>
,t.project_id
ORDER BY
<if
test=
"isAll"
>
convert(u.`name` using gbk) asc
</if>
<if
test=
"!isAll"
>
ty.sort
</if>
,t.project_id
</select>
<select
id=
"selectCountByTypeAndStatus"
resultType=
"cn.wisenergy.model.dto.MonthlyWorkingHoursStatistics"
>
...
...
@@ -373,10 +384,14 @@
</select>
<select
id=
"selectListByType"
resultMap=
"userWorkTimeStatisticsByProject"
>
SELECT
<if
test=
"isAll"
>
u.id AS user_id, u.`name` AS user_name,
</if>
<if
test=
"!isAll"
>
'合计' AS user_name,
</if>
t.type AS work_time_type,
IF(t.is_overtime = 0,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if
test=
"!isAll"
>
0
</if>
SELECT
<if
test=
"isAll"
>
u.id AS user_id, u.`name` AS user_name,
</if>
<if
test=
"!isAll"
>
'合计' AS user_name,
</if>
t.type AS work_time_type,
IF(t.is_overtime = 0,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if
test=
"!isAll"
>
0
</if>
<if
test=
"isAll"
>
null
</if>
, sum(t.work_time)) AS normal_time
from work_time_order t JOIN work_user u ON t.user_id = u.id
where
...
...
@@ -415,7 +430,7 @@
<result
property=
"createTime"
column=
"create_time"
/>
<collection
property=
"workDay"
javaType=
"ArrayList"
ofType
=
"java.util.Date"
>
ofType
=
"java.util.Date"
>
<result
column=
"work_day"
/>
</collection>
</resultMap>
...
...
@@ -441,11 +456,37 @@
<foreach
collection=
"depts"
item=
"dept"
open=
"("
close=
")"
separator=
","
>
#{dept}
</foreach>
</if>
)
</if>
)
</where>
ORDER BY CONVERT( u.name USING gbk )
</select>
<select
id=
"getOrderChangePage"
resultType=
"cn.wisenergy.model.dto.OrderChangePageDto"
>
select o.project_id,p.project_name,u.name 'user_name',o.work_day,
o.work_time,t.name 'type_name',o.des,o.status
from work_time_order o LEFT JOIN work_type t on o.type = t.id
LEFT JOIN work_user u on o.user_id = u.id
LEFT JOIN work_project p on o.project_id = p.id
<where>
<if
test=
"projectId !=null"
>
AND o.project_id = #{projectId}
</if>
<if
test=
"type !=null and type>2"
>
AND o.type = #{type}
</if>
<if
test=
"startDate !=null"
>
AND o.work_day >= #{startDate}
</if>
<if
test=
"endDate !=null"
>
AND o.work_day
<
= #{endDate}
</if>
<if
test=
"userName !=null"
>
AND u.name like concat('%',#{userName},'%')
</if>
</where>
ORDER BY CONVERT( u.name USING gbk ), o.work_day desc
</select>
</mapper>
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkCollect.java
View file @
dd280035
...
...
@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
...
...
@@ -20,6 +21,7 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"WorkCollect"
,
description
=
"工时汇总实体类"
)
public
class
WorkCollect
implements
Serializable
{
...
...
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkOrderChange.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
app
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"WorkOrderChange"
,
description
=
"工单变更记录"
)
public
class
WorkOrderChange
{
@ApiModelProperty
(
name
=
"id"
,
value
=
"主键"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@ApiModelProperty
(
name
=
"changeDate"
,
value
=
"变更日期"
)
private
Date
changeDate
;
@ApiModelProperty
(
name
=
"content"
,
value
=
"操作内容:1:增加 2:删除 3:修改"
)
private
Integer
content
;
@ApiModelProperty
(
name
=
"operatorId"
,
value
=
"操作人id"
)
private
Integer
operatorId
;
@ApiModelProperty
(
name
=
"deptId"
,
value
=
"操作人部门id"
)
private
Integer
deptId
;
@ApiModelProperty
(
name
=
"projectId"
,
value
=
"项目id"
)
private
Integer
projectId
;
@ApiModelProperty
(
name
=
"type"
,
value
=
"工时类型"
)
private
Integer
type
;
@ApiModelProperty
(
name
=
"workDay"
,
value
=
"工单日期"
)
private
Date
workDay
;
@ApiModelProperty
(
name
=
"userId"
,
value
=
"填报人Id"
)
private
Integer
userId
;
@ApiModelProperty
(
name
=
"workTime"
,
value
=
"工时"
)
private
Integer
workTime
;
@ApiModelProperty
(
name
=
"des"
,
value
=
"工作说明"
)
private
String
des
;
@ApiModelProperty
(
name
=
"changeReason"
,
value
=
"修改原因"
)
private
String
changeReason
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkTimeOrder.java
View file @
dd280035
...
...
@@ -2,9 +2,11 @@ package cn.wisenergy.model.app;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
...
...
@@ -19,6 +21,7 @@ import java.util.Objects;
* @since 2021-01-19
*/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"WorkTimeOrder"
,
description
=
"工时单实体类"
)
public
class
WorkTimeOrder
implements
Serializable
{
...
...
@@ -40,6 +43,7 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty
(
name
=
"workTime"
,
value
=
"工时(整数)"
)
private
Integer
workTime
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
name
=
"workDay"
,
value
=
"工单日期"
)
private
Date
workDay
;
...
...
@@ -72,8 +76,12 @@ public class WorkTimeOrder implements Serializable {
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(!(
o
instanceof
WorkTimeOrder
))
return
false
;
if
(
this
==
o
)
{
return
true
;
}
if
(!(
o
instanceof
WorkTimeOrder
))
{
return
false
;
}
WorkTimeOrder
that
=
(
WorkTimeOrder
)
o
;
if
(
null
!=
getProjectId
()
&&
null
!=
that
.
getProjectId
())
{
return
getWorkId
().
equals
(
that
.
getWorkId
())
&&
...
...
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/DeptOfProjectAndOrderType.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
DeptOfProjectAndOrderType
{
private
Integer
deptId
;
private
String
deptName
;
List
<
ProjectManagerDto
>
projectManagerDtos
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/OrderChangeDto.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
OrderChangeDto
{
private
List
<
DeptOfProjectAndOrderType
>
projectAndOrderTypes
;
private
List
<
OrderChangeTypeDto
>
orderChangeTypeDtos
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/OrderChangePageDto.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
OrderChangePageDto
{
private
Integer
projectId
;
private
String
projectName
;
private
String
userName
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
private
Date
workDay
;
private
Integer
workTime
;
private
Integer
status
;
private
String
statusName
;
private
String
typeName
;
private
String
des
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/OrderChangeProjectDto.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
dto
;
import
java.util.List
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public
class
OrderChangeProjectDto
{
private
Integer
projectId
;
private
String
projectName
;
private
List
<
UserDto
>
userDtos
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/dto/OrderChangeTypeDto.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
OrderChangeTypeDto
{
private
Integer
type
;
private
String
typeName
;
private
List
<
UserDto
>
userDtos
;
private
List
<
OrderChangeTypeDto
>
orderChangeTypeDtos
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/enums/LevelEnum.java
View file @
dd280035
...
...
@@ -12,7 +12,8 @@ public enum LevelEnum {
TIMEEXPORT
(
"工时导出"
),
SYSTEMSETTINGS
(
"系统设置"
),
ACCOUNTMANAGEMENT
(
"账号管理"
),
MISSING
(
"填报缺失"
),
WORKORDER_CHANGEMANAGEMENT
(
"工单变更管理"
),
WORKORDER_CHANGERECORD
(
"工单变更记录"
),
;
private
String
LevelName
;
...
...
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/enums/OrderChangeEnum.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
enums
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public
enum
OrderChangeEnum
{
CREATE
(
1
,
"新增工单"
),
DELETE
(
2
,
"删除工单"
),
UPDATE
(
3
,
"修改工单"
),
;
private
Integer
content
;
private
String
contentName
;
OrderChangeEnum
(
Integer
content
,
String
contentName
)
{
this
.
content
=
content
;
this
.
contentName
=
contentName
;
}
public
Integer
getContent
()
{
return
content
;
}
public
String
getContentName
()
{
return
contentName
;
}}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/vo/OrderChangeManagerVo.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
OrderChangeManagerVo
{
private
Integer
projectId
;
private
Integer
type
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
private
Date
startDate
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
private
Date
endDate
;
private
String
userName
;
private
Integer
page
;
private
Integer
pageSize
;
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/vo/OrderChangeVo.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
model
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public
class
OrderChangeVo
{
private
Integer
workId
;
private
Integer
projectId
;
private
Integer
type
;
private
Integer
projectName
;
private
Integer
userId
;
private
Integer
userName
;
private
Integer
operatorId
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd"
)
private
Date
workDay
;
private
Integer
workTime
;
private
String
des
;
private
String
changeReason
;
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkCollectService.java
View file @
dd280035
...
...
@@ -62,4 +62,5 @@ public interface WorkCollectService {
Boolean
updateByWorkTimeOrder
(
List
<
WorkTimeOrder
>
workTimeOrders
);
Boolean
deleteByUserIdAndWorkDay
(
Integer
userId
,
Date
workDay
);
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkDeptService.java
View file @
dd280035
package
cn
.
wisenergy
.
service
;
import
cn.wisenergy.model.app.WorkDept
;
import
cn.wisenergy.model.dto.DeptOfProjectAndOrderType
;
import
cn.wisenergy.model.dto.OrganizationStructureDto
;
import
java.util.List
;
...
...
@@ -38,4 +39,6 @@ public interface WorkDeptService {
* @return
*/
List
<
WorkDept
>
getDeptOfProjectOfManager
(
Integer
userId
);
List
<
DeptOfProjectAndOrderType
>
getDeptOfProjectAndOrderType
(
Integer
userId
);
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkOrderChangeService.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
service
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public
interface
WorkOrderChangeService
{
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkProjectService.java
View file @
dd280035
package
cn
.
wisenergy
.
service
;
import
cn.wisenergy.model.app.WorkProject
;
import
cn.wisenergy.model.dto.DeptOfProjectAndOrderType
;
import
cn.wisenergy.model.dto.ProjectDto
;
import
cn.wisenergy.model.vo.CreateProjectVo
;
import
cn.wisenergy.model.vo.GetManagerProjectsVo
;
...
...
@@ -71,5 +72,9 @@ public interface WorkProjectService {
Boolean
addProject
(
CreateProjectVo
createProjectVo
);
/**
* 获取管理员所管理的项目+后五种类型/所属部门(工单变更)
* @param userId 管理员id
*/
List
<
DeptOfProjectAndOrderType
>
getProjectAndOrderTypeAndDept
(
Integer
userId
);
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/WorkTimeOrderService.java
View file @
dd280035
...
...
@@ -2,6 +2,8 @@ package cn.wisenergy.service;
import
cn.wisenergy.model.app.WorkTimeOrder
;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.model.vo.OrderChangeManagerVo
;
import
cn.wisenergy.model.vo.OrderChangeVo
;
import
com.github.pagehelper.PageInfo
;
import
java.util.Date
;
...
...
@@ -125,4 +127,19 @@ public interface WorkTimeOrderService {
* @return
*/
NotWorkSubmitOrderDto
getDeptNotOrderInfo
(
Integer
userId
);
/**
* 工单变更管理分页
* @param vo 条件
* @return 分页
*/
PageInfo
<
OrderChangePageDto
>
getOrderChangePage
(
OrderChangeManagerVo
vo
);
Boolean
createOrderChange
(
OrderChangeVo
vo
);
Boolean
updateOrderChange
(
OrderChangeVo
vo
);
Boolean
deleteOrderChange
(
Integer
workId
,
Integer
operator
);
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkCentreServiceImpl.java
View file @
dd280035
...
...
@@ -17,8 +17,8 @@ import java.util.HashMap;
import
java.util.List
;
/**
* @
Authotr:陈奇
*
@QQ1799796883
* @
author ASUS
*
*/
@Service
...
...
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkCollectServiceImpl.java
View file @
dd280035
...
...
@@ -16,6 +16,7 @@ import cn.wisenergy.model.dto.SubtotalDto;
import
cn.wisenergy.model.enums.StatusEnum
;
import
cn.wisenergy.service.*
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -67,6 +68,8 @@ public class WorkCollectServiceImpl implements WorkCollectService {
private
StatisticsService
statisticsService
;
private
static
final
int
NEEDSUBMITORDER
=
1
;
/**
* 功能: 查询某年月的填报情况
*
...
...
@@ -96,8 +99,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
WorkUser
user
=
workUserService
.
getById
(
userId
);
// 如果查询的日期大于本月的日期,则不查询
if
(
1
==
user
.
getSubmitOrder
()
&&
workMonth
.
compareTo
(
new
Date
())<=
0
)
{
if
(
NEEDSUBMITORDER
==
user
.
getSubmitOrder
()
&&
workMonth
.
compareTo
(
new
Date
())<=
0
)
{
List
<
Date
>
notCompletedByMonth
=
getNotCompletedByMonth
(
user
,
workMonth
);
StringBuffer
sb
=
new
StringBuffer
();
if
(!
CollectionUtils
.
isEmpty
(
notCompletedByMonth
))
{
...
...
@@ -196,7 +198,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
boolean
flag
=
DateUtil
.
isYearAndMonthEqual
(
month
,
new
Date
());
List
<
Date
>
workDays
=
statisticsService
.
currentMonthWorkDays
(
month
,
flag
);
Date
createDate
=
DateUtils
.
bigDateToShortDate
(
user
.
getCreateTime
());
workDays
.
removeIf
(
date1
->
date1
.
compareTo
(
createDate
)
<
0
);
workDays
.
removeIf
(
workDay
->
workDay
.
compareTo
(
createDate
)
<
0
);
List
<
WorkCollect
>
completedCollect
=
workCollectMapper
.
getCompletedByUserIdAndMonth
(
user
.
getId
(),
month
);
List
<
Date
>
completedDays
=
new
ArrayList
<>();
completedCollect
.
forEach
(
collect
->
completedDays
.
add
(
collect
.
getWorkDay
()));
...
...
@@ -242,4 +244,17 @@ public class WorkCollectServiceImpl implements WorkCollectService {
return
true
;
}
@Override
public
Boolean
deleteByUserIdAndWorkDay
(
Integer
userId
,
Date
workDay
)
{
log
.
info
(
"WorkCollectServiceImpl[]deleteByUserIdAndWorkDay[]input.param.userId:{}, workDay:{}"
+
userId
,
workDay
);
if
(
null
==
userId
||
null
==
workDay
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
UpdateWrapper
<
WorkCollect
>
wrapper
=
new
UpdateWrapper
<>();
wrapper
.
eq
(
"user_id"
,
userId
);
wrapper
.
eq
(
"work_day"
,
workDay
);
int
delete
=
workCollectMapper
.
delete
(
wrapper
);
return
delete
>
0
;
}
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkDeptServiceImpl.java
View file @
dd280035
...
...
@@ -6,6 +6,7 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import
cn.wisenergy.mapper.WorkDeptMapper
;
import
cn.wisenergy.model.app.WorkDept
;
import
cn.wisenergy.model.app.WorkUser
;
import
cn.wisenergy.model.dto.DeptOfProjectAndOrderType
;
import
cn.wisenergy.model.dto.OrganizationStructureDto
;
import
cn.wisenergy.model.dto.ProjectDto
;
import
cn.wisenergy.model.dto.UserRoleLevelDto
;
...
...
@@ -179,4 +180,10 @@ public class WorkDeptServiceImpl implements WorkDeptService {
}
return
null
;
}
@Override
public
List
<
DeptOfProjectAndOrderType
>
getDeptOfProjectAndOrderType
(
Integer
userId
)
{
log
.
info
(
"WorkDeptServiceImpl[]getDeptOfProjectAndOrderType[]input.param.userId:{}"
+
userId
);
return
workDeptMapper
.
getDeptOfProjectAndOrderType
(
userId
);
}
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkOrderChangeImpl.java
0 → 100644
View file @
dd280035
package
cn
.
wisenergy
.
service
.
impl
;
import
cn.wisenergy.service.WorkOrderChangeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Service
@Slf4j
public
class
WorkOrderChangeImpl
implements
WorkOrderChangeService
{
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
View file @
dd280035
...
...
@@ -5,13 +5,9 @@ import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import
cn.wisenergy.common.utils.exception.BaseCustomException
;
import
cn.wisenergy.mapper.WorkCentreMapper
;
import
cn.wisenergy.mapper.WorkDeptMapper
;
import
cn.wisenergy.mapper.WorkProjectChangeMapper
;
import
cn.wisenergy.mapper.WorkProjectMapper
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.dto.ManagerProjectsDto
;
import
cn.wisenergy.model.dto.ProjectDto
;
import
cn.wisenergy.model.dto.UserProjectDto
;
import
cn.wisenergy.model.dto.UserRoleLevelDto
;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.model.enums.LevelEnum
;
import
cn.wisenergy.model.enums.LevelRankEnum
;
import
cn.wisenergy.model.enums.ManagerEnum
;
...
...
@@ -72,7 +68,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
private
WorkProjectChangeService
workProjectChangeService
;
@Autowired
private
Work
ProjectChangeMapper
workProjectChangeMapper
;
private
Work
TypeService
workTypeService
;
/**
...
...
@@ -570,6 +566,78 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return
true
;
}
/**
* 获取管理员所管理的项目+后五种类型/所属部门(工单变更)
*
* @param userId 管理员id
*/
@Override
public
List
<
DeptOfProjectAndOrderType
>
getProjectAndOrderTypeAndDept
(
Integer
userId
)
{
log
.
info
(
"WorkProjectServiceImpl[]getProjectAndOrderTypeAndDept[]input.param.userId:{}"
+
userId
);
if
(
null
==
userId
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
WorkUser
user
=
workUserService
.
getById
(
userId
);
WorkDept
dept
=
workDeptService
.
getById
(
user
.
getDeptId
());
List
<
Integer
>
ranks
=
UserRoleLevelUtils
.
getRankByUserAndLevelName
(
userId
,
LevelEnum
.
WORKORDER_CHANGEMANAGEMENT
.
getLevelName
());
if
(
CollectionUtils
.
isEmpty
(
ranks
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN
);
}
List
<
DeptOfProjectAndOrderType
>
projectAndOrderTypes
=
new
ArrayList
<>();
// 后五种类型
List
<
ProjectManagerDto
>
projectManagerDtos
=
new
ArrayList
<>();
List
<
WorkType
>
workTypeServiceAll
=
workTypeService
.
getAll
(
1
);
if
(!
CollectionUtils
.
isEmpty
(
workTypeServiceAll
))
{
for
(
WorkType
workType
:
workTypeServiceAll
)
{
if
(
1
!=
workType
.
getReviewer
())
{
ProjectManagerDto
projectManagerDto
=
new
ProjectManagerDto
();
projectManagerDto
.
setType
(
workType
.
getId
());
projectManagerDto
.
setTypeName
(
workType
.
getName
());
projectManagerDtos
.
add
(
projectManagerDto
);
}
}
}
// 中心级(系统管理员)
for
(
Integer
rank
:
ranks
)
{
if
(
LevelRankEnum
.
CENTRAL_LEVEL
.
getRank
().
equals
(
rank
))
{
projectAndOrderTypes
=
workDeptService
.
getDeptOfProjectAndOrderType
(
null
);
if
(!
CollectionUtils
.
isEmpty
(
projectAndOrderTypes
))
{
for
(
DeptOfProjectAndOrderType
projectAndOrderType
:
projectAndOrderTypes
)
{
projectAndOrderType
.
getProjectManagerDtos
().
addAll
(
projectManagerDtos
);
}
}
return
projectAndOrderTypes
;
}
}
for
(
Integer
rank
:
ranks
)
{
// 项目级
if
(
LevelRankEnum
.
PROJECT_LEVEL
.
getRank
().
equals
(
rank
))
{
projectAndOrderTypes
=
workDeptService
.
getDeptOfProjectAndOrderType
(
userId
);
}
}
for
(
Integer
rank
:
ranks
)
{
// 部门级
if
(
LevelRankEnum
.
DEPARTMENT_LEVEL
.
getRank
().
equals
(
rank
))
{
if
(!
CollectionUtils
.
isEmpty
(
projectAndOrderTypes
))
{
for
(
DeptOfProjectAndOrderType
projectAndOrderType
:
projectAndOrderTypes
)
{
if
(
projectAndOrderType
.
getDeptId
().
equals
(
user
.
getDeptId
()))
{
projectAndOrderType
.
getProjectManagerDtos
().
addAll
(
projectManagerDtos
);
}
}
}
else
{
DeptOfProjectAndOrderType
projectAndOrderType
=
new
DeptOfProjectAndOrderType
();
projectAndOrderType
.
setDeptId
(
user
.
getDeptId
());
projectAndOrderType
.
setDeptName
(
dept
.
getDeptName
());
projectAndOrderType
.
setProjectManagerDtos
(
projectManagerDtos
);
projectAndOrderTypes
.
add
(
projectAndOrderType
);
}
}
}
return
projectAndOrderTypes
;
}
private
PageInfo
<
ManagerProjectsDto
>
returnPageInfo
(
List
<
ManagerProjectsDto
>
managerProjectsDto
)
{
if
(
CollectionUtils
.
isEmpty
(
managerProjectsDto
))
{
return
null
;
...
...
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
View file @
dd280035
...
...
@@ -4,6 +4,7 @@ import cn.wisenergy.common.utils.DateUtil;
import
cn.wisenergy.common.utils.DateUtils
;
import
cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM
;
import
cn.wisenergy.common.utils.exception.BaseCustomException
;
import
cn.wisenergy.mapper.WorkOrderChangeMapper
;
import
cn.wisenergy.mapper.WorkProjectMapper
;
import
cn.wisenergy.mapper.WorkTimeOrderMapper
;
import
cn.wisenergy.mapper.WorkUserMapper
;
...
...
@@ -11,7 +12,10 @@ import cn.wisenergy.model.app.*;
import
cn.wisenergy.model.dto.*
;
import
cn.wisenergy.model.enums.LevelEnum
;
import
cn.wisenergy.model.enums.LevelRankEnum
;
import
cn.wisenergy.model.enums.OrderChangeEnum
;
import
cn.wisenergy.model.enums.StatusEnum
;
import
cn.wisenergy.model.vo.OrderChangeManagerVo
;
import
cn.wisenergy.model.vo.OrderChangeVo
;
import
cn.wisenergy.service.*
;
import
cn.wisenergy.service.utils.UserRoleLevelUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -82,6 +86,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Autowired
private
StatisticsService
statisticsService
;
@Autowired
private
WorkOrderChangeMapper
workOrderChangeMapper
;
// 工单状态
...
...
@@ -108,7 +115,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
List
<
WorkTimeOrder
>
workTimeOrders
=
workTimeOrderMapper
.
getByDay
(
userId
,
workDay
);
if
(
CollectionUtils
.
isEmpty
(
workTimeOrders
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_ORDER_INFO_IS_NULL
)
;
return
null
;
}
return
workTimeOrders
;
...
...
@@ -143,7 +150,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for
(
WorkTimeOrder
wto
:
workTimeOrders
)
{
totalTime
+=
wto
.
getWorkTime
();
if
(
null
!=
wto
.
getReason
()
&&
REJECTED
.
equals
(
wto
.
getStatus
())
&&
reason
.
toString
().
equals
(
""
))
{
if
(
null
!=
wto
.
getReason
()
&&
REJECTED
.
equals
(
wto
.
getStatus
())
&&
""
.
equals
(
reason
.
toString
()
))
{
if
(!
CollectionUtils
.
isEmpty
(
typeIds
))
{
if
(
typeIds
.
contains
(
wto
.
getType
()))
{
reason
.
append
(
workProjectService
.
getById
(
wto
.
getProjectId
()).
getProjectName
()).
append
(
":"
).
append
(
wto
.
getReason
()).
append
(
";"
);
...
...
@@ -208,7 +215,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 1.判断是否重复填报
isRepeat
(
workTimeOrders
);
// 2.每天工时累加不得超过八小时
timeNotEight
(
workTimeOrders
);
timeNotEight
(
0
,
workTimeOrders
);
int
totalTime
=
0
;
List
<
WorkTimeOrder
>
addList
=
new
ArrayList
<>(
8
);
List
<
WorkType
>
workTypes
=
workTypeService
.
getAll
(
null
);
...
...
@@ -262,7 +269,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for
(
WorkTimeOrder
dto
:
addList
)
{
if
(
null
!=
workCollect
&&
null
!=
workCollect
.
getRejectTime
())
{
Date
rejectTime1
=
workCollect
.
getRejectTime
();
//dto.setStatus(RE_SUBMIT);
Date
rejectTime
=
DateUtil
.
convertStrToDate
(
DateUtil
.
convertDateToStr
(
rejectTime1
,
"yyyy-MM-dd"
),
"yyyy-MM-dd"
);
if
(
DateUtil
.
isThanDay
(
rejectTime
,
date
,
submitTime
))
{
throw
new
BaseCustomException
(
"627"
,
"超过"
+
submitTime
+
"天的不能填报"
);
...
...
@@ -337,10 +343,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
// 判断填写工时单是否重复
private
void
isRepeat
(
List
<
WorkTimeOrderDto
>
list
)
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
private
void
isRepeat
(
List
<?>
ts
)
{
List
<
WorkTimeOrder
>
list
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
ts
))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
ts
.
forEach
(
t
->
list
.
add
((
WorkTimeOrder
)
t
));
List
<
Integer
>
typeIds
=
workTypeService
.
getIdByReviewer
(
1
);
int
size
=
list
.
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
...
...
@@ -545,7 +553,19 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if
(!
UserRoleLevelUtils
.
isManagerLevel
(
userId
,
LevelEnum
.
EXAMINE
.
getLevelName
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
USER_NOT_LEVEL
);
}
Date
startDate
;
Date
endDate
;
Date
date
=
new
Date
();
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
WorkSubmitAdopt
submitAdopt
=
workSubmitAdoptService
.
getById
(
1
);
Integer
orderChange
=
submitAdopt
.
getOrderChange
();
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
orderChange
);
startDate
=
DateUtil
.
getFirstDayOfMonth
(
calendar
.
getTime
());
endDate
=
DateUtil
.
getLastDayByMonth2
(
calendar
.
getTime
());
QueryWrapper
<
WorkTimeOrder
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
ge
(
"work_day"
,
startDate
);
wrapper
.
le
(
"work_day"
,
endDate
);
wrapper
.
eq
(
"reviewer_id"
,
userId
);
wrapper
.
eq
(
"status"
,
REJECTED
);
wrapper
.
orderByDesc
(
"work_day"
);
...
...
@@ -797,15 +817,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
//3.每天工时累加不得超过八小时
private
void
timeNotEight
(
List
<
WorkTimeOrderDto
>
list
)
{
int
count
=
0
;
for
(
WorkTimeOrderDto
workOrder
:
list
)
{
isEmpty
(
workOrder
);
count
=
count
+
workOrder
.
getWorkTime
();
if
(
count
>
8
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_TIME_NOT_OVER_EIGHT
);
private
int
timeNotEight
(
int
totalTime
,
List
<?>
ts
)
{
List
<
WorkTimeOrder
>
list
=
new
ArrayList
<>(
8
);
if
(!
CollectionUtils
.
isEmpty
(
ts
))
{
ts
.
forEach
(
t
->
list
.
add
((
WorkTimeOrder
)
t
));
}
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
for
(
WorkTimeOrder
workOrder
:
list
)
{
totalTime
=
totalTime
+
workOrder
.
getWorkTime
();
}
}
if
(
totalTime
>
8
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_TIME_NOT_OVER_EIGHT
);
}
return
totalTime
;
}
//判断填报是否超过今天
...
...
@@ -934,8 +959,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 获取本部门 填报缺失信息
*
* @param userId
* @return
* @param userId
管理员id
* @return
填报缺失信息
*/
@Override
public
NotWorkSubmitOrderDto
getDeptNotOrderInfo
(
Integer
userId
)
{
...
...
@@ -962,17 +987,19 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
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
{
Date
startDate
;
Date
endDate
;
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
-
submitTime
);
if
(
DateUtil
.
isYearAndMonthEqual
(
date
,
calendar
.
getTime
()))
{
startDate
=
DateUtil
.
getFirstDayOfMonth
(
date
);
endDate
=
date
;
}
else
{
startDate
=
DateUtil
.
getFirstDayOfMonth
(
calendar
.
getTime
());
endDate
=
DateUtil
.
getLastDayByMonth2
(
calendar
.
getTime
());
}
boolean
flag
=
DateUtil
.
isYearAndMonthEqual
(
date
,
new
Date
()
);
boolean
flag
=
DateUtil
.
isYearAndMonthEqual
(
date
,
date
);
List
<
Date
>
workDays
=
statisticsService
.
currentMonthWorkDays
(
date
,
flag
);
List
<
DeptUserDto
>
deptUserDtos
=
new
ArrayList
<>();
...
...
@@ -1031,5 +1058,237 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return
notWorkSubmitOrderDto
;
}
/**
* 工单变更管理分页
*
* @param vo 条件
* @return 分页
*/
@Override
public
PageInfo
<
OrderChangePageDto
>
getOrderChangePage
(
OrderChangeManagerVo
vo
)
{
log
.
info
(
"WorkOrderServiceImpl[]getOrderChangePage[]input.param.OrderChangeManagerVo"
+
vo
);
if
(
null
==
vo
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
if
(
null
==
vo
.
getProjectId
()
&&
null
==
vo
.
getType
())
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
PLEASESELECTANITEM
);
}
vo
.
setPage
(
null
==
vo
.
getPage
()
?
1
:
vo
.
getPage
());
vo
.
setPageSize
(
null
==
vo
.
getPageSize
()
?
10
:
vo
.
getPageSize
());
PageHelper
.
startPage
(
vo
.
getPage
(),
vo
.
getPageSize
());
List
<
OrderChangePageDto
>
orderChangePage
=
workTimeOrderMapper
.
getOrderChangePage
(
vo
);
if
(!
CollectionUtils
.
isEmpty
(
orderChangePage
))
{
for
(
OrderChangePageDto
orderChangePageDto
:
orderChangePage
)
{
for
(
StatusEnum
value
:
StatusEnum
.
values
())
{
if
(
orderChangePageDto
.
getStatus
().
equals
(
value
.
getCode
()))
{
orderChangePageDto
.
setStatusName
(
value
.
getMsg
());
}
}
}
}
PageInfo
<
OrderChangePageDto
>
pageInfo
=
new
PageInfo
<>(
orderChangePage
);
pageInfo
.
setList
(
orderChangePage
);
return
pageInfo
;
}
@Transactional
@Override
public
Boolean
createOrderChange
(
OrderChangeVo
vo
)
{
log
.
info
(
"WorkTimeOrderServiceImpl[]createOrderChange[]input.param.OrderChangeVo:{}"
+
vo
);
// 1.判断参数是否为空
OrderChangeVoIsNull
(
vo
,
false
);
// 2.是否超过8小时
int
totalTime
=
vo
.
getWorkTime
();
List
<
WorkTimeOrder
>
workTimeOrders
=
getByDay
(
vo
.
getUserId
(),
vo
.
getWorkDay
());
List
<
WorkTimeOrder
>
workTimeOrderList
=
new
ArrayList
<>(
8
);
if
(!
CollectionUtils
.
isEmpty
(
workTimeOrders
))
{
workTimeOrderList
.
addAll
(
workTimeOrders
);
}
totalTime
=
timeNotEight
(
totalTime
,
workTimeOrders
);
// 3.判断工时类型和项目是否重复
WorkTimeOrder
workTimeOrder
=
new
WorkTimeOrder
();
BeanUtils
.
copyProperties
(
vo
,
workTimeOrder
);
workTimeOrderList
.
add
(
workTimeOrder
);
isRepeat
(
workTimeOrderList
);
// 4.插入workTimeOrder表
WorkTimeOrder
timeOrder
=
getOrderChangeWorkTimeOrder
(
vo
,
workTimeOrder
);
int
saveTimeOrderRow
=
workTimeOrderMapper
.
save
(
timeOrder
);
if
(
saveTimeOrderRow
==
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
// 5.插入workCollect表
insertWorkCollect
(
vo
,
totalTime
,
CollectionUtils
.
isEmpty
(
workTimeOrders
),
false
,
null
);
// 增加记录
addWorkOrderChange
(
OrderChangeEnum
.
CREATE
.
getContent
(),
vo
);
return
true
;
}
@Transactional
@Override
public
Boolean
updateOrderChange
(
OrderChangeVo
vo
)
{
log
.
info
(
"WorkTimeOrderServiceImpl[]updateOrderChange[]input.param.OrderChangeVo:{}"
+
vo
);
// 1.判断参数是否为空
OrderChangeVoIsNull
(
vo
,
true
);
List
<
WorkTimeOrder
>
workTimeOrders
=
getByDay
(
vo
.
getUserId
(),
vo
.
getWorkDay
());
// 2.判断是否超过8小时
int
totalTime
=
vo
.
getWorkTime
();
if
(!
CollectionUtils
.
isEmpty
(
workTimeOrders
))
{
workTimeOrders
.
removeIf
(
workTimeOrder
->
workTimeOrder
.
getWorkId
().
equals
(
vo
.
getWorkId
()));
}
totalTime
=
timeNotEight
(
totalTime
,
workTimeOrders
);
// 3.判断工时类型是否重复
List
<
WorkTimeOrder
>
workTimeOrderList
=
new
ArrayList
<>(
8
);
if
(!
CollectionUtils
.
isEmpty
(
workTimeOrders
))
{
workTimeOrderList
.
addAll
(
workTimeOrders
);
}
WorkTimeOrder
workTimeOrder
=
new
WorkTimeOrder
();
BeanUtils
.
copyProperties
(
vo
,
workTimeOrder
);
workTimeOrderList
.
add
(
workTimeOrder
);
isRepeat
(
workTimeOrderList
);
// 4.获取原工单
WorkTimeOrder
workTimeOrderOld
=
workTimeOrderMapper
.
selectById
(
vo
.
getWorkId
());
System
.
out
.
println
(
workTimeOrderOld
);
// 5.修改workTimeOrder工单
WorkTimeOrder
timeOrder
=
getOrderChangeWorkTimeOrder
(
vo
,
workTimeOrder
);
int
i
=
workTimeOrderMapper
.
updateById
(
timeOrder
);
if
(
i
==
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
// 判断是否是同一天
if
(
vo
.
getWorkDay
().
compareTo
(
workTimeOrderOld
.
getWorkDay
())
==
0
)
{
insertWorkCollect
(
vo
,
totalTime
,
false
,
false
,
null
);
}
else
{
// 6.修改或插入workCollect表
insertWorkCollect
(
vo
,
totalTime
,
CollectionUtils
.
isEmpty
(
workTimeOrders
),
false
,
null
);
// 7.修改或删除原workCollect表
List
<
WorkTimeOrder
>
workTimeOrdersOld
=
getByDay
(
workTimeOrderOld
.
getUserId
(),
workTimeOrderOld
.
getWorkDay
());
System
.
out
.
println
(
workTimeOrdersOld
);
if
(!
CollectionUtils
.
isEmpty
(
workTimeOrdersOld
))
{
totalTime
=
0
;
for
(
WorkTimeOrder
order
:
workTimeOrdersOld
)
{
totalTime
+=
order
.
getWorkTime
();
}
}
insertWorkCollect
(
vo
,
totalTime
,
false
,
CollectionUtils
.
isEmpty
(
workTimeOrdersOld
),
workTimeOrderOld
);
}
// 增加记录
addWorkOrderChange
(
OrderChangeEnum
.
UPDATE
.
getContent
(),
vo
);
return
true
;
}
@Transactional
@Override
public
Boolean
deleteOrderChange
(
Integer
workId
,
Integer
operator
)
{
log
.
info
(
"WorkTimeOrderServiceImpl[]deleteOrderChange[]input.param.workId:{},operator:{}"
+
workId
,
operator
);
if
(
null
==
workId
||
null
==
operator
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
// 查询原工单
WorkTimeOrder
workTimeOrder
=
workTimeOrderMapper
.
selectById
(
workId
);
OrderChangeVo
vo
=
new
OrderChangeVo
();
BeanUtils
.
copyProperties
(
vo
,
workTimeOrder
);
vo
.
setOperatorId
(
operator
);
// 删除记录
workTimeOrderMapper
.
deleteById
(
workId
);
// 增加记录
addWorkOrderChange
(
OrderChangeEnum
.
CREATE
.
getContent
(),
vo
);
return
true
;
}
private
void
addWorkOrderChange
(
Integer
content
,
OrderChangeVo
vo
)
{
WorkOrderChange
workOrderChange
=
new
WorkOrderChange
();
WorkUser
operator
=
workUserService
.
getById
(
vo
.
getOperatorId
());
workOrderChange
.
setChangeDate
(
new
Date
()).
setContent
(
content
).
setOperatorId
(
vo
.
getOperatorId
()).
setDeptId
(
operator
.
getDeptId
()).
setWorkDay
(
vo
.
getWorkDay
()).
setUserId
(
vo
.
getUserId
()).
setWorkTime
(
vo
.
getWorkTime
()).
setDes
(
vo
.
getDes
()).
setChangeReason
(
vo
.
getChangeReason
());
if
(
null
==
vo
.
getProjectId
())
{
workOrderChange
.
setType
(
vo
.
getType
());
}
else
{
workOrderChange
.
setProjectId
(
vo
.
getProjectId
());
}
int
insert
=
workOrderChangeMapper
.
insert
(
workOrderChange
);
if
(
insert
==
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
}
// 获取完整工单变更WorkTimeOrder
private
WorkTimeOrder
getOrderChangeWorkTimeOrder
(
OrderChangeVo
vo
,
WorkTimeOrder
workTimeOrder
)
{
WorkUser
user
=
workUserService
.
getById
(
vo
.
getUserId
());
Boolean
holiday
=
workHolidayService
.
isHoliday
(
vo
.
getWorkDay
());
int
status
=
2
;
int
deptId
=
user
.
getDeptId
();
int
reviewerId
=
vo
.
getOperatorId
();
int
isOvertime
=
holiday
?
1
:
0
;
Date
date
=
new
Date
();
workTimeOrder
.
setStatus
(
status
).
setDeptId
(
deptId
).
setReviewerId
(
reviewerId
).
setIsOvertime
(
isOvertime
).
setModifyTime
(
date
);
return
workTimeOrder
;
}
private
void
insertWorkCollect
(
OrderChangeVo
vo
,
int
totalTime
,
Boolean
isInsert
,
Boolean
isDelete
,
WorkTimeOrder
workTimeOrderOld
)
{
if
(
isDelete
)
{
Boolean
aBoolean
=
workCollectService
.
deleteByUserIdAndWorkDay
(
workTimeOrderOld
.
getUserId
(),
workTimeOrderOld
.
getWorkDay
());
if
(!
aBoolean
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
FAILEDTO_DELETE_DATA
);
}
}
else
{
WorkCollect
workCollect
=
new
WorkCollect
();
int
i
=
statusYes
(
vo
.
getUserId
(),
vo
.
getWorkDay
());
if
(
null
==
workTimeOrderOld
)
{
workCollect
.
setUserId
(
vo
.
getUserId
()).
setWorkDay
(
vo
.
getWorkDay
()).
setTotalTime
(
totalTime
).
setStatus
(
i
);
}
else
{
workCollect
.
setUserId
(
workTimeOrderOld
.
getUserId
()).
setWorkDay
(
workTimeOrderOld
.
getWorkDay
()).
setTotalTime
(
totalTime
).
setStatus
(
i
);
}
Boolean
aBoolean
;
if
(
isInsert
)
{
aBoolean
=
workCollectService
.
insertCollect
(
workCollect
);
if
(!
aBoolean
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INSERT_DATA_IS_FAIL
);
}
}
else
{
aBoolean
=
workCollectService
.
update
(
workCollect
);
if
(!
aBoolean
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
UPDATE_DATA_FAIL
);
}
}
}
}
// 判断新增的工单变更是否为空
private
void
OrderChangeVoIsNull
(
OrderChangeVo
vo
,
Boolean
workIdIsNeed
)
{
if
(
null
==
vo
||
(
null
==
vo
.
getProjectId
()
&&
null
==
vo
.
getType
())
||
null
==
vo
.
getWorkDay
()
||
null
==
vo
.
getWorkTime
()
||
StringUtils
.
isBlank
(
vo
.
getDes
())
||
StringUtils
.
isBlank
(
vo
.
getChangeReason
()))
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
if
(
workIdIsNeed
&&
null
==
vo
.
getWorkId
())
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
else
if
(
null
==
vo
.
getUserId
())
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
INPUT_PARAM_IS_NULL
);
}
Date
workDay
=
vo
.
getWorkDay
();
Date
date
=
new
Date
();
if
(
workDay
.
compareTo
(
date
)
>
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORK_TIME_OVER_NOW_DAY
);
}
Integer
orderChange
=
workSubmitAdoptService
.
getById
(
1
).
getOrderChange
();
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
orderChange
);
Date
firstDay
=
DateUtil
.
getFirstDayOfMonth
(
calendar
.
getTime
());
if
(
firstDay
.
compareTo
(
vo
.
getWorkDay
())
>
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
THEWORKORDERDATE_HASEXCEEDED_THECHANGERANGE
);
}
if
(
vo
.
getWorkTime
()
<=
0
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
WORKORDERHOURS_MUSTBEGREATERTHAN0
);
}
}
}
This diff is collapsed.
Click to expand it.
wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkUserServiceImpl.java
View file @
dd280035
...
...
@@ -334,7 +334,7 @@ public class WorkUserServiceImpl implements WorkUserService {
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
USER_LOGIN_NAME_OR_PASSWORD_IS_ERROR
);
}
// 是否离职状态
if
(
user
.
getStatus
()
!=
ON_THE_JOB_STATUS
)
{
if
(
!
user
.
getStatus
().
equals
(
ON_THE_JOB_STATUS
)
)
{
throw
new
BaseCustomException
(
BASE_RESP_CODE_ENUM
.
LEAVE_JOB_USER
);
}
...
...
This diff is collapsed.
Click to expand it.
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkProjectController.java
View file @
dd280035
...
...
@@ -3,6 +3,7 @@ package cn.wisenergy.web.admin.controller.app;
import
cn.wisenergy.common.utils.exception.Result
;
import
cn.wisenergy.model.app.WorkDept
;
import
cn.wisenergy.model.app.WorkProjectChange
;
import
cn.wisenergy.model.dto.DeptOfProjectAndOrderType
;
import
cn.wisenergy.model.vo.CreateProjectVo
;
import
cn.wisenergy.model.vo.GetManagerProjectsVo
;
import
cn.wisenergy.model.vo.ModifyProjectVo
;
...
...
@@ -90,8 +91,8 @@ public class WorkProjectController extends BaseController {
return
getResult
(
aBoolean
);
}
@ApiOperation
(
value
=
"获取所管理项目的部门
"
,
notes
=
"获取所管理项目的部门
"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"管理员id"
)
@ApiOperation
(
value
=
"获取所管理项目的部门
(项目/商机管理)"
,
notes
=
"获取所管理项目的部门(项目/商机管理)
"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"管理员id"
,
required
=
true
)
@GetMapping
(
"/getDeptOfProject"
)
public
Result
<
List
<
WorkDept
>>
getDeptOfProject
(
Integer
userId
)
{
log
.
info
(
"WorkProjectController[]getDeptOfProject[]input.param.userId"
+
userId
);
...
...
@@ -99,5 +100,14 @@ public class WorkProjectController extends BaseController {
return
getResult
(
deptOfProjectOfManager
);
}
@ApiOperation
(
value
=
"查询所管理的项目和所属部门(工单变更管理)"
,
notes
=
"查询所管理的项目和所属部门(工单变更管理)"
,
httpMethod
=
"GET"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"管理员Id"
,
dataType
=
"int"
,
required
=
true
)
@GetMapping
(
"/getProjectAndTypeAndDept"
)
public
Result
getProjectAndOrderTypeAndDept
(
Integer
userId
)
{
log
.
info
(
"WorkProjectController[]getProjectAndOrderTypeAndDept[]input.param.userId"
+
userId
);
List
<
DeptOfProjectAndOrderType
>
projectAndOrderTypeAndDept
=
workProjectService
.
getProjectAndOrderTypeAndDept
(
userId
);
return
getResult
(
projectAndOrderTypeAndDept
);
}
}
This diff is collapsed.
Click to expand it.
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkTimeOrderController.java
View file @
dd280035
...
...
@@ -6,6 +6,8 @@ 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.*
;
import
cn.wisenergy.model.vo.OrderChangeManagerVo
;
import
cn.wisenergy.model.vo.OrderChangeVo
;
import
cn.wisenergy.service.WorkTimeOrderService
;
import
cn.wisenergy.web.admin.controller.common.BaseController
;
import
com.github.pagehelper.PageInfo
;
...
...
@@ -168,4 +170,45 @@ public class WorkTimeOrderController extends BaseController {
}
@ApiOperation
(
value
=
"工单变更分页"
,
notes
=
"工单变更分页"
,
httpMethod
=
"POST"
)
@ApiImplicitParam
(
name
=
"vo"
,
value
=
"工单变更分页条件Vo"
,
dataType
=
"OrderChangeManagerVo"
)
@PostMapping
(
"/orderChangePage"
)
public
Result
orderChangePage
(
@RequestBody
OrderChangeManagerVo
vo
)
{
log
.
info
(
"WorkTimeOrderController[]orderChangePage[]input.param.OrderChangeManagerVo:{}"
+
vo
);
PageInfo
<
OrderChangePageDto
>
orderChangePage
=
workTimeOrderService
.
getOrderChangePage
(
vo
);
return
getResult
(
orderChangePage
);
}
@ApiOperation
(
value
=
"新增变更工单"
,
notes
=
"新增变更工单"
,
httpMethod
=
"POST"
)
@ApiImplicitParam
(
name
=
"vo"
,
value
=
"新增变更工单vo"
,
dataType
=
"OrderChangeVo"
)
@PostMapping
(
"/createOrderChange"
)
public
Result
createOrderChange
(
@RequestBody
OrderChangeVo
vo
)
{
log
.
info
(
"WorkTimeOrderController[]createOrderChange[]input.param.OrderChangeVo:{}"
+
vo
);
Boolean
orderChange
=
workTimeOrderService
.
createOrderChange
(
vo
);
return
getResult
(
orderChange
);
}
@ApiOperation
(
value
=
"修改变更工单"
,
notes
=
"修改变更工单"
,
httpMethod
=
"PUT"
)
@ApiImplicitParam
(
name
=
"vo"
,
value
=
"修改变更工单vo"
,
dataType
=
"OrderChangeVo"
)
@PutMapping
(
"/updateOrderChange"
)
public
Result
updateOrderChange
(
@RequestBody
OrderChangeVo
vo
)
{
log
.
info
(
"WorkTimeOrderController[]updateOrderChange[]input.param.OrderChangeVo:{}"
+
vo
);
Boolean
aBoolean
=
workTimeOrderService
.
updateOrderChange
(
vo
);
return
getResult
(
aBoolean
);
}
@ApiOperation
(
value
=
"删除工单"
,
notes
=
"删除工单"
,
httpMethod
=
"DELETE"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"workId"
,
value
=
"工单id"
,
dataType
=
"int"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"operator"
,
value
=
"操作者"
,
dataType
=
"int"
,
required
=
true
)
})
@DeleteMapping
(
"/deleteOrderChange"
)
public
Result
deleteOrderChange
(
Integer
workId
,
Integer
operator
)
{
log
.
info
(
"WorkTimeOrderController[]deleteOrderChange[]input.param.workId:{},operator:{}"
+
workId
,
operator
);
Boolean
aBoolean
=
workTimeOrderService
.
deleteOrderChange
(
workId
,
operator
);
return
getResult
(
aBoolean
);
}
}
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