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
e3e335cb
Commit
e3e335cb
authored
Apr 07, 2025
by
huyuchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
huych-入职登记商险待办提交
parent
6bbfd057
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
369 additions
and
55 deletions
+369
-55
EmployeeRegistrationPreVo.java
...d/plus/v1/yifu/archives/vo/EmployeeRegistrationPreVo.java
+4
-0
pom.xml
yifu-archives/yifu-archives-biz/pom.xml
+6
-0
InsuranceDaprUtil.java
...loud/plus/v1/yifu/common/dapr/util/InsuranceDaprUtil.java
+15
-0
EmployeeRegistrationServiceImpl.java
.../v1/csp/service/impl/EmployeeRegistrationServiceImpl.java
+84
-34
TEmployeeInsurancePre.java
...plus/v1/yifu/insurances/entity/TEmployeeInsurancePre.java
+3
-5
TEmployeeInsurancePreVo.java
...d/plus/v1/yifu/insurances/vo/TEmployeeInsurancePreVo.java
+17
-8
TaskSchedulerConfig.java
...d/plus/v1/yifu/insurances/config/TaskSchedulerConfig.java
+18
-0
TEmployeeInsurancePreController.java
...nsurances/controller/TEmployeeInsurancePreController.java
+1
-0
ScheduleService.java
...v1/yifu/insurances/service/insurance/ScheduleService.java
+10
-0
TEmployeeInsurancePreService.java
...ances/service/insurance/TEmployeeInsurancePreService.java
+16
-0
ScheduleServiceImpl.java
...nsurances/service/insurance/impl/ScheduleServiceImpl.java
+57
-0
TEmployeeInsurancePreServiceImpl.java
...vice/insurance/impl/TEmployeeInsurancePreServiceImpl.java
+71
-1
TEmployeeInsuranceWorkDayVo.java
...d/plus/v1/yifu/social/vo/TEmployeeInsuranceWorkDayVo.java
+24
-0
THolidayInfoController.java
...lus/v1/yifu/social/controller/THolidayInfoController.java
+11
-0
THolidayInfoService.java
...loud/plus/v1/yifu/social/service/THolidayInfoService.java
+3
-0
THolidayInfoServiceImpl.java
.../v1/yifu/social/service/impl/THolidayInfoServiceImpl.java
+29
-7
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/EmployeeRegistrationPreVo.java
View file @
e3e335cb
...
...
@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
...
...
@@ -119,4 +120,7 @@ public class EmployeeRegistrationPreVo implements Serializable {
@Schema
(
description
=
"身份证合集"
)
private
List
<
String
>
idcardList
;
@Schema
(
description
=
"商险待派单信息集合"
)
private
List
<
TEmployeeInsurancePreVo
>
employeeInsurancePreVos
;
}
yifu-archives/yifu-archives-biz/pom.xml
View file @
e3e335cb
...
...
@@ -117,6 +117,12 @@
<version>
1.0.0
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.yifu.cloud.plus.v1
</groupId>
<artifactId>
yifu-insurances-api
</artifactId>
<version>
1.0.0
</version>
<scope>
compile
</scope>
</dependency>
<!-- 二维码生成JAR结束 -->
</dependencies>
...
...
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/util/InsuranceDaprUtil.java
View file @
e3e335cb
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
common
.
dapr
.
util
;
import
com.alibaba.fastjson.JSON
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo
;
import
lombok.extern.log4j.Log4j2
;
...
...
@@ -31,4 +34,16 @@ public class InsuranceDaprUtil {
,
Object
.
class
,
SecurityConstants
.
FROM_IN
);
}
/**
* @Author huyc
* @Description 新增商险待购买信息
* @Date 14:34 2025/4/3
* @Param
* @return
**/
public
R
<
Boolean
>
saveInsurancePreInfo
(
EmployeeRegistrationPreVo
preVo
)
{
return
HttpDaprUtil
.
invokeMethodPost
(
daprInsurancesProperties
.
getAppUrl
(),
daprInsurancesProperties
.
getAppId
(),
"/temployeeinsurancepre/inner/saveInsurancePreInfo"
,
JSON
.
toJSONString
(
preVo
),
Boolean
.
class
,
SecurityConstants
.
FROM_IN
);
}
}
yifu-csp/yifu-csp-biz/src/main/java/com/yifu/cloud/plus/v1/csp/service/impl/EmployeeRegistrationServiceImpl.java
View file @
e3e335cb
...
...
@@ -35,9 +35,11 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprArchivesProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.InsuranceDaprUtil
;
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.insurances.util.ValidityUtil
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -49,6 +51,7 @@ import javax.servlet.ServletOutputStream;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.text.ParseException
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -82,6 +85,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
@Autowired
private
UpmsDaprUtils
upmsDaprUtils
;
@Autowired
private
InsuranceDaprUtil
insuranceDaprUtil
;
private
final
TOperationLogService
logService
;
/**
...
...
@@ -557,9 +563,20 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
baseMapper
.
updateById
(
registration
);
logService
.
saveLog
(
registration
.
getId
(),
CommonConstants
.
ZERO_STRING
,
RegistConstants
.
CONFIRM_SUBMIT
,
LocalDateTime
.
now
(),
user
.
getNickname
(),
null
);
try
{
//生成档案待建档数据
initRegistPreInfo
(
registration
,
preVo
,
user
);
initRegistPreInfo
(
registration
,
preVo
,
user
,
CommonConstants
.
ZERO_STRING
);
archivesDaprUtil
.
saveRegistPreInfo
(
preVo
);
if
(
preVo
.
getServerItem
().
contains
(
"商险"
)
&&
!
preVo
.
getEmployeeInsurancePreVos
().
isEmpty
())
{
//生成商险待购买的数据
for
(
TEmployeeInsurancePreVo
insurancePreVo
:
preVo
.
getEmployeeInsurancePreVos
())
{
initInsruancePreInfo
(
registration
,
insurancePreVo
,
user
,
CommonConstants
.
ZERO_STRING
);
}
insuranceDaprUtil
.
saveInsurancePreInfo
(
preVo
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
return
R
.
ok
();
}
...
...
@@ -612,9 +629,20 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
baseMapper
.
updateById
(
registration
);
logService
.
saveLog
(
registration
.
getId
(),
CommonConstants
.
ZERO_STRING
,
RegistConstants
.
CONFIRM_SUBMIT
,
LocalDateTime
.
now
(),
user
.
getNickname
(),
null
);
try
{
//生成档案待建档数据
initRegistPreInfo
(
registration
,
preVo
,
user
);
initRegistPreInfo
(
registration
,
preVo
,
user
,
CommonConstants
.
ZERO_STRING
);
archivesDaprUtil
.
saveRegistPreInfo
(
preVo
);
if
(
preVo
.
getServerItem
().
contains
(
"商险"
)
&&
!
preVo
.
getEmployeeInsurancePreVos
().
isEmpty
())
{
//生成商险待购买的数据
for
(
TEmployeeInsurancePreVo
insurancePreVo
:
preVo
.
getEmployeeInsurancePreVos
())
{
initInsruancePreInfo
(
registration
,
insurancePreVo
,
user
,
CommonConstants
.
ZERO_STRING
);
}
insuranceDaprUtil
.
saveInsurancePreInfo
(
preVo
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
}
if
(!
receiveVoList
.
isEmpty
()
&&
Common
.
isNotNull
(
receiveVoList
))
{
return
R
.
ok
(
receiveVoList
);
...
...
@@ -1060,9 +1088,10 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
return
false
;
}
//数据初始化
private
void
initRegistPreInfo
(
EmployeeRegistration
registration
,
EmployeeRegistrationPreVo
preVo
,
YifuUser
user
)
{
try
{
//入职待建档数据初始化
private
void
initRegistPreInfo
(
EmployeeRegistration
registration
,
EmployeeRegistrationPreVo
preVo
,
YifuUser
user
,
String
status
)
throws
ParseException
{
preVo
.
setId
(
registration
.
getId
());
preVo
.
setCustomerUsername
(
registration
.
getCustomerUsername
());
preVo
.
setCustomerUserLoginname
(
registration
.
getCustomerUserLoginname
());
preVo
.
setDeptName
(
registration
.
getDeptName
());
...
...
@@ -1070,7 +1099,6 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo
.
setDataSource
(
registration
.
getDataSource
());
preVo
.
setPosition
(
registration
.
getPosition
());
preVo
.
setJoinLeaveDate
(
registration
.
getJoinLeaveDate
());
preVo
.
setProcessStatus
(
CommonConstants
.
ZERO_STRING
);
preVo
.
setConfirmTime
(
DateUtil
.
getCurrentDateTime
());
preVo
.
setDeptNo
(
registration
.
getDeptNo
());
preVo
.
setConfirmUser
(
user
.
getNickname
());
...
...
@@ -1082,12 +1110,34 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo
.
setCreateName
(
user
.
getNickname
());
preVo
.
setUpdateBy
(
user
.
getId
());
preVo
.
setEmpIdcard
(
registration
.
getEmpIdcard
());
preVo
.
setProcessStatus
(
status
);
if
(
Common
.
isNotNull
(
preVo
.
getPushDate
()))
{
preVo
.
setExpectedCollectionTime
(
DateUtil
.
parseDate
(
DateUtil
.
dateToString
(
registration
.
getJoinLeaveDate
(),
DateUtil
.
ISO_EXPANDED_DATE_FORMAT
)
+
" "
+
preVo
.
getPushDate
(),
DateUtil
.
DATETIME_PATTERN_MINUTE
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
//商险待购买数据初始化
private
void
initInsruancePreInfo
(
EmployeeRegistration
registration
,
TEmployeeInsurancePreVo
preVo
,
YifuUser
user
,
String
status
)
throws
ParseException
{
preVo
.
setRegisterId
(
registration
.
getId
());
preVo
.
setCustomerUsername
(
registration
.
getCustomerUsername
());
preVo
.
setCustomerUserLoginname
(
registration
.
getCustomerUserLoginname
());
preVo
.
setDeptName
(
registration
.
getDeptName
());
preVo
.
setDeptId
(
registration
.
getDeptId
());
preVo
.
setDataSource
(
registration
.
getDataSource
());
preVo
.
setPosition
(
registration
.
getPosition
());
preVo
.
setJoinLeaveDate
(
registration
.
getJoinLeaveDate
());
preVo
.
setDeptNo
(
registration
.
getDeptNo
());
preVo
.
setEmpPhone
(
registration
.
getEmpPhone
());
preVo
.
setEmployeeName
(
registration
.
getEmployeeName
());
preVo
.
setEmpIdcard
(
registration
.
getEmpIdcard
());
preVo
.
setCreateBy
(
user
.
getId
());
preVo
.
setCreateName
(
user
.
getNickname
());
preVo
.
setUpdateBy
(
user
.
getId
());
preVo
.
setEmpIdcard
(
registration
.
getEmpIdcard
());
preVo
.
setProcessStatus
(
status
);
preVo
.
setExpectedCollectionTime
(
DateUtil
.
parseDate
(
DateUtil
.
dateToString
(
registration
.
getJoinLeaveDate
(),
DateUtil
.
ISO_EXPANDED_DATE_FORMAT
)
+
" 14:00"
,
DateUtil
.
DATETIME_PATTERN_MINUTE
));
}
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/entity/TEmployeeInsurancePre.java
View file @
e3e335cb
...
...
@@ -8,6 +8,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
/**
...
...
@@ -60,16 +61,13 @@ public class TEmployeeInsurancePre extends BaseEntity {
private
String
deptId
;
@Schema
(
description
=
"预计派单时间"
)
private
Dat
e
expectedCollectionTime
;
private
LocalDateTim
e
expectedCollectionTime
;
@Schema
(
description
=
"登记人"
)
private
String
registUser
;
@Schema
(
description
=
"登记时间"
)
private
Date
registTime
;
@Schema
(
description
=
"最新的客服名称"
)
private
String
customerUsernameNew
;
private
LocalDateTime
registTime
;
@Schema
(
description
=
"保险公司名称"
)
private
String
insuranceCompanyName
;
...
...
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/TEmployeeInsurancePreVo.java
View file @
e3e335cb
...
...
@@ -112,14 +112,6 @@ public class TEmployeeInsurancePreVo implements Serializable {
@ExcelProperty
(
"登记时间"
)
private
Date
registTime
;
/**
* 最新的客服名称
*/
@ExcelAttribute
(
name
=
"最新的客服名称"
)
@Schema
(
description
=
"最新的客服名称"
)
@ExcelProperty
(
"最新的客服名称"
)
private
String
customerUsernameNew
;
/**
* 保险公司名称
*/
...
...
@@ -176,6 +168,14 @@ public class TEmployeeInsurancePreVo implements Serializable {
@ExcelProperty
(
"保单结束时间"
)
private
Date
policyEnd
;
/**
* 保单号
*/
@ExcelAttribute
(
name
=
"保单号"
)
@Schema
(
description
=
"保单号"
)
@ExcelProperty
(
"保单号"
)
private
String
policyNo
;
/**
* 是否地市自购0是 1 否
*/
...
...
@@ -264,4 +264,13 @@ public class TEmployeeInsurancePreVo implements Serializable {
@ExcelProperty
(
"替换项目编码"
)
private
String
replaceDeptNo
;
@Schema
(
description
=
"创建人-姓名"
)
private
String
createName
;
@Schema
(
description
=
"创建人"
)
private
String
createBy
;
@Schema
(
description
=
"更新人"
)
private
String
updateBy
;
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/config/TaskSchedulerConfig.java
0 → 100644
View file @
e3e335cb
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.TaskScheduler
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
;
@Configuration
public
class
TaskSchedulerConfig
{
@Bean
public
TaskScheduler
taskScheduler
()
{
ThreadPoolTaskScheduler
scheduler
=
new
ThreadPoolTaskScheduler
();
scheduler
.
setPoolSize
(
10
);
scheduler
.
setThreadNamePrefix
(
"scheduled-task-insurances"
);
scheduler
.
initialize
();
return
scheduler
;
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TEmployeeInsurancePreController.java
View file @
e3e335cb
...
...
@@ -131,4 +131,5 @@ public class TEmployeeInsurancePreController {
public
R
batchDispatcherInsurance
(
@RequestBody
List
<
String
>
idList
)
{
return
tEmployeeInsurancePreService
.
batchDispatcherInsurance
(
idList
);
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/ScheduleService.java
0 → 100644
View file @
e3e335cb
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
service
.
insurance
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre
;
public
interface
ScheduleService
{
void
scheduleTask
(
TEmployeeInsurancePre
record
);
void
executeTask
(
String
aId
);
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/TEmployeeInsurancePreService.java
View file @
e3e335cb
...
...
@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreSearchVo
;
...
...
@@ -62,4 +63,19 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
*/
R
batchDispatcherInsurance
(
List
<
String
>
idList
);
/**
* 新增商险待购买信息
* @param preVo
* @return
*/
Boolean
saveInsurancePreInfo
(
EmployeeRegistrationPreVo
preVo
);
/**
* 更新商险待购买状态
* @param id
* @param status 状态
* @return
*/
void
saveInsurancePreInfo
(
String
id
,
String
status
);
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/ScheduleServiceImpl.java
0 → 100644
View file @
e3e335cb
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
service
.
insurance
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.ScheduleService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TEmployeeInsurancePreService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.TaskScheduler
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
javax.annotation.PostConstruct
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
public
class
ScheduleServiceImpl
implements
ScheduleService
{
@Autowired
private
TEmployeeInsurancePreService
insurancePreService
;
@Autowired
private
TaskScheduler
taskScheduler
;
@Autowired
private
TransactionTemplate
transactionTemplate
;
// 应用启动时初始化未处理的任务
@PostConstruct
public
void
initSchedule
()
{
List
<
TEmployeeInsurancePre
>
records
=
insurancePreService
.
list
(
Wrappers
.<
TEmployeeInsurancePre
>
query
()
.
lambda
().
ge
(
TEmployeeInsurancePre:
:
getExpectedCollectionTime
,
LocalDateTime
.
now
())
.
eq
(
TEmployeeInsurancePre:
:
getProcessStatus
,
CommonConstants
.
ONE_STRING
));
records
.
forEach
(
this
::
scheduleTask
);
}
// 调度单个任务
@Override
public
void
scheduleTask
(
TEmployeeInsurancePre
record
)
{
Instant
triggerTime
=
record
.
getExpectedCollectionTime
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
();
taskScheduler
.
schedule
(()
->
executeTask
(
record
.
getId
()),
triggerTime
);
}
// 执行发送短信操作(事务内处理)
@Override
public
void
executeTask
(
String
aId
)
{
transactionTemplate
.
execute
(
status
->
{
List
<
String
>
idList
=
new
ArrayList
<>();
idList
.
add
(
aId
);
insurancePreService
.
batchDispatcherInsurance
(
idList
);
return
null
;
});
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TEmployeeInsurancePreServiceImpl.java
View file @
e3e335cb
...
...
@@ -8,29 +8,38 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeRegistrationPreVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainRegistListVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ClientNameConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre
;
import
com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TEmployeeInsurancePreMapper
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.ScheduleService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TEmployeeInsurancePreService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.util.LocalDateUtil
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.*
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.support.TransactionSynchronization
;
import
org.springframework.transaction.support.TransactionSynchronizationManager
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.net.URLEncoder
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -50,7 +59,13 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
@Autowired
private
ArchivesDaprUtil
archivesDaprUtil
;
private
final
TInsuranceDetailService
detailService
;
@Autowired
@Lazy
private
TInsuranceDetailService
detailService
;
@Autowired
@Lazy
private
ScheduleService
scheduleService
;
/**
* 商险待办任务表简单分页查询
...
...
@@ -226,6 +241,61 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
return
R
.
ok
(
autoAddParamList
);
}
@Override
@Transactional
public
Boolean
saveInsurancePreInfo
(
EmployeeRegistrationPreVo
registrationPreVo
)
{
List
<
TEmployeeInsurancePreVo
>
employeeInsurancePreVos
=
registrationPreVo
.
getEmployeeInsurancePreVos
();
TEmployeeInsurancePre
preExit
;
if
(
null
!=
employeeInsurancePreVos
&&
!
employeeInsurancePreVos
.
isEmpty
())
{
for
(
TEmployeeInsurancePreVo
preVo
:
employeeInsurancePreVos
)
{
//判断是否存在商险待购买信息
preExit
=
baseMapper
.
selectOne
(
Wrappers
.<
TEmployeeInsurancePre
>
query
().
lambda
()
.
eq
(
TEmployeeInsurancePre:
:
getEmpIdcard
,
preVo
.
getEmpIdcard
())
.
eq
(
TEmployeeInsurancePre:
:
getDeptNo
,
preVo
.
getDeptNo
())
.
eq
(
TEmployeeInsurancePre:
:
getBuyType
,
preVo
.
getBuyType
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
TEmployeeInsurancePre
pre
=
new
TEmployeeInsurancePre
();
BeanUtils
.
copyProperties
(
preVo
,
pre
);
if
(
Common
.
isNotNull
(
preVo
.
getExpectedCollectionTime
()))
{
pre
.
setExpectedCollectionTime
(
LocalDateTimeUtils
.
dateToLocalDateTime
(
preVo
.
getExpectedCollectionTime
()));
}
if
(
Common
.
isNotNull
(
preExit
))
{
pre
.
setId
(
preExit
.
getId
());
baseMapper
.
insert
(
pre
);
baseMapper
.
deleteById
(
preExit
);
//todo 操作记录
}
else
{
baseMapper
.
insert
(
pre
);
if
(
Common
.
isNotNull
(
pre
.
getExpectedCollectionTime
()))
{
// 事务提交后触发调度
TransactionSynchronizationManager
.
registerSynchronization
(
new
TransactionSynchronization
()
{
@Override
public
void
afterCommit
()
{
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
pre
.
getExpectedCollectionTime
().
isEqual
(
now
))
{
scheduleService
.
executeTask
(
pre
.
getId
());
}
else
if
(
preVo
.
getExpectedCollectionTime
().
compareTo
(
LocalDateTimeUtils
.
convertLDTToDate
(
now
))
>
0
){
scheduleService
.
scheduleTask
(
pre
);
}
}
});
}
}
}
}
return
true
;
}
@Override
public
void
saveInsurancePreInfo
(
String
id
,
String
status
)
{
if
(
Common
.
isNotNull
(
id
)
&&
Common
.
isNotNull
(
status
))
{
TEmployeeInsurancePre
preExit
=
baseMapper
.
selectById
(
id
);
if
(
Common
.
isNotNull
(
preExit
))
{
preExit
.
setProcessStatus
(
status
);
baseMapper
.
updateById
(
preExit
);
}
}
}
/**
* @Description: 获取前端客服的所有项目权限
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TEmployeeInsuranceWorkDayVo.java
0 → 100644
View file @
e3e335cb
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 查询工作日vo
*
* @author huych
* @date 2025-04-07 10:30:13
*/
@Data
public
class
TEmployeeInsuranceWorkDayVo
implements
Serializable
{
@Schema
(
description
=
"日期"
)
private
Date
registDate
;
@Schema
(
description
=
"类型 1 前一个工作日 2 后一个工作日"
)
private
String
type
;
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/THolidayInfoController.java
View file @
e3e335cb
...
...
@@ -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.social.entity.THolidayInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.service.THolidayInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THolidayInfoSearchVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -172,4 +173,14 @@ public class THolidayInfoController {
public
void
createHolidayInfo
()
{
tHolidayInfoService
.
createHolidayInfo
();
}
/**
* @Author huyc
* @Description 查询日期的前一个/后一个工作日
* @Date 10:27 2025/4/7
**/
@PostMapping
(
"/selectBeforeOrAfterWorkDay"
)
public
R
selectBeforeOrAfterWorkDay
(
@RequestBody
TEmployeeInsuranceWorkDayVo
vo
)
{
return
tHolidayInfoService
.
selectBeforeOrAfterWorkDay
(
vo
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/THolidayInfoService.java
View file @
e3e335cb
...
...
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.THolidayInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THolidayInfoSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -49,4 +50,6 @@ public interface THolidayInfoService extends IService<THolidayInfo> {
List
<
THolidayInfo
>
noPageDiy
(
THolidayInfoSearchVo
searchVo
);
void
createHolidayInfo
();
R
selectBeforeOrAfterWorkDay
(
TEmployeeInsuranceWorkDayVo
vo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/THolidayInfoServiceImpl.java
View file @
e3e335cb
...
...
@@ -17,7 +17,6 @@
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
...
...
@@ -33,12 +32,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.THolidayInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.THolidayInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.THolidayInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TEmployeeInsuranceWorkDayVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THolidayInfoSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THolidayInfoVo
;
import
lombok.extern.log4j.Log4j2
;
...
...
@@ -50,10 +48,7 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* @author fxj
...
...
@@ -284,4 +279,31 @@ public class THolidayInfoServiceImpl extends ServiceImpl<THolidayInfoMapper, THo
}
log
.
info
(
DateUtil
.
getYear
(
new
Date
())+
"年假期表初始化完成:"
);
}
@Override
public
R
selectBeforeOrAfterWorkDay
(
TEmployeeInsuranceWorkDayVo
vo
)
{
//获取当年所有假期配置表
Date
date
=
new
Date
();
List
<
THolidayInfo
>
holidayInfos
=
baseMapper
.
selectList
(
Wrappers
.<
THolidayInfo
>
query
().
lambda
()
.
eq
(
THolidayInfo:
:
getYear
,
DateUtil
.
getYear
(
date
)));
Map
<
Date
,
String
>
holidayMap
=
new
HashMap
<>();
if
(
Common
.
isNotNull
(
holidayInfos
)){
for
(
THolidayInfo
h:
holidayInfos
){
holidayMap
.
put
(
h
.
getDate
(),
h
.
getDay
());
}
}
getWorkDay
(
holidayMap
,
vo
);
return
R
.
ok
(
vo
);
}
private
void
getWorkDay
(
Map
<
Date
,
String
>
holidayMap
,
TEmployeeInsuranceWorkDayVo
vo
)
{
String
day
=
holidayMap
.
get
(
vo
.
getRegistDate
());
if
(
Common
.
isNotNull
(
day
)){
vo
.
setRegistDate
(
DateUtil
.
addDayByDate
(
vo
.
getRegistDate
(),
vo
.
getType
().
equals
(
CommonConstants
.
ONE_STRING
)
?
CommonConstants
.
ONE_INT_NEGATE
:
CommonConstants
.
ONE_INT
));
}
else
{
return
;
}
getWorkDay
(
holidayMap
,
vo
);
}
}
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