Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
an-plus-hr
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
anjia-hr
an-plus-hr
Commits
63cdeea9
Commit
63cdeea9
authored
Dec 04, 2025
by
刘斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 增加家庭成员
parent
8d63cf30
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
360 additions
and
26 deletions
+360
-26
HrEmployeeConstants.java
...main/java/com/anplus/hr/constant/HrEmployeeConstants.java
+5
-0
EmployeeFamilyMembers.java
...main/java/com/anplus/hr/domain/EmployeeFamilyMembers.java
+62
-0
EmployeeBaseInfoParam.java
...va/com/anplus/hr/domain/params/EmployeeBaseInfoParam.java
+17
-11
EmployeeFamilyMembersParam.java
...m/anplus/hr/domain/params/EmployeeFamilyMembersParam.java
+69
-0
EmployeeFamilyMembersVo.java
...java/com/anplus/hr/domain/vo/EmployeeFamilyMembersVo.java
+80
-0
EmployeeInfoImportVo.java
...in/java/com/anplus/hr/domain/vo/EmployeeInfoImportVo.java
+2
-1
EmployeeFamilyMembersMapper.java
...ava/com/anplus/hr/mapper/EmployeeFamilyMembersMapper.java
+16
-0
EmployeeInfoServ.java
...src/main/java/com/anplus/hr/service/EmployeeInfoServ.java
+36
-0
EmployeeInfoResignServImpl.java
...om/anplus/hr/service/impl/EmployeeInfoResignServImpl.java
+26
-9
EmployeeInfoServImpl.java
...java/com/anplus/hr/service/impl/EmployeeInfoServImpl.java
+40
-5
EmployeeFamilyMembersMapper.xml
...src/main/resources/mapper/EmployeeFamilyMembersMapper.xml
+7
-0
No files found.
admin/src/main/java/com/anplus/hr/constant/HrEmployeeConstants.java
View file @
63cdeea9
...
...
@@ -20,4 +20,9 @@ public interface HrEmployeeConstants {
* 合同形式-新签
*/
String
CONTRACT_FORM_NEW
=
"1"
;
/**
* 是否-是
*/
String
YES
=
"Y"
;
}
admin/src/main/java/com/anplus/hr/domain/EmployeeFamilyMembers.java
0 → 100644
View file @
63cdeea9
package
com
.
anplus
.
hr
.
domain
;
import
top.binfast.common.mybatis.bean.model.TenantModel
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serial
;
/**
* 员工家庭主要成员对象 employee_family_members
*
* @author LiuBin
* @date 2025-12-04
*/
@Getter
@Setter
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"employee_family_members"
)
public
class
EmployeeFamilyMembers
extends
TenantModel
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 员工信息ID
*/
private
Long
employeeId
;
/**
* 关系
*/
private
String
relation
;
/**
* 姓名
*/
private
String
name
;
/**
* 出生年月
*/
private
String
birthDate
;
/**
* 工作单位及职务
*/
private
String
companyAndJob
;
/**
* 联系方式
*/
private
String
contact
;
/**
* 是否为紧急联系人
*/
private
String
emergencyFlag
;
}
admin/src/main/java/com/anplus/hr/domain/params/EmployeeBaseInfoParam.java
View file @
63cdeea9
...
...
@@ -7,6 +7,7 @@ import jakarta.validation.constraints.NotNull;
import
lombok.Data
;
import
java.time.LocalDate
;
import
java.util.List
;
/**
* @author 刘斌
...
...
@@ -87,17 +88,17 @@ public class EmployeeBaseInfoParam {
@NotBlank
(
message
=
"政治面貌不能为空"
)
private
String
politicalStatus
;
/**
* 紧急联系人
*/
@NotBlank
(
message
=
"紧急联系人不能为空"
)
private
String
emergencyContact
;
/**
* 紧急联系人电话
*/
@NotBlank
(
message
=
"紧急联系人电话不能为空"
)
private
String
emergencyContactPhone
;
//
/**
//
* 紧急联系人
//
*/
//
@NotBlank(message = "紧急联系人不能为空")
//
private String emergencyContact;
//
//
/**
//
* 紧急联系人电话
//
*/
//
@NotBlank(message = "紧急联系人电话不能为空")
//
private String emergencyContactPhone;
/**
* 家庭地址
...
...
@@ -195,6 +196,11 @@ public class EmployeeBaseInfoParam {
// @NotBlank(message = "外部个人履历不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
externalResume
;
/**
* 家庭成员
*/
private
List
<
EmployeeFamilyMembersParam
>
employeeFamilyMembers
;
/**
* tid
*/
...
...
admin/src/main/java/com/anplus/hr/domain/params/EmployeeFamilyMembersParam.java
0 → 100644
View file @
63cdeea9
package
com
.
anplus
.
hr
.
domain
.
params
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
top.binfast.common.core.validate.AddGroup
;
import
top.binfast.common.core.validate.EditGroup
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
jakarta.validation.constraints.*
;
/**
* 员工家庭主要成员业务对象 employee_family_members
*
* @author LiuBin
* @date 2025-12-04
*/
@Data
@AutoMapper
(
target
=
EmployeeFamilyMembers
.
class
,
reverseConvertGenerate
=
false
)
public
class
EmployeeFamilyMembersParam
{
/**
* 序号
*/
// @NotNull(message = "序号不能为空", groups = { EditGroup.class })
private
Long
id
;
/**
* 员工信息ID
*/
// @NotNull(message = "员工信息ID不能为空", groups = { AddGroup.class, EditGroup.class })
private
Long
employeeId
;
/**
* 关系
*/
@NotBlank
(
message
=
"关系不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
relation
;
/**
* 姓名
*/
@NotBlank
(
message
=
"姓名不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 出生年月
*/
@NotBlank
(
message
=
"出生年月不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
birthDate
;
/**
* 工作单位及职务
*/
@NotBlank
(
message
=
"工作单位及职务不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
companyAndJob
;
/**
* 联系方式
*/
@NotBlank
(
message
=
"联系方式不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
contact
;
/**
* 是否为紧急联系人
*/
// @NotBlank(message = "是否为紧急联系人不能为空", groups = { AddGroup.class, EditGroup.class })
private
String
emergencyFlag
;
}
admin/src/main/java/com/anplus/hr/domain/vo/EmployeeFamilyMembersVo.java
0 → 100644
View file @
63cdeea9
package
com
.
anplus
.
hr
.
domain
.
vo
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
cn.idev.excel.annotation.ExcelIgnoreUnannotated
;
import
cn.idev.excel.annotation.ExcelProperty
;
import
cn.idev.excel.annotation.ExcelIgnore
;
import
top.binfast.common.excel.annotion.ExcelDictFormat
;
import
top.binfast.common.excel.converters.ExcelDictConvert
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 员工家庭主要成员视图对象 employee_family_members
*
* @author LiuBin
* @date 2025-12-04
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
EmployeeFamilyMembers
.
class
)
public
class
EmployeeFamilyMembersVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 序号
*/
private
Long
id
;
/**
* 员工信息ID
*/
@ExcelProperty
(
value
=
"员工信息ID"
)
private
Long
employeeId
;
/**
* 关系
*/
@ExcelProperty
(
value
=
"关系"
)
private
String
relation
;
/**
* 姓名
*/
@ExcelProperty
(
value
=
"姓名"
)
private
String
name
;
/**
* 出生年月
*/
@ExcelProperty
(
value
=
"出生年月"
)
private
String
birthDate
;
/**
* 工作单位及职务
*/
@ExcelProperty
(
value
=
"工作单位及职务"
)
private
String
companyAndJob
;
/**
* 联系方式
*/
@ExcelProperty
(
value
=
"联系方式"
)
private
String
contact
;
/**
* 是否为紧急联系人
*/
@ExcelProperty
(
value
=
"是否为紧急联系人"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
dictType
=
"SYS_YES_NO"
)
private
String
emergencyFlag
;
}
admin/src/main/java/com/anplus/hr/domain/vo/EmployeeInfoImportVo.java
View file @
63cdeea9
...
...
@@ -550,7 +550,8 @@ public class EmployeeInfoImportVo extends ExcelBaseEntity implements Serializabl
/**
* 成本费用细分
*/
@ExcelProperty
(
value
=
"成本费用细分"
)
@ExcelProperty
(
value
=
"成本费用细分"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
dictType
=
HrConstant
.
HR_COST_TYPE
)
private
String
costType
;
/**
...
...
admin/src/main/java/com/anplus/hr/mapper/EmployeeFamilyMembersMapper.java
0 → 100644
View file @
63cdeea9
package
com
.
anplus
.
hr
.
mapper
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
top.binfast.common.mybatis.mapper.BinBaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 员工家庭主要成员Mapper接口
*
* @author LiuBin
* @date 2025-12-04
*/
@Mapper
public
interface
EmployeeFamilyMembersMapper
extends
BinBaseMapper
<
EmployeeFamilyMembers
>
{
}
admin/src/main/java/com/anplus/hr/service/EmployeeInfoServ.java
View file @
63cdeea9
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.cola.dto.PageResponse
;
import
com.alibaba.cola.dto.Response
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
com.anplus.hr.domain.vo.EmployeeFlowVo
;
import
com.anplus.hr.domain.vo.EmployeeInfoResumeVo
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
...
@@ -19,6 +20,7 @@ import top.binfast.common.excel.image.CellImageData;
import
top.binfast.common.excel.image.ExcelProcessingResult
;
import
top.binfast.common.oss.entity.UploadResult
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Stream
;
...
...
@@ -197,6 +199,12 @@ public interface EmployeeInfoServ extends IService<EmployeeInfo> {
return
builder
.
toString
();
}
/**
* 构建部门名称字符串
*
* @param importVo 导入数据
* @return 部门名称字符串
*/
default
String
buildPartDeptNameStr
(
EmployeeInfoImportVo
importVo
)
{
StringBuilder
builder
=
new
StringBuilder
(
importVo
.
getConcurrentPlate
());
if
(
StrUtil
.
isNotBlank
(
importVo
.
getConcurrentFirstDept
()))
{
...
...
@@ -211,4 +219,32 @@ public interface EmployeeInfoServ extends IService<EmployeeInfo> {
return
builder
.
toString
();
}
/**
* 构建员工家庭成员列表
* 按照【关系 姓名 出生年月 工作单位职务 联系方式】格式
* 用空格区分属性,用;区分人员
* @param familyMembersImportStr 员工家庭成员字符串
* @return 员工家庭成员列表
*/
default
List
<
EmployeeFamilyMembers
>
buildFamilyMembers
(
String
familyMembersImportStr
)
{
List
<
EmployeeFamilyMembers
>
familyMembers
=
new
ArrayList
<>();
if
(
StrUtil
.
isNotBlank
(
familyMembersImportStr
))
{
String
[]
list
=
familyMembersImportStr
.
split
(
";"
);
for
(
String
memberProp
:
list
)
{
EmployeeFamilyMembers
member
=
new
EmployeeFamilyMembers
();
String
[]
split
=
memberProp
.
split
(
StrUtil
.
SPACE
);
if
(
split
.
length
!=
5
)
{
continue
;
}
member
.
setRelation
(
split
[
0
]);
member
.
setName
(
split
[
1
]);
member
.
setBirthDate
(
split
[
2
]);
member
.
setCompanyAndJob
(
split
[
3
]);
member
.
setContact
(
split
[
4
]);
familyMembers
.
add
(
member
);
}
}
return
familyMembers
;
}
}
admin/src/main/java/com/anplus/hr/service/impl/EmployeeInfoResignServImpl.java
View file @
63cdeea9
...
...
@@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollUtil;
import
com.alibaba.cola.dto.PageResponse
;
import
com.alibaba.cola.dto.Response
;
import
com.anplus.hr.constant.HrStatusEnum
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
com.anplus.hr.domain.params.EmployeeInfoListParam
;
import
com.anplus.hr.domain.params.EmployeeInfoParam
;
import
com.anplus.hr.domain.vo.EmployeeInfoResignImportVo
;
import
com.anplus.hr.domain.vo.EmployeeInfoResignVo
;
import
com.anplus.hr.domain.vo.EmployeeInfoVo
;
import
com.anplus.hr.mapper.EmployeeFamilyMembersMapper
;
import
com.anplus.hr.mapper.EmployeeInfoMapper
;
import
com.anplus.hr.service.EmployeeInfoResignServ
;
import
com.anplus.hr.service.EmployeeInfoServ
;
...
...
@@ -33,10 +35,7 @@ import top.binfast.common.excel.image.ExcelProcessingResult;
import
top.binfast.common.excel.image.TempFileExcelImageImporter
;
import
top.binfast.common.mybatis.util.QueryUtil
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.stream.Stream
;
...
...
@@ -52,6 +51,7 @@ public class EmployeeInfoResignServImpl extends ServiceImpl<EmployeeInfoMapper,
private
final
EmployeeInfoServ
employeeInfoServ
;
private
final
TransService
transService
;
private
final
SysOssMapper
sysOssMapper
;
private
final
EmployeeFamilyMembersMapper
employeeFamilyMembersMapper
;
private
final
EmployeeAsyncService
employeeAsyncService
;
private
final
EmployeeSysDeptServ
employeeSysDeptServ
;
...
...
@@ -98,7 +98,10 @@ public class EmployeeInfoResignServImpl extends ServiceImpl<EmployeeInfoMapper,
List
<
EmployeeInfoResignImportVo
>
errorList
=
new
ArrayList
<>();
List
<
EmployeeInfoResignImportVo
>
successList
=
new
ArrayList
<>();
List
<
SysOss
>
ossList
=
new
ArrayList
<>();
List
<
EmployeeFamilyMembers
>
familyMembersList
=
new
ArrayList
<>();
Map
<
String
,
EmployeeInfo
>
ossEmployeeInfoMap
=
new
HashMap
<>();
Map
<
String
,
List
<
EmployeeFamilyMembers
>>
employeeFamilyMap
=
new
HashMap
<>();
Set
<
String
>
idCardNumberSet
=
new
HashSet
<>();
CompletableFuture
<
ExcelProcessingResult
>
future
=
CompletableFuture
.
supplyAsync
(()
->
{
try
{
return
TempFileExcelImageImporter
.
importExcelWithAllImages
(
file
);
...
...
@@ -113,11 +116,12 @@ public class EmployeeInfoResignServImpl extends ServiceImpl<EmployeeInfoMapper,
return
;
}
EmployeeInfoParam
employeeInfoParam
=
MapstructUtils
.
convert
(
item
,
EmployeeInfoParam
.
class
);
if
(
!
employeeInfoServ
.
checkEmployeeIdCardNumberUnique
(
employeeInfoParam
))
{
if
(
employeeInfoServ
.
checkEmployeeIdCardNumberUnique
(
employeeInfoParam
)
||
idCardNumberSet
.
contains
(
item
.
getIdCardNumber
()
))
{
item
.
addError
(
"身份证号已存在"
);
errorList
.
add
(
item
);
return
;
}
idCardNumberSet
.
add
(
item
.
getIdCardNumber
());
successList
.
add
(
item
);
});
if
(
CollUtil
.
isNotEmpty
(
successList
))
{
...
...
@@ -133,6 +137,11 @@ public class EmployeeInfoResignServImpl extends ServiceImpl<EmployeeInfoMapper,
// errorList.add(importVo);
// continue;
// }
List
<
EmployeeFamilyMembers
>
buildFamilyMembersList
=
employeeInfoServ
.
buildFamilyMembers
(
importVo
.
getFamilyMembersInfo
());
if
(!
buildFamilyMembersList
.
isEmpty
())
{
familyMembersList
.
addAll
(
buildFamilyMembersList
);
employeeFamilyMap
.
put
(
importVo
.
getIdCardNumber
(),
buildFamilyMembersList
);
}
EmployeeInfo
employeeInfo
=
MapstructUtils
.
convert
(
importVo
,
EmployeeInfo
.
class
);
employeeInfo
.
setStatus
(
HrStatusEnum
.
RESIGN
.
getStatus
());
employeeInfo
.
setDeptId
(
leafDeptId
);
...
...
@@ -154,10 +163,18 @@ public class EmployeeInfoResignServImpl extends ServiceImpl<EmployeeInfoMapper,
}
}
}
employeeInfoMapper
.
insert
(
insertList
);
// EmployeeDeptCheckAndSaveParam checkAndSaveParam =
// new EmployeeDeptCheckAndSaveParam(deptNameGroups, SecurityUtils.getCurrentUserId(), SecurityUtils.getTenantId());
// employeeDeptServ.checkAndSaveDept(checkAndSaveParam);
boolean
insertEmployeeFlag
=
SqlHelper
.
retBool
(
employeeInfoMapper
.
insert
(
insertList
));
if
(
insertEmployeeFlag
&&
CollUtil
.
isNotEmpty
(
familyMembersList
))
{
for
(
EmployeeInfo
employeeInfo
:
insertList
)
{
List
<
EmployeeFamilyMembers
>
existFamilyMembers
=
employeeFamilyMap
.
get
(
employeeInfo
.
getIdCardNumber
());
if
(
existFamilyMembers
!=
null
&&
!
existFamilyMembers
.
isEmpty
())
{
for
(
EmployeeFamilyMembers
familyMember
:
existFamilyMembers
)
{
familyMember
.
setEmployeeId
(
employeeInfo
.
getId
());
}
}
}
employeeFamilyMembersMapper
.
insert
(
familyMembersList
);
}
}
StringBuilder
message
;
if
(
CollUtil
.
isNotEmpty
(
errorList
))
{
...
...
admin/src/main/java/com/anplus/hr/service/impl/EmployeeInfoServImpl.java
View file @
63cdeea9
...
...
@@ -13,6 +13,7 @@ import com.anplus.hr.constant.HrEmployeeConstants;
import
com.anplus.hr.constant.HrFlowEnum
;
import
com.anplus.hr.constant.HrFlowTypeConstant
;
import
com.anplus.hr.constant.HrStatusEnum
;
import
com.anplus.hr.domain.EmployeeFamilyMembers
;
import
com.anplus.hr.domain.EmployeeFlow
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
com.anplus.hr.domain.params.*
;
...
...
@@ -20,6 +21,7 @@ import com.anplus.hr.domain.vo.EmployeeFlowVo;
import
com.anplus.hr.domain.vo.EmployeeInfoImportVo
;
import
com.anplus.hr.domain.vo.EmployeeInfoResumeVo
;
import
com.anplus.hr.domain.vo.EmployeeInfoVo
;
import
com.anplus.hr.mapper.EmployeeFamilyMembersMapper
;
import
com.anplus.hr.mapper.EmployeeInfoMapper
;
import
com.anplus.hr.service.EmployeeAuditLogServ
;
import
com.anplus.hr.service.EmployeeFlowServ
;
...
...
@@ -79,6 +81,7 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
private
final
OssService
ossService
;
private
final
SysOssServ
sysOssServ
;
private
final
SysOssMapper
sysOssMapper
;
private
final
EmployeeFamilyMembersMapper
employeeFamilyMembersMapper
;
private
final
EmployeeAsyncService
employeeAsyncService
;
/**
...
...
@@ -239,7 +242,10 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
List
<
EmployeeInfoImportVo
>
errorList
=
new
ArrayList
<>();
List
<
EmployeeInfoImportVo
>
successList
=
new
ArrayList
<>();
List
<
SysOss
>
ossList
=
new
ArrayList
<>();
List
<
EmployeeFamilyMembers
>
familyMembersList
=
new
ArrayList
<>();
Map
<
String
,
EmployeeInfo
>
ossEmployeeInfoMap
=
new
HashMap
<>();
Map
<
String
,
List
<
EmployeeFamilyMembers
>>
employeeFamilyMap
=
new
HashMap
<>();
Set
<
String
>
idCardNumberSet
=
new
HashSet
<>();
CompletableFuture
<
ExcelProcessingResult
>
future
=
CompletableFuture
.
supplyAsync
(()
->
{
try
{
return
TempFileExcelImageImporter
.
importExcelWithAllImages
(
file
);
...
...
@@ -254,7 +260,7 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
return
;
}
EmployeeInfoParam
employeeInfoParam
=
MapstructUtils
.
convert
(
item
,
EmployeeInfoParam
.
class
);
if
(
!
checkEmployeeIdCardNumberUnique
(
employeeInfoParam
))
{
if
(
checkEmployeeIdCardNumberUnique
(
employeeInfoParam
)
||
idCardNumberSet
.
contains
(
item
.
getIdCardNumber
()
))
{
item
.
addError
(
"身份证号已存在"
);
errorList
.
add
(
item
);
return
;
...
...
@@ -262,6 +268,7 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
if
(
item
.
getContractEndDate
()
!=
null
)
{
item
.
setContractExpirationReminder
(
item
.
getContractEndDate
().
minusMonths
(
1
));
}
idCardNumberSet
.
add
(
item
.
getIdCardNumber
());
successList
.
add
(
item
);
});
if
(
CollUtil
.
isNotEmpty
(
successList
))
{
...
...
@@ -277,6 +284,11 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
continue
;
}
Long
concurrentDeptId
=
deptNamesIdMap
.
get
(
buildPartDeptNameStr
(
importVo
));
List
<
EmployeeFamilyMembers
>
buildFamilyMembersList
=
buildFamilyMembers
(
importVo
.
getFamilyMembersInfo
());
if
(!
buildFamilyMembersList
.
isEmpty
())
{
familyMembersList
.
addAll
(
buildFamilyMembersList
);
employeeFamilyMap
.
put
(
importVo
.
getIdCardNumber
(),
buildFamilyMembersList
);
}
EmployeeInfo
employeeInfo
=
MapstructUtils
.
convert
(
importVo
,
EmployeeInfo
.
class
);
employeeInfo
.
setDeptId
(
leafDeptId
);
employeeInfo
.
setConcurrentDeptId
(
concurrentDeptId
);
...
...
@@ -300,7 +312,18 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
}
}
}
employeeInfoMapper
.
insert
(
insertList
);
boolean
insertEmployeeFlag
=
SqlHelper
.
retBool
(
employeeInfoMapper
.
insert
(
insertList
));
if
(
insertEmployeeFlag
&&
CollUtil
.
isNotEmpty
(
familyMembersList
))
{
for
(
EmployeeInfo
employeeInfo
:
insertList
)
{
List
<
EmployeeFamilyMembers
>
existFamilyMembers
=
employeeFamilyMap
.
get
(
employeeInfo
.
getIdCardNumber
());
if
(
existFamilyMembers
!=
null
&&
!
existFamilyMembers
.
isEmpty
())
{
for
(
EmployeeFamilyMembers
familyMember
:
existFamilyMembers
)
{
familyMember
.
setEmployeeId
(
employeeInfo
.
getId
());
}
}
}
employeeFamilyMembersMapper
.
insert
(
familyMembersList
);
}
// EmployeeDeptCheckAndSaveParam checkAndSaveParam =
// new EmployeeDeptCheckAndSaveParam(deptNameGroups, SecurityUtils.getCurrentUserId(), SecurityUtils.getTenantId());
// employeeDeptServ.checkAndSaveDept(checkAndSaveParam);
...
...
@@ -358,10 +381,9 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
@Override
public
Boolean
checkEmployeeIdCardNumberUnique
(
EmployeeInfoParam
employee
)
{
boolean
exist
=
employeeInfoMapper
.
exists
(
new
LambdaQueryWrapper
<
EmployeeInfo
>()
return
employeeInfoMapper
.
exists
(
new
LambdaQueryWrapper
<
EmployeeInfo
>()
.
eq
(
EmployeeInfo:
:
getIdCardNumber
,
employee
.
getIdCardNumber
())
.
ne
(
ObjectUtil
.
isNotNull
(
employee
.
getId
()),
EmployeeInfo:
:
getId
,
employee
.
getId
()));
return
!
exist
;
}
/**
...
...
@@ -469,7 +491,20 @@ public class EmployeeInfoServImpl extends ServiceImpl<EmployeeInfoMapper, Employ
EmployeeInfoCalcUtils
.
calcAgeGroup
(
employeeInfo
);
employeeInfo
.
setEntryApplyStatus
(
HrFlowEnum
.
DRAFT
.
getStatus
());
employeeInfo
.
setStatus
(
HrStatusEnum
.
DRAFT
.
getStatus
());
return
this
.
save
(
employeeInfo
);
boolean
flag
=
this
.
save
(
employeeInfo
);
if
(
flag
&&
CollUtil
.
isNotEmpty
(
param
.
getEmployeeFamilyMembers
()))
{
List
<
EmployeeFamilyMembersParam
>
familyMembers
=
param
.
getEmployeeFamilyMembers
();
for
(
EmployeeFamilyMembersParam
familyMember
:
familyMembers
)
{
familyMember
.
setEmployeeId
(
employeeInfo
.
getId
());
if
(
HrEmployeeConstants
.
YES
.
equals
(
familyMember
.
getEmergencyFlag
()))
{
employeeInfo
.
setEmergencyContact
(
familyMember
.
getName
());
employeeInfo
.
setEmergencyContactPhone
(
familyMember
.
getContact
());
}
}
List
<
EmployeeFamilyMembers
>
employeeFamilyMembers
=
MapstructUtils
.
convert
(
familyMembers
,
EmployeeFamilyMembers
.
class
);
employeeFamilyMembersMapper
.
insert
(
employeeFamilyMembers
);
}
return
flag
;
}
/**
...
...
admin/src/main/resources/mapper/EmployeeFamilyMembersMapper.xml
0 → 100644
View file @
63cdeea9
<?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.anplus.hr.mapper.EmployeeFamilyMembersMapper"
>
</mapper>
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