Commit 0e18006a authored by huyuchen's avatar huyuchen

huych-入职登记商险待办提交

parent a7bc8a9a
......@@ -650,6 +650,8 @@ public interface CommonConstants {
List<String> processInsurancesStatus = Stream.of("1","2","5").collect(Collectors.toList());
List<String> processListPreArchivesStatus = Stream.of("0","1","2","3","4","5").collect(Collectors.toList());
List<String> deptList = Stream.of("安徽一册档案管理有限公司","安徽顾合企业管理咨询有限公司","安徽赤道线数字传媒科技有限公司","劳务业务中心","易服智享&研究院").collect(Collectors.toList());
String USER_DIR = "user.dir";
......
......@@ -550,6 +550,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
StringBuilder errorTemp = new StringBuilder();
List<TEmployeeInsuranceExitCheckVo> errorList = new ArrayList<>();
TEmployeeInsuranceExitCheckVo checkVo;
String key;
// 判断重复性MAP
Map<String, Integer> keyMap = new HashMap<>();
for (TEmployeeInsurancePreVo insurancePreVo : preVo.getEmployeeInsurancePreVos()) {
//是否工作日判断
String error = checkInsuranceBuy(insurancePreVo,CommonConstants.ONE_STRING);
......@@ -563,6 +566,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (null != checkVo) {
errorList.add(checkVo);
}
// 1:重复性判断
key = this.getFiveKey(insurancePreVo);
if (keyMap.get(key) == null) {
keyMap.put(key, CommonConstants.ONE_INT);
} else {
return R.other(CommonConstants.TWO_INT,null,"保险公司、险种、购买标准、保单起、止日期不可同时重复;");
}
}
if (errorTemp.length() > 0) {
return R.other(CommonConstants.TWO_INT,null,errorTemp.toString());
......@@ -624,6 +634,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (Common.isEmpty(preVo)) {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
String key;
// 判断重复性MAP
Map<String, Integer> keyMap = new HashMap<>();
if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) {
StringBuilder errorTemp = new StringBuilder();
for (TEmployeeInsurancePreVo insurancePreVo : preVo.getEmployeeInsurancePreVos()) {
......@@ -631,6 +644,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (null != error) {
errorTemp.append(error);
}
// 1:重复性判断
key = this.getFiveKey(insurancePreVo);
if (keyMap.get(key) == null) {
keyMap.put(key, CommonConstants.ONE_INT);
} else {
return R.other(CommonConstants.TWO_INT,null,"保险公司、险种、购买标准、保单起、止日期不可同时重复;");
}
}
if (errorTemp.length() > 0) {
return R.other(CommonConstants.TWO_INT, null, errorTemp.toString());
......@@ -1330,4 +1350,30 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
}
return exitCheckVo;
}
/**
* @param insurancePreVo
* @Description: 获取5个字段构成的关键字
* @Author: hgw
* @Date: 2025/4/9 11:23
* @return: java.lang.String
**/
private String getFiveKey(TEmployeeInsurancePreVo insurancePreVo) {
// 1:重复性判断
return isNullToEmpty(insurancePreVo.getBuyStandard()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getInsuranceTypeName()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getInsuranceCompanyName()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getPolicyStart()) + CommonConstants.DOWN_LINE_STRING + isNullToEmpty(insurancePreVo.getPolicyEnd());
}
/**
* @param str
* @Description: 空转化为空字符
* @Author: hgw
* @Date: 2025/4/9 11:29
* @return: java.lang.String
**/
private String isNullToEmpty(Object str) {
return null == str ? "" : str.toString();
}
}
......@@ -23,6 +23,8 @@ public class TEmployeeInsurancePreSearchVo extends TEmployeeInsurancePre {
@Schema(description = "选中ID,多个逗号分割")
private String ids;
private List<String> idList;
/**
* 创建时间区间 [开始时间,结束时间]
*/
......
......@@ -49,19 +49,32 @@ public class TEmployeeInsurancePreController {
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
@PostMapping("/page")
public R<IPage<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, @RequestBody TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeInsurancePre);
return new R<>(tEmployeeInsurancePreService.getTEmployeeInsurancePrePage(page,tEmployeeInsurancePre));
}
/**
* 商险待购买数量查询
* @param tEmployeeInsurancePre 商险待办任务表
* @return
*/
@Operation(description = "商险待购买数量查询")
@GetMapping("/getListCount")
public R getListCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeInsurancePre);
return R.ok(tEmployeeInsurancePreService.getTEmployeeInsuranceCount(tEmployeeInsurancePre));
}
/**
* 不分页查询
* @param tEmployeeInsurancePre 商险待办任务表
* @return
*/
@Operation(description = "简单分页查询")
@Operation(description = "分页查询")
@GetMapping("/noPage")
public R<List<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
......
......@@ -33,7 +33,7 @@ public interface TEmployeeInsurancePreMapper extends BaseMapper<TEmployeeInsuran
*/
List<TEmployeeInsurancePre> getTEmployeeInsurancePreNoPage(@Param("tEmployeeInsurancePre") TEmployeeInsurancePre tEmployeeInsurancePre);
long selectExportCount(@Param("employeeRegistration") TEmployeeInsurancePreSearchVo employeeRegistration);
long selectExportCount(@Param("tEmployeeInsurancePre") TEmployeeInsurancePreSearchVo employeeRegistration);
List<TEmployeeInsurancePreExportVo> selectExportList(@Param("employeeRegistration") TEmployeeInsurancePreSearchVo employeeRegistration);
......
......@@ -35,6 +35,13 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
*/
List<TEmployeeInsurancePre> getTEmployeeInsurancePreNoPage(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre);
/**
* 查询商险待购买数量
* @param tEmployeeInsurancePre 查询商险待购买vo
* @return
*/
long getTEmployeeInsuranceCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre);
/**
* 商险待办任务表导出
* @param searchVo 商险待办任务表
......
......@@ -85,6 +85,9 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
*/
@Override
public IPage<TEmployeeInsurancePre> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
if (null == tEmployeeInsurancePre.getStatusList()) {
tEmployeeInsurancePre.setStatusList(CommonConstants.processListPreArchivesStatus);
}
//权限赋值
initSearchVo(tEmployeeInsurancePre);
return baseMapper.getTEmployeeInsurancePrePage(page, tEmployeeInsurancePre);
......@@ -100,6 +103,13 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
}
@Override
public long getTEmployeeInsuranceCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
tEmployeeInsurancePre.setStatusList(CommonConstants.processListPreArchivesStatus);
initSearchVo(tEmployeeInsurancePre);
return baseMapper.selectExportCount(tEmployeeInsurancePre);
}
/**
* 商险待办任务表批量导出
*
......
......@@ -32,6 +32,7 @@ import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.*;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TEmployeeInsurancePreMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceAreaResMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceDetailMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TUpdateStatusErrorMapper;
......@@ -75,6 +76,7 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author licancan
......@@ -137,6 +139,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
private TUpdateStatusErrorMapper updateStatusErrorMapper;
@Resource
private TInsuranceAreaResMapper insuranceAreaResMapper;
@Resource
private TEmployeeInsurancePreMapper employeeInsurancePreMapper;
/***********************商险办理********************************/
/**
* 每日定时刷新商险到期数据
......@@ -371,6 +376,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setCreateName(user.getNickname());
detailList.add(detail);
sourceIdCardList.add(detail.getEmpIdcardNo());
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
this.saveBatch(detailList);
List<String> replaceIdList = new ArrayList<>();
......@@ -433,6 +439,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detailList.add(detail);
sourceIdCardList.add(detail.getEmpIdcardNo());
replaceIdList.add(detail.getId());
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
this.saveBatch(detailList);
// 同步操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
......@@ -559,6 +566,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
replace.setCreateName(user.getNickname());
replace.setCreateTime(LocalDateTime.now());
tInsuranceReplaceService.save(replace);
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
detailList.add(newDetail);
}
......@@ -1065,6 +1073,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1228,6 +1237,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1525,6 +1535,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
operateList.add(e);
}
});
updateEmployeeInsurancePre(detail,Stream.of("3","4","5").collect(Collectors.toList()),CommonConstants.FIVE_STRING);
}
//更新状态
this.updateBatchById(successList);
......@@ -1652,6 +1663,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//替换类型,保单生效日期:T + 1
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//查找被替换人信息
one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
......@@ -1706,6 +1718,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}else {
......@@ -1742,6 +1755,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}
......@@ -1761,6 +1775,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUpdateTime(LocalDateTime.now());
detail.setUpdateBy(user.getId());
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
}
}
}
......@@ -2684,11 +2699,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getPost())){
param.setErrorMessage(InsurancesConstants.POST_NOT_EMPTY);
listResult.add(param);
......@@ -3062,11 +3072,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isNotBlank(param.getRemark())){
if (!ValidityUtil.validate50(param.getRemark())){
param.setErrorMessage(InsurancesConstants.REMARK_NOT_MORE_THAN_50);
......@@ -8320,4 +8325,21 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
param.setPolicyEnd(today);
return baseMapper.policyPageToAutoSelect(page,param);
}
//商险各个入口更新待购买列表状态更新
private void updateEmployeeInsurancePre(TInsuranceDetail insuranceDetail,List<String> preStatusList,String status) {
TEmployeeInsurancePre pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getEmpIdcard,insuranceDetail.getEmpIdcardNo())
.eq(TEmployeeInsurancePre::getBuyStandard, insuranceDetail.getBuyStandard())
.eq(TEmployeeInsurancePre::getInsuranceTypeName, insuranceDetail.getInsuranceTypeName())
.eq(TEmployeeInsurancePre::getInsuranceCompanyName, insuranceDetail.getInsuranceCompanyName())
.eq(TEmployeeInsurancePre::getPolicyStart, insuranceDetail.getPolicyStart())
.eq(TEmployeeInsurancePre::getPolicyEnd, insuranceDetail.getPolicyEnd())
.in(TEmployeeInsurancePre::getProcessStatus,preStatusList)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(pre)) {
pre.setProcessStatus(status);
employeeInsurancePreMapper.updateById(pre);
}
}
}
......@@ -106,6 +106,13 @@
<if test="tEmployeeInsurancePre.id != null and tEmployeeInsurancePre.id.trim() != ''">
AND a.id = #{tEmployeeInsurancePre.id}
</if>
<if test="tEmployeeInsurancePre.idList != null and tEmployeeInsurancePre.idList.size() > 0">
and a.id in
<foreach collection="tEmployeeInsurancePre.idList" item="param" index="index" open="(" close=")"
separator=",">
#{param}
</foreach>
</if>
<if test="tEmployeeInsurancePre.employeeName != null and tEmployeeInsurancePre.employeeName.trim() != ''">
AND a.employee_name like CONCAT('%',#{tEmployeeInsurancePre.employeeName},'%')
</if>
......
......@@ -72,4 +72,17 @@ public class UpdateOverdueTask {
"/insuranceWarn/inner/createInsuranceAlert","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天刷新商险到期提醒信息-定时任务开始------------");
}
/**
* 每天刷新商险到期提醒信息
* @author huych
* @param
* @return void
*/
public void pushWxConfrimMessage() {
log.info("-------------每天九点推送商险待确认信息------------");
HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(), daprInsurancesProperties.getAppId(),
"/temployeeinsurancepre/inner/pushWxConfrimMessage","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天九点推送商险待确认信息-定时任务开始------------");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment