Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
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
a2ebb69d
You need to sign in or sign up before continuing.
Commit
a2ebb69d
authored
Oct 27, 2023
by
huyuchen
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.5.9' into develop
parents
b94ad145
e4c74ca8
Show whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
2350 additions
and
138 deletions
+2350
-138
TEmployeeInfo.java
...ifu/cloud/plus/v1/yifu/archives/entity/TEmployeeInfo.java
+3
-0
DataPermissionImportVo.java
...loud/plus/v1/yifu/archives/vo/DataPermissionImportVo.java
+32
-0
SocialAuthHandleImportVo.java
...ud/plus/v1/yifu/archives/vo/SocialAuthHandleImportVo.java
+28
-0
SocialAuthImportVo.java
...fu/cloud/plus/v1/yifu/archives/vo/SocialAuthImportVo.java
+35
-0
UpProjectSocialFundVo.java
...cloud/plus/v1/yifu/archives/vo/UpProjectSocialFundVo.java
+16
-0
pom.xml
yifu-archives/yifu-archives-biz/pom.xml
+6
-0
TCutsomerDataPermissonController.java
...archives/controller/TCutsomerDataPermissonController.java
+137
-114
TSettleDomainMapper.java
...oud/plus/v1/yifu/archives/mapper/TSettleDomainMapper.java
+4
-0
TCutsomerDataPermissonService.java
.../yifu/archives/service/TCutsomerDataPermissonService.java
+4
-0
TCutsomerDataPermissonServiceImpl.java
...hives/service/impl/TCutsomerDataPermissonServiceImpl.java
+197
-3
TEmployeeProjectServiceImpl.java
...fu/archives/service/impl/TEmployeeProjectServiceImpl.java
+6
-0
TEmployeeInfoMapper.xml
...ves-biz/src/main/resources/mapper/TEmployeeInfoMapper.xml
+2
-0
TSettleDomainMapper.xml
...ves-biz/src/main/resources/mapper/TSettleDomainMapper.xml
+7
-0
CacheConstants.java
...oud/plus/v1/yifu/common/core/constant/CacheConstants.java
+2
-0
CommonConstants.java
...ud/plus/v1/yifu/common/core/constant/CommonConstants.java
+2
-0
ExcelUtil.java
...m/yifu/cloud/plus/v1/yifu/common/core/util/ExcelUtil.java
+4
-0
UpmsDaprUtils.java
...fu/cloud/plus/v1/yifu/common/dapr/util/UpmsDaprUtils.java
+8
-0
TInsuranceDetailController.java
...ifu/insurances/controller/TInsuranceDetailController.java
+51
-2
SysMenu.java
...om/yifu/cloud/plus/v1/yifu/permission/entity/SysMenu.java
+6
-0
SysUserPermissionMapper.java
...ud/plus/v1/permission/mapper/SysUserPermissionMapper.java
+16
-0
SysUserPermissionServiceImpl.java
...permission/service/impl/SysUserPermissionServiceImpl.java
+10
-3
SysMenuMapper.xml
...ermission-biz/src/main/resources/mapper/SysMenuMapper.xml
+2
-0
SysUserPermissionMapper.xml
...biz/src/main/resources/mapper/SysUserPermissionMapper.xml
+17
-0
TSalaryEmpModLog.java
...fu/cloud/plus/v1/yifu/salary/entity/TSalaryEmpModLog.java
+87
-0
TSalaryEmpModLogSearchVo.java
...loud/plus/v1/yifu/salary/vo/TSalaryEmpModLogSearchVo.java
+68
-0
TSalaryEmpModLogVo.java
...yifu/cloud/plus/v1/yifu/salary/vo/TSalaryEmpModLogVo.java
+84
-0
TSalaryEmpModLogController.java
...v1/yifu/salary/controller/TSalaryEmpModLogController.java
+121
-0
TSalaryEmployeeController.java
.../v1/yifu/salary/controller/TSalaryEmployeeController.java
+1
-1
TSalaryEmpModLogMapper.java
...ud/plus/v1/yifu/salary/mapper/TSalaryEmpModLogMapper.java
+42
-0
TSalaryEmpModLogService.java
.../plus/v1/yifu/salary/service/TSalaryEmpModLogService.java
+51
-0
TSalaryEmployeeService.java
...d/plus/v1/yifu/salary/service/TSalaryEmployeeService.java
+3
-0
TSalaryEmpModLogServiceImpl.java
...yifu/salary/service/impl/TSalaryEmpModLogServiceImpl.java
+197
-0
TSalaryEmployeeServiceImpl.java
.../yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
+45
-3
TSalaryEmpModLogMapper.xml
...-biz/src/main/resources/mapper/TSalaryEmpModLogMapper.xml
+97
-0
TDispatchInfo.java
.../yifu/cloud/plus/v1/yifu/social/entity/TDispatchInfo.java
+30
-0
TSocialInfo.java
...om/yifu/cloud/plus/v1/yifu/social/entity/TSocialInfo.java
+10
-0
SocialHandleExportVo.java
...fu/cloud/plus/v1/yifu/social/vo/SocialHandleExportVo.java
+32
-0
TDispatchAuditExportVo.java
.../cloud/plus/v1/yifu/social/vo/TDispatchAuditExportVo.java
+33
-0
TDispatchImportVo.java
.../yifu/cloud/plus/v1/yifu/social/vo/TDispatchImportVo.java
+30
-0
TDispatchInfoExportVo.java
...u/cloud/plus/v1/yifu/social/vo/TDispatchInfoExportVo.java
+34
-0
TPaymentInfoNewExportVo.java
...cloud/plus/v1/yifu/social/vo/TPaymentInfoNewExportVo.java
+100
-0
TPaymentInfoNewVo.java
.../yifu/cloud/plus/v1/yifu/social/vo/TPaymentInfoNewVo.java
+58
-0
TSocialfundHouseResController.java
...yifu/social/controller/TSocialfundHouseResController.java
+37
-0
TSocialfundHouseResService.java
...us/v1/yifu/social/service/TSocialfundHouseResService.java
+3
-0
TDispatchInfoServiceImpl.java
...v1/yifu/social/service/impl/TDispatchInfoServiceImpl.java
+13
-3
TSocialfundHouseResServiceImpl.java
...u/social/service/impl/TSocialfundHouseResServiceImpl.java
+420
-0
TDispatchInfoMapper.xml
...ial-biz/src/main/resources/mapper/TDispatchInfoMapper.xml
+35
-4
TPaymentInfoMapper.xml
...cial-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
+114
-4
TSocialInfoMapper.xml
...ocial-biz/src/main/resources/mapper/TSocialInfoMapper.xml
+4
-1
UserController.java
...u/cloud/plus/v1/yifu/admin/controller/UserController.java
+6
-0
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TEmployeeInfo.java
View file @
a2ebb69d
...
...
@@ -16,7 +16,9 @@
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.format.DateTimeFormat
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
...
...
@@ -25,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotNull
;
...
...
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/DataPermissionImportVo.java
0 → 100644
View file @
a2ebb69d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
/**
* @Author fxj
* @Date 2023/10/17
* @Description
* @Version 1.0
*/
@Data
public
class
DataPermissionImportVo
extends
RowIndex
implements
Serializable
{
@ExcelAttribute
(
name
=
"登录账号"
,
maxLength
=
30
,
isNotEmpty
=
true
)
@Schema
(
description
=
"登录账号"
)
private
String
userLoginName
;
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
32
,
isNotEmpty
=
false
)
@Schema
(
description
=
"项目名称"
)
private
String
settleDomainName
;
@Length
(
max
=
32
,
message
=
"项目编码不能超过32个字符"
)
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
32
,
isNotEmpty
=
true
)
@Schema
(
description
=
"项目编码"
)
private
String
settleDomainNo
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/SocialAuthHandleImportVo.java
0 → 100644
View file @
a2ebb69d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
/**
* @Author fxj
* @Date 2023/10/17
* @Description 社保公积金审核权限VO
* @Version 1.0
*/
@Data
public
class
SocialAuthHandleImportVo
extends
RowIndex
implements
Serializable
{
@ExcelAttribute
(
name
=
"登录账号"
,
maxLength
=
30
,
isNotEmpty
=
true
)
@Schema
(
description
=
"登录账号"
)
private
String
userLoginName
;
@Length
(
max
=
32
,
message
=
"户名称不能超过32个字符"
)
@ExcelAttribute
(
name
=
"户名称"
,
maxLength
=
32
,
isNotEmpty
=
true
)
@Schema
(
description
=
"户名称"
)
private
String
houseHold
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/SocialAuthImportVo.java
0 → 100644
View file @
a2ebb69d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
/**
* @Author fxj
* @Date 2023/10/17
* @Description 社保公积金审核权限VO
* @Version 1.0
*/
@Data
public
class
SocialAuthImportVo
extends
RowIndex
implements
Serializable
{
@ExcelAttribute
(
name
=
"登录账号"
,
maxLength
=
30
,
isNotEmpty
=
true
)
@Schema
(
description
=
"登录账号"
)
private
String
userLoginName
;
/**
* 户类型:0社保 1公积金
*/
@Schema
(
description
=
"户类型:0社保 1公积金"
)
@ExcelAttribute
(
name
=
"户类型:0社保 1公积金"
,
maxLength
=
32
,
isNotEmpty
=
true
,
isDataId
=
true
,
readConverterExp
=
"0=社保,1=公积金"
)
private
String
type
;
@Length
(
max
=
32
,
message
=
"户名称不能超过32个字符"
)
@ExcelAttribute
(
name
=
"户名称"
,
maxLength
=
32
,
isNotEmpty
=
false
)
@Schema
(
description
=
"户名称"
)
private
String
houseHold
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/UpProjectSocialFundVo.java
View file @
a2ebb69d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
...
...
@@ -53,5 +57,17 @@ public class UpProjectSocialFundVo implements Serializable {
String
detailId
;
String
contactAddress
;
String
highEducation
;
/**
* 学校
*/
@Schema
(
description
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@Schema
(
description
=
"专业"
)
private
String
major
;
// 是否更新学历标识
String
flag
;
}
yifu-archives/yifu-archives-biz/pom.xml
View file @
a2ebb69d
...
...
@@ -87,6 +87,12 @@
<artifactId>
mapper
</artifactId>
<version>
2.3.0
</version>
</dependency>
<dependency>
<groupId>
org.apache.shardingsphere
</groupId>
<artifactId>
sharding-transaction-core
</artifactId>
<version>
4.1.1
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TCutsomerDataPermissonController.java
View file @
a2ebb69d
...
...
@@ -9,6 +9,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.service.TCutsomerDataPermissonServic
import
com.yifu.cloud.plus.v1.yifu.archives.service.TSettleDomainService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
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.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
...
...
@@ -16,7 +17,10 @@ import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.AllArgsConstructor
;
import
lombok.SneakyThrows
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Arrays
;
import
java.util.List
;
...
...
@@ -39,6 +43,7 @@ public class TCutsomerDataPermissonController {
/**
* 简单分页查询
*
* @param page 分页对象
* @param tCutsomerDataPermisson 客户数据权限表
* @return
...
...
@@ -46,11 +51,12 @@ public class TCutsomerDataPermissonController {
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TCutsomerDataPermisson
>>
getTCutsomerDataPermissonPage
(
Page
<
TCutsomerDataPermisson
>
page
,
TCutsomerDataPermisson
tCutsomerDataPermisson
)
{
return
new
R
<>(
tCutsomerDataPermissonService
.
getTCutsomerDataPermissonPage
(
page
,
tCutsomerDataPermisson
));
return
new
R
<>(
tCutsomerDataPermissonService
.
getTCutsomerDataPermissonPage
(
page
,
tCutsomerDataPermisson
));
}
/**
* 导出list
*
* @param tCutsomerDataPermisson 客户数据权限表
* @return
*/
...
...
@@ -61,11 +67,11 @@ public class TCutsomerDataPermissonController {
}
/**
* @return
* @Author fxj
* @Description 获取实体的权限: type-类型0:客户1:合同2:项目(不传默认2项目)
* @Date 15:20 2022/7/13
* @Param
* @return
**/
@Operation
(
description
=
"获取实体的权限:默认项目"
)
@GetMapping
(
"/getPermissonByTypeAndId"
)
...
...
@@ -76,43 +82,45 @@ public class TCutsomerDataPermissonController {
}
/**
* @return
* @Author fxj
* @Description 获取实体的权限: type-类型0:客户1:合同2:项目(不传默认2项目)
* @Date 15:21 2022/7/13
* @Param
* @return
**/
@Operation
(
description
=
"权限复制 权限同项目分配客服(wxhr:tsettledomain_assign_customerservice)"
)
@GetMapping
(
"/copy"
)
public
R
<
String
>
insertForCopyCutsomerDataPermisson
(
String
[]
srcUser
,
String
[]
beUser
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
R
<
String
>
result
=
tCutsomerDataPermissonService
.
insertForCopyCutsomerDataPermisson
(
srcUser
,
beUser
,
user
);
if
(
CommonConstants
.
SUCCESS
.
equals
(
result
.
getCode
()))
{
//权限刷新
if
(
CommonConstants
.
SUCCESS
.
equals
(
result
.
getCode
()))
{
//权限刷新
settleDomainService
.
removeSettleCache
(
user
,
Arrays
.
asList
(
beUser
));
}
return
result
;
return
result
;
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation
(
description
=
"id查询"
)
@GetMapping
(
"/{id}"
)
public
R
<
TCutsomerDataPermisson
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
public
R
<
TCutsomerDataPermisson
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
new
R
<>(
tCutsomerDataPermissonService
.
getById
(
id
));
}
/**
* 新增记录
*
* @param tCutsomerDataPermisson
* @return R
*/
@Operation
(
description
=
"新增"
)
@SysLog
(
"新增客户数据权限表"
)
@PostMapping
public
R
<
String
>
save
(
@RequestBody
TCutsomerDataPermisson
tCutsomerDataPermisson
)
{
public
R
<
String
>
save
(
@RequestBody
TCutsomerDataPermisson
tCutsomerDataPermisson
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
settleDomainService
.
removeSettleCache
(
user
,
Arrays
.
asList
(
tCutsomerDataPermisson
.
getUserId
()));
if
(
Common
.
isNotNull
(
tCutsomerDataPermisson
.
getUserId
())
&&
Common
.
isNotNull
(
tCutsomerDataPermisson
.
getSettleDomainId
()))
{
...
...
@@ -132,6 +140,7 @@ public class TCutsomerDataPermissonController {
/**
* 修改记录
*
* @param tCutsomerDataPermisson
* @return R
*/
...
...
@@ -146,21 +155,35 @@ public class TCutsomerDataPermissonController {
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation
(
description
=
"删除(tcutsomerdatapermisson_del)"
)
@SysLog
(
"删除客户数据权限表"
)
@DeleteMapping
(
"/{id}"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
TCutsomerDataPermisson
tdp
=
tCutsomerDataPermissonService
.
getById
(
id
);
if
(
null
==
tdp
)
{
if
(
null
==
tdp
)
{
return
new
R
<>(
true
);
}
//刷新缓存
settleDomainService
.
removeSettleCache
(
user
,
Arrays
.
asList
(
tdp
.
getUserId
()));
return
new
R
<>(
tCutsomerDataPermissonService
.
removeById
(
id
));
}
/**
* @Author fxj
* @Description 批量导入项目权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@SneakyThrows
@Operation
(
description
=
"批量新增项目权限"
)
@SysLog
(
"批量新增项目权限"
)
@PostMapping
(
"/importListAdd"
)
public
R
<
List
<
ErrorMessage
>>
importListAdd
(
@RequestBody
MultipartFile
file
)
{
return
tCutsomerDataPermissonService
.
importDiy
(
file
.
getInputStream
());
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TSettleDomainMapper.java
View file @
a2ebb69d
...
...
@@ -24,9 +24,11 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.HashMap
;
import
java.util.List
;
/**
...
...
@@ -111,4 +113,6 @@ public interface TSettleDomainMapper extends BaseMapper<TSettleDomain> {
void
changeIssueStatus
(
@Param
(
"changeIssueStatusVo"
)
ChangeIssueStatusVo
changeIssueStatusVo
);
List
<
TSettleDomain
>
getAllInfoMap
();
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TCutsomerDataPermissonService.java
View file @
a2ebb69d
...
...
@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TCutsomerDataPermisson
;
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.core.vo.YifuUser
;
import
java.io.InputStream
;
import
java.util.List
;
/**
...
...
@@ -43,4 +45,6 @@ public interface TCutsomerDataPermissonService extends IService<TCutsomerDataPer
* @return
**/
R
<
String
>
insertForCopyCutsomerDataPermisson
(
String
[]
srcUserList
,
String
[]
beUser
,
YifuUser
user
);
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TCutsomerDataPermissonServiceImpl.java
View file @
a2ebb69d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.alibaba.excel.read.metadata.holder.ReadRowHolder
;
import
com.alibaba.excel.util.ListUtils
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TCutsomerDataPermisson
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TCutsomerDataPermissonMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TSettleDomainMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TCutsomerDataPermissonService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.DataPermissionImportVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.shardingsphere.transaction.annotation.ShardingTransactionType
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.InputStream
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -32,9 +48,15 @@ import java.util.*;
@Service
@RequiredArgsConstructor
@EnableConfigurationProperties
(
DaprUpmsProperties
.
class
)
@AllArgsConstructor
@Slf4j
public
class
TCutsomerDataPermissonServiceImpl
extends
ServiceImpl
<
TCutsomerDataPermissonMapper
,
TCutsomerDataPermisson
>
implements
TCutsomerDataPermissonService
{
@Autowired
private
UpmsDaprUtils
upmsDaprUtils
;
@Autowired
private
TSettleDomainMapper
domainMapper
;
@Autowired
private
RedisUtil
redisUtil
;
/**
* 客户数据权限表简单分页查询
*
...
...
@@ -118,4 +140,176 @@ public class TCutsomerDataPermissonServiceImpl extends ServiceImpl<TCutsomerData
public
boolean
save
(
TCutsomerDataPermisson
cutsomerDataPermisson
){
return
super
.
save
(
cutsomerDataPermisson
);
}
/**
* @Author fxj
* @Description 批量导入项目权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ShardingTransactionType
(
TransactionType
.
BASE
)
@Override
public
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
ExcelUtil
<
DataPermissionImportVo
>
util1
=
new
ExcelUtil
<>(
DataPermissionImportVo
.
class
);
List
<
TSettleDomain
>
settleDomains
=
domainMapper
.
getAllInfoMap
();
Map
<
String
,
TSettleDomain
>
domainMap
=
null
;
if
(
Common
.
isNotNull
(
settleDomains
)){
domainMap
=
settleDomains
.
stream
().
collect
(
Collectors
.
toMap
(
k
->
k
.
getDepartNo
(),
k
->
k
));
}
if
(
Common
.
isEmpty
(
domainMap
)){
domainMap
=
new
HashMap
<>();
}
Map
<
String
,
SysUser
>
userMap
=
new
HashMap
<>();
Map
<
String
,
String
>
existMap
=
new
HashMap
<>();
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
Map
<
String
,
TSettleDomain
>
finalDomainMap
=
domainMap
;
EasyExcel
.
read
(
inputStream
,
DataPermissionImportVo
.
class
,
new
ReadListener
<
DataPermissionImportVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
DataPermissionImportVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
@Override
public
void
invoke
(
DataPermissionImportVo
data
,
AnalysisContext
context
)
{
ReadRowHolder
readRowHolder
=
context
.
readRowHolder
();
Integer
rowIndex
=
readRowHolder
.
getRowIndex
();
data
.
setRowIndex
(
rowIndex
+
1
);
ErrorMessage
errorMessage
=
util1
.
checkEntity
(
data
,
data
.
getRowIndex
());
if
(
Common
.
isNotNull
(
errorMessage
)){
errorMessage
.
setData
(
data
);
errorMessageList
.
add
(
errorMessage
);
}
else
{
cachedDataList
.
add
(
data
);
}
if
(
cachedDataList
.
size
()
>=
BATCH_COUNT
)
{
saveData
();
// 存储完成清理 list
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
saveData
();
}
/**
* 加上存储数据库
*/
private
void
saveData
()
{
log
.
info
(
"{}条数据,开始存储数据库!"
,
cachedDataList
.
size
());
importEntity
(
cachedDataList
,
errorMessageList
,
finalDomainMap
,
userMap
,
existMap
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
){
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
finally
{
// 清理
domainMap
.
clear
();
}
return
judgeAllMessage
(
errorMessageList
);
}
/**
* @Author fxj
* @Description 判断所有返回数据,是否全部为正确的
* @Date 18:01 2023/10/18
* @Param
* @return
**/
private
R
<
List
<
ErrorMessage
>>
judgeAllMessage
(
List
<
ErrorMessage
>
errorMessageList
)
{
if
(!
errorMessageList
.
isEmpty
()
&&
errorMessageList
.
stream
().
noneMatch
(
e
->
e
.
getColor
().
equals
(
CommonConstants
.
RED
)))
{
return
R
.
ok
();
}
return
R
.
ok
(
errorMessageList
);
}
private
void
importEntity
(
List
<
DataPermissionImportVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
TSettleDomain
>
domainMap
,
Map
<
String
,
SysUser
>
userMap
,
Map
<
String
,
String
>
existMap
)
{
// 执行数据插入操作 组装
TCutsomerDataPermisson
permission
=
null
;
SysUser
user
;
R
<
SysUser
>
res
;
TSettleDomain
domain
;
TCutsomerDataPermisson
exist
;
String
temp
;
DataPermissionImportVo
excel
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
excel
=
excelVOList
.
get
(
i
);
// 数据合法情况
user
=
userMap
.
get
(
excel
.
getUserLoginName
());
// 用户信息验证
if
(
Common
.
isEmpty
(
user
)){
res
=
upmsDaprUtils
.
getSimpleUserByLoginName
(
excel
.
getUserLoginName
());
if
(
Common
.
isNotNull
(
res
)
&&
Common
.
isNotNull
(
res
.
getData
())){
user
=
res
.
getData
();
userMap
.
put
(
user
.
getUsername
(),
user
);
}
else
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
USER_FAIL
,
excel
));
continue
;
}
}
if
(
Common
.
isEmpty
(
user
.
getDeptName
())){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应登录账号无部门信息,请完善后导入"
,
excel
));
continue
;
}
// 项目信息验证
domain
=
domainMap
.
get
(
excel
.
getSettleDomainNo
());
if
(
Common
.
isEmpty
(
domain
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SETTLE_DOMAIN_NOT_EXIST
,
excel
));
continue
;
}
// 重复校验
temp
=
existMap
.
get
(
excel
.
getUserLoginName
()+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getSettleDomainNo
());
if
(
Common
.
isNotNull
(
temp
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
else
{
exist
=
baseMapper
.
selectOne
(
Wrappers
.<
TCutsomerDataPermisson
>
query
().
lambda
()
.
eq
(
TCutsomerDataPermisson:
:
getSettleDomainNo
,
excel
.
getSettleDomainNo
())
.
eq
(
TCutsomerDataPermisson:
:
getUserLoginName
,
excel
.
getUserLoginName
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
Common
.
isNotNull
(
exist
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
}
// 初始化及新增数据
permission
=
new
TCutsomerDataPermisson
();
permission
.
setType
(
CommonConstants
.
ONE_STRING
);
permission
.
setSettleDomainId
(
domain
.
getId
());
permission
.
setRemark
(
"批量授权"
);
permission
.
setSettleDomainName
(
domain
.
getDepartName
());
permission
.
setSettleDomainNo
(
domain
.
getDepartNo
());
permission
.
setStatus
(
CommonConstants
.
ZERO_STRING
);
permission
.
setUserId
(
user
.
getUserId
());
permission
.
setUserDeptName
(
user
.
getDeptName
());
permission
.
setUserLoginName
(
user
.
getUsername
());
permission
.
setUserNickName
(
user
.
getNickname
());
insertExcel
(
permission
);
// 加入map 验证当前表单数据是否重复
existMap
.
put
(
excel
.
getUserLoginName
()+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getSettleDomainNo
(),
excel
.
getSettleDomainNo
());
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
,
CommonConstants
.
GREEN
,
excel
));
// 清理缓存
redisUtil
.
remove
(
CacheConstants
.
WXHR_SETTLE_DOMAIN_VOS_BY_USERID
+
"_"
+
user
.
getUserId
());
redisUtil
.
remove
(
CacheConstants
.
WXHR_SETTLE_DOMAIN_NOS_BY_USERID
+
"_"
+
user
.
getUserId
());
}
}
/**
* 插入excel bad record
*/
private
void
insertExcel
(
TCutsomerDataPermisson
entity
)
{
this
.
save
(
entity
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java
View file @
a2ebb69d
...
...
@@ -1418,6 +1418,12 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
if
(
Common
.
isNotNull
(
vo
.
getHighEducation
()))
{
employee
.
setHignEducation
(
vo
.
getHighEducation
());
}
if
(
Common
.
isNotNull
(
vo
.
getSchoolName
())){
employee
.
setSchool
(
vo
.
getSchoolName
());
}
if
(
Common
.
isNotNull
(
vo
.
getMajor
())){
employee
.
setMajor
(
vo
.
getMajor
());
}
}
tEmployeeInfoMapper
.
updateSocialInfoById
(
employee
);
}
...
...
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeInfoMapper.xml
View file @
a2ebb69d
...
...
@@ -1140,6 +1140,8 @@
<if
test=
"tEmployeeInfo.socialStatus != null"
>
SOCIAL_STATUS=#{tEmployeeInfo.socialStatus},
</if>
<if
test=
"tEmployeeInfo.fundStatus != null"
>
FUND_STATUS=#{tEmployeeInfo.fundStatus},
</if>
<if
test=
"tEmployeeInfo.hignEducation != null"
>
HIGN_EDUCATION=#{tEmployeeInfo.hignEducation},
</if>
<if
test=
"tEmployeeInfo.school != null"
>
SCHOOL=#{tEmployeeInfo.school},
</if>
<if
test=
"tEmployeeInfo.major != null"
>
MAJOR=#{tEmployeeInfo.major},
</if>
<if
test=
"tEmployeeInfo.contactAddress != null"
>
CONTACT_ADDRESS=#{tEmployeeInfo.contactAddress},
</if>
<if
test=
"tEmployeeInfo.isCollege != null"
>
IS_COLLEGE='1',
</if>
<if
test=
"tEmployeeInfo.fileProvince != null"
>
a.FILE_PROVINCE=#{tEmployeeInfo.fileProvince},
</if>
...
...
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TSettleDomainMapper.xml
View file @
a2ebb69d
...
...
@@ -510,4 +510,11 @@
set a.ISSUE_STATUS=#{changeIssueStatusVo.issueStatus}
WHERE a.ID=#{changeIssueStatusVo.id}
</update>
<select
id=
"getAllInfoMap"
resultMap=
"tSettleDomainMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM
t_settle_domain a
where a.DELETE_FLAG = '0'
</select>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/constant/CacheConstants.java
View file @
a2ebb69d
...
...
@@ -154,6 +154,8 @@ public interface CacheConstants {
String
PAYMENT_PRE_DISPATCH_BATCH_ADD_IMPORT
=
"payment_pre_dispatch_batch_add_import"
;
String
INSURANCE_BATCH_UPDATE_IMPORT
=
"insurance_batch_update_import"
;
String
DISPATCH_BATCH_AUDIT
=
"dispatch_batch_audit"
;
String
DISPATCH_BATCH_HANDLED
=
"dispatch_batch_handled"
;
...
...
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/constant/CommonConstants.java
View file @
a2ebb69d
...
...
@@ -532,6 +532,8 @@ public interface CommonConstants {
String
SETTLE_DOMAIN_GET_ERROR
=
"获取结算主体信息失败!"
;
String
SETTLE_DOMAIN_NOT_EXIST
=
"无对应项目信息"
;
/**
* c端机构节点 code
* @Author hgw
...
...
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/util/ExcelUtil.java
View file @
a2ebb69d
...
...
@@ -475,6 +475,10 @@ public class ExcelUtil <T> implements Serializable {
return
(
String
)
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_LABEL
+
c
);
}
public
String
getAreaLabelPublic
(
String
c
)
{
return
(
String
)
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_LABEL
+
c
);
}
private
String
getAreaValue
(
String
c
,
String
tempStr
,
ExcelAttribute
attr
,
Integer
rowNum
,
ErrorMessage
errorTemp
)
{
tempStr
=
String
.
valueOf
(
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_VALUE
+
c
));
if
(
Common
.
isEmpty
(
tempStr
)){
...
...
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/util/UpmsDaprUtils.java
View file @
a2ebb69d
...
...
@@ -90,4 +90,12 @@ public class UpmsDaprUtils {
}
return
userR
;
}
public
R
<
SysUser
>
getSimpleUserByLoginName
(
String
loginName
)
{
R
<
SysUser
>
userR
=
HttpDaprUtil
.
invokeMethodPost
(
daprUpmsProperties
.
getAppUrl
(),
daprUpmsProperties
.
getAppId
(),
"/user/inner/getSimpleUserByLoginName"
,
loginName
,
SysUser
.
class
,
SecurityConstants
.
FROM_IN
);
if
(
Common
.
isEmpty
(
userR
)){
return
R
.
failed
(
"获取所有用户数据失败!"
);
}
return
userR
;
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TInsuranceDetailController.java
View file @
a2ebb69d
...
...
@@ -2,7 +2,10 @@ package com.yifu.cloud.plus.v1.yifu.insurances.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
...
...
@@ -310,7 +313,30 @@ public class TInsuranceDetailController {
@PostMapping
(
"/registeredPolicyPremium"
)
@PreAuthorize
(
"@pms.hasPermission('handle_insure_cost')"
)
public
R
<
List
<
InsuranceRegisterParam
>>
registeredPolicyPremium
(
@RequestBody
@Valid
@Size
(
min
=
1
,
message
=
"集合不能为空"
)
List
<
InsuranceRegisterParam
>
paramList
){
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
Common
.
isEmpty
(
user
)){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
// 获取redis分布式事务锁
String
key
=
CacheConstants
.
INSURANCE_BATCH_UPDATE_IMPORT
+
CommonConstants
.
DOWN_LINE_STRING
+
user
.
getId
();
String
requestId
;
try
{
requestId
=
RedisDistributedLock
.
getLock
(
key
,
"10"
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
ResultConstants
.
NO_GETLOCK_DATA
+
CommonConstants
.
DOWN_LINE_STRING
+
e
.
getMessage
());
}
try
{
if
(
Common
.
isNotNull
(
requestId
))
{
//主动释放锁
return
tInsuranceDetailService
.
registeredPolicyPremium
(
paramList
);
}
else
{
return
R
.
failed
(
ResultConstants
.
NO_GETLOCK_DATA
);
}
}
finally
{
//主动释放锁
RedisDistributedLock
.
unlock
(
key
,
requestId
);
}
}
/**
...
...
@@ -324,7 +350,30 @@ public class TInsuranceDetailController {
@PostMapping
(
"/registeredInvoiceNo"
)
@PreAuthorize
(
"@pms.hasPermission('handle_insure_invoice')"
)
public
R
<
List
<
InsuranceRegisterInvoiceNoParam
>>
registeredInvoiceNo
(
@RequestBody
@Valid
@Size
(
min
=
1
,
message
=
"集合不能为空"
)
List
<
InsuranceRegisterInvoiceNoParam
>
paramList
){
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
Common
.
isEmpty
(
user
)){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
// 获取redis分布式事务锁
String
key
=
CacheConstants
.
INSURANCE_BATCH_UPDATE_IMPORT
+
CommonConstants
.
DOWN_LINE_STRING
+
user
.
getId
();
String
requestId
;
try
{
requestId
=
RedisDistributedLock
.
getLock
(
key
,
"10"
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
ResultConstants
.
NO_GETLOCK_DATA
+
CommonConstants
.
DOWN_LINE_STRING
+
e
.
getMessage
());
}
try
{
if
(
Common
.
isNotNull
(
requestId
))
{
//主动释放锁
return
tInsuranceDetailService
.
registeredInvoiceNo
(
paramList
);
}
else
{
return
R
.
failed
(
ResultConstants
.
NO_GETLOCK_DATA
);
}
}
finally
{
//主动释放锁
RedisDistributedLock
.
unlock
(
key
,
requestId
);
}
}
/**
...
...
yifu-permission/yifu-permission-api/src/main/java/com/yifu/cloud/plus/v1/yifu/permission/entity/SysMenu.java
View file @
a2ebb69d
...
...
@@ -133,6 +133,12 @@ public class SysMenu extends BaseEntity {
@Schema
(
description
=
"部门权限id"
)
private
String
deptId
;
/**
* 二级指标归属id
*/
@Schema
(
description
=
"二级指标归属id"
)
private
String
twoLevelId
;
/**
* 权限idList
*/
...
...
yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/mapper/SysUserPermissionMapper.java
View file @
a2ebb69d
...
...
@@ -109,6 +109,14 @@ public interface SysUserPermissionMapper extends BaseMapper<SysUserPermission> {
*/
IPage
<
SysUserDeptVo
>
selectDeptVO
(
Page
<
SysUserDeptVo
>
page
,
@Param
(
"name"
)
String
name
);
/**
* 根据名称或者编码查询数据
* 二级指标归属权限
* @param name 名称
* @return
*/
IPage
<
SysUserDeptVo
>
selectTwoGsVO
(
Page
<
SysUserDeptVo
>
page
,
@Param
(
"name"
)
String
name
);
/**
* 根据类型查询字典值
*
...
...
@@ -181,6 +189,14 @@ public interface SysUserPermissionMapper extends BaseMapper<SysUserPermission> {
*/
Integer
selectDeptCount
(
@Param
(
"name"
)
String
name
);
/**
* 根据名称或者编码查询数据
* 部门&&收入归属权限
* @param name 名称
* @return
*/
Integer
selectTwoGsCount
(
@Param
(
"name"
)
String
name
);
/**
* @param userId
* @Description: 查找当前用户的所有权限
...
...
yifu-permission/yifu-permission-biz/src/main/java/com/yifu/cloud/plus/v1/permission/service/impl/SysUserPermissionServiceImpl.java
View file @
a2ebb69d
...
...
@@ -163,6 +163,9 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM
}
else
if
(
CommonConstants
.
EIGHT_STRING
.
equals
(
searchVo
.
getType
())
||
CommonConstants
.
NINE_STRING
.
equals
(
searchVo
.
getType
()))
{
//部门&&收入归属权限
iPage
=
baseMapper
.
selectDeptVO
(
page
,
searchVo
.
getName
());
}
else
if
(
CommonConstants
.
TEN_STRING
.
equals
(
searchVo
.
getType
())
)
{
//二级指标归属权限
iPage
=
baseMapper
.
selectTwoGsVO
(
page
,
searchVo
.
getName
());
}
else
{
//项目权限
if
(
Common
.
isNotNull
(
user
.
getId
())
&&
CommonConstants
.
ZERO_STRING
.
equals
(
user
.
getSystemFlag
()))
{
...
...
@@ -305,7 +308,8 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM
flag
.
append
(
insert
.
getPermissionType
());
flag
.
append
(
"_"
);
if
(
CommonConstants
.
SIX_STRING
.
equals
(
insert
.
getPermissionType
())
||
CommonConstants
.
SEVEN_STRING
.
equals
(
insert
.
getPermissionType
()))
{
CommonConstants
.
SEVEN_STRING
.
equals
(
insert
.
getPermissionType
())
||
CommonConstants
.
TEN_STRING
.
equals
(
insert
.
getPermissionType
()))
{
flag
.
append
(
excel
.
getName
());
}
else
{
flag
.
append
(
excel
.
getCode
());
...
...
@@ -317,14 +321,17 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM
uniqueMap
.
put
(
flag
.
toString
(),
CommonConstants
.
ONE_STRING
);
}
//BU
和条线
的时候用名称判断,其他用编码判断
//BU
、条线、二级指标归属
的时候用名称判断,其他用编码判断
//判断此登录名是否已经存在此权限维度
if
(
CommonConstants
.
SIX_STRING
.
equals
(
insert
.
getPermissionType
())
||
CommonConstants
.
SEVEN_STRING
.
equals
(
insert
.
getPermissionType
()))
{
||
CommonConstants
.
SEVEN_STRING
.
equals
(
insert
.
getPermissionType
())
||
CommonConstants
.
TEN_STRING
.
equals
(
insert
.
getPermissionType
()))
{
//判断对应维度的名称是否存在
Integer
count
;
if
(
CommonConstants
.
SIX_STRING
.
equals
(
insert
.
getPermissionType
()))
{
count
=
baseMapper
.
selectDictByName
(
excel
.
getName
(),
"bu"
);
}
else
if
(
CommonConstants
.
TEN_STRING
.
equals
(
insert
.
getPermissionType
()))
{
count
=
baseMapper
.
selectTwoGsCount
(
excel
.
getName
());
}
else
{
count
=
baseMapper
.
selectDictByName
(
excel
.
getName
(),
"line"
);
}
...
...
yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysMenuMapper.xml
View file @
a2ebb69d
...
...
@@ -22,6 +22,7 @@
<result
property=
"buId"
column=
"BU_ID"
/>
<result
property=
"lineId"
column=
"LINE_ID"
/>
<result
property=
"deptId"
column=
"DEPT_ID"
/>
<result
property=
"twoLevelId"
column=
"TWO_LEVEL_ID"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
...
...
@@ -50,6 +51,7 @@
a.LINE_ID,
a.DEPT_ID,
a.IS_OPEN,
a.TWO_LEVEL_ID,
a.VIEW_ID,
a.CREATE_TIME,
a.TABLE_NAME,
...
...
yifu-permission/yifu-permission-biz/src/main/resources/mapper/SysUserPermissionMapper.xml
View file @
a2ebb69d
...
...
@@ -207,6 +207,16 @@
</if>
</select>
<select
id=
"selectTwoGsVO"
resultMap=
"nameAndCodeMap"
>
SELECT
a.fd_3b1235d8f35c6c name
from ekp_793f0c590104b7ebd460 a
where 1 = 1
<if
test=
"name != null and name.trim() != ''"
>
AND a.fd_3b1235d8f35c6c like concat('%',#{name},'%')
</if>
</select>
<!--根据部门编码查询id-->
<select
id=
"selectSettleByCode"
resultType=
"java.lang.String"
>
SELECT
...
...
@@ -281,6 +291,13 @@
where a.fd_is_available = '1' and fd_org_type = 2 and a.fd_no = #{name}
</select>
<select
id=
"selectTwoGsCount"
resultType=
"java.lang.Integer"
>
SELECT
count(1)
from ekp_793f0c590104b7ebd460 a
where a.fd_3b1235d8f35c6c = #{name}
</select>
<!-- 查找当前用户的所有权限 -->
<select
id=
"getUserPermissionByUserId"
resultMap=
"sysUserPermissionMap"
>
select
...
...
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TSalaryEmpModLog.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@Data
@TableName
(
"t_salary_emp_mod_log"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"薪资人员档案变更记录"
)
public
class
TSalaryEmpModLog
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* content
*/
@ExcelAttribute
(
name
=
"content"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"content不能超过50个字符"
)
@ExcelProperty
(
"content"
)
@Schema
(
description
=
"content"
)
private
String
content
;
/**
* 0编辑、1批量更新、2EKP变更银行卡号
*/
@ExcelAttribute
(
name
=
"0编辑、1批量更新、2EKP变更银行卡号"
,
isNotEmpty
=
true
,
errorInfo
=
"0编辑、1批量更新、2EKP变更银行卡号不能为空"
,
maxLength
=
1
)
@NotBlank
(
message
=
"0编辑、1批量更新、2EKP变更银行卡号不能为空"
)
@Length
(
max
=
1
,
message
=
"0编辑、1批量更新、2EKP变更银行卡号不能超过1个字符"
)
@ExcelProperty
(
"0编辑、1批量更新、2EKP变更银行卡号"
)
@Schema
(
description
=
"0编辑、1批量更新、2EKP变更银行卡号"
)
private
String
type
;
/**
* idNum
*/
@ExcelAttribute
(
name
=
"idNum"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"idNum不能超过20个字符"
)
@ExcelProperty
(
"idNum"
)
@Schema
(
description
=
"idNum"
)
private
String
idNum
;
/**
* parentId
*/
@ExcelAttribute
(
name
=
"parentId"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"parentId不能超过32个字符"
)
@ExcelProperty
(
"parentId"
)
@Schema
(
description
=
"parentId"
)
private
String
parentId
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryEmpModLogSearchVo.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@Data
public
class
TSalaryEmpModLogSearchVo
extends
TSalaryEmpModLog
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
//开始时间(查询专用)
@ExcelAttribute
(
name
=
"创建开始时间"
)
@TableField
(
exist
=
false
)
private
LocalDateTime
createTimeStart
;
//截止时间(查询专用)
@ExcelAttribute
(
name
=
"创建截止时间"
)
@TableField
(
exist
=
false
)
private
LocalDateTime
createTimeEnd
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryEmpModLogVo.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@Data
public
class
TSalaryEmpModLogVo
extends
RowIndex
implements
Serializable
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@NotBlank
(
message
=
"id 不能为空"
)
@Length
(
max
=
32
,
message
=
"id 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"id"
,
isNotEmpty
=
true
,
errorInfo
=
"id 不能为空"
,
maxLength
=
32
)
@Schema
(
description
=
"id"
)
@ExcelProperty
(
"id"
)
private
String
id
;
/**
* content
*/
@Length
(
max
=
50
,
message
=
"content 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"content"
,
maxLength
=
50
)
@Schema
(
description
=
"content"
)
@ExcelProperty
(
"content"
)
private
String
content
;
/**
* 0编辑、1批量更新、2EKP变更银行卡号
*/
@NotBlank
(
message
=
"0编辑、1批量更新、2EKP变更银行卡号 不能为空"
)
@Length
(
max
=
1
,
message
=
"0编辑、1批量更新、2EKP变更银行卡号 不能超过1 个字符"
)
@ExcelAttribute
(
name
=
"0编辑、1批量更新、2EKP变更银行卡号"
,
isNotEmpty
=
true
,
errorInfo
=
"0编辑、1批量更新、2EKP变更银行卡号 不能为空"
,
maxLength
=
1
)
@Schema
(
description
=
"0编辑、1批量更新、2EKP变更银行卡号"
)
@ExcelProperty
(
"0编辑、1批量更新、2EKP变更银行卡号"
)
private
String
type
;
/**
* idNum
*/
@Length
(
max
=
20
,
message
=
"idNum 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"idNum"
,
maxLength
=
20
)
@Schema
(
description
=
"idNum"
)
@ExcelProperty
(
"idNum"
)
private
String
idNum
;
/**
* parentId
*/
@Length
(
max
=
32
,
message
=
"parentId 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"parentId"
,
maxLength
=
32
)
@Schema
(
description
=
"parentId"
)
@ExcelProperty
(
"parentId"
)
private
String
parentId
;
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/TSalaryEmpModLogController.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmpModLogService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpModLogSearchVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tsalaryempmodlog"
)
@Tag
(
name
=
"薪资人员档案变更记录管理"
)
public
class
TSalaryEmpModLogController
{
private
final
TSalaryEmpModLogService
tSalaryEmpModLogService
;
/**
* 简单分页查询
* @param page 分页对象
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TSalaryEmpModLog
>>
getTSalaryEmpModLogPage
(
Page
<
TSalaryEmpModLog
>
page
,
TSalaryEmpModLogSearchVo
tSalaryEmpModLog
)
{
return
new
R
<>(
tSalaryEmpModLogService
.
getTSalaryEmpModLogPage
(
page
,
tSalaryEmpModLog
));
}
/**
* 不分页查询
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TSalaryEmpModLog
>>
getTSalaryEmpModLogNoPage
(
@RequestBody
TSalaryEmpModLogSearchVo
tSalaryEmpModLog
)
{
return
R
.
ok
(
tSalaryEmpModLogService
.
noPageDiy
(
tSalaryEmpModLog
));
}
/**
* 通过id查询薪资人员档案变更记录
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('demo_tsalaryempmodlog_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tsalaryempmodlog_get')"
)
public
R
<
TSalaryEmpModLog
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tSalaryEmpModLogService
.
getById
(
id
));
}
/**
* 新增薪资人员档案变更记录
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return R
*/
@Operation
(
summary
=
"新增薪资人员档案变更记录"
,
description
=
"新增薪资人员档案变更记录:hasPermission('demo_tsalaryempmodlog_add')"
)
@SysLog
(
"新增薪资人员档案变更记录"
)
@PostMapping
public
R
<
Boolean
>
save
(
@RequestBody
TSalaryEmpModLog
tSalaryEmpModLog
)
{
return
R
.
ok
(
tSalaryEmpModLogService
.
save
(
tSalaryEmpModLog
));
}
/**
* 修改薪资人员档案变更记录
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return R
*/
@Operation
(
summary
=
"修改薪资人员档案变更记录"
,
description
=
"修改薪资人员档案变更记录:hasPermission('demo_tsalaryempmodlog_edit')"
)
@SysLog
(
"修改薪资人员档案变更记录"
)
@PutMapping
public
R
<
Boolean
>
updateById
(
@RequestBody
TSalaryEmpModLog
tSalaryEmpModLog
)
{
return
R
.
ok
(
tSalaryEmpModLogService
.
updateById
(
tSalaryEmpModLog
));
}
/**
* 通过id删除薪资人员档案变更记录
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除薪资人员档案变更记录"
,
description
=
"通过id删除薪资人员档案变更记录:hasPermission('demo_tsalaryempmodlog_del')"
)
@SysLog
(
"通过id删除薪资人员档案变更记录"
)
@DeleteMapping
(
"/{id}"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tSalaryEmpModLogService
.
removeById
(
id
));
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/TSalaryEmployeeController.java
View file @
a2ebb69d
...
...
@@ -128,7 +128,7 @@ public class TSalaryEmployeeController {
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('salary_tsalaryemployee_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TSalaryEmployee
tSalaryEmployee
)
{
return
R
.
ok
(
tSalaryEmployeeService
.
updateById
(
tSalaryEmployee
)
);
return
tSalaryEmployeeService
.
updateByIdDiy
(
tSalaryEmployee
);
}
/**
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TSalaryEmpModLogMapper.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpModLogSearchVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@Mapper
public
interface
TSalaryEmpModLogMapper
extends
BaseMapper
<
TSalaryEmpModLog
>
{
/**
* 薪资人员档案变更记录简单分页查询
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return
*/
IPage
<
TSalaryEmpModLog
>
getTSalaryEmpModLogPage
(
Page
<
TSalaryEmpModLog
>
page
,
@Param
(
"tSalaryEmpModLog"
)
TSalaryEmpModLogSearchVo
tSalaryEmpModLog
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryEmpModLogService.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpModLogSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
public
interface
TSalaryEmpModLogService
extends
IService
<
TSalaryEmpModLog
>
{
/**
* 薪资人员档案变更记录简单分页查询
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return
*/
IPage
<
TSalaryEmpModLog
>
getTSalaryEmpModLogPage
(
Page
<
TSalaryEmpModLog
>
page
,
TSalaryEmpModLogSearchVo
tSalaryEmpModLog
);
List
<
TSalaryEmpModLog
>
noPageDiy
(
TSalaryEmpModLogSearchVo
searchVo
);
void
initModLog
(
TSalaryEmployee
newEntity
,
TSalaryEmployee
oldEntity
,
String
type
,
String
userName
,
ExcelUtil
<
TSalaryEmployee
>
util
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryEmployeeService.java
View file @
a2ebb69d
...
...
@@ -123,4 +123,7 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
R
updateEmployeeFromEkp
(
TSalaryEmployeeEkpUpdateVo
vo
);
List
<
TSalaryEmpRosterVo
>
getSalaryEmpRoster
(
List
<
String
>
idCardList
);
R
<
Boolean
>
updateByIdDiy
(
TSalaryEmployee
tSalaryEmployee
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryEmpModLogServiceImpl.java
0 → 100644
View file @
a2ebb69d
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
service
.
impl
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.esotericsoftware.minlog.Log
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryEmpModLogMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmpModLogService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpModLogSearchVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 薪资人员档案变更记录
*
* @author fxj
* @date 2023-10-11 17:48:31
*/
@Log4j2
@Service
public
class
TSalaryEmpModLogServiceImpl
extends
ServiceImpl
<
TSalaryEmpModLogMapper
,
TSalaryEmpModLog
>
implements
TSalaryEmpModLogService
{
/**
* 薪资人员档案变更记录简单分页查询
* @param tSalaryEmpModLog 薪资人员档案变更记录
* @return
*/
@Override
public
IPage
<
TSalaryEmpModLog
>
getTSalaryEmpModLogPage
(
Page
<
TSalaryEmpModLog
>
page
,
TSalaryEmpModLogSearchVo
tSalaryEmpModLog
){
return
baseMapper
.
getTSalaryEmpModLogPage
(
page
,
tSalaryEmpModLog
);
}
@Override
public
List
<
TSalaryEmpModLog
>
noPageDiy
(
TSalaryEmpModLogSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TSalaryEmpModLog
>
wrapper
=
buildQueryWrapper
(
searchVo
);
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
)){
wrapper
.
in
(
TSalaryEmpModLog:
:
getId
,
idList
);
}
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
){
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
return
baseMapper
.
selectList
(
wrapper
);
}
/**
* @Author fxj
* @Description 记录变更日志
* @Date 17:59 2023/10/24
* @Param type 0 编辑 1 批量更新 3 EKP 更新
* @return
**/
@Override
public
void
initModLog
(
TSalaryEmployee
newEntity
,
TSalaryEmployee
oldEntity
,
String
type
,
String
userName
,
ExcelUtil
<
TSalaryEmployee
>
util
)
{
if
(
Common
.
isNotNull
(
newEntity
)
&&
Common
.
isNotNull
(
oldEntity
)){
TSalaryEmpModLog
log
=
new
TSalaryEmpModLog
();
log
.
setIdNum
(
newEntity
.
getEmpIdcard
());
log
.
setParentId
(
newEntity
.
getId
());
log
.
setType
(
type
);
log
.
setCreateName
(
userName
);
StringBuilder
str
=
new
StringBuilder
();
//编辑
if
(
Common
.
isEmpty
(
util
)){
util
=
new
ExcelUtil
<>(
TSalaryEmployee
.
class
);
}
extracted
(
newEntity
,
oldEntity
,
str
);
//计税月份
if
(
Common
.
isNotNull
(
newEntity
.
getTaxMonth
())
&&
!
oldEntity
.
getTaxMonth
().
equals
(
newEntity
.
getTaxMonth
())){
str
.
append
(
"计税月份:"
);
str
.
append
(
oldEntity
.
getTaxMonth
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getTaxMonth
());
str
.
append
(
" "
);
}
//开户行省
if
(
Common
.
isNotNull
(
newEntity
.
getBankProvince
())
&&
!
oldEntity
.
getBankProvince
().
equals
(
newEntity
.
getBankProvince
())){
str
.
append
(
"开户行省:"
);
str
.
append
(
Common
.
isEmpty
(
oldEntity
.
getBankProvince
())?
""
:
util
.
getAreaLabelPublic
(
oldEntity
.
getBankProvince
()));
str
.
append
(
"->"
);
str
.
append
(
Common
.
isEmpty
(
newEntity
.
getBankProvince
())?
""
:
util
.
getAreaLabelPublic
(
newEntity
.
getBankProvince
()));
str
.
append
(
" "
);
}
//开户行市
if
(
Common
.
isNotNull
(
newEntity
.
getBankCity
())
&&
!
oldEntity
.
getBankCity
().
equals
(
newEntity
.
getBankCity
())){
str
.
append
(
"开户行市:"
);
str
.
append
(
Common
.
isEmpty
(
oldEntity
.
getBankCity
())?
""
:
util
.
getAreaLabelPublic
(
oldEntity
.
getBankCity
()));
str
.
append
(
"->"
);
str
.
append
(
Common
.
isEmpty
(
newEntity
.
getBankCity
())?
""
:
util
.
getAreaLabelPublic
(
newEntity
.
getBankCity
()));
str
.
append
(
" "
);
}
log
.
setContent
(
str
.
toString
());
Log
.
error
(
"薪资人员变更记录表:"
+
str
.
toString
());
if
(
Common
.
isNotNull
(
log
.
getContent
())){
baseMapper
.
insert
(
log
);
}
}
}
private
void
extracted
(
TSalaryEmployee
newEntity
,
TSalaryEmployee
oldEntity
,
StringBuilder
str
)
{
//姓名
if
(
Common
.
isNotNull
(
newEntity
.
getEmpName
())
&&
!
oldEntity
.
getEmpName
().
equals
(
newEntity
.
getEmpName
())){
str
.
append
(
"员工姓名:"
);
str
.
append
(
oldEntity
.
getEmpName
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getEmpName
());
str
.
append
(
" "
);
}
//开户行
if
(
Common
.
isNotNull
(
newEntity
.
getBankName
())
&&
!
oldEntity
.
getBankName
().
equals
(
newEntity
.
getBankName
())){
str
.
append
(
"开户行:"
);
str
.
append
(
oldEntity
.
getBankName
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getBankName
());
str
.
append
(
" "
);
}
//银行卡号
if
(
Common
.
isNotNull
(
newEntity
.
getBankNo
())
&&
!
oldEntity
.
getBankNo
().
equals
(
newEntity
.
getBankNo
())){
str
.
append
(
"银行卡号:"
);
str
.
append
(
oldEntity
.
getBankNo
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getBankNo
());
str
.
append
(
" "
);
}
//开户行支行
if
((
Common
.
isEmpty
(
oldEntity
.
getBankSubName
())
&&
Common
.
isNotNull
(
newEntity
.
getBankSubName
()))
||
(
Common
.
isNotNull
(
newEntity
.
getBankSubName
())
&&
!
newEntity
.
getBankSubName
().
equals
(
oldEntity
.
getBankSubName
()))){
str
.
append
(
"开户行支行:"
);
str
.
append
(
oldEntity
.
getBankSubName
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getBankSubName
());
str
.
append
(
" "
);
}
//在职状态
if
(
Common
.
isNotNull
(
newEntity
.
getFileStatus
())
&&
!
oldEntity
.
getFileStatus
().
equals
(
newEntity
.
getFileStatus
())){
str
.
append
(
"在职状态:"
);
str
.
append
(
CommonConstants
.
ZERO_STRING
.
equals
(
oldEntity
.
getFileStatus
())?
"在职"
:
"离职"
);
str
.
append
(
"->"
);
str
.
append
(
CommonConstants
.
ZERO_STRING
.
equals
(
newEntity
.
getFileStatus
())?
"在职"
:
"离职"
);
str
.
append
(
" "
);
}
//手机号码
if
(
Common
.
isNotNull
(
newEntity
.
getEmpPhone
())
&&
!
oldEntity
.
getEmpPhone
().
equals
(
newEntity
.
getEmpPhone
())){
str
.
append
(
"手机号码:"
);
str
.
append
(
oldEntity
.
getEmpPhone
());
str
.
append
(
"->"
);
str
.
append
(
newEntity
.
getEmpPhone
());
str
.
append
(
" "
);
}
}
private
LambdaQueryWrapper
buildQueryWrapper
(
TSalaryEmpModLogSearchVo
entity
){
LambdaQueryWrapper
<
TSalaryEmpModLog
>
wrapper
=
Wrappers
.
lambdaQuery
();
if
(
ArrayUtil
.
isNotEmpty
(
entity
.
getCreateTimes
()))
{
wrapper
.
ge
(
TSalaryEmpModLog:
:
getCreateTime
,
entity
.
getCreateTimes
()[
0
])
.
le
(
TSalaryEmpModLog:
:
getCreateTime
,
entity
.
getCreateTimes
()[
1
]);
}
if
(
Common
.
isNotNull
(
entity
.
getCreateName
())){
wrapper
.
eq
(
TSalaryEmpModLog:
:
getCreateName
,
entity
.
getCreateName
());
}
return
wrapper
;
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
View file @
a2ebb69d
...
...
@@ -26,33 +26,40 @@ import com.alibaba.excel.read.listener.ReadListener;
import
com.alibaba.excel.read.metadata.holder.ReadRowHolder
;
import
com.alibaba.excel.util.ListUtils
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.esotericsoftware.minlog.Log
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckIdCard
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckMobile
;
import
com.yifu.cloud.plus.v1.check.vo.CheckBankNoVo
;
import
com.yifu.cloud.plus.v1.check.vo.CheckBatchVo
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCheckProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryEmployeeMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TBankSetService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmpModLogService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService
;
import
com.yifu.cloud.plus.v1.yifu.salary.util.SalaryConstants
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.*
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -82,6 +89,9 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
@Autowired
private
TBankSetService
tBankSetService
;
@Autowired
private
TSalaryEmpModLogService
logService
;
/**
* 薪酬人员表简单分页查询
*
...
...
@@ -531,6 +541,11 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
* @return: void
**/
public
void
updateTSalaryEmployee
(
List
<
TSalaryEmployeeUpdateVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
Common
.
isEmpty
(
user
)){
errorMessageList
.
add
(
new
ErrorMessage
(
CommonConstants
.
ONE_INT_NEGATE
,
CommonConstants
.
USER_FAIL
));
return
;
}
/// 个性化校验逻辑
TSalaryEmployeeUpdateVo
excel
;
List
<
String
>
idCardList
=
new
ArrayList
<>();
...
...
@@ -549,11 +564,15 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
String
areaStr
;
boolean
curTaxMonth
;
Map
<
String
,
String
>
bankMap
=
tBankSetService
.
getBankMap
(
null
);
ExcelUtil
<
TSalaryEmployee
>
util
=
new
ExcelUtil
<>(
TSalaryEmployee
.
class
);
TSalaryEmployee
old
=
null
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
excel
=
excelVOList
.
get
(
i
);
if
(
excel
!=
null
)
{
if
(
Common
.
isNotNull
(
excel
.
getEmpIdcard
()))
{
emp
=
empMap
.
get
(
excel
.
getEmpIdcard
());
old
=
new
TSalaryEmployee
();
BeanUtil
.
copyProperties
(
emp
,
old
);
if
(
Common
.
isNotNull
(
emp
))
{
curTaxMonth
=
false
;
if
(
Common
.
isNotNull
(
emp
.
getTaxMonth
())
&&
Common
.
isNotNull
(
excel
.
getTaxMonth
())
&&
emp
.
getTaxMonth
().
length
()==
6
)
{
...
...
@@ -599,6 +618,8 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
if
(
Common
.
isNotNull
(
excel
.
getEmpName
()))
{
emp
.
setEmpName
(
excel
.
getEmpName
());
}
// 变更日志 fxj 2023-10-24
logService
.
initModLog
(
old
,
emp
,
CommonConstants
.
ONE_STRING
,
user
.
getNickname
(),
util
);
baseMapper
.
updateById
(
emp
);
if
(
curTaxMonth
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
SalaryConstants
.
CUR_TAX_INFO
));
...
...
@@ -691,6 +712,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
+
"行:-上次代发户未校验【姓名与卡号】,本次校验结果:不匹配。请去薪酬人员查询处更新卡号信息!"
));
return
false
;
}
}
this
.
saveOrUpdateBatch
(
empList
);
}
...
...
@@ -902,17 +924,17 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
R
updateEmployeeFromEkp
(
TSalaryEmployeeEkpUpdateVo
vo
)
{
if
(
Common
.
isEmpty
(
vo
.
getEmpIdcard
()))
{
return
R
.
failed
(
CommonConstants
.
PARAM_IS_NOT_ERROR
);
}
TSalaryEmployee
one
=
baseMapper
.
selectOne
(
Wrappers
.<
TSalaryEmployee
>
query
().
lambda
()
.
eq
(
TSalaryEmployee:
:
getEmpIdcard
,
vo
.
getEmpIdcard
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
TSalaryEmployee
old
=
new
TSalaryEmployee
();
BeanUtil
.
copyProperties
(
one
,
old
);
if
(
Common
.
isNotNull
(
one
))
{
one
.
setBankNo
(
vo
.
getBankNo
());
one
.
setEmpName
(
vo
.
getEmpName
());
one
.
setBankName
(
vo
.
getBankName
());
baseMapper
.
updateById
(
one
);
logService
.
initModLog
(
old
,
one
,
CommonConstants
.
TWO_STRING
,
"ekp"
,
null
);
}
return
R
.
ok
();
}
...
...
@@ -930,4 +952,24 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
}
return
null
;
}
@Override
public
R
<
Boolean
>
updateByIdDiy
(
TSalaryEmployee
tSalaryEmployee
)
{
if
(
Common
.
isEmpty
(
tSalaryEmployee
.
getId
())){
return
R
.
failed
(
CommonConstants
.
PARAM_INFO_ERROR
);
}
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
Common
.
isEmpty
(
user
)){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
// 变更日志 fxj 2023-10-24
TSalaryEmployee
old
=
baseMapper
.
selectById
(
tSalaryEmployee
.
getId
());
logService
.
initModLog
(
old
,
tSalaryEmployee
,
CommonConstants
.
ZERO_STRING
,
user
.
getNickname
(),
null
);
int
res
=
baseMapper
.
updateById
(
tSalaryEmployee
);
if
(
res
>=
CommonConstants
.
ZERO_INT
){
return
R
.
ok
();
}
else
{
return
R
.
failed
(
CommonConstants
.
UPDATE_DATA_FAIL
);
}
}
}
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryEmpModLogMapper.xml
0 → 100644
View file @
a2ebb69d
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!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.yifu.salary.mapper.TSalaryEmpModLogMapper"
>
<resultMap
id=
"tSalaryEmpModLogMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmpModLog"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"content"
column=
"content"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"idNum"
column=
"id_num"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.content,
a.type,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.id_num,
a.parent_id
</sql>
<sql
id=
"tSalaryEmpModLog_where"
>
<if
test=
"tSalaryEmpModLog != null"
>
<if
test=
"tSalaryEmpModLog.id != null and tSalaryEmpModLog.id.trim() != ''"
>
AND a.id = #{tSalaryEmpModLog.id}
</if>
<if
test=
"tSalaryEmpModLog.content != null and tSalaryEmpModLog.content.trim() != ''"
>
AND a.content like concat('%',#{tSalaryEmpModLog.content},'%')
</if>
<if
test=
"tSalaryEmpModLog.type != null and tSalaryEmpModLog.type.trim() != ''"
>
AND a.type = #{tSalaryEmpModLog.type}
</if>
<if
test=
"tSalaryEmpModLog.createBy != null and tSalaryEmpModLog.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tSalaryEmpModLog.createBy}
</if>
<if
test=
"tSalaryEmpModLog.createName != null and tSalaryEmpModLog.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tSalaryEmpModLog.createName}
</if>
<if
test=
"tSalaryEmpModLog.createTimeStart != null"
>
AND a.CREATE_TIME
<![CDATA[ >= ]]>
#{tSalaryEmpModLog.createTimeStart}
</if>
<if
test=
"tSalaryEmpModLog.createTimeEnd != null"
>
AND a.CREATE_TIME
<![CDATA[ <= ]]>
#{tSalaryEmpModLog.createTimeEnd}
</if>
<if
test=
"tSalaryEmpModLog.updateBy != null and tSalaryEmpModLog.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tSalaryEmpModLog.updateBy}
</if>
<if
test=
"tSalaryEmpModLog.updateTime != null"
>
AND a.UPDATE_TIME = #{tSalaryEmpModLog.updateTime}
</if>
<if
test=
"tSalaryEmpModLog.idNum != null and tSalaryEmpModLog.idNum.trim() != ''"
>
AND a.id_num = #{tSalaryEmpModLog.idNum}
</if>
<if
test=
"tSalaryEmpModLog.parentId != null and tSalaryEmpModLog.parentId.trim() != ''"
>
AND a.parent_id = #{tSalaryEmpModLog.parentId}
</if>
</if>
</sql>
<!--tSalaryEmpModLog简单分页查询-->
<select
id=
"getTSalaryEmpModLogPage"
resultMap=
"tSalaryEmpModLogMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_salary_emp_mod_log a
<where>
1=1
<include
refid=
"tSalaryEmpModLog_where"
/>
</where>
</select>
</mapper>
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TDispatchInfo.java
View file @
a2ebb69d
...
...
@@ -626,6 +626,36 @@ public class TDispatchInfo extends BaseEntity {
@Schema
(
description
=
"学历"
,
name
=
"contractName"
)
private
String
educationName
;
/**
* 学校
*/
@ExcelAttribute
(
name
=
"学校"
,
isNotEmpty
=
false
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"学校:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@ExcelAttribute
(
name
=
"专业"
,
isNotEmpty
=
false
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"专业:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"专业"
)
private
String
major
;
/**
* 首次至缴纳地时间
*/
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
/**
* 试用期(单位月)
*/
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TSocialInfo.java
View file @
a2ebb69d
...
...
@@ -955,4 +955,14 @@ public class TSocialInfo extends BaseEntity {
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"个人社保合计"
)
private
BigDecimal
personalSocialSum
;
/**
* 首次至缴纳地时间
*/
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/SocialHandleExportVo.java
View file @
a2ebb69d
...
...
@@ -4,13 +4,16 @@ import com.alibaba.excel.annotation.ExcelProperty;
import
com.alibaba.excel.annotation.format.DateTimeFormat
;
import
com.alibaba.excel.annotation.write.style.ContentStyle
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author fxj
...
...
@@ -435,4 +438,33 @@ public class SocialHandleExportVo implements Serializable {
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"是否已导出"
)
private
String
exportSocialFlag
;
/**
* 学校
*/
@ExcelAttribute
(
name
=
"学校"
,
isNotEmpty
=
false
)
@Schema
(
description
=
"学校:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@ExcelAttribute
(
name
=
"专业"
,
isNotEmpty
=
false
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"专业:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"专业"
)
private
String
major
;
/**
* 首次至缴纳地时间
*/
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TDispatchAuditExportVo.java
View file @
a2ebb69d
...
...
@@ -351,4 +351,37 @@ public class TDispatchAuditExportVo {
@ExcelProperty
(
"个人公积金缴纳比例"
)
private
BigDecimal
personalProvidentPer
;
@ExcelAttribute
(
name
=
"学历"
,
maxLength
=
32
)
@Schema
(
description
=
"学历"
,
name
=
"contractName"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"学历"
)
private
String
educationName
;
/**
* 学校
*/
@ExcelAttribute
(
name
=
"学校"
,
isNotEmpty
=
false
)
@Schema
(
description
=
"学校:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@ExcelAttribute
(
name
=
"专业"
,
isNotEmpty
=
false
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"专业:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"专业"
)
private
String
major
;
/**
* 首次至缴纳地时间
*/
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TDispatchImportVo.java
View file @
a2ebb69d
...
...
@@ -280,6 +280,36 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
@ExcelProperty
(
value
=
"学历"
)
private
String
educationName
;
/**
* 学校
*/
@ExcelAttribute
(
name
=
"学校"
,
isNotEmpty
=
false
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"学校:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@ExcelAttribute
(
name
=
"专业"
,
isNotEmpty
=
false
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"专业:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"专业"
)
private
String
major
;
/**
* 首次至缴纳地时间
*/
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Length
(
max
=
50
,
message
=
"学校不能超过50个字符"
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
/**
* 备案基数
*/
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TDispatchInfoExportVo.java
View file @
a2ebb69d
...
...
@@ -476,4 +476,38 @@ public class TDispatchInfoExportVo {
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金办理备注"
)
private
String
fundHandleRemark
;
@ExcelAttribute
(
name
=
"学历"
,
maxLength
=
32
)
@Schema
(
description
=
"学历"
,
name
=
"contractName"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"学历"
)
private
String
educationName
;
/**
* 学校
*/
@ExcelAttribute
(
name
=
"学校"
,
isNotEmpty
=
false
)
@Schema
(
description
=
"学校:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"学校"
)
private
String
schoolName
;
/**
* 专业
*/
@ExcelAttribute
(
name
=
"专业"
,
isNotEmpty
=
false
)
@Schema
(
description
=
"专业:派增只做记录"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"专业"
)
private
String
major
;
/**
* 首次至缴纳地时间
*/
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelAttribute
(
name
=
"首次至缴纳地时间"
,
isNotEmpty
=
false
,
isDate
=
true
)
@Schema
(
description
=
"首次至缴纳地时间"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"首次至缴纳地时间"
)
private
Date
firstPayTime
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TPaymentInfoNewExportVo.java
View file @
a2ebb69d
...
...
@@ -333,6 +333,106 @@ public class TPaymentInfoNewExportVo extends RowIndex implements Serializable {
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"个人大病金额"
)
private
BigDecimal
personalBigmailmentMoney
;
/**
* 养老保险合计
*/
@ExcelAttribute
(
name
=
"养老保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"养老保险合计"
)
private
BigDecimal
pensionMoneySum
;
/**
* 医疗保险合计
*/
@ExcelAttribute
(
name
=
"医疗保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"医疗保险合计"
)
private
BigDecimal
medicalMoneySum
;
/**
* 失业保险合计
*/
@ExcelAttribute
(
name
=
"失业保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"失业保险合计"
)
private
BigDecimal
unemploymentMoneySum
;
/**
* 工伤保险合计
*/
@ExcelAttribute
(
name
=
"工伤保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"工伤保险合计"
)
private
BigDecimal
injuryMoneySum
;
/**
* 生育保险合计
*/
@ExcelAttribute
(
name
=
"生育保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"生育保险合计"
)
private
BigDecimal
birthMoneySum
;
/**
* 大病保险合计
*/
@ExcelAttribute
(
name
=
"大病保险合计"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"大病保险合计"
)
private
BigDecimal
bigmailmentMoneySum
;
/**
* 养老单位比例
*/
@ExcelAttribute
(
name
=
"养老单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"养老单位比例"
)
private
BigDecimal
unitPensionPer
;
/**
* 医疗单位比例
*/
@ExcelAttribute
(
name
=
"医疗单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"医疗单位比例"
)
private
BigDecimal
unitMedicalPer
;
/**
* 失业单位比例
*/
@ExcelAttribute
(
name
=
"失业单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"失业单位比例"
)
private
BigDecimal
unitUnemploymentPer
;
/**
* 工伤单位比例
*/
@ExcelAttribute
(
name
=
"工伤单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"工伤单位比例"
)
private
BigDecimal
unitInjuryPer
;
/**
* 生育单位比例
*/
@ExcelAttribute
(
name
=
"生育单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"生育单位比例"
)
private
BigDecimal
unitBirthPer
;
/**
* 养老个人比例
*/
@ExcelAttribute
(
name
=
"养老个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"养老个人比例"
)
private
BigDecimal
personalPensionPer
;
/**
* 个人医疗比例
*/
@ExcelAttribute
(
name
=
"医疗个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"医疗个人比例"
)
private
BigDecimal
personalMedicalPer
;
/**
* 失业个人比例
*/
@ExcelAttribute
(
name
=
"失业个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"失业个人比例"
)
private
BigDecimal
personalUnemploymentPer
;
/**
* 公积金编号
*/
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TPaymentInfoNewVo.java
View file @
a2ebb69d
...
...
@@ -411,4 +411,62 @@ public class TPaymentInfoNewVo extends RowIndex implements Serializable {
@Schema
(
description
=
"二级指标归属"
)
private
String
secondIndicatorBelong
;
/**
* 养老单位比例
*/
@ExcelAttribute
(
name
=
"养老单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"养老单位比例"
)
private
BigDecimal
unitPensionPer
;
/**
* 医疗单位比例
*/
@ExcelAttribute
(
name
=
"医疗单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"医疗单位比例"
)
private
BigDecimal
unitMedicalPer
;
/**
* 失业单位比例
*/
@ExcelAttribute
(
name
=
"失业单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"失业单位比例"
)
private
BigDecimal
unitUnemploymentPer
;
/**
* 工伤单位比例
*/
@ExcelAttribute
(
name
=
"工伤单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"工伤单位比例"
)
private
BigDecimal
unitInjuryPer
;
/**
* 生育单位比例
*/
@ExcelAttribute
(
name
=
"生育单位比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"生育单位比例"
)
private
BigDecimal
unitBirthPer
;
/**
* 养老个人比例
*/
@ExcelAttribute
(
name
=
"养老个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"养老个人比例"
)
private
BigDecimal
personalPensionPer
;
/**
* 个人医疗比例
*/
@ExcelAttribute
(
name
=
"医疗个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"医疗个人比例"
)
private
BigDecimal
personalMedicalPer
;
/**
* 失业个人比例
*/
@ExcelAttribute
(
name
=
"失业个人比例"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"失业个人比例"
)
private
BigDecimal
personalUnemploymentPer
;
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TSocialfundHouseResController.java
View file @
a2ebb69d
...
...
@@ -19,15 +19,19 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
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.log.annotation.SysLog
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialfundHouseResService
;
import
lombok.SneakyThrows
;
import
org.springframework.security.access.prepost.PreAuthorize
;
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
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
...
...
@@ -119,4 +123,37 @@ public class TSocialfundHouseResController {
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tSocialfundHouseResService
.
removeById
(
id
));
}
/**
* @Author fxj
* @Description 批量导入社保公积金审核权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@SneakyThrows
@Operation
(
description
=
"批量新增社保公积金审核权限"
)
@SysLog
(
"批量新增社保公积金审核权限"
)
@PostMapping
(
"/importListAdd"
)
public
R
<
List
<
ErrorMessage
>>
importListAdd
(
@RequestBody
MultipartFile
file
)
{
return
tSocialfundHouseResService
.
importDiy
(
file
.
getInputStream
());
}
/**
* @Author fxj
* @Description 批量新增社保|公积金办理权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@SneakyThrows
@Operation
(
description
=
"批量新增社保|公积金办理权限"
)
@SysLog
(
"批量新增社保|公积金办理权限"
)
@PostMapping
(
"/importListAddAll"
)
public
R
<
List
<
ErrorMessage
>>
importListAddAll
(
@RequestBody
MultipartFile
file
,
String
type
)
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)
&&
CommonConstants
.
ONE_STRING
.
equals
(
type
)){
return
R
.
failed
(
CommonConstants
.
PARAM_INFO_ERROR
);
}
return
tSocialfundHouseResService
.
importDiyAll
(
file
.
getInputStream
(),
type
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TSocialfundHouseResService.java
View file @
a2ebb69d
...
...
@@ -63,4 +63,7 @@ public interface TSocialfundHouseResService extends IService<TSocialfundHouseRes
**/
void
deleteHandleUser
(
SysHouseHoldInfo
holdInfo
);
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
);
R
<
List
<
ErrorMessage
>>
importDiyAll
(
InputStream
inputStream
,
String
type
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TDispatchInfoServiceImpl.java
View file @
a2ebb69d
...
...
@@ -738,7 +738,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if
(
Common
.
isNotNull
(
socialFund
)
&&
Common
.
isNotNull
(
socialFund
.
getId
())){
forecastLibraryService
.
updateForecastLibaryByDispatch
(
null
,
null
,
socialFund
);
}
// 同步更新人员档案和项目档案的社保公积金状态
// 同步更新人员档案和项目档案的社保公积金状态
学历信息
updateDocSocialFund
(
social
,
fund
,
socialFund
,
empVoMap
,
excel
);
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
,
CommonConstants
.
GREEN
));
...
...
@@ -812,6 +812,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
if
(
Common
.
isNotNull
(
emp
))
{
if
(
Common
.
isEmpty
(
emp
.
getHignEducation
()))
{
vo
.
setHighEducation
(
""
);
if
(
excel
.
getEducationName
().
equals
(
"文盲"
))
{
vo
.
setHighEducation
(
"1"
);
}
...
...
@@ -845,8 +846,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if
(
excel
.
getEducationName
().
equals
(
"中专"
))
{
vo
.
setHighEducation
(
"11"
);
}
else
{
vo
.
setHighEducation
(
""
);
if
(
Common
.
isNotNull
(
excel
.
getSchoolName
())){
vo
.
setSchoolName
(
excel
.
getSchoolName
());
}
if
(
Common
.
isNotNull
(
excel
.
getMajor
())){
vo
.
setMajor
(
excel
.
getMajor
());
}
}
}
...
...
@@ -1320,6 +1324,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dispatch
.
setBelongUnit
(
excel
.
getCustomerId
());
dispatch
.
setBelongUnitName
(
excel
.
getCustomerName
());
dispatch
.
setEducationName
(
excel
.
getEducationName
());
dispatch
.
setSchoolName
(
excel
.
getSchoolName
());
dispatch
.
setMajor
(
excel
.
getMajor
());
dispatch
.
setFirstPayTime
(
excel
.
getFirstPayTime
());
dispatch
.
setIdCardProvince
(
excel
.
getIdCardProvince
());
dispatch
.
setIdCardCity
(
excel
.
getIdCardCity
());
dispatch
.
setIdCardTown
(
excel
.
getIdCardTown
());
...
...
@@ -1598,6 +1605,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social
.
setHandleStatus
(
CommonConstants
.
ZERO_STRING
);
social
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
social
.
setTrustRemark
(
excel
.
getTrustRemark
());
social
.
setFirstPayTime
(
excel
.
getFirstPayTime
());
List
<
Date
>
lstDate
=
new
ArrayList
<>();
if
(
Common
.
isNotNull
(
excel
.
getPensionStart
()))
{
lstDate
.
add
(
excel
.
getPensionStart
());
...
...
@@ -2125,6 +2133,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
emp
.
setEmpPhone
(
excel
.
getEmpMobile
());
emp
.
setEmpRegisType
(
excel
.
getEmpRegisType
());
emp
.
setHignEducation
(
excel
.
getEducationName
());
emp
.
setMajor
(
excel
.
getMajor
());
emp
.
setSchool
(
excel
.
getSchoolName
());
emp
.
setContractStatus
(
CommonConstants
.
ZERO_INT
);
emp
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
emp
.
setFileSource
(
CommonConstants
.
ONE_STRING
);
...
...
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TSocialfundHouseResServiceImpl.java
View file @
a2ebb69d
...
...
@@ -16,21 +16,46 @@
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.alibaba.excel.read.metadata.holder.ReadRowHolder
;
import
com.alibaba.excel.util.ListUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.SocialAuthHandleImportVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.SocialAuthImportVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialfundHouseResMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.SysBaseSetInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialfundHouseResService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.apache.shardingsphere.transaction.annotation.ShardingTransactionType
;
import
org.apache.shardingsphere.transaction.core.TransactionType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.InputStream
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 社保公积金户权限配置表
...
...
@@ -39,8 +64,12 @@ import java.util.List;
* @date 2022-11-02 09:13:07
*/
@Log4j2
@AllArgsConstructor
@Service
public
class
TSocialfundHouseResServiceImpl
extends
ServiceImpl
<
TSocialfundHouseResMapper
,
TSocialfundHouseRes
>
implements
TSocialfundHouseResService
{
@Autowired
private
UpmsDaprUtils
upmsDaprUtils
;
private
SysBaseSetInfoService
baseSetInfoService
;
/**
* 社保公积金户权限配置表简单分页查询
* @param tSocialfundHouseRes 社保公积金户权限配置表
...
...
@@ -129,4 +158,395 @@ public class TSocialfundHouseResServiceImpl extends ServiceImpl<TSocialfundHouse
}
}
/**
* @Author fxj
* @Description 批量新增社保公积金审核权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ShardingTransactionType
(
TransactionType
.
BASE
)
@Override
public
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
ExcelUtil
<
SocialAuthImportVo
>
util1
=
new
ExcelUtil
<>(
SocialAuthImportVo
.
class
);
Map
<
String
,
SysBaseSetInfo
>
fundBaseSetMap
=
null
;
Map
<
String
,
SysBaseSetInfo
>
socialBaseSetMap
=
null
;
// 获取社保公积金配置
List
<
SysBaseSetInfo
>
socialSet
=
baseSetInfoService
.
list
(
Wrappers
.<
SysBaseSetInfo
>
query
().
lambda
()
.
eq
(
SysBaseSetInfo:
:
getBaseType
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
SysBaseSetInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
groupBy
(
SysBaseSetInfo:
:
getDepartName
,
SysBaseSetInfo:
:
getProvince
,
SysBaseSetInfo:
:
getCity
,
SysBaseSetInfo:
:
getTown
));
if
(
Common
.
isNotNull
(
socialSet
)){
socialBaseSetMap
=
socialSet
.
stream
().
collect
(
Collectors
.
toMap
(
k
->
k
.
getDepartName
(),
k
->
k
));
}
List
<
SysBaseSetInfo
>
fundSet
=
baseSetInfoService
.
list
(
Wrappers
.<
SysBaseSetInfo
>
query
().
lambda
()
.
eq
(
SysBaseSetInfo:
:
getBaseType
,
CommonConstants
.
ONE_STRING
)
.
eq
(
SysBaseSetInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
groupBy
(
SysBaseSetInfo:
:
getDepartName
,
SysBaseSetInfo:
:
getProvince
,
SysBaseSetInfo:
:
getCity
,
SysBaseSetInfo:
:
getTown
));
if
(
Common
.
isNotNull
(
fundSet
)){
fundBaseSetMap
=
fundSet
.
stream
().
collect
(
Collectors
.
toMap
(
k
->
k
.
getDepartName
(),
k
->
k
));
}
if
(
Common
.
isEmpty
(
socialBaseSetMap
)
||
Common
.
isEmpty
(
fundBaseSetMap
)){
return
R
.
failed
(
"获取社保及公积金户配置信息失败!"
);
}
Map
<
String
,
SysUser
>
userMap
=
new
HashMap
<>();
Map
<
String
,
String
>
existMap
=
new
HashMap
<>();
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
Map
<
String
,
SysBaseSetInfo
>
finalSocialBaseSetMap
=
socialBaseSetMap
;
Map
<
String
,
SysBaseSetInfo
>
finalFundBaseSetMap
=
fundBaseSetMap
;
EasyExcel
.
read
(
inputStream
,
SocialAuthImportVo
.
class
,
new
ReadListener
<
SocialAuthImportVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
SocialAuthImportVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
@Override
public
void
invoke
(
SocialAuthImportVo
data
,
AnalysisContext
context
)
{
ReadRowHolder
readRowHolder
=
context
.
readRowHolder
();
Integer
rowIndex
=
readRowHolder
.
getRowIndex
();
data
.
setRowIndex
(
rowIndex
+
1
);
ErrorMessage
errorMessage
=
util1
.
checkEntity
(
data
,
data
.
getRowIndex
());
if
(
Common
.
isNotNull
(
errorMessage
)){
errorMessage
.
setData
(
data
);
errorMessageList
.
add
(
errorMessage
);
}
else
{
cachedDataList
.
add
(
data
);
}
if
(
cachedDataList
.
size
()
>=
BATCH_COUNT
)
{
saveData
();
// 存储完成清理 list
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
saveData
();
}
/**
* 加上存储数据库
*/
private
void
saveData
()
{
log
.
info
(
"{}条数据,开始存储数据库!"
,
cachedDataList
.
size
());
importEntity
(
cachedDataList
,
errorMessageList
,
finalSocialBaseSetMap
,
finalFundBaseSetMap
,
userMap
,
existMap
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
){
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
finally
{
// 清理
socialBaseSetMap
.
clear
();
fundBaseSetMap
.
clear
();
}
return
judgeAllMessage
(
errorMessageList
);
}
private
void
importEntity
(
List
<
SocialAuthImportVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
SysBaseSetInfo
>
socialBaseSetMap
,
Map
<
String
,
SysBaseSetInfo
>
fundBaseSetMap
,
Map
<
String
,
SysUser
>
userMap
,
Map
<
String
,
String
>
existMap
)
{
// 执行数据插入操作 组装
TSocialfundHouseRes
save
;
SysUser
user
;
R
<
SysUser
>
res
;
TSocialfundHouseRes
exist
;
String
temp
;
SysBaseSetInfo
baseSet
=
null
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
SocialAuthImportVo
excel
=
excelVOList
.
get
(
i
);
// 数据合法情况
user
=
userMap
.
get
(
excel
.
getUserLoginName
());
// 用户信息验证
if
(
Common
.
isEmpty
(
user
)){
res
=
upmsDaprUtils
.
getSimpleUserByLoginName
(
excel
.
getUserLoginName
());
if
(
Common
.
isNotNull
(
res
)
&&
Common
.
isNotNull
(
res
.
getData
())){
user
=
res
.
getData
();
userMap
.
put
(
user
.
getUsername
(),
user
);
}
else
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"无有效状态的用户信息!"
,
excel
));
continue
;
}
}
if
(
Common
.
isEmpty
(
user
.
getDeptName
())){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应登录账号无部门信息,请完善后导入"
,
excel
));
continue
;
}
// 户验证
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
excel
.
getType
())){
baseSet
=
socialBaseSetMap
.
get
(
excel
.
getHouseHold
());
if
(
Common
.
isEmpty
(
baseSet
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"未找到对应社保户数据!"
,
excel
));
continue
;
}
}
if
(
CommonConstants
.
ONE_STRING
.
equals
(
excel
.
getType
())){
baseSet
=
fundBaseSetMap
.
get
(
excel
.
getHouseHold
());
if
(
Common
.
isEmpty
(
baseSet
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"未找到对应公积金户数据!"
,
excel
));
continue
;
}
}
// 重复校验
temp
=
existMap
.
get
(
excel
.
getUserLoginName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getHouseHold
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getType
());
if
(
Common
.
isNotNull
(
temp
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
else
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
excel
.
getType
())){
exist
=
baseMapper
.
selectOne
(
Wrappers
.<
TSocialfundHouseRes
>
query
().
lambda
()
.
eq
(
TSocialfundHouseRes:
:
getSocialHousehold
,
excel
.
getHouseHold
())
.
eq
(
TSocialfundHouseRes:
:
getHouseNameType
,
excel
.
getType
())
.
eq
(
TSocialfundHouseRes:
:
getUserId
,
user
.
getUserId
())
.
eq
(
TSocialfundHouseRes:
:
getAuthType
,
CommonConstants
.
ZERO_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
}
else
{
exist
=
baseMapper
.
selectOne
(
Wrappers
.<
TSocialfundHouseRes
>
query
().
lambda
()
.
eq
(
TSocialfundHouseRes:
:
getFundHousehold
,
excel
.
getHouseHold
())
.
eq
(
TSocialfundHouseRes:
:
getHouseNameType
,
excel
.
getType
())
.
eq
(
TSocialfundHouseRes:
:
getUserId
,
user
.
getUserId
())
.
eq
(
TSocialfundHouseRes:
:
getAuthType
,
CommonConstants
.
ZERO_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
}
if
(
Common
.
isNotNull
(
exist
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
}
// 初始化及新增数据
save
=
new
TSocialfundHouseRes
();
save
.
setAuthType
(
CommonConstants
.
ZERO_STRING
);
save
.
setFundHousehold
(
CommonConstants
.
ZERO_STRING
.
equals
(
baseSet
.
getBaseType
())?
null
:
baseSet
.
getDepartName
());
save
.
setSocialHousehold
(
CommonConstants
.
ZERO_STRING
.
equals
(
baseSet
.
getBaseType
())?
baseSet
.
getDepartName
():
null
);
save
.
setStatus
(
CommonConstants
.
ZERO_STRING
);
save
.
setUserId
(
user
.
getUserId
());
save
.
setHouseNameType
(
baseSet
.
getBaseType
());
save
.
setCreateTime
(
LocalDateTime
.
now
());
save
.
setUserName
(
user
.
getNickname
());
save
.
setUserDeptName
(
user
.
getDeptName
());
insertExcel
(
save
);
// 加入map 验证当前表单数据是否重复
existMap
.
put
(
excel
.
getUserLoginName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getHouseHold
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getType
(),
excel
.
getHouseHold
());
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
,
CommonConstants
.
GREEN
,
excel
));
}
}
/**
* 插入excel bad record
*/
private
void
insertExcel
(
TSocialfundHouseRes
entity
)
{
this
.
save
(
entity
);
}
/**
* @Author fxj
* @Description 判断所有返回数据,是否全部为正确的
* @Date 18:01 2023/10/18
* @Param
* @return
**/
private
R
<
List
<
ErrorMessage
>>
judgeAllMessage
(
List
<
ErrorMessage
>
errorMessageList
)
{
if
(!
errorMessageList
.
isEmpty
()
&&
errorMessageList
.
stream
().
noneMatch
(
e
->
e
.
getColor
().
equals
(
CommonConstants
.
RED
)))
{
return
R
.
ok
();
}
return
R
.
ok
(
errorMessageList
);
}
/**
* @Author fxj
* @Description 批量新增社保公积金审核权限
* @Date 16:59 2023/10/17
* @Param
* @return
**/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ShardingTransactionType
(
TransactionType
.
BASE
)
@Override
public
R
<
List
<
ErrorMessage
>>
importDiyAll
(
InputStream
inputStream
,
String
type
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
ExcelUtil
<
SocialAuthHandleImportVo
>
util1
=
new
ExcelUtil
<>(
SocialAuthHandleImportVo
.
class
);
Map
<
String
,
SysBaseSetInfo
>
baseSetInfoMap
=
new
HashMap
<>();
List
<
SysBaseSetInfo
>
setInfos
=
baseSetInfoService
.
list
(
Wrappers
.<
SysBaseSetInfo
>
query
().
lambda
()
.
eq
(
SysBaseSetInfo:
:
getBaseType
,
type
)
.
eq
(
SysBaseSetInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
groupBy
(
SysBaseSetInfo:
:
getDepartName
,
SysBaseSetInfo:
:
getProvince
,
SysBaseSetInfo:
:
getCity
,
SysBaseSetInfo:
:
getTown
));
if
(
Common
.
isNotNull
(
setInfos
)){
baseSetInfoMap
=
setInfos
.
stream
().
collect
(
Collectors
.
toMap
(
k
->
k
.
getDepartName
(),
k
->
k
));
}
if
(
Common
.
isEmpty
(
baseSetInfoMap
)){
return
R
.
failed
(
"获取户配置信息失败!"
);
}
Map
<
String
,
SysUser
>
userMap
=
new
HashMap
<>();
Map
<
String
,
String
>
existMap
=
new
HashMap
<>();
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
Map
<
String
,
SysBaseSetInfo
>
finalBaseSetInfoMap
=
baseSetInfoMap
;
EasyExcel
.
read
(
inputStream
,
SocialAuthHandleImportVo
.
class
,
new
ReadListener
<
SocialAuthHandleImportVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
SocialAuthHandleImportVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
@Override
public
void
invoke
(
SocialAuthHandleImportVo
data
,
AnalysisContext
context
)
{
ReadRowHolder
readRowHolder
=
context
.
readRowHolder
();
Integer
rowIndex
=
readRowHolder
.
getRowIndex
();
data
.
setRowIndex
(
rowIndex
+
1
);
ErrorMessage
errorMessage
=
util1
.
checkEntity
(
data
,
data
.
getRowIndex
());
if
(
Common
.
isNotNull
(
errorMessage
)){
errorMessage
.
setData
(
data
);
errorMessageList
.
add
(
errorMessage
);
}
else
{
cachedDataList
.
add
(
data
);
}
if
(
cachedDataList
.
size
()
>=
BATCH_COUNT
)
{
saveData
();
// 存储完成清理 list
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
saveData
();
}
/**
* 加上存储数据库
*/
private
void
saveData
()
{
log
.
info
(
"{}条数据,开始存储数据库!"
,
cachedDataList
.
size
());
importEntity
(
cachedDataList
,
errorMessageList
,
finalBaseSetInfoMap
,
userMap
,
existMap
,
type
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
){
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
finally
{
// 清理
baseSetInfoMap
.
clear
();
}
return
judgeAllMessage
(
errorMessageList
);
}
private
void
importEntity
(
List
<
SocialAuthHandleImportVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
SysBaseSetInfo
>
baseSetInfoMap
,
Map
<
String
,
SysUser
>
userMap
,
Map
<
String
,
String
>
existMap
,
String
type
)
{
// 执行数据插入操作 组装
TSocialfundHouseRes
save
;
SysUser
user
;
R
<
SysUser
>
res
;
TSocialfundHouseRes
exist
;
String
temp
;
SysBaseSetInfo
baseSet
=
null
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
SocialAuthHandleImportVo
excel
=
excelVOList
.
get
(
i
);
// 数据合法情况
user
=
userMap
.
get
(
excel
.
getUserLoginName
());
// 用户信息验证
if
(
Common
.
isEmpty
(
user
)){
res
=
upmsDaprUtils
.
getSimpleUserByLoginName
(
excel
.
getUserLoginName
());
if
(
Common
.
isNotNull
(
res
)
&&
Common
.
isNotNull
(
res
.
getData
())){
user
=
res
.
getData
();
userMap
.
put
(
user
.
getUsername
(),
user
);
}
else
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"无有效状态的用户信息!"
,
excel
));
continue
;
}
}
if
(
Common
.
isEmpty
(
user
.
getDeptName
())){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应登录账号无部门信息,请完善后导入"
,
excel
));
continue
;
}
// 户验证
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)){
baseSet
=
baseSetInfoMap
.
get
(
excel
.
getHouseHold
());
if
(
Common
.
isEmpty
(
baseSet
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"未找到对应社保户数据!"
,
excel
));
continue
;
}
}
if
(
CommonConstants
.
ONE_STRING
.
equals
(
type
)){
baseSet
=
baseSetInfoMap
.
get
(
excel
.
getHouseHold
());
if
(
Common
.
isEmpty
(
baseSet
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"未找到对应公积金户数据!"
,
excel
));
continue
;
}
}
// 重复校验
temp
=
existMap
.
get
(
excel
.
getUserLoginName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getHouseHold
());
if
(
Common
.
isNotNull
(
temp
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
else
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)){
exist
=
baseMapper
.
selectOne
(
Wrappers
.<
TSocialfundHouseRes
>
query
().
lambda
()
.
eq
(
TSocialfundHouseRes:
:
getSocialHousehold
,
excel
.
getHouseHold
())
.
eq
(
TSocialfundHouseRes:
:
getUserId
,
user
.
getUserId
())
.
eq
(
TSocialfundHouseRes:
:
getHouseNameType
,
type
)
.
eq
(
TSocialfundHouseRes:
:
getAuthType
,
CommonConstants
.
ONE_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
}
else
{
exist
=
baseMapper
.
selectOne
(
Wrappers
.<
TSocialfundHouseRes
>
query
().
lambda
()
.
eq
(
TSocialfundHouseRes:
:
getFundHousehold
,
excel
.
getHouseHold
())
.
eq
(
TSocialfundHouseRes:
:
getUserId
,
user
.
getUserId
())
.
eq
(
TSocialfundHouseRes:
:
getHouseNameType
,
type
)
.
eq
(
TSocialfundHouseRes:
:
getAuthType
,
CommonConstants
.
ONE_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
}
if
(
Common
.
isNotNull
(
exist
)){
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应账号的权限已存在,请勿重复导入"
,
excel
));
continue
;
}
}
// 初始化及新增数据
save
=
new
TSocialfundHouseRes
();
save
.
setAuthType
(
CommonConstants
.
ONE_STRING
);
save
.
setFundHousehold
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)?
null
:
baseSet
.
getDepartName
());
save
.
setSocialHousehold
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)?
baseSet
.
getDepartName
():
null
);
save
.
setStatus
(
CommonConstants
.
ZERO_STRING
);
save
.
setUserId
(
user
.
getUserId
());
save
.
setHouseNameType
(
type
);
save
.
setCreateTime
(
LocalDateTime
.
now
());
save
.
setUserName
(
user
.
getNickname
());
save
.
setUserDeptName
(
user
.
getDeptName
());
insertExcel
(
save
);
// 加入map 验证当前表单数据是否重复
existMap
.
put
(
excel
.
getUserLoginName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getHouseHold
(),
excel
.
getUserLoginName
());
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
,
CommonConstants
.
GREEN
,
excel
));
}
}
}
yifu-social/yifu-social-biz/src/main/resources/mapper/TDispatchInfoMapper.xml
View file @
a2ebb69d
...
...
@@ -99,6 +99,10 @@
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"orderId"
column=
"ORDER_ID"
/>
<result
property=
"schoolName"
column=
"SCHOOL_NAME"
/>
<result
property=
"major"
column=
"MAJOR"
/>
<result
property=
"firstPayTime"
column=
"FIRST_PAY_TIME"
/>
</resultMap>
<resultMap
id=
"dispatchPageMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPageVo"
extends=
"tDispatchInfoMap"
>
<result
property=
"providentHouseholdName"
column=
"PROVIDENT_HOUSEHOLD_NAME"
/>
...
...
@@ -163,6 +167,11 @@
<result
property=
"unitWorkInjuryCardinal"
column=
"UNIT_WORK_INJURY_CARDINAL"
/>
<result
property=
"unitBirthCardinal"
column=
"UNIT_BIRTH_CARDINAL"
/>
<result
property=
"empMobile"
column=
"EMP_MOBILE"
/>
<result
property=
"educationName"
column=
"EDUCATION_NAME"
/>
<result
property=
"schoolName"
column=
"SCHOOL_NAME"
/>
<result
property=
"major"
column=
"MAJOR"
/>
<result
property=
"firstPayTime"
column=
"FIRST_PAY_TIME"
/>
</resultMap>
<resultMap
id=
"fundSupplementaryMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.FundSupplementaryExportVo"
>
...
...
@@ -327,6 +336,11 @@
<result
property=
"personalProvidentCardinal"
column=
"PERSONAL_PROVIDENT_CARDINAL"
/>
<result
property=
"unitProvidentPer"
column=
"UNIT_PROVIDENT_PER"
/>
<result
property=
"personalProvidentPer"
column=
"PERSONAL_PROVIDENT_PER"
/>
<result
property=
"educationName"
column=
"EDUCATION_NAME"
/>
<result
property=
"schoolName"
column=
"SCHOOL_NAME"
/>
<result
property=
"major"
column=
"MAJOR"
/>
<result
property=
"firstPayTime"
column=
"FIRST_PAY_TIME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
...
...
@@ -403,7 +417,10 @@
a.ID_CARD_TOWN,
a.ID_CARD_ADDRESS,
a.APPLY_NO,
a.ORDER_ID
a.ORDER_ID,
a.SCHOOL_NAME,
a.MAJOR,
a.FIRST_PAY_TIME
</sql>
<sql
id=
"tDispatchInfo_where"
>
<if
test=
"tDispatchInfo != null"
>
...
...
@@ -934,7 +951,11 @@
c.PROVIDENT_HOUSEHOLD_NAME,
c.UNIT_PROVIDENG_CARDINAL,
c.UNIT_PROVIDENT_PER,
a.EMP_MOBILE
a.EMP_MOBILE,
a.EDUCATION_NAME,
a.SCHOOL_NAME,
a.MAJOR,
a.FIRST_PAY_TIME
from t_dispatch_info a
left join t_social_info s on s.id=a.SOCIAL_ID
...
...
@@ -991,7 +1012,11 @@
c.PROVIDENT_START,
c.PERSONAL_PROVIDENT_CARDINAL,
c.UNIT_PROVIDENT_PER,
c.PERSONAL_PROVIDENT_PER
c.PERSONAL_PROVIDENT_PER,
a.EDUCATION_NAME,
a.SCHOOL_NAME,
a.MAJOR,
a.FIRST_PAY_TIME
from t_dispatch_info a
left join t_social_info b on a.SOCIAL_ID = b.ID
left join t_provident_fund c on a.FUND_ID = C.ID
...
...
@@ -1075,6 +1100,9 @@
<result
property=
"birthStart"
column=
"BIRTH_START"
/>
<result
property=
"bigailmentStart"
column=
"BIGAILMENT_START"
/>
<result
property=
"exportSocialFlag"
column=
"EXPORT_SOCIAL_FLAG"
/>
<result
property=
"schoolName"
column=
"SCHOOL_NAME"
/>
<result
property=
"major"
column=
"MAJOR"
/>
<result
property=
"firstPayTime"
column=
"FIRST_PAY_TIME"
/>
</resultMap>
<resultMap
id=
"fundHandleMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.FundHandleExportVo"
>
...
...
@@ -1160,7 +1188,10 @@
s.PERSONAL_BIGAILMENT_MONEY,
a.TRUST_REMARK,
a.REDUCE_REASON,
'1' as EXPORT_SOCIAL_FLAG
'1' as EXPORT_SOCIAL_FLAG,
a.SCHOOL_NAME,
a.MAJOR,
a.FIRST_PAY_TIME
FROM t_dispatch_info a
left join t_social_info s on a.SOCIAL_ID = s.id
<include
refid=
"where_getSocialRecordRoster"
/>
...
...
yifu-social/yifu-social-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
View file @
a2ebb69d
...
...
@@ -302,6 +302,14 @@
<result
property=
"socialFundPersonalSum"
column=
"SOCIAL_FUND_PERSONAL_SUM"
/>
<result
property=
"keyGroup"
column=
"keyGroup"
/>
<result
property=
"secondIndicatorBelong"
column=
"SECOND_INDICATOR_BELONG"
/>
<result
property=
"unitPensionPer"
column=
"UNIT_PENSION_PER"
/>
<result
property=
"unitMedicalPer"
column=
"UNIT_MEDICAL_PER"
/>
<result
property=
"unitUnemploymentPer"
column=
"UNIT_UNEMPLOYMENT_PER"
/>
<result
property=
"unitInjuryPer"
column=
"UNIT_INJURY_PER"
/>
<result
property=
"unitBirthPer"
column=
"UNIT_BIRTH_PER"
/>
<result
property=
"personalPensionPer"
column=
"PERSONAL_PENSION_PER"
/>
<result
property=
"personalMedicalPer"
column=
"PERSONAL_MEDICAL_PER"
/>
<result
property=
"personalUnemploymentPer"
column=
"PERSONAL_UNEMPLOYMENT_PER"
/>
</resultMap>
<resultMap
id=
"tPaymentInfoNewExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoNewExportVo"
>
...
...
@@ -351,6 +359,20 @@
<result
property=
"personalProvidentSum"
column=
"PERSONAL_PROVIDENT_SUM"
/>
<result
property=
"keyGroup"
column=
"keyGroup"
/>
<result
property=
"secondIndicatorBelong"
column=
"SECOND_INDICATOR_BELONG"
/>
<result
property=
"unitPensionPer"
column=
"UNIT_PENSION_PER"
/>
<result
property=
"unitMedicalPer"
column=
"UNIT_MEDICAL_PER"
/>
<result
property=
"unitUnemploymentPer"
column=
"UNIT_UNEMPLOYMENT_PER"
/>
<result
property=
"unitInjuryPer"
column=
"UNIT_INJURY_PER"
/>
<result
property=
"unitBirthPer"
column=
"UNIT_BIRTH_PER"
/>
<result
property=
"personalPensionPer"
column=
"PERSONAL_PENSION_PER"
/>
<result
property=
"personalMedicalPer"
column=
"PERSONAL_MEDICAL_PER"
/>
<result
property=
"personalUnemploymentPer"
column=
"PERSONAL_UNEMPLOYMENT_PER"
/>
<result
property=
"pensionMoneySum"
column=
"PENSION_MONEY_SUM"
/>
<result
property=
"medicalMoneySum"
column=
"MEDICAL_MONEY_SUM"
/>
<result
property=
"unemploymentMoneySum"
column=
"UNEMPLOYMENT_MONEY_SUM"
/>
<result
property=
"injuryMoneySum"
column=
"INJURY_MONEY_SUM"
/>
<result
property=
"birthMoneySum"
column=
"BIRTH_MONEY_SUM"
/>
<result
property=
"bigmailmentMoneySum"
column=
"BIGMAILMENT_MONEY_SUM"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
...
...
@@ -1302,7 +1324,15 @@
k.PROVIDENT_PERCENT,
k.SOCIAL_FUND_PERSONAL_SUM,
k.UNIT_SOCIAL_FUND_SUM,
k.UNIT_PROVIDENT_SUM
k.UNIT_PROVIDENT_SUM,
k.UNIT_PENSION_PER,
k.UNIT_MEDICAL_PER,
k.UNIT_UNEMPLOYMENT_PER,
k.UNIT_INJURY_PER,
k.UNIT_BIRTH_PER,
k.PERSONAL_PENSION_PER,
k.PERSONAL_MEDICAL_PER,
k.PERSONAL_UNEMPLOYMENT_PER
from (
select
w.keyGroup,
...
...
@@ -1352,7 +1382,15 @@
SUM( w.PROVIDENT_PERCENT ) AS PROVIDENT_PERCENT,
ifnull(SUM( w.SOCIAL_SECURITY_PERSONAL_SUM ),0) + ifnull(SUM( w.PERSONAL_PROVIDENT_SUM ),0) AS SOCIAL_FUND_PERSONAL_SUM,
ifnull(SUM( w.UNIT_SOCIAL_SUM ),0) + ifnull(SUM( w.UNIT_PROVIDENT_SUM ),0) AS UNIT_SOCIAL_FUND_SUM,
SUM( w.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM
SUM( w.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM,
MAX(w.UNIT_PENSION_PER) as UNIT_PENSION_PER,
MAX(w.UNIT_MEDICAL_PER) as UNIT_MEDICAL_PER,
MAX(w.UNIT_UNEMPLOYMENT_PER) as UNIT_UNEMPLOYMENT_PER,
MAX(w.UNIT_INJURY_PER) as UNIT_INJURY_PER,
MAX(w.UNIT_BIRTH_PER) as UNIT_BIRTH_PER,
MAX(w.PERSONAL_PENSION_PER) as PERSONAL_PENSION_PER,
MAX(w.PERSONAL_MEDICAL_PER) as PERSONAL_MEDICAL_PER,
MAX(w.PERSONAL_UNEMPLOYMENT_PER) as PERSONAL_UNEMPLOYMENT_PER
FROM (
(SELECT
CONCAT( a.EMP_IDCARD, '_', a.SOCIAL_PAY_MONTH, '_', a.SOCIAL_CREATE_MONTH, '_', a.SETTLE_DOMAIN_CODE ) AS keyGroup,
...
...
@@ -1400,7 +1438,15 @@
a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET,
a.UNIT_PROVIDENT_SUM
a.UNIT_PROVIDENT_SUM,
if(null = a.UNIT_PENSION_MONEY,'',round(SUM(a.UNIT_PENSION_MONEY)/MAX(a.UNIT_PENSION_SET),4)) as UNIT_PENSION_PER,
if(null = a.UNIT_MEDICAL_MONEY,'',round(SUM(a.UNIT_MEDICAL_MONEY)/MAX(a.UNIT_MEDICAL_SET),4)) as UNIT_MEDICAL_PER,
if(null = a.UNIT_UNEMPLOYMENT_MONEY,'',round(SUM(a.UNIT_UNEMPLOYMENT_MONEY)/MAX(a.UNIT_UNEMPLOYMENT_SET),4)) as UNIT_UNEMPLOYMENT_PER,
if(null = a.UNIT_INJURY_MONEY,'',round(SUM(a.UNIT_INJURY_MONEY)/MAX(a.UNIT_INJURY_SET),4)) as UNIT_INJURY_PER,
if(null = a.UNIT_BIRTH_MONEY,'',round(SUM(a.UNIT_BIRTH_MONEY)/MAX(a.UNIT_BIRTH_SET),4)) as UNIT_BIRTH_PER,
if(null = a.PERSONAL_PENSION_MONEY,'',round(SUM(a.PERSONAL_PENSION_MONEY)/MAX(a.UNIT_PENSION_SET),4)) as PERSONAL_PENSION_PER,
if(null = a.PERSONAL_MEDICAL_MONEY,'',round(SUM(a.PERSONAL_MEDICAL_MONEY)/MAX(a.UNIT_MEDICAL_SET),4)) as PERSONAL_MEDICAL_PER,
if(null = a.PERSONAL_UNEMPLOYMENT_MONEY,'',round(SUM(a.PERSONAL_UNEMPLOYMENT_MONEY)/MAX(a.UNIT_UNEMPLOYMENT_SET),4)) as PERSONAL_UNEMPLOYMENT_PER
FROM t_payment_info a
<where>
IFNULL(a.SOCIAL_ID,'1') != '1'
...
...
@@ -1455,7 +1501,15 @@
a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET,
SUM( a.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM
SUM( a.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM,
'' as UNIT_PENSION_PER,
'' as UNIT_MEDICAL_PER,
'' as UNIT_UNEMPLOYMENT_PER,
'' as UNIT_INJURY_PER,
'' as UNIT_BIRTH_PER,
'' as PERSONAL_PENSION_PER,
'' as PERSONAL_MEDICAL_PER,
'' as PERSONAL_UNEMPLOYMENT_PER
FROM t_payment_info a
<where>
IFNULL(a.FUND_ID,'1') != '1'
...
...
@@ -1554,6 +1608,20 @@
c.PERSONAL_MEDICAL_MONEY,
c.PERSONAL_UNEMPLOYMENT_MONEY,
c.PERSONAL_BIGMAILMENT_MONEY,
c.PENSION_MONEY_SUM,
c.MEDICAL_MONEY_SUM,
c.UNEMPLOYMENT_MONEY_SUM,
c.INJURY_MONEY_SUM,
c.BIRTH_MONEY_SUM,
c.BIGMAILMENT_MONEY_SUM,
c.UNIT_PENSION_PER,
c.UNIT_MEDICAL_PER,
c.UNIT_UNEMPLOYMENT_PER,
c.UNIT_INJURY_PER,
c.UNIT_BIRTH_PER,
c.PERSONAL_PENSION_PER,
c.PERSONAL_MEDICAL_PER,
c.PERSONAL_UNEMPLOYMENT_PER,
c.PROVIDENT_NO AS PROVIDENT_NO,
c.PERSONAL_PROIDENT_SET,
c.UNIT_PROVIDENT_SET,
...
...
@@ -1602,6 +1670,20 @@
w.PERSONAL_MEDICAL_MONEY,
w.PERSONAL_UNEMPLOYMENT_MONEY,
w.PERSONAL_BIGMAILMENT_MONEY,
w.PENSION_MONEY_SUM,
w.MEDICAL_MONEY_SUM,
w.UNEMPLOYMENT_MONEY_SUM,
w.INJURY_MONEY_SUM,
w.BIRTH_MONEY_SUM,
w.BIGMAILMENT_MONEY_SUM,
w.UNIT_PENSION_PER,
w.UNIT_MEDICAL_PER,
w.UNIT_UNEMPLOYMENT_PER,
w.UNIT_INJURY_PER,
w.UNIT_BIRTH_PER,
w.PERSONAL_PENSION_PER,
w.PERSONAL_MEDICAL_PER,
w.PERSONAL_UNEMPLOYMENT_PER,
MAX( w.PROVIDENT_NO ) AS PROVIDENT_NO,
MAX( w.PERSONAL_PROIDENT_SET ) AS PERSONAL_PROIDENT_SET,
SUM( w.UNIT_PROVIDENT_SET ) AS UNIT_PROVIDENT_SET,
...
...
@@ -1650,6 +1732,20 @@
SUM( a.PERSONAL_MEDICAL_MONEY ) AS PERSONAL_MEDICAL_MONEY,
SUM( a.PERSONAL_UNEMPLOYMENT_MONEY ) AS PERSONAL_UNEMPLOYMENT_MONEY,
SUM( a.PERSONAL_BIGMAILMENT_MONEY ) AS PERSONAL_BIGMAILMENT_MONEY,
SUM( a.UNIT_PENSION_MONEY + a.PERSONAL_PENSION_MONEY) as PENSION_MONEY_SUM,
SUM( a.UNIT_MEDICAL_MONEY + a.PERSONAL_MEDICAL_MONEY) as MEDICAL_MONEY_SUM,
SUM( a.UNIT_UNEMPLOYMENT_MONEY + a.PERSONAL_UNEMPLOYMENT_MONEY) as UNEMPLOYMENT_MONEY_SUM,
SUM( a.UNIT_INJURY_MONEY) as INJURY_MONEY_SUM,
SUM( a.UNIT_BIRTH_MONEY) as BIRTH_MONEY_SUM,
SUM( a.UNIT_BIGMAILMENT_MONEY + a.PERSONAL_BIGMAILMENT_MONEY) as BIGMAILMENT_MONEY_SUM,
if(null = a.UNIT_PENSION_MONEY,'',round(SUM(a.UNIT_PENSION_MONEY)/MAX(a.UNIT_PENSION_SET),4)) as UNIT_PENSION_PER,
if(null = a.UNIT_MEDICAL_MONEY,'',round(SUM(a.UNIT_MEDICAL_MONEY)/MAX(a.UNIT_MEDICAL_SET),4)) as UNIT_MEDICAL_PER,
if(null = a.UNIT_UNEMPLOYMENT_MONEY,'',round(SUM(a.UNIT_UNEMPLOYMENT_MONEY)/MAX(a.UNIT_UNEMPLOYMENT_SET),4)) as UNIT_UNEMPLOYMENT_PER,
if(null = a.UNIT_INJURY_MONEY,'',round(SUM(a.UNIT_INJURY_MONEY)/MAX(a.UNIT_INJURY_SET),4)) as UNIT_INJURY_PER,
if(null = a.UNIT_BIRTH_MONEY,'',round(SUM(a.UNIT_BIRTH_MONEY)/MAX(a.UNIT_BIRTH_SET),4)) as UNIT_BIRTH_PER,
if(null = a.PERSONAL_PENSION_MONEY,'',round(SUM(a.PERSONAL_PENSION_MONEY)/MAX(a.UNIT_PENSION_SET),4)) as PERSONAL_PENSION_PER,
if(null = a.PERSONAL_MEDICAL_MONEY,'',round(SUM(a.PERSONAL_MEDICAL_MONEY)/MAX(a.UNIT_MEDICAL_SET),4)) as PERSONAL_MEDICAL_PER,
if(null = a.PERSONAL_UNEMPLOYMENT_MONEY,'',round(SUM(a.PERSONAL_UNEMPLOYMENT_MONEY)/MAX(a.UNIT_UNEMPLOYMENT_SET),4)) as PERSONAL_UNEMPLOYMENT_PER,
a.PROVIDENT_NO,
a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT,
...
...
@@ -1705,6 +1801,20 @@
a.PERSONAL_MEDICAL_MONEY,
a.PERSONAL_UNEMPLOYMENT_MONEY,
a.PERSONAL_BIGMAILMENT_MONEY,
'' as PENSION_MONEY_SUM,
'' as MEDICAL_MONEY_SUM,
'' as UNEMPLOYMENT_MONEY_SUM,
'' as INJURY_MONEY_SUM,
'' as BIRTH_MONEY_SUM,
'' as BIGMAILMENT_MONEY_SUM,
'' as UNIT_PENSION_PER,
'' as UNIT_MEDICAL_PER,
'' as UNIT_UNEMPLOYMENT_PER,
'' as UNIT_INJURY_PER,
'' as UNIT_BIRTH_PER,
'' as PERSONAL_PENSION_PER,
'' as PERSONAL_MEDICAL_PER,
'' as PERSONAL_UNEMPLOYMENT_PER,
a.PROVIDENT_NO,
a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT,
...
...
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialInfoMapper.xml
View file @
a2ebb69d
...
...
@@ -134,6 +134,8 @@
<result
property=
"upperLimit"
column=
"UPPER_LIMIT"
/>
<result
property=
"unitSocialSum"
column=
"UNIT_SOCIAL_SUM"
/>
<result
property=
"personalSocialSum"
column=
"PERSONAL_SOCIAL_SUM"
/>
<result
property=
"firstPayTime"
column=
"FIRST_PAY_TIME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
...
...
@@ -236,7 +238,8 @@
a.UPDATE_TIME,
a.PAY_POLICY,
a.LOWER_LIMIT,
a.UPPER_LIMIT,a.UNIT_SOCIAL_SUM,a.PERSONAL_SOCIAL_SUM
a.UPPER_LIMIT,a.UNIT_SOCIAL_SUM,a.PERSONAL_SOCIAL_SUM,
a.FIRST_PAY_TIME
</sql>
<sql
id=
"tSocialInfo_where"
>
<if
test=
"tSocialInfo != null"
>
...
...
yifu-upms/yifu-upms-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/admin/controller/UserController.java
View file @
a2ebb69d
...
...
@@ -415,6 +415,12 @@ public class UserController {
return
userService
.
getById
(
userId
);
}
@Inner
@PostMapping
(
value
=
{
"/inner/getSimpleUserByLoginName"
})
public
SysUser
getSimpleUserByLoginName
(
@RequestBody
String
loginName
)
{
return
userService
.
getOne
(
Wrappers
.<
SysUser
>
query
().
lambda
().
eq
(
SysUser:
:
getUsername
,
loginName
).
last
(
CommonConstants
.
LAST_ONE_SQL
));
}
/**
* @param nickName 用户名称
* @return 上级部门用户列表
...
...
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