Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
7932169f
Commit
7932169f
authored
Jul 12, 2023
by
周亚武
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
e0f251f0
bd406c3f
Changes
32
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
3881 additions
and
628 deletions
+3881
-628
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/req/AppealReq.java
...er/src/main/java/com/mortals/xhx/busiz/req/AppealReq.java
+19
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/rsp/AppealDetailInfo.java
...main/java/com/mortals/xhx/busiz/rsp/AppealDetailInfo.java
+222
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java
...n/java/com/mortals/xhx/busiz/web/AppealApiController.java
+56
-15
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/CheckTypeEnum.java
.../main/java/com/mortals/xhx/common/code/CheckTypeEnum.java
+4
-5
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/ProcessStatusEnum.java
...n/java/com/mortals/xhx/common/code/ProcessStatusEnum.java
+3
-3
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java
.../main/java/com/mortals/xhx/common/code/SubMethodEnum.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java
...rtals/xhx/module/check/model/CheckAttendRecordEntity.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/dao/PerformAttendAppealDao.java
...ortals/xhx/module/perform/dao/PerformAttendAppealDao.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/dao/ibatis/PerformAttendAppealDaoImpl.java
...module/perform/dao/ibatis/PerformAttendAppealDaoImpl.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealEntity.java
...s/xhx/module/perform/model/PerformAttendAppealEntity.java
+144
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealQuery.java
...ls/xhx/module/perform/model/PerformAttendAppealQuery.java
+2025
-502
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformAttendAppealVo.java
...ls/xhx/module/perform/model/vo/PerformAttendAppealVo.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformDeptConfVo.java
...ortals/xhx/module/perform/model/vo/PerformDeptConfVo.java
+3
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformPerposeVo.java
...mortals/xhx/module/perform/model/vo/PerformPerposeVo.java
+23
-5
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformStaffConfVo.java
...rtals/xhx/module/perform/model/vo/PerformStaffConfVo.java
+3
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java
...hx/module/perform/service/PerformAttendAppealService.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java
.../perform/service/impl/PerformAttendAppealServiceImpl.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformDeptConfServiceImpl.java
...dule/perform/service/impl/PerformDeptConfServiceImpl.java
+102
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformPerposeServiceImpl.java
...odule/perform/service/impl/PerformPerposeServiceImpl.java
+141
-8
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformStaffConfServiceImpl.java
...ule/perform/service/impl/PerformStaffConfServiceImpl.java
+72
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java
...xhx/module/perform/web/PerformAttendAppealController.java
+5
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformDeptConfController.java
...als/xhx/module/perform/web/PerformDeptConfController.java
+4
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformDeptConfDetailController.java
...x/module/perform/web/PerformDeptConfDetailController.java
+4
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformStaffConfController.java
...ls/xhx/module/perform/web/PerformStaffConfController.java
+4
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformStaffConfDetailController.java
.../module/perform/web/PerformStaffConfDetailController.java
+4
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffPerformSummaryController.java
...s/xhx/module/staff/web/StaffPerformSummaryController.java
+4
-0
attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckComplainRecordMapperExt.xml
...rces/sqlmap/module/check/CheckComplainRecordMapperExt.xml
+5
-21
attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckReviewRecordMapperExt.xml
...ources/sqlmap/module/check/CheckReviewRecordMapperExt.xml
+5
-21
attendance-performance-manager/src/main/resources/sqlmap/module/perform/PerformAttendAppealMapper.xml
...urces/sqlmap/module/perform/PerformAttendAppealMapper.xml
+910
-4
attendance-performance-manager/src/test/java/com/mortals/httpclient/perform/PerformAttendAppealController.http
...als/httpclient/perform/PerformAttendAppealController.http
+45
-23
db/add.sql
db/add.sql
+65
-0
doc/考勤绩效管理系统.docx
doc/考勤绩效管理系统.docx
+0
-0
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/req/AppealReq.java
View file @
7932169f
package
com.mortals.xhx.busiz.req
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.xhx.busiz.BaseReq
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealFilesEntity
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
@Data
...
...
@@ -29,7 +33,22 @@ public class AppealReq extends BaseReq {
*/
private
Long
staffId
;
/**
* 核查记录id
*/
private
Long
Id
;
/**
* 申诉说明
*/
private
String
appealDesc
;
/**
* 绩效记录申诉附件信息信息
*/
private
List
<
PerformAttendAppealFilesEntity
>
performAttendAppealFilesList
=
new
ArrayList
<>();
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/rsp/AppealDetailInfo.java
0 → 100644
View file @
7932169f
package
com.mortals.xhx.busiz.rsp
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
public
class
AppealDetailInfo
{
/**
* id
*/
private
Long
id
;
/**
* 记录ID
*/
private
Long
recordId
;
/**
* 员工ID
*/
private
Long
staffId
;
/**
* 员工姓名
*/
private
String
staffName
;
/**
* 工号
*/
private
String
workNum
;
/**
* 所属部门
*/
private
Long
deptId
;
/**
* 所属部门名称
*/
private
String
deptName
;
/**
* 所属考勤组ID
*/
private
Long
attendanceGroupId
;
/**
* 所属考勤组名称
*/
private
String
attendanceGroupName
;
/**
* 考勤时间
*/
private
Date
attendanceDate
;
/**
* 绩效规则id
*/
private
Long
ruleId
;
/**
* 规则名称
*/
private
String
ruleName
;
/**
* 增减类型(1.增加,2.扣除)
*/
private
Integer
subAddType
;
/**
* 扣分或增加分值
*/
private
BigDecimal
score
;
/**
* 上下班时间
*/
private
String
goOffTimeStr
;
/**
* 异常时间
*/
private
Date
errorTime
;
/**
* 实际打卡时间
*/
private
Date
actualAttendTime
;
/**
* 异常处理结果
*/
private
String
errorResult
;
/**
* 核查人员
*/
private
String
checkPerson
;
/**
* 核查时间
*/
private
Date
checkTime
;
/**
* 核查说明
*/
private
String
checkDesc
;
/**
* 核查结果
*/
private
String
checkResult
;
/**
* 处理状态(1.未处理,2.已处理)
*/
private
Integer
checkStatus
;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private
Integer
subMethod
;
/**
* 说明
*/
private
String
remark
;
/**
* 评价结果(1.非常不满意,2.差评)
*/
private
Integer
reviewResult
;
/**
* 评价时间
*/
private
Date
reviewTime
;
/**
* 评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)
*/
private
String
reviewSource
;
/**
* 评价设备
*/
private
String
reviewDevice
;
/**
* 投诉标题
*/
private
String
complainTitle
;
/**
* 投诉内容
*/
private
String
complainContent
;
/**
* 投诉人真实姓名
*/
private
String
complainRealName
;
/**
* 联系电话
*/
private
String
contact
;
/**
* 投诉时间
*/
private
Date
complainTime
;
/**
* 投诉来源
*/
private
String
complainSource
;
/**
* 投诉设备
*/
private
String
complainDevice
;
/**
* 办件编码
*/
private
String
goworkCode
;
/**
* 办件所属部门
*/
private
String
goworkDepts
;
/**
* 事项名称
*/
private
String
matterlName
;
/**
* 办理时间
*/
private
Date
goworkTime
;
/**
* 违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)
*/
private
Integer
irregularType
;
/**
* 发生时间
*/
private
Date
happenTime
;
/**
* 持续时间,秒
*/
private
Integer
duration
;
/**
* 报警时间
*/
private
Date
alarmTime
;
/**
* 图片凭证地址
*/
private
String
snapPath
;
/**
* 窗口编号
*/
private
String
windowNum
;
/**
* 违规类型(1.工作纪律)
*/
private
Integer
irregularOtherType
;
/**
* 附件名称,多个逗号分割
*/
private
String
fileNames
;
/**
* 附件下载地址,多个逗号分割
*/
private
String
filePaths
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java
View file @
7932169f
...
...
@@ -10,14 +10,11 @@ import com.mortals.framework.exception.AppException;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.web.BaseJsonBodyController
;
import
com.mortals.xhx.busiz.req.AppealReq
;
import
com.mortals.xhx.busiz.req.PerformReq
;
import
com.mortals.xhx.busiz.rsp.AppealStatInfo
;
import
com.mortals.xhx.busiz.rsp.PerformDetailInfo
;
import
com.mortals.xhx.busiz.rsp.PerformInfo
;
import
com.mortals.xhx.busiz.rsp.PerformStatInfo
;
import
com.mortals.xhx.common.code.PerformTypeEnum
;
import
com.mortals.xhx.common.code.ProcessStatusEnum
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.check.model.*
;
import
com.mortals.xhx.module.check.service.*
;
...
...
@@ -25,7 +22,6 @@ import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealQuery
;
import
com.mortals.xhx.module.perform.service.PerformAttendAppealService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -36,9 +32,7 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED
;
...
...
@@ -56,7 +50,22 @@ import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED_CONTENT;
public
class
AppealApiController
extends
AbstractBaseController
<
PerformReq
>
{
@Autowired
private
PerformAttendAppealService
attendAppealService
;
private
CheckAttendRecordService
checkAttendRecordService
;
@Autowired
private
CheckReviewRecordService
checkReviewRecordService
;
@Autowired
private
CheckComplainRecordService
checkComplainRecordService
;
@Autowired
private
CheckEffectRecordService
checkEffectRecordService
;
@Autowired
private
CheckGoworkRecordService
checkGoworkRecordService
;
@Autowired
private
CheckOtherRecordService
checkOtherRecordService
;
@Autowired
private
PerformAttendAppealService
appealService
;
/**
* 个人申诉绩效统计
...
...
@@ -112,7 +121,7 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
query
.
setAppealTimeEnd
(
appealReq
.
getAppealEndDate
());
query
.
setStaffId
(
context
.
getUser
().
getCustomerId
());
Result
<
PerformAttendAppealEntity
>
result
=
a
ttendA
ppealService
.
find
(
query
,
pageInfo
,
context
);
Result
<
PerformAttendAppealEntity
>
result
=
appealService
.
find
(
query
,
pageInfo
,
context
);
model
.
put
(
KEY_RESULT_DATA
,
result
.
getList
());
model
.
put
(
PAGEINFO_KEY
,
result
.
getPageInfo
());
parsePageInfo
(
model
,
result
.
getPageInfo
());
...
...
@@ -139,7 +148,7 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
if
(
ObjectUtils
.
isEmpty
(
appealReq
.
getId
()))
{
throw
new
AppException
(
"详细查询id不能为空!"
);
}
PerformAttendAppealEntity
performAttendAppealEntity
=
a
ttendA
ppealService
.
get
(
appealReq
.
getId
(),
context
);
PerformAttendAppealEntity
performAttendAppealEntity
=
appealService
.
get
(
appealReq
.
getId
(),
context
);
rest
.
setData
(
performAttendAppealEntity
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
...
...
@@ -155,21 +164,53 @@ public class AppealApiController extends AbstractBaseController<PerformReq> {
* 申诉新增
*/
@PostMapping
(
value
=
"save"
)
public
Rest
<
PerformAttendAppealEntity
>
appealSave
(
@RequestBody
PerformAttendAppealEntity
appealEntity
)
{
public
Rest
<
PerformAttendAppealEntity
>
appealSave
(
@RequestBody
AppealReq
req
)
{
String
busiDesc
=
"个人申诉新增"
;
log
.
info
(
"【{}】【请求体】--> {}"
,
busiDesc
,
JSONObject
.
toJSONString
(
appealEntity
));
log
.
info
(
"【{}】【请求体】--> {}"
,
busiDesc
,
JSONObject
.
toJSONString
(
req
));
Rest
<
PerformAttendAppealEntity
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
Context
context
=
this
.
getContext
();
try
{
//校验 去重
PerformAttendAppealEntity
saveEntity
=
attendAppealService
.
save
(
appealEntity
,
context
);
//根据状态 查询 当前是否已经存在正在进行的申诉
if
(
ObjectUtils
.
isEmpty
(
req
.
getId
()))
throw
new
AppException
(
"核查记录Id不能为空!"
);
if
(
ObjectUtils
.
isEmpty
(
req
.
getPerformType
()))
throw
new
AppException
(
"绩效类型不能为空!"
);
PerformAttendAppealEntity
entity
=
new
PerformAttendAppealEntity
();
entity
.
initAttrValue
();
if
(
PerformTypeEnum
.
考勤绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
//查询当前核查是否已存在进行中的申诉记录
PerformAttendAppealEntity
appealEntity
=
appealService
.
selectOne
(
new
PerformAttendAppealQuery
().
checkRecordId
(
req
.
getId
()));
if
(!
ObjectUtils
.
isEmpty
(
appealEntity
)
&&
appealEntity
.
getProcessStatus
()
==
ProcessStatusEnum
.
未处理
.
getValue
())
{
throw
new
AppException
(
"当前绩效核查已经存在正在进行中的申诉记录!"
);
}
CheckAttendRecordEntity
checkEntity
=
checkAttendRecordService
.
get
(
req
.
getId
(),
context
);
BeanUtils
.
copyProperties
(
checkEntity
,
entity
,
BeanUtil
.
getNullPropertyNames
(
checkEntity
));
}
else
if
(
PerformTypeEnum
.
评价差评绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
CheckReviewRecordEntity
checkEntity
=
checkReviewRecordService
.
get
(
req
.
getId
(),
context
);
}
else
if
(
PerformTypeEnum
.
评价投诉绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
CheckComplainRecordEntity
checkEntity
=
checkComplainRecordService
.
get
(
req
.
getId
(),
context
);
}
else
if
(
PerformTypeEnum
.
办件绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
CheckGoworkRecordEntity
checkEntity
=
checkGoworkRecordService
.
get
(
req
.
getId
(),
context
);
}
else
if
(
PerformTypeEnum
.
效能绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
CheckEffectRecordEntity
checkEntity
=
checkEffectRecordService
.
get
(
req
.
getId
(),
context
);
}
else
if
(
PerformTypeEnum
.
其它绩效
.
getValue
().
equals
(
req
.
getPerformType
()))
{
CheckOtherRecordEntity
checkEntity
=
checkOtherRecordService
.
get
(
req
.
getId
(),
context
);
}
else
{
throw
new
AppException
(
"不支持当前绩效类型"
);
}
entity
.
setPerformAttendAppealFilesList
(
req
.
getPerformAttendAppealFilesList
());
entity
.
setProcessStatus
(
1
);
PerformAttendAppealEntity
saveEntity
=
appealService
.
save
(
entity
,
context
);
rest
.
setData
(
saveEntity
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
busiDesc
,
e
);
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
}
log
.
info
(
"【{}】【响应体】--> {}"
,
busiDesc
,
JSONObject
.
toJSONString
(
appealEntity
));
log
.
info
(
"【{}】【响应体】--> {}"
,
busiDesc
,
JSONObject
.
toJSONString
(
req
));
return
rest
;
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/CheckTypeEnum.java
View file @
7932169f
...
...
@@ -8,11 +8,10 @@ import java.util.Map;
*/
public
enum
CheckTypeEnum
{
考勤绩效
(
1
,
"考勤绩效"
),
效能绩效
(
2
,
"效能绩效"
),
评价绩效
(
3
,
"评价绩效"
),
办件绩效
(
4
,
"办件绩效"
),
差评绩效
(
5
,
"差评绩效"
),
其它绩效
(
6
,
"其它绩效"
),
评价绩效
(
2
,
"评价绩效"
),
办件绩效
(
3
,
"办件绩效"
),
效能绩效
(
4
,
"效能绩效"
),
其它绩效
(
5
,
"其它绩效"
),
;
private
Integer
value
;
private
String
desc
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/ProcessStatusEnum.java
View file @
7932169f
...
...
@@ -4,13 +4,13 @@ import java.util.LinkedHashMap;
import
java.util.Map
;
/**
* 处理状态(1.未
核查,2.已核查
)枚举类
* 处理状态(1.未
处理,2.已处理
)枚举类
*
* @author zxfei
*/
public
enum
ProcessStatusEnum
{
未
核查
(
1
,
"未核查
"
),
已
核查
(
2
,
"已核查
"
);
未
处理
(
1
,
"未处理
"
),
已
处理
(
2
,
"已处理
"
);
private
Integer
value
;
private
String
desc
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java
View file @
7932169f
...
...
@@ -4,13 +4,14 @@ import java.util.LinkedHashMap;
import
java.util.Map
;
/**
* 扣分方式(1.系统自动,2.人工添加)枚举类
* 扣分方式(1.系统自动,2.人工添加
,3.大厅巡查
)枚举类
*
* @author zxfei
*/
public
enum
SubMethodEnum
{
系统自动
(
1
,
"系统自动"
),
人工添加
(
2
,
"人工添加"
);
人工添加
(
2
,
"人工添加"
),
大厅巡查
(
3
,
"大厅巡查"
);
private
Integer
value
;
private
String
desc
;
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java
View file @
7932169f
...
...
@@ -133,7 +133,7 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
*/
private
Long
categoryId
;
/**
* 规则名称
* 规则
分类
名称
*/
private
String
categoryName
;
@Override
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/dao/PerformAttendAppealDao.java
View file @
7932169f
...
...
@@ -8,7 +8,7 @@ import java.util.List;
* 绩效记录申诉信息 DAO接口
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
public
interface
PerformAttendAppealDao
extends
ICRUDDao
<
PerformAttendAppealEntity
,
Long
>{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/dao/ibatis/PerformAttendAppealDaoImpl.java
View file @
7932169f
...
...
@@ -11,7 +11,7 @@ import java.util.List;
* 绩效记录申诉信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
@Repository
(
"performAttendAppealDao"
)
public
class
PerformAttendAppealDaoImpl
extends
BaseCRUDDaoMybatis
<
PerformAttendAppealEntity
,
Long
>
implements
PerformAttendAppealDao
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealEntity.java
View file @
7932169f
...
...
@@ -14,7 +14,7 @@ import lombok.Data;
* 绩效记录申诉信息实体对象
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
@Data
public
class
PerformAttendAppealEntity
extends
PerformAttendAppealVo
{
...
...
@@ -134,10 +134,108 @@ public class PerformAttendAppealEntity extends PerformAttendAppealVo {
@Excel
(
name
=
"说明"
)
private
String
remark
;
/**
* 违规类型
* 违规类型
,
*/
private
String
violationType
;
/**
* 评价结果(1.非常不满意,2.差评)
*/
private
Integer
reviewResult
;
/**
* 评价时间
*/
private
Date
reviewTime
;
/**
* 评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)
*/
@Excel
(
name
=
"评价来源"
,
readConverterExp
=
"评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)"
)
private
String
reviewSource
;
/**
* 评价设备
*/
private
String
reviewDevice
;
/**
* 投诉标题
*/
@Excel
(
name
=
"投诉标题"
)
private
String
complainTitle
;
/**
* 投诉内容
*/
@Excel
(
name
=
"投诉内容"
)
private
String
complainContent
;
/**
* 投诉人真实姓名
*/
private
String
complainRealName
;
/**
* 联系电话
*/
@Excel
(
name
=
"联系电话"
)
private
String
contact
;
/**
* 投诉时间
*/
private
Date
complainTime
;
/**
* 投诉来源
*/
private
String
complainSource
;
/**
* 投诉设备
*/
private
String
complainDevice
;
/**
* 办件编码
*/
@Excel
(
name
=
"办件编码"
)
private
String
goworkCode
;
/**
* 办件所属部门
*/
@Excel
(
name
=
"办件所属部门"
)
private
String
goworkDepts
;
/**
* 事项名称
*/
@Excel
(
name
=
"事项名称"
)
private
String
matterlName
;
/**
* 办理时间
*/
@Excel
(
name
=
"办理时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
goworkTime
;
/**
* 违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)
*/
@Excel
(
name
=
"违规类型"
,
readConverterExp
=
"1=脱岗,2.离岗,3.玩手机,4.睡觉"
)
private
Integer
irregularType
;
/**
* 发生时间
*/
@Excel
(
name
=
"发生时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
happenTime
;
/**
* 持续时间,秒
*/
private
Integer
duration
;
/**
* 报警时间
*/
private
Date
alarmTime
;
/**
* 图片凭证地址
*/
private
String
snapPath
;
/**
* 违规类型(1.工作纪律)
*/
private
Integer
irregularOtherType
;
/**
* 绩效类型【attend:考勤绩效,review:评价差评绩效,complain:评价投诉绩效,gowork:办件绩效,effect:效能绩效,other:其它绩效】
*/
private
String
performType
;
/**
* 绩效记录申诉附件信息信息
*/
private
List
<
PerformAttendAppealFilesEntity
>
performAttendAppealFilesList
=
new
ArrayList
<>();;
...
...
@@ -221,5 +319,49 @@ public class PerformAttendAppealEntity extends PerformAttendAppealVo {
this
.
remark
=
""
;
this
.
violationType
=
""
;
this
.
reviewResult
=
-
1
;
this
.
reviewTime
=
null
;
this
.
reviewSource
=
""
;
this
.
reviewDevice
=
""
;
this
.
complainTitle
=
""
;
this
.
complainContent
=
""
;
this
.
complainRealName
=
""
;
this
.
contact
=
""
;
this
.
complainTime
=
null
;
this
.
complainSource
=
""
;
this
.
complainDevice
=
""
;
this
.
goworkCode
=
""
;
this
.
goworkDepts
=
""
;
this
.
matterlName
=
""
;
this
.
goworkTime
=
null
;
this
.
irregularType
=
-
1
;
this
.
happenTime
=
null
;
this
.
duration
=
0
;
this
.
alarmTime
=
null
;
this
.
snapPath
=
""
;
this
.
irregularOtherType
=
-
1
;
this
.
performType
=
""
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/PerformAttendAppealQuery.java
View file @
7932169f
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformAttendAppealVo.java
View file @
7932169f
...
...
@@ -11,7 +11,7 @@ import java.util.Date;
* 绩效记录申诉信息视图对象
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
@Data
public
class
PerformAttendAppealVo
extends
BaseEntityLong
{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformDeptConfVo.java
View file @
7932169f
package
com.mortals.xhx.module.perform.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.perform.model.PerformDeptConfDetailEntity
;
import
com.mortals.xhx.module.perform.model.PerformDeptConfEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -13,6 +14,7 @@ import lombok.Data;
@Data
public
class
PerformDeptConfVo
extends
BaseEntityLong
{
/** 部门考核内容详细信息 */
List
<
PerformDeptConfDetailEntity
>
deptConfDetail
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformPerposeVo.java
View file @
7932169f
package
com.mortals.xhx.module.perform.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.perform.model.PerformPerposeDeptEntity
;
import
com.mortals.xhx.module.perform.model.PerformPerposeEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.mortals.xhx.module.perform.model.PerformPerposeStaffEntity
;
import
lombok.Data
;
/**
* 考核目标视图对象
*
* @author zxfei
* @date 2023-05-16
*/
* 考核目标视图对象
*
* @author zxfei
* @date 2023-05-16
*/
@Data
public
class
PerformPerposeVo
extends
BaseEntityLong
{
/**
* 员工目标
*/
private
List
<
PerformPerposeStaffEntity
>
perposeStaffList
;
/**
* 部门目标
*/
private
List
<
PerformPerposeDeptEntity
>
perposeDeptList
;
private
String
staffPerpose
;
private
String
deptPerpose
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/model/vo/PerformStaffConfVo.java
View file @
7932169f
package
com.mortals.xhx.module.perform.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.perform.model.PerformStaffConfDetailEntity
;
import
com.mortals.xhx.module.perform.model.PerformStaffConfEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -12,7 +13,7 @@ import lombok.Data;
*/
@Data
public
class
PerformStaffConfVo
extends
BaseEntityLong
{
/** 人员自动考核内容详细信息 */
private
List
<
PerformStaffConfDetailEntity
>
staffConfDetail
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java
View file @
7932169f
...
...
@@ -8,7 +8,7 @@ import com.mortals.xhx.module.perform.dao.PerformAttendAppealDao;
* 绩效记录申诉信息 service接口
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
public
interface
PerformAttendAppealService
extends
ICRUDService
<
PerformAttendAppealEntity
,
Long
>{
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java
View file @
7932169f
...
...
@@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j;
* 绩效记录申诉信息 service实现
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
@Service
(
"performAttendAppealService"
)
@Slf4j
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformDeptConfServiceImpl.java
View file @
7932169f
package
com.mortals.xhx.module.perform.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.perform.model.PerformDeptConfDetailEntity
;
import
com.mortals.xhx.module.perform.model.PerformDeptConfDetailQuery
;
import
com.mortals.xhx.module.perform.service.PerformDeptConfDetailService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -7,6 +16,11 @@ import com.mortals.xhx.module.perform.dao.PerformDeptConfDao;
import
com.mortals.xhx.module.perform.model.PerformDeptConfEntity
;
import
com.mortals.xhx.module.perform.service.PerformDeptConfService
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* PerformDeptConfService
* 部门自动考核信息 service实现
...
...
@@ -17,5 +31,92 @@ import lombok.extern.slf4j.Slf4j;
@Service
(
"performDeptConfService"
)
@Slf4j
public
class
PerformDeptConfServiceImpl
extends
AbstractCRUDServiceImpl
<
PerformDeptConfDao
,
PerformDeptConfEntity
,
Long
>
implements
PerformDeptConfService
{
@Autowired
private
PerformDeptConfDetailService
performDeptConfDetailService
;
@Autowired
private
DeptService
deptService
;
@Override
protected
void
findAfter
(
PerformDeptConfEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
PerformDeptConfEntity
>
list
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
list
)){
for
(
PerformDeptConfEntity
item:
list
){
List
<
PerformDeptConfDetailEntity
>
detailEntityList
=
performDeptConfDetailService
.
find
(
new
PerformDeptConfDetailQuery
().
deptConfId
(
item
.
getId
()));
item
.
setDeptConfDetail
(
detailEntityList
);
}
}
}
@Override
protected
void
saveBefore
(
PerformDeptConfEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
DeptEntity
deptEntity
=
deptService
.
get
(
entity
.
getDeptId
());
if
(
deptEntity
!=
null
){
entity
.
setDeptName
(
deptEntity
.
getDeptName
());
}
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getDeptConfDetail
())){
Map
<
Integer
,
List
<
PerformDeptConfDetailEntity
>>
groupMap
=
entity
.
getDeptConfDetail
().
stream
().
collect
(
Collectors
.
groupingBy
(
PerformDeptConfDetailEntity:
:
getType
));
if
(
groupMap
.
containsKey
(
CheckTypeEnum
.
考勤绩效
.
getValue
()))
{
entity
.
setAttendCount
(
groupMap
.
get
(
CheckTypeEnum
.
考勤绩效
.
getValue
()).
size
());
}
else
{
entity
.
setAttendCount
(
0
);
}
if
(
groupMap
.
containsKey
(
CheckTypeEnum
.
评价绩效
.
getValue
()))
{
entity
.
setAssessCount
(
groupMap
.
get
(
CheckTypeEnum
.
评价绩效
.
getValue
()).
size
());
}
else
{
entity
.
setAssessCount
(
0
);
}
if
(
groupMap
.
containsKey
(
CheckTypeEnum
.
办件绩效
.
getValue
()))
{
entity
.
setWorkCount
(
groupMap
.
get
(
CheckTypeEnum
.
办件绩效
.
getValue
()).
size
());
}
else
{
entity
.
setWorkCount
(
0
);
}
if
(
groupMap
.
containsKey
(
CheckTypeEnum
.
效能绩效
.
getValue
()))
{
entity
.
setEffectCount
(
groupMap
.
get
(
CheckTypeEnum
.
效能绩效
.
getValue
()).
size
());
}
else
{
entity
.
setEffectCount
(
0
);
}
if
(
groupMap
.
containsKey
(
CheckTypeEnum
.
其它绩效
.
getValue
()))
{
entity
.
setOtherCount
(
groupMap
.
get
(
CheckTypeEnum
.
其它绩效
.
getValue
()).
size
());
}
else
{
entity
.
setOtherCount
(
0
);
}
}
}
@Override
protected
void
saveAfter
(
PerformDeptConfEntity
entity
,
Context
context
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getDeptConfDetail
())){
for
(
PerformDeptConfDetailEntity
item:
entity
.
getDeptConfDetail
()){
item
.
setDeptConfId
(
entity
.
getId
());
item
.
setCreateTime
(
entity
.
getCreateTime
());
item
.
setCreateUser
(
entity
.
getCreateUser
());
item
.
setDeptId
(
entity
.
getDeptId
());
item
.
setDeptName
(
entity
.
getDeptName
());
item
.
setId
(
null
);
}
performDeptConfDetailService
.
save
(
entity
.
getDeptConfDetail
(),
context
);
}
}
@Override
public
PerformDeptConfEntity
get
(
Long
key
,
Context
context
)
throws
AppException
{
PerformDeptConfEntity
entity
=
this
.
dao
.
get
(
key
);
if
(
entity
!=
null
)
{
List
<
PerformDeptConfDetailEntity
>
detailEntityList
=
performDeptConfDetailService
.
find
(
new
PerformDeptConfDetailQuery
().
deptConfId
(
entity
.
getId
()));
entity
.
setDeptConfDetail
(
detailEntityList
);
}
return
entity
;
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
if
(
ids
!=
null
&&
ids
.
length
!=
0
){
for
(
Long
id:
ids
){
PerformDeptConfDetailEntity
condition
=
new
PerformDeptConfDetailEntity
();
condition
.
setDeptConfId
(
id
);
performDeptConfDetailService
.
remove
(
condition
,
context
);
}
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformPerposeServiceImpl.java
View file @
7932169f
package
com.mortals.xhx.module.perform.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.xhx.common.code.AssessmentScopeEnum
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.perform.model.*
;
import
com.mortals.xhx.module.perform.service.PerformPerposeDeptService
;
import
com.mortals.xhx.module.perform.service.PerformPerposeStaffService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.perform.dao.PerformPerposeDao
;
import
com.mortals.xhx.module.perform.model.PerformPerposeEntity
;
import
com.mortals.xhx.module.perform.service.PerformPerposeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.util.ObjectUtils
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* PerformPerposeService
* 考核目标 service实现
*
* @author zxfei
* @date 2023-05-16
*/
* PerformPerposeService
* 考核目标 service实现
*
* @author zxfei
* @date 2023-05-16
*/
@Service
(
"performPerposeService"
)
@Slf4j
public
class
PerformPerposeServiceImpl
extends
AbstractCRUDServiceImpl
<
PerformPerposeDao
,
PerformPerposeEntity
,
Long
>
implements
PerformPerposeService
{
@Autowired
private
PerformPerposeStaffService
perposeStaffService
;
@Autowired
private
PerformPerposeDeptService
perposeDeptService
;
@Autowired
private
DeptService
deptService
;
@Autowired
private
StaffService
staffService
;
@Override
protected
void
findAfter
(
PerformPerposeEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
PerformPerposeEntity
>
list
)
throws
AppException
{
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
list
.
stream
().
forEach
(
item
->{
if
(
AssessmentScopeEnum
.
个人
.
getValue
()==
item
.
getAssessmentScope
()){
List
<
PerformPerposeStaffEntity
>
staffEntities
=
perposeStaffService
.
find
(
new
PerformPerposeStaffQuery
().
purposeConfId
(
item
.
getId
()));
item
.
setPerposeStaffList
(
staffEntities
);
item
.
setStaffPerpose
(
staffEntities
.
stream
().
map
(
item1
->
item1
.
getStaffName
()).
collect
(
Collectors
.
joining
(
","
)));
}
else
if
(
AssessmentScopeEnum
.
部门
.
getValue
()==
item
.
getAssessmentScope
()){
List
<
PerformPerposeDeptEntity
>
deptEntities
=
perposeDeptService
.
find
(
new
PerformPerposeDeptQuery
().
purposeConfId
(
item
.
getId
()));
item
.
setPerposeDeptList
(
deptEntities
);
item
.
setDeptPerpose
(
deptEntities
.
stream
().
map
(
item1
->
item1
.
getDeptName
()).
collect
(
Collectors
.
joining
(
","
)));
}
});
}
@Override
protected
void
saveAfter
(
PerformPerposeEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveAfter
(
entity
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerposeStaffList
()))
{
entity
.
getPerposeStaffList
().
stream
().
peek
(
item
->
{
item
.
setPurposeConfId
(
entity
.
getId
());
if
(!
ObjectUtils
.
isEmpty
(
item
.
getStaffId
()))
{
StaffEntity
staffCache
=
staffService
.
getCache
(
item
.
getStaffId
().
toString
());
if
(!
ObjectUtils
.
isEmpty
(
staffCache
))
{
item
.
setStaffName
(
staffCache
.
getName
());
item
.
setNumber
(
staffCache
.
getWorkNum
());
}
}
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
}).
count
();
perposeStaffService
.
save
(
entity
.
getPerposeStaffList
());
}
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerposeDeptList
()))
{
entity
.
getPerposeDeptList
().
stream
().
peek
(
item
->
{
item
.
setPurposeConfId
(
entity
.
getId
());
if
(!
ObjectUtils
.
isEmpty
(
item
.
getDeptId
()))
{
DeptEntity
deptEntity
=
deptService
.
get
(
item
.
getDeptId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
))
{
item
.
setDeptName
(
deptEntity
.
getDeptName
());
}
}
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
}).
count
();
perposeDeptService
.
save
(
entity
.
getPerposeDeptList
(),
context
);
}
}
@Override
protected
void
updateAfter
(
PerformPerposeEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateAfter
(
entity
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerposeStaffList
()))
{
Long
[]
performAttendAppealFilesIds
=
perposeStaffService
.
find
(
new
PerformPerposeStaffQuery
().
purposeConfId
(
entity
.
getId
())).
stream
().
map
(
PerformPerposeStaffEntity:
:
getId
).
toArray
(
Long
[]::
new
);
perposeStaffService
.
remove
(
performAttendAppealFilesIds
,
context
);
entity
.
getPerposeStaffList
().
stream
().
peek
(
item
->
{
item
.
setPurposeConfId
(
entity
.
getId
());
if
(!
ObjectUtils
.
isEmpty
(
item
.
getStaffId
()))
{
StaffEntity
staffCache
=
staffService
.
getCache
(
item
.
getStaffId
().
toString
());
if
(!
ObjectUtils
.
isEmpty
(
staffCache
))
{
item
.
setStaffName
(
staffCache
.
getName
());
item
.
setNumber
(
staffCache
.
getWorkNum
());
}
}
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
}).
count
();
perposeStaffService
.
save
(
entity
.
getPerposeStaffList
());
}
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getPerposeDeptList
()))
{
Long
[]
performAttendAppealFilesIds
=
perposeDeptService
.
find
(
new
PerformPerposeDeptQuery
().
purposeConfId
(
entity
.
getId
())).
stream
().
map
(
PerformPerposeDeptEntity:
:
getId
).
toArray
(
Long
[]::
new
);
perposeDeptService
.
remove
(
performAttendAppealFilesIds
,
context
);
entity
.
getPerposeDeptList
().
stream
().
peek
(
item
->
{
item
.
setPurposeConfId
(
entity
.
getId
());
if
(!
ObjectUtils
.
isEmpty
(
item
.
getDeptId
()))
{
DeptEntity
deptEntity
=
deptService
.
get
(
item
.
getDeptId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
deptEntity
))
{
item
.
setDeptName
(
deptEntity
.
getDeptName
());
}
}
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
}).
count
();
perposeDeptService
.
save
(
entity
.
getPerposeDeptList
(),
context
);
}
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
super
.
removeAfter
(
ids
,
context
,
result
);
List
<
PerformPerposeStaffEntity
>
staffEntityList
=
perposeStaffService
.
find
(
new
PerformPerposeStaffQuery
().
purposeConfIdList
(
Arrays
.
asList
(
ids
)));
perposeStaffService
.
removeList
(
staffEntityList
,
context
);
List
<
PerformPerposeDeptEntity
>
deptEntityList
=
perposeDeptService
.
find
(
new
PerformPerposeDeptQuery
().
purposeConfIdList
(
Arrays
.
asList
(
ids
)));
perposeDeptService
.
removeList
(
deptEntityList
,
context
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformStaffConfServiceImpl.java
View file @
7932169f
package
com.mortals.xhx.module.perform.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.module.perform.model.*
;
import
com.mortals.xhx.module.perform.service.PerformStaffConfDetailService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.perform.dao.PerformStaffConfDao
;
import
com.mortals.xhx.module.perform.model.PerformStaffConfEntity
;
import
com.mortals.xhx.module.perform.service.PerformStaffConfService
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* PerformStaffConfService
* 人员自动考核信息 service实现
...
...
@@ -17,5 +27,65 @@ import lombok.extern.slf4j.Slf4j;
@Service
(
"performStaffConfService"
)
@Slf4j
public
class
PerformStaffConfServiceImpl
extends
AbstractCRUDServiceImpl
<
PerformStaffConfDao
,
PerformStaffConfEntity
,
Long
>
implements
PerformStaffConfService
{
@Autowired
private
PerformStaffConfDetailService
performStaffConfDetailService
;
@Override
protected
void
saveBefore
(
PerformStaffConfEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getStaffConfDetail
())){
// Map<Integer,List<PerformStaffConfDetailEntity>> groupMap = entity.getStaffConfDetail().stream().collect(Collectors.groupingBy(PerformStaffConfDetailEntity::getType));
// if(groupMap.containsKey(CheckTypeEnum.考勤绩效.getValue())) {
// entity.setAttendCount(groupMap.get(CheckTypeEnum.考勤绩效.getValue()).size());
// }else {
// entity.setAttendCount(0);
// }
// if(groupMap.containsKey(CheckTypeEnum.评价绩效.getValue())) {
// entity.setAssessCount(groupMap.get(CheckTypeEnum.评价绩效.getValue()).size());
// }else {
// entity.setAssessCount(0);
// }
// if(groupMap.containsKey(CheckTypeEnum.办件绩效.getValue())) {
// entity.setWorkCount(groupMap.get(CheckTypeEnum.办件绩效.getValue()).size());
// }else {
// entity.setWorkCount(0);
// }
// if(groupMap.containsKey(CheckTypeEnum.效能绩效.getValue())) {
// entity.setEffectCount(groupMap.get(CheckTypeEnum.效能绩效.getValue()).size());
// }else {
// entity.setEffectCount(0);
// }
// if(groupMap.containsKey(CheckTypeEnum.其它绩效.getValue())) {
// entity.setOtherCount(groupMap.get(CheckTypeEnum.其它绩效.getValue()).size());
// }else {
// entity.setOtherCount(0);
// }
}
}
@Override
protected
void
saveAfter
(
PerformStaffConfEntity
entity
,
Context
context
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
entity
.
getStaffConfDetail
())){
// for(PerformStaffConfDetailEntity item:entity.getStaffConfDetail()){
// item.setStaffConfId(entity.getId());
// item.setCreateTime(entity.getCreateTime());
// item.setCreateUser(entity.getCreateUser());
// item.setStaffId(entity.getStaffId());
// item.setStaffName(entity.getStaffName());
// item.setId(null);
// }
// performDeptConfDetailService.save(entity.getDeptConfDetail(),context);
}
}
@Override
protected
void
findAfter
(
PerformStaffConfEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
PerformStaffConfEntity
>
list
)
throws
AppException
{
if
(
CollectionUtils
.
isNotEmpty
(
list
)){
for
(
PerformStaffConfEntity
item:
list
){
List
<
PerformStaffConfDetailEntity
>
detailEntityList
=
performStaffConfDetailService
.
find
(
new
PerformStaffConfDetailQuery
().
staffConfId
(
item
.
getId
()));
item
.
setStaffConfDetail
(
detailEntityList
);
}
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java
View file @
7932169f
...
...
@@ -27,7 +27,7 @@ import static com.mortals.framework.ap.SysConstains.*;
* 绩效记录申诉信息
*
* @author zxfei
* @date 2023-07-
05
* @date 2023-07-
12
*/
@RestController
@RequestMapping
(
"perform/attend/appeal"
)
...
...
@@ -46,6 +46,10 @@ public class PerformAttendAppealController extends BaseCRUDJsonBodyMappingContro
this
.
addDict
(
model
,
"subAddType"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"subAddType"
));
this
.
addDict
(
model
,
"processStatus"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"processStatus"
));
this
.
addDict
(
model
,
"appealResult"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"appealResult"
));
this
.
addDict
(
model
,
"reviewResult"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"reviewResult"
));
this
.
addDict
(
model
,
"reviewSource"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"reviewSource"
));
this
.
addDict
(
model
,
"irregularType"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"irregularType"
));
this
.
addDict
(
model
,
"irregularOtherType"
,
paramService
.
getParamBySecondOrganize
(
"PerformAttendAppeal"
,
"irregularOtherType"
));
super
.
init
(
model
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformDeptConfController.java
View file @
7932169f
package
com.mortals.xhx.module.perform.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.common.code.EnableEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -42,6 +44,8 @@ public class PerformDeptConfController extends BaseCRUDJsonBodyMappingController
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"type"
,
CheckTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"enable"
,
EnableEnum
.
getEnumMap
());
super
.
init
(
model
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformDeptConfDetailController.java
View file @
7932169f
package
com.mortals.xhx.module.perform.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.common.code.EnableEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -42,8 +44,8 @@ public class PerformDeptConfDetailController extends BaseCRUDJsonBodyMappingCont
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"type"
,
paramService
.
getParamBySecondOrganize
(
"PerformDeptConfDetail"
,
"type"
));
this
.
addDict
(
model
,
"enable"
,
paramService
.
getParamBySecondOrganize
(
"PerformDeptConfDetail"
,
"enable"
));
this
.
addDict
(
model
,
"type"
,
CheckTypeEnum
.
getEnumMap
(
));
this
.
addDict
(
model
,
"enable"
,
EnableEnum
.
getEnumMap
(
));
super
.
init
(
model
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformStaffConfController.java
View file @
7932169f
package
com.mortals.xhx.module.perform.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.common.code.EnableEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -42,6 +44,8 @@ public class PerformStaffConfController extends BaseCRUDJsonBodyMappingControlle
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"type"
,
CheckTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"enable"
,
EnableEnum
.
getEnumMap
());
super
.
init
(
model
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformStaffConfDetailController.java
View file @
7932169f
package
com.mortals.xhx.module.perform.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.code.CheckTypeEnum
;
import
com.mortals.xhx.common.code.EnableEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -42,8 +44,8 @@ public class PerformStaffConfDetailController extends BaseCRUDJsonBodyMappingCon
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"type"
,
paramService
.
getParamBySecondOrganize
(
"PerformStaffConfDetail"
,
"type"
));
this
.
addDict
(
model
,
"enable"
,
paramService
.
getParamBySecondOrganize
(
"PerformStaffConfDetail"
,
"enable"
));
this
.
addDict
(
model
,
"type"
,
CheckTypeEnum
.
getEnumMap
(
));
this
.
addDict
(
model
,
"enable"
,
EnableEnum
.
getEnumMap
(
));
super
.
init
(
model
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffPerformSummaryController.java
View file @
7932169f
package
com.mortals.xhx.module.staff.web
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -46,5 +47,8 @@ public class StaffPerformSummaryController extends BaseCRUDJsonBodyMappingContro
super
.
init
(
model
,
context
);
}
@Override
protected
void
doListBefore
(
StaffPerformSummaryEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
}
}
attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckComplainRecordMapperExt.xml
View file @
7932169f
...
...
@@ -10,27 +10,11 @@
DATE_FORMAT(checkTime,'%m') as `month`,
SUM(CASE subAddType WHEN 1 THEN score ELSE score*-1 END) as sumScore
FROM
(
SELECT
id,recordId,staffId,staffName,workNum,deptId,deptName,subAddType,score,checkTime
FROM
mortals_xhx_check_complain_record
WHERE
checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
UNION
SELECT
id,recordId,staffId,staffName,workNum,deptId,deptName,subAddType,score,checkTime
FROM
mortals_xhx_check_review_record
WHERE
checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
) AS t
mortals_xhx_check_complain_record
WHERE checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
GROUP BY
staffId,staffName,workNum,deptId,deptName,DATE_FORMAT(checkTime,'%Y-%m')
</select>
...
...
attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckReviewRecordMapperExt.xml
View file @
7932169f
...
...
@@ -10,27 +10,11 @@
DATE_FORMAT(checkTime,'%m') as `month`,
SUM(CASE subAddType WHEN 1 THEN score ELSE score*-1 END) as sumScore
FROM
(
SELECT
id,recordId,staffId,staffName,workNum,deptId,deptName,subAddType,score,checkTime
FROM
mortals_xhx_check_complain_record
WHERE
checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
UNION
SELECT
id,recordId,staffId,staffName,workNum,deptId,deptName,subAddType,score,checkTime
FROM
mortals_xhx_check_review_record
WHERE
checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
) AS t
mortals_xhx_check_review_record
WHERE checkStatus = 2
<if
test=
"staffId != null and staffId!=''"
>
AND staffId = #{staffId}
</if>
<if
test=
"checkTimeStart != null and checkTimeStart!=''"
>
AND checkTime
<![CDATA[ >= ]]>
STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if
test=
"checkTimeEnd != null and checkTimeEnd!=''"
>
AND checkTime
<![CDATA[ <= ]]>
STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
GROUP BY
staffId,staffName,workNum,deptId,deptName,DATE_FORMAT(checkTime,'%Y-%m')
</select>
...
...
attendance-performance-manager/src/main/resources/sqlmap/module/perform/PerformAttendAppealMapper.xml
View file @
7932169f
This diff is collapsed.
Click to expand it.
attendance-performance-manager/src/test/java/com/mortals/httpclient/perform/PerformAttendAppealController.http
View file @
7932169f
...
...
@@ -29,34 +29,56 @@ Authorization: {{authToken}}
Content-Type: application/json
{
"checkRecordId":
387
,
"staffId":
305
,
"staffName":"
78kg5e
",
"workNum":"
wy77ky
",
"deptId":
849
,
"deptName":"
ry3y3a
",
"attendanceGroupId":
7
,
"attendanceGroupName":"
s7n602
",
"attendanceDate":"168
84864
00000",
"ruleId":
418
,
"ruleName":"
y3gz3p
",
"checkRecordId":
702
,
"staffId":
566
,
"staffName":"
b7xpn0
",
"workNum":"
ymsc43
",
"deptId":
975
,
"deptName":"
x9lhxh
",
"attendanceGroupId":
352
,
"attendanceGroupName":"
ijhjyv
",
"attendanceDate":"168
90912
00000",
"ruleId":
714
,
"ruleName":"
k3nou3
",
"subMethod":1,
"subAddType":1,
"score":0.00,
"goOffTimeStr":"
rjf27a
",
"errorTime":"168
84864
00000",
"actualAttendTime":"168
84864
00000",
"errorResult":"
ysfu6y
",
"checkPerson":"
w4rf2x
",
"checkTime":"168
84864
00000",
"checkDesc":"
30plug
",
"checkResult":"
lu4x9b
",
"goOffTimeStr":"
3tpp9v
",
"errorTime":"168
90912
00000",
"actualAttendTime":"168
90912
00000",
"errorResult":"
e36tyi
",
"checkPerson":"
brd56v
",
"checkTime":"168
90912
00000",
"checkDesc":"
dxif0b
",
"checkResult":"
5wz0wh
",
"processStatus":1,
"appealDesc":"
cumgvt
",
"appealTime":"168
84864
00000",
"appealDesc":"
bhhaf6
",
"appealTime":"168
90912
00000",
"appealResult":2,
"remark":"n4bgtv",
"violationType":"1t3xtd"
"remark":"owbk12",
"violationType":"7tb1sj",
"reviewResult":378,
"reviewTime":"1689091200000",
"reviewSource":"hvc7j5",
"reviewDevice":"rbmr61",
"complainTitle":"tirz94",
"complainContent":"wtjqma",
"complainRealName":"v9550o",
"contact":"9lzrer",
"complainTime":"1689091200000",
"complainSource":"r8xzzy",
"complainDevice":"odwoei",
"goworkCode":"ac7kwy",
"goworkDepts":"90jn57",
"matterlName":"9e1tph",
"goworkTime":"1689091200000",
"irregularType":767,
"happenTime":"1689091200000",
"duration":0,
"alarmTime":"1689091200000",
"snapPath":"7r7qk4",
"irregularOtherType":754,
"performType":"yqp4d7"
}
> {%
...
...
db/add.sql
View file @
7932169f
...
...
@@ -420,3 +420,68 @@ ALTER TABLE mortals_xhx_staff_perform_stat ADD COLUMN `totalAddScore` decimal(10
ALTER
TABLE
mortals_xhx_staff_perform_stat
ADD
COLUMN
`totalSubScore`
decimal
(
10
,
2
)
DEFAULT
0
.
0
COMMENT
'员工绩效减分总分数汇总'
AFTER
totalAddScore
;
ALTER
TABLE
mortals_xhx_staff_perform_stat
ADD
COLUMN
`complainScoreAdd`
decimal
(
10
,
2
)
DEFAULT
0
.
0
COMMENT
'员工绩效指标增加分数'
AFTER
totalSubScore
;
ALTER
TABLE
mortals_xhx_staff_perform_stat
ADD
COLUMN
`complainScoreSub`
decimal
(
10
,
2
)
DEFAULT
0
.
0
COMMENT
'员工绩效指标扣减分数'
AFTER
complainScoreAdd
;
-- ----------------------------
-- 绩效记录申诉信息表
-- ----------------------------
DROP
TABLE
IF
EXISTS
`mortals_xhx_perform_attend_appeal`
;
CREATE
TABLE
mortals_xhx_perform_attend_appeal
(
`id`
bigint
(
20
)
AUTO_INCREMENT
COMMENT
'序号,主键,自增长'
,
`checkRecordId`
bigint
(
20
)
COMMENT
'核查记录Id'
,
`staffId`
bigint
(
20
)
COMMENT
'员工ID'
,
`staffName`
varchar
(
64
)
NOT
NULL
COMMENT
'员工姓名'
,
`workNum`
varchar
(
128
)
COMMENT
'工号'
,
`deptId`
bigint
(
20
)
COMMENT
'所属部门'
,
`deptName`
varchar
(
128
)
COMMENT
'所属部门名称'
,
`attendanceGroupId`
bigint
(
20
)
COMMENT
'所属考勤组ID'
,
`attendanceGroupName`
varchar
(
128
)
COMMENT
'所属考勤组名称'
,
`attendanceDate`
datetime
COMMENT
'扣分时间'
,
`ruleId`
bigint
(
20
)
COMMENT
'绩效规则id'
,
`ruleName`
varchar
(
128
)
COMMENT
'规则名称'
,
`subMethod`
tinyint
(
1
)
DEFAULT
'1'
COMMENT
'扣分方式(1.系统自动,2.人工添加,3.大厅巡查)'
,
`subAddType`
tinyint
(
1
)
DEFAULT
'1'
COMMENT
'增减类型(1.增加,2.扣除)'
,
`score`
decimal
(
10
,
2
)
DEFAULT
'0.00'
COMMENT
'扣分或增加分值'
,
`goOffTimeStr`
varchar
(
128
)
COMMENT
'上下班时间'
,
`errorTime`
datetime
COMMENT
'异常时间'
,
`actualAttendTime`
datetime
COMMENT
'实际打卡时间'
,
`errorResult`
varchar
(
128
)
COMMENT
'异常处理结果'
,
`checkPerson`
varchar
(
128
)
COMMENT
'核查人员'
,
`checkTime`
datetime
COMMENT
'核查时间'
,
`checkDesc`
varchar
(
512
)
COMMENT
'核查说明'
,
`checkResult`
varchar
(
128
)
COMMENT
'核查结果'
,
`processStatus`
tinyint
(
1
)
DEFAULT
'1'
COMMENT
'处理状态(1.未处理,2.已处理)'
,
`appealDesc`
varchar
(
128
)
COMMENT
'申诉说明'
,
`appealTime`
datetime
COMMENT
'申诉时间'
,
`appealResult`
tinyint
(
1
)
DEFAULT
'2'
COMMENT
'申诉结果(1.通过,2.不通过)'
,
`remark`
varchar
(
512
)
COMMENT
'说明'
,
`violationType`
varchar
(
64
)
COMMENT
'违规类型,'
,
`reviewResult`
tinyint
(
1
)
COMMENT
'评价结果(1.非常不满意,2.差评)'
,
`reviewTime`
datetime
COMMENT
'评价时间'
,
`reviewSource`
varchar
(
64
)
COMMENT
'评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)'
,
`reviewDevice`
varchar
(
128
)
COMMENT
'评价设备'
,
`complainTitle`
varchar
(
128
)
COMMENT
'投诉标题'
,
`complainContent`
varchar
(
512
)
COMMENT
'投诉内容'
,
`complainRealName`
varchar
(
128
)
COMMENT
'投诉人真实姓名'
,
`contact`
varchar
(
128
)
COMMENT
'联系电话'
,
`complainTime`
datetime
COMMENT
'投诉时间'
,
`complainSource`
varchar
(
128
)
COMMENT
'投诉来源'
,
`complainDevice`
varchar
(
128
)
COMMENT
'投诉设备'
,
`goworkCode`
varchar
(
128
)
COMMENT
'办件编码'
,
`goworkDepts`
varchar
(
512
)
COMMENT
'办件所属部门'
,
`matterlName`
varchar
(
256
)
COMMENT
'事项名称'
,
`goworkTime`
datetime
COMMENT
'办理时间'
,
`irregularType`
tinyint
(
1
)
COMMENT
'违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)'
,
`happenTime`
datetime
COMMENT
'发生时间'
,
`duration`
int
(
9
)
DEFAULT
'0'
COMMENT
'持续时间,秒'
,
`alarmTime`
datetime
COMMENT
'报警时间'
,
`snapPath`
varchar
(
255
)
COMMENT
'图片凭证地址'
,
`irregularOtherType`
tinyint
(
1
)
COMMENT
'违规类型(1.工作纪律)'
,
`performType`
varchar
(
64
)
COMMENT
'绩效类型【attend:考勤绩效,review:评价差评绩效,complain:评价投诉绩效,gowork:办件绩效,effect:效能绩效,other:其它绩效】'
,
`createUserId`
bigint
(
20
)
NOT
NULL
COMMENT
'创建用户'
,
`createTime`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新用户'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'绩效记录申诉信息'
;
doc/考勤绩效管理系统.docx
View file @
7932169f
No preview for this file type
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