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
e6e857a5
Commit
e6e857a5
authored
Jul 21, 2022
by
李灿灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into feature-licancan
parents
70f7ffd1
905cd3bf
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
352 additions
and
177 deletions
+352
-177
FddContractAttachInfoController.java
.../archives/controller/FddContractAttachInfoController.java
+3
-8
FddController.java
...cloud/plus/v1/yifu/archives/controller/FddController.java
+4
-4
FddContractAttachInfoService.java
...1/yifu/archives/service/FddContractAttachInfoService.java
+2
-2
FddContractAttachInfoServiceImpl.java
...chives/service/impl/FddContractAttachInfoServiceImpl.java
+271
-154
FddContractInfoServiceImpl.java
...ifu/archives/service/impl/FddContractInfoServiceImpl.java
+42
-6
TEmployeeContractInfoServiceImpl.java
...chives/service/impl/TEmployeeContractInfoServiceImpl.java
+2
-2
FddPersonAccountMapper.xml
...-biz/src/main/resources/mapper/FddPersonAccountMapper.xml
+1
-1
CommonConstants.java
...ud.plus.v1/yifu/common/core/constant/CommonConstants.java
+2
-0
ExcelUtil.java
...m/yifu.cloud.plus.v1/yifu/common/core/util/ExcelUtil.java
+20
-0
LocalDateUtil.java
...ifu/cloud/plus/v1/yifu/insurances/util/LocalDateUtil.java
+5
-0
No files found.
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/FddContractAttachInfoController.java
View file @
e6e857a5
...
...
@@ -174,16 +174,16 @@ public class FddContractAttachInfoController {
List
<
ErrorMessage
>
errorInfo
=
fddContractAttachInfoService
.
batchAdd
(
util1
.
getEntityList
());
Map
<
String
,
Object
>
variableMap
=
new
HashMap
<>();
Map
<
Integer
,
Object
>
map
=
new
HashMap
<>();
boolean
allExitContract
=
errorInfo
.
stream
().
allMatch
(
e
->
checkInfo
(
e
));
boolean
allExitContract
=
errorInfo
.
stream
().
allMatch
(
e
->
e
.
getMessage
().
equals
(
"存在“在用”的合同"
));
if
(
allExitContract
)
{
variableMap
.
put
(
"allMatch"
,
"true"
);
for
(
ErrorMessage
errorMessage
:
errorInfo
){
map
.
put
(
errorMessage
.
getLineNum
(),
util1
.
getEntityList
().
get
(
errorMessage
.
getLineNum
()-
2
));
}
variableMap
.
put
(
"data"
,
map
);
return
R
.
ok
(
variableMap
);
return
R
.
ok
(
variableMap
,
"存在“在用”的合同"
);
}
return
new
R
<>(
CommonConstants
.
dingleDigitIntArray
[
1
],
""
,
errorInfo
);
return
R
.
failed
(
errorInfo
,
""
);
}
else
{
return
R
.
ok
(
null
,
"无数据可导入"
);
}
...
...
@@ -273,9 +273,4 @@ public class FddContractAttachInfoController {
List
<
ErrorMessage
>
errorInfo
=
fddContractAttachInfoService
.
sendTask
(
entityList
);
return
R
.
ok
(
errorInfo
);
}
public
boolean
checkInfo
(
ErrorMessage
errorMessage
)
{
Set
<
String
>
set
=
errorMessage
.
getErrors
();
return
set
.
stream
().
allMatch
(
e
->
e
.
equals
(
"存在“在用”的合同"
));
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/FddController.java
View file @
e6e857a5
...
...
@@ -147,6 +147,7 @@ public class FddController {
@Operation
(
summary
=
"异步通知"
,
description
=
"异步通知"
)
@RequestMapping
(
value
=
"/notifyUrl"
)
public
R
<
String
>
notifyUrl
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
YifuUser
user
=
SecurityUtils
.
getUser
();
checkSign
(
request
);
String
fddEvent
=
request
.
getHeader
(
FDD_EVENT
);
String
fddBizContent
=
request
.
getParameter
(
FDD_BIZ_CONTENT
);
...
...
@@ -159,7 +160,6 @@ public class FddController {
if
(
StringUtils
.
equals
(
CommonConstants
.
TWO_STRING
,
jsonObject
.
getString
(
"status"
)))
{
//成功
FddPersonAccount
entity
=
fddPersonAccountService
.
getById
(
clientId
);
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
entity
!=
null
)
{
entity
.
setRealStatus
(
CommonConstants
.
ONE_STRING
);
entity
.
setUnionid
(
unionId
);
...
...
@@ -221,7 +221,7 @@ public class FddController {
e
.
printStackTrace
();
}
});
return
R
.
ok
(
null
,
"
success
"
);
return
R
.
ok
(
null
,
"
成功
"
);
}
}
}
else
if
(
StringUtils
.
equals
(
fddEvent
,
"sign"
))
{
...
...
@@ -254,7 +254,7 @@ public class FddController {
// 2021-3-15 16:24 hgw 全部签名成功,更新合同的状态:
if
(
CommonConstants
.
TWO_STRING
.
equals
(
fddContractInfo
.
getSendSignStatus
())
&&
CommonConstants
.
TWO_STRING
.
equals
(
fddContractInfo
.
getReceiveSignStatus
()))
{
fddContractAttachInfoService
.
saveEmpAndAttarch
(
fddContractInfo
);
fddContractAttachInfoService
.
saveEmpAndAttarch
(
fddContractInfo
,
user
);
TEmployeeContractInfo
ec
=
employeeContractInfoService
.
getById
(
fddContractInfo
.
getContractId
());
// 如果合同的状态是待电子签,则变更为已电子签
...
...
@@ -263,7 +263,7 @@ public class FddController {
employeeContractInfoService
.
updateById
(
ec
);
}
}
return
R
.
ok
(
null
,
"
success
"
);
return
R
.
ok
(
null
,
"
成功
"
);
}
else
if
(
StringUtils
.
equals
(
fddEvent
,
"notifyUrlVerify"
))
{
return
R
.
ok
(
null
,
"success"
);
}
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/FddContractAttachInfoService.java
View file @
e6e857a5
...
...
@@ -25,8 +25,8 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractInfo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
java.io.InputStream
;
import
java.util.List
;
/**
...
...
@@ -53,7 +53,7 @@ public interface FddContractAttachInfoService extends IService<FddContractAttach
List
<
ErrorMessage
>
sendTask
(
List
<
FddContractAttachInfo
>
entityList
);
R
<
String
>
saveEmpAndAttarch
(
FddContractInfo
fddContractInfo
);
R
<
String
>
saveEmpAndAttarch
(
FddContractInfo
fddContractInfo
,
YifuUser
user
);
List
<
ErrorMessage
>
batchAdd
(
List
<
FddContractAttachInfo
>
entityList
);
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/FddContractAttachInfoServiceImpl.java
View file @
e6e857a5
...
...
@@ -16,8 +16,6 @@
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -25,17 +23,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.yifu.cloud.plus.v1.yifu.archives.constants.EmployeeConstants
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.*
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.FddContractAttachInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.*
;
import
com.yifu.cloud.plus.v1.yifu.archives.util.IdCardUtil
;
import
com.yifu.cloud.plus.v1.yifu.archives.utils.DoJointTask
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
...
...
@@ -47,10 +45,15 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import
org.springframework.cache.Cache
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.support.SimpleValueWrapper
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZonedDateTime
;
import
java.util.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
...
...
@@ -80,7 +83,7 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
private
TEmployeeProjectMapper
tEmployeeProjectMapper
;
@Autowired
private
TEmployeeContractInfo
Service
employeeContractInfoService
;
private
TEmployeeContractInfo
Mapper
employeeContractInfoMapper
;
@Autowired
private
TSettleDomainService
tSettleDomainService
;
...
...
@@ -91,9 +94,6 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
@Autowired
private
FddContractTemplateService
fddContractTemplateService
;
@Autowired
private
DaprUpmsProperties
daprUpmsProperties
;
@Autowired
private
TEmployeeInfoService
employeeInfoService
;
...
...
@@ -107,12 +107,17 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
@Autowired
private
CacheManager
cacheManager
;
@Autowired
@Lazy
private
DoJointTask
doJointTask
;
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
10
);
public
static
final
String
NO_VALID_CONTRACT_FOUND
=
"未获取到有效在用合同,请确认存在对应姓名、身份证、合同起始时间的合同数据"
;
/**
* 法大大合同附属信息表简单分页查询
*
* @param fddContractAttachInfo 法大大合同附属信息表
* @return
*/
...
...
@@ -123,6 +128,7 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
/**
* 获取有附属信息但是没有法大大电子合同的数据
*
* @param empIdcard
* @return
*/
...
...
@@ -175,7 +181,7 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
try
{
//如果已经实名发送电子合同
FddContractAttachInfo
fddContractAttachInfo
=
this
.
getById
(
attachInfo
.
getId
());
R
<
String
>
returnR
=
fddContractInfoService
.
saveEmpContract
(
fddContractAttachInfo
,
user
);
R
<
String
>
returnR
=
fddContractInfoService
.
saveEmpContract
(
fddContractAttachInfo
,
user
);
if
(
returnR
!=
null
)
{
//记录返回信息
if
(
returnR
.
getCode
()
==
CommonConstants
.
SUCCESS
)
{
...
...
@@ -197,25 +203,28 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
}
/**
*
* @Author hyc
* @Date 2022-06-02
* @param fddContractInfo
* @return R
* @Author hyc
* @Date 2022-06-02
**/
@Override
@Transactional
public
R
<
String
>
saveEmpAndAttarch
(
FddContractInfo
fddContractInfo
)
{
public
R
<
String
>
saveEmpAndAttarch
(
FddContractInfo
fddContractInfo
,
YifuUser
user
)
{
List
<
TEmployeeInfo
>
updateList
=
new
ArrayList
();
try
{
FddContractAttachInfo
fddContractAttachInfo
=
this
.
getOne
(
Wrappers
.<
FddContractAttachInfo
>
query
().
lambda
().
eq
(
FddContractAttachInfo:
:
getContractId
,
fddContractInfo
.
getContractId
()));
FddContractAttachInfo
fddContractAttachInfo
=
this
.
getOne
(
Wrappers
.<
FddContractAttachInfo
>
query
().
lambda
().
eq
(
FddContractAttachInfo:
:
getContractId
,
fddContractInfo
.
getContractId
())
.
eq
(
FddContractAttachInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
fddContractAttachInfo
!=
null
&&
fddContractAttachInfo
.
getContractId
().
equals
(
fddContractAttachInfo
.
getId
()))
{
FddContractTemplate
fddContractTemplate
=
fddContractTemplateService
.
getOne
(
Wrappers
.<
FddContractTemplate
>
query
().
lambda
()
.
eq
(
FddContractTemplate:
:
getId
,
fddContractInfo
.
getFddTemplateId
()));
TSettleDomain
settleDomain
=
tSettleDomainService
.
getOne
(
Wrappers
.<
TSettleDomain
>
query
().
lambda
().
eq
(
TSettleDomain:
:
getDepartNo
,
fddContractAttachInfo
.
getDepartNo
()));
TCustomerInfo
tCustomerInfo
=
tCustomerInfoService
.
getOne
(
Wrappers
.<
TCustomerInfo
>
query
().
lambda
().
eq
(
TCustomerInfo:
:
getId
,
settleDomain
.
getCustomerId
()));
TSettleDomain
settleDomain
=
tSettleDomainService
.
getOne
(
Wrappers
.<
TSettleDomain
>
query
().
lambda
().
eq
(
TSettleDomain:
:
getDepartNo
,
fddContractAttachInfo
.
getDepartNo
())
.
eq
(
TSettleDomain:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
).
eq
(
TSettleDomain:
:
getStopFlag
,
CommonConstants
.
ZERO_STRING
));
TCustomerInfo
tCustomerInfo
=
tCustomerInfoService
.
getOne
(
Wrappers
.<
TCustomerInfo
>
query
().
lambda
().
eq
(
TCustomerInfo:
:
getId
,
settleDomain
.
getCustomerId
())
.
eq
(
TCustomerInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
//查询项目档案
TEmployeeProject
tEmployeeProject
=
employeeProjectMapper
.
selectOne
(
Wrappers
.<
TEmployeeProject
>
query
().
lambda
()
.
eq
(
TEmployeeProject:
:
getDeptId
,
settleDomain
.
getId
())
.
eq
(
TEmployeeProject:
:
getDeptNo
,
settleDomain
.
getDepartNo
())
TEmployeeProject
tEmployeeProject
=
employeeProjectMapper
.
selectOne
(
Wrappers
.<
TEmployeeProject
>
query
().
lambda
()
.
eq
(
TEmployeeProject:
:
getDeptNo
,
settleDomain
.
getDepartNo
())
.
eq
(
TEmployeeProject:
:
getEmpIdcard
,
fddContractAttachInfo
.
getEmpIdcard
()).
eq
(
TEmployeeProject:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
//查询人员档案
...
...
@@ -228,79 +237,99 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
TEmployeeProject
tEmployeeProjectCompare
=
employeeProjectMapper
.
selectById
(
tEmployeeProject
.
getId
());
if
(
CommonConstants
.
ONE_INT
==
tEmployeeProject
.
getProjectStatus
())
{
tEmployeeProject
.
setProjectStatus
(
CommonConstants
.
ZERO_INT
);
tEmployeeProject
.
setLeaveReason
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeProject
.
setLeaveTime
(
null
);
tEmployeeProject
.
setLeaveRemark
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeProject
.
setLeaveUser
(
CommonConstants
.
EMPTY_STRING
);
}
//判断人员档案的状态,如果是减档状态就复档
TEmployeeInfo
tEmployeeInfoCompare
=
employeeInfoService
.
getById
(
tEmployeeProject
.
getEmpId
());
if
(
CommonConstants
.
ONE_INT
==
tEmployeeInfo
.
getFileStatus
())
{
tEmployeeInfo
.
setFileStatus
(
CommonConstants
.
ZERO_INT
);
tEmployeeInfo
.
setLeaveReason
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveTime
(
null
);
tEmployeeInfo
.
setLeaveRemark
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveUser
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveUserName
(
CommonConstants
.
EMPTY_STRING
);
}
//更新项目档案
tEmployeeProject
.
setEmpNatrue
(
fddContract
Template
.
getTyp
e
());
tEmployeeProject
.
setEmpNatrue
(
fddContract
AttachInfo
.
getEmpNatru
e
());
tEmployeeProject
.
setPost
(
fddContractAttachInfo
.
getPost
());
tEmployeeProject
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
employeeProjectMapper
.
updateById
(
tEmployeeProject
);
//保存操作记录
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
1
],
""
,
tEmployeeProject
.
getId
(),
tEmployeeProjectCompare
,
tEmployeeProject
);
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
1
],
""
,
tEmployeeProject
.
getId
(),
tEmployeeProjectCompare
,
tEmployeeProject
);
//更新人员档案
tEmployeeInfo
.
setEmpPhone
(
fddContractAttachInfo
.
getEmpPhone
());
tEmployeeInfo
.
setEmpNatrue
(
fddContractTemplate
.
getType
());
employeeInfoService
.
updateById
(
tEmployeeInfo
);
//保存操作记录
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
0
],
tEmployeeProject
.
getId
(),
""
,
tEmployeeInfoCompare
,
tEmployeeInfo
);
tEmployeeInfo
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
updateList
.
add
(
tEmployeeInfo
);
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfo
Service
.
ge
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfo
Mapper
.
selec
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
fddContractAttachInfo
.
getEmpIdcard
()).
eq
(
TEmployeeContractInfo:
:
getSettleDomain
,
settleDomain
.
getId
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
));
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TEmployeeContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
)
);
//无可用合同
if
(
null
==
employeeContractInfo
)
{
//新增合同
TEmployeeContractInfo
newEmployeeContractInfo
=
new
TEmployeeContractInfo
();
saveTEmployeeContractInfo
(
newEmployeeContractInfo
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
tEmployeeProject
);
saveTEmployeeContractInfo
(
newEmployeeContractInfo
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
tEmployeeProject
);
//更新合同id
updateContractId
(
fddContractInfo
,
fddContractAttachInfo
,
newEmployeeContractInfo
);
}
else
{
//已有合同设置状态为不在用
employeeContractInfo
.
setInUse
(
CommonConstants
.
ONE_STRING
);
employeeContractInfo
Service
.
updateById
(
employeeContractInfo
);
employeeContractInfo
Mapper
.
updateById
(
employeeContractInfo
);
//新增合同
TEmployeeContractInfo
newEmployeeContractInfo2
=
new
TEmployeeContractInfo
();
saveTEmployeeContractInfo
(
newEmployeeContractInfo2
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
tEmployeeProject
);
saveTEmployeeContractInfo
(
newEmployeeContractInfo2
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
tEmployeeProject
);
//更新合同id
updateContractId
(
fddContractInfo
,
fddContractAttachInfo
,
newEmployeeContractInfo2
);
}
doJointTask
.
doUpdateEmployeeInfo
(
updateList
,
user
);
}
else
{
//判断人员档案是否存在,不存在就新增人员档案,存在则判断档案状态,如果是减档就复档
if
(
Common
.
isNotNull
(
tEmployeeInfo
))
{
TEmployeeInfo
employeeInfoCompare
=
employeeInfoService
.
getById
(
tEmployeeProject
.
getEmpId
());
if
(
CommonConstants
.
ONE_INT
==
tEmployeeInfo
.
getFileStatus
())
{
tEmployeeInfo
.
setFileStatus
(
CommonConstants
.
ZERO_INT
);
tEmployeeInfo
.
setLeaveReason
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveTime
(
null
);
tEmployeeInfo
.
setLeaveRemark
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveUser
(
CommonConstants
.
EMPTY_STRING
);
tEmployeeInfo
.
setLeaveUserName
(
CommonConstants
.
EMPTY_STRING
);
}
//更新人员档案
tEmployeeInfo
.
setEmpPhone
(
fddContractAttachInfo
.
getEmpPhone
());
tEmployeeInfo
.
setEmpNatrue
(
fddContractTemplate
.
getType
());
tEmployeeInfo
.
setProjectNum
(
CommonConstants
.
ONE_INT
+
employeeInfoCompare
.
getProjectNum
());
employeeInfoService
.
updateById
(
tEmployeeInfo
);
//保存操作记录
tEmployeeLogService
.
saveModificationRecord
(
CommonConstants
.
dingleDigitIntArray
[
0
],
tEmployeeProject
.
getId
(),
""
,
employeeInfoCompare
,
tEmployeeInfo
);
tEmployeeInfo
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
updateList
.
add
(
tEmployeeInfo
);
//新增项目档案
TEmployeeProject
project
=
new
TEmployeeProject
();
saveEmployeeproject
(
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
project
);
saveEmployeeproject
(
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
project
);
//新增合同
TEmployeeContractInfo
newEmployeeContractInfo1
=
new
TEmployeeContractInfo
();
saveTEmployeeContractInfo
(
newEmployeeContractInfo1
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
project
);
//更新合同id
updateContractId
(
fddContractInfo
,
fddContractAttachInfo
,
newEmployeeContractInfo1
);
doJointTask
.
doUpdateEmployeeInfo
(
updateList
,
user
);
}
else
{
//新增人员档案
TEmployeeInfo
newEmployeeInfo
=
new
TEmployeeInfo
();
newEmployeeInfo
.
setEmpName
(
fddContractAttachInfo
.
getEmpName
());
newEmployeeInfo
.
setEmpIdcard
(
fddContractAttachInfo
.
getEmpIdcard
());
newEmployeeInfo
.
setEmpPhone
(
fddContractAttachInfo
.
getEmpPhone
());
newEmployeeInfo
.
setEmpNatrue
(
fddContract
Template
.
getTyp
e
());
newEmployeeInfo
.
setEmpNatrue
(
fddContract
AttachInfo
.
getEmpNatru
e
());
newEmployeeInfo
.
setEmpCode
(
getCode
());
newEmployeeInfo
.
setFileStatus
(
CommonConstants
.
ZERO_INT
);
newEmployeeInfo
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
newEmployeeInfo
.
setStatus
(
CommonConstants
.
ZERO_INT
);
newEmployeeInfo
.
setProjectNum
(
CommonConstants
.
ONE_INT
);
newEmployeeInfo
.
setFileSource
(
CommonConstants
.
dingleDigitStrArray
[
4
]);
newEmployeeInfo
.
setFileSource
(
CommonConstants
.
dingleDigitStrArray
[
6
]);
newEmployeeInfo
.
setCreateBy
(
fddContractAttachInfo
.
getCreateBy
());
newEmployeeInfo
.
setCreateName
(
fddContractAttachInfo
.
getCreateName
());
newEmployeeInfo
.
setUpdateBy
(
fddContractAttachInfo
.
getUpdateBy
());
newEmployeeInfo
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
Date
date
=
IdCardUtil
.
getBirthdate
(
fddContractAttachInfo
.
getEmpIdcard
());
if
(
null
!=
date
)
{
...
...
@@ -313,17 +342,18 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
//新增项目档案
TEmployeeProject
newTEmpProject
=
new
TEmployeeProject
();
saveEmployeeproject
(
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
newEmployeeInfo
,
tCustomerInfo
,
tEmployee
Project
);
saveEmployeeproject
(
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
newEmployeeInfo
,
tCustomerInfo
,
newTEmp
Project
);
//新增合同
TEmployeeContractInfo
newEmployeeContractInfo1
=
new
TEmployeeContractInfo
();
saveTEmployeeContractInfo
(
newEmployeeContractInfo1
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
tEmployeeInfo
,
tCustomerInfo
,
newTEmpProject
);
saveTEmployeeContractInfo
(
newEmployeeContractInfo1
,
fddContractAttachInfo
,
settleDomain
,
fddContractTemplate
,
newEmployeeInfo
,
tCustomerInfo
,
newTEmpProject
);
//更新合同id
updateContractId
(
fddContractInfo
,
fddContractAttachInfo
,
newEmployeeContractInfo1
);
}
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"保存异常:"
+
e
.
getMessage
());
return
R
.
failed
(
"保存异常:"
+
e
.
getMessage
());
}
...
...
@@ -333,7 +363,6 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
@Override
public
List
<
ErrorMessage
>
batchAdd
(
List
<
FddContractAttachInfo
>
entityList
)
{
List
<
ErrorMessage
>
errorList
=
new
ArrayList
<>();
Set
<
String
>
errorMsg
;
YifuUser
user
=
SecurityUtils
.
getUser
();
Map
<
String
,
Integer
>
sameCheck
=
new
HashMap
<>();
...
...
@@ -341,52 +370,57 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
try
{
if
(
null
!=
entityList
&&
!
entityList
.
isEmpty
())
{
for
(
FddContractAttachInfo
attachInfo
:
entityList
)
{
errorMsg
=
new
HashSet
<>();
i
++;
String
sameInfo
=
attachInfo
.
getEmpNatrue
()
+
"_"
+
attachInfo
.
getDepartNo
()
String
sameInfo
=
attachInfo
.
getEmpIdcard
()
+
"_"
+
attachInfo
.
getDepartNo
()
+
"_"
+
attachInfo
.
getFddTemplateId
()
+
"_"
+
attachInfo
.
getContractStart
()
+
"_"
+
attachInfo
.
getContractEnd
();
if
(
sameCheck
.
get
(
sameInfo
)
!=
null
)
{
errorMsg
.
add
(
"第"
+
(
i
)
+
"行与第"
+
sameCheck
.
get
(
sameInfo
)
+
"行重复!"
);
errorList
.
add
(
new
ErrorMessage
(
i
,
"第"
+
(
i
)
+
"行与第"
+
sameCheck
.
get
(
sameInfo
)
+
"行重复!"
,
CommonConstants
.
RED
));
continue
;
}
else
{
sameCheck
.
put
(
sameInfo
,
i
);
}
//判断计时计件工资必填
if
(
CommonConstants
.
ONE_STRING
.
equals
(
attachInfo
.
getSalaryType
())
&&
Common
.
isEmpty
(
attachInfo
.
getSalaryStandardPerHour
()))
{
errorMsg
.
add
(
"计时工资不能为空"
);
errorList
.
add
(
new
ErrorMessage
(
i
,
"计时工资不能为空"
,
CommonConstants
.
RED
));
continue
;
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
attachInfo
.
getSalaryType
())
&&
Common
.
isEmpty
(
attachInfo
.
getSalaryStandardPerPiece
()))
{
errorMsg
.
add
(
"计件工资不能为空"
);
errorList
.
add
(
new
ErrorMessage
(
i
,
"计件工资不能为空"
,
CommonConstants
.
RED
));
continue
;
}
//结算主体编码是否准确
TSettleDomain
settleDomain
=
tSettleDomainService
.
getOne
(
Wrappers
.<
TSettleDomain
>
query
().
lambda
().
eq
(
TSettleDomain:
:
getDepartNo
,
attachInfo
.
getDepartNo
())
.
eq
(
TSettleDomain:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
).
eq
(
TSettleDomain:
:
getStopFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
Common
.
isEmpty
(
settleDomain
))
{
errorMsg
.
add
(
"项目编码有误"
);
}
else
{
//查询员工合同
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfoService
.
getOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
attachInfo
.
getEmpIdcard
()).
eq
(
TEmployeeContractInfo:
:
getSettleDomain
,
settleDomain
.
getId
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
).
eq
(
TEmployeeContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
employeeContractInfo
!=
null
)
{
long
count
=
this
.
count
(
Wrappers
.<
FddContractAttachInfo
>
query
().
lambda
().
eq
(
FddContractAttachInfo:
:
getContractId
,
employeeContractInfo
.
getId
()));
if
(
count
>
CommonConstants
.
ZERO_INT
&&
attachInfo
.
getContractStart
().
before
(
employeeContractInfo
.
getContractEnd
()))
{
errorMsg
.
add
(
"已导入合同相关基础数据"
);
}
errorList
.
add
(
new
ErrorMessage
(
i
,
"项目编码有误"
,
CommonConstants
.
RED
));
continue
;
}
//查询员工合同
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfoMapper
.
selectOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
attachInfo
.
getEmpIdcard
()).
eq
(
TEmployeeContractInfo:
:
getSettleDomain
,
settleDomain
.
getId
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
).
eq
(
TEmployeeContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
employeeContractInfo
!=
null
)
{
long
count
=
this
.
count
(
Wrappers
.<
FddContractAttachInfo
>
query
().
lambda
().
eq
(
FddContractAttachInfo:
:
getContractId
,
employeeContractInfo
.
getId
()));
if
(
count
>
CommonConstants
.
ZERO_INT
&&
attachInfo
.
getContractStart
().
before
(
employeeContractInfo
.
getContractEnd
()))
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"已导入合同相关基础数据"
,
CommonConstants
.
RED
));
continue
;
}
List
<
FddContractTemplate
>
fddContractTemplateList
=
fddContractTemplateService
.
list
(
Wrappers
.<
FddContractTemplate
>
query
().
lambda
()
.
eq
(
FddContractTemplate:
:
getFddTemplateId
,
attachInfo
.
getFddTemplateId
())
.
eq
(
FddContractTemplate:
:
getModifyUploadStatus
,
CommonConstants
.
dingleDigitStrArray
[
1
]));
//如果模板存在则生成法大大电子合同数据
if
(
fddContractTemplateList
.
size
()
==
CommonConstants
.
ZERO_INT
)
{
errorMsg
.
add
(
"未获取到有效的合同模板"
);
}
if
(
fddContractTemplateList
.
size
()
!=
CommonConstants
.
ONE_INT
)
{
errorMsg
.
add
(
"法大大合同有效合同模板存在多条"
);
}
else
{
errorMsg
.
add
(
"存在“在用”的合同"
);
}
List
<
FddContractTemplate
>
fddContractTemplateList
=
fddContractTemplateService
.
list
(
Wrappers
.<
FddContractTemplate
>
query
().
lambda
()
.
eq
(
FddContractTemplate:
:
getFddTemplateId
,
attachInfo
.
getFddTemplateId
())
.
eq
(
FddContractTemplate:
:
getModifyUploadStatus
,
CommonConstants
.
dingleDigitStrArray
[
1
]));
//如果模板存在则生成法大大电子合同数据
if
(
fddContractTemplateList
.
size
()
==
CommonConstants
.
ZERO_INT
)
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"未获取到有效的合同模板"
,
CommonConstants
.
RED
));
continue
;
}
if
(
fddContractTemplateList
.
size
()
!=
CommonConstants
.
ONE_INT
)
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"法大大合同有效合同模板存在多条"
,
CommonConstants
.
RED
));
continue
;
}
else
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"存在“在用”的合同"
,
CommonConstants
.
RED
));
continue
;
}
}
...
...
@@ -395,68 +429,64 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
//新签
employeeParamR
=
fddContractInfoService
.
generalEmployeeParam
(
attachInfo
,
false
);
if
(
CommonConstants
.
FAIL
==
employeeParamR
.
getCode
())
{
errorMsg
.
add
(
employeeParamR
.
getMsg
());
errorList
.
add
(
new
ErrorMessage
(
i
,
employeeParamR
.
getMsg
(),
CommonConstants
.
RED
));
continue
;
}
// 数据合法情况
if
(!
CollUtil
.
isEmpty
(
errorMsg
))
{
// 数据不合法
errorList
.
add
(
new
ErrorMessage
(
i
,
errorMsg
));
}
else
{
//保存合同数据
attachInfo
.
setContractId
(
CommonConstants
.
EMPTY_STRING
);
attachInfo
.
setCreateTime
(
LocalDateTime
.
now
());
//保存数据
this
.
save
(
attachInfo
);
attachInfo
.
setContractId
(
attachInfo
.
getId
());
this
.
updateById
(
attachInfo
);
//判断员工是否有实名数据,如果没有插入是实名数据
long
fddPersonCount
=
fddPersonAccountService
.
count
(
Wrappers
.<
FddPersonAccount
>
query
().
lambda
().
eq
(
FddPersonAccount:
:
getMoblie
,
attachInfo
.
getEmpPhone
())
.
eq
(
FddPersonAccount:
:
getIdCard
,
attachInfo
.
getEmpIdcard
()).
eq
(
FddPersonAccount:
:
getName
,
attachInfo
.
getEmpName
())
.
eq
(
FddPersonAccount:
:
getSystemFlag
,
CommonConstants
.
ONE_STRING
));
if
(
fddPersonCount
==
CommonConstants
.
ZERO_INT
)
{
FddPersonAccount
fddPersonAccount
=
new
FddPersonAccount
();
fddPersonAccount
.
setMoblie
(
attachInfo
.
getEmpPhone
());
fddPersonAccount
.
setName
(
attachInfo
.
getEmpName
());
fddPersonAccount
.
setIdCard
(
attachInfo
.
getEmpIdcard
());
fddPersonAccount
.
setSystemFlag
(
CommonConstants
.
ONE_STRING
);
fddPersonAccount
.
setRealStatus
(
CommonConstants
.
ZERO_STRING
);
fddPersonAccountService
.
save
(
fddPersonAccount
);
executorService
.
submit
(()
->
{
try
{
fddPersonAccountService
.
sendAuthMessage
(
fddPersonAccount
.
getId
());
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
});
}
else
{
executorService
.
submit
(()
->
{
try
{
//如果已经实名发送电子合同
FddContractAttachInfo
fddContractAttachInfo
=
this
.
getById
(
attachInfo
.
getId
());
R
<
String
>
returnR
=
fddContractInfoService
.
saveEmpContract
(
fddContractAttachInfo
,
user
);
if
(
returnR
!=
null
)
{
//记录返回信息
if
(
returnR
.
getCode
()
==
CommonConstants
.
SUCCESS
)
{
fddContractAttachInfo
.
setRemark
(
"成功"
);
}
else
{
fddContractAttachInfo
.
setRemark
(
returnR
.
getMsg
());
}
this
.
updateById
(
fddContractAttachInfo
);
//保存合同数据
attachInfo
.
setContractId
(
CommonConstants
.
EMPTY_STRING
);
attachInfo
.
setCreateTime
(
LocalDateTime
.
now
());
//保存数据
this
.
save
(
attachInfo
);
attachInfo
.
setContractId
(
attachInfo
.
getId
());
this
.
updateById
(
attachInfo
);
//判断员工是否有实名数据,如果没有插入是实名数据
long
fddPersonCount
=
fddPersonAccountService
.
count
(
Wrappers
.<
FddPersonAccount
>
query
().
lambda
().
eq
(
FddPersonAccount:
:
getMoblie
,
attachInfo
.
getEmpPhone
())
.
eq
(
FddPersonAccount:
:
getIdCard
,
attachInfo
.
getEmpIdcard
()).
eq
(
FddPersonAccount:
:
getName
,
attachInfo
.
getEmpName
())
.
eq
(
FddPersonAccount:
:
getSystemFlag
,
CommonConstants
.
ONE_STRING
));
if
(
fddPersonCount
==
CommonConstants
.
ZERO_INT
)
{
FddPersonAccount
fddPersonAccount
=
new
FddPersonAccount
();
fddPersonAccount
.
setMoblie
(
attachInfo
.
getEmpPhone
());
fddPersonAccount
.
setName
(
attachInfo
.
getEmpName
());
fddPersonAccount
.
setIdCard
(
attachInfo
.
getEmpIdcard
());
fddPersonAccount
.
setSystemFlag
(
CommonConstants
.
ONE_STRING
);
fddPersonAccount
.
setRealStatus
(
CommonConstants
.
ZERO_STRING
);
fddPersonAccountService
.
save
(
fddPersonAccount
);
executorService
.
submit
(()
->
{
try
{
fddPersonAccountService
.
sendAuthMessage
(
fddPersonAccount
.
getId
());
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
});
}
else
{
executorService
.
submit
(()
->
{
try
{
//如果已经实名发送电子合同
FddContractAttachInfo
fddContractAttachInfo
=
this
.
getById
(
attachInfo
.
getId
());
R
<
String
>
returnR
=
fddContractInfoService
.
saveEmpContract
(
fddContractAttachInfo
,
user
);
if
(
returnR
!=
null
)
{
//记录返回信息
if
(
returnR
.
getCode
()
==
CommonConstants
.
SUCCESS
)
{
fddContractAttachInfo
.
setRemark
(
"成功"
);
}
else
{
fddContractAttachInfo
.
setRemark
(
returnR
.
getMsg
());
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
this
.
updateById
(
fddContractAttachInfo
);
}
});
}
errorList
.
add
(
new
ErrorMessage
(
i
,
"保存成功"
,
CommonConstants
.
GREEN
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
}
errorList
.
add
(
new
ErrorMessage
(
i
,
"保存成功"
,
CommonConstants
.
GREEN
));
}
}
else
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"无数据保存"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"合同数据批量新增异常"
+
e
.
getMessage
());
errorList
.
add
(
new
ErrorMessage
(
i
,
"合同数据批量新增异常:"
+
e
.
getMessage
()));
return
errorList
;
}
return
errorList
;
...
...
@@ -470,22 +500,22 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
if
(
null
!=
entityList
&&
!
entityList
.
isEmpty
())
{
for
(
FddContractAttachInfo
attachInfo
:
entityList
)
{
//查询员工合同
TEmployeeContractInfo
employeeContractInfoValid
=
employeeContractInfo
Service
.
ge
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
TEmployeeContractInfo
employeeContractInfoValid
=
employeeContractInfo
Mapper
.
selec
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpName
,
attachInfo
.
getEmpName
()).
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
attachInfo
.
getEmpIdcard
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
).
eq
(
TEmployeeContractInfo:
:
getIsObsolete
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
).
eq
(
TEmployeeContractInfo:
:
getIsObsolete
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TEmployeeContractInfo:
:
getContractStart
,
attachInfo
.
getContractStart
()));
if
(
employeeContractInfoValid
==
null
)
{
if
(
employeeContractInfoValid
==
null
)
{
errorList
.
add
(
new
ErrorMessage
(
i
,
NO_VALID_CONTRACT_FOUND
,
CommonConstants
.
RED
));
continue
;
}
if
(
StringUtils
.
equals
(
CommonConstants
.
ONE_STRING
,
employeeContractInfoValid
.
getContractType
()))
{
if
(
employeeContractInfoValid
.
getContractEnd
()==
null
)
{
if
(
StringUtils
.
equals
(
CommonConstants
.
ONE_STRING
,
employeeContractInfoValid
.
getContractType
()))
{
if
(
employeeContractInfoValid
.
getContractEnd
()
==
null
)
{
errorList
.
add
(
new
ErrorMessage
(
i
,
"员工合同结束时间为空"
,
CommonConstants
.
RED
));
continue
;
}
}
//查询员工合同是否存在
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfo
Service
.
ge
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
TEmployeeContractInfo
employeeContractInfo
=
employeeContractInfo
Mapper
.
selec
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpName
,
attachInfo
.
getEmpName
()).
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
attachInfo
.
getEmpIdcard
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
)
.
and
(
wrapper
->
wrapper
.
and
(
wrapper2
->
wrapper2
.
eq
(
TEmployeeContractInfo:
:
getContractStart
,
attachInfo
.
getContractStart
())
...
...
@@ -526,7 +556,7 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
* @Description: 更新合同id
* @return:
**/
public
void
updateContractId
(
FddContractInfo
fddContractInfo
,
FddContractAttachInfo
fddContractAttachInfo
,
TEmployeeContractInfo
newEmployeeContractInfo
)
{
public
void
updateContractId
(
FddContractInfo
fddContractInfo
,
FddContractAttachInfo
fddContractAttachInfo
,
TEmployeeContractInfo
newEmployeeContractInfo
)
{
//更新合同id
fddContractAttachInfo
.
setContractId
(
newEmployeeContractInfo
.
getId
());
this
.
updateById
(
fddContractAttachInfo
);
...
...
@@ -547,11 +577,11 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
* @Description: 新增合同
* @return:
**/
public
void
saveTEmployeeContractInfo
(
TEmployeeContractInfo
newEmployeeContractInfo
,
FddContractAttachInfo
fddContractAttachInfo
,
TSettleDomain
settleDomain
,
FddContractTemplate
fddContractTemplate
,
TEmployeeInfo
tEmployeeInfo
,
TCustomerInfo
tCustomerInfo
,
TEmployeeProject
tEmployeeProject
)
{
TEmployeeContractInfo
employeeContractCount
=
employeeContractInfo
Service
.
ge
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
public
void
saveTEmployeeContractInfo
(
TEmployeeContractInfo
newEmployeeContractInfo
,
FddContractAttachInfo
fddContractAttachInfo
,
TSettleDomain
settleDomain
,
FddContractTemplate
fddContractTemplate
,
TEmployeeInfo
tEmployeeInfo
,
TCustomerInfo
tCustomerInfo
,
TEmployeeProject
tEmployeeProject
)
{
TEmployeeContractInfo
employeeContractCount
=
employeeContractInfo
Mapper
.
selec
tOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getEmpIdcard
,
fddContractAttachInfo
.
getEmpIdcard
()).
eq
(
TEmployeeContractInfo:
:
getSettleDomain
,
settleDomain
.
getId
())
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
));
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TEmployeeContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
)
);
//合同表里没有在用的合同
if
(
null
==
employeeContractCount
)
{
newEmployeeContractInfo
.
setEmpName
(
fddContractAttachInfo
.
getEmpName
());
...
...
@@ -574,22 +604,50 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
newEmployeeContractInfo
.
setFileProvince
(
tEmployeeInfo
.
getFileProvince
());
newEmployeeContractInfo
.
setFileTown
(
tEmployeeInfo
.
getFileTown
());
newEmployeeContractInfo
.
setInUse
(
CommonConstants
.
ZERO_STRING
);
//远程接口传参
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"value"
,
fddContractTemplate
.
getType
());
jsonObject
.
put
(
"type"
,
"personnel_type"
);
R
<
String
>
res
=
HttpDaprUtil
.
invokeMethodPost
(
daprUpmsProperties
.
getAppUrl
(),
daprUpmsProperties
.
getAppId
()
,
"/dict/inner/getLableFronValue"
,
jsonObject
,
Map
.
class
,
SecurityConstants
.
FROM_IN
);
if
(
res
!=
null
)
{
//电子合同模板对应的“员工类型”
newEmployeeContractInfo
.
setContractName
(
res
.
getData
());
}
else
{
newEmployeeContractInfo
.
setContractName
(
""
);
newEmployeeContractInfo
.
setIsSign
(
CommonConstants
.
dingleDigitIntArray
[
1
]);
newEmployeeContractInfo
.
setAuditStatus
(
CommonConstants
.
dingleDigitIntArray
[
2
]);
newEmployeeContractInfo
.
setAuditTimeLast
(
LocalDateTime
.
now
());
newEmployeeContractInfo
.
setCustomerId
(
tCustomerInfo
.
getId
());
newEmployeeContractInfo
.
setDeptNo
(
fddContractAttachInfo
.
getDepartNo
());
newEmployeeContractInfo
.
setUnitNo
(
tCustomerInfo
.
getCustomerCode
());
newEmployeeContractInfo
.
setFddFlag
(
CommonConstants
.
ONE_STRING
);
newEmployeeContractInfo
.
setEmpNatrue
(
fddContractAttachInfo
.
getEmpNatrue
());
newEmployeeContractInfo
.
setCreateBy
(
fddContractAttachInfo
.
getCreateBy
());
newEmployeeContractInfo
.
setCreateName
(
fddContractAttachInfo
.
getCreateName
());
newEmployeeContractInfo
.
setUpdateBy
(
fddContractAttachInfo
.
getUpdateBy
());
if
(
Common
.
isNotNull
(
fddContractAttachInfo
.
getPeriodStart
()))
{
newEmployeeContractInfo
.
setPeriodStart
(
localDate2Date
(
fddContractAttachInfo
.
getPeriodStart
()));
}
if
(
Common
.
isNotNull
(
fddContractAttachInfo
.
getPeriodEnd
()))
{
newEmployeeContractInfo
.
setPeriodEnd
(
localDate2Date
(
fddContractAttachInfo
.
getPeriodEnd
()));
}
if
(
Common
.
isNotNull
(
fddContractAttachInfo
.
getPeriodSalaryPerMonth
()))
{
newEmployeeContractInfo
.
setPeriodSalaryPerMonth
(
fddContractAttachInfo
.
getPeriodSalaryPerMonth
());
}
newEmployeeContractInfo
.
setSalaryType
(
fddContractAttachInfo
.
getSalaryType
());
if
(
Common
.
isNotNull
(
fddContractAttachInfo
.
getSalaryStandardPerHour
()))
{
newEmployeeContractInfo
.
setSalaryStandardPerHour
(
fddContractAttachInfo
.
getSalaryStandardPerHour
());
}
//设置状态为在用
newEmployeeContractInfo
.
setInUse
(
CommonConstants
.
ONE_STRING
);
employeeContractInfoService
.
save
(
newEmployeeContractInfo
);
if
(
Common
.
isNotNull
(
fddContractAttachInfo
.
getSalaryStandardPerPiece
()))
{
newEmployeeContractInfo
.
setSalaryStandardPerPiece
(
fddContractAttachInfo
.
getSalaryStandardPerPiece
());
}
String
contractName
=
""
;
// 渲染字典值
Map
<
String
,
String
>
dicObj
=
(
Map
<
String
,
String
>)
RedisUtil
.
redis
.
opsForValue
()
.
get
(
CacheConstants
.
DICT_DETAILS
+
CommonConstants
.
COLON_STRING
+
"personnel_type"
);
if
(
Common
.
isNotNull
(
dicObj
))
{
contractName
=
dicObj
.
get
(
fddContractTemplate
.
getType
());
}
newEmployeeContractInfo
.
setContractName
(
contractName
);
int
monthDiff
=
DateUtil
.
getMonthDiff
(
fddContractAttachInfo
.
getContractStart
(),
fddContractAttachInfo
.
getContractEnd
());
BigDecimal
b
=
new
BigDecimal
(
String
.
valueOf
(
monthDiff
/
12.0
));
b
=
b
.
setScale
(
1
,
BigDecimal
.
ROUND_HALF_UP
);
newEmployeeContractInfo
.
setContractTerm
(
String
.
valueOf
(
b
));
newEmployeeContractInfo
.
setApplyNo
(
this
.
getSqCode
());
employeeContractInfoMapper
.
insert
(
newEmployeeContractInfo
);
}
}
...
...
@@ -605,11 +663,11 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
* @Description: 新增项目档案
* @return:
**/
public
void
saveEmployeeproject
(
FddContractAttachInfo
fddContractAttachInfo
,
TSettleDomain
settleDomain
,
FddContractTemplate
fddContractTemplate
,
public
void
saveEmployeeproject
(
FddContractAttachInfo
fddContractAttachInfo
,
TSettleDomain
settleDomain
,
FddContractTemplate
fddContractTemplate
,
TEmployeeInfo
newEmployeeInfo
,
TCustomerInfo
tCustomerInfo
,
TEmployeeProject
newTEmpProject
)
{
//新增项目档案
newTEmpProject
.
setEmpName
(
fddContractAttachInfo
.
getEmpName
());
newTEmpProject
.
setEmpId
(
newEmployeeInfo
.
getId
());
newTEmpProject
.
setEmpIdcard
(
fddContractAttachInfo
.
getEmpIdcard
());
newTEmpProject
.
setEmpPhone
(
fddContractAttachInfo
.
getEmpPhone
());
newTEmpProject
.
setDeptId
(
settleDomain
.
getId
());
...
...
@@ -621,9 +679,16 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
newTEmpProject
.
setUnitNo
(
tCustomerInfo
.
getCustomerCode
());
newTEmpProject
.
setContractType
(
fddContractTemplate
.
getType
());
newTEmpProject
.
setStatus
(
CommonConstants
.
dingleDigitIntArray
[
0
]);
newTEmpProject
.
setPost
(
fddContractAttachInfo
.
getPost
());
newTEmpProject
.
setEmpNatrue
(
newEmployeeInfo
.
getEmpNatrue
());
newTEmpProject
.
setEmpNatrue
(
fddContractAttachInfo
.
getEmpNatrue
());
newTEmpProject
.
setEmpCode
(
newEmployeeInfo
.
getEmpCode
());
newTEmpProject
.
setBusinessPrimaryType
(
settleDomain
.
getBusinessPrimaryType
());
newTEmpProject
.
setBusinessSecondType
(
settleDomain
.
getBusinessSecondType
());
newTEmpProject
.
setBusinessThirdType
(
settleDomain
.
getBusinessThirdType
());
newTEmpProject
.
setProjectSource
(
CommonConstants
.
dingleDigitStrArray
[
7
]);
newTEmpProject
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
newTEmpProject
.
setCreateBy
(
fddContractAttachInfo
.
getCreateBy
());
newTEmpProject
.
setCreateName
(
fddContractAttachInfo
.
getCreateName
());
newTEmpProject
.
setUpdateBy
(
fddContractAttachInfo
.
getUpdateBy
());
String
empNO
=
""
;
empNO
=
getEmpNo
(
newTEmpProject
.
getDeptNo
());
newTEmpProject
.
setEmpNo
(
empNO
);
...
...
@@ -673,4 +738,56 @@ public class FddContractAttachInfoServiceImpl extends ServiceImpl<FddContractAtt
return
zeroArr
[
num
]
+
nowNums
;
}
/**
* @param
* @Description: 获取 申请编码
* @Author: hgw
* @Date: 2022/6/22 17:52
* @return: java.lang.String
**/
private
synchronized
String
getSqCode
()
{
String
nowDay
=
DateUtil
.
getThisDay
();
Cache
cache
=
cacheManager
.
getCache
(
CacheConstants
.
EVERYDAY_EMP_CONTRACT_CODE
);
Object
nowNumObj
=
cache
.
get
(
nowDay
);
int
nowNums
=
1
;
if
(
Common
.
isNotNull
(
nowNumObj
))
{
SimpleValueWrapper
value
=
(
SimpleValueWrapper
)
nowNumObj
;
nowNums
=
(
Integer
)
value
.
get
()
+
1
;
}
else
{
String
empCode
=
null
;
try
{
empCode
=
employeeContractInfoMapper
.
getMaxContractCode
();
nowNums
=
Integer
.
parseInt
(
empCode
)
+
1
;
}
catch
(
NumberFormatException
e
)
{
log
.
error
(
"获取人员合同当日最大编码时出错:"
+
empCode
);
nowNums
=
1
;
}
}
cache
.
put
(
nowDay
,
nowNums
);
return
"HT"
+
nowDay
+
this
.
getFourNum
(
String
.
valueOf
(
nowNums
));
}
/**
* @param nowNums 数字
* @Description: 获取四位字符型数字
* @Author: hgw
* @Date: 2022-6-30 16:05:25
* @return: 五位字符型数字
**/
private
String
getFourNum
(
String
nowNums
)
{
if
(
nowNums
.
length
()
>=
4
)
{
return
nowNums
.
substring
(
0
,
4
);
}
String
[]
zeroArr
=
{
"0"
,
"00"
,
"000"
};
int
num
=
3
-
nowNums
.
length
();
return
zeroArr
[
num
]
+
nowNums
;
}
public
static
Date
localDate2Date
(
LocalDate
localDate
)
{
if
(
null
==
localDate
)
{
return
null
;
}
ZonedDateTime
zonedDateTime
=
localDate
.
atStartOfDay
(
ZoneId
.
systemDefault
());
return
Date
.
from
(
zonedDateTime
.
toInstant
());
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/FddContractInfoServiceImpl.java
View file @
e6e857a5
...
...
@@ -74,6 +74,7 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZonedDateTime
;
import
java.util.*
;
...
...
@@ -118,9 +119,16 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
private
OSSUtil
ossUtil
;
@Autowired
private
TSettleDomainService
tSettleDomainService
;
@Autowired
private
TAttaInfoService
tAttaInfoService
;
@Override
public
R
<
String
>
saveEmpContract
(
FddContractAttachInfo
fddContractAttachInfo
,
YifuUser
user
)
throws
ApiException
{
long
haveFddConCount
=
this
.
count
(
Wrappers
.<
FddContractInfo
>
query
().
lambda
().
eq
(
FddContractInfo:
:
getContractId
,
fddContractAttachInfo
.
getContractId
())
.
eq
(
FddContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
haveFddConCount
>
CommonConstants
.
ZERO_INT
)
{
return
R
.
failed
(
"已存在法大大电子合同"
);
}
if
(!
user
.
getId
().
equals
(
fddContractAttachInfo
.
getCreateBy
()))
{
return
R
.
failed
(
"当前用户不是电子合同导入用户,不能操作"
);
}
...
...
@@ -576,17 +584,25 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
String
key
=
name
+
".zip"
;
ossUtil
.
uploadFileByStream
(
bis
,
key
,
null
);
// 1:保存为
// TEmpAtta empAtta = BasicServiceUtil.initTEmpAttaForInsert(name, key, (long) rspData.getFileBytes().length);
// empAttaService.save(empAtta);
// MEmpContractAtta contractAtta = new MEmpContractAtta();
// contractAtta.setAttaId(empAtta.getId());
// contractAtta.setContractId(employeeContractInfo.getId());
// mempContractAttaService.save(contractAtta);
TAttaInfo
attaInfo
=
initUnitAttaForInsert
(
name
,
key
,
(
long
)
rspData
.
getFileBytes
().
length
);
attaInfo
.
setRelationType
(
CommonConstants
.
FOUR_STRING
);
attaInfo
.
setDomainId
(
fddContractInfo
.
getId
());
tAttaInfoService
.
save
(
attaInfo
);
FddContractAttachInfo
fddContractAttachInfo
=
fddContractAttachInfoMapper
.
selectOne
(
Wrappers
.<
FddContractAttachInfo
>
query
().
lambda
()
.
eq
(
FddContractAttachInfo:
:
getContractId
,
entity
.
getContractId
()).
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
fddContractAttachInfo
!=
null
)
{
fddContractAttachInfo
.
setIsMove
(
CommonConstants
.
ONE_INT
);
fddContractAttachInfoMapper
.
updateById
(
fddContractAttachInfo
);
TEmployeeContractInfo
tEmployeeContractInfo
=
employeeContractInfoService
.
getOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
().
lambda
()
.
eq
(
TEmployeeContractInfo:
:
getId
,
fddContractAttachInfo
.
getContractId
())
.
eq
(
TEmployeeContractInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TEmployeeContractInfo:
:
getInUse
,
CommonConstants
.
ZERO_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
tEmployeeContractInfo
.
setIsFile
(
CommonConstants
.
ZERO_STRING
);
employeeContractInfoService
.
updateById
(
tEmployeeContractInfo
);
}
return
R
.
ok
();
}
finally
{
...
...
@@ -921,4 +937,24 @@ public class FddContractInfoServiceImpl extends ServiceImpl<FddContractInfoMappe
return
R
.
failed
(
rsp
.
getMsg
());
}
}
/**
* 对象初始化
* @param fileName
* @param key
* @param fileSize
* @return
*/
private
TAttaInfo
initUnitAttaForInsert
(
String
fileName
,
String
key
,
long
fileSize
)
{
TAttaInfo
unitAtta
=
new
TAttaInfo
();
char
point
=
'.'
;
unitAtta
.
setAttaName
(
fileName
);
unitAtta
.
setAttaSize
(
fileSize
);
unitAtta
.
setAttaSrc
(
key
);
if
(
key
.
lastIndexOf
(
point
)
>=
0
)
{
unitAtta
.
setAttaType
(
key
.
substring
(
key
.
lastIndexOf
(
point
)));
}
unitAtta
.
setCreateTime
(
LocalDateTime
.
now
());
return
unitAtta
;
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeContractInfoServiceImpl.java
View file @
e6e857a5
...
...
@@ -437,7 +437,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
tEmployeeProjectService
.
updateById
(
tEmployeeProject
);
}
// 更新档案、项目合同状态为(1在用)
TEmployeeInfo
tEmployeeInfo
=
tEmployeeInfoService
.
getById
(
tEmployeeC
ontractInfo
.
getEmpId
());
TEmployeeInfo
tEmployeeInfo
=
tEmployeeInfoService
.
getById
(
c
ontractInfo
.
getEmpId
());
if
(
tEmployeeInfo
!=
null
)
{
tEmployeeInfo
.
setContractStatus
(
CommonConstants
.
ONE_INT
);
tEmployeeInfoService
.
updateById
(
tEmployeeInfo
);
...
...
@@ -457,7 +457,7 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
}
// 更新档案、项目合同状态为(0无合同 1在用 2不在用)
TEmployeeInfo
tEmployeeInfo
=
tEmployeeInfoService
.
getById
(
tEmployeeC
ontractInfo
.
getEmpId
());
TEmployeeInfo
tEmployeeInfo
=
tEmployeeInfoService
.
getById
(
c
ontractInfo
.
getEmpId
());
if
(
tEmployeeInfo
!=
null
)
{
// 判断人员有无审核通过的其他合同
TEmployeeContractInfo
contractInfoInUse
=
this
.
getOne
(
Wrappers
.<
TEmployeeContractInfo
>
query
()
...
...
yifu-archives/yifu-archives-biz/src/main/resources/mapper/FddPersonAccountMapper.xml
View file @
e6e857a5
...
...
@@ -119,6 +119,6 @@
1=1
<include
refid=
"fddPersonAccount_where"
/>
</where>
GROUP BY a.ID_CARD ORDER BY a.CREATE_TIME desc
GROUP BY a.ID_CARD
,a.MOBLIE
ORDER BY a.CREATE_TIME desc
</select>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/constant/CommonConstants.java
View file @
e6e857a5
...
...
@@ -124,6 +124,8 @@ public interface CommonConstants {
String
FOUR_STRING
=
"4"
;
String
FIVE_STRING
=
"5"
;
/**
* number 0
*/
...
...
yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/util/ExcelUtil.java
View file @
e6e857a5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
common
.
core
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
...
...
@@ -950,4 +951,23 @@ public class ExcelUtil <T> implements Serializable {
this
.
setErrorInfo
(
errorList
);
this
.
setErrorMessageHashMap
(
errorMessageHashMap
);
}
/**
* @param clazz
* @Author: wangan
* @Date: 2020/9/28
* @Description: 获取导出中文字段
* @return: com.yifu.cloud.v1.common.core.util.R
**/
public
static
R
<
List
<
String
>>
getExportfieldsName
(
Class
<?>
clazz
){
ArrayList
<
String
>
exportfieldsName
=
Lists
.
newArrayList
();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
ExcelAttribute
annotation
=
field
.
getAnnotation
(
ExcelAttribute
.
class
);
if
(
annotation
!=
null
&&
Common
.
isNotNull
(
annotation
.
name
())
&&
annotation
.
needExport
())
{
exportfieldsName
.
add
(
annotation
.
name
());
}
}
return
R
.
ok
(
exportfieldsName
,
"成功"
);
}
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/util/LocalDateUtil.java
View file @
e6e857a5
...
...
@@ -149,6 +149,11 @@ public class LocalDateUtil {
return
flag
;
}
//获取指定时间的指定格式
public
static
String
formatTime
(
LocalDate
time
,
String
pattern
)
{
return
time
.
format
(
DateTimeFormatter
.
ofPattern
(
pattern
));
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
isCurrentOrFutureMonth
(
"2023-1"
));
}
...
...
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