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
e469f7b5
Commit
e469f7b5
authored
Aug 26, 2024
by
huyuchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
huych-商险到期提醒修改
parent
a157af80
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
662 additions
and
201 deletions
+662
-201
EkpEntryProperties.java
...com/yifu/cloud/plus/v1/ekp/config/EkpEntryProperties.java
+27
-0
EkpSalaryInfoServiceImpl.java
...ud/plus/v1/ekp/service/impl/EkpSalaryInfoServiceImpl.java
+3
-1
IcbcTransactionFlowQueryServiceImpl.java
...ekp/service/impl/IcbcTransactionFlowQueryServiceImpl.java
+58
-49
application-dev.yml
yifu-ekp/yifu-ekp-biz/src/main/resources/application-dev.yml
+7
-1
application-test.yml
...-ekp/yifu-ekp-biz/src/main/resources/application-test.yml
+7
-1
TInsuranceAlert.java
...cloud/plus/v1/yifu/insurances/entity/TInsuranceAlert.java
+211
-0
InsuranceWarnExportVo.java
...oud/plus/v1/yifu/insurances/vo/InsuranceWarnExportVo.java
+9
-5
TBusinessInsuranceVo.java
...loud/plus/v1/yifu/insurances/vo/TBusinessInsuranceVo.java
+0
-1
TInsurancesWarnController.java
...yifu/insurances/controller/TInsurancesWarnController.java
+13
-0
TInsuranceDetailMapper.java
.../insurances/mapper/insurances/TInsuranceDetailMapper.java
+7
-5
TInsuranceWarnMapper.java
...fu/insurances/mapper/insurances/TInsuranceWarnMapper.java
+25
-0
TInsuranceWarnService.java
...u/insurances/service/insurance/TInsuranceWarnService.java
+15
-0
TInsuranceDetailServiceImpl.java
...s/service/insurance/impl/TInsuranceDetailServiceImpl.java
+34
-30
TInsuranceWarnServiceImpl.java
...ces/service/insurance/impl/TInsuranceWarnServiceImpl.java
+26
-0
TInsuranceDetailMapper.xml
...in/resources/mapper/insurances/TInsuranceDetailMapper.xml
+80
-108
TInsuranceWarnMapper.xml
...main/resources/mapper/insurances/TInsuranceWarnMapper.xml
+127
-0
UpdateOverdueTask.java
...com/yifu/cloud/plus/v1/job/compont/UpdateOverdueTask.java
+13
-0
No files found.
yifu-ekp/yifu-ekp-biz/src/main/java/com/yifu/cloud/plus/v1/ekp/config/EkpEntryProperties.java
0 → 100644
View file @
e469f7b5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
ekp
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.cloud.context.config.annotation.RefreshScope
;
/**
* @author huyc
* @description 入账明细推送接口配置
* @date 2024-08-26 08:57:02
*/
@RefreshScope
@ConfigurationProperties
(
prefix
=
"entry"
)
@Data
public
class
EkpEntryProperties
{
String
entryUrl
;
String
entryFdModelId
;
String
entryDocStatus
;
String
entryLoginName
;
String
entryDocSubject
;
}
yifu-ekp/yifu-ekp-biz/src/main/java/com/yifu/cloud/plus/v1/ekp/service/impl/EkpSalaryInfoServiceImpl.java
View file @
e469f7b5
...
...
@@ -36,7 +36,9 @@ import java.util.stream.Collectors;
@Log4j2
@Service
@RequiredArgsConstructor
public
class
EkpSalaryInfoServiceImpl
extends
ServiceImpl
<
EkpSalaryInfoMapper
,
EkpSalaryInfo
>
implements
EkpSalaryInfoService
{
public
class
EkpSalaryInfoServiceImpl
extends
ServiceImpl
<
EkpSalaryInfoMapper
,
EkpSalaryInfo
>
implements
EkpSalaryInfoService
{
/**
//@Description: 工资明细推送至ekp
...
...
yifu-ekp/yifu-ekp-biz/src/main/java/com/yifu/cloud/plus/v1/ekp/service/impl/IcbcTransactionFlowQueryServiceImpl.java
View file @
e469f7b5
...
...
@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.ekp.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.icbc.api.DefaultIcbcClient
;
import
com.icbc.api.IcbcApiException
;
import
com.icbc.api.IcbcConstants
;
...
...
@@ -15,6 +16,7 @@ import com.icbc.api.response.JftApiPayB2bpayGenpreorderResponseV1;
import
com.icbc.api.response.MybankEnterpriseAccountQuerybankinfoResponseV1
;
import
com.icbc.api.response.MybankEnterpriseTradeQhisdResponseV1
;
import
com.icbc.api.utils.IcbcSignature
;
import
com.yifu.cloud.plus.v1.ekp.config.EkpEntryProperties
;
import
com.yifu.cloud.plus.v1.ekp.config.IcbcConfigProperties
;
import
com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo
;
import
com.yifu.cloud.plus.v1.ekp.mapper.EkpSocialInfoMapper
;
...
...
@@ -22,12 +24,18 @@ import com.yifu.cloud.plus.v1.ekp.service.IcbcTransactionFlowQueryService;
import
com.yifu.cloud.plus.v1.ekp.vo.EKPEntryPushParam
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
io.micrometer.core.instrument.util.StringUtils
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.http.*
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.web.client.RestTemplate
;
import
java.net.URL
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
...
...
@@ -43,12 +51,15 @@ import java.util.stream.Collectors;
@Log4j2
@Service
@RequiredArgsConstructor
@EnableConfigurationProperties
(
IcbcConfigProperties
.
class
)
@EnableConfigurationProperties
(
{
IcbcConfigProperties
.
class
,
EkpEntryProperties
.
class
}
)
public
class
IcbcTransactionFlowQueryServiceImpl
extends
ServiceImpl
<
EkpSocialInfoMapper
,
EkpSocialInfo
>
implements
IcbcTransactionFlowQueryService
{
@Autowired
private
IcbcConfigProperties
icbcConfigProperties
;
@Autowired
private
EkpEntryProperties
ekpEntryProperties
;
public
R
getIcbcTransactionFlow
()
{
// //应用id 应用方私钥 网关公钥 应用方加密串
// String APP_ID = "11000000000000028685";
...
...
@@ -119,20 +130,22 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
// String ca_sm_path = "D:/icbcFile/ahwx.y.1302.cer";
// String ca_sm_icbc_path = "D:/icbcFile/API_GATEWAY_ICBC_SM_REAL.cer";
String
ca_sm_path
=
"/file/ahwx.y.1302.cer"
;
String
ca_sm_icbc_path
=
"/file/API_GATEWAY_ICBC_SM_REAL.cer"
;
String
ca_sm
=
IcbcSignature
.
getCAInfoStr
(
ca_sm_path
);
String
ca_sm_icbc
=
IcbcSignature
.
getCAInfoStr
(
ca_sm_icbc_path
);
URL
resource
=
IcbcTransactionFlowQueryServiceImpl
.
class
.
getClassLoader
().
getResource
(
"ahwx.y.1302.cer"
);
URL
resource1
=
IcbcTransactionFlowQueryServiceImpl
.
class
.
getClassLoader
().
getResource
(
"API_GATEWAY_ICBC_SM_REAL.cer"
);
// String ca_sm_path = "/file/ahwx.y.1302.cer";
// String ca_sm_icbc_path = "/file/API_GATEWAY_ICBC_SM_REAL.cer";
String
ca_sm
=
IcbcSignature
.
getCAInfoStr
(
resource
.
getPath
());
String
ca_sm_icbc
=
IcbcSignature
.
getCAInfoStr
(
resource1
.
getPath
());
log
.
error
(
"文件地址:"
+
resource
.
getPath
()
+
"转化后的编码"
+
ca_sm
);
// DefaultIcbcClient(appid, 签名类型, SM2企业私钥, 编码格式, 数据格式, null, null, null, SM2 cer公钥串, null)
DefaultIcbcClient
client
=
new
DefaultIcbcClient
(
icbcConfigProperties
.
getAppId
(),
IcbcConstants
.
SIGN_TYPE_CA_SM_ICBC
,
icbcConfigProperties
.
getAppPrivateKey
(),
IcbcConstants
.
CHARSET_UTF8
,
IcbcConstants
.
FORMAT_JSON
,
null
,
null
,
null
,
ca_sm
,
null
);
client
.
setIcbc_ca
(
ca_sm_icbc
);
MybankEnterpriseTradeQhisdRequestV1
.
MybankEnterpriseTradeQhisdRequestBizV1
bizContent
=
new
MybankEnterpriseTradeQhisdRequestV1
.
MybankEnterpriseTradeQhisdRequestBizV1
();
MybankEnterpriseTradeQhisdRequestV1
.
MybankEnterpriseTradeQhisdRequestBizV1
bizContent
=
new
MybankEnterpriseTradeQhisdRequestV1
.
MybankEnterpriseTradeQhisdRequestBizV1
();
MybankEnterpriseTradeQhisdRequestV1
request
=
new
MybankEnterpriseTradeQhisdRequestV1
();
// 获取当前时间
LocalTime
currentTime
=
LocalTime
.
now
();
...
...
@@ -141,6 +154,7 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
String
formattedTime
=
currentTime
.
format
(
formatter
);
bizContent
.
setTranDate
(
DateUtil
.
getThisDay
());
bizContent
.
setTranTime
(
formattedTime
);
log
.
error
(
"formattedTime:"
+
formattedTime
);
bizContent
.
setTransCode
(
"QHISD"
);
bizContent
.
setLanguage
(
"zh_CN"
);
String
fSeqNo
=
"AHWX"
+
System
.
currentTimeMillis
();
...
...
@@ -150,9 +164,8 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
bizContent
.
setDrcrf
(
"2"
);
request
.
setServiceUrl
(
icbcConfigProperties
.
getServerUrl
());
request
.
setBizContent
(
bizContent
);
System
.
out
.
println
(
"request: "
+
JSON
.
toJSONString
(
request
));
MybankEnterpriseTradeQhisdResponseV1
response
=
client
.
execute
(
request
);
System
.
out
.
println
(
"response:
"
+
JSON
.
toJSONString
(
response
));
log
.
error
(
"response:
"
+
JSON
.
toJSONString
(
response
));
if
(!
response
.
isSuccess
())
{
//查询当天的所有入账记录数据
List
<
String
>
serioList
=
baseMapper
.
getAllserioNo
();
...
...
@@ -168,52 +181,48 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
for
(
MybankEnterpriseTradeQhisdResponseV1
.
MybankEnterpriseTradeQhisdResponseRdV1
entry
:
insertList
)
{
EKPEntryPushParam
pushParam
=
new
EKPEntryPushParam
();
initValue
(
entry
,
pushParam
,
bankName
,
bankNo
);
sendToEkp
(
pushParam
);
}
}
}
}
return
R
.
ok
();
}
// //推送数据
// public String sendToEkp(EKPEntryPushParam pushParam){
// RestTemplate yourRestTemplate = new RestTemplate();
// try{
// String formValues = new ObjectMapper().writeValueAsString(pushParam);
// //指向EKP的接口url
// //把ModelingAppModelParameterAddForm转换成MultiValueMap
// MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
// wholeForm.add("docSubject",ekpInsuranceProperties.getInsuranceDocSubject());
// wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
// wholeForm.add("docStatus", ekpInsuranceProperties.getInsuranceDocStatus());
// wholeForm.add("fdModelId", ekpInsuranceProperties.getInsuranceFdModelId());
// wholeForm.add("fdFlowId", ekpInsuranceProperties.getInsuranceFdFlowId());
// wholeForm.add("formValues", formValues);
// HttpHeaders headers = new HttpHeaders();
// //如果EKP对该接口启用了Basic认证,那么客户端需要加入
// //addAuth(headers,"yourAccount"+":"+"yourPassword");是VO,则使用APPLICATION_JSON
// headers.setContentType(MediaType.MULTIPART_FORM_DATA);
// //必须设置上传类型,如果入参是字符串,使用MediaType.TEXT_PLAIN;如果
// HttpEntity<MultiValueMap<String,Object>> entity = new HttpEntity<MultiValueMap<String,Object>>(wholeForm,headers);
// //有返回值的情况 VO可以替换成具体的JavaBean
// log.info("推送EKP开始,formValues:"+formValues);
// ResponseEntity<String> obj = yourRestTemplate.exchange(ekpInsuranceProperties.getInsuranceUrl(), HttpMethod.POST, entity, String.class);
// String body = obj.getBody();
// if (StringUtils.isBlank(body)){
// log.error("交易失败:"+obj);
// return null;
// }else{
// log.info("交易成功:"+obj);
// return body;
// }
// }catch (Exception e){
// log.error("交易失败:", e);
// return null;
// }
// }
//推送数据
public
String
sendToEkp
(
EKPEntryPushParam
pushParam
){
RestTemplate
yourRestTemplate
=
new
RestTemplate
();
try
{
String
formValues
=
new
ObjectMapper
().
writeValueAsString
(
pushParam
);
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
MultiValueMap
<
String
,
Object
>
wholeForm
=
new
LinkedMultiValueMap
<>();
wholeForm
.
add
(
"docSubject"
,
ekpEntryProperties
.
getEntryDocSubject
());
wholeForm
.
add
(
"docCreator"
,
"{\"LoginName\":\"admin\"}"
);
wholeForm
.
add
(
"fdModelId"
,
ekpEntryProperties
.
getEntryFdModelId
());
wholeForm
.
add
(
"formValues"
,
formValues
);
HttpHeaders
headers
=
new
HttpHeaders
();
//如果EKP对该接口启用了Basic认证,那么客户端需要加入
//addAuth(headers,"yourAccount"+":"+"yourPassword");是VO,则使用APPLICATION_JSON
headers
.
setContentType
(
MediaType
.
MULTIPART_FORM_DATA
);
//必须设置上传类型,如果入参是字符串,使用MediaType.TEXT_PLAIN;如果
HttpEntity
<
MultiValueMap
<
String
,
Object
>>
entity
=
new
HttpEntity
<>(
wholeForm
,
headers
);
//有返回值的情况 VO可以替换成具体的JavaBean
log
.
info
(
"入账明细推送EKP开始,formValues:"
+
formValues
);
ResponseEntity
<
String
>
obj
=
yourRestTemplate
.
exchange
(
ekpEntryProperties
.
getEntryUrl
(),
HttpMethod
.
POST
,
entity
,
String
.
class
);
String
body
=
obj
.
getBody
();
if
(
StringUtils
.
isBlank
(
body
)){
log
.
error
(
"入账明细交易失败:"
+
obj
);
return
null
;
}
else
{
log
.
info
(
"入账明细交易成功:"
+
obj
);
return
body
;
}
}
catch
(
Exception
e
){
log
.
error
(
"入账明细交易失败:"
,
e
);
return
null
;
}
}
public
R
querybankinfo
()
{
String
ca_sm_path
=
"D:/icbcFile/ahwx.y.1302.cer"
;
...
...
yifu-ekp/yifu-ekp-biz/src/main/resources/application-dev.yml
View file @
e469f7b5
...
...
@@ -61,4 +61,10 @@ security:
urls
:
-
/v3/api-docs
-
/actuator/**
-
/swagger-ui/**
\ No newline at end of file
-
/swagger-ui/**
entry
:
entryUrl
:
http://36.7.147.29:27007/api/hro/modelingWebservice/addModel
entryFdModelId
:
18050b5cee8b79c234bf64d412294f23
entryLoginName
:
admin
entryDocSubject
:
入账明细推送ekp接口
\ No newline at end of file
yifu-ekp/yifu-ekp-biz/src/main/resources/application-test.yml
View file @
e469f7b5
...
...
@@ -103,4 +103,10 @@ security:
urls
:
-
/v3/api-docs
-
/actuator/**
-
/swagger-ui/**
\ No newline at end of file
-
/swagger-ui/**
entry
:
entryUrl
:
http://36.7.147.29:27007/api/sys-modeling/appModelRestService/addModel
entryFdModelId
:
18050b5cee8b79c234bf64d412294f23
entryLoginName
:
admin
entryDocSubject
:
入账明细推送ekp接口
\ No newline at end of file
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/entity/TInsuranceAlert.java
0 → 100644
View file @
e469f7b5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
entity
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
/**
* @author licancan
* @description 商险明细表 t_insurance_detail
* @date 2022-07-18 16:20:16
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"t_insurance_alert"
)
@Schema
(
description
=
"商险到期提醒表"
)
public
class
TInsuranceAlert
extends
BaseEntity
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@Schema
(
description
=
"主键"
)
private
String
id
;
/**
* 员工姓名
*/
@Schema
(
description
=
"员工姓名"
)
private
String
empName
;
/**
* 员工身份证号
*/
@Schema
(
description
=
"员工身份证号"
)
private
String
empIdcardNo
;
/**
* 项目编码
*/
@Schema
(
description
=
"项目编码"
)
private
String
deptNo
;
/**
* 投保岗位
*/
@Schema
(
description
=
"投保岗位"
)
private
String
post
;
/**
* 保险公司名称(冗余字段)
*/
@Schema
(
description
=
"保险公司名称"
)
private
String
insuranceCompanyName
;
/**
* 险种名称
*/
@Schema
(
description
=
"险种名称"
)
private
String
insuranceTypeName
;
/**
* 购买标准
*/
@Schema
(
description
=
"购买标准"
)
private
String
buyStandard
;
/**
* 医疗额度
*/
@Schema
(
description
=
"医疗额度"
)
private
String
medicalQuota
;
/**
* 身故或残疾额度
*/
@Schema
(
description
=
"身故或残疾额度"
)
private
String
dieDisableQuota
;
/**
* 保单编号
*/
@Schema
(
description
=
"保单编号"
)
private
String
policyNo
;
/**
* 保单开始时间
*/
@Schema
(
description
=
"保单开始时间"
)
private
LocalDate
policyStart
;
/**
* 保单结束时间
*/
@Schema
(
description
=
"保单结束时间"
)
private
LocalDate
policyEnd
;
/**
* 保单生效日期
*/
@Schema
(
description
=
"保单生效日期"
)
private
LocalDate
policyEffect
;
/**
* 结算月
*/
@Schema
(
description
=
"结算月"
)
private
String
settleMonth
;
/**
* 发票号
*/
@Schema
(
description
=
"发票号"
)
private
String
invoiceNo
;
/**
* 商险购买地省
*/
@Schema
(
description
=
"商险购买地省"
)
private
String
insuranceProvinceName
;
/**
* 商险购买地市
*/
@Schema
(
description
=
"商险购买地市"
)
private
String
insuranceCityName
;
/**
* 商险办理省
*/
@Schema
(
description
=
"商险办理省"
)
private
String
insuranceHandleProvinceName
;
/**
* 商险办理城市
*/
@Schema
(
description
=
"商险办理城市"
)
private
String
insuranceHandleCityName
;
/**
* 结算类型 (0、与薪资合并结算 1、单独结算)
*/
@Schema
(
description
=
"结算类型 (0、与薪资合并结算 1、单独结算)"
)
private
Integer
settleType
;
/**
* 实际保费
*/
@Schema
(
description
=
"实际保费"
)
private
BigDecimal
actualPremium
;
/**
* 预估保费
*/
@Schema
(
description
=
"预估保费"
)
private
BigDecimal
estimatePremium
;
/**
* 是否过期 0未过期 1已过期
*/
@Schema
(
description
=
"是否过期 0未过期 1已过期"
)
private
Integer
isOverdue
;
@Schema
(
description
=
"是否有效 0有效 1无效"
)
private
Integer
isEffect
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
/**
* 是否删除 0未删除/1删除
*/
@Schema
(
description
=
"是否删除 0否/1是"
)
private
Integer
deleteFlag
;
/**
* 创建人所在部门名称
*/
@Schema
(
description
=
"创建人所在部门名称"
)
private
String
createUserDeptName
;
@Schema
(
description
=
"项目名称"
)
private
String
deptName
;
@Schema
(
description
=
"客户名称"
)
private
String
unitName
;
@Schema
(
description
=
"客户编码"
)
private
String
unitNo
;
/**
* 忽略提醒 0:忽略 1:不忽略
*/
@Schema
(
description
=
"有忽略提醒 0:忽略 1:不忽略"
)
private
String
expireIgnoreFlag
;
/**
* 消息提醒备注
*/
@Schema
(
description
=
"消息提醒备注"
)
private
String
expireRemark
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/InsuranceWarnExportVo.java
View file @
e469f7b5
...
...
@@ -101,11 +101,11 @@ public class InsuranceWarnExportVo implements Serializable {
@Schema
(
name
=
"实际保费"
)
private
BigDecimal
actualPremium
;
/**
*
创建
人
*
派单申请
人
*/
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"
创建
人"
)
@Schema
(
name
=
"
创建
人"
)
@ExcelProperty
(
value
=
"
派单申请
人"
)
@Schema
(
name
=
"
派单申请
人"
)
private
String
createName
;
/**
...
...
@@ -250,8 +250,8 @@ public class InsuranceWarnExportVo implements Serializable {
* 是否过期状态 0 未过期 1已过期。主要用于页面查询展示
*/
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"
是否过期
"
)
@Schema
(
name
=
"
是否过期
"
)
@ExcelProperty
(
value
=
"
到期状态
"
)
@Schema
(
name
=
"
到期状态
"
)
private
String
isOverdue
;
/**
...
...
@@ -311,4 +311,8 @@ public class InsuranceWarnExportVo implements Serializable {
@ExcelProperty
(
value
=
"消息提醒备注"
)
private
String
expireRemark
;
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@Schema
(
description
=
"是否忽略 0:忽略 1:不忽略"
)
@ExcelProperty
(
value
=
"是否忽略"
)
private
String
expireIgnoreFlag
;
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/TBusinessInsuranceVo.java
View file @
e469f7b5
...
...
@@ -358,7 +358,6 @@ public class TBusinessInsuranceVo implements Serializable {
@Schema
(
name
=
"创建人ID"
)
private
String
createBy
;
/**
* 忽略提醒 0:忽略 1:不忽略
*/
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TInsurancesWarnController.java
View file @
e469f7b5
...
...
@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceWarnService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
@@ -34,6 +36,10 @@ import java.util.List;
public
class
TInsurancesWarnController
{
@Resource
private
TInsuranceDetailService
insuranceDetailService
;
@Resource
private
TInsuranceWarnService
insuranceWarnService
;
/**
* @Author fxj
* @Description 商险到期提醒分页查询
...
...
@@ -120,4 +126,11 @@ public class TInsurancesWarnController {
public
R
<
Integer
>
getExpireInsuranceWarn
()
{
return
insuranceDetailService
.
getExpireInsuranceWarn
();
}
@Operation
(
description
=
"每天刷新商险到期提醒信息"
)
@PostMapping
(
"/innner/createInsuranceAlert"
)
@Inner
public
void
createInsuranceAlert
()
{
insuranceWarnService
.
createInsuranceAlert
();
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/mapper/insurances/TInsuranceDetailMapper.java
View file @
e469f7b5
...
...
@@ -303,13 +303,15 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
IPage
<
TBusinessInsuranceVo
>
getInsuranceExpireWarnVoPage
(
Page
<
TBusinessInsuranceVo
>
page
,
@Param
(
"param"
)
InsuranceSearchVo
param
,
@Param
(
"domains"
)
List
<
String
>
domains
);
List
<
TBusinessInsuranceVo
>
pageDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
,
@Param
(
"domains"
)
List
<
String
>
idList
);
List
<
TBusinessInsuranceVo
>
pageDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
);
List
<
InsuranceWarnExportVo
>
noPageDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
,
@Param
(
"domains"
)
List
<
String
>
idList
);
List
<
InsuranceWarnExportVo
>
noPageDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
);
int
noPageCountDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
,
@Param
(
"domains"
)
List
<
String
>
idList
);
int
noPageCountDiy
(
@Param
(
"param"
)
InsuranceSearchVo
searchVo
);
void
batchexpireIgnore
(
@Param
(
"idList"
)
List
<
String
>
idList
);
void
batchexpireAlertIgnore
(
@Param
(
"idList"
)
List
<
String
>
idList
);
void
updateExpireAlert
(
@Param
(
"id"
)
String
id
,
@Param
(
"expireFlag"
)
String
expireFlag
,
@Param
(
"remark"
)
String
remark
);
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/mapper/insurances/TInsuranceWarnMapper.java
0 → 100644
View file @
e469f7b5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
mapper
.
insurances
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author huych
* @description 针对表【t_insurance_alert(商险到期提醒表)】的数据库操作Mapper
* @date 2024-08-26 14:20:16
*/
@Mapper
public
interface
TInsuranceWarnMapper
extends
BaseMapper
<
TInsuranceAlert
>
{
/**
* 查询商险到期提醒信息
*
* @author huych
* @return {@link List < TInsuranceAlert >}
*/
List
<
TInsuranceAlert
>
selectInsuranceAlert
();
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/TInsuranceWarnService.java
0 → 100644
View file @
e469f7b5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
service
.
insurance
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert
;
/**
* @author huych
* @description 针对表【t_insurance_alert(商险到期提醒表)】的数据库操作Service
* @date 2024-08-26 14:20:16
*/
public
interface
TInsuranceWarnService
extends
IService
<
TInsuranceAlert
>
{
void
createInsuranceAlert
();
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceDetailServiceImpl.java
View file @
e469f7b5
...
...
@@ -7684,23 +7684,27 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
public
IPage
<
TBusinessInsuranceVo
>
getInsuranceExpireWarnVoPage
(
Page
<
TBusinessInsuranceVo
>
page
,
InsuranceSearchVo
condition
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
condition
.
setCreateBy
(
SecurityUtils
.
getUser
().
getId
());
R
<
TSettleDomainListVo
>
sdRes
=
archivesDaprUtil
.
getPermissionByUserId
(
user
.
getId
());
List
<
TInsuranceAreaRes
>
areaRes
=
insuranceAreaResMapper
.
selectList
(
Wrappers
.<
TInsuranceAreaRes
>
query
().
lambda
()
.
eq
(
TInsuranceAreaRes:
:
getUserId
,
user
.
getId
()).
eq
(
TInsuranceAreaRes:
:
getStatus
,
CommonConstants
.
ZERO_STRING
));
if
(
Common
.
isNotNull
(
areaRes
))
{
List
<
String
>
provinces
=
new
ArrayList
<>();
List
<
String
>
citys
=
new
ArrayList
<>();
for
(
TInsuranceAreaRes
res
:
areaRes
)
{
if
(
Common
.
isEmpty
(
res
.
getCity
()))
{
provinces
.
add
(
res
.
getProvince
());
}
else
{
citys
.
add
(
res
.
getCity
());
}
}
condition
.
setInsuranceProvinces
(
provinces
);
condition
.
setInsuranceCitys
(
citys
);
}
if
(
"许瑞玲"
.
equals
(
user
.
getNickname
())
||
"1"
.
equals
(
user
.
getId
()))
{
condition
.
setCreateBy
(
null
);
}
else
{
condition
.
setCreateBy
(
user
.
getId
());
}
// R<TSettleDomainListVo> sdRes = archivesDaprUtil.getPermissionByUserId(user.getId());
// List<TInsuranceAreaRes> areaRes = insuranceAreaResMapper.selectList(Wrappers.<TInsuranceAreaRes>query().lambda()
// .eq(TInsuranceAreaRes::getUserId, user.getId()).eq(TInsuranceAreaRes::getStatus, CommonConstants.ZERO_STRING));
// if (Common.isNotNull(areaRes)) {
// List<String> provinces = new ArrayList<>();
// List<String> citys = new ArrayList<>();
// for (TInsuranceAreaRes res : areaRes) {
// if (Common.isEmpty(res.getCity())) {
// provinces.add(res.getProvince());
// } else {
// citys.add(res.getCity());
// }
// }
// condition.setInsuranceProvinces(provinces);
// condition.setInsuranceCitys(citys);
// }
IPage
<
TBusinessInsuranceVo
>
recordsPage
=
new
Page
<>();
int
limitStart
=
(
int
)(
page
.
getCurrent
()-
1
)*(
int
)
page
.
getSize
();
int
limitEnd
=
(
int
)
page
.
getSize
();
...
...
@@ -7710,13 +7714,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
recordsPage
.
setPages
(
page
.
getPages
());
recordsPage
.
setSize
(
page
.
getSize
());
recordsPage
.
setCurrent
(
page
.
getCurrent
());
if
(
Common
.
isNotNull
(
sdRes
)
&&
Common
.
isNotNull
(
sdRes
.
getData
())
&&
Common
.
isNotNull
(
sdRes
.
getData
().
getDeptIds
()))
{
recordsPage
.
setTotal
(
baseMapper
.
noPageCountDiy
(
condition
,
sdRes
.
getData
().
getDeptIds
()));
recordsPage
.
setRecords
(
baseMapper
.
pageDiy
(
condition
,
sdRes
.
getData
().
getDeptIds
()));
}
else
{
recordsPage
.
setTotal
(
baseMapper
.
noPageCountDiy
(
condition
,
null
));
recordsPage
.
setRecords
(
baseMapper
.
pageDiy
(
condition
,
null
));
}
recordsPage
.
setTotal
(
baseMapper
.
noPageCountDiy
(
condition
));
recordsPage
.
setRecords
(
baseMapper
.
pageDiy
(
condition
));
return
recordsPage
;
}
...
...
@@ -7726,6 +7725,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return
R
.
failed
(
CommonConstants
.
PARAM_IS_NOT_ERROR
);
}
baseMapper
.
batchexpireIgnore
(
ids
);
//更新商险到期提醒表
baseMapper
.
batchexpireAlertIgnore
(
ids
);
return
R
.
ok
();
}
...
...
@@ -7814,6 +7815,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
entity
.
setExpireIgnoreFlag
(
CommonConstants
.
ZERO_STRING
);
baseMapper
.
updateById
(
entity
);
baseMapper
.
updateExpireAlert
(
entity
.
getId
(),
CommonConstants
.
ZERO_STRING
,
null
);
return
R
.
ok
();
}
private
void
remarkBatchAdd
(
List
<
InsurancesWarnUpdateVo
>
businessInsuranceVoList
,
List
<
ErrorMessage
>
errorMessages
)
{
...
...
@@ -7908,6 +7910,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setExpireIgnoreFlag
(
expireIgnoreFlag
);
detail
.
setExpireRemark
(
vo
.
getExpireRemark
());
this
.
updateById
(
detail
);
baseMapper
.
updateExpireAlert
(
detail
.
getId
(),
expireIgnoreFlag
,
vo
.
getExpireRemark
());
errorMessages
.
add
(
new
ErrorMessage
(
line
+
2
,
CommonConstants
.
UPDATE_SUCCESS
));
}
catch
(
Exception
e
)
{
log
.
error
(
"商险批量备注执行异常"
,
e
);
...
...
@@ -7989,17 +7992,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
entity
.
setExpireRemark
(
vo
.
getExpireRemark
());
baseMapper
.
updateById
(
entity
);
baseMapper
.
updateExpireAlert
(
vo
.
getId
(),
null
,
vo
.
getExpireRemark
());
return
R
.
ok
();
}
private
List
<
InsuranceWarnExportVo
>
noPageDiy
(
InsuranceSearchVo
searchVo
)
{
List
<
String
>
domainIds
=
getExportCondition
(
searchVo
);
return
baseMapper
.
noPageDiy
(
searchVo
,
domainIds
);
//
List<String> domainIds = getExportCondition(searchVo);
return
baseMapper
.
noPageDiy
(
searchVo
);
}
private
int
noPageCountDiy
(
InsuranceSearchVo
searchVo
)
{
List
<
String
>
domainIds
=
getExportCondition
(
searchVo
);
return
baseMapper
.
noPageCountDiy
(
searchVo
,
domainIds
);
//
List<String> domainIds = getExportCondition(searchVo);
return
baseMapper
.
noPageCountDiy
(
searchVo
);
}
private
List
<
String
>
getExportCondition
(
InsuranceSearchVo
searchVo
)
{
...
...
@@ -8029,7 +8033,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
public
R
<
Integer
>
getExpireInsuranceWarn
()
{
InsuranceSearchVo
searchVo
=
new
InsuranceSearchVo
();
List
<
String
>
domainIds
=
getExportCondition
(
searchVo
);
return
R
.
ok
(
baseMapper
.
noPageCountDiy
(
searchVo
,
domainIds
));
//
List<String> domainIds = getExportCondition(searchVo);
return
R
.
ok
(
baseMapper
.
noPageCountDiy
(
searchVo
));
}
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceWarnServiceImpl.java
0 → 100644
View file @
e469f7b5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
service
.
insurance
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert
;
import
com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceWarnMapper
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceWarnService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author huych
* @description 针对表【t_insurance_alert(商险到期提醒表)】的数据库操作Service实现
* @date 2024-08-26 14:20:16
*/
@Service
public
class
TInsuranceWarnServiceImpl
extends
ServiceImpl
<
TInsuranceWarnMapper
,
TInsuranceAlert
>
implements
TInsuranceWarnService
{
@Override
public
void
createInsuranceAlert
()
{
//批量生成或者更新商险到期提醒数据
List
<
TInsuranceAlert
>
list
=
baseMapper
.
selectInsuranceAlert
();
this
.
saveOrUpdateBatch
(
list
);
}
}
yifu-insurances/yifu-insurances-biz/src/main/resources/mapper/insurances/TInsuranceDetailMapper.xml
View file @
e469f7b5
...
...
@@ -1695,7 +1695,8 @@
rf.CREATE_TIME as "refundCreateTime",
rf.CREATE_NAME as "refundCreateUser",
a.CREATE_USER_DEPT_NAME,
a.EXPIRE_REMARK
a.EXPIRE_REMARK,
a.EXPIRE_IGNORE_FLAG
</sql>
<sql
id=
"expire_export_sql_param"
>
select
...
...
@@ -1734,19 +1735,21 @@
r.fromEmpName,
r.toEmpName,
r.REPLACE_TIME as "toReplaceTime",
case when a.IS_OVERDUE = 0 then "
未过
期"
when a.IS_OVERDUE = 1 then "
已
过期"
case when a.IS_OVERDUE = 0 then "
临
期"
when a.IS_OVERDUE = 1 then "过期"
else null end as "IS_OVERDUE" ,
a.ESTIMATE_PREMIUM,
rf.REFUND_MONEY,
rf.CREATE_TIME as "refundCreateTime",
rf.CREATE_NAME as "refundCreateUser",
a.CREATE_USER_DEPT_NAME,
a.EXPIRE_REMARK
a.EXPIRE_REMARK,
case when a.EXPIRE_IGNORE_FLAG = 0 then "是"
when a.EXPIRE_IGNORE_FLAG = 1 then "否"
else null end as "EXPIRE_IGNORE_FLAG"
</sql>
<sql
id=
"expire_sql_where"
>
<where>
<if
test=
"param != null"
>
<if
test=
"param.empName != null and param.empName.trim() != ''"
>
AND a.EMP_NAME like CONCAT('%' , #{param.empName},'%')
...
...
@@ -1760,6 +1763,18 @@
<if
test=
"param.insuranceHandleCityName != null and param.insuranceHandleCityName.trim() != ''"
>
AND a.INSURANCE_HANDLE_CITY_NAME like CONCAT(#{param.insuranceHandleCityName},'%')
</if>
<if
test=
"param.createName != null and param.createName.trim() != ''"
>
AND a.CREATE_NAME = #{param.createName}
</if>
<if
test=
"param.expireIgnoreFlag != null and param.expireIgnoreFlag.trim() != ''"
>
AND a.EXPIRE_IGNORE_FLAG = #{param.expireIgnoreFlag}
</if>
<if
test=
"param.isOverdue != null and param.isOverdue.trim() != ''"
>
AND a.IS_OVERDUE = #{param.isOverdue}
</if>
<if
test=
"param.createBy != null and param.createBy.trim() != ''"
>
and a.CREATE_BY = #{param.createBy}
</if>
<if
test=
"param.idList != null and param.idList.size() > 0"
>
and a.id in
<foreach
collection=
"param.idList"
item=
"param"
index=
"index"
open=
"("
close=
")"
...
...
@@ -1771,7 +1786,7 @@
</where>
</sql>
<select
id=
"getInsuranceExpireWarnVoPage"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<select
id=
"getInsuranceExpireWarnVoPage
History
"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<include
refid=
"expire_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
(select * from
...
...
@@ -1830,7 +1845,20 @@
<include
refid=
"expire_sql_where"
/>
order by a.CREATE_TIME desc
</select>
<select
id=
"pageDiy"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<select
id=
"getInsuranceExpireWarnVoPage"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<include
refid=
"expire_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
t_insurance_alert a
LEFT JOIN view_insurance_replace r on a.id=r.TO_INSURANCE_DETAIL_ID
LEFT JOIN view_insurance_replace r2 on a.id=r2.FROM_INSURANCE_DETAIL_ID
LEFT JOIN t_insurance_refund rf on rf.INS_DETAIL_ID=a.id
<include
refid=
"expire_sql_where"
/>
order by a.CREATE_TIME desc
</select>
<select
id=
"pageDiyHistory"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<include
refid=
"expire_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
(select * from (select * from t_insurance_detail a
...
...
@@ -1890,126 +1918,49 @@
LEFT JOIN view_insurance_replace r2 on a.id=r2.FROM_INSURANCE_DETAIL_ID
LEFT JOIN t_insurance_refund rf on rf.INS_DETAIL_ID=a.id
</select>
<select
id=
"noPageDiy"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceWarnExportVo"
>
<include
refid=
"expire_export_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
(select * from (select * from t_insurance_detail a
where
<!-- info.AUDIT_STATUS='0' and t.STATUS = 5 状态 0.待提交 1.待办理 2.已提交保险公司 3.已办理 4.办理失败 5:待结算(已输入保单号)-->
<!--一个月内的,没有再续买商险的数据-->
a.BUY_HANDLE_STATUS ='3'
and a.EXPIRE_IGNORE_FLAG='1'
and (
date_add(curdate() - day(curdate()) + 1, interval 3 month) >
a.POLICY_END
)
<if
test=
"param != null"
>
<if
test=
"param.insuranceProvinces == null and param.insuranceCitys == null and domains == null"
>
and a.CREATE_BY = #{param.createBy}
</if>
and (1 = 2
<if
test=
"param.insuranceProvinces != null"
>
<if
test=
"param.insuranceProvinces.size() > 0"
>
or a.INSURANCE_HANDLE_PROVINCE in
<foreach
collection=
"param.insuranceProvinces"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
<if
test=
"param.insuranceCitys != null"
>
<if
test=
"param.insuranceCitys.size() > 0"
>
or a.INSURANCE_HANDLE_CITY in
<foreach
collection=
"param.insuranceCitys"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
<!--数据权限判断-->
or a.CREATE_BY = #{param.createBy}
<if
test=
"domains != null"
>
<if
test=
"domains.size() > 0"
>
or a.DEPT_ID in
<foreach
collection=
"domains"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
)
</if>
) a
<select
id=
"pageDiy"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.TBusinessInsuranceVo"
>
<include
refid=
"expire_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
t_insurance_alert a
LEFT JOIN view_insurance_replace r on a.id=r.TO_INSURANCE_DETAIL_ID
LEFT JOIN view_insurance_replace r2 on a.id=r2.FROM_INSURANCE_DETAIL_ID
LEFT JOIN t_insurance_refund rf on rf.INS_DETAIL_ID=a.id
<include
refid=
"expire_sql_where"
/>
order by a.CREATE_TIME desc
<if
test=
"param != null and param.limitStart != null"
>
limit #{param.limitStart},#{param.limitEnd}
</if>
)a
</select>
<select
id=
"noPageDiy"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceWarnExportVo"
>
<include
refid=
"expire_export_sql_param"
/>
,a.INSURANCE_HANDLE_CITY_NAME
from
t_insurance_alert a
<include
refid=
"expire_sql_where"
/>
LEFT JOIN view_insurance_replace r on a.id=r.TO_INSURANCE_DETAIL_ID
LEFT JOIN view_insurance_replace r2 on a.id=r2.FROM_INSURANCE_DETAIL_ID
LEFT JOIN t_insurance_refund rf on rf.INS_DETAIL_ID=a.id
group by a.id
order by a.CREATE_TIME desc
<if
test=
"param != null and param.limitStart != null"
>
limit #{param.limitStart},#{param.limitEnd}
</if>
</select>
<select
id=
"noPageCountDiy"
resultType=
"java.lang.Integer"
>
select
count(1)
from (select * from t_insurance_detail a
where
<!-- info.AUDIT_STATUS='0' and t.STATUS = 5 状态 0.待提交 1.待办理 2.已提交保险公司 3.已办理 4.办理失败 5:待结算(已输入保单号)-->
<!--一个月内的,没有再续买商险的数据-->
a.BUY_HANDLE_STATUS ='3'
and a.EXPIRE_IGNORE_FLAG='1'
and (
date_add(curdate() - day(curdate()) + 1, interval 3 month) >
a.POLICY_END
)
<if
test=
"param != null"
>
<if
test=
"param.insuranceProvinces == null and param.insuranceCitys == null and domains == null"
>
and a.CREATE_BY = #{param.createBy}
</if>
and (1 = 2
<if
test=
"param.insuranceProvinces != null"
>
<if
test=
"param.insuranceProvinces.size() > 0"
>
or a.INSURANCE_HANDLE_PROVINCE in
<foreach
collection=
"param.insuranceProvinces"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
<if
test=
"param.insuranceCitys != null"
>
<if
test=
"param.insuranceCitys.size() > 0"
>
or a.INSURANCE_HANDLE_CITY in
<foreach
collection=
"param.insuranceCitys"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
<!--数据权限判断-->
or a.CREATE_BY = #{param.createBy}
<if
test=
"domains != null"
>
<if
test=
"domains.size() > 0"
>
or a.DEPT_ID in
<foreach
collection=
"domains"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</if>
)
</if>
) a
<!--LEFT JOIN view_insurance_replace r on a.id=r.TO_INSURANCE_DETAIL_ID
LEFT JOIN view_insurance_replace r2 on a.id=r2.FROM_INSURANCE_DETAIL_ID
LEFT JOIN t_insurance_refund rf on rf.INS_DETAIL_ID=a.id-->
from
t_insurance_alert a
<include
refid=
"expire_sql_where"
/>
</select>
<update
id=
"batchexpireIgnore"
>
<if
test=
"idList != null and idList.size() > 0"
>
update
t_insurance_detail a
update t_insurance_detail a
set a.EXPIRE_IGNORE_FLAG = '0'
where
a.id in
...
...
@@ -2019,6 +1970,27 @@
</if>
</update>
<update
id=
"batchexpireAlertIgnore"
>
<if
test=
"idList != null and idList.size() > 0"
>
update t_insurance_alert a
set a.EXPIRE_IGNORE_FLAG = '0'
where
a.id in
<foreach
collection=
"idList"
item=
"param"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{param}
</foreach>
</if>
</update>
<update
id=
"updateExpireAlert"
>
update t_insurance_alert
<trim
prefix=
"set"
suffixOverrides=
","
>
<if
test=
"expireFlag != null"
>
EXPIRE_IGNORE_FLAG=#{expireFlag},
</if>
<if
test=
"remark != null"
>
EXPIRE_REMARK=#{remark},
</if>
</trim>
where id = #{id}
</update>
<select
id=
"selectPushList"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail"
>
SELECT
*
...
...
yifu-insurances/yifu-insurances-biz/src/main/resources/mapper/insurances/TInsuranceWarnMapper.xml
0 → 100644
View file @
e469f7b5
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceWarnMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert"
>
<id
property=
"id"
column=
"ID"
jdbcType=
"VARCHAR"
/>
<result
property=
"empName"
column=
"EMP_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"empIdcardNo"
column=
"EMP_IDCARD_NO"
jdbcType=
"VARCHAR"
/>
<result
property=
"deptNo"
column=
"DEPT_NO"
jdbcType=
"VARCHAR"
/>
<result
property=
"post"
column=
"POST"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceCompanyName"
column=
"INSURANCE_COMPANY_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceTypeName"
column=
"INSURANCE_TYPE_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"buyStandard"
column=
"BUY_STANDARD"
jdbcType=
"VARCHAR"
/>
<result
property=
"medicalQuota"
column=
"MEDICAL_QUOTA"
jdbcType=
"VARCHAR"
/>
<result
property=
"dieDisableQuota"
column=
"DIE_DISABLE_QUOTA"
jdbcType=
"VARCHAR"
/>
<result
property=
"policyNo"
column=
"POLICY_NO"
jdbcType=
"VARCHAR"
/>
<result
property=
"policyStart"
column=
"POLICY_START"
jdbcType=
"DATE"
/>
<result
property=
"policyEnd"
column=
"POLICY_END"
jdbcType=
"DATE"
/>
<result
property=
"policyEffect"
column=
"POLICY_EFFECT"
jdbcType=
"DATE"
/>
<result
property=
"settleMonth"
column=
"SETTLE_MONTH"
jdbcType=
"VARCHAR"
/>
<result
property=
"invoiceNo"
column=
"INVOICE_NO"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceProvinceName"
column=
"INSURANCE_PROVINCE_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceCityName"
column=
"INSURANCE_CITY_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceHandleProvinceName"
column=
"INSURANCE_HANDLE_PROVINCE_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"insuranceHandleCityName"
column=
"INSURANCE_HANDLE_CITY_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"settleType"
column=
"SETTLE_TYPE"
jdbcType=
"TINYINT"
/>
<result
property=
"actualPremium"
column=
"ACTUAL_PREMIUM"
jdbcType=
"DECIMAL"
/>
<result
property=
"estimatePremium"
column=
"ESTIMATE_PREMIUM"
jdbcType=
"DECIMAL"
/>
<result
property=
"isEffect"
column=
"IS_EFFECT"
jdbcType=
"TINYINT"
/>
<result
property=
"isOverdue"
column=
"IS_OVERDUE"
jdbcType=
"TINYINT"
/>
<result
property=
"remark"
column=
"REMARK"
jdbcType=
"VARCHAR"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
jdbcType=
"VARCHAR"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"deleteFlag"
column=
"DELETE_FLAG"
jdbcType=
"TINYINT"
/>
<result
property=
"createUserDeptName"
column=
"CREATE_USER_DEPT_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"deptName"
column=
"DEPT_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"unitName"
column=
"UNIT_NAME"
jdbcType=
"VARCHAR"
/>
<result
property=
"unitNo"
column=
"UNIT_NO"
jdbcType=
"VARCHAR"
/>
<result
property=
"expireIgnoreFlag"
column=
"EXPIRE_IGNORE_FLAG"
jdbcType=
"VARCHAR"
/>
<result
property=
"expireRemark"
column=
"EXPIRE_REMARK"
jdbcType=
"VARCHAR"
/>
</resultMap>
<select
id=
"selectInsuranceAlert"
resultMap=
"BaseResultMap"
>
SELECT
a.ID,
a.EMP_NAME,
a.EMP_IDCARD_NO,
a.DEPT_NO,
a.POST,
a.INSURANCE_COMPANY_NAME,
a.INSURANCE_TYPE_NAME,
a.INSURANCE_CITY_NAME,
a.INSURANCE_HANDLE_CITY_NAME,
a.INSURANCE_HANDLE_PROVINCE_NAME,
a.INSURANCE_PROVINCE_NAME,
a.BUY_STANDARD,
a.UNIT_NAME,
a.UNIT_NO,
a.SETTLE_TYPE,
a.POLICY_EFFECT,
a.EXPIRE_REMARK,
a.EXPIRE_IGNORE_FLAG,
a.SETTLE_MONTH,
a.POLICY_START,
a.POLICY_END,
a.ACTUAL_PREMIUM,
a.ESTIMATE_PREMIUM,
a.INVOICE_NO,
a.MEDICAL_QUOTA,
a.DIE_DISABLE_QUOTA,
a.DEPT_ID,
a.POLICY_NO,
if(a.POLICY_END >= curdate(),0,1) IS_OVERDUE,
a.REMARK,
a.CREATE_BY,
a.DELETE_FLAG,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.IS_EFFECT,
a.CREATE_USER_DEPT_NAME
FROM
t_insurance_detail a
WHERE
a.id IN (
SELECT
h.id
FROM
(
SELECT
b.ID,
max( b.POLICY_END ) endTime
FROM
t_insurance_detail b
WHERE
b.POLICY_START >= date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
AND b.IS_EFFECT = 0
AND NOT EXISTS (
SELECT
1
FROM
t_insurance_detail ea
WHERE
ea.POLICY_START >= date_sub( date_add( curdate(), INTERVAL 1 DAY ), INTERVAL 1 YEAR )
AND ea.IS_EFFECT = 0
AND ea.POLICY_END >= date_add( curdate(), INTERVAL 1 MONTH )
AND ea.EMP_IDCARD_NO = b.EMP_IDCARD_NO
)
GROUP BY
b.EMP_IDCARD_NO,
b.INSURANCE_COMPANY_NAME,
b.INSURANCE_TYPE_NAME
) h
INNER JOIN t_insurance_detail l ON h.id = l.id
AND h.endTime = l.POLICY_END
WHERE
l.EXPIRE_IGNORE_FLAG = '1'
)
</select>
</mapper>
yifu-job/yifu-job-api/src/main/java/com/yifu/cloud/plus/v1/job/compont/UpdateOverdueTask.java
View file @
e469f7b5
...
...
@@ -59,4 +59,17 @@ public class UpdateOverdueTask {
HttpDaprUtil
.
invokeMethodPost
(
daprInsurancesProperties
.
getAppUrl
(),
daprInsurancesProperties
.
getAppId
(),
"/insuranceDetail/inner/pushActualPremium"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"------------推送商险待结算数据-定时任务结束------------"
);
}
/**
* 每天刷新商险到期提醒信息
* @author huych
* @param
* @return void
*/
public
void
everyDayCreateInsuranceAlert
()
{
log
.
info
(
"-------------每天刷新商险到期提醒信息------------"
);
HttpDaprUtil
.
invokeMethodPost
(
daprInsurancesProperties
.
getAppUrl
(),
daprInsurancesProperties
.
getAppId
(),
"/insuranceWarn/inner/createInsuranceAlert"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每天刷新商险到期提醒信息-定时任务开始------------"
);
}
}
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