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
ec71999d
Commit
ec71999d
authored
Aug 26, 2022
by
hongguangwu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
parents
25d05b5d
d221d4d6
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
626 additions
and
25 deletions
+626
-25
TEmployeeProject.java
.../cloud/plus/v1/yifu/archives/entity/TEmployeeProject.java
+3
-0
TEmpChangeInfoServiceImpl.java
...yifu/archives/service/impl/TEmpChangeInfoServiceImpl.java
+44
-2
SocialDaprUtils.java
.../cloud/plus/v1/yifu/common/dapr/util/SocialDaprUtils.java
+34
-0
TStatisticsBonusImportVo.java
...loud/plus/v1/yifu/salary/vo/TStatisticsBonusImportVo.java
+7
-0
UpdateSocialFoundVo.java
...ifu/cloud/plus/v1/yifu/salary/vo/UpdateSocialFoundVo.java
+29
-0
TSalaryAccountMapper.java
...loud/plus/v1/yifu/salary/mapper/TSalaryAccountMapper.java
+1
-2
TSalaryAccountService.java
...ud/plus/v1/yifu/salary/service/TSalaryAccountService.java
+1
-2
SalaryUploadServiceImpl.java
.../v1/yifu/salary/service/impl/SalaryUploadServiceImpl.java
+1
-1
TSalaryAccountServiceImpl.java
...1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
+2
-2
TSalaryEmployeeServiceImpl.java
.../yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
+16
-0
TStatisticsBonusServiceImpl.java
...yifu/salary/service/impl/TStatisticsBonusServiceImpl.java
+339
-9
TSalaryAccountMapper.xml
...ry-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
+1
-1
TForecastLibraryController.java
...v1/yifu/social/controller/TForecastLibraryController.java
+14
-0
TPaymentInfoController.java
...lus/v1/yifu/social/controller/TPaymentInfoController.java
+14
-0
TSocialFundInfoController.java
.../v1/yifu/social/controller/TSocialFundInfoController.java
+15
-0
TForecastLibraryMapper.java
...ud/plus/v1/yifu/social/mapper/TForecastLibraryMapper.java
+3
-0
TPaymentInfoMapper.java
.../cloud/plus/v1/yifu/social/mapper/TPaymentInfoMapper.java
+3
-0
TSocialFundInfoMapper.java
...oud/plus/v1/yifu/social/mapper/TSocialFundInfoMapper.java
+5
-0
TForecastLibraryService.java
.../plus/v1/yifu/social/service/TForecastLibraryService.java
+3
-0
TPaymentInfoService.java
...loud/plus/v1/yifu/social/service/TPaymentInfoService.java
+3
-0
TSocialFundInfoService.java
...d/plus/v1/yifu/social/service/TSocialFundInfoService.java
+3
-0
TForecastLibraryServiceImpl.java
...yifu/social/service/impl/TForecastLibraryServiceImpl.java
+8
-0
TPaymentInfoServiceImpl.java
.../v1/yifu/social/service/impl/TPaymentInfoServiceImpl.java
+18
-3
TSocialFundInfoServiceImpl.java
.../yifu/social/service/impl/TSocialFundInfoServiceImpl.java
+12
-2
TForecastLibraryMapper.xml
...-biz/src/main/resources/mapper/TForecastLibraryMapper.xml
+13
-0
TPaymentInfoMapper.xml
...cial-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
+15
-1
TSocialFundInfoMapper.xml
...l-biz/src/main/resources/mapper/TSocialFundInfoMapper.xml
+19
-0
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TEmployeeProject.java
View file @
ec71999d
...
...
@@ -343,6 +343,9 @@ public class TEmployeeProject extends BaseEntity {
@Schema
(
description
=
"社保-县"
)
private
Integer
socialTown
;
@TableField
(
exist
=
false
)
private
String
changeStartMonth
;
/**
* 员工合同状态(字典)
*/
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmpChangeInfoServiceImpl.java
View file @
ec71999d
...
...
@@ -36,6 +36,8 @@ 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.MsgUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.BindingResult
;
...
...
@@ -61,6 +63,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
private
final
TEmployeeLogServiceImpl
tEmployeeLogService
;
private
final
SocialDaprUtils
socialDaprUtils
;
public
static
final
Pattern
PATTERN
=
Pattern
.
compile
(
"^[-\\+]?[\\d]*$"
);
/**
...
...
@@ -78,11 +82,9 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
if
(
Common
.
isNotNull
(
tEmployeeProject
))
{
return
R
.
failed
(
"待划转员工已在目标项目下不可划转"
);
}
//TODO
//划转+已产生未结算金额划转,并且选择了划转月份
//社保公积金派单处需要直接修改为最新的项目
//社保预估库、缴费库、对比库、代理差额库,需要同步修改未结算(并且满足这个条件:数据 生成月≥此处划转起始月)的数据,已结算数据不变更;
//划转,更新项目信息
TEmployeeProject
updateTEmployeeProject
=
tEmployeeProjectService
.
getOne
(
Wrappers
.<
TEmployeeProject
>
query
().
lambda
()
.
eq
(
TEmployeeProject:
:
getEmpIdcard
,
tEmpChangeInfo
.
getEmpIdcard
()).
eq
(
TEmployeeProject:
:
getDeptName
,
tEmpChangeInfo
.
getOldSettle
())
...
...
@@ -111,7 +113,27 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
tEmpChangeInfo
.
setProId
(
updateTEmployeeProject
.
getId
());
// 记录变更日志
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
1
],
""
,
updateTEmployeeProject
.
getId
(),
tEmployeeProjectOld
,
updateTEmployeeProject
);
UpdateSocialFoundVo
updateSocialFoundVo
=
new
UpdateSocialFoundVo
();
updateSocialFoundVo
.
setEmpIdcard
(
tEmpChangeInfo
.
getEmpIdcard
());
updateSocialFoundVo
.
setSettleDomainCode
(
tEmpChangeInfo
.
getDeptNo
());
updateSocialFoundVo
.
setSettleDomainId
(
tEmpChangeInfo
.
getDeptId
());
updateSocialFoundVo
.
setUnitId
(
tEmpChangeInfo
.
getUnitId
());
updateSocialFoundVo
.
setUnitName
(
tEmpChangeInfo
.
getNewDept
());
updateSocialFoundVo
.
setSocialCreateMonth
(
tEmpChangeInfo
.
getChangeStartMonth
());
socialDaprUtils
.
updatePaymentSocialAndFound
(
updateSocialFoundVo
);
socialDaprUtils
.
updateForSocialAndFound
(
updateSocialFoundVo
);
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
updateTEmployeeProject
.
getSocialStatus
()))
{
updateSocialFoundVo
.
setFlag
(
CommonConstants
.
ZERO_STRING
);
socialDaprUtils
.
updateSocialAndFoundInfo
(
updateSocialFoundVo
);
}
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
updateTEmployeeProject
.
getFundStatus
()))
{
updateSocialFoundVo
.
setFlag
(
CommonConstants
.
ONE_STRING
);
socialDaprUtils
.
updateSocialAndFoundInfo
(
updateSocialFoundVo
);
}
}
//保存档案划转记录
this
.
save
(
tEmpChangeInfo
);
return
R
.
ok
();
...
...
@@ -197,6 +219,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
updateTEmployeePro
.
setUnitNo
(
tCustomerInfo
.
getCustomerCode
());
updateTEmployeePro
.
setUnitName
(
tCustomerInfo
.
getCustomerName
());
}
updateTEmployeePro
.
setChangeStartMonth
(
excel
.
getChangeStartMonth
());
updateList
.
add
(
updateTEmployeePro
);
// 记录变更日志
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
1
],
""
,
tEmployeeProjectOld
.
getId
(),
tEmployeeProjectOld
,
updateTEmployeePro
);
...
...
@@ -214,6 +237,25 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
return
R
.
failed
(
errorMessageList
);
}
else
{
tEmployeeProjectService
.
updateBatchById
(
updateList
);
for
(
TEmployeeProject
tEmployeeProject:
updateList
)
{
UpdateSocialFoundVo
updateSocialFoundVo
=
new
UpdateSocialFoundVo
();
updateSocialFoundVo
.
setEmpIdcard
(
tEmployeeProject
.
getEmpIdcard
());
updateSocialFoundVo
.
setSettleDomainCode
(
tEmployeeProject
.
getDeptNo
());
updateSocialFoundVo
.
setSettleDomainId
(
tEmployeeProject
.
getDeptId
());
updateSocialFoundVo
.
setUnitId
(
tEmployeeProject
.
getUnitId
());
updateSocialFoundVo
.
setUnitName
(
tEmployeeProject
.
getUnitName
());
updateSocialFoundVo
.
setSocialCreateMonth
(
tEmployeeProject
.
getChangeStartMonth
());
socialDaprUtils
.
updatePaymentSocialAndFound
(
updateSocialFoundVo
);
socialDaprUtils
.
updateForSocialAndFound
(
updateSocialFoundVo
);
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
tEmployeeProject
.
getSocialStatus
()))
{
updateSocialFoundVo
.
setFlag
(
CommonConstants
.
ZERO_STRING
);
socialDaprUtils
.
updateSocialAndFoundInfo
(
updateSocialFoundVo
);
}
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
tEmployeeProject
.
getFundStatus
()))
{
updateSocialFoundVo
.
setFlag
(
CommonConstants
.
ONE_STRING
);
socialDaprUtils
.
updateSocialAndFoundInfo
(
updateSocialFoundVo
);
}
}
}
return
R
.
ok
();
}
...
...
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/util/SocialDaprUtils.java
View file @
ec71999d
...
...
@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
...
...
@@ -43,4 +44,37 @@ public class SocialDaprUtils {
}
return
noSocialVoR
;
}
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public
void
updatePaymentSocialAndFound
(
UpdateSocialFoundVo
infoVo
)
{
HttpDaprUtil
.
invokeMethodPost
(
daprProperties
.
getAppUrl
(),
daprProperties
.
getAppId
(),
"/tpaymentinfo/inner/updatePaymentSocialAndFound"
,
JSON
.
toJSONString
(
infoVo
),
UpdateSocialFoundVo
.
class
,
SecurityConstants
.
FROM_IN
);
}
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public
void
updateForSocialAndFound
(
UpdateSocialFoundVo
infoVo
)
{
HttpDaprUtil
.
invokeMethodPost
(
daprProperties
.
getAppUrl
(),
daprProperties
.
getAppId
(),
"/tpaymentinfo/inner/updateForSocialAndFound"
,
JSON
.
toJSONString
(
infoVo
),
UpdateSocialFoundVo
.
class
,
SecurityConstants
.
FROM_IN
);
}
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public
void
updateSocialAndFoundInfo
(
UpdateSocialFoundVo
infoVo
)
{
HttpDaprUtil
.
invokeMethodPost
(
daprProperties
.
getAppUrl
(),
daprProperties
.
getAppId
(),
"/tsocialfundinfo/inner/updateSocialAndFoundInfo"
,
JSON
.
toJSONString
(
infoVo
),
UpdateSocialFoundVo
.
class
,
SecurityConstants
.
FROM_IN
);
}
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TStatisticsBonusImportVo.java
View file @
ec71999d
...
...
@@ -107,6 +107,13 @@ public class TStatisticsBonusImportVo extends RowIndex implements Serializable {
@Schema
(
description
=
"最优方案-12月扣税"
)
@ExcelProperty
(
"最优方案-12月扣税"
)
private
BigDecimal
bestPlanTax
;
/**
* 12月份应纳税所得额扣除费用
*/
@ExcelAttribute
(
name
=
"12月份应纳税所得额扣除费用"
)
@Schema
(
description
=
"12月份应纳税所得额扣除费用"
)
@ExcelProperty
(
"12月份应纳税所得额扣除费用"
)
private
BigDecimal
deductTaxSalary
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/UpdateSocialFoundVo.java
0 → 100644
View file @
ec71999d
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
lombok.Data
;
/**
* @Author huyc
* @Date 2022/8/25
* @Description
* @Version 1.0
*/
@Data
public
class
UpdateSocialFoundVo
{
private
String
empIdcard
;
private
String
unitName
;
private
String
unitId
;
private
String
settleDomainId
;
private
String
settleDomainName
;
private
String
settleDomainCode
;
private
String
socialCreateMonth
;
private
String
flag
;
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TSalaryAccountMapper.java
View file @
ec71999d
...
...
@@ -81,12 +81,11 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
@Param
(
"month3"
)
String
month3
);
/**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc
* @Date: 2022/8/18
* @return:
**/
List
<
String
>
getAccountYearCheckList
(
@Param
(
"settleId"
)
String
settleId
);
List
<
String
>
getAccountYearCheckList
();
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryAccountService.java
View file @
ec71999d
...
...
@@ -80,11 +80,10 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
List
<
THaveSalaryNosocial
>
getLastMonthTHaveSalaryNosocial
(
String
month
);
/**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc
* @Date: 2022/8/18
* @return:
**/
List
<
String
>
getAccountYearCheckMap
(
String
settleId
);
List
<
String
>
getAccountYearCheckMap
();
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/SalaryUploadServiceImpl.java
View file @
ec71999d
...
...
@@ -187,7 +187,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// 劳务费和稿酬 薪资类型互斥校验Map格式:本年度#身份证号
if
(
CommonConstants
.
THREE_STRING
.
equals
(
salaryType
)
||
CommonConstants
.
FOUR_STRING
.
equals
(
salaryType
))
{
if
(
Common
.
isNotNull
(
configSalary
))
{
checkListY
=
tSalaryAccountService
.
getAccountYearCheckMap
(
dept
.
getId
()
);
checkListY
=
tSalaryAccountService
.
getAccountYearCheckMap
();
}
}
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
View file @
ec71999d
...
...
@@ -214,7 +214,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
}
@Override
public
List
<
String
>
getAccountYearCheckMap
(
String
settleId
)
{
return
baseMapper
.
getAccountYearCheckList
(
settleId
);
public
List
<
String
>
getAccountYearCheckMap
()
{
return
baseMapper
.
getAccountYearCheckList
();
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryEmployeeServiceImpl.java
View file @
ec71999d
...
...
@@ -292,6 +292,22 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
return
SalaryConstants
.
CHECK_NO_RESPONSE
;
}
}
// if (Common.isNotNull(employee.getBankNo())) {
// // 调用校验服务
// TCheckBankNo checkIdCard = new TCheckBankNo();
// checkIdCard.setName(employee.getEmpName());
// checkIdCard.setBankNo(employee.getBankNo());
// R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(checkProperties.getAppUrl(), checkProperties.getAppId()
// , "/tcheckbankno/inner/checkBankNo", checkIdCard, TCheckBankNo.class, SecurityConstants.FROM_IN);
// if (checkListR != null && checkListR.getData() != null) {
// TCheckBankNo check = checkListR.getData();
// if (!CommonConstants.ONE_STRING.equals(check.getResult())) {
// return check.getMessage();
// }
// } else {
// return "校验服务未找到银行卡,请联系管理员";
// }
// }
// 手机号
if
(
Common
.
isNotNull
(
employee
.
getEmpPhone
()))
{
// 调用校验服务-校验手机号
...
...
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TStatisticsBonusServiceImpl.java
View file @
ec71999d
...
...
@@ -16,39 +16,44 @@
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
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.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
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.archives.vo.TSettleDomainSelectVo
;
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.dapr.config.DaprArchivesProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsBonus
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsBonusMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsBonusService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusImportVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusVo
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.
io.InputStream
;
import
java.
math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -60,7 +65,15 @@ import java.util.stream.Collectors;
@Log4j2
@Service
@RequiredArgsConstructor
@EnableConfigurationProperties
(
DaprArchivesProperties
.
class
)
public
class
TStatisticsBonusServiceImpl
extends
ServiceImpl
<
TStatisticsBonusMapper
,
TStatisticsBonus
>
implements
TStatisticsBonusService
{
private
final
TSalaryTaxConfigService
tSalaryTaxConfigService
;
private
final
DaprArchivesProperties
archivesProperties
;
private
final
TSalaryAccountItemService
tSalaryAccountItemService
;
/**
* 全年一次性奖金申报表简单分页查询
* @param tStatisticsBonus 全年一次性奖金申报表
...
...
@@ -144,6 +157,29 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
public
void
importDiy
(
HttpServletResponse
response
,
List
<
TStatisticsBonusImportVo
>
list
,
String
deptId
){
String
fileName
=
"全年一次性奖金测算导出"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
ServletOutputStream
out
=
null
;
//本次纳税额
BigDecimal
res
;
//应发工资合计
BigDecimal
ySalary
;
//未发薪资(年终奖和12月工资未发薪资)
BigDecimal
wSalary
;
//薪资扣除额合计
BigDecimal
sumDeductSalary
;
//专项扣除汇总金额
BigDecimal
sdSum
;
//薪资扣税合计
BigDecimal
sumTax
;
//工资下限
BigDecimal
minSalary
;
BigDecimal
isTax
;
//减除费用
BigDecimal
costReduction
;
//年终奖上限
BigDecimal
maxAnualSalary
;
//年终奖单独扣税12月税费
BigDecimal
finalSalaryNoSalary
;
//年终奖合并扣税12月税费
BigDecimal
finalSalaryWithSalary
;
try
{
out
=
response
.
getOutputStream
();
response
.
setContentType
(
CommonConstants
.
MULTIPART_FORM_DATA
);
...
...
@@ -152,8 +188,211 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter
excelWriter
=
EasyExcel
.
write
(
out
,
TStatisticsBonus
.
class
).
build
();
int
index
=
0
;
//个税配置
List
<
TSalaryTaxConfig
>
personTax
=
tSalaryTaxConfigService
.
getTaxConfigByPersonList
(
new
TSalaryTaxConfig
());
//年终奖配置
List
<
TSalaryTaxConfig
>
annousTax
=
tSalaryTaxConfigService
.
getTaxConfigByAnnualBonusList
(
new
TSalaryTaxConfig
());
R
<
TSettleDomainSelectVo
>
sdr
=
HttpDaprUtil
.
invokeMethodPost
(
archivesProperties
.
getAppUrl
(),
archivesProperties
.
getAppId
()
,
"/tsettledomain/inner/getSettleDomainVoById"
,
deptId
,
TSettleDomainSelectVo
.
class
,
SecurityConstants
.
FROM_IN
);
// 结算主体
String
invoiceTitle
=
""
;
TSettleDomainSelectVo
dept
=
null
;
if
(
sdr
!=
null
&&
sdr
.
getData
()
!=
null
)
{
dept
=
sdr
.
getData
();
}
if
(
dept
==
null
||
dept
.
getId
()
==
null
)
{
invoiceTitle
=
dept
.
getBusinessSubjectName
();
}
if
(
list
.
size
()
>
CommonConstants
.
ZERO_INT
){
List
<
String
>
idCardList
=
new
ArrayList
<>();
for
(
TStatisticsBonusImportVo
vo
:
list
)
{
if
(
Common
.
isNotNull
(
vo
.
getEmpIdcard
()))
{
idCardList
.
add
(
vo
.
getEmpIdcard
());
}
}
Map
<
String
,
List
<
TSalaryAccountItem
>>
itemMap
=
tSalaryAccountItemService
.
getAllItemVoList
(
idCardList
,
invoiceTitle
);
for
(
TStatisticsBonusImportVo
infoVo:
list
)
{
//本次纳税额
res
=
BigDecimal
.
ZERO
;
//应发工资合计
ySalary
=
BigDecimal
.
ZERO
;
//未发薪资(年终奖和12月工资未发薪资)
wSalary
=
BigDecimal
.
ZERO
;
//薪资扣除额合计
sumDeductSalary
=
BigDecimal
.
ZERO
;
//专项扣除汇总金额
sdSum
=
BigDecimal
.
ZERO
;
//薪资扣税合计
sumTax
=
BigDecimal
.
ZERO
;
minSalary
=
BigDecimal
.
ZERO
;
maxAnualSalary
=
BigDecimal
.
ZERO
;
costReduction
=
BigDecimal
.
ZERO
;
isTax
=
BigDecimal
.
ZERO
;
//12月是否发薪
Boolean
isSend
=
false
;
//年终奖单独扣税12月税费
finalSalaryNoSalary
=
BigDecimal
.
ZERO
;
//年终奖合并扣税12月税费
finalSalaryWithSalary
=
BigDecimal
.
ZERO
;
//12月份应纳税所得额扣除费用
BigDecimal
deductTaxSalary
=
infoVo
.
getDeductTaxSalary
();
List
<
BigDecimal
>
sdSumList
=
new
ArrayList
<>();
List
<
TSalaryAccountItem
>
list1
=
itemMap
.
get
(
infoVo
.
getEmpIdcard
());
if
(
Common
.
isNotNull
(
list1
))
{
for
(
TSalaryAccountItem
item:
list1
)
{
if
(
SalaryConstants
.
SPECIAL_DEDU_MONEY_SUM_JAVA
.
equals
(
item
.
getJavaFiedName
()))
{
sdSumList
.
add
(
item
.
getSalaryMoney
());
}
if
(
SalaryConstants
.
RELAY_SALARY_JAVA
.
equals
(
item
.
getJavaFiedName
()))
{
ySalary
.
add
(
item
.
getSalaryMoney
());
}
if
(
SalaryConstants
.
SALARY_TAX_JAVA
.
equals
(
item
.
getJavaFiedName
()))
{
sumTax
=
sumTax
.
add
(
item
.
getSalaryMoney
());
}
//减除费用
if
(
SalaryConstants
.
COST_REDUCTION_JAVA
.
equals
(
item
.
getJavaFiedName
()))
{
costReduction
=
costReduction
.
add
(
item
.
getSalaryMoney
());
}
if
(
CommonConstants
.
ONE_INT
==
item
.
getIsTax
())
{
isTax
=
isTax
.
add
(
item
.
getSalaryMoney
());
}
}
}
if
(
CommonConstants
.
IS_TRUE
.
equals
(
infoVo
.
getIsTSend
()))
{
isSend
=
true
;
}
if
(
Common
.
isNotNull
(
sdSumList
))
{
sdSum
=
Collections
.
max
(
sdSumList
);
}
sumDeductSalary
=
BigDecimalUtils
.
safeAdd
(
sdSum
,
isTax
,
costReduction
);
//年终奖单独扣税
finalSalaryNoSalary
=
calculationSalary
(
annousTax
,
infoVo
.
getAnnualBonus
());
//年终奖合并扣税
if
(
isSend
)
{
finalSalaryWithSalary
=
finalSalaryNoSalary
;
}
else
{
finalSalaryWithSalary
=
calculationSalary
(
annousTax
,
BigDecimalUtils
.
safeAdd
(
infoVo
.
getAnnualBonus
(),
infoVo
.
getAnnualTSalary
()));
}
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"36000"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"36000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"36000"
));
maxAnualSalary
=
new
BigDecimal
(
"36000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"72000"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"36000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"36000"
));
maxAnualSalary
=
new
BigDecimal
(
"36000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"203100"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"36000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"36000"
));
maxAnualSalary
=
new
BigDecimal
(
"36000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"288000"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"144000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"144000"
));
maxAnualSalary
=
new
BigDecimal
(
"144000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"672000"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"144000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"36000"
));
maxAnualSalary
=
new
BigDecimal
(
"36000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"1277500"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"300000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"300000"
));
maxAnualSalary
=
new
BigDecimal
(
"300000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"1452500"
))
<=
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"420000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"420000"
));
maxAnualSalary
=
new
BigDecimal
(
"420000"
);
}
}
else
if
(
BigDecimalUtils
.
safeSubtract
(
BigDecimalUtils
.
safeAdd
(
ySalary
,
wSalary
),
sumDeductSalary
).
compareTo
(
new
BigDecimal
(
"1452500"
))
>
0
)
{
if
(
wSalary
.
compareTo
(
new
BigDecimal
(
"660000"
))
<=
0
)
{
if
(
isSend
)
{
maxAnualSalary
=
wSalary
;
}
else
{
minSalary
=
deductTaxSalary
;
maxAnualSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
deductTaxSalary
);
}
}
else
{
minSalary
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
new
BigDecimal
(
"660000"
));
maxAnualSalary
=
new
BigDecimal
(
"660000"
);
}
}
JSONObject
jsonObject
=
calculationPersonSalary
(
personTax
,
annousTax
,
minSalary
,
maxAnualSalary
,
wSalary
,
sumTax
);
res
=
jsonObject
.
getBigDecimal
(
"zySalary"
);
Map
<
String
,
BigDecimal
>
map
=
jsonObject
.
getObject
(
"anRes"
,
Map
.
class
);
infoVo
.
setBestPlanTax
(
res
);
infoVo
.
setAnnualATax
(
finalSalaryNoSalary
);
infoVo
.
setAnnualSTax
(
finalSalaryWithSalary
);
infoVo
.
setBestPlanTSalary
(
map
.
get
(
res
.
toString
()));
infoVo
.
setBestPlanBonus
(
BigDecimalUtils
.
safeSubtract
(
wSalary
,
map
.
get
(
res
.
toString
())));
}
}
else
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"全年一次性奖金测算"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
...
...
@@ -176,6 +415,97 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
}
}
/**
* @param personTax 薪资扣税阶梯表list
* @param annousTax 年终奖扣税阶梯表list
* @param minSalary 工资下限
* @param maxAnualSalary 年终奖上限
* @param wSalary 未发金额
* @param sumTax 薪资扣税合计
* @Description: 计算薪资扣税-个税
* @Author: huyc
* @Date: 2022/8/23
* @return: java.math.BigDecimal
**/
private
static
JSONObject
calculationPersonSalary
(
List
<
TSalaryTaxConfig
>
personTax
,
List
<
TSalaryTaxConfig
>
annousTax
,
BigDecimal
minSalary
,
BigDecimal
maxAnualSalary
,
BigDecimal
wSalary
,
BigDecimal
sumTax
)
{
JSONObject
jsonObject
=
new
JSONObject
();
BigDecimal
anRes
;
List
<
BigDecimal
>
zySalary
=
new
ArrayList
<>();
Map
<
String
,
BigDecimal
>
map
=
new
HashMap
<>();
for
(
BigDecimal
i
=
minSalary
;
i
.
compareTo
(
maxAnualSalary
)
<=
0
;
BigDecimalUtils
.
safeAdd
(
i
,
new
BigDecimal
(
100
))
)
{
//本次薪资纳税额
BigDecimal
res
=
BigDecimal
.
ZERO
;
//本次年终奖纳税额
anRes
=
BigDecimal
.
ZERO
;;
//年终奖金额
BigDecimal
annous
=
BigDecimalUtils
.
safeSubtract
(
wSalary
,
i
);
//计算个税
for
(
TSalaryTaxConfig
sub
:
personTax
)
{
if
(
i
.
compareTo
(
sub
.
getMinIncome
())
==
SalaryConstants
.
MORE_THAN
&&
i
.
compareTo
(
sub
.
getMaxIncome
())
!=
SalaryConstants
.
MORE_THAN
)
{
//i = realDeduSalary * ((double) ((i.getTaxRate() * 1.0) / 100)) - sumTax - sub.getQuick();
res
=
i
.
multiply
(
new
BigDecimal
(
sub
.
getWithholdingRate
()).
divide
(
SalaryConstants
.
B_ONEHUNDRED
,
SalaryConstants
.
PLACES
,
BigDecimal
.
ROUND_HALF_UP
))
.
subtract
(
sumTax
).
subtract
(
sub
.
getQuickDeducation
());
// 应纳税额
break
;
}
}
//计算年终奖税
//年终奖
if
(
annous
!=
null
&&
annous
.
compareTo
(
SalaryConstants
.
B_ZERO
)
==
SalaryConstants
.
MORE_THAN
&&
annousTax
!=
null
&&
annousTax
.
size
()
>
CommonConstants
.
ZERO_INT
)
{
BigDecimal
month
=
annous
.
divide
(
SalaryConstants
.
B_TWELVE
,
SalaryConstants
.
TAX_FEE_PLACES
,
BigDecimal
.
ROUND_HALF_UP
);
// 应纳税额
for
(
TSalaryTaxConfig
sub
:
annousTax
)
{
if
(
month
.
compareTo
(
sub
.
getMinIncome
())
==
SalaryConstants
.
MORE_THAN
&&
month
.
compareTo
(
sub
.
getMaxIncome
())
!=
SalaryConstants
.
MORE_THAN
)
{
anRes
=
annous
.
multiply
(
new
BigDecimal
(
sub
.
getWithholdingRate
()).
divide
(
SalaryConstants
.
B_ONEHUNDRED
,
SalaryConstants
.
TAX_FEE_PLACES
,
BigDecimal
.
ROUND_HALF_UP
))
.
subtract
(
sub
.
getQuickDeducation
());
break
;
}
}
}
zySalary
.
add
(
BigDecimalUtils
.
safeAdd
(
res
,
anRes
));
map
.
put
(
BigDecimalUtils
.
safeAdd
(
res
,
anRes
).
toString
(),
i
);
}
jsonObject
.
put
(
"anRes"
,
map
);
jsonObject
.
put
(
"zySalary"
,
Collections
.
max
(
zySalary
));
return
jsonObject
;
}
/**
* @param annousTax 年终奖扣税阶梯表list
* @param annualSalary 年终奖
* @Description: 计算薪资扣税-个税
* @Author: huyc
* @Date: 2022/8/23
* @return: java.math.BigDecimal
**/
private
static
BigDecimal
calculationSalary
(
List
<
TSalaryTaxConfig
>
annousTax
,
BigDecimal
annualSalary
)
{
//本次年终奖纳税额
BigDecimal
anRes
=
BigDecimal
.
ZERO
;
//计算年终奖税
//年终奖
if
(
annualSalary
!=
null
&&
annualSalary
.
compareTo
(
SalaryConstants
.
B_ZERO
)
==
SalaryConstants
.
MORE_THAN
&&
annousTax
!=
null
&&
annousTax
.
size
()
>
CommonConstants
.
ZERO_INT
)
{
BigDecimal
month
=
annualSalary
.
divide
(
SalaryConstants
.
B_TWELVE
,
SalaryConstants
.
TAX_FEE_PLACES
,
BigDecimal
.
ROUND_HALF_UP
);
// 应纳税额
for
(
TSalaryTaxConfig
sub
:
annousTax
)
{
if
(
month
.
compareTo
(
sub
.
getMinIncome
())
==
SalaryConstants
.
MORE_THAN
&&
month
.
compareTo
(
sub
.
getMaxIncome
())
!=
SalaryConstants
.
MORE_THAN
)
{
anRes
=
annualSalary
.
multiply
(
new
BigDecimal
(
sub
.
getWithholdingRate
()).
divide
(
SalaryConstants
.
B_ONEHUNDRED
,
SalaryConstants
.
TAX_FEE_PLACES
,
BigDecimal
.
ROUND_HALF_UP
))
.
subtract
(
sub
.
getQuickDeducation
());
break
;
}
}
}
return
anRes
;
}
@Override
public
List
<
TStatisticsBonus
>
noPageDiy
(
TStatisticsBonusSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TStatisticsBonus
>
wrapper
=
buildQueryWrapper
(
searchVo
);
...
...
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
View file @
ec71999d
...
...
@@ -350,6 +350,6 @@
<select
id=
"getAccountYearCheckList"
resultType=
"java.lang.String"
>
select a.EMP_IDCARD
from t_salary_account a
where a.DELETE_FLAG = 0 and a.
DEPT_ID = #{settleId} and a.
FORM_TYPE = '0' and a.SALARY_MONTH like concat(DATE_FORMAT(NOW(), '%Y'), '%')
where a.DELETE_FLAG = 0 and a.FORM_TYPE = '0' and a.SALARY_MONTH like concat(DATE_FORMAT(NOW(), '%Y'), '%')
</select>
</mapper>
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TForecastLibraryController.java
View file @
ec71999d
...
...
@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TForecastLibraryService
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
@@ -247,4 +248,17 @@ public class TForecastLibraryController {
return
tForecastLibraryService
.
updateForecastFundStatusToNoSettle
(
idList
);
}
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping
(
"/inner/updateForSocialAndFound"
)
public
void
updateForSocialAndFound
(
@RequestBody
UpdateSocialFoundVo
list
)
{
tForecastLibraryService
.
updateForSocialAndFound
(
list
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TPaymentInfoController.java
View file @
ec71999d
...
...
@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TPaymentInfoService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo
;
...
...
@@ -297,4 +298,17 @@ public class TPaymentInfoController {
)
.
groupBy
(
TPaymentInfo:
:
getEmpIdcard
)));
}
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping
(
"/inner/updatePaymentSocialAndFound"
)
public
void
updatePaymentSocialAndFound
(
@RequestBody
UpdateSocialFoundVo
list
)
{
tPaymentInfoService
.
updatePaymentSocialAndFound
(
list
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TSocialFundInfoController.java
View file @
ec71999d
...
...
@@ -22,6 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
;
...
...
@@ -127,4 +129,17 @@ public class TSocialFundInfoController {
return
R
.
ok
(
tSocialFundInfoService
.
getDetailById
(
id
));
}
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping
(
"/inner/updateSocialAndFoundInfo"
)
public
void
updateSocialAndFoundInfo
(
@RequestBody
UpdateSocialFoundVo
list
)
{
tSocialFundInfoService
.
updateSocialAndFoundInfo
(
list
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TForecastLibraryMapper.java
View file @
ec71999d
...
...
@@ -21,6 +21,7 @@ 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.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TForecastLibraryExportVo
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
@@ -66,4 +67,6 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> {
int
updateForecastFundStatusByIdList
(
@Param
(
"idList"
)
List
<
String
>
idList
,
@Param
(
"status"
)
String
status
);
void
updateForSocialAndFound
(
@Param
(
"infoVo"
)
UpdateSocialFoundVo
infoVo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TPaymentInfoMapper.java
View file @
ec71999d
...
...
@@ -21,6 +21,7 @@ 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.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo
;
...
...
@@ -106,4 +107,6 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
int
updatePaymentFundStatusByIdList
(
@Param
(
"idList"
)
List
<
String
>
idList
,
@Param
(
"status"
)
String
status
);
void
updatePaymentSocialAndFound
(
@Param
(
"infoVo"
)
UpdateSocialFoundVo
infoVo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TSocialFundInfoMapper.java
View file @
ec71999d
...
...
@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.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.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoExportVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo
;
...
...
@@ -62,4 +63,8 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> {
List
<
TSocialFundInfoExportVo
>
exportList
(
@Param
(
"tSocialFundInfo"
)
TSocialFundInfoSearchVo
tSocialFundInfo
);
void
updateSocialAndFoundInfo
(
@Param
(
"infoVo"
)
UpdateSocialFoundVo
infoVo
);
void
updateSocialAndFoundInfoF
(
@Param
(
"infoVo"
)
UpdateSocialFoundVo
infoVo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TForecastLibraryService.java
View file @
ec71999d
...
...
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo
;
...
...
@@ -122,4 +123,6 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> {
int
updateForecastFundStatusToSettle
(
List
<
String
>
idList
);
int
updateForecastFundStatusToNoSettle
(
List
<
String
>
idList
);
void
updateForSocialAndFound
(
UpdateSocialFoundVo
list
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TPaymentInfoService.java
View file @
ec71999d
...
...
@@ -22,6 +22,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.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo
;
...
...
@@ -128,5 +129,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
int
updatePaymentFundStatusToSettle
(
List
<
String
>
idList
);
int
updatePaymentFundStatusToNoSettle
(
List
<
String
>
idList
);
void
updatePaymentSocialAndFound
(
UpdateSocialFoundVo
list
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TSocialFundInfoService.java
View file @
ec71999d
...
...
@@ -22,6 +22,7 @@ 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.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo
;
...
...
@@ -71,5 +72,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
* @return: com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
**/
TSocialFundInfoDetailVo
getDetailById
(
String
id
);
void
updateSocialAndFoundInfo
(
UpdateSocialFoundVo
list
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TForecastLibraryServiceImpl.java
View file @
ec71999d
...
...
@@ -32,6 +32,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TAgentConfig
;
...
...
@@ -2134,4 +2135,11 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
return
0
;
}
@Override
public
void
updateForSocialAndFound
(
UpdateSocialFoundVo
infoVo
)
{
if
(
Common
.
isNotNull
(
infoVo
))
{
baseMapper
.
updateForSocialAndFound
(
infoVo
);
}
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TPaymentInfoServiceImpl.java
View file @
ec71999d
...
...
@@ -18,12 +18,9 @@ package com.yifu.cloud.plus.v1.yifu.social.service.impl;/*
import
cn.hutool.core.collection.CollUtil
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
...
...
@@ -32,6 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.concurrent.threadpool.YFSocialImportThreadPoolExecutor
;
import
com.yifu.cloud.plus.v1.yifu.social.constants.PaymentConstants
;
import
com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants
;
...
...
@@ -201,6 +199,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
paymentInfo
.
getPushStatus
()))
{
return
R
.
failed
(
"已推送至结算平台禁止删除!"
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
paymentInfo
.
getSalaryFundFlag
())
||
CommonConstants
.
TWO_STRING
.
equals
(
paymentInfo
.
getSalarySocialFlag
()))
{
return
R
.
failed
(
"该数据已与薪资结算,禁止删除"
);
}
baseMapper
.
deleteById
(
id
);
return
R
.
ok
();
}
...
...
@@ -222,6 +225,10 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
CommonConstants
.
ZERO_STRING
.
equals
(
paymentInfo
.
getPushStatus
()))
{
return
R
.
failed
(
"存在不符合条件的数据(已推送至结算平台或非本人创建),禁止删除!"
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
paymentInfo
.
getSalaryFundFlag
())
||
CommonConstants
.
TWO_STRING
.
equals
(
paymentInfo
.
getSalarySocialFlag
()))
{
return
R
.
failed
(
"存在不符合条件的数据(已与薪资结算),禁止删除"
);
}
baseMapper
.
deleteById
(
id
);
}
}
...
...
@@ -2192,4 +2199,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
return
0
;
}
@Override
public
void
updatePaymentSocialAndFound
(
UpdateSocialFoundVo
infoVo
)
{
if
(
Common
.
isNotNull
(
infoVo
))
{
baseMapper
.
updatePaymentSocialAndFound
(
infoVo
);
}
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TSocialFundInfoServiceImpl.java
View file @
ec71999d
...
...
@@ -32,16 +32,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractExportVO
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.*
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialFundInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.*
;
import
com.yifu.cloud.plus.v1.yifu.social.util.ServiceUtil
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.*
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
...
...
@@ -775,4 +774,15 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
return
detailVo
;
}
@Override
public
void
updateSocialAndFoundInfo
(
UpdateSocialFoundVo
infoVo
)
{
if
(
Common
.
isNotNull
(
infoVo
)
&&
Common
.
isNotNull
(
infoVo
.
getFlag
()))
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
infoVo
.
getFlag
()))
{
baseMapper
.
updateSocialAndFoundInfo
(
infoVo
);
}
else
{
baseMapper
.
updateSocialAndFoundInfoF
(
infoVo
);
}
}
}
}
\ No newline at end of file
yifu-social/yifu-social-biz/src/main/resources/mapper/TForecastLibraryMapper.xml
View file @
ec71999d
...
...
@@ -661,4 +661,17 @@
</foreach>
</update>
<!-- 更改薪资公积金结算状态 -->
<update
id=
"updateForSocialAndFound"
>
update t_forecast_library
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
DEPT_NAME = #{infoVo.settleDomainName},
DEPT_NO = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_ID = #{infoVo.settleDomainId}
where
(SALARY_SOCIAL_FLAG = '0' and SOCIAL_CREATE_MONTH >= #{infoVo.socialCreateMonth}) and DATA_PUSH = '0' and EMP_IDCARD = #{infoVo.empIdcard}
or (SALARY_FUND_FLAG = '0' and PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
</mapper>
yifu-social/yifu-social-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
View file @
ec71999d
...
...
@@ -1062,7 +1062,8 @@
<!-- 更改薪资公积金结算状态 -->
<update
id=
"updatePaymentFundStatusByIdList"
>
update t_payment_info set SALARY_FUND_FLAG = #{status}
update t_payment_info
set SALARY_FUND_FLAG = #{status}
where
ID in
<foreach
item=
"item"
index=
"index"
collection=
"idList"
open=
"("
separator=
","
close=
")"
>
...
...
@@ -1070,4 +1071,17 @@
</foreach>
</update>
<!-- 更改薪资公积金结算状态 -->
<update
id=
"updatePaymentSocialAndFound"
>
update t_payment_info
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
SETTLE_DOMAIN_NAME = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_ID = #{infoVo.settleDomainId}
where
(SALARY_SOCIAL_FLAG = '0' or SALARY_FUND_FLAG = '0') and PUSH_STATUS = '1' and EMP_IDCARD = #{infoVo.empIdcard}
and (SOCIAL_CREATE_MONTH >= #{infoVo.socialCreateMonth} or PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
</mapper>
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialFundInfoMapper.xml
View file @
ec71999d
...
...
@@ -1039,4 +1039,23 @@
limit #{tSocialFundInfo.limitStart},#{tSocialFundInfo.limitEnd}
</if>
</select>
<update
id=
"updateSocialAndFoundInfo"
>
update t_social_fund_info
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
SETTLE_DOMAIN_NAME = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE = #{infoVo.settleDomainCode},
SETTLE_DOMAIN = #{infoVo.settleDomainId}
where EMP_IDCARD = #{infoVo.empIdcard}
</update>
<update
id=
"updateSocialAndFoundInfoF"
>
update t_social_fund_info
set UNIT_ID_FUND = #{infoVo.unitId},
UNIT_NAME_FUND = #{infoVo.unitName},
SETTLE_DOMAIN_NAME_FUND = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE_FUND = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_FUND = #{infoVo.settleDomainId}
where EMP_IDCARD = #{infoVo.empIdcard}
</update>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment