Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
125f2473
Commit
125f2473
authored
Jan 16, 2023
by
hongguangwu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.4' into MVP1.4
parents
9bedb6e3
a8571911
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1505 additions
and
123 deletions
+1505
-123
allBuild.sh
k8s-bash-test/allBuild.sh
+32
-0
busiBuild.sh
k8s-bash-test/busiBuild.sh
+29
-0
TEmployeeContractInfoServiceImpl.java
...chives/service/impl/TEmployeeContractInfoServiceImpl.java
+1
-1
TEmployeeProjectServiceImpl.java
...fu/archives/service/impl/TEmployeeProjectServiceImpl.java
+10
-22
TVacationInfoServiceImpl.java
...iness/service/vacation/impl/TVacationInfoServiceImpl.java
+2
-5
TCheckBankNoController.java
...loud/plus/v1/check/controller/TCheckBankNoController.java
+14
-0
TCheckBankNoService.java
...yifu/cloud/plus/v1/check/service/TCheckBankNoService.java
+9
-0
TCheckBankNoServiceImpl.java
...d/plus/v1/check/service/impl/TCheckBankNoServiceImpl.java
+22
-0
EkpSalaryUtil.java
...a/com/yifu/cloud/plus/v1/yifu/ekp/util/EkpSalaryUtil.java
+3
-4
EkpSalaryParam.java
...va/com/yifu/cloud/plus/v1/yifu/ekp/vo/EkpSalaryParam.java
+5
-0
EkpSalaryStandardParam.java
...ifu/cloud/plus/v1/yifu/ekp/vo/EkpSalaryStandardParam.java
+0
-45
TApprovalRecord.java
...ifu/cloud/plus/v1/yifu/salary/entity/TApprovalRecord.java
+2
-1
TSalaryEmployee.java
...ifu/cloud/plus/v1/yifu/salary/entity/TSalaryEmployee.java
+9
-0
TSalaryStandard.java
...ifu/cloud/plus/v1/yifu/salary/entity/TSalaryStandard.java
+8
-0
TSalaryStandardIssue.java
...loud/plus/v1/yifu/salary/entity/TSalaryStandardIssue.java
+140
-0
TSalaryStandardIssueRes.java
...d/plus/v1/yifu/salary/entity/TSalaryStandardIssueRes.java
+139
-0
SalaryUploadParamVo.java
...ifu/cloud/plus/v1/yifu/salary/vo/SalaryUploadParamVo.java
+38
-0
TSalaryDetailVo.java
...om/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryDetailVo.java
+5
-4
TSalaryStandardIssueResSearchVo.java
...us/v1/yifu/salary/vo/TSalaryStandardIssueResSearchVo.java
+51
-0
TSalaryStandardIssueSearchVo.java
.../plus/v1/yifu/salary/vo/TSalaryStandardIssueSearchVo.java
+58
-0
SalaryUploadController.java
...lus/v1/yifu/salary/controller/SalaryUploadController.java
+3
-3
TSalaryStandardController.java
.../v1/yifu/salary/controller/TSalaryStandardController.java
+9
-0
TSalaryStandardIssueController.java
...ifu/salary/controller/TSalaryStandardIssueController.java
+137
-0
TSalaryStandardIssueMapper.java
...lus/v1/yifu/salary/mapper/TSalaryStandardIssueMapper.java
+41
-0
TSalaryStandardIssueResMapper.java
.../v1/yifu/salary/mapper/TSalaryStandardIssueResMapper.java
+33
-0
SalaryUploadService.java
...loud/plus/v1/yifu/salary/service/SalaryUploadService.java
+2
-3
TSalaryEmployeeService.java
...d/plus/v1/yifu/salary/service/TSalaryEmployeeService.java
+9
-0
TSalaryStandardIssueResService.java
...1/yifu/salary/service/TSalaryStandardIssueResService.java
+40
-0
TSalaryStandardIssueService.java
...s/v1/yifu/salary/service/TSalaryStandardIssueService.java
+50
-0
TSalaryStandardService.java
...d/plus/v1/yifu/salary/service/TSalaryStandardService.java
+2
-0
SalaryUploadServiceImpl.java
.../v1/yifu/salary/service/impl/SalaryUploadServiceImpl.java
+56
-11
TSalaryEmployeeServiceImpl.java
.../yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
+32
-1
TSalaryStandardIssueResServiceImpl.java
...lary/service/impl/TSalaryStandardIssueResServiceImpl.java
+56
-0
TSalaryStandardIssueServiceImpl.java
.../salary/service/impl/TSalaryStandardIssueServiceImpl.java
+168
-0
TSalaryStandardServiceImpl.java
.../yifu/salary/service/impl/TSalaryStandardServiceImpl.java
+69
-19
SalaryAccountUtil.java
...ifu/cloud/plus/v1/yifu/salary/util/SalaryAccountUtil.java
+23
-3
TSalaryAccountMapper.xml
...ry-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
+2
-0
TSalaryStandardIssueMapper.xml
.../src/main/resources/mapper/TSalaryStandardIssueMapper.xml
+123
-0
TSalaryStandardIssueResMapper.xml
...c/main/resources/mapper/TSalaryStandardIssueResMapper.xml
+70
-0
TSalaryStandardMapper.xml
...y-biz/src/main/resources/mapper/TSalaryStandardMapper.xml
+3
-1
No files found.
k8s-bash-test/allBuild.sh
0 → 100644
View file @
125f2473
#!/bin/bash
#k8s升级所有版本,滚动更新
cd
../
thisPath
=
`
pwd
`
#鉴权
cd
$thisPath
"/yifu-auth"
sh build-test.sh
#登录基础服务
cd
$thisPath
"/yifu-upms/yifu-upms-biz"
sh build-test.sh
#档案服务
cd
$thisPath
"/yifu-archives/yifu-archives-biz"
sh build-test.sh
#校验身份证、银行卡、手机号服务
cd
$thisPath
"/yifu-check/yifu-check-biz"
sh build-test.sh
#商险服务
cd
$thisPath
"/yifu-insurances/yifu-insurances-biz"
sh build-test.sh
#定时任务服务
cd
$thisPath
"/yifu-job/yifu-job-biz"
sh build-test.sh
#订单服务
cd
$thisPath
"/yifu-order/yifu-order-biz"
sh build-test.sh
#薪资服务
cd
$thisPath
"/yifu-salary/yifu-salary-biz"
sh build-test.sh
#社保服务
cd
$thisPath
"/yifu-social/yifu-social-biz"
sh build-test.sh
k8s-bash-test/busiBuild.sh
0 → 100644
View file @
125f2473
#!/bin/bash
#k8s升级所有版本,滚动更新
cd
../
thisPath
=
`
pwd
`
#档案服务
cd
$thisPath
"/yifu-archives/yifu-archives-biz"
sh build-test.sh
#校验身份证、银行卡、手机号服务
cd
$thisPath
"/yifu-check/yifu-check-biz"
sh build-test.sh
#商险服务
cd
$thisPath
"/yifu-insurances/yifu-insurances-biz"
sh build-test.sh
#定时任务服务
cd
$thisPath
"/yifu-job/yifu-job-biz"
sh build-test.sh
#订单服务
cd
$thisPath
"/yifu-order/yifu-order-biz"
sh build-test.sh
#薪资服务
cd
$thisPath
"/yifu-salary/yifu-salary-biz"
sh build-test.sh
#社保服务
cd
$thisPath
"/yifu-social/yifu-social-biz"
sh build-test.sh
#B端服务
#cd $thisPath"/yifu-business/yifu-business-biz"
#sh build-test.sh
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeContractInfoServiceImpl.java
View file @
125f2473
...
...
@@ -1394,7 +1394,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
// 不是待提交,记录审核记录
this
.
setAuditInfo
(
tEmployeeContractInfo
);
this
.
updateById
(
tEmployeeContractInfo
);
errorMessages
.
add
(
new
ErrorMessage
(
i
,
"审核成功!"
,
CommonConstants
.
GREEN
));
errorMessages
.
add
(
new
ErrorMessage
(
i
,
"审核成功!"
,
CommonConstants
.
GREEN
,
contract
.
getApplyNo
()
));
}
if
(
errorCount
==
CommonConstants
.
ZERO_INT
){
return
R
.
ok
();
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java
View file @
125f2473
...
...
@@ -399,21 +399,15 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
TEmployeeProject
tEmployeeProjectOld
=
this
.
getById
(
tEmployeeProject
.
getId
());
String
code
=
""
;
StringBuilder
errorTemp
=
new
StringBuilder
();
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
])
{
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
]
||
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
]
||
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"社保未派减、"
);
}
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
])
{
errorTemp
.
append
(
"社保部分购买、"
);
}
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"社保正常缴纳、"
);
}
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
])
{
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
]
||
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
])
{
errorTemp
.
append
(
"公积金未派减、"
);
}
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"公积金正常缴纳、"
);
}
// 未作废,在用 或 审核中
long
contractCount
=
contractInfoMapper
.
selectCount
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
tEmployeeProject
.
getEmpIdcard
())
...
...
@@ -601,21 +595,15 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
}
if
(
Common
.
isNotNull
(
tEmployeeProject
))
{
errorTemp
=
new
StringBuilder
();
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
])
{
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
]
||
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
]
||
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"社保未派减、"
);
}
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
])
{
errorTemp
.
append
(
"社保部分购买、"
);
}
if
(
tEmployeeProject
.
getSocialStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"社保正常缴纳、"
);
}
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
])
{
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
1
]
||
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
2
])
{
errorTemp
.
append
(
"公积金未派减、"
);
}
if
(
tEmployeeProject
.
getFundStatus
()
==
CommonConstants
.
dingleDigitIntArray
[
3
])
{
errorTemp
.
append
(
"公积金正常缴纳、"
);
}
// 未作废,在用 或 审核中
contractCount
=
contractInfoMapper
.
selectCount
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
tEmployeeProject
.
getEmpIdcard
())
...
...
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/vacation/impl/TVacationInfoServiceImpl.java
View file @
125f2473
...
...
@@ -186,7 +186,6 @@ implements TVacationInfoService {
// 初始化人员拓展信息map和假勤类型map
HashMap
<
String
,
TBusinessEmployeeExtendInfo
>
employeeExtentMap
=
Common
.
listToHashMapByKey
(
employeeExtentList
,
"businessTelecomNumber"
);
HashMap
<
String
,
TBusDept
>
busDeptMap
=
Common
.
listToHashMapByKey
(
busDeptList
,
"name"
);
HashMap
<
String
,
ErrorMessage
>
errorMessageHashMap
=
Common
.
listToHashMapByKey
(
errorMessageList
,
"line"
);
int
size
=
list
.
size
();
Map
<
String
,
String
>
sysMap
=
new
HashMap
<>();
Map
<
String
,
String
>
dicObj
=
(
Map
<
String
,
String
>)
RedisUtil
.
redis
.
opsForValue
().
get
(
...
...
@@ -201,20 +200,18 @@ implements TVacationInfoService {
return
R
.
failed
(
errorMessageList
,
BusinessResultErrorMsg
.
SYS_ITEM_NOT_EXIST
);
}
TBusinessEmployeeExtendInfo
businessEmployeeExtend
;
ErrorMessage
errorMessage
;
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
int
line
=
i
+
2
;
TVacationInfo
entity
=
new
TVacationInfo
();
ImportVacationInfoDTO
dto
=
list
.
get
(
i
);
businessEmployeeExtend
=
employeeExtentMap
.
get
(
dto
.
getBusinessTelecomNumber
());
businessEmployeeExtend
=
employeeExtentMap
.
get
(
dto
.
getBusinessTelecomNumber
());
if
(
null
==
businessEmployeeExtend
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
line
,
BusinessResultErrorMsg
.
BUSINESS_TELECOM_NUMBER_NOT_EXIST
,
CommonConstants
.
RED
));
continue
;
}
TBusDept
busDept
=
busDeptMap
.
get
(
businessEmployeeExtend
.
getDepartName
());
errorMessage
=
errorMessageHashMap
.
get
(
line
+
""
);
boolean
isSave
=
true
;
if
(
null
!=
errorMessage
)
{
if
(
!
errorMessageList
.
isEmpty
()
&&
errorMessageList
.
stream
().
allMatch
(
e
->
e
.
getLineNum
()
==
line
)
)
{
continue
;
}
if
(
Common
.
isEmpty
(
sysMap
.
get
(
dto
.
getVacationType
())))
{
...
...
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/controller/TCheckBankNoController.java
View file @
125f2473
...
...
@@ -121,4 +121,18 @@ public class TCheckBankNoController {
public
CheckBankNoVo
checkBankNoInner
(
@RequestBody
TCheckBankNo
checkBankNo
)
{
return
tCheckBankNoService
.
checkBankNoTwo
(
checkBankNo
.
getName
(),
checkBankNo
.
getBankNo
());
}
/**
* @Description: 代发户调用银行卡校验--如果其他接口也要调用,加上信息
* @Author: hgw
* @Date: 2023/1/13 9:41
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.check.entity.TCheckBankNo>
**/
@Operation
(
description
=
"调用银行卡校验"
)
@SysLog
(
"调用银行卡校验"
)
@PostMapping
(
"/checkBankNo"
)
public
R
<
TCheckBankNo
>
checkBankNo
(
@RequestParam
String
name
,
@RequestParam
String
bankNo
)
{
return
tCheckBankNoService
.
checkBankNo
(
name
,
bankNo
);
}
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/service/TCheckBankNoService.java
View file @
125f2473
...
...
@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.check.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.check.vo.CheckBankNoVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
/**
* 银行卡卡号 校验
...
...
@@ -29,5 +30,13 @@ import com.yifu.cloud.plus.v1.check.vo.CheckBankNoVo;
*/
public
interface
TCheckBankNoService
extends
IService
<
TCheckBankNo
>
{
/**
* @Description: 代发户调用银行卡校验
* @Author: hgw
* @Date: 2023/1/13 9:39
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.check.entity.TCheckBankNo>
**/
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
cardNo
);
CheckBankNoVo
checkBankNoTwo
(
String
name
,
String
cardNo
);
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/service/impl/TCheckBankNoServiceImpl.java
View file @
125f2473
...
...
@@ -44,6 +44,28 @@ public class TCheckBankNoServiceImpl extends ServiceImpl<TCheckBankNoMapper, TCh
private
final
TCanCheckService
canCheckService
;
@Override
public
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
cardNo
)
{
synchronized
(
this
){
TCheckBankNo
checkBankNo
=
baseMapper
.
selectOne
(
Wrappers
.<
TCheckBankNo
>
query
().
lambda
()
.
eq
(
TCheckBankNo:
:
getBankNo
,
cardNo
)
.
eq
(
TCheckBankNo:
:
getName
,
name
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
Common
.
isNotNull
(
checkBankNo
)){
if
(
"01"
.
equals
(
checkBankNo
.
getResult
()))
{
return
R
.
ok
(
checkBankNo
);
}
else
{
return
R
.
failed
(
checkBankNo
);
}
}
R
<
TCheckBankNo
>
resR
=
ChecksUtil
.
checkBankNoTwo
(
name
,
cardNo
,
canCheckService
.
getCanCheck
());
if
(
Common
.
isNotNull
(
resR
)
&&
Common
.
isNotNull
(
resR
.
getData
())){
baseMapper
.
insert
(
resR
.
getData
());
}
return
resR
;
}
}
@Override
public
CheckBankNoVo
checkBankNoTwo
(
String
name
,
String
cardNo
)
{
CheckBankNoVo
vo
=
new
CheckBankNoVo
();
...
...
yifu-common/yifu-common-ekp/src/main/java/com/yifu/cloud/plus/v1/yifu/ekp/util/EkpSalaryUtil.java
View file @
125f2473
...
...
@@ -5,7 +5,6 @@ import com.yifu.cloud.plus.v1.yifu.ekp.config.EkpSalaryProperties;
import
com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants
;
import
com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryBackParam
;
import
com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam
;
import
com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryStandardParam
;
import
io.micrometer.core.instrument.util.StringUtils
;
import
lombok.extern.log4j.Log4j2
;
import
org.codehaus.jackson.map.ObjectMapper
;
...
...
@@ -67,18 +66,18 @@ public class EkpSalaryUtil {
}
// 推送主表到ekp
public
String
sendStandardToEKP
(
String
loginName
,
EkpSalaryStandardParam
param
){
public
String
sendStandardToEKP
(
String
loginName
,
String
param
){
log
.
info
(
"推送EKP开始--薪资主表数据"
);
RestTemplate
yourRestTemplate
=
new
RestTemplate
();
try
{
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
String
formValues
=
new
ObjectMapper
().
writeValueAsString
(
param
);
//String formValues = new ObjectMapper().writeValueAsString(param)
MultiValueMap
<
String
,
Object
>
wholeForm
=
new
LinkedMultiValueMap
<>();
wholeForm
.
add
(
"docSubject"
,
ekpProperties
.
getDocSubject
());
wholeForm
.
add
(
"docCreator"
,
"{\"LoginName\":\""
+
loginName
+
"\"}"
);
wholeForm
.
add
(
"docStatus"
,
ekpProperties
.
getDocStatus
());
wholeForm
.
add
(
"formValues"
,
formValues
);
wholeForm
.
add
(
"formValues"
,
param
);
wholeForm
.
add
(
"fdModelId"
,
ekpProperties
.
getStandardFdModelId
());
wholeForm
.
add
(
"fdFlowId"
,
ekpProperties
.
getStandardFdFlowId
());
HttpHeaders
headers
=
new
HttpHeaders
();
...
...
yifu-common/yifu-common-ekp/src/main/java/com/yifu/cloud/plus/v1/yifu/ekp/vo/EkpSalaryParam.java
View file @
125f2473
...
...
@@ -57,6 +57,11 @@ public class EkpSalaryParam implements Serializable {
* 开户行
**/
private
String
fd_3adfedfc453cc4
;
/**
* 开户行支行
* 2023-1-12 11:40:13 hgw
**/
private
String
fd_3b73de2809465a
;
/**
* 工资月份
**/
...
...
yifu-common/yifu-common-ekp/src/main/java/com/yifu/cloud/plus/v1/yifu/ekp/vo/EkpSalaryStandardParam.java
deleted
100644 → 0
View file @
9bedb6e3
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
ekp
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Author hgw
* @Date 2022-11-3 15:20:35
* @Description 薪资主表对应参数
* @Version 1.0
*/
@Data
public
class
EkpSalaryStandardParam
implements
Serializable
{
/**
* 项目名称
**/
private
String
fd_3b3bf2c3b1a6cc
;
/**
* 项目编码
**/
private
String
fd_3b3bf2c426cfc8
;
/**
* 薪酬申请编号
**/
private
String
fd_3b3bf2c4975776
;
/**
* 工资薪酬申请id
**/
private
String
fd_3b3bf2c58d2b46
;
/**
* 薪酬原表下载地址
**/
private
String
fd_3b3cbe1d05f0d6
;
/**
* 项目金额
**/
private
String
fd_3b3d3ec95b68fc
;
/**
* 薪酬月份
**/
private
String
fd_3b3d3ec85bfeb0
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TApprovalRecord.java
View file @
125f2473
...
...
@@ -29,6 +29,7 @@ import lombok.EqualsAndHashCode;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
...
...
@@ -41,7 +42,7 @@ import java.util.Date;
@TableName
(
"t_approval_record"
)
@EqualsAndHashCode
()
@Schema
(
description
=
"审批记录表"
)
public
class
TApprovalRecord
{
public
class
TApprovalRecord
implements
Serializable
{
/**
* 主键
...
...
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TSalaryEmployee.java
View file @
125f2473
...
...
@@ -191,4 +191,13 @@ public class TSalaryEmployee extends BaseEntity {
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"在职状态"
)
private
String
fileStatus
;
/**
* 代发户状态(0正常;1代发户进的数据,下次要验证银行卡)
*/
@ExcelAttribute
(
name
=
"代发户状态(0正常;1代发户进的数据,下次要验证银行卡)"
)
@ExcelProperty
(
"代发户状态(0正常;1代发户进的数据,下次要验证银行卡)"
)
@Schema
(
description
=
"代发户状态(0正常;1代发户进的数据,下次要验证银行卡)"
)
private
Integer
issueStatus
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TSalaryStandard.java
View file @
125f2473
...
...
@@ -431,6 +431,14 @@ public class TSalaryStandard extends BaseEntity {
@ExcelProperty
(
"生成、推送收入的完成时间"
)
private
Date
incomeEndTime
;
/**
* 代发户状态(0正常;1代发户)
*/
@ExcelAttribute
(
name
=
"代发户状态(0正常;1代发户)"
)
@ExcelProperty
(
"代发户状态(0正常;1代发户)"
)
@Schema
(
description
=
"代发户状态(0正常;1代发户)"
)
private
Integer
issueStatus
;
/**
* 工资月份-起
*/
...
...
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TSalaryStandardIssue.java
0 → 100644
View file @
125f2473
/*
* 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 hgw
* @date 2023-01-10 11:34:27
*/
@Data
@TableName
(
"t_salary_standard_issue"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"薪资代发户配置"
)
public
class
TSalaryStandardIssue
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 部门ID
*/
@ExcelAttribute
(
name
=
"部门ID"
,
isNotEmpty
=
true
,
errorInfo
=
"部门ID不能为空"
,
maxLength
=
32
)
@NotBlank
(
message
=
"部门ID不能为空"
)
@Length
(
max
=
32
,
message
=
"部门ID不能超过32个字符"
)
@ExcelProperty
(
"部门ID"
)
@Schema
(
description
=
"部门ID"
)
private
String
deptId
;
/**
* 部门名称
*/
@ExcelAttribute
(
name
=
"部门名称"
,
isNotEmpty
=
true
,
errorInfo
=
"部门名称不能为空"
,
maxLength
=
50
)
@NotBlank
(
message
=
"部门名称不能为空"
)
@Length
(
max
=
50
,
message
=
"部门名称不能超过50个字符"
)
@ExcelProperty
(
"部门名称"
)
@Schema
(
description
=
"部门名称"
)
private
String
deptName
;
/**
* 部门编码
*/
@ExcelAttribute
(
name
=
"部门编码"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"部门编码不能超过32个字符"
)
@ExcelProperty
(
"部门编码"
)
@Schema
(
description
=
"部门编码"
)
private
String
deptNo
;
/**
* 户名
*/
@ExcelAttribute
(
name
=
"户名"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"户名不能超过50个字符"
)
@ExcelProperty
(
"户名"
)
@Schema
(
description
=
"户名"
)
private
String
orgName
;
/**
* 开户行总行
*/
@ExcelAttribute
(
name
=
"开户行总行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行总行不能超过50个字符"
)
@ExcelProperty
(
"开户行总行"
)
@Schema
(
description
=
"开户行总行"
)
private
String
bankName
;
/**
* 开户行支行
*/
@ExcelAttribute
(
name
=
"开户行支行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行支行不能超过50个字符"
)
@ExcelProperty
(
"开户行支行"
)
@Schema
(
description
=
"开户行支行"
)
private
String
bankSubName
;
/**
* 银行卡号
*/
@ExcelAttribute
(
name
=
"银行卡号"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"银行卡号不能超过50个字符"
)
@ExcelProperty
(
"银行卡号"
)
@Schema
(
description
=
"银行卡号"
)
private
String
bankNo
;
/**
* 开户行省
*/
@ExcelAttribute
(
name
=
"开户行省"
)
@ExcelProperty
(
"开户行省"
)
@Schema
(
description
=
"开户行省"
)
private
Integer
bankProvince
;
/**
* 开户行市
*/
@ExcelAttribute
(
name
=
"开户行市"
)
@ExcelProperty
(
"开户行市"
)
@Schema
(
description
=
"开户行市"
)
private
Integer
bankCity
;
/**
* 开户行省名称
*/
@ExcelAttribute
(
name
=
"开户行省名称"
)
@ExcelProperty
(
"开户行省名称"
)
@Schema
(
description
=
"开户行省名称"
)
private
String
bankProvinceName
;
/**
* 开户行市
*/
@ExcelAttribute
(
name
=
"开户行市名称"
)
@ExcelProperty
(
"开户行市名称"
)
@Schema
(
description
=
"开户行市名称"
)
private
String
bankCityName
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TSalaryStandardIssueRes.java
0 → 100644
View file @
125f2473
/*
* 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
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
;
import
java.math.BigDecimal
;
/**
* 薪资表与代发户表关联表
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Data
@TableName
(
"t_salary_standard_issue_res"
)
@Schema
(
description
=
"薪资表与代发户表关联表"
)
public
class
TSalaryStandardIssueRes
implements
Serializable
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 代发户配置id
*/
@ExcelAttribute
(
name
=
"代发户配置id"
,
isNotEmpty
=
true
,
errorInfo
=
"代发户配置id不能为空"
,
maxLength
=
32
)
@NotBlank
(
message
=
"代发户配置id不能为空"
)
@Length
(
max
=
32
,
message
=
"代发户配置id不能超过32个字符"
)
@ExcelProperty
(
"代发户配置id"
)
@Schema
(
description
=
"代发户配置id"
)
private
String
issueId
;
/**
* 薪资主表id
*/
@ExcelAttribute
(
name
=
"薪资主表id"
,
isNotEmpty
=
true
,
errorInfo
=
"薪资主表id不能为空"
,
maxLength
=
32
)
@NotBlank
(
message
=
"薪资主表id不能为空"
)
@Length
(
max
=
32
,
message
=
"薪资主表id不能超过32个字符"
)
@ExcelProperty
(
"薪资主表id"
)
@Schema
(
description
=
"薪资主表id"
)
private
String
salaryId
;
/**
* money
*/
@ExcelAttribute
(
name
=
"money"
,
isNotEmpty
=
true
,
errorInfo
=
"money不能为空"
)
@NotBlank
(
message
=
"money不能为空"
)
@ExcelProperty
(
"money"
)
@Schema
(
description
=
"money"
)
private
BigDecimal
money
;
/**
* 户名
*/
@ExcelAttribute
(
name
=
"户名"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"户名不能超过50个字符"
)
@ExcelProperty
(
"户名"
)
@Schema
(
description
=
"户名"
)
private
String
orgName
;
/**
* 开户行总行
*/
@ExcelAttribute
(
name
=
"开户行总行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行总行不能超过50个字符"
)
@ExcelProperty
(
"开户行总行"
)
@Schema
(
description
=
"开户行总行"
)
private
String
bankName
;
/**
* 开户行支行
*/
@ExcelAttribute
(
name
=
"开户行支行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行支行不能超过50个字符"
)
@ExcelProperty
(
"开户行支行"
)
@Schema
(
description
=
"开户行支行"
)
private
String
bankSubName
;
/**
* 银行卡号
*/
@ExcelAttribute
(
name
=
"银行卡号"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"银行卡号不能超过50个字符"
)
@ExcelProperty
(
"银行卡号"
)
@Schema
(
description
=
"银行卡号"
)
private
String
bankNo
;
/**
* 开户行省
*/
@ExcelAttribute
(
name
=
"开户行省"
)
@ExcelProperty
(
"开户行省"
)
@Schema
(
description
=
"开户行省"
)
private
Integer
bankProvince
;
/**
* 开户行市
*/
@ExcelAttribute
(
name
=
"开户行市"
)
@ExcelProperty
(
"开户行市"
)
@Schema
(
description
=
"开户行市"
)
private
Integer
bankCity
;
/**
* 开户行省名称
*/
@ExcelAttribute
(
name
=
"开户行省名称"
)
@ExcelProperty
(
"开户行省名称"
)
@Schema
(
description
=
"开户行省名称"
)
private
String
bankProvinceName
;
/**
* 开户行市
*/
@ExcelAttribute
(
name
=
"开户行市名称"
)
@ExcelProperty
(
"开户行市名称"
)
@Schema
(
description
=
"开户行市名称"
)
private
String
bankCityName
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/SalaryUploadParamVo.java
0 → 100644
View file @
125f2473
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.List
;
/**
* @author hgw2
* @description 薪资上传vo
* @date 2023/1/10
*/
@Getter
@Setter
public
class
SalaryUploadParamVo
{
// 表格json
String
jsonString
;
// 结算主体id;必填
String
settleDepart
;
// 工资配置结算月等信息的id
String
configId
;
// 工资类型。必填
String
salaryType
;
// 订单id
String
orderId
;
// 是否代发户,默认为空或0:非代发户,1是代发户
Integer
isIssue
;
// 代发户的配置list
List
<
TSalaryStandardIssueRes
>
resList
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryDetailVo.java
View file @
125f2473
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TApprovalRecord
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.*
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -36,5 +33,9 @@ public class TSalaryDetailVo implements Serializable {
* 薪资类审核记录 fxj 2021-11-15
*/
private
List
<
TApprovalRecord
>
auditLogList
=
new
ArrayList
<>();
/**
* 代发户列表 hgw 2023-1-13 14:36:34
*/
private
List
<
TSalaryStandardIssueRes
>
resList
=
new
ArrayList
<>();
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryStandardIssueResSearchVo.java
0 → 100644
View file @
125f2473
/*
* 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.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
/**
* 薪资表与代发户表关联表
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Data
public
class
TSalaryStandardIssueResSearchVo
extends
TSalaryStandardIssueRes
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TSalaryStandardIssueSearchVo.java
0 → 100644
View file @
125f2473
/*
* 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.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssue
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 薪资代发户配置
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Data
public
class
TSalaryStandardIssueSearchVo
extends
TSalaryStandardIssue
{
/**
* 多选导出或删除等操作
*/
@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
;
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/SalaryUploadController.java
View file @
125f2473
...
...
@@ -4,6 +4,7 @@ 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.salary.service.SalaryUploadService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryUploadParamVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryDetailVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -40,9 +41,8 @@ public class SalaryUploadController {
@Operation
(
description
=
"上传:jsonString:表格json;settleDepart:结算主体id;configId:工资配置结算月等信息的id;salaryType:工资类型"
)
@SysLog
(
"上传薪资表"
)
@PostMapping
(
"/upload"
)
public
R
<
List
<
ErrorMessage
>>
upload
(
@RequestBody
String
jsonString
,
@RequestParam
String
settleDepart
,
@RequestParam
(
required
=
false
)
String
configId
,
@RequestParam
String
salaryType
,
@RequestParam
(
required
=
false
)
String
orderId
)
{
return
salaryUploadService
.
salaryUpload
(
jsonString
,
settleDepart
,
configId
,
salaryType
,
orderId
);
public
R
<
List
<
ErrorMessage
>>
upload
(
@RequestBody
SalaryUploadParamVo
vo
)
{
return
salaryUploadService
.
salaryUpload
(
vo
);
}
@Operation
(
description
=
"打开结算单"
)
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/TSalaryStandardController.java
View file @
125f2473
...
...
@@ -239,4 +239,13 @@ public class TSalaryStandardController {
public
R
<
String
>
salaryDoIncome
(
@RequestParam
String
id
)
{
return
tSalaryStandardService
.
salaryDoIncome
(
id
);
}
@Operation
(
description
=
"测试推送EKP主表含代发户list"
)
@SysLog
(
"测试推送EKP主表含代发户list"
)
@PostMapping
(
"/testSendEkpList"
)
public
String
testSendEkpList
(
@RequestParam
String
id
)
{
return
tSalaryStandardService
.
testSendEkpList
(
id
);
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/TSalaryStandardIssueController.java
0 → 100644
View file @
125f2473
/*
* 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.TSalaryStandardIssue
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardIssueService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardIssueSearchVo
;
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
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 薪资代发户配置
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tsalarystandardissue"
)
@Tag
(
name
=
"薪资代发户配置管理"
)
public
class
TSalaryStandardIssueController
{
private
final
TSalaryStandardIssueService
tSalaryStandardIssueService
;
/**
* 简单分页查询
* @param page 分页对象
* @param tSalaryStandardIssue 薪资代发户配置
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TSalaryStandardIssue
>>
getTSalaryStandardIssuePage
(
Page
<
TSalaryStandardIssue
>
page
,
TSalaryStandardIssueSearchVo
tSalaryStandardIssue
)
{
return
new
R
<>(
tSalaryStandardIssueService
.
getTSalaryStandardIssuePage
(
page
,
tSalaryStandardIssue
));
}
/**
* 不分页查询
* @param tSalaryStandardIssue 薪资代发户配置
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
//@PreAuthorize("@pms.hasPermission('tsalarystandardissue_get')" )
public
R
<
List
<
TSalaryStandardIssue
>>
getTSalaryStandardIssueNoPage
(
@RequestBody
TSalaryStandardIssueSearchVo
tSalaryStandardIssue
)
{
return
R
.
ok
(
tSalaryStandardIssueService
.
noPageDiy
(
tSalaryStandardIssue
));
}
/**
* 通过id查询薪资代发户配置
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('tsalarystandardissue_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('tsalarystandardissue_get')"
)
public
R
<
TSalaryStandardIssue
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tSalaryStandardIssueService
.
getById
(
id
));
}
/**
* 新增薪资代发户配置
* @param tSalaryStandardIssue 薪资代发户配置
* @return R
*/
@Operation
(
summary
=
"新增薪资代发户配置"
,
description
=
"新增薪资代发户配置:hasPermission('tsalarystandardissue_add')"
)
@SysLog
(
"新增薪资代发户配置"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('tsalarystandardissue_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TSalaryStandardIssue
tSalaryStandardIssue
)
{
return
R
.
ok
(
tSalaryStandardIssueService
.
save
(
tSalaryStandardIssue
));
}
/**
* 修改薪资代发户配置
* @param tSalaryStandardIssue 薪资代发户配置
* @return R
*/
@Operation
(
summary
=
"修改薪资代发户配置"
,
description
=
"修改薪资代发户配置:hasPermission('tsalarystandardissue_edit')"
)
@SysLog
(
"修改薪资代发户配置"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('tsalarystandardissue_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TSalaryStandardIssue
tSalaryStandardIssue
)
{
return
R
.
ok
(
tSalaryStandardIssueService
.
updateById
(
tSalaryStandardIssue
));
}
/**
* 通过id删除薪资代发户配置
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除薪资代发户配置"
,
description
=
"通过id删除薪资代发户配置:hasPermission('tsalarystandardissue_del')"
)
@SysLog
(
"通过id删除薪资代发户配置"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('tsalarystandardissue_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tSalaryStandardIssueService
.
removeById
(
id
));
}
/**
* 薪资代发户配置 批量导出
* @author hgw
* @date 2023-01-10 11:34:27
**/
@Operation
(
description
=
"导出薪资代发户配置 hasPermission('tsalarystandardissue-export')"
)
@PostMapping
(
"/export"
)
@PreAuthorize
(
"@pms.hasPermission('tsalarystandardissue-export')"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TSalaryStandardIssueSearchVo
searchVo
)
{
tSalaryStandardIssueService
.
listExport
(
response
,
searchVo
);
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TSalaryStandardIssueMapper.java
0 → 100644
View file @
125f2473
/*
* 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.TSalaryStandardIssue
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* 薪资代发户配置
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Mapper
public
interface
TSalaryStandardIssueMapper
extends
BaseMapper
<
TSalaryStandardIssue
>
{
/**
* 薪资代发户配置简单分页查询
* @param tSalaryStandardIssue 薪资代发户配置
* @return
*/
IPage
<
TSalaryStandardIssue
>
getTSalaryStandardIssuePage
(
Page
<
TSalaryStandardIssue
>
page
,
@Param
(
"tSalaryStandardIssue"
)
TSalaryStandardIssue
tSalaryStandardIssue
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TSalaryStandardIssueResMapper.java
0 → 100644
View file @
125f2473
/*
* 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.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 薪资表与代发户表关联表
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Mapper
public
interface
TSalaryStandardIssueResMapper
extends
BaseMapper
<
TSalaryStandardIssueRes
>
{
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/SalaryUploadService.java
View file @
125f2473
...
...
@@ -4,6 +4,7 @@ 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.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryUploadParamVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryDetailVo
;
import
java.util.List
;
...
...
@@ -17,15 +18,13 @@ import java.util.List;
public
interface
SalaryUploadService
extends
IService
<
TSalaryStandard
>
{
/**
* @param jsonString
*repeatFlag 默认 0:不允许重复导入已存在系统内的数据;1:允许重复导入
* @param orderId
* @Description: 普通工资上传
* @Author: hgw
* @Date: 2019/9/4 15:58
* @return: com.yifu.cloud.v1.common.core.util.R
**/
R
<
List
<
ErrorMessage
>>
salaryUpload
(
S
tring
jsonString
,
String
settleDepart
,
String
configId
,
String
formType
,
String
orderId
);
R
<
List
<
ErrorMessage
>>
salaryUpload
(
S
alaryUploadParamVo
vo
);
R
<
TSalaryDetailVo
>
getBill
(
String
salaryFormId
);
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryEmployeeService.java
View file @
125f2473
...
...
@@ -71,4 +71,13 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
TSalaryEmployee
getByEmpIdCard
(
String
empIdCard
);
/**
* @param employee
* @Description: 代发户的,下次校验银行卡,同时变更校验flag
* @Author: hgw
* @Date: 2023/1/10 18:09
* @return: boolean
**/
boolean
checkBankInfo
(
TSalaryEmployee
employee
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryStandardIssueResService.java
0 → 100644
View file @
125f2473
/*
* 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.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardIssueResSearchVo
;
import
java.util.List
;
/**
* 薪资表与代发户表关联表
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
public
interface
TSalaryStandardIssueResService
extends
IService
<
TSalaryStandardIssueRes
>
{
/**
* @Description: 薪资表与代发户表关联表简单不分页查询
* @Author: hgw
* @Date: 2023/1/10 14:34
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes>
**/
List
<
TSalaryStandardIssueRes
>
noPageDiy
(
TSalaryStandardIssueResSearchVo
searchVo
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryStandardIssueService.java
0 → 100644
View file @
125f2473
/*
* 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.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssue
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardIssueSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
* 薪资代发户配置
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
public
interface
TSalaryStandardIssueService
extends
IService
<
TSalaryStandardIssue
>
{
/**
* 薪资代发户配置简单分页查询
*
* @param tSalaryStandardIssue 薪资代发户配置
* @return
*/
IPage
<
TSalaryStandardIssue
>
getTSalaryStandardIssuePage
(
Page
<
TSalaryStandardIssue
>
page
,
TSalaryStandardIssueSearchVo
tSalaryStandardIssue
);
void
listExport
(
HttpServletResponse
response
,
TSalaryStandardIssueSearchVo
searchVo
);
List
<
TSalaryStandardIssue
>
noPageDiy
(
TSalaryStandardIssueSearchVo
searchVo
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryStandardService.java
View file @
125f2473
...
...
@@ -113,4 +113,6 @@ public interface TSalaryStandardService extends IService<TSalaryStandard> {
**/
R
<
String
>
backSalaryByApplyNo
(
String
applyNo
);
String
testSendEkpList
(
String
id
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/SalaryUploadServiceImpl.java
View file @
125f2473
...
...
@@ -82,20 +82,27 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
private
final
TApprovalRecordService
auditLogService
;
private
final
TSalaryStandardIssueResService
tSalaryStandardIssueResService
;
// 缓存信息
private
final
CacheManager
cacheManager
;
/**
* @param jsonString 客户原表数据
* repeatFlag 默认 0:不允许重复导入已存在系统内的数据;1:允许重复导入
* @param orderId
* vo.jsonString 客户原表数据
* repeatFlag 默认 0:不允许重复导入已存在系统内的数据;1:允许重复导入
* @Description: 普通工资上传
* @Author: hgw
* @Date: 2019/9/4 15:58
* @return: com.yifu.cloud.v1.common.core.util.R
**/
@Override
public
R
<
List
<
ErrorMessage
>>
salaryUpload
(
String
jsonString
,
String
settleDepart
,
String
configId
,
String
salaryType
,
String
orderId
)
{
public
R
<
List
<
ErrorMessage
>>
salaryUpload
(
SalaryUploadParamVo
vo
)
{
// R<List<ErrorMessage>> salaryUpload(String jsonString, String settleDepart, String configId, String salaryType, String orderId)
String
jsonString
=
vo
.
getJsonString
();
String
settleDepart
=
vo
.
getSettleDepart
();
String
configId
=
vo
.
getConfigId
();
String
salaryType
=
vo
.
getSalaryType
();
String
orderId
=
vo
.
getOrderId
();
if
(
Common
.
isNotNull
(
jsonString
)
&&
Common
.
isNotNull
(
settleDepart
)
&&
Common
.
isNotNull
(
salaryType
))
{
R
<
TSettleDomainSelectVo
>
sdr
=
HttpDaprUtil
.
invokeMethodPost
(
archivesProperties
.
getAppUrl
(),
archivesProperties
.
getAppId
()
...
...
@@ -144,6 +151,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
}
try
{
jsonString
=
URLDecoder
.
decode
(
jsonString
,
"UTF-8"
).
replace
(
"="
,
""
);
vo
.
setJsonString
(
jsonString
);
SalaryAccountUtil
util1
=
new
SalaryAccountUtil
();
TSalaryEmployee
empSearch
=
new
TSalaryEmployee
();
...
...
@@ -184,8 +192,28 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
checkListY
=
tSalaryAccountService
.
getAccountYearCheckMap
();
}
util1
.
getJsonStringToList
(
user
,
jsonString
,
dept
,
configSalary
,
salaryConfigMap
,
isMustMap
,
empIdCardMap
,
empNameMap
,
isDuplicateName
,
salaryType
,
checkListY
,
invoiceTitle
,
if
(
Common
.
isNotNull
(
vo
.
getIsIssue
())
&&
vo
.
getIsIssue
()
==
1
&&
vo
.
getResList
()
!=
null
&&
!
vo
.
getResList
().
isEmpty
())
{
for
(
TSalaryStandardIssueRes
res
:
vo
.
getResList
())
{
if
(
Common
.
isEmpty
(
res
.
getIssueId
()))
{
return
R
.
failed
(
"代发户配置id不可为空"
);
}
if
(
Common
.
isEmpty
(
res
.
getMoney
()))
{
return
R
.
failed
(
"代发户金额不可为空"
);
}
if
(
Common
.
isEmpty
(
res
.
getBankName
()))
{
return
R
.
failed
(
"代发户开户行不可为空"
);
}
if
(
Common
.
isEmpty
(
res
.
getBankNo
()))
{
return
R
.
failed
(
"代发户卡号不可为空"
);
}
if
(
Common
.
isEmpty
(
res
.
getBankProvince
())
||
Common
.
isEmpty
(
res
.
getBankProvinceName
())
||
Common
.
isEmpty
(
res
.
getBankCity
())
||
Common
.
isEmpty
(
res
.
getBankCityName
()))
{
return
R
.
failed
(
"代发户开户行省、市不可为空"
);
}
}
}
util1
.
getJsonStringToList
(
user
,
vo
,
dept
,
configSalary
,
salaryConfigMap
,
isMustMap
,
empIdCardMap
,
empNameMap
,
isDuplicateName
,
checkListY
,
invoiceTitle
,
employeeService
,
checkMap
,
specialMap
,
ownEmployeeMap
,
ownDeptMap
,
tSalaryAccountService
);
List
<
TSalaryAccountVo
>
saList
=
util1
.
getEntityList
();
...
...
@@ -196,7 +224,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// return R.ok(saList)
//薪资导入
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
salaryType
))
{
return
this
.
saveAndSubmit
(
saList
,
orderId
);
return
this
.
saveAndSubmit
(
saList
,
vo
);
}
//劳务费和稿酬导入
if
(
CommonConstants
.
THREE_STRING
.
equals
(
salaryType
)
||
CommonConstants
.
FOUR_STRING
.
equals
(
salaryType
))
{
...
...
@@ -289,14 +317,18 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
/**
* @param savList 报账表Vo
* @param orderId
* @Description: 保存并提交
* @Author: hgw
* @Date: 2019/9/20 17:05
* @return: com.yifu.cloud.v1.common.core.util.R
**/
private
R
saveAndSubmit
(
List
<
TSalaryAccountVo
>
savList
,
S
tring
orderId
)
{
private
R
saveAndSubmit
(
List
<
TSalaryAccountVo
>
savList
,
S
alaryUploadParamVo
vo
)
{
if
(
Common
.
isNotNull
(
savList
)
&&
!
savList
.
isEmpty
())
{
String
orderId
=
vo
.
getOrderId
();
// 代发户
Integer
isIssue
=
vo
.
getIsIssue
();
// 代发户与薪资关联表
List
<
TSalaryStandardIssueRes
>
resList
=
vo
.
getResList
();
TSalaryAccountVo
salaryAccountVo
=
savList
.
get
(
0
);
List
<
TSalaryAccountItem
>
saiList
=
null
;
//报账明细List
R
<
TSettleDomainSelectVo
>
sdr
=
HttpDaprUtil
.
invokeMethodPost
(
archivesProperties
.
getAppUrl
(),
archivesProperties
.
getAppId
()
...
...
@@ -357,7 +389,8 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
//设置订单号 20220831
salary
.
setOrderId
(
orderId
);
// 薪资核心导入代码
return
this
.
doCoreSalary
(
savList
,
salaryAccountVo
,
saiList
,
dept
,
invoiceTitle
,
user
,
nowTime
,
salary
,
isActual
);
return
this
.
doCoreSalary
(
savList
,
salaryAccountVo
,
saiList
,
dept
,
invoiceTitle
,
user
,
nowTime
,
salary
,
isActual
,
isIssue
,
resList
);
}
catch
(
Exception
e
)
{
lockUpdate
=
new
TSalaryLock
();
lockUpdate
.
setId
(
lock
.
getId
());
...
...
@@ -391,7 +424,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
public
R
doCoreSalary
(
List
<
TSalaryAccountVo
>
savList
,
TSalaryAccountVo
salaryAccountVo
,
List
<
TSalaryAccountItem
>
saiList
,
TSettleDomainSelectVo
dept
,
String
invoiceTitle
,
YifuUser
user
,
LocalDateTime
nowTime
,
TSalaryStandard
salary
,
boolean
isActual
)
{
,
boolean
isActual
,
Integer
isIssue
,
List
<
TSalaryStandardIssueRes
>
resList
)
{
// 社保类型0:缴费库;1:预估库
String
socialType
=
CommonConstants
.
ZERO_STRING
;
if
(
Common
.
isNotNull
(
dept
.
getSocialType
()))
{
...
...
@@ -826,8 +859,16 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
if
(
Common
.
isEmpty
(
salary
.
getApplyNo
()))
{
salary
.
setApplyNo
(
this
.
getCode
());
}
salary
.
setIssueStatus
(
isIssue
);
//保存工资表
tSalaryStandardService
.
save
(
salary
);
// 是代发户且选了代发户卡号,要保存关联表
if
(
Common
.
isNotNull
(
isIssue
)
&&
isIssue
==
1
&&
resList
!=
null
&&
!
resList
.
isEmpty
())
{
for
(
TSalaryStandardIssueRes
res
:
resList
)
{
res
.
setSalaryId
(
salary
.
getId
());
}
tSalaryStandardIssueResService
.
saveBatch
(
resList
);
}
TApprovalRecord
tApprovalRecord
=
new
TApprovalRecord
();
tApprovalRecord
.
setApprovalResult
(
CommonConstants
.
TWO_STRING
);
tApprovalRecord
.
setApprovalOpinion
(
"新建表单"
);
...
...
@@ -1418,6 +1459,10 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
}
salaryDetailVo
.
setSalaryAccountList
(
salaryAccountList
);
attaList
=
tSalaryAttaService
.
getAttaListHaveSrc
(
salary
.
getId
(),
230
);
List
<
TSalaryStandardIssueRes
>
resList
=
tSalaryStandardIssueResService
.
list
(
Wrappers
.<
TSalaryStandardIssueRes
>
query
().
lambda
().
eq
(
TSalaryStandardIssueRes:
:
getSalaryId
,
salary
.
getId
()));
salaryDetailVo
.
setResList
(
resList
);
}
salaryDetailVo
.
setAttaList
(
attaList
);
salaryDetailVo
.
setAuditLogList
(
auditLogService
.
list
(
Wrappers
.<
TApprovalRecord
>
query
().
lambda
().
eq
(
TApprovalRecord:
:
getSalaryId
,
salary
.
getId
())));
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
View file @
125f2473
...
...
@@ -285,7 +285,8 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
public
String
saveNewSalaryEmployee
(
boolean
notLabour
,
TSalaryEmployee
employee
)
{
if
(
Common
.
isNotNull
(
employee
.
getEmpName
())
&&
Common
.
isNotNull
(
employee
.
getEmpIdcard
()))
{
// 银行卡
if
(
Common
.
isNotNull
(
employee
.
getBankNo
()))
{
// 代发户的,不校验卡号,下次使用的时候校验卡号
if
(
Common
.
isNotNull
(
employee
.
getBankNo
())
&&
(
Common
.
isEmpty
(
employee
.
getIssueStatus
())
||
employee
.
getIssueStatus
().
equals
(
CommonConstants
.
ZERO_INT
)))
{
// 调用校验服务
TCheckBankNo
checkIdCard
=
new
TCheckBankNo
();
checkIdCard
.
setName
(
employee
.
getEmpName
());
...
...
@@ -504,4 +505,34 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
return
baseMapper
.
getByEmpIdCard
(
empIdCard
);
}
/**
* @param employee
* @Description: 代发户的,下次校验银行卡,同时变更校验flag
* @Author: hgw
* @Date: 2023/1/10 18:10
* @return: boolean : true:已验证通过;false:银行卡校验失败
**/
@Override
public
boolean
checkBankInfo
(
TSalaryEmployee
employee
)
{
// 调用校验服务
TCheckBankNo
checkIdCard
=
new
TCheckBankNo
();
checkIdCard
.
setName
(
employee
.
getEmpName
());
checkIdCard
.
setBankNo
(
employee
.
getBankNo
());
R
<
CheckBankNoVo
>
checkListR
=
HttpDaprUtil
.
invokeMethodPost
(
checkProperties
.
getAppUrl
(),
checkProperties
.
getAppId
()
,
"/tcheckbankno/inner/checkBankNo"
,
checkIdCard
,
CheckBankNoVo
.
class
,
SecurityConstants
.
FROM_IN
);
if
(
checkListR
!=
null
&&
checkListR
.
getData
()
!=
null
)
{
CheckBankNoVo
vo
=
checkListR
.
getData
();
TCheckBankNo
check
=
(
null
==
vo
.
getRes
())
?
null
:
vo
.
getRes
().
getData
();
if
(
check
!=
null
&&
check
.
getResult
().
equals
(
CommonConstants
.
ZERO_ONE
))
{
employee
.
setIssueStatus
(
CommonConstants
.
ZERO_INT
);
this
.
updateById
(
employee
);
return
true
;
}
else
{
return
false
;
}
}
else
{
return
false
;
}
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryStandardIssueResServiceImpl.java
0 → 100644
View file @
125f2473
/*
* 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
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardIssueResMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardIssueResService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardIssueResSearchVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 薪资表与代发户表关联表
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Log4j2
@Service
public
class
TSalaryStandardIssueResServiceImpl
extends
ServiceImpl
<
TSalaryStandardIssueResMapper
,
TSalaryStandardIssueRes
>
implements
TSalaryStandardIssueResService
{
@Override
public
List
<
TSalaryStandardIssueRes
>
noPageDiy
(
TSalaryStandardIssueResSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TSalaryStandardIssueRes
>
wrapper
=
Wrappers
.
lambdaQuery
();
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TSalaryStandardIssueRes:
:
getId
,
idList
);
}
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
)
{
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
wrapper
.
orderByDesc
(
TSalaryStandardIssueRes:
:
getSalaryId
);
return
baseMapper
.
selectList
(
wrapper
);
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryStandardIssueServiceImpl.java
0 → 100644
View file @
125f2473
/*
* 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.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
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.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.DateUtil
;
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.TSalaryStandardIssue
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardIssueMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardIssueService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardIssueSearchVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 薪资代发户配置
*
* @author hgw
* @date 2023-01-10 11:34:27
*/
@Log4j2
@Service
public
class
TSalaryStandardIssueServiceImpl
extends
ServiceImpl
<
TSalaryStandardIssueMapper
,
TSalaryStandardIssue
>
implements
TSalaryStandardIssueService
{
/**
* 薪资代发户配置简单分页查询
*
* @param tSalaryStandardIssue 薪资代发户配置
* @return
*/
@Override
public
IPage
<
TSalaryStandardIssue
>
getTSalaryStandardIssuePage
(
Page
<
TSalaryStandardIssue
>
page
,
TSalaryStandardIssueSearchVo
tSalaryStandardIssue
)
{
return
baseMapper
.
getTSalaryStandardIssuePage
(
page
,
tSalaryStandardIssue
);
}
/**
* 薪资代发户配置批量导出
*
* @param searchVo 薪资代发户配置
* @return
*/
@Override
public
void
listExport
(
HttpServletResponse
response
,
TSalaryStandardIssueSearchVo
searchVo
)
{
String
fileName
=
"薪资代发户配置批量导出"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
//获取要导出的列表
List
<
TSalaryStandardIssue
>
list
=
new
ArrayList
<>();
long
count
=
noPageCountDiy
(
searchVo
);
ServletOutputStream
out
=
null
;
try
{
out
=
response
.
getOutputStream
();
response
.
setContentType
(
CommonConstants
.
MULTIPART_FORM_DATA
);
response
.
setCharacterEncoding
(
"utf-8"
);
response
.
setHeader
(
CommonConstants
.
CONTENT_DISPOSITION
,
CommonConstants
.
ATTACHMENT_FILENAME
+
URLEncoder
.
encode
(
fileName
,
CommonConstants
.
UTF8
));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter
excelWriter
=
EasyExcel
.
write
(
out
,
TSalaryStandardIssue
.
class
).
build
();
int
index
=
0
;
if
(
count
>
CommonConstants
.
ZERO_INT
)
{
for
(
int
i
=
0
;
i
<=
count
;
)
{
// 获取实际记录
searchVo
.
setLimitStart
(
i
);
searchVo
.
setLimitEnd
(
CommonConstants
.
EXCEL_EXPORT_LIMIT
);
list
=
noPageDiy
(
searchVo
);
if
(
Common
.
isNotNull
(
list
))
{
ExcelUtil
<
TSalaryStandardIssue
>
util
=
new
ExcelUtil
<>(
TSalaryStandardIssue
.
class
);
for
(
TSalaryStandardIssue
vo
:
list
)
{
util
.
convertEntity
(
vo
,
null
,
null
,
null
);
}
}
if
(
Common
.
isNotNull
(
list
))
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"薪资代发户配置"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
index
++;
}
i
=
i
+
CommonConstants
.
EXCEL_EXPORT_LIMIT
;
if
(
Common
.
isNotNull
(
list
))
{
list
.
clear
();
}
}
}
else
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"薪资代发户配置"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
}
if
(
Common
.
isNotNull
(
list
))
{
list
.
clear
();
}
out
.
flush
();
excelWriter
.
finish
();
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
finally
{
try
{
if
(
null
!=
out
)
{
out
.
close
();
}
}
catch
(
IOException
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
}
}
@Override
public
List
<
TSalaryStandardIssue
>
noPageDiy
(
TSalaryStandardIssueSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TSalaryStandardIssue
>
wrapper
=
buildQueryWrapper
(
searchVo
);
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TSalaryStandardIssue:
:
getId
,
idList
);
}
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
)
{
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
return
baseMapper
.
selectList
(
wrapper
);
}
private
Long
noPageCountDiy
(
TSalaryStandardIssueSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TSalaryStandardIssue
>
wrapper
=
buildQueryWrapper
(
searchVo
);
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TSalaryStandardIssue:
:
getId
,
idList
);
}
return
baseMapper
.
selectCount
(
wrapper
);
}
private
LambdaQueryWrapper
buildQueryWrapper
(
TSalaryStandardIssueSearchVo
entity
)
{
LambdaQueryWrapper
<
TSalaryStandardIssue
>
wrapper
=
Wrappers
.
lambdaQuery
(
entity
);
if
(
ArrayUtil
.
isNotEmpty
(
entity
.
getCreateTimes
()))
{
wrapper
.
ge
(
TSalaryStandardIssue:
:
getCreateTime
,
entity
.
getCreateTimes
()[
0
])
.
le
(
TSalaryStandardIssue:
:
getCreateTime
,
entity
.
getCreateTimes
()[
1
]);
}
if
(
Common
.
isNotNull
(
entity
.
getCreateName
()))
{
wrapper
.
eq
(
TSalaryStandardIssue:
:
getCreateName
,
entity
.
getCreateName
());
}
return
wrapper
;
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryStandardServiceImpl.java
View file @
125f2473
...
...
@@ -44,15 +44,9 @@ import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil;
import
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSalaryUtil
;
import
com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil
;
import
com.yifu.cloud.plus.v1.yifu.ekp.vo.*
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.MSalaryEstimate
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TApprovalRecord
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.*
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.MSalaryEstimateService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TApprovalRecordService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.*
;
import
com.yifu.cloud.plus.v1.yifu.salary.util.DoJointSalaryAsyncTask
;
import
com.yifu.cloud.plus.v1.yifu.salary.util.SalaryConstants
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardExportVo
;
...
...
@@ -72,6 +66,7 @@ import java.io.IOException;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
/**
...
...
@@ -95,6 +90,7 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
private
final
EkpSocialUtil
ekpSocialUtil
;
private
final
EkpFundUtil
ekpFundUtil
;
private
final
TApprovalRecordService
auditLogService
;
private
final
TSalaryStandardIssueResService
issueResService
;
@Lazy
private
final
DoJointSalaryAsyncTask
doSalaryAsync
;
...
...
@@ -452,20 +448,12 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
}
if
(
sendStatus
)
{
EkpSalaryStandardParam
standardParam
=
new
EkpSalaryStandardParam
();
standardParam
.
setFd_3b3bf2c3b1a6cc
(
s
.
getDeptName
());
standardParam
.
setFd_3b3bf2c426cfc8
(
s
.
getDeptNo
());
standardParam
.
setFd_3b3bf2c4975776
(
s
.
getApplyNo
()
==
null
?
""
:
s
.
getApplyNo
());
standardParam
.
setFd_3b3bf2c58d2b46
(
s
.
getId
());
standardParam
.
setFd_3b3cbe1d05f0d6
(
""
);
standardParam
.
setFd_3b3d3ec95b68fc
(
String
.
valueOf
(
s
.
getSettlementAmount
()));
standardParam
.
setFd_3b3d3ec85bfeb0
(
s
.
getSalaryMonth
().
substring
(
0
,
4
)
+
CommonConstants
.
CENTER_SPLIT_LINE_STRING
+
s
.
getSalaryMonth
().
substring
(
4
,
6
));
HashMap
<
String
,
Object
>
sendMap
=
this
.
setSendEkpStandardParam
(
s
);
// 推送主表信息
String
loginName
=
user
.
getUsername
();
sendBack
=
ekpSalaryUtil
.
sendStandardToEKP
(
loginName
,
standardParam
);
sendBack
=
ekpSalaryUtil
.
sendStandardToEKP
(
loginName
,
JSON
.
toJSONString
(
sendMap
)
);
if
(
Common
.
isEmpty
(
sendBack
)
||
sendBack
.
length
()
!=
32
)
{
sendBack
=
ekpSalaryUtil
.
sendStandardToEKP
(
loginName
,
standardParam
);
sendBack
=
ekpSalaryUtil
.
sendStandardToEKP
(
loginName
,
JSON
.
toJSONString
(
sendMap
)
);
}
s
.
setSendTime
(
new
Date
());
s
.
setSendMonth
(
nowMonth
);
...
...
@@ -506,6 +494,68 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
}
}
@Override
public
String
testSendEkpList
(
String
id
)
{
TSalaryStandard
s
=
this
.
getById
(
id
);
HashMap
<
String
,
Object
>
sendMap
=
this
.
setSendEkpStandardParam
(
s
);
YifuUser
user
=
SecurityUtils
.
getUser
();
// 推送主表信息
String
loginName
=
user
.
getUsername
();
return
ekpSalaryUtil
.
sendStandardToEKP
(
loginName
,
JSON
.
toJSONString
(
sendMap
));
}
/**
* @param s
* @Description: 组建发送EKP的主表信息
* @Author: hgw
* @Date: 2023/1/12 15:07
* @return: java.util.HashMap<java.lang.String, java.lang.Object>
**/
private
HashMap
<
String
,
Object
>
setSendEkpStandardParam
(
TSalaryStandard
s
)
{
HashMap
<
String
,
Object
>
sendMap
=
new
HashMap
<>();
sendMap
.
put
(
"fd_3b3bf2c3b1a6cc"
,
s
.
getDeptName
());
sendMap
.
put
(
"fd_3b3bf2c426cfc8"
,
s
.
getDeptNo
());
sendMap
.
put
(
"fd_3b3bf2c4975776"
,
s
.
getApplyNo
()
==
null
?
""
:
s
.
getApplyNo
());
sendMap
.
put
(
"fd_3b3bf2c58d2b46"
,
s
.
getId
());
sendMap
.
put
(
"fd_3b3cbe1d05f0d6"
,
""
);
sendMap
.
put
(
"fd_3b3d3ec95b68fc"
,
String
.
valueOf
(
s
.
getSettlementAmount
()));
sendMap
.
put
(
"fd_3b3d3ec85bfeb0"
,
s
.
getSalaryMonth
().
substring
(
0
,
4
)
+
CommonConstants
.
CENTER_SPLIT_LINE_STRING
+
s
.
getSalaryMonth
().
substring
(
4
,
6
));
sendMap
.
put
(
"fd_3b73e18ad34090"
,
"否"
);
if
(
Common
.
isNotNull
(
s
.
getIssueStatus
())
&&
s
.
getIssueStatus
()
==
1
)
{
sendMap
.
put
(
"fd_3b73e18ad34090"
,
"是"
);
List
<
TSalaryStandardIssueRes
>
resList
=
issueResService
.
list
(
Wrappers
.<
TSalaryStandardIssueRes
>
query
().
lambda
().
eq
(
TSalaryStandardIssueRes:
:
getSalaryId
,
s
.
getId
()));
if
(
resList
!=
null
&&
!
resList
.
isEmpty
())
{
// 代发户银行账户
List
<
String
>
fd_3b71f207c0cfd0
=
new
ArrayList
<>();
// 代发户银行账户
List
<
String
>
fd_3b71f20883301a
=
new
ArrayList
<>();
// 代发户开户行
List
<
String
>
fd_3b71f20933e0d2
=
new
ArrayList
<>();
// 代发户支行
List
<
String
>
fd_3b745c35ff27a8
=
new
ArrayList
<>();
// 代发金额
List
<
String
>
fd_3b73a736cc9cc8
=
new
ArrayList
<>();
for
(
TSalaryStandardIssueRes
res
:
resList
)
{
fd_3b71f207c0cfd0
.
add
(
res
.
getOrgName
());
fd_3b71f20883301a
.
add
(
res
.
getBankNo
());
fd_3b71f20933e0d2
.
add
(
res
.
getBankName
());
fd_3b745c35ff27a8
.
add
(
res
.
getBankSubName
());
fd_3b73a736cc9cc8
.
add
(
String
.
valueOf
(
res
.
getMoney
()));
}
sendMap
.
put
(
"fd_3b71f1f4fd40ac.fd_3b71f207c0cfd0"
,
fd_3b71f207c0cfd0
);
sendMap
.
put
(
"fd_3b71f1f4fd40ac.fd_3b71f20883301a"
,
fd_3b71f20883301a
);
sendMap
.
put
(
"fd_3b71f1f4fd40ac.fd_3b71f20933e0d2"
,
fd_3b71f20933e0d2
);
sendMap
.
put
(
"fd_3b71f1f4fd40ac.fd_3b745c35ff27a8"
,
fd_3b745c35ff27a8
);
sendMap
.
put
(
"fd_3b71f1f4fd40ac.fd_3b73a736cc9cc8"
,
fd_3b73a736cc9cc8
);
}
}
return
sendMap
;
}
/**
* @Description: 添加流程进展明细
* @Author: hgw
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/util/SalaryAccountUtil.java
View file @
125f2473
...
...
@@ -13,8 +13,10 @@ import com.yifu.cloud.plus.v1.yifu.insurances.util.ValidityUtil;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryUploadParamVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountItemVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountVo
;
import
lombok.Data
;
...
...
@@ -48,7 +50,7 @@ public class SalaryAccountUtil implements Serializable {
private
List
<
ErrorMessage
>
errorInfo
;
/**
*
@param
jsonStr 客户原表json内容
*
vo.
jsonStr 客户原表json内容
* @param dept 项目
* @param configSalary 当前项目下的配置(结算月等
* @param salaryConfigMap 客户原表-工资模板配置Map
...
...
@@ -62,12 +64,18 @@ public class SalaryAccountUtil implements Serializable {
* @Date: 2019/9/16 17:26
* @return: void
**/
public
void
getJsonStringToList
(
YifuUser
user
,
S
tring
jsonStr
,
TSettleDomainSelectVo
dept
public
void
getJsonStringToList
(
YifuUser
user
,
S
alaryUploadParamVo
vo
,
TSettleDomainSelectVo
dept
,
TConfigSalary
configSalary
,
Map
<
String
,
TSalaryConfigStandard
>
salaryConfigMap
,
Map
<
String
,
Boolean
>
isMustMap
,
Map
<
String
,
TSalaryEmployee
>
empIdCardMap
,
Map
<
String
,
TSalaryEmployee
>
empNameMap
,
boolean
isDuplicateName
,
String
salaryType
,
List
<
String
>
checkListY
,
String
invoiceTitle
,
TSalaryEmployeeService
tSalaryEmployeeService
,
List
<
String
>
checkListY
,
String
invoiceTitle
,
TSalaryEmployeeService
tSalaryEmployeeService
,
Map
<
String
,
Integer
>
checkMap
,
Map
<
String
,
BigDecimal
>
specialMap
,
Map
<
String
,
Integer
>
ownEmployeeMap
,
Map
<
String
,
Integer
>
ownDeptMap
,
TSalaryAccountService
tSalaryAccountService
)
{
String
jsonStr
=
vo
.
getJsonString
();
String
salaryType
=
vo
.
getSalaryType
();
Integer
isIssue
=
vo
.
getIsIssue
();
if
(
Common
.
isEmpty
(
isIssue
))
{
isIssue
=
0
;
}
List
<
TSalaryAccountVo
>
tList
=
new
ArrayList
<>();
List
<
HashMap
>
list
=
JSONObject
.
parseArray
(
jsonStr
,
HashMap
.
class
);
List
<
ErrorMessage
>
errorList
=
new
ArrayList
<>();
...
...
@@ -474,6 +482,18 @@ public class SalaryAccountUtil implements Serializable {
entity
.
setCity
(
dept
.
getCity
());
entity
.
setTown
(
dept
.
getTown
());
// 本次不为代发户,并且薪资人员里的代发户标记没去掉,要校验银行卡
if
(
isIssue
==
0
&&
Common
.
isNotNull
(
emp
.
getBankNo
())
&&
Common
.
isNotNull
(
emp
.
getIssueStatus
())
&&
CommonConstants
.
ONE_INT
==
emp
.
getIssueStatus
())
{
boolean
bankNoIsTrue
=
tSalaryEmployeeService
.
checkBankInfo
(
emp
);
if
(!
bankNoIsTrue
)
{
error
=
"第"
+
(
i
+
2
)
+
SalaryConstants
.
LINE_EMP
+
emp
.
getEmpIdcard
()
+
"-上次代发户未校验【姓名与卡号】,本次校验结果:不匹配。请去薪酬人员查询处更新卡号信息!"
;
errorList
.
add
(
new
ErrorMessage
((
i
+
2
),
error
));
continue
;
}
}
entity
.
setEmpId
(
emp
.
getId
());
entity
.
setEmpIdcard
(
emp
.
getEmpIdcard
());
entity
.
setEmpName
(
emp
.
getEmpName
());
...
...
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
View file @
125f2473
...
...
@@ -141,6 +141,7 @@
<result
property=
"fd_3adfedfbd23ab8"
column=
"fd_3adfedfbd23ab8"
/>
<result
property=
"fd_3adfedfcb17f1e"
column=
"fd_3adfedfcb17f1e"
/>
<result
property=
"fd_3adfedfc453cc4"
column=
"fd_3adfedfc453cc4"
/>
<result
property=
"fd_3b73de2809465a"
column=
"fd_3b73de2809465a"
/>
<result
property=
"fd_3adfee063acff0"
column=
"fd_3adfee063acff0"
/>
<result
property=
"fd_3adfee0690737c"
column=
"fd_3adfee0690737c"
/>
<result
property=
"fd_3adfee01668666"
column=
"fd_3adfee01668666"
/>
...
...
@@ -577,6 +578,7 @@
,ifnull(a.EMP_PHONE,'') fd_3adfedfbd23ab8
,ifnull(a.BANK_NO,'') fd_3adfedfcb17f1e
,ifnull(a.BANK_NAME,'') fd_3adfedfc453cc4
,ifnull(a.BANK_SUB_NAME,'') fd_3b73de2809465a
,concat(left(ifnull(a.SALARY_MONTH,'1970'),4),'-',right(ifnull(a.SALARY_MONTH,'02'),2)) fd_3adfee063acff0
,concat(left(ifnull(a.SETTLEMENT_MONTH,'1970'),4),'-',right(ifnull(a.SETTLEMENT_MONTH,'02'),2)) fd_3adfee0690737c
,'是' fd_3adfee01668666
...
...
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryStandardIssueMapper.xml
0 → 100644
View file @
125f2473
<?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.TSalaryStandardIssueMapper"
>
<resultMap
id=
"tSalaryStandardIssueMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssue"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"deptId"
column=
"DEPT_ID"
/>
<result
property=
"deptName"
column=
"DEPT_NAME"
/>
<result
property=
"deptNo"
column=
"DEPT_NO"
/>
<result
property=
"orgName"
column=
"ORG_NAME"
/>
<result
property=
"bankName"
column=
"BANK_NAME"
/>
<result
property=
"bankSubName"
column=
"BANK_SUB_NAME"
/>
<result
property=
"bankNo"
column=
"BANK_NO"
/>
<result
property=
"bankProvince"
column=
"BANK_PROVINCE"
/>
<result
property=
"bankCity"
column=
"BANK_CITY"
/>
<result
property=
"bankProvinceName"
column=
"BANK_PROVINCE_NAME"
/>
<result
property=
"bankCityName"
column=
"BANK_CITY_NAME"
/>
<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"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.DEPT_ID,
a.DEPT_NAME,
a.DEPT_NO,
a.ORG_NAME,
a.BANK_NAME,
a.BANK_SUB_NAME,
a.BANK_NO,
a.BANK_PROVINCE,
a.BANK_PROVINCE_NAME,
a.BANK_CITY,
a.BANK_CITY_NAME,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql
id=
"tSalaryStandardIssue_where"
>
<if
test=
"tSalaryStandardIssue != null"
>
<if
test=
"tSalaryStandardIssue.id != null and tSalaryStandardIssue.id.trim() != ''"
>
AND a.ID = #{tSalaryStandardIssue.id}
</if>
<if
test=
"tSalaryStandardIssue.deptId != null and tSalaryStandardIssue.deptId.trim() != ''"
>
AND a.DEPT_ID = #{tSalaryStandardIssue.deptId}
</if>
<if
test=
"tSalaryStandardIssue.deptName != null and tSalaryStandardIssue.deptName.trim() != ''"
>
AND a.DEPT_NAME = #{tSalaryStandardIssue.deptName}
</if>
<if
test=
"tSalaryStandardIssue.deptNo != null and tSalaryStandardIssue.deptNo.trim() != ''"
>
AND a.DEPT_NO = #{tSalaryStandardIssue.deptNo}
</if>
<if
test=
"tSalaryStandardIssue.orgName != null and tSalaryStandardIssue.orgName.trim() != ''"
>
AND a.ORG_NAME = #{tSalaryStandardIssue.orgName}
</if>
<if
test=
"tSalaryStandardIssue.bankName != null and tSalaryStandardIssue.bankName.trim() != ''"
>
AND a.BANK_NAME = #{tSalaryStandardIssue.bankName}
</if>
<if
test=
"tSalaryStandardIssue.bankSubName != null and tSalaryStandardIssue.bankSubName.trim() != ''"
>
AND a.BANK_SUB_NAME = #{tSalaryStandardIssue.bankSubName}
</if>
<if
test=
"tSalaryStandardIssue.bankNo != null and tSalaryStandardIssue.bankNo.trim() != ''"
>
AND a.BANK_NO = #{tSalaryStandardIssue.bankNo}
</if>
<if
test=
"tSalaryStandardIssue.bankProvince != null"
>
AND a.BANK_PROVINCE = #{tSalaryStandardIssue.bankProvince}
</if>
<if
test=
"tSalaryStandardIssue.bankCity != null"
>
AND a.BANK_CITY = #{tSalaryStandardIssue.bankCity}
</if>
<if
test=
"tSalaryStandardIssue.createBy != null and tSalaryStandardIssue.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tSalaryStandardIssue.createBy}
</if>
<if
test=
"tSalaryStandardIssue.createName != null and tSalaryStandardIssue.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tSalaryStandardIssue.createName}
</if>
<if
test=
"tSalaryStandardIssue.createTime != null"
>
AND a.CREATE_TIME = #{tSalaryStandardIssue.createTime}
</if>
<if
test=
"tSalaryStandardIssue.updateBy != null and tSalaryStandardIssue.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tSalaryStandardIssue.updateBy}
</if>
<if
test=
"tSalaryStandardIssue.updateTime != null"
>
AND a.UPDATE_TIME = #{tSalaryStandardIssue.updateTime}
</if>
</if>
</sql>
<!--tSalaryStandardIssue简单分页查询-->
<select
id=
"getTSalaryStandardIssuePage"
resultMap=
"tSalaryStandardIssueMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_salary_standard_issue a
<where>
1=1
<include
refid=
"tSalaryStandardIssue_where"
/>
</where>
</select>
</mapper>
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryStandardIssueResMapper.xml
0 → 100644
View file @
125f2473
<?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.TSalaryStandardIssueResMapper"
>
<resultMap
id=
"tSalaryStandardIssueResMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardIssueRes"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"issueId"
column=
"ISSUE_ID"
/>
<result
property=
"salaryId"
column=
"SALARY_ID"
/>
<result
property=
"money"
column=
"MONEY"
/>
<result
property=
"orgName"
column=
"ORG_NAME"
/>
<result
property=
"bankName"
column=
"BANK_NAME"
/>
<result
property=
"bankSubName"
column=
"BANK_SUB_NAME"
/>
<result
property=
"bankNo"
column=
"BANK_NO"
/>
<result
property=
"bankProvince"
column=
"BANK_PROVINCE"
/>
<result
property=
"bankCity"
column=
"BANK_CITY"
/>
<result
property=
"bankProvinceName"
column=
"BANK_PROVINCE_NAME"
/>
<result
property=
"bankCityName"
column=
"BANK_CITY_NAME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.ISSUE_ID,
a.SALARY_ID,
a.ORG_NAME,
a.BANK_NAME,
a.BANK_SUB_NAME,
a.BANK_NO,
a.BANK_PROVINCE,
a.BANK_PROVINCE_NAME,
a.BANK_CITY,
a.BANK_CITY_NAME,
a.MONEY
</sql>
<sql
id=
"tSalaryStandardIssueRes_where"
>
<if
test=
"tSalaryStandardIssueRes != null"
>
<if
test=
"tSalaryStandardIssueRes.id != null and tSalaryStandardIssueRes.id.trim() != ''"
>
AND a.ID = #{tSalaryStandardIssueRes.id}
</if>
<if
test=
"tSalaryStandardIssueRes.issueId != null and tSalaryStandardIssueRes.issueId.trim() != ''"
>
AND a.ISSUE_ID = #{tSalaryStandardIssueRes.issueId}
</if>
<if
test=
"tSalaryStandardIssueRes.salaryId != null and tSalaryStandardIssueRes.salaryId.trim() != ''"
>
AND a.SALARY_ID = #{tSalaryStandardIssueRes.salaryId}
</if>
<if
test=
"tSalaryStandardIssueRes.money != null"
>
AND a.MONEY = #{tSalaryStandardIssueRes.money}
</if>
</if>
</sql>
</mapper>
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryStandardMapper.xml
View file @
125f2473
...
...
@@ -77,6 +77,7 @@
<result
property=
"applyNo"
column=
"APPLY_NO"
/>
<result
property=
"incomeStartTime"
column=
"INCOME_START_TIME"
/>
<result
property=
"incomeEndTime"
column=
"INCOME_END_TIME"
/>
<result
property=
"issueStatus"
column=
"ISSUE_STATUS"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
...
...
@@ -132,7 +133,8 @@
a.BPO_FLAG,
a.APPLY_NO,
a.INCOME_START_TIME,
a.INCOME_END_TIME
a.INCOME_END_TIME,
a.ISSUE_STATUS
</sql>
<sql
id=
"tSalaryStandard_where"
>
<if
test=
"tSalaryStandard != null"
>
...
...
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