Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
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
fangxinjiang
yifu-mvp
Commits
972909f7
Commit
972909f7
authored
Jan 04, 2023
by
huyuchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化修改
parent
acbf4ae9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
2626 additions
and
37 deletions
+2626
-37
TSettleDomainListVo.java
...u/cloud/plus/v1/yifu/archives/vo/TSettleDomainListVo.java
+3
-0
EmployeeBusinessController.java
.../yifu/archives/controller/EmployeeBusinessController.java
+39
-33
AddOrSaveVacationRuleDTO.java
...us/v1/business/dto/vacation/AddOrSaveVacationRuleDTO.java
+65
-0
AddOrUpdateTVacationInfoDTO.java
...v1/business/dto/vacation/AddOrUpdateTVacationInfoDTO.java
+110
-0
AddVacationMonitorClearLogDTO.java
.../business/dto/vacation/AddVacationMonitorClearLogDTO.java
+35
-0
ChangeVacationStatusDTO.java
...lus/v1/business/dto/vacation/ChangeVacationStatusDTO.java
+39
-0
ImportVacationInfoDTO.java
.../plus/v1/business/dto/vacation/ImportVacationInfoDTO.java
+91
-0
UpdateVacationRedundancyDTO.java
...v1/business/dto/vacation/UpdateVacationRedundancyDTO.java
+46
-0
TVacationInfoQuery.java
...d/plus/v1/business/query/vacation/TVacationInfoQuery.java
+97
-0
TVacationMonitorClearLogQuery.java
...usiness/query/vacation/TVacationMonitorClearLogQuery.java
+40
-0
TVacationMonitorQuery.java
...lus/v1/business/query/vacation/TVacationMonitorQuery.java
+84
-0
TVacationInfoVO.java
...u/cloud/plus/v1/business/vo/vacation/TVacationInfoVO.java
+122
-0
TVacationMonitorClearLogVO.java
...s/v1/business/vo/vacation/TVacationMonitorClearLogVO.java
+62
-0
TVacationMonitorVO.java
...loud/plus/v1/business/vo/vacation/TVacationMonitorVO.java
+111
-0
VacationRuleConfigVO.java
...ud/plus/v1/business/vo/vacation/VacationRuleConfigVO.java
+57
-0
TVacationInfoController.java
...business/controller/vacation/TVacationInfoController.java
+140
-0
TVacationMonitorController.java
...iness/controller/vacation/TVacationMonitorController.java
+97
-0
TVacationInfoMapper.java
...plus/v1/business/mapper/vacation/TVacationInfoMapper.java
+43
-0
TVacationMonitorMapper.java
...s/v1/business/mapper/vacation/TVacationMonitorMapper.java
+28
-0
TVacationInfoService.java
...us/v1/business/service/vacation/TVacationInfoService.java
+94
-0
TVacationMonitorService.java
...v1/business/service/vacation/TVacationMonitorService.java
+113
-0
TVacationInfoServiceImpl.java
...iness/service/vacation/impl/TVacationInfoServiceImpl.java
+417
-0
TVacationMonitorServiceImpl.java
...ss/service/vacation/impl/TVacationMonitorServiceImpl.java
+290
-0
BusinessResultErrorMsg.java
...u/cloud/plus/v1/business/util/BusinessResultErrorMsg.java
+1
-1
TVacationInfoMapper.xml
...ess-biz/src/main/resources/mapper/TVacationInfoMapper.xml
+118
-0
TVacationMonitorMapper.xml
...-biz/src/main/resources/mapper/TVacationMonitorMapper.xml
+86
-0
Common.java
.../com/yifu/cloud/plus/v1/yifu/common/core/util/Common.java
+144
-1
R.java
.../java/com/yifu/cloud/plus/v1/yifu/common/core/util/R.java
+22
-1
ArchivesDaprUtil.java
...cloud/plus/v1/yifu/common/dapr/util/ArchivesDaprUtil.java
+32
-1
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TSettleDomainListVo.java
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain
;
import
lombok.Data
;
...
...
@@ -18,6 +19,8 @@ public class TSettleDomainListVo {
private
Map
<
String
,
TSettleDomain
>
mapVO
;
private
List
<
TBusinessEmployeeExtendInfo
>
extendInfo
;
/**
* 合同主体IDS
*/
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/EmployeeBusinessController.java
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
controller
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TBusinessEmployeeExtendInfoService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeContractInfoService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeInfoService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.UpdateEmployeeExtendRedundancyDTO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
...
...
@@ -203,35 +206,38 @@ public class EmployeeBusinessController {
// return this.businessEmployeeExtendInfoService.getNotLeaveExtendList();
// }
//
// /**
// * 查询-列表:内部服务调用,获取所有员工拓展表信息
// * @description: 查询-列表:内部服务调用,获取所有非离职员工拓展表信息
// * @return: R<List<TBusinessEmployeeExtendInfo>>
// * @author: wangweiguo
// * @date: 2021/8/25
// */
// @Inner
// @GetMapping("/inner/getAllExtendList")
// public R<List<TBusinessEmployeeExtendInfo>> getAllExtendList() {
// List<TBusinessEmployeeExtendInfo> list = this.businessEmployeeExtendInfoService.list();
// return R.success(CommonConstants.SEARCH_SUCCESS, list);
// }
//
// /**
// * 查询-列表:内部服务调用,根据电工编号查询扩展表信息
// * @return: R<TBusinessEmployeeExtendInfo>
// * @author: wangweiguo
// * @date: 2021/8/31
// */
// @GetMapping("/inner/getExtendByBusinessTelecomNumber")
// R<TBusinessEmployeeExtendInfo> getExtendByBusinessTelecomNumber(@RequestParam("businessTelecomNumber") String businessTelecomNumber) {
// TBusinessEmployeeExtendInfo businessEmployeeExtendInfo = this.businessEmployeeExtendInfoService.lambdaQuery()
// .eq(TBusinessEmployeeExtendInfo::getBusinessTelecomNumber, businessTelecomNumber)
// .last(CommonConstants.SQL_LIMIT_ONE)
// .one();
// return R.success(CommonConstants.SEARCH_SUCCESS, businessEmployeeExtendInfo);
// }
//
/**
* 查询-列表:内部服务调用,获取所有员工拓展表信息
* @description: 查询-列表:内部服务调用,获取所有非离职员工拓展表信息
* @return: R<List<TBusinessEmployeeExtendInfo>>
* @author: wangweiguo
* @date: 2021/8/25
*/
@Inner
@PostMapping
(
"/inner/getAllExtendList"
)
public
TSettleDomainListVo
getAllExtendList
()
{
TSettleDomainListVo
vo
=
new
TSettleDomainListVo
();
List
<
TBusinessEmployeeExtendInfo
>
list
=
this
.
businessEmployeeExtendInfoService
.
list
();
vo
.
setExtendInfo
(
list
);
return
vo
;
}
/**
* 查询-列表:内部服务调用,根据电工编号查询扩展表信息
* @return: R<TBusinessEmployeeExtendInfo>
* @author: wangweiguo
* @date: 2021/8/31
*/
@Inner
@PostMapping
(
"/inner/getExtendByBusinessTelecomNumber"
)
R
<
TBusinessEmployeeExtendInfo
>
getExtendByBusinessTelecomNumber
(
@RequestParam
(
"businessTelecomNumber"
)
String
businessTelecomNumber
)
{
TBusinessEmployeeExtendInfo
businessEmployeeExtendInfo
=
this
.
businessEmployeeExtendInfoService
.
lambdaQuery
()
.
eq
(
TBusinessEmployeeExtendInfo:
:
getBusinessTelecomNumber
,
businessTelecomNumber
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
)
.
one
();
return
R
.
ok
(
businessEmployeeExtendInfo
,
CommonConstants
.
SEARCH_SUCCESS
);
}
// /**
// * @param
// * @Description: 获取所有附属信息
...
...
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/AddOrSaveVacationRuleDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.Digits
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
/**
* @description: 新增假期
* @author: wangweiguo
* @date: 2021/8/13
*/
@Getter
@Setter
@ToString
public
class
AddOrSaveVacationRuleDTO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键,更新时该值必传"
)
private
Integer
id
;
/**
* 假期类型 1年假
*/
@NotBlank
(
message
=
"假期类型,不能为空"
)
@Schema
(
description
=
"假期类型 1年假"
)
private
String
type
;
/**
* 是否自动发放假期时间 0否 1是
*/
@Schema
(
description
=
"是否自动发放假期时间 0否 1是"
)
@NotBlank
(
message
=
"是否自动发放假期时间,不能为空"
)
private
String
vacationAutoInit
;
/**
* 假期初始化时间
*/
@Schema
(
description
=
"假期初始化时间"
)
@NotNull
(
message
=
"假期初始化时间,不能为空"
)
private
LocalDate
vacationInitDate
;
/**
* 时间刻度 1按小时(和TIME_VALUE字段一起保证一天可以被不同单位数量的时间转换)
*/
@Schema
(
description
=
"时间刻度 1按小时(和TIME_VALUE字段一起保证一天可以被不同单位数量的时间转换)"
)
@NotBlank
(
message
=
"时间刻度,不能为空"
)
private
String
timeScale
;
/**
* 以时间刻度为单位的时间值(和TIME_SCALE字段一起保证一天可以被不同单位数量的时间转换)
*/
@Schema
(
description
=
"以时间刻度为单位的时间值(和TIME_SCALE字段一起保证一天可以被不同单位数量的时间转换)"
)
@NotNull
(
message
=
"时间值,不能为空"
)
@Digits
(
integer
=
5
,
fraction
=
1
,
message
=
"整数不超过5位,小数不超过1位"
)
private
BigDecimal
timeValue
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/AddOrUpdateTVacationInfoDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @description: 假勤信息表 新增或更新记录dto
* @author: wangweiguo
* @date: 2021-08-20
*/
@Setter
@Getter
@ToString
public
class
AddOrUpdateTVacationInfoDTO
implements
Serializable
{
/**
* b端员工工号
*/
@Schema
(
description
=
"电信工号"
)
@NotBlank
(
message
=
"电信工号不能为空"
)
@Length
(
max
=
20
,
message
=
"电信工号不能超过20字符"
)
private
String
businessTelecomNumber
;
/**
* 人员姓名
*/
@Schema
(
description
=
"人员姓名"
)
@NotBlank
(
message
=
"人员姓名不能为空"
)
@Length
(
max
=
32
,
message
=
"人员姓名不能超过32字符"
)
private
String
empName
;
/**
* 身份证号码
*/
@Schema
(
description
=
"身份证号码"
)
@NotBlank
(
message
=
"身份证号码不能为空"
)
@Length
(
max
=
32
,
message
=
"身份证号码不能超过32字符"
)
private
String
empIdcard
;
/**
* 部门id
*/
@Schema
(
description
=
"部门id"
)
private
Integer
departId
;
/**
* 部门名称
*/
@Schema
(
description
=
"部门名称"
)
private
String
departName
;
/**
* b端岗位
*/
@Schema
(
description
=
"岗位"
)
@Length
(
max
=
32
,
message
=
"岗位不能超过32字符"
)
private
String
businessPost
;
/**
* 假勤类型(字典值)
*/
@Schema
(
description
=
"假勤类型(字典值)"
)
@NotBlank
(
message
=
"假勤类型不能为空"
)
private
String
vacationType
;
/**
* 假勤开始时间
*/
@Schema
(
description
=
"假勤开始时间"
)
@NotNull
(
message
=
"假勤开始时间不能为空"
)
private
LocalDateTime
vacationStartTime
;
/**
* 假勤结束时间
*/
@Schema
(
description
=
"假勤结束时间"
)
@NotNull
(
message
=
"假勤结束时间不能为空"
)
private
LocalDateTime
vacationEndTime
;
/**
* 假勤时长
*/
@Schema
(
description
=
"假勤时长"
)
@NotNull
(
message
=
"假勤时长不能为空"
)
private
BigDecimal
vacationDuration
;
/**
* 假勤事由
*/
@Schema
(
description
=
"假勤事由"
)
@Length
(
max
=
200
,
message
=
"假勤事由不能超过200字符"
)
private
String
vacationReason
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/AddVacationMonitorClearLogDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @description: 假期监控清零日志表 新增或更新记录dto
* @author: wangweiguo
* @date: 2021-08-16
*/
@Setter
@Getter
@ToString
public
class
AddVacationMonitorClearLogDTO
implements
Serializable
{
/**
* 年假监控id
*/
@NotNull
(
message
=
"年假监控id不能为空"
)
@Schema
(
description
=
"年假监控id"
)
Integer
vacationMonitorId
;
/**
* 清零说明
*/
@Schema
(
description
=
"清零说明"
)
String
clearNote
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/ChangeVacationStatusDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @description: ChangeVacationStatusDTO
* @author: wangweiguo
* @date: 2021/8/24
*/
@Getter
@Setter
@ToString
public
class
ChangeVacationStatusDTO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键"
)
@NotNull
(
message
=
"主键不能为空"
)
private
String
id
;
/**
* 销假说明
*/
@Schema
(
description
=
"销假说明"
)
private
String
vacationNote
;
/**
* 假勤实际结束时间
*/
@Schema
(
description
=
"假勤实际结束时间"
)
private
LocalDateTime
acturalVacationEndTime
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/ImportVacationInfoDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.*
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.DecimalMin
;
import
javax.validation.constraints.Digits
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
/**
* @description: ImportVacationInfoDTO
* @author: wangweiguo
* @date: 2021/8/24
*/
@Setter
@Getter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public
class
ImportVacationInfoDTO
implements
Serializable
{
/**
* 电信工号
*/
@NotBlank
(
message
=
"电信工号不能为空"
)
@Length
(
max
=
20
,
message
=
"电信工号不能超过20个字符"
)
@Schema
(
description
=
"电信工号"
)
private
String
businessTelecomNumber
;
/**
* 人员姓名
*/
@Length
(
max
=
20
,
message
=
"姓名不能超过20个字符"
)
@Schema
(
description
=
"姓名"
)
private
String
empName
;
/**
* 所属部门部门名称
*/
@Schema
(
description
=
"所属部门"
)
@Length
(
max
=
32
,
message
=
"所属部门名称不能超过32个字符"
)
private
String
departName
;
/**
* 假勤类型
*/
@Schema
(
description
=
"假勤类型"
)
@NotBlank
(
message
=
"假勤类型不能为空"
)
@Length
(
max
=
32
,
message
=
"假勤类型不能超过32个字符"
)
private
String
vacationType
;
/**
* 假勤事由
*/
@Schema
(
description
=
"假勤事由"
)
@Length
(
max
=
200
,
message
=
"假勤事由不能超过200个字符"
)
private
String
vacationReason
;
/**
* 假勤开始时间
*/
@Schema
(
description
=
"假勤开始时间"
)
@NotNull
(
message
=
"假勤开始时间不能为空"
)
private
LocalDate
vacationStartTime
;
/**
* 假勤结束时间
*/
@Schema
(
description
=
"假勤结束时间"
)
@NotNull
(
message
=
"假勤结束时间不能为空"
)
private
LocalDate
vacationEndTime
;
/**
* 假勤时长
*/
@Schema
(
description
=
"假勤时长"
)
@NotNull
(
message
=
"假勤时长不能为空"
)
@Digits
(
integer
=
5
,
fraction
=
1
,
message
=
"假勤时长整数部分不超过5位,小数部分不超过1位"
)
@DecimalMin
(
value
=
"0.0"
,
message
=
"假勤时长不能为负数"
)
private
BigDecimal
vacationDuration
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/dto/vacation/UpdateVacationRedundancyDTO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
dto
.
vacation
;
import
lombok.*
;
import
java.io.Serializable
;
/**
* @description: UpdateVacationMonitorRedundancyDTO
* @author: wangweiguo
* @date: 2021/8/23
*/
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public
class
UpdateVacationRedundancyDTO
implements
Serializable
{
/**
* 身份证号
*/
private
String
empIdcard
;
/**
* 姓名
*/
private
String
empName
;
/**
* 电信工号
*/
private
String
businessTelecomNumber
;
/**
* 岗位
*/
private
String
businessPost
;
/**
* 部门id
*/
private
Integer
departId
;
/**
* 标签
*/
private
String
label
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/query/vacation/TVacationInfoQuery.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
query
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* @description: 假勤信息表 分页查询query
* @author: wangweiguo
* @date: 2021-08-20
*/
@Setter
@Getter
@ToString
public
class
TVacationInfoQuery
implements
Serializable
{
/**
* b端员工工号
*/
@Schema
(
description
=
"b端员工工号"
)
private
String
businessTelecomNumber
;
/**
* 人员姓名
*/
@Schema
(
description
=
"人员姓名"
)
private
String
empName
;
/**
* 身份证号码
*/
@Schema
(
description
=
"身份证号码"
)
private
String
empIdcard
;
/**
* b端岗位
*/
@Schema
(
description
=
"岗位"
)
private
String
businessPost
;
/**
* 部门id
*/
@Schema
(
description
=
"部门id"
)
private
Integer
departId
;
/**
* 假勤类型(字典值)
*/
@Schema
(
description
=
"假勤类型(字典值)"
)
private
String
vacationType
;
/**
* 假勤开始时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"假勤开始时间 yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
vacationStartTime
;
/**
* 假勤结束时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"假勤结束时间 yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
vacationEndTime
;
/**
* 假勤状态 0待休 1休假中 2到期待销假 3已销假
*/
@Schema
(
description
=
"假勤状态 0待休 1休假中 2到期待销假 3已销假"
)
private
String
vacationStatus
;
/**
* 当前页码 默认为1
*/
@Schema
(
description
=
"当前页码 默认为1"
)
long
current
=
1
;
/**
* 每页数量 默认为10
*/
@Schema
(
description
=
"每页数量 默认为10"
)
long
size
=
10
;
/**
* 排序字段
*/
@Schema
(
description
=
"排序字段"
)
List
<
OrderItem
>
orders
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/query/vacation/TVacationMonitorClearLogQuery.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
query
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @description: 假期监控清零日志表 分页查询query
* @author: wangweiguo
* @date: 2021-08-16
*/
@Setter
@Getter
@ToString
public
class
TVacationMonitorClearLogQuery
implements
Serializable
{
/**
* 当前页码 默认为1
*/
@Schema
(
description
=
"当前页码 默认为1"
)
long
current
=
1
;
/**
* 每页数量 默认为10
*/
@Schema
(
description
=
"每页数量 默认为10"
)
long
size
=
10
;
/**
* 排序字段
*/
@Schema
(
description
=
"排序字段"
)
List
<
OrderItem
>
orders
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/query/vacation/TVacationMonitorQuery.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
query
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @description: 假期监控表 分页查询query
* @author: wangweiguo
* @date: 2021-08-13
*/
@Setter
@Getter
@ToString
public
class
TVacationMonitorQuery
implements
Serializable
{
/**
* 电信工号
*/
@Schema
(
description
=
"电信工号"
)
private
String
businessTelecomNumber
;
/**
* 姓名
*/
@Schema
(
description
=
"姓名"
)
private
String
empName
;
/**
* 身份证号码
*/
@Schema
(
description
=
"身份证号码"
)
private
String
empIdcard
;
/**
* b端岗位
*/
@Schema
(
description
=
"岗位"
)
private
String
businessPost
;
/**
* 部门id
*/
@Schema
(
description
=
"所属部门treeLogo"
)
private
Integer
departId
;
/**
* 年份
*/
@Schema
(
description
=
"年份"
)
private
String
vacationYear
;
/**
* 休假状态 0剩余未休 1已休
*/
@Schema
(
description
=
"休假状态 0剩余未休 1已休"
)
private
String
vacationStatus
;
/**
* 当前页码 默认为1
*/
@Schema
(
description
=
"当前页码 默认为1"
)
long
current
=
1
;
/**
* 每页数量 默认为10
*/
@Schema
(
description
=
"每页数量 默认为10"
)
long
size
=
10
;
/**
* 排序字段
*/
@Schema
(
description
=
"排序字段"
)
List
<
OrderItem
>
orders
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/vo/vacation/TVacationInfoVO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
vo
.
vacation
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @description: 假勤信息表 分页查询展示 vo
* @author: wangweiguo
* @date: 2021-08-20
*/
@Setter
@Getter
@ToString
public
class
TVacationInfoVO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键"
)
private
String
id
;
/**
* b端员工工号
*/
@Schema
(
description
=
"电信工号"
)
private
String
businessTelecomNumber
;
/**
* 人员姓名
*/
@Schema
(
description
=
"人员姓名"
)
private
String
empName
;
/**
* 身份证号码
*/
@Schema
(
description
=
"身份证号码"
)
private
String
empIdcard
;
/**
* 部门id
*/
@Schema
(
description
=
"部门id"
)
private
Integer
departId
;
/**
* 部门名称
*/
@Schema
(
description
=
"部门名称"
)
private
String
departName
;
/**
* 假勤状态
*/
@Schema
(
description
=
"假勤状态 0待休 1休假中 2到期待销假 3已销假"
)
private
String
vacationStatus
;
/**
* b端岗位
*/
@Schema
(
description
=
"岗位"
)
private
String
businessPost
;
/**
* 假勤类型(字典值)
*/
@Schema
(
description
=
"假勤类型(字典值)"
)
private
String
vacationType
;
/**
* 假勤开始时间
*/
@Schema
(
description
=
"假勤开始时间"
)
private
LocalDateTime
vacationStartTime
;
/**
* 假勤结束时间
*/
@Schema
(
description
=
"假勤结束时间"
)
private
LocalDateTime
vacationEndTime
;
/**
* 假勤时长
*/
@Schema
(
description
=
"假勤时长"
)
private
BigDecimal
vacationDuration
;
/**
* 假勤事由
*/
@Schema
(
description
=
"假勤事由"
)
private
String
vacationReason
;
/**
* 假勤实际结束时间
*/
@Schema
(
description
=
"假勤实际结束时间"
)
private
LocalDateTime
acturalVacationEndTime
;
/**
* 销假说明
*/
@Schema
(
description
=
"销假说明"
)
private
String
vacationNote
;
/**
* 剩余年假时长
*/
@Schema
(
description
=
"剩余年假时长"
)
private
BigDecimal
vacationNotUsedDuration
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/vo/vacation/TVacationMonitorClearLogVO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
vo
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @description: 假期监控清零日志表 分页查询展示 vo
* @author: wangweiguo
* @date: 2021-08-16
*/
@Setter
@Getter
@ToString
public
class
TVacationMonitorClearLogVO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键"
)
private
String
id
;
/**
* 清零说明
*/
@Schema
(
description
=
"清零说明"
)
private
String
clearNote
;
/**
* 清零时长
*/
@Schema
(
description
=
"清零时长"
)
private
BigDecimal
clearDuration
;
/**
* 年份
*/
@Schema
(
description
=
"年份"
)
private
String
vacationYear
;
/**
* 清零人姓名
*/
@Schema
(
description
=
"清零人姓名"
)
private
String
clearUser
;
/**
* 清零时间
*/
@Schema
(
description
=
"清零时间"
)
private
LocalDateTime
clearTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/vo/vacation/TVacationMonitorVO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
vo
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @description: 假期监控表 分页查询展示 vo
* @author: wangweiguo
* @date: 2021-08-13
*/
@Setter
@Getter
@ToString
public
class
TVacationMonitorVO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键"
)
private
Integer
id
;
/**
* 年份
*/
@Schema
(
description
=
"年份"
)
private
String
vacationYear
;
/**
* 电信工号
*/
@Schema
(
description
=
"电信工号"
)
private
String
businessTelecomNumber
;
/**
* 身份证号码
*/
@Schema
(
description
=
"身份证号"
)
private
String
empIdcard
;
/**
* 姓名
*/
@Schema
(
description
=
"姓名"
)
private
String
empName
;
/**
* 部门编码
*/
@Schema
(
description
=
"所属部门编码"
)
private
String
departCode
;
/**
* 部门名称
*/
@Schema
(
description
=
"所属部门名称"
)
private
String
departName
;
/**
* 部门id
*/
@Schema
(
description
=
"部门id"
)
private
Integer
departId
;
/**
* b端岗位
*/
@Schema
(
description
=
"岗位"
)
private
String
businessPost
;
/**
* 假期时长
*/
@Schema
(
description
=
"年假时长"
)
private
BigDecimal
vacationDuration
;
/**
* 未使用假期时长
*/
@Schema
(
description
=
"未休时长"
)
private
BigDecimal
notUsedVacationDuration
;
/**
* 入职时间
*/
@Schema
(
description
=
"入职时间"
)
private
LocalDateTime
businessEnjoinDate
;
/**
* 在岗工龄
*/
@Schema
(
description
=
"在岗工龄"
)
private
BigDecimal
workingAge
;
/**
* 休假状态 0未休完 1已休完
*/
@Schema
(
description
=
"休假状态 0未休完 1已休完"
)
private
String
vacationStatus
;
private
static
final
long
serialVersionUID
=
1L
;
}
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/vo/vacation/VacationRuleConfigVO.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
vo
.
vacation
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
/**
* @description: 假期配置规则VO
* @author: wangweiguo
* @date: 2021/8/13
*/
@Getter
@Setter
@ToString
public
class
VacationRuleConfigVO
implements
Serializable
{
/**
* 主键
*/
@Schema
(
description
=
"主键"
)
private
Integer
id
;
/**
* 假期类型 1年假
*/
@Schema
(
description
=
"假期类型 1年假"
)
private
String
type
;
/**
* 是否自动发放假期时间 0否 1是
*/
@Schema
(
description
=
"是否自动发放假期时间 0否 1是"
)
private
String
vacationAutoInit
;
/**
* 假期初始化时间
*/
@Schema
(
description
=
"假期初始化时间"
)
private
LocalDate
vacationInitDate
;
/**
* 时间刻度 1按小时(和TIME_VALUE字段一起保证一天可以被不同单位数量的时间转换)
*/
@Schema
(
description
=
"时间刻度 1按小时(和TIME_VALUE字段一起保证一天可以被不同单位数量的时间转换"
)
private
String
timeScale
;
/**
* 以时间刻度为单位的时间值(和TIME_SCALE字段一起保证一天可以被不同单位数量的时间转换)
*/
@Schema
(
description
=
"以时间刻度为单位的时间值(和TIME_SCALE字段一起保证一天可以被不同单位数量的时间转换)"
)
private
BigDecimal
timeValue
;
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/controller/vacation/TVacationInfoController.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
controller
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.AddOrUpdateTVacationInfoDTO
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.ChangeVacationStatusDTO
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.UpdateVacationRedundancyDTO
;
import
com.yifu.cloud.plus.v1.business.entity.vacation.TVacationInfo
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationInfoQuery
;
import
com.yifu.cloud.plus.v1.business.service.vacation.TVacationInfoService
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationInfoVO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.util.List
;
/**
* 假勤信息表 controller
* @author: wangweiguo
* @date: 2021-08-20
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/vacationInfo"
)
@Tag
(
name
=
"假勤信息表相关api"
)
public
class
TVacationInfoController
{
private
final
TVacationInfoService
tVacationInfoService
;
/**
* 分页查询: 条件分页查询
* @param query 查询条件
* @return: R<IPage<TVacationInfoVO>>
* @author: wangweiguo
* @date: 2021-08-20
*/
@Operation
(
summary
=
"分页查询"
,
description
=
"分页查询"
)
@GetMapping
(
"/getListByPage"
)
public
R
<
IPage
<
TVacationInfoVO
>>
getListByPage
(
TVacationInfoQuery
query
)
{
return
this
.
tVacationInfoService
.
getListByPage
(
query
);
}
/**
* 导入: 通过json串格式导入假勤信息
* @param jsonStr json字符串数据
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/24
*/
@Operation
(
summary
=
"导入: 通过json串格式导入假勤信息"
,
description
=
"导入: 通过json串格式导入假勤信息"
)
@PostMapping
(
"/batchImportByJsonStr"
)
public
R
<
List
<
ErrorMessage
>>
batchImportByJsonStr
(
@RequestBody
String
jsonStr
)
{
return
this
.
tVacationInfoService
.
batchImportByJsonStr
(
jsonStr
);
}
/**
* 查询:根据条件出列表
* @param query 查询条件
* @return: IPage<com.yifu.cloud.v1.hrobusiness.api.vo.vacation.TVacationInfoVO>>
* @author: wangweiguo
* @date: 2021/8/24
*/
@Operation
(
summary
=
"查询:根据条件出列表"
,
description
=
"查询:根据条件出列表"
)
@GetMapping
(
"/getList"
)
public
R
<
List
<
TVacationInfoVO
>>
getList
(
TVacationInfoQuery
query
)
{
return
this
.
tVacationInfoService
.
getList
(
query
);
}
/**
* 查询-详情:根据id查询数据
* @param id
* @return: R<TVacationInfoVO>
* @author: wangweiguo
* @date: 2021-08-24
*/
@Operation
(
summary
=
"查询-详情:根据id查询数据"
,
description
=
"查询-详情:根据id查询数据"
)
@GetMapping
(
"/{id}"
)
public
R
<
TVacationInfoVO
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
this
.
tVacationInfoService
.
getDataById
(
id
);
}
/**
* 添加:新增-单条-添加一条记录
* @param dto
* @return: R<TVacationInfo>
* @author: wangweiguo
* @date: 2021-08-24
*/
@Operation
(
summary
=
"添加:新增-单条-添加一条记录"
,
description
=
"添加:新增-单条-添加一条记录"
)
@PostMapping
public
R
<
TVacationInfo
>
save
(
@RequestBody
@Valid
AddOrUpdateTVacationInfoDTO
dto
)
{
return
this
.
tVacationInfoService
.
saveData
(
dto
);
}
/**
* 销假:单条-根据id更新记录
* @param dto dto
* @return: R<Boolean>
* @author: wangweiguo
* @date: 2021-08-24
*/
@Operation
(
summary
=
"销假:单条-根据id更新"
,
description
=
"销假:单条-根据id更新"
)
@PostMapping
(
"/vacationEnd/{id}"
)
public
R
<
Boolean
>
vacationEnd
(
@RequestBody
@Valid
ChangeVacationStatusDTO
dto
)
{
return
this
.
tVacationInfoService
.
vacationEnd
(
dto
);
}
/**
* 删除-单条:根据id删除记录
* @param id
* @return: R<Boolean>
* @author: wangweiguo
* @date: 2021-08-20
*/
@Operation
(
summary
=
"根据id删除记录"
,
description
=
"根据id删除记录"
)
@DeleteMapping
(
"/{id}"
)
public
R
<
Boolean
>
delById
(
@PathVariable
(
"id"
)
String
id
)
{
return
this
.
tVacationInfoService
.
removeDataById
(
id
);
}
/**
* @author wangweiguo
* @description 更新假勤信息中的冗余信息
* @date 20:32 2021/8/24
* @param dtoList 更新冗余字段dto集合
* @return com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
**/
@Inner
@PostMapping
(
"/inner/updateRedundancyEmployeeFields"
)
public
R
<
Boolean
>
updateRedundancyEmployeeFields
(
@RequestBody
List
<
UpdateVacationRedundancyDTO
>
dtoList
)
{
return
this
.
tVacationInfoService
.
updateRedundancyEmployeeFields
(
dtoList
);
}
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/controller/vacation/TVacationMonitorController.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
controller
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.UpdateVacationRedundancyDTO
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationMonitorQuery
;
import
com.yifu.cloud.plus.v1.business.service.vacation.TVacationMonitorService
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationMonitorVO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @description: 假期监控表 controller
* @author: wangweiguo
* @date: 2021-08-13
*/
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping
(
"/vacationMonitor"
)
@Tag
(
name
=
"假期监控表相关api"
)
public
class
TVacationMonitorController
{
private
final
TVacationMonitorService
tVacationMonitorService
;
/**
* @description: 分页查询: 条件分页查询
* @param query 查询条件
* @return: R<IPage<TVacationMonitorVO>>
* @author: wangweiguo
* @date: 2021-08-13
*/
@Operation
(
summary
=
"分页查询: 条件分页查询"
,
description
=
"分页查询: 条件分页查询"
)
@GetMapping
(
"/getListByPage"
)
public
R
<
IPage
<
TVacationMonitorVO
>>
getListByPage
(
TVacationMonitorQuery
query
)
{
return
this
.
tVacationMonitorService
.
getListByPage
(
query
);
}
/**
* @description: 导出:根据查询条件导出
* @param query 查询条件
* @return: R<List<TVacationMonitorVO>>
* @author: wangweiguo
* @date: 2021-08-13
*/
@Operation
(
summary
=
"导出:根据查询条件导出"
,
description
=
"导出:根据查询条件导出"
)
@GetMapping
(
"/exportByParams"
)
public
R
<
List
<
TVacationMonitorVO
>>
exportByParams
(
TVacationMonitorQuery
query
)
{
return
this
.
tVacationMonitorService
.
exportByParams
(
query
);
}
/**
* @description: 查询-剩余年假:根据身份证号查询剩余年假
* @param idcard
* @return: com.yifu.cloud.v1.common.core.util.R<java.math.BigDecimal>
* @author: wangweiguo
* @date: 2021/8/17
*/
@Operation
(
summary
=
"查询-剩余年假:根据身份证号查询剩余年假"
,
description
=
"查询-剩余年假:根据身份证号查询剩余年假"
)
@GetMapping
(
"getNotUsedVacationDurationByIdCard"
)
public
R
<
BigDecimal
>
getNotUsedVacationDurationByIdCard
(
@RequestParam
(
"idcard"
)
String
idcard
)
{
return
this
.
tVacationMonitorService
.
getNotUsedVacationDurationByIdCard
(
idcard
);
}
/**
* @description: 定时任务:内部服务调用,每天初始化员工年假信息
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/17
*/
@Inner
@PostMapping
(
"/inner/buildMonitorDataForCurrentYear"
)
public
R
<
Boolean
>
buildMonitorData
()
{
return
this
.
tVacationMonitorService
.
buildMonitorData
();
}
/**
* @description: 冗余更新:更新监控表中冗余的员工信息,电信工号和岗位
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/23
*/
@Inner
@PostMapping
(
"/inner/updateRedundancyEmployeeFields"
)
public
R
<
Boolean
>
updateRedundancyEmployeeFields
(
@RequestBody
List
<
UpdateVacationRedundancyDTO
>
dtoList
)
{
return
this
.
tVacationMonitorService
.
updateRedundancyEmployeeFields
(
dtoList
);
}
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/mapper/vacation/TVacationInfoMapper.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
mapper
.
vacation
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.business.entity.vacation.TVacationInfo
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationInfoQuery
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationInfoVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @description: 假勤信息表 mapper
* @Entity com.yifu.cloud.v1.hrobusiness.api.entity.vacation.TVacationInfo
* @author: wangweiguo
* @date: 2021-08-20
*/
public
interface
TVacationInfoMapper
extends
BaseMapper
<
TVacationInfo
>
{
/**
* @description: 分页查询: 条件分页查询
* @param query 查询条件
* @return: R<IPage<TVacationInfoVO>>
* @author: wangweiguo
* @date: 2021-08-20
*/
Page
<
TVacationInfoVO
>
getListByPage
(
Page
<
TVacationInfoVO
>
page
,
@Param
(
"query"
)
TVacationInfoQuery
query
);
/**
* @description: 列表查询查询: 条件列表查询
* @param query 查询条件
* @return: List<TVacationInfoVO>
* @author: wangweiguo
* @date: 2021-08-24
*/
List
<
TVacationInfoVO
>
getListByPage
(
@Param
(
"query"
)
TVacationInfoQuery
query
);
TVacationInfoVO
getDataById
(
@Param
(
"id"
)
String
id
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/mapper/vacation/TVacationMonitorMapper.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
mapper
.
vacation
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.business.entity.vacation.TVacationMonitor
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationMonitorQuery
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationMonitorVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @description: 假期监控表 mapper
* @Entity generator.domain.TVacationMonitor
* @author: wangweiguo
* @date: 2021-08-13
*/
public
interface
TVacationMonitorMapper
extends
BaseMapper
<
TVacationMonitor
>
{
Page
<
TVacationMonitorVO
>
getListByPage
(
Page
<
TVacationMonitorVO
>
page
,
@Param
(
"query"
)
TVacationMonitorQuery
query
);
List
<
TVacationMonitorVO
>
getList
(
@Param
(
"query"
)
TVacationMonitorQuery
query
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/vacation/TVacationInfoService.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
service
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.AddOrUpdateTVacationInfoDTO
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.ChangeVacationStatusDTO
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.UpdateVacationRedundancyDTO
;
import
com.yifu.cloud.plus.v1.business.entity.vacation.TVacationInfo
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationInfoQuery
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationInfoVO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
java.util.List
;
/**
* 假勤信息表 service层
* @author: wangweiguo
* @date: 2021-08-20
*/
public
interface
TVacationInfoService
extends
IService
<
TVacationInfo
>
{
/**
* 分页查询: 条件分页查询
* @param query 查询条件
* @return: R<IPage<TVacationInfoVO>>
* @author: wangweiguo
* @date: 2021-08-20
*/
R
<
IPage
<
TVacationInfoVO
>>
getListByPage
(
TVacationInfoQuery
query
);
/**
* 查询:根据条件出列表
* @param query 查询条件
* @return: IPage<com.yifu.cloud.v1.hrobusiness.api.vo.vacation.TVacationInfoVO>>
* @author: wangweiguo
* @date: 2021/8/24
*/
R
<
List
<
TVacationInfoVO
>>
getList
(
TVacationInfoQuery
query
);
/**
* 查询-详情:根据id查询数据
* @param id
* @return: R<TVacationInfoVO>
* @author: wangweiguo
* @date: 2021-08-24
*/
R
<
TVacationInfoVO
>
getDataById
(
String
id
);
/**
* 销假:单条-根据id更新记录
* @param dto dto
* @return: R<Boolean>
* @author: wangweiguo
* @date: 2021-08-24
*/
R
<
Boolean
>
vacationEnd
(
ChangeVacationStatusDTO
dto
);
/**
* 导入: 通过json串格式导入假勤信息
* @param jsonStr json字符串数据
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/24
*/
R
<
List
<
ErrorMessage
>>
batchImportByJsonStr
(
String
jsonStr
);
/**
* 删除-单条:根据id删除记录
* @param id
* @return: R<Boolean>
* @author: wangweiguo
* @date: 2021-08-20
*/
R
<
Boolean
>
removeDataById
(
String
id
);
/**
* 添加:新增-单条-添加一条记录
* @param dto
* @return: R<TVacationInfo>
* @author: wangweiguo
* @date: 2021-08-24
*/
R
<
TVacationInfo
>
saveData
(
AddOrUpdateTVacationInfoDTO
dto
);
/**
* @author wangweiguo
* @description 更新假勤信息中的冗余信息
* @date 20:32 2021/8/24
* @param dtoList 更新冗余字段dto集合
* @return com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
**/
R
<
Boolean
>
updateRedundancyEmployeeFields
(
List
<
UpdateVacationRedundancyDTO
>
dtoList
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/vacation/TVacationMonitorService.java
0 → 100644
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
service
.
vacation
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.business.dto.vacation.UpdateVacationRedundancyDTO
;
import
com.yifu.cloud.plus.v1.business.entity.vacation.TVacationMonitor
;
import
com.yifu.cloud.plus.v1.business.query.vacation.TVacationMonitorQuery
;
import
com.yifu.cloud.plus.v1.business.vo.vacation.TVacationMonitorVO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @description: 假期监控表 service层
* @author: wangweiguo
* @date: 2021-08-13
*/
public
interface
TVacationMonitorService
extends
IService
<
TVacationMonitor
>
{
/**
* @description: 分页查询: 条件分页查询
* @param query 查询条件
* @return: R<IPage<TVacationMonitorVO>>
* @author: wangweiguo
* @date: 2021-08-13
*/
R
<
IPage
<
TVacationMonitorVO
>>
getListByPage
(
TVacationMonitorQuery
query
);
/**
* @description: 导出:根据查询条件导出
* @param query 查询条件
* @return: R<List<TVacationMonitorVO>>
* @author: wangweiguo
* @date: 2021-08-13
*/
R
<
List
<
TVacationMonitorVO
>>
exportByParams
(
TVacationMonitorQuery
query
);
/**
* @description: 保存或者更新监控记录
* @param entity
* @return: boolean
* @author: wangweiguo
* @date: 2021/8/16
*/
boolean
saveOrUpdateData
(
TVacationMonitor
entity
);
/**
* @description: 批量保存 OR 新增
* @param list
* @return: boolean
* @author: wangweiguo
* @date: 2021/8/16
*/
boolean
batchSaveOrUpdateData
(
List
<
TVacationMonitor
>
list
);
/**
* @description: 查询:根据身份证号查询剩余年假
* @param idcard
* @return: com.yifu.cloud.v1.common.core.util.R<java.math.BigDecimal>
* @author: wangweiguo
* @date: 2021/8/17
*/
R
<
BigDecimal
>
getNotUsedVacationDurationByIdCard
(
String
idcard
);
/**
* @description: 定时任务:内部服务调用,每天初始化员工年假信息
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/17
*/
R
<
Boolean
>
buildMonitorData
();
/**
* @description: 冗余更新:更新监控表中冗余的员工信息,电信工号和岗位
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/23
*/
R
<
Boolean
>
updateRedundancyEmployeeFields
(
List
<
UpdateVacationRedundancyDTO
>
dtoList
);
/**
* @description: 释放假期时长
* @param empIdcard 身份证号
* @param vacationDuration 假期时长
* @param year 年份
* @return: boolean
* @author: wangweiguo
* @date: 2021/8/24
*/
boolean
releaseVacationDuration
(
String
empIdcard
,
BigDecimal
vacationDuration
,
String
year
);
/**
* @description: 消耗假期时长
* @param empIdcard 身份证号
* @param vacationDuration 假期时长
* @param year 年份
* @return: boolean
* @author: wangweiguo
* @date: 2021/8/24
*/
boolean
consumeVacationDuration
(
String
empIdcard
,
BigDecimal
vacationDuration
,
String
year
);
/**
* @description: 根据假勤年份和身份证号查询年假监控信息
* @param empIdcard 身份证号
* @param year 假勤年份
* @return: com.yifu.cloud.v1.hrobusiness.api.entity.vacation.TVacationMonitor
* @author: wangweiguo
* @date: 2021/8/24
*/
TVacationMonitor
getMonitorByEmpIdcardAndYear
(
String
empIdcard
,
String
year
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/vacation/impl/TVacationInfoServiceImpl.java
0 → 100644
View file @
972909f7
This diff is collapsed.
Click to expand it.
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/vacation/impl/TVacationMonitorServiceImpl.java
0 → 100644
View file @
972909f7
This diff is collapsed.
Click to expand it.
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/util/BusinessResultErrorMsg.java
View file @
972909f7
...
...
@@ -37,7 +37,7 @@ public class BusinessResultErrorMsg {
public
static
final
String
DEPART_DATA_NOT_EXIST
=
"部门数据不存在"
;
public
static
final
String
VACATION_TYPE_NOT_EXIST
=
"假勤类型不存在
"
;
public
static
final
String
SYS_ITEM_NOT_EXIST
=
"获取假勤类型字典值失败
"
;
public
static
final
String
BUSINESS_TELECOM_NUMBER_NOT_EXIST
=
"电信工号不存在"
;
...
...
yifu-business/yifu-business-biz/src/main/resources/mapper/TVacationInfoMapper.xml
0 → 100644
View file @
972909f7
<?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=
"com.yifu.cloud.plus.v1.business.mapper.vacation.TVacationInfoMapper"
>
<resultMap
id=
"TVacationInfoVO"
type=
"com.yifu.cloud.plus.v1.business.vo.vacation.TVacationInfoVO"
>
<id
property=
"id"
column=
"ID"
jdbcType=
"VARCHAR"
/>
<result
property=
"businessTelecomNumber"
column=
"BUSINESS_TELECOM_NUMBER"
jdbcType=
"VARCHAR"
/>
<result
property=
"empName"
column=
"EMP_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
jdbcType=
"VARCHAR"
/>
<result
property=
"departId"
column=
"DEPART_ID"
jdbcType=
"INTEGER"
/>
<result
property=
"departName"
column=
"DEPART_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationStatus"
column=
"VACATION_STATUS"
jdbcType=
"CHAR"
/>
<result
property=
"businessPost"
column=
"BUSINESS_POST"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationType"
column=
"VACATION_TYPE"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationReason"
column=
"VACATION_REASON"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationNote"
column=
"VACATION_NOTE"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationStartTime"
column=
"VACATION_START_TIME"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"vacationEndTime"
column=
"VACATION_END_TIME"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"vacationDuration"
column=
"VACATION_DURATION"
jdbcType=
"DECIMAL"
/>
<result
property=
"vacationNotUsedDuration"
column=
"VACATION_NOT_USED_DURATION"
jdbcType=
"DECIMAL"
/>
<result
property=
"acturalVacationEndTime"
column=
"ACTURAL_VACATION_END_TIME"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"GetListColumnList"
>
a.ID,
a.BUSINESS_TELECOM_NUMBER,
(case
when a.VACATION_STATUS
<![CDATA[<>]]>
'4' then '3'
when now()
<![CDATA[<]]>
a.VACATION_START_TIME then '0'
when now()
<![CDATA[>=]]>
a.VACATION_START_TIME and now()
<![CDATA[<=]]>
a.VACATION_END_TIME then '1'
when now()
<![CDATA[>]]>
a.VACATION_END_TIME then '2'
else ''
end
) as VACATION_STATUS,
a.EMP_NAME,
a.EMP_IDCARD,
a.DEPART_ID,
a.BUSINESS_POST,
a.VACATION_TYPE,
a.VACATION_START_TIME,
a.VACATION_END_TIME,
a.VACATION_DURATION,
a.VACATION_REASON,
a.VACATION_NOTE,
a.VACATION_NOT_USED_DURATION,
a.ACTURAL_VACATION_END_TIME,
b.NAME as DEPART_NAME
</sql>
<sql
id=
"GetListWhere"
>
1=1
<if
test=
"query.businessTelecomNumber != null and query.businessTelecomNumber.trim() != ''"
>
and a.BUSINESS_TELECOM_NUMBER like concat('%',#{query.businessTelecomNumber} ,'%')
</if>
<if
test=
"query.empName != null and query.empName.trim() != ''"
>
and a.EMP_NAME like concat('%',#{query.empName} ,'%')
</if>
<if
test=
"query.empIdcard != null and query.empIdcard.trim() != ''"
>
and a.EMP_IDCARD like concat('%',#{query.empIdcard} ,'%')
</if>
<if
test=
"query.businessPost != null and query.businessPost.trim() != ''"
>
and a.BUSINESS_POST = #{query.businessPost}
</if>
<if
test=
"query.departId != null and query.departId != 1"
>
AND (b.id = #{query.departId} or b.tree_logo like concat('%-', #{query.departId},'-%'))
</if>
<if
test=
"query.vacationType != null and query.vacationType.trim() != ''"
>
and a.VACATION_TYPE = #{query.vacationType}
</if>
<if
test=
"query.vacationStartTime != null and query.vacationEndTime != null"
>
and
(a.VACATION_START_TIME between #{query.vacationStartTime} and #{query.vacationEndTime}
or
a.VACATION_END_TIME between #{query.vacationStartTime} and #{query.vacationEndTime}
)
</if>
<if
test=
"query.vacationStatus != null and query.vacationStatus.trim() != ''"
>
<!-- 待休 -->
<if
test=
"query.vacationStatus == '0'.toString()"
>
and now()
<![CDATA[<]]>
a.VACATION_START_TIME
</if>
<!-- 休假中 -->
<if
test=
"query.vacationStatus == '1'.toString()"
>
and now()
<![CDATA[>=]]>
a.VACATION_START_TIME and now()
<![CDATA[<=]]>
a.VACATION_END_TIME
</if>
<!-- 到期待销假 -->
<if
test=
"query.vacationStatus == '2'.toString()"
>
and now()
<![CDATA[>]]>
a.VACATION_END_TIME and a.VACATION_STATUS = '4'
</if>
<!-- 已销假 -->
<if
test=
"query.vacationStatus == '3'.toString()"
>
and a.VACATION_STATUS
<![CDATA[<>]]>
'4'
</if>
</if>
</sql>
<select
id=
"getListByPage"
resultMap=
"TVacationInfoVO"
>
select
<include
refid=
"GetListColumnList"
/>
from hr_business.t_vacation_info a
left join hr_business.t_bus_dept b
on a.DEPART_ID = b.id
<where>
<include
refid=
"GetListWhere"
/>
</where>
order by a.CREATE_TIME desc
</select>
<select
id=
"getDataById"
resultMap=
"TVacationInfoVO"
>
select
<include
refid=
"GetListColumnList"
/>
from hr_business.t_vacation_info a
left join hr_business.t_bus_dept b
on a.DEPART_ID = b.id
where a.id = #{id}
</select>
</mapper>
yifu-business/yifu-business-biz/src/main/resources/mapper/TVacationMonitorMapper.xml
0 → 100644
View file @
972909f7
<?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=
"com.yifu.cloud.plus.v1.business.mapper.vacation.TVacationMonitorMapper"
>
<resultMap
id=
"Result_TVacationMonitorVO"
type=
"com.yifu.cloud.plus.v1.business.vo.vacation.TVacationMonitorVO"
>
<result
property=
"vacationYear"
column=
"VACATION_YEAR"
jdbcType=
"VARCHAR"
/>
<result
property=
"businessTelecomNumber"
column=
"BUSINESS_TELECOM_NUMBER"
jdbcType=
"VARCHAR"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
jdbcType=
"VARCHAR"
/>
<result
property=
"empName"
column=
"EMP_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"businessPost"
column=
"BUSINESS_POST"
jdbcType=
"VARCHAR"
/>
<result
property=
"vacationDuration"
column=
"VACATION_DURATION"
jdbcType=
"DECIMAL"
/>
<result
property=
"notUsedVacationDuration"
column=
"NOT_USED_VACATION_DURATION"
jdbcType=
"DECIMAL"
/>
<result
property=
"businessEnjoinDate"
column=
"BUSINESS_ENJOIN_DATE"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"departCode"
column=
"DEPART_CODE"
jdbcType=
"VARCHAR"
/>
<result
property=
"departName"
column=
"DEPART_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"departId"
column=
"DEPART_ID"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Column_TVacationMonitorVO"
>
a.ID,
a.VACATION_YEAR,
a.BUSINESS_TELECOM_NUMBER,
a.EMP_IDCARD,
a.EMP_NAME,
b.name as DEPART_NAME,
b.id as DEPART_ID,
b.tree_logo as DEPART_CODE,
a.BUSINESS_POST,
a.VACATION_DURATION,
a.NOT_USED_VACATION_DURATION,
a.BUSINESS_ENJOIN_DATE,
a.VACATION_STATUS
</sql>
<sql
id=
"Where_TVacationMonitorQuery"
>
1=1
<if
test=
"query.businessTelecomNumber != null and query.businessTelecomNumber.trim() != ''"
>
and a.BUSINESS_TELECOM_NUMBER like concat('%', #{query.businessTelecomNumber}, '%')
</if>
<if
test=
"query.empName != null and query.empName.trim() != ''"
>
and a.EMP_NAME like concat('%',#{query.empName}, '%')
</if>
<if
test=
"query.empIdcard != null and query.empIdcard.trim() != ''"
>
and a.EMP_IDCARD like concat('%',#{query.empIdcard} , '%')
</if>
<if
test=
"query.businessPost != null and query.businessPost.trim() != ''"
>
and a.BUSINESS_POST = #{query.businessPost}
</if>
<if
test=
"query.departId != null and query.departId != 1"
>
AND (b.id = #{query.departId} or b.tree_logo like concat('%-', #{query.departId},'-%'))
</if>
<if
test=
"query.vacationStatus != null and query.vacationStatus.trim() != ''"
>
and a.VACATION_STATUS = #{query.vacationStatus}
</if>
<if
test=
"query.vacationYear != null and query.vacationYear.trim() != ''"
>
and a.VACATION_YEAR = #{query.vacationYear}
</if>
</sql>
<select
id=
"getListByPage"
resultMap=
"Result_TVacationMonitorVO"
>
select
<include
refid=
"Column_TVacationMonitorVO"
/>
from hr_business.t_vacation_monitor a
left join hr_business.t_bus_dept b on a.DEPART_ID = b.id
<where>
<include
refid=
"Where_TVacationMonitorQuery"
/>
</where>
order by a.VACATION_YEAR desc
</select>
<select
id=
"getList"
resultMap=
"Result_TVacationMonitorVO"
>
select
<include
refid=
"Column_TVacationMonitorVO"
/>
from hr_business.t_vacation_monitor a
left join hr_business.t_bus_dept b on a.DEPART_ID = b.id
<where>
<include
refid=
"Where_TVacationMonitorQuery"
/>
</where>
order by a.VACATION_YEAR desc
</select>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/util/Common.java
View file @
972909f7
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
common
.
core
.
util
;
import
cn.hutool.core.collection.CollUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.*
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Method
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
...
...
@@ -248,7 +253,28 @@ public class Common {
return
null
;
}
}
public
static
<
T
>
HashMap
<
String
,
T
>
listToHashMapByKey
(
List
<
T
>
list
,
String
filedKey
)
{
HashMap
<
String
,
T
>
hashMap
=
new
HashMap
<
String
,
T
>();
Object
key
=
null
;
String
[]
split
=
null
;
if
(
null
!=
list
)
{
if
(
filedKey
.
indexOf
(
CommonConstants
.
DOWN_LINE_CHAR
)
>
CommonConstants
.
dingleDigitIntArray
[
0
])
{
split
=
filedKey
.
split
(
CommonConstants
.
DOWN_LINE_STRING
);
for
(
T
t
:
list
)
{
key
=
null
;
key
=
getFieldsValue
(
t
,
split
,
key
);
hashMap
.
put
(
getStringValByObject
(
key
),
t
);
}
}
else
{
for
(
T
t
:
list
)
{
key
=
null
;
key
=
getFieldValueByName
(
filedKey
,
t
);
hashMap
.
put
(
getStringValByObject
(
key
),
t
);
}
}
}
return
hashMap
;
}
public
static
<
T
>
HashMap
<
String
,
T
>
listToHashMapByKey
(
List
<
T
>
list
,
String
keyPreStr
,
String
filedKey
)
{
HashMap
<
String
,
T
>
hashMap
=
new
HashMap
<
String
,
T
>();
Object
key
=
null
;
...
...
@@ -509,4 +535,121 @@ public class Common {
}
return
false
;
}
/**
* @description: 通过spring校验注解list中的数据格式, 后续补充剩余注解
* @param list 需要校验的list
* @return: java.util.List<com.yifu.cloud.v1.common.core.util.bean.ErrorMessage>
* @author: wangweiguo
* @date: 2021/8/24
*/
public
static
List
<
ErrorMessage
>
commonImportErrorMessage
(
List
<?>
list
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
if
(!
CollUtil
.
isEmpty
(
list
))
{
int
size
=
list
.
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
Object
o
=
list
.
get
(
i
);
Field
[]
fields
=
o
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
Annotation
[]
declaredAnnotations
=
field
.
getDeclaredAnnotations
();
if
(
declaredAnnotations
.
length
==
0
)
{
continue
;
}
try
{
for
(
Annotation
declaredAnnotation
:
declaredAnnotations
)
{
field
.
setAccessible
(
true
);
Object
val
=
field
.
get
(
o
);
if
(
declaredAnnotation
instanceof
NotBlank
)
{
// @NotBlank
String
s
=
(
String
)
val
;
if
(
StringUtils
.
isBlank
(
s
))
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
NotBlank
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
else
if
(
declaredAnnotation
instanceof
Length
)
{
// @Length
if
(
val
instanceof
String
)
{
String
s
=
(
String
)
val
;
if
(
s
.
length
()
>
((
Length
)
declaredAnnotation
).
max
())
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
Length
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
if
(
s
.
length
()
<
((
Length
)
declaredAnnotation
).
min
())
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
Length
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
}
else
if
(
declaredAnnotation
instanceof
NotNull
)
{
// @NotNull
if
(
null
==
val
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
NotNull
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
else
if
(
declaredAnnotation
instanceof
Size
)
{
// @Size
int
curSize
=
0
;
if
(
val
instanceof
String
)
{
curSize
=
((
String
)
val
).
length
();
}
if
(
val
instanceof
Collection
)
{
curSize
=
((
Collection
<?>)
val
).
size
();
}
if
(
val
instanceof
Map
)
{
curSize
=
((
Map
<?,
?>)
val
).
size
();
}
int
min
=
((
Size
)
declaredAnnotation
).
min
();
int
max
=
((
Size
)
declaredAnnotation
).
max
();
if
(
curSize
>
max
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
Size
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
if
(
curSize
<
min
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
Size
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
else
if
(
declaredAnnotation
instanceof
javax
.
validation
.
constraints
.
Pattern
)
{
// @Pattern
if
(
val
instanceof
String
)
{
if
(!((
String
)
val
).
matches
(((
javax
.
validation
.
constraints
.
Pattern
)
declaredAnnotation
).
regexp
()))
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
javax
.
validation
.
constraints
.
Pattern
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
}
else
if
(
declaredAnnotation
instanceof
Digits
)
{
int
maxIntegerLength
=
((
Digits
)
declaredAnnotation
).
integer
();
int
maxFractionLength
=
((
Digits
)
declaredAnnotation
).
fraction
();
if
(
val
instanceof
BigDecimal
)
{
int
integerPartLength
=
((
BigDecimal
)
val
).
precision
()
-
((
BigDecimal
)
val
).
scale
();
int
fractionPartLength
=
Math
.
max
(((
BigDecimal
)
val
).
scale
(),
0
);
if
(!(
maxIntegerLength
>=
integerPartLength
&&
maxFractionLength
>=
fractionPartLength
))
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
Digits
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
}
else
if
(
declaredAnnotation
instanceof
DecimalMin
)
{
BigDecimal
minValue
=
BigDecimal
.
valueOf
(
Double
.
parseDouble
(((
DecimalMin
)
declaredAnnotation
).
value
()));
if
(
val
instanceof
BigDecimal
)
{
if
(
minValue
.
compareTo
((
BigDecimal
)
val
)
>=
0
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
DecimalMin
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
}
else
if
(
declaredAnnotation
instanceof
DecimalMax
)
{
BigDecimal
maxValue
=
BigDecimal
.
valueOf
(
Double
.
parseDouble
(((
DecimalMax
)
declaredAnnotation
).
value
()));
if
(
val
instanceof
BigDecimal
)
{
if
(
maxValue
.
compareTo
((
BigDecimal
)
val
)
<=
0
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
i
+
2
,
((
DecimalMax
)
declaredAnnotation
).
message
(),
CommonConstants
.
RED
));
break
;
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
}
return
errorMessageList
;
}
}
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/util/R.java
View file @
972909f7
...
...
@@ -102,5 +102,26 @@ public class R<T> implements Serializable {
apiResult
.
setMsg
(
msg
);
return
apiResult
;
}
/**
* 返回成功状态
* @Author pwang
* @Date 2021-04-22 19:45
* @param
* @return
*@see
**/
public
static
boolean
isSuccess
(
R
r
){
return
r
!=
null
&&
CommonConstants
.
SUCCESS
==
r
.
getCode
();
}
/**
* 判断date是否有数据
* @Author pwang
* @Date 2021-04-22 19:45
* @param
* @return
*@see
**/
public
static
boolean
haveData
(
R
r
){
return
isSuccess
(
r
)
&&
null
!=
r
.
getData
();
}
}
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/util/ArchivesDaprUtil.java
View file @
972909f7
...
...
@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject
;
...
...
@@ -300,7 +301,7 @@ public class ArchivesDaprUtil {
}
/**
* @Author
fxj
* @Author
huyc
* @Description 校验手机号码重复
* @Date 22:11 2022/8/4
* @Param
...
...
@@ -314,6 +315,36 @@ public class ArchivesDaprUtil {
return
res
;
}
/**
* @Author huyc
* @Description 获取所有员工拓展表信息
* @Date 22:11 2022/8/4
* @Param
* @return
**/
public
R
<
TSettleDomainListVo
>
getAllExtendList
()
{
R
<
TSettleDomainListVo
>
res
=
HttpDaprUtil
.
invokeMethodPost
(
daprArchivesProperties
.
getAppUrl
(),
daprArchivesProperties
.
getAppId
(),
"/customerBusiness/temployeeBusiness/inner/getAllExtendList"
,
""
,
TSettleDomainListVo
.
class
,
SecurityConstants
.
FROM_IN
);
if
(
Common
.
isEmpty
(
res
)){
return
R
.
failed
(
"获取所有员工拓展表信息失败!"
);
}
return
res
;
}
/**
* @Author huyc
* @Description 获取所有员工拓展表信息
* @Date 22:11 2022/8/4
* @Param
* @return
**/
public
R
<
TBusinessEmployeeExtendInfo
>
getExtendByBusinessTelecomNumber
(
String
businessTelecomNumber
)
{
R
<
TBusinessEmployeeExtendInfo
>
res
=
HttpDaprUtil
.
invokeMethodPost
(
daprArchivesProperties
.
getAppUrl
(),
daprArchivesProperties
.
getAppId
(),
"/customerBusiness/temployeeBusiness/inner/getExtendByBusinessTelecomNumber"
,
businessTelecomNumber
,
TBusinessEmployeeExtendInfo
.
class
,
SecurityConstants
.
FROM_IN
);
if
(
Common
.
isEmpty
(
res
)){
return
R
.
failed
(
"根据电工编号查询扩展表信息失败!"
);
}
return
res
;
}
/**
* @Author fxj
* @Description 更新项目档案和人员档案的社保公积金状态
...
...
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