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
01ce233f
You need to sign in or sign up before continuing.
Commit
01ce233f
authored
Jul 29, 2022
by
hongguangwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
每个险种一个起缴时间
parent
5ce087f7
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
107 additions
and
62 deletions
+107
-62
TForecastLibraryController.java
...v1/yifu/social/controller/TForecastLibraryController.java
+0
-4
TForecastLibraryServiceImpl.java
...yifu/social/service/impl/TForecastLibraryServiceImpl.java
+107
-58
No files found.
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TForecastLibraryController.java
View file @
01ce233f
...
...
@@ -26,15 +26,12 @@ import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
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
;
import
io.swagger.v3.oas.annotations.security.SecurityRequirement
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
...
...
@@ -47,7 +44,6 @@ import java.util.List;
@RequiredArgsConstructor
@RequestMapping
(
"/tforecastlibrary"
)
@Tag
(
name
=
"预估费用管理"
)
@SecurityRequirement
(
name
=
HttpHeaders
.
AUTHORIZATION
)
public
class
TForecastLibraryController
{
private
final
TForecastLibraryService
tForecastLibraryService
;
...
...
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TForecastLibraryServiceImpl.java
View file @
01ce233f
...
...
@@ -777,11 +777,11 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
private
void
initLibrayOfPersonal
(
TForecastLibrary
library
,
TSocialFundInfo
socialInfo
,
SysBaseSetInfo
sysBaseSetInfo
,
TForecastLibrary
historyLibrary
)
{
// 个人养老基数
BigDecimal
personalPersionBase
=
BigDecimal
.
ZERO
;
BigDecimal
personalPersionBase
;
// 个人医疗基数
BigDecimal
personalMedicalBase
=
BigDecimal
.
ZERO
;
BigDecimal
personalMedicalBase
;
// 个人失业基数
BigDecimal
personalUnemploymentBase
=
BigDecimal
.
ZERO
;
BigDecimal
personalUnemploymentBase
;
// 个人养老比例
BigDecimal
personalPersionPro
=
BigDecimal
.
ZERO
;
// 个人医疗比例
...
...
@@ -822,8 +822,6 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
personalMedicalPro
=
socialInfo
.
getPersonalMedicalPer
();
personalUnemploymentPro
=
socialInfo
.
getPersonalUnemploymentPer
();
}
}
personalPersionMoney
=
BigDecimalUtils
.
safeMultiply
(
personalPersionBase
,
personalPersionPro
,
CommonConstants
.
ONE_OF_PERCENT
);
personalMedicalMoney
=
BigDecimalUtils
.
safeMultiply
(
personalMedicalBase
,
personalMedicalPro
,
...
...
@@ -831,31 +829,40 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
personalUnemploymentMoney
=
BigDecimalUtils
.
safeMultiply
(
personalUnemploymentBase
,
personalUnemploymentPro
,
CommonConstants
.
ONE_OF_PERCENT
);
if
(
library
.
getSocialPayMonth
()
!=
null
)
{
int
libraryPayMonth
=
Integer
.
parseInt
(
library
.
getSocialPayMonth
());
if
(
socialInfo
.
getPensionStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getPensionStart
()))
{
library
.
setPersonalPensionBase
(
personalPersionBase
);
library
.
setPersonalMedicalBase
(
personalMedicalBase
);
library
.
setPersonalUnemploymentBase
(
personalUnemploymentBase
);
library
.
setPersonalPersionPro
(
personalPersionPro
);
library
.
setPersonalPensionFee
(
personalPersionMoney
);
}
if
(
socialInfo
.
getMedicalStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getMedicalStart
()))
{
library
.
setPersonalMedicalBase
(
personalMedicalBase
);
library
.
setPersonalMedicalPro
(
personalMedicalPro
);
library
.
setPersonalUnemploymentPro
(
personalUnemploymentPro
);
library
.
setPersonalMedicalFee
(
personalMedicalMoney
);
library
.
setPersonalPensionFee
(
personalPersionMoney
);
}
if
(
socialInfo
.
getUnemployStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getUnemployStart
()))
{
library
.
setPersonalUnemploymentBase
(
personalUnemploymentBase
);
library
.
setPersonalUnemploymentPro
(
personalUnemploymentPro
);
library
.
setPersonalUnemploymentFee
(
personalUnemploymentMoney
);
}
}
}
}
private
void
initLibraryOfUnit
(
TForecastLibrary
library
,
TSocialFundInfo
socialInfo
,
SysBaseSetInfo
sysBaseSetInfo
,
TForecastLibrary
historyLibrary
)
{
// 单位养老基数
BigDecimal
unitPersionBase
=
BigDecimal
.
ZERO
;
BigDecimal
unitPersionBase
;
// 单位医疗基数
BigDecimal
unitMedicalBase
=
BigDecimal
.
ZERO
;
BigDecimal
unitMedicalBase
;
// 单位失业基数
BigDecimal
unitUnemploymentBase
=
BigDecimal
.
ZERO
;
BigDecimal
unitUnemploymentBase
;
// 单位工伤基数
BigDecimal
unitInjuryBase
=
BigDecimal
.
ZERO
;
BigDecimal
unitInjuryBase
;
// 单位生育基数
BigDecimal
unitBirthBase
=
BigDecimal
.
ZERO
;
BigDecimal
unitBirthBase
;
// 单位养老比例
BigDecimal
unitPersionPro
=
BigDecimal
.
ZERO
;
...
...
@@ -918,8 +925,6 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
unitInjuryPro
=
socialInfo
.
getUnitWorkUnjuryPer
();
unitBirthPro
=
socialInfo
.
getUnitBirthPer
();
}
}
unitPersionMoney
=
BigDecimalUtils
.
safeMultiply
(
unitPersionBase
,
unitPersionPro
,
CommonConstants
.
ONE_OF_PERCENT
);
unitMedicalMoney
=
BigDecimalUtils
.
safeMultiply
(
unitMedicalBase
,
unitMedicalPro
,
...
...
@@ -931,23 +936,35 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
unitBirthMoney
=
BigDecimalUtils
.
safeMultiply
(
unitBirthBase
,
unitBirthPro
,
CommonConstants
.
ONE_OF_PERCENT
);
if
(
library
.
getSocialPayMonth
()
!=
null
)
{
int
libraryPayMonth
=
Integer
.
parseInt
(
library
.
getSocialPayMonth
());
if
(
socialInfo
.
getPensionStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getPensionStart
()))
{
library
.
setUnitPensionBase
(
unitPersionBase
);
library
.
setUnitMedicalBase
(
unitMedicalBase
);
library
.
setUnitUnemploymentBase
(
unitUnemploymentBase
);
library
.
setUnitInjuryBase
(
unitInjuryBase
);
library
.
setUnitBirthBase
(
unitBirthBase
);
library
.
setUnitPersionPro
(
unitPersionPro
);
library
.
setUnitPensionFee
(
unitPersionMoney
);
}
if
(
socialInfo
.
getMedicalStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getMedicalStart
()))
{
library
.
setUnitMedicalBase
(
unitMedicalBase
);
library
.
setUnitMedicalPro
(
unitMedicalPro
);
library
.
setUnitMedicalFee
(
unitMedicalMoney
);
}
if
(
socialInfo
.
getUnemployStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getUnemployStart
()))
{
library
.
setUnitUnemploymentBase
(
unitUnemploymentBase
);
library
.
setUnitUnemploymentPro
(
unitUnemploymentPro
);
library
.
setUnitUnemploymentFee
(
unitUnemploymentMoney
);
}
if
(
socialInfo
.
getWorkInjuryStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getWorkInjuryStart
()))
{
library
.
setUnitInjuryBase
(
unitInjuryBase
);
library
.
setUnitInjuryPro
(
unitInjuryPro
);
library
.
setUnitWorkInjuryFee
(
unitInjuryMoney
);
}
if
(
socialInfo
.
getBirthStart
()
!=
null
&&
libraryPayMonth
>=
DateUtil
.
formatDateInt
(
socialInfo
.
getBirthStart
()))
{
library
.
setUnitBirthBase
(
unitBirthBase
);
library
.
setUnitBirthPro
(
unitBirthPro
);
library
.
setUnitPensionFee
(
unitPersionMoney
);
library
.
setUnitMedicalFee
(
unitMedicalMoney
);
library
.
setUnitUnemploymentFee
(
unitUnemploymentMoney
);
library
.
setUnitBirthFee
(
unitBirthMoney
);
library
.
setUnitWorkInjuryFee
(
unitInjuryMoney
);
}
}
}
}
/**
...
...
@@ -1559,7 +1576,10 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
return
R
.
failed
(
"同步预估库,doMonth格式错误:"
+
doMonth
);
}
}
else
{
monthDiff
=
DateUtil
.
getMonthDiff
(
socialFundInfo
.
getSocialStartDate
(),
new
Date
())
+
2
;
// 获取最小的起缴月
Date
minStartDate
=
this
.
getMinDate
(
socialFundInfo
);
// 再计算月份
monthDiff
=
DateUtil
.
getMonthDiff
(
minStartDate
,
new
Date
())
+
2
;
}
List
<
String
>
payMonthList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
monthDiff
;
i
++)
{
...
...
@@ -1648,6 +1668,33 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
}
}
/**
* @param socialFundInfo
* @Description: 获取最小起缴日
* @Author: hgw
* @Date: 2022/7/29 11:06
* @return: java.util.Date
**/
private
Date
getMinDate
(
TSocialFundInfo
socialFundInfo
)
{
Date
minStartDate
=
socialFundInfo
.
getSocialStartDate
();
if
(
socialFundInfo
.
getUnitPersionMoney
()
!=
null
&&
socialFundInfo
.
getPensionStart
()
!=
null
&&
socialFundInfo
.
getPensionStart
().
before
(
minStartDate
))
{
minStartDate
=
socialFundInfo
.
getPensionStart
();
}
if
(
socialFundInfo
.
getUnitMedicalMoney
()
!=
null
&&
socialFundInfo
.
getMedicalStart
()
!=
null
&&
socialFundInfo
.
getMedicalStart
().
before
(
minStartDate
))
{
minStartDate
=
socialFundInfo
.
getMedicalStart
();
}
if
(
socialFundInfo
.
getUnitUnemploymentMoney
()
!=
null
&&
socialFundInfo
.
getUnemployStart
()
!=
null
&&
socialFundInfo
.
getUnemployStart
().
before
(
minStartDate
))
{
minStartDate
=
socialFundInfo
.
getUnemployStart
();
}
if
(
socialFundInfo
.
getUnitInjuryMoney
()
!=
null
&&
socialFundInfo
.
getWorkInjuryStart
()
!=
null
&&
socialFundInfo
.
getWorkInjuryStart
().
before
(
minStartDate
))
{
minStartDate
=
socialFundInfo
.
getWorkInjuryStart
();
}
if
(
socialFundInfo
.
getUnitBirthMoney
()
!=
null
&&
socialFundInfo
.
getBirthStart
()
!=
null
&&
socialFundInfo
.
getBirthStart
().
before
(
minStartDate
))
{
minStartDate
=
socialFundInfo
.
getBirthStart
();
}
return
minStartDate
;
}
/**
* @Description: 核心刷新
* @Author: hgw
...
...
@@ -1666,10 +1713,12 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
String
sfMapKey
;
TForecastLibrary
tForecastLibrary
;
String
diffType
;
Date
minStartDate
;
for
(
String
payMonth
:
payMonthList
)
{
//封装社保预估数据
if
(
Common
.
isNotNull
(
socialInfoList
))
{
for
(
TSocialFundInfo
tSocialInfo
:
socialInfoList
)
{
minStartDate
=
this
.
getMinDate
(
tSocialInfo
);
createMonth
=
ServiceUtil
.
initCreateMonth
(
tSocialInfo
.
getCreateTime
(),
payMonth
);
sfMapKey
=
this
.
getMapKey
(
tSocialInfo
.
getEmpIdcard
(),
tSocialInfo
.
getSettleDomain
(),
payMonth
,
createMonth
);
...
...
@@ -1685,12 +1734,12 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
continue
;
}
//起缴月份在要生成的月份前不处理 || 截止月份在要生成的月份后不处理
if
(
Integer
.
parseInt
(
payMonth
)
<
DateUtil
.
formatDateInt
(
tSocialInfo
.
getSocialStartDate
()
)
if
(
Integer
.
parseInt
(
payMonth
)
<
DateUtil
.
formatDateInt
(
minStartDate
)
||
(
Common
.
isNotNull
(
tSocialInfo
.
getSocialReduceDate
())
&&
Integer
.
parseInt
(
payMonth
)
>
DateUtil
.
formatDateInt
(
tSocialInfo
.
getSocialReduceDate
())))
{
continue
;
}
flag
=
CommonConstants
.
ZERO_STRING
.
equals
(
tSocialInfo
.
getCanOverpay
())
&&
(
null
==
tSocialInfo
.
getOverpayNumber
()
||
null
==
tSocialInfo
.
getHaveThisMonth
()
||
null
==
tSocialInfo
.
getSocialStartDate
()
);
flag
=
CommonConstants
.
ZERO_STRING
.
equals
(
tSocialInfo
.
getCanOverpay
())
&&
(
null
==
tSocialInfo
.
getOverpayNumber
()
||
null
==
tSocialInfo
.
getHaveThisMonth
()
||
null
==
minStartDate
);
if
(
flag
)
{
return
R
.
failed
(
"员工"
+
tSocialInfo
.
getEmpName
()
+
":"
+
tSocialInfo
.
getEmpIdcard
()
+
SocialConstants
.
SOCIAL_SET_ERROR
);
}
else
{
...
...
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