Commit f4ff31f2 authored by 查济's avatar 查济

Merge branch 'feature-zhaji' into 'develop'

"feature-zhaJi:新增批量导入的异常返回提示语句,修改费率校验规则,新增退费金额校验规则"

See merge request fangxinjiang/yifu!49
parents 9e815072 19aa1c00
package com.yifu.cloud.plus.v1.yifu.common.core.constant; package com.yifu.cloud.plus.v1.yifu.common.core.constant;
import java.util.regex.Pattern;
/** /**
* @author fang * @author fang
* 常用的一些验证,如手机、移动号码、联通号码、电信号码、密码、座机、 邮政编码、邮箱、年龄、身份证、URL、QQ、汉字、字母、数字等校验表达式 * 常用的一些验证,如手机、移动号码、联通号码、电信号码、密码、座机、 邮政编码、邮箱、年龄、身份证、URL、QQ、汉字、字母、数字等校验表达式
...@@ -63,4 +66,7 @@ public class ValidityConstants { ...@@ -63,4 +66,7 @@ public class ValidityConstants {
public static final String PATTERN_50 = "^.{1,50}$"; public static final String PATTERN_50 = "^.{1,50}$";
/** 最多60位 规则 */ /** 最多60位 规则 */
public static final String PATTERN_60 = "^.{1,60}$"; public static final String PATTERN_60 = "^.{1,60}$";
/** 不超过两位小数的正数 */
public static final String POSITIVE_INTEGER_PATTERN_TWO_FLOAT = "^[+]?([0-9]+(.[0-9]{1,2})?)$";
} }
...@@ -328,24 +328,49 @@ public class InsurancesConstants { ...@@ -328,24 +328,49 @@ public class InsurancesConstants {
/***********************减员办理错误码********************************/ /***********************减员办理错误码********************************/
/** /**
* 已被替换,不允许减员 * 商险已出险,无法减员
*/ */
public static final String IS_EFFECT_ERROR = "已被替换,不允许减员"; public static final String INSURANCE_IS_USE_ERROR = "商险已出险,无法减员";
/** /**
* 已超出保单截止日期,不允许减员 * 非已投保状态,无法减员
*/ */
public static final String IS_OVERDUE_ERROR = "已超出保单截止日期,不允许减员"; public static final String REFUND_ERROR = "非已投保状态,无法减员";
/** /**
* 已出险的,不允许减员 * 商险待投保,无法减员
*/ */
public static final String IS_USE_ERROR = "已出险的,不允许减员"; public static final String INSURANCE_BUY_STATUS_ONE_ERROR = "商险待投保,无法减员";
/** /**
* 非已投保状态,无法减员 * 商险投保中,无法减员
*/ */
public static final String REFUND_ERROR = "非已投保状态,无法减员"; public static final String INSURANCE_BUY_STATUS_TWO_ERROR = "商险投保中,无法减员";
/**
* 商险无效,无法减员
*/
public static final String INSURANCE_IS_EFFECT_ERROR = "商险无效,无法减员";
/**
* 商险已过期,无法减员
*/
public static final String INSURANCE_IS_OVERDUE_ERROR = "商险已过期,无法减员";
/**
* 商险待减员,无法减员
*/
public static final String INSURANCE_REFUND_STATUS_ONE_ERROR = "商险待减员,无法减员";
/**
* 商险减员中,无法减员
*/
public static final String INSURANCE_REFUND_STATUS_TWO_ERROR = "商险减员中,无法减员";
/**
* 商险已减员,无法减员
*/
public static final String INSURANCE_REFUND_STATUS_FOUR_ERROR = "商险已减员,无法减员";
/** /**
* 替换结算月份和原有结算月份相同 * 替换结算月份和原有结算月份相同
...@@ -353,14 +378,41 @@ public class InsurancesConstants { ...@@ -353,14 +378,41 @@ public class InsurancesConstants {
public static final String SETTLE_MONTH_IDENTICAL = "替换结算月份和原有结算月份相同"; public static final String SETTLE_MONTH_IDENTICAL = "替换结算月份和原有结算月份相同";
/** /**
* 当前保单已处于减员流程,无法变更结算月 * 商险待投保,无法减员
*/ */
public static final String SETTLE_MONTH_CHANGE_REDUCE_HANDLE_STATUS_ERROR = "当前保单已处于减员流程,无法变更结算月"; public static final String SETTLE_MONTH_CHANGE_REDUCE_HANDLE_STATUS_ERROR = "商险待投保,无法减员";
/** /**
* 当前保单已结算,无法变更结算月 * 商险待投保,无法变更结算月
*/ */
public static final String SETTLE_MONTH_CHANGE_SETTLE_HANDLE_STATUS_ERROR = "当前保单已结算,无法变更结算月"; public static final String SETTLE_MONTH_CHANGE_BUY_STATUS_ONE_ERROR = "商险待投保,无法变更结算月";
/**
* 商险投保中,无法变更结算月
*/
public static final String SETTLE_MONTH_CHANGE_BUY_STATUS_TWO_ERROR = "商险投保中,无法变更结算月";
/**
* 商险已减员,无法变更结算月
*/
public static final String SETTLE_MONTH_CHANGE_REFUND_STATUS_FOUR_ERROR = "商险已减员,无法变更结算月";
/**
* 商险结算中,无法变更结算月
*/
public static final String SETTLE_MONTH_CHANGE_SETTLE_STATUS_TWO_ERROR = "商险结算中,无法变更结算月";
/**
* 商险已结算,无法变更结算月
*/
public static final String SETTLE_MONTH_CHANGE_SETTLE_STATUS_THREE_ERROR = "商险已结算,无法变更结算月";
/**
* 替换类型无法变更结算月
*/
public static final String SETTLE_MONTH_CHANGE_IS_EFFECT_ERROR ="替换类型无法变更结算月";
/** /**
* 替换项目ID和原有项目ID相同 * 替换项目ID和原有项目ID相同
...@@ -378,44 +430,55 @@ public class InsurancesConstants { ...@@ -378,44 +430,55 @@ public class InsurancesConstants {
public static final String SETTLE_MONTH_CHANGE_LIST_IS_EMPTY ="当前变更结算月列表为空"; public static final String SETTLE_MONTH_CHANGE_LIST_IS_EMPTY ="当前变更结算月列表为空";
/** /**
* 替换人员不允许变更结算月 * 替换类型无法变更项目
*/ */
public static final String SETTLE_MONTH_CHANGE_IS_EFFECT_ERROR ="替换人员不允许变更结算月"; public static final String DEPT_NO_CHANGE_IS_EFFECT_ERROR ="替换类型无法变更项目";
/** /**
* 替换人员不允许变更所属项目 * 商险待投保,无法变更项目
*/ */
public static final String DEPT_NO_CHANGE_IS_EFFECT_ERROR ="替换人员不允许变更所属项目"; public static final String DEPT_NO_CHANGE_BUY_STATUS_ONE_ERROR = "商险待投保,无法变更项目";
/** /**
* 当前保单已结算,无法变更所属项目 * 商险投保中,无法变更项目
*/ */
public static final String DEPT_NO_CHANGE_SETTLE_HANDLE_STATUS_ERROR = "当前保单已结算,无法变更所属项目"; public static final String DEPT_NO_CHANGE_BUY_STATUS_TWO_ERROR = "商险投保中,无法变更项目";
/** /**
* 退费金额不能为空 * 商险已减员,无法变更项目
*/ */
public static final String REFUND_MONEY_NOT_EMPTY = "退费金额不能为空"; public static final String DEPT_NO_CHANGE_REFUND_STATUS_FOUR_ERROR = "商险已减员,无法变更项目";
/** /**
* 退费金额格式不正确 * 商险结算中,无法变更项目
*/ */
public static final String REFUND_MONEY_PARSE_ERROR = "退费金额格式不正确"; public static final String DEPT_NO_CHANGE_SETTLE_STATUS_TWO_ERROR = "商险结算中,无法变更项目";
/** /**
* 退费金额不能小于零 * 商险已结算,无法变更项目
*/ */
public static final String REFUND_MONEY_MIN_ERROR= "退费金额不能小于零"; public static final String DEPT_NO_CHANGE_SETTLE_STATUS_THREE_ERROR = "商险已结算,无法变更项目";
/** /**
* 退费金额不能大于999999.99 * 替换项目编码不能为空
*/ */
public static final String REFUND_MONEY_MAX_ERROR = "退费金额不能大于999999.99"; public static final String DEPT_NO_CHANGE_NOT_EMPTY = "替换项目编码不能为空";
/** /**
* 姓名不能超过20个字符 * 替换项目不存在
*/ */
public static final String EMP_NAME_MAX_LENGTH_ERROR = "姓名不能超过20个字符"; public static final String DEPT_NO_CHANGE_IS_NOT_EXIST = "替换项目不存在";
/**
* 退费金额不能为空
*/
public static final String REFUND_MONEY_NOT_EMPTY = "保费不能为空";
/**
* 保费金额格式不正确
*/
public static final String REFUND_MONEY_PARSE_ERROR = "保费金额格式不正确";
/** /**
* 员工减员记录不存在 * 员工减员记录不存在
...@@ -432,5 +495,56 @@ public class InsurancesConstants { ...@@ -432,5 +495,56 @@ public class InsurancesConstants {
*/ */
public static final String REFUND_EXPORT = "减员导出办理"; public static final String REFUND_EXPORT = "减员导出办理";
/**
* 减员办理成功
*/
public static final String REFUND_EXPORT_SUCCESS = "减员办理成功";
/**
* 减员办理成功
*/
public static final String REFUND_EXPORT_FAILED = "减员办理失败";
/**
* 员工投保信息不存在
*/
public static final String USER_DATA_IS_NOT_EXIST = "员工投保信息不存在";
/***********************商险产品错误码********************************/
/**
* 新增保险公司
*/
public static final String NEW_INSURANCE_COMPANY = "新增保险公司";
/**
* 修改保险公司
*/
public static final String UPDATE_INSURANCE_COMPANY = "修改保险公司";
/**
* 新增险种
*/
public static final String NEW_INSURANCE_TYPE = "新增险种";
/**
* 修改险种
*/
public static final String UPDATE_INSURANCE_TYPE = "修改险种";
/**
* 新增费率
*/
public static final String NEW_INSURANCE_TYPE_RATE = "新增费率";
/**
* 删除费率
*/
public static final String DELETE_INSURANCE_TYPE_RATE = "删除费率";
/**
* 新增购买标准
*/
public static final String NEW_INSURANCE_TYPE_STANDARD = "新增购买标准";
/**
* 删除购买标准
*/
public static final String DELETE_INSURANCE_TYPE_STANDARD = "删除购买标准";
} }
...@@ -27,7 +27,7 @@ public class TInsuranceType extends BaseEntity { ...@@ -27,7 +27,7 @@ public class TInsuranceType extends BaseEntity {
*/ */
@Schema(description = "险种id") @Schema(description = "险种id")
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 险种名称 * 险种名称
......
...@@ -25,7 +25,7 @@ public class TInsuranceTypeStandard extends BaseEntity { ...@@ -25,7 +25,7 @@ public class TInsuranceTypeStandard extends BaseEntity {
/** /**
* 购买标准id * 购买标准id
*/ */
@Schema(description = "保险公司id") @Schema(description = "购买标准id")
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
private String id; private String id;
......
...@@ -152,6 +152,29 @@ public class ValidityUtil { ...@@ -152,6 +152,29 @@ public class ValidityUtil {
return idCard.matches(ValidityConstants.IDCARD_PATTERN) ; return idCard.matches(ValidityConstants.IDCARD_PATTERN) ;
} }
/**
* 判断是否是整数或者是携带一位或者两位的小数
* @param refundMoney 金额
* @return boolean
*/
public static boolean validateMoney(final String refundMoney) {
if(Common.isEmpty(refundMoney)){
return Boolean.FALSE ;
}
if(!BigDecimalUtils.isBigDecimal(refundMoney)){
return Boolean.FALSE ;
}
if(!refundMoney.matches(ValidityConstants.POSITIVE_INTEGER_PATTERN_TWO_FLOAT)){
return Boolean.FALSE ;
}
boolean max = refundMoney.compareTo(CommonConstants.MONEY_MAX) < 0;
boolean min = refundMoney.compareTo(CommonConstants.MONEY_MIN) > 0;
if (!max || !min){
return Boolean.FALSE ;
}
return Boolean.TRUE;
}
/** /**
* 姓名验证 * 姓名验证
* *
......
...@@ -15,7 +15,11 @@ import java.io.Serializable; ...@@ -15,7 +15,11 @@ import java.io.Serializable;
@Tag(name = "变更所属项目") @Tag(name = "变更所属项目")
public class DeptChangeCheckParam implements Serializable { public class DeptChangeCheckParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L; private static final long serialVersionUID = -2689686777914935788L;
//姓名+身份证号+原项目编码+保险公司+险种+保单开始时间+保单结束时间+保单结束时间+标准+有效+未减员 是否存在校验 /**
* 商险id
*/
@Schema(description = "商险id")
private String id;
/** /**
* 员工姓名 * 员工姓名
*/ */
......
...@@ -226,6 +226,14 @@ public class InsuredListVo implements Serializable { ...@@ -226,6 +226,14 @@ public class InsuredListVo implements Serializable {
@Schema(description = "创建人(派单人)") @Schema(description = "创建人(派单人)")
private String createName; private String createName;
/**
* 购买月数
*/
@Schema(description = "购买月数")
private Long buyMonth;
//订单编号、姓名、身份证号、投保类型、项目、岗位、保单开始日期、保单结束日期、保险公司、险种、购买标准、医保、身故或残疾、预估保费、实际保费、保单号、发票号、保单生效日期、商险购买地、商险办理地、是否出险、是否过期、是否失效、派单日期、派单人 //订单编号、姓名、身份证号、投保类型、项目、岗位、保单开始日期、保单结束日期、保险公司、险种、购买标准、医保、身故或残疾、预估保费、实际保费、保单号、发票号、保单生效日期、商险购买地、商险办理地、是否出险、是否过期、是否失效、派单日期、派单人
} }
...@@ -183,5 +183,15 @@ public class RefundExportListVo implements Serializable { ...@@ -183,5 +183,15 @@ public class RefundExportListVo implements Serializable {
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
/**
* 购买月数
*/
@Schema(description = "购买月数")
private Long buyMonth;
/**
* 购买天数
*/
@Schema(description = "购买天数")
private long buyDay;
} }
...@@ -15,7 +15,12 @@ import java.io.Serializable; ...@@ -15,7 +15,12 @@ import java.io.Serializable;
@Tag(name = "结算月变更") @Tag(name = "结算月变更")
public class SettleMonthChangeCheckParam implements Serializable { public class SettleMonthChangeCheckParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L; private static final long serialVersionUID = -2689686777914935788L;
//姓名+身份证号+原项目编码+保险公司+险种+保单开始时间+保单结束时间+保单结束时间+标准+有效+未减员 是否存在校验
/**
* 商险id
*/
@Schema(description = "商险id")
private String id;
/** /**
* 员工姓名 * 员工姓名
*/ */
......
...@@ -2,7 +2,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.controller; ...@@ -2,7 +2,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; 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.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceCompany; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceCompany;
...@@ -12,7 +11,6 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; ...@@ -12,7 +11,6 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -88,7 +86,7 @@ public class TInsuranceCompanyController { ...@@ -88,7 +86,7 @@ public class TInsuranceCompanyController {
* @return * @return
*/ */
@Operation(summary = "查询保险公司列表(不分页)", description = "查询保险公司列表(不分页)") @Operation(summary = "查询保险公司列表(不分页)", description = "查询保险公司列表(不分页)")
@GetMapping("/list" ) @GetMapping("/list")
public R<List<TInsuranceCompany>> getInsuranceCompanyList() { public R<List<TInsuranceCompany>> getInsuranceCompanyList() {
return R.ok(insuranceCompanyService.getInsuranceCompanyList()); return R.ok(insuranceCompanyService.getInsuranceCompanyList());
} }
......
...@@ -23,4 +23,6 @@ public interface TInsuranceRefundMapper extends BaseMapper<TInsuranceRefund> { ...@@ -23,4 +23,6 @@ public interface TInsuranceRefundMapper extends BaseMapper<TInsuranceRefund> {
TInsuranceRefund getByInsDetailId(String id); TInsuranceRefund getByInsDetailId(String id);
void updateByInsDetailId(TInsuranceRefund insuranceRefund); void updateByInsDetailId(TInsuranceRefund insuranceRefund);
int updateRefundMoney(TInsuranceRefund insuranceRefund);
} }
...@@ -15,4 +15,6 @@ public interface TInsuranceRefundService extends IService<TInsuranceRefund> { ...@@ -15,4 +15,6 @@ public interface TInsuranceRefundService extends IService<TInsuranceRefund> {
void updateByInsDetailId(TInsuranceRefund insuranceRefund); void updateByInsDetailId(TInsuranceRefund insuranceRefund);
int updateRefundMoney(TInsuranceRefund insuranceRefund);
} }
...@@ -1828,10 +1828,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1828,10 +1828,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
Map<String, List<InsuranceRefundCheck>> refundMap = checkInsuranceRefundList(insuranceRefundCheckList); Map<String, List<InsuranceRefundCheck>> refundMap = checkInsuranceRefundList(insuranceRefundCheckList);
List<InsuranceRefundCheck> successList = refundMap.get("successList"); List<InsuranceRefundCheck> successList = refundMap.get("successList");
if (CollectionUtils.isNotEmpty(successList)){ if (CollectionUtils.isNotEmpty(successList)){
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(TInsuranceDetail :: getUpdateBy,user.getId())
.set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now())
.set(TInsuranceDetail :: getReduceHandleStatus,CommonConstants.ONE_INT);
for (InsuranceRefundCheck refund : successList){ for (InsuranceRefundCheck refund : successList){
TInsuranceRefund insuranceRefund = new TInsuranceRefund(); TInsuranceRefund insuranceRefund = new TInsuranceRefund();
insuranceRefund.setInsDetailId(refund.getId()); insuranceRefund.setInsDetailId(refund.getId());
...@@ -1839,12 +1835,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1839,12 +1835,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceRefund.setCreateBy(user.getId()); insuranceRefund.setCreateBy(user.getId());
insuranceRefund.setCreateName(user.getNickname()); insuranceRefund.setCreateName(user.getNickname());
insuranceRefund.setCreateTime(LocalDateTime.now()); insuranceRefund.setCreateTime(LocalDateTime.now());
insuranceRefund.setRemark(refund.getRemark()); if(StringUtils.isNotBlank(refund.getRemark())){
if(null == refund.getReduceHandleStatus() || CommonConstants.THREE_INT == refund.getReduceHandleStatus()){ insuranceRefund.setRemark(refund.getRemark());
tInsuranceRefundService.updateByInsDetailId(insuranceRefund); }
}else{ if(null == refund.getReduceHandleStatus()){
tInsuranceRefundService.save(insuranceRefund); tInsuranceRefundService.save(insuranceRefund);
}else{
tInsuranceRefundService.updateByInsDetailId(insuranceRefund);
} }
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(TInsuranceDetail :: getUpdateBy,user.getId())
.set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now())
.set(TInsuranceDetail :: getReduceHandleStatus,CommonConstants.ONE_INT);
updateWrapper.eq(TInsuranceDetail :: getId,refund.getId()); updateWrapper.eq(TInsuranceDetail :: getId,refund.getId());
update(updateWrapper); update(updateWrapper);
} }
...@@ -1871,6 +1873,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1871,6 +1873,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) { if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap(); Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
for (InsuredListVo record : insuranceList.getRecords()) { for (InsuredListVo record : insuranceList.getRecords()) {
//购买月数
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
ProjectSetInfoVo jsonObject = data.get(record.getDeptNo()); ProjectSetInfoVo jsonObject = data.get(record.getDeptNo());
if (null != jsonObject){ if (null != jsonObject){
record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse("")); record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse(""));
...@@ -1982,6 +1986,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1982,6 +1986,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) { if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap(); Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
for (RefundExportListVo record : insuranceRefundHandlingPageList.getRecords()) { for (RefundExportListVo record : insuranceRefundHandlingPageList.getRecords()) {
//购买月数
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
ProjectSetInfoVo jsonObject = data.get(record.getDeptNo()); ProjectSetInfoVo jsonObject = data.get(record.getDeptNo());
if (null != jsonObject){ if (null != jsonObject){
record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse("")); record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse(""));
...@@ -2023,6 +2029,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2023,6 +2029,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) { if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap(); Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
for (RefundExportListVo record : refundExportList) { for (RefundExportListVo record : refundExportList) {
//购买月数
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
//购买天数
record.setBuyDay(LocalDateUtil.betweenDay(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
ProjectSetInfoVo jsonObject = data.get(record.getDeptNo()); ProjectSetInfoVo jsonObject = data.get(record.getDeptNo());
if (null != jsonObject){ if (null != jsonObject){
record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse("")); record.setProjectName(Optional.ofNullable(jsonObject.getDepartName()).orElse(""));
...@@ -2097,6 +2107,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2097,6 +2107,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
tInsuranceDetail.setUpdateTime(LocalDateTime.now()); tInsuranceDetail.setUpdateTime(LocalDateTime.now());
tInsuranceDetail.setUpdateBy(user.getId()); tInsuranceDetail.setUpdateBy(user.getId());
tInsuranceDetail.setReduceHandleStatus(refundType); tInsuranceDetail.setReduceHandleStatus(refundType);
if(CommonConstants.FOUR_INT == refundType){
tInsuranceDetail.setBuyHandleStatus(CommonConstants.FIVE_INT);
}
successList.add(tInsuranceDetail); successList.add(tInsuranceDetail);
refund.setInsDetailId(tInsuranceDetail.getId()); refund.setInsDetailId(tInsuranceDetail.getId());
refund.setCreateBy(user.getId()); refund.setCreateBy(user.getId());
...@@ -2113,6 +2126,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2113,6 +2126,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
tInsuranceRefundService.updateByInsDetailId(refund); tInsuranceRefundService.updateByInsDetailId(refund);
} }
updateBatchById(successList); updateBatchById(successList);
//操作记录
if(CommonConstants.FOUR_INT == refundType){
addOperate(successList,user,InsurancesConstants.REFUND_EXPORT_SUCCESS);
}else{
addOperate(successList,user,InsurancesConstants.REFUND_EXPORT_FAILED);
}
return R.ok(errorList,"操作成功"); return R.ok(errorList,"操作成功");
} }
...@@ -2133,22 +2152,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2133,22 +2152,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
Map<String, List<SettleMonthChangeCheckParam>> map = settleMonthChangeCheck(settleMonthCheckList); Map<String, List<SettleMonthChangeCheckParam>> map = settleMonthChangeCheck(settleMonthCheckList);
//todo 生成EKP通知,通知ekp变更结算月份 //todo 生成EKP通知,通知ekp变更结算月份
List<SettleMonthChangeCheckParam> successList = map.get("successList"); List<SettleMonthChangeCheckParam> successList = map.get("successList");
for (SettleMonthChangeCheckParam success : successList) { if(CollectionUtils.isNotEmpty(successList)){
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>(); for (SettleMonthChangeCheckParam success : successList) {
updateWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,success.getEmpName()) LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
.eq(TInsuranceDetail ::getEmpIdcardNo,success.getEmpIdCardNo()).eq(TInsuranceDetail :: getInsuranceTypeName,success.getInsuranceTypeName() ) updateWrapper.eq(TInsuranceDetail ::getId,success.getId())
.eq(TInsuranceDetail :: getDeptNo,success.getDeptNo()).eq(TInsuranceDetail :: getBuyStandard,success.getBuyStandard()) .set(TInsuranceDetail :: getSettleMonth,success.getSettleMonth())
.eq(TInsuranceDetail :: getInsuranceCompanyName,success.getInsuranceCompanyName()) .set(TInsuranceDetail :: getUpdateBy,user.getId())
.eq(TInsuranceDetail :: getPolicyStart,success.getPolicyStart() ).eq(TInsuranceDetail :: getPolicyEnd,success.getPolicyEnd()) .set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now());
.set(TInsuranceDetail :: getSettleMonth,success.getSettleMonth()) update(updateWrapper);
.set(TInsuranceDetail :: getUpdateBy,user.getId()) }
.set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now());
update(updateWrapper);
} }
List<SettleMonthChangeCheckParam> errorList = map.get("errorList"); List<SettleMonthChangeCheckParam> errorList = map.get("errorList");
//判断当前变更是否全部成功 return R.ok(errorList,"导入成功");
return R.ok(errorList);
} }
/** /**
...@@ -2168,21 +2183,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2168,21 +2183,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
Map<String, List<DeptChangeCheckParam>> stringListMap = deptChangeCheck(deptChangeCheckList); Map<String, List<DeptChangeCheckParam>> stringListMap = deptChangeCheck(deptChangeCheckList);
//todo 生成EKP通知,通知ekp变更结算所属项目 //todo 生成EKP通知,通知ekp变更结算所属项目
List<DeptChangeCheckParam> successList = stringListMap.get("successList"); List<DeptChangeCheckParam> successList = stringListMap.get("successList");
for (DeptChangeCheckParam success : successList) { if(CollectionUtils.isNotEmpty(successList)){
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>(); for (DeptChangeCheckParam success : successList) {
updateWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,success.getEmpName()) LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
.eq(TInsuranceDetail ::getEmpIdcardNo,success.getEmpIdCardNo()).eq(TInsuranceDetail :: getInsuranceTypeName,success.getInsuranceTypeName() ) updateWrapper.eq(TInsuranceDetail ::getId,success.getId())
.eq(TInsuranceDetail :: getDeptNo,success.getOldDeptNo()).eq(TInsuranceDetail :: getBuyStandard,success.getBuyStandard()) .set(TInsuranceDetail :: getDeptNo,success.getNewDeptNo())
.eq(TInsuranceDetail :: getInsuranceCompanyName,success.getInsuranceCompanyName()) .set(TInsuranceDetail :: getSettleType,success.getSettleType())
.eq(TInsuranceDetail :: getPolicyStart,success.getPolicyStart() ).eq(TInsuranceDetail :: getPolicyEnd,success.getPolicyEnd()) .set(TInsuranceDetail :: getUpdateBy,user.getId())
.set(TInsuranceDetail :: getDeptNo,success.getNewDeptNo()) .set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now());
.set(TInsuranceDetail :: getSettleType,success.getSettleType()) update(updateWrapper);
.set(TInsuranceDetail :: getUpdateBy,user.getId()) }
.set(TInsuranceDetail :: getUpdateTime,LocalDateTime.now());
update(updateWrapper);
} }
List<DeptChangeCheckParam> errorList = stringListMap.get("errorList"); List<DeptChangeCheckParam> errorList = stringListMap.get("errorList");
return R.ok(errorList); return R.ok(errorList,"导入成功");
} }
/** /**
...@@ -2261,7 +2274,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2261,7 +2274,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override @Override
public R updateRefundMoney(List<RefundMoneyParam> paramList) { public R updateRefundMoney(List<RefundMoneyParam> paramList) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
List<TInsuranceRefund> insuranceRefundList = new ArrayList<>();
Map<String, List<RefundMoneyParam>> map = refundMoneyCheck(paramList); Map<String, List<RefundMoneyParam>> map = refundMoneyCheck(paramList);
List<RefundMoneyParam> successList = map.get("successList"); List<RefundMoneyParam> successList = map.get("successList");
if (CollectionUtils.isNotEmpty(successList)){ if (CollectionUtils.isNotEmpty(successList)){
...@@ -2273,9 +2285,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2273,9 +2285,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceRefund.setCreateBy(user.getId()); insuranceRefund.setCreateBy(user.getId());
insuranceRefund.setCreateName(user.getNickname()); insuranceRefund.setCreateName(user.getNickname());
insuranceRefund.setCreateTime(LocalDateTime.now()); insuranceRefund.setCreateTime(LocalDateTime.now());
insuranceRefundList.add(insuranceRefund); tInsuranceRefundService.updateRefundMoney(insuranceRefund);
} }
tInsuranceRefundService.saveBatch(insuranceRefundList);
} }
return R.ok(map.get("errorList")); return R.ok(map.get("errorList"));
} }
...@@ -2300,7 +2311,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2300,7 +2311,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//员工身份证 //员工身份证
String empIdCardNo = param.getEmpIdcardNo(); String empIdCardNo = param.getEmpIdcardNo();
if(StringUtils.isBlank(empIdCardNo)){ if(StringUtils.isBlank(empIdCardNo)){
...@@ -2308,7 +2318,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2308,7 +2318,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//保险公司名称 //保险公司名称
String insuranceCompanyName = param.getInsuranceCompanyName(); String insuranceCompanyName = param.getInsuranceCompanyName();
if(StringUtils.isBlank(insuranceCompanyName)){ if(StringUtils.isBlank(insuranceCompanyName)){
...@@ -2316,7 +2325,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2316,7 +2325,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//险种名称 //险种名称
String insuranceTypeName = param.getInsuranceTypeName(); String insuranceTypeName = param.getInsuranceTypeName();
if(StringUtils.isBlank(insuranceTypeName)){ if(StringUtils.isBlank(insuranceTypeName)){
...@@ -2324,7 +2332,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2324,7 +2332,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//保单开始日期 //保单开始日期
String policyStart = param.getPolicyStart(); String policyStart = param.getPolicyStart();
if(StringUtils.isBlank(policyStart)){ if(StringUtils.isBlank(policyStart)){
...@@ -2332,7 +2339,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2332,7 +2339,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//保单结束日期 //保单结束日期
String policyEnd = param.getPolicyEnd(); String policyEnd = param.getPolicyEnd();
if(StringUtils.isBlank(policyEnd)){ if(StringUtils.isBlank(policyEnd)){
...@@ -2340,7 +2346,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2340,7 +2346,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
// 身份证号位数校验(18 位合法) // 身份证号位数校验(18 位合法)
if (!ValidityUtil.validateIDCard(param.getEmpIdcardNo())){ if (!ValidityUtil.validateIDCard(param.getEmpIdcardNo())){
param.setErrorMessage(InsurancesConstants.EMP_IDCARD_NO_NOT_LEGITIMATE); param.setErrorMessage(InsurancesConstants.EMP_IDCARD_NO_NOT_LEGITIMATE);
...@@ -2359,46 +2364,70 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2359,46 +2364,70 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//备注格式校验
String remark = param.getRemark();
if(StringUtils.isNotBlank(remark) && !ValidityUtil.validate50(remark)){
param.setErrorMessage(InsurancesConstants.REMARK_NOT_MORE_THAN_50);
errorList.add(param);
continue;
}
LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName ) queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName )
.eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName ) .eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName )
.eq(TInsuranceDetail :: getInsuranceTypeName,insuranceTypeName) .eq(TInsuranceDetail :: getInsuranceTypeName,insuranceTypeName)
.eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart)).eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd)); .eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart))
.eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd));
TInsuranceDetail one = getOne(queryWrapper); TInsuranceDetail one = getOne(queryWrapper);
if (Common.isEmpty(one)){ if (Common.isEmpty(one)){
param.setErrorMessage(InsurancesConstants.DATA_IS_NOT_EXIST); param.setErrorMessage(InsurancesConstants.USER_DATA_IS_NOT_EXIST);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//当前保单信息的不是已投保状态不能导入 //当前保单信息的不是已投保状态不能导入
Integer buyHandleStatus = one.getBuyHandleStatus(); Integer buyHandleStatus = one.getBuyHandleStatus();
if (CommonConstants.THREE_INT != buyHandleStatus){ if (CommonConstants.ONE_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.REFUND_ERROR); param.setErrorMessage(InsurancesConstants.INSURANCE_BUY_STATUS_ONE_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
if (CommonConstants.TWO_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.INSURANCE_BUY_STATUS_TWO_ERROR);
errorList.add(param);
continue;
}
Integer reduceHandleStatus = one.getReduceHandleStatus(); Integer reduceHandleStatus = one.getReduceHandleStatus();
//当前保单信息的减员状态不为空时不能进行导入 //当前保单信息的减员状态不为空且不为减员退回时时不能进行导入
if(reduceHandleStatus != null && CommonConstants.THREE_INT != reduceHandleStatus ){ if(CommonConstants.ONE_INT == reduceHandleStatus ){
param.setErrorMessage(InsurancesConstants.REFUND_ERROR); param.setErrorMessage(InsurancesConstants.INSURANCE_REFUND_STATUS_ONE_ERROR);
errorList.add(param);
continue;
}
if(CommonConstants.TWO_INT == reduceHandleStatus ){
param.setErrorMessage(InsurancesConstants.INSURANCE_REFUND_STATUS_TWO_ERROR);
errorList.add(param);
continue;
}
if(CommonConstants.FOUR_INT == reduceHandleStatus ){
param.setErrorMessage(InsurancesConstants.INSURANCE_REFUND_STATUS_FOUR_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//出险状态 //出险状态
if(CommonConstants.ZERO_INT != one.getIsUse()){ if(CommonConstants.ZERO_INT != one.getIsUse()){
param.setErrorMessage(InsurancesConstants.IS_USE_ERROR); param.setErrorMessage(InsurancesConstants.INSURANCE_IS_USE_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//有效状态 //有效状态
if(CommonConstants.ZERO_INT != one.getIsEffect()){ if(CommonConstants.ZERO_INT != one.getIsEffect()){
param.setErrorMessage(InsurancesConstants.IS_EFFECT_ERROR); param.setErrorMessage(InsurancesConstants.INSURANCE_IS_EFFECT_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//过期状态 //过期状态
if (CommonConstants.ZERO_INT != one.getIsOverdue()){ if (CommonConstants.ZERO_INT != one.getIsOverdue()){
param.setErrorMessage(InsurancesConstants.IS_OVERDUE_ERROR); param.setErrorMessage(InsurancesConstants.INSURANCE_IS_OVERDUE_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
...@@ -2451,34 +2480,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2451,34 +2480,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
if(empName.length()>CommonConstants.TWENTY_INT){ if(!ValidityUtil.validateMoney(refundMoney)){
param.setErrorMessage(InsurancesConstants.EMP_NAME_MAX_LENGTH_ERROR);
errorList.add(param);
continue;
}
// 身份证号位数校验(18 位合法)
if (!ValidityUtil.validateIDCard(empIdcardNo)){
param.setErrorMessage(InsurancesConstants.EMP_IDCARD_NO_NOT_LEGITIMATE);
errorList.add(param);
continue;
}
if(BigDecimalUtils.isBigDecimal(refundMoney)){
param.setErrorMessage(InsurancesConstants.REFUND_MONEY_PARSE_ERROR); param.setErrorMessage(InsurancesConstants.REFUND_MONEY_PARSE_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
boolean max = refundMoney.compareTo(CommonConstants.MONEY_MAX) < 0;
boolean min = refundMoney.compareTo(CommonConstants.MONEY_MIN) > 0;
if (max){
param.setErrorMessage(InsurancesConstants.REFUND_MONEY_MAX_ERROR);
errorList.add(param);
continue;
}
if (min){
param.setErrorMessage(InsurancesConstants.REFUND_MONEY_MIN_ERROR);
errorList.add(param);
continue;
}
//必填格式校通过后查询对应的保单信息 //必填格式校通过后查询对应的保单信息
TInsuranceRefundDetail refundDetail = new TInsuranceRefundDetail(); TInsuranceRefundDetail refundDetail = new TInsuranceRefundDetail();
refundDetail.setEmpName(empName); refundDetail.setEmpName(empName);
...@@ -2490,11 +2496,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2490,11 +2496,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
if ( null != tInsuranceRefundDetail.getRefundMoney()){ /* if ( null != tInsuranceRefundDetail.getRefundMoney()){
param.setErrorMessage(InsurancesConstants.REFUND_MONEY_IS_NOT_NULL); param.setErrorMessage(InsurancesConstants.REFUND_MONEY_IS_NOT_NULL);
errorList.add(param); errorList.add(param);
continue; continue;
} }*/
param.setId(tInsuranceRefundDetail.getInsDetailId()); param.setId(tInsuranceRefundDetail.getInsDetailId());
successList.add(param); successList.add(param);
} }
...@@ -2511,16 +2517,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2511,16 +2517,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
*/ */
private Map<String,List<SettleMonthChangeCheckParam>> settleMonthChangeCheck(List<SettleMonthChangeCheckParam> settleMonthCheckList) { private Map<String,List<SettleMonthChangeCheckParam>> settleMonthChangeCheck(List<SettleMonthChangeCheckParam> settleMonthCheckList) {
Map<String,List<SettleMonthChangeCheckParam>> map = new HashMap<>(16); Map<String,List<SettleMonthChangeCheckParam>> map = new HashMap<>(16);
List<SettleMonthChangeCheckParam> errorList = new ArrayList(); List<SettleMonthChangeCheckParam> errorList = new ArrayList<>();
List<SettleMonthChangeCheckParam> successList = new ArrayList<>(); List<SettleMonthChangeCheckParam> successList = new ArrayList<>();
for (SettleMonthChangeCheckParam param : settleMonthCheckList) { for (SettleMonthChangeCheckParam param : settleMonthCheckList) {
//结算月
String settleMonth = param.getSettleMonth();
if(StringUtils.isBlank(settleMonth)){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
errorList.add(param);
continue;
}
//员工姓名 //员工姓名
String empName = param.getEmpName(); String empName = param.getEmpName();
if(StringUtils.isBlank(empName)){ if(StringUtils.isBlank(empName)){
...@@ -2528,7 +2527,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2528,7 +2527,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//员工身份证 //员工身份证
String empIdCardNo = param.getEmpIdCardNo(); String empIdCardNo = param.getEmpIdCardNo();
if(StringUtils.isBlank(empIdCardNo)){ if(StringUtils.isBlank(empIdCardNo)){
...@@ -2536,7 +2534,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2536,7 +2534,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//所属项目
String deptNo = param.getDeptNo();
if(StringUtils.isBlank(deptNo)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_EMPTY);
errorList.add(param);
continue;
}
//保险公司名称 //保险公司名称
String insuranceCompanyName = param.getInsuranceCompanyName(); String insuranceCompanyName = param.getInsuranceCompanyName();
if(StringUtils.isBlank(insuranceCompanyName)){ if(StringUtils.isBlank(insuranceCompanyName)){
...@@ -2544,7 +2548,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2544,7 +2548,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//险种名称 //险种名称
String insuranceTypeName = param.getInsuranceTypeName(); String insuranceTypeName = param.getInsuranceTypeName();
if(StringUtils.isBlank(insuranceTypeName)){ if(StringUtils.isBlank(insuranceTypeName)){
...@@ -2552,7 +2555,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2552,7 +2555,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//保单开始日期 //保单开始日期
String policyStart = param.getPolicyStart(); String policyStart = param.getPolicyStart();
if(StringUtils.isBlank(policyStart)){ if(StringUtils.isBlank(policyStart)){
...@@ -2560,7 +2562,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2560,7 +2562,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//保单结束日期 //保单结束日期
String policyEnd = param.getPolicyEnd(); String policyEnd = param.getPolicyEnd();
if(StringUtils.isBlank(policyEnd)){ if(StringUtils.isBlank(policyEnd)){
...@@ -2568,13 +2569,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2568,13 +2569,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//所属项目
String deptNo = param.getDeptNo();
if(StringUtils.isBlank(deptNo)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_EMPTY);
errorList.add(param);
continue;
}
//购买标准 //购买标准
String buyStandard = param.getBuyStandard(); String buyStandard = param.getBuyStandard();
if(StringUtils.isBlank(buyStandard)){ if(StringUtils.isBlank(buyStandard)){
...@@ -2582,12 +2576,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2582,12 +2576,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
// 身份证号位数校验(18 位合法)
if (!ValidityUtil.validateIDCard(param.getEmpIdCardNo())){
param.setErrorMessage(InsurancesConstants.EMP_IDCARD_NO_NOT_LEGITIMATE);
errorList.add(param);
continue;
}
// 保单开始日期格式校验 // 保单开始日期格式校验
if(!LocalDateUtil.isDate(policyStart,LocalDateUtil.NORM_DATE_PATTERN)){ if(!LocalDateUtil.isDate(policyStart,LocalDateUtil.NORM_DATE_PATTERN)){
param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR); param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR);
...@@ -2600,7 +2588,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2600,7 +2588,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
// 结算月份 >= 派单月份(结算月 < 派单月份的记录予以拦截,并提示) // 结算月份 >= 派单月份(结算月 < 派单月份的记录予以拦截,并提示)
if(!LocalDateUtil.isDate(param.getSettleMonth(),LocalDateUtil.NORM_MONTH_PATTERN)){ if(!LocalDateUtil.isDate(param.getSettleMonth(),LocalDateUtil.NORM_MONTH_PATTERN)){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_PARSE_ERROR); param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_PARSE_ERROR);
...@@ -2612,17 +2599,24 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2612,17 +2599,24 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//结算月
String settleMonth = param.getSettleMonth();
if(StringUtils.isBlank(settleMonth)){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
errorList.add(param);
continue;
}
//必填格式校通过后查询对应的保单信息 //必填格式校通过后查询对应的保单信息
LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName ) queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName )
.eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceTypeName,insuranceCompanyName ) .eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName )
.eq(TInsuranceDetail :: getDeptNo,deptNo).eq(TInsuranceDetail :: getBuyStandard,buyStandard) .eq(TInsuranceDetail :: getDeptNo,deptNo).eq(TInsuranceDetail :: getBuyStandard,buyStandard)
.eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName) .eq(TInsuranceDetail :: getInsuranceTypeName,insuranceTypeName)
.eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart) ).eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd)); .eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart) ).eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd));
TInsuranceDetail insuranceDetail = getOne(queryWrapper); TInsuranceDetail insuranceDetail = getOne(queryWrapper);
//如果保单信息为空 //如果保单信息为空
if (Common.isEmpty(insuranceDetail)){ if (Common.isEmpty(insuranceDetail)){
param.setErrorMessage(InsurancesConstants.DATA_IS_NOT_EXIST); param.setErrorMessage(InsurancesConstants.USER_DATA_IS_NOT_EXIST);
errorList.add(param); errorList.add(param);
continue; continue;
} }
...@@ -2632,16 +2626,26 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2632,16 +2626,26 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
Integer buyHandleStatus = insuranceDetail.getBuyHandleStatus();
if (CommonConstants.ONE_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_BUY_STATUS_ONE_ERROR);
errorList.add(param);
continue;
}
if (CommonConstants.TWO_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_BUY_STATUS_TWO_ERROR);
errorList.add(param);
continue;
}
//如果结算月份相同 //如果结算月份相同
if (settleMonth.equals(insuranceDetail.getSettleMonth())){ if (settleMonth.equals(insuranceDetail.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_IDENTICAL); param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_IDENTICAL);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//非已办理状态 //如果结算月份小于当前月份
Integer buyHandleStatus = insuranceDetail.getBuyHandleStatus(); if(!LocalDateUtil.isCurrentOrFutureMonth(param.getSettleMonth())){
if (CommonConstants.THREE_INT != buyHandleStatus){ param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_SHOULD_IS_FUTURE);
param.setErrorMessage(InsurancesConstants.REFUND_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
...@@ -2649,37 +2653,27 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2649,37 +2653,27 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
LambdaQueryWrapper<TInsuranceSettle> insuranceSettleQuery = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceSettle> insuranceSettleQuery = new LambdaQueryWrapper<>();
insuranceSettleQuery.eq(TInsuranceSettle :: getInsDetailId,insuranceDetail.getId()); insuranceSettleQuery.eq(TInsuranceSettle :: getInsDetailId,insuranceDetail.getId());
TInsuranceSettle insuranceSettle = tInsuranceSettleService.getOne(insuranceSettleQuery); TInsuranceSettle insuranceSettle = tInsuranceSettleService.getOne(insuranceSettleQuery);
//当前结算状态为已结算时,不能变更结算月 //当前结算状态为结算中时,不能变更结算月
if (CommonConstants.FOUR_STRING.equals(insuranceSettle.getSettleHandleStatus())){ if (CommonConstants.TWO_STRING.equals(insuranceSettle.getSettleHandleStatus())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_SETTLE_HANDLE_STATUS_ERROR); param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_SETTLE_STATUS_TWO_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
Integer reduceHandleStatus = insuranceDetail.getReduceHandleStatus(); //当前结算状态为已结算时,不能变更结算月
//当前保单信息的减员状态不为空时不能进行导入 if (CommonConstants.THREE_STRING.equals(insuranceSettle.getSettleHandleStatus())){
if(reduceHandleStatus != null && CommonConstants.THREE_INT != reduceHandleStatus ){ param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_SETTLE_STATUS_THREE_ERROR);
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_REDUCE_HANDLE_STATUS_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//有效状态 Integer reduceHandleStatus = insuranceDetail.getReduceHandleStatus();
if(CommonConstants.ZERO_INT != insuranceDetail.getIsEffect()){ //当前保单信息的为已减员时不能不能变更结算月
param.setErrorMessage(InsurancesConstants.IS_EFFECT_ERROR); if( CommonConstants.FOUR_INT == reduceHandleStatus ){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_CHANGE_REFUND_STATUS_FOUR_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//判断当前数据中是否存在重复数据 param.setId(insuranceDetail.getId());
boolean b = successList.stream().anyMatch(u -> u.getEmpName().equals(param.getEmpName()) successList.add(param);
&& u.getEmpIdCardNo().equals(param.getEmpIdCardNo())&& u.getDeptNo().equals(param.getDeptNo())
&& u.getInsuranceCompanyName().equals(param.getInsuranceCompanyName())&& u.getInsuranceTypeName().equals(param.getInsuranceTypeName())
&& u.getPolicyStart().equals(param.getPolicyStart())&& u.getPolicyEnd().equals(param.getPolicyEnd())
&& u.getSettleMonth().equals(param.getSettleMonth())&& u.getBuyStandard().equals(param.getBuyStandard()));
if(!b){
successList.add(param);
}else{
param.setErrorMessage(InsurancesConstants.DUPLICATE_DATA_ERROR);
errorList.add(param);
}
} }
map.put("errorList",errorList); map.put("errorList",errorList);
map.put("successList",successList); map.put("successList",successList);
...@@ -2699,7 +2693,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2699,7 +2693,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
for (DeptChangeCheckParam param : deptChangeCheckList) { for (DeptChangeCheckParam param : deptChangeCheckList) {
String newDeptNo = param.getNewDeptNo(); String newDeptNo = param.getNewDeptNo();
if(StringUtils.isBlank(newDeptNo)){ if(StringUtils.isBlank(newDeptNo)){
param.setErrorMessage(InsurancesConstants.REPLACE_DEPT_NO_NOT_EMPTY); param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_NOT_EMPTY);
errorList.add(param); errorList.add(param);
continue; continue;
} }
...@@ -2717,6 +2711,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2717,6 +2711,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//所属项目
String oldDeptNo = param.getOldDeptNo();
if(StringUtils.isBlank(oldDeptNo)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_EMPTY);
errorList.add(param);
continue;
}
//保险公司名称 //保险公司名称
String insuranceCompanyName = param.getInsuranceCompanyName(); String insuranceCompanyName = param.getInsuranceCompanyName();
if(StringUtils.isBlank(insuranceCompanyName)){ if(StringUtils.isBlank(insuranceCompanyName)){
...@@ -2746,13 +2747,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2746,13 +2747,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
//所属项目
String oldDeptNo = param.getOldDeptNo();
if(StringUtils.isBlank(oldDeptNo)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_EMPTY);
errorList.add(param);
continue;
}
//新老项目id相同 //新老项目id相同
if (oldDeptNo.equals(newDeptNo)){ if (oldDeptNo.equals(newDeptNo)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IDENTICAL); param.setErrorMessage(InsurancesConstants.DEPT_NO_IDENTICAL);
...@@ -2766,12 +2760,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2766,12 +2760,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
// 身份证号位数校验(18 位合法)
if (!ValidityUtil.validateIDCard(param.getEmpIdCardNo())){
param.setErrorMessage(InsurancesConstants.EMP_IDCARD_NO_NOT_LEGITIMATE);
errorList.add(param);
continue;
}
// 保单开始日期格式校验 // 保单开始日期格式校验
if(!LocalDateUtil.isDate(policyStart,LocalDateUtil.NORM_DATE_PATTERN)){ if(!LocalDateUtil.isDate(policyStart,LocalDateUtil.NORM_DATE_PATTERN)){
param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR); param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR);
...@@ -2789,13 +2777,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2789,13 +2777,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (null != setInfoByCodes && setInfoByCodes.getCode() != CommonConstants.SUCCESS) { if (null != setInfoByCodes && setInfoByCodes.getCode() != CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap(); Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)){ if (MapUtils.isEmpty(data)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST); param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_IS_NOT_EXIST);
errorList.add(param); errorList.add(param);
continue; continue;
}else { }else {
ProjectSetInfoVo jsonObject = data.get(newDeptNo); ProjectSetInfoVo jsonObject = data.get(newDeptNo);
if (null == jsonObject){ if (null == jsonObject){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST); param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_IS_NOT_EXIST);
errorList.add(param); errorList.add(param);
continue; continue;
}else { }else {
...@@ -2814,11 +2802,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2814,11 +2802,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//必填格式校通过后查询对应的保单信息 //必填格式校通过后查询对应的保单信息
LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName ) queryWrapper.eq(TInsuranceDetail :: getDeleteFlag,CommonConstants.ZERO_INT).eq(TInsuranceDetail ::getEmpName,empName )
.eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceTypeName,insuranceCompanyName ) .eq(TInsuranceDetail ::getEmpIdcardNo,empIdCardNo ).eq(TInsuranceDetail :: getInsuranceTypeName,insuranceTypeName )
.eq(TInsuranceDetail :: getBuyStandard,buyStandard) .eq(TInsuranceDetail :: getBuyStandard,buyStandard).eq(TInsuranceDetail::getDeptNo,oldDeptNo)
.eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName) .eq(TInsuranceDetail :: getInsuranceCompanyName,insuranceCompanyName)
.eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart)).eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd)); .eq(TInsuranceDetail :: getPolicyStart,LocalDateUtil.parseLocalDate(policyStart)).eq(TInsuranceDetail :: getPolicyEnd,LocalDateUtil.parseLocalDate(policyEnd));
TInsuranceDetail insuranceDetail = getOne(queryWrapper); TInsuranceDetail insuranceDetail = getOne(queryWrapper);
//如果保单信息为空
if (Common.isEmpty(insuranceDetail)){
param.setErrorMessage(InsurancesConstants.USER_DATA_IS_NOT_EXIST);
errorList.add(param);
continue;
}
//替换类型的保单不能变更所属项目 //替换类型的保单不能变更所属项目
Integer buyType = insuranceDetail.getBuyType(); Integer buyType = insuranceDetail.getBuyType();
if (CommonConstants.FOUR_INT == buyType){ if (CommonConstants.FOUR_INT == buyType){
...@@ -2826,28 +2820,43 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -2826,28 +2820,43 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList.add(param); errorList.add(param);
continue; continue;
} }
Integer buyHandleStatus = insuranceDetail.getBuyHandleStatus();
if (CommonConstants.ONE_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_BUY_STATUS_ONE_ERROR);
errorList.add(param);
continue;
}
if (CommonConstants.TWO_INT == buyHandleStatus){
param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_BUY_STATUS_TWO_ERROR);
errorList.add(param);
continue;
}
Integer reduceHandleStatus = insuranceDetail.getReduceHandleStatus();
//当前保单信息的为已减员时,不能变更结算项目
if( CommonConstants.FOUR_INT == reduceHandleStatus ){
param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_REFUND_STATUS_FOUR_ERROR);
errorList.add(param);
continue;
}
//查询结算状态 //查询结算状态
LambdaQueryWrapper<TInsuranceSettle> insuranceSettleQuery = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceSettle> insuranceSettleQuery = new LambdaQueryWrapper<>();
insuranceSettleQuery.eq(TInsuranceSettle :: getInsDetailId,insuranceDetail.getId()); insuranceSettleQuery.eq(TInsuranceSettle :: getInsDetailId,insuranceDetail.getId());
TInsuranceSettle insuranceSettle = tInsuranceSettleService.getOne(insuranceSettleQuery); TInsuranceSettle insuranceSettle = tInsuranceSettleService.getOne(insuranceSettleQuery);
//当前结算状态为:结算中,已结算时,不能变更所属项目 //当前结算状态为结算中时,不能变更结算项目
if (CommonConstants.FOUR_STRING.equals(insuranceSettle.getSettleHandleStatus()) || CommonConstants.THREE_STRING.equals(insuranceSettle.getSettleHandleStatus())){ if (CommonConstants.TWO_STRING.equals(insuranceSettle.getSettleHandleStatus())){
param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_SETTLE_HANDLE_STATUS_ERROR); param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_SETTLE_STATUS_TWO_ERROR);
errorList.add(param); errorList.add(param);
continue; continue;
} }
//判断当前数据中是否存在重复数据 //当前结算状态为已结算时,不能变更结算项目
boolean b = successList.stream().anyMatch(u -> u.getEmpName().equals(param.getEmpName()) if (CommonConstants.THREE_STRING.equals(insuranceSettle.getSettleHandleStatus())){
&& u.getEmpIdCardNo().equals(param.getEmpIdCardNo())&& u.getOldDeptNo().equals(param.getOldDeptNo()) param.setErrorMessage(InsurancesConstants.DEPT_NO_CHANGE_SETTLE_STATUS_THREE_ERROR);
&& u.getInsuranceCompanyName().equals(param.getInsuranceCompanyName())&& u.getInsuranceTypeName().equals(param.getInsuranceTypeName())
&& u.getPolicyStart().equals(param.getPolicyStart())&& u.getPolicyEnd().equals(param.getPolicyEnd())
&& u.getNewDeptNo().equals(param.getNewDeptNo())&& u.getBuyStandard().equals(param.getBuyStandard()));
if(!b){
successList.add(param);
}else{
param.setErrorMessage(InsurancesConstants.DUPLICATE_DATA_ERROR);
errorList.add(param); errorList.add(param);
continue;
} }
//判断当前数据中是否存在重复数据
param.setId(insuranceDetail.getId());
successList.add(param);
} }
map.put("errorList",errorList); map.put("errorList",errorList);
map.put("successList",successList); map.put("successList",successList);
......
...@@ -24,4 +24,11 @@ implements TInsuranceRefundService { ...@@ -24,4 +24,11 @@ implements TInsuranceRefundService {
public void updateByInsDetailId(TInsuranceRefund insuranceRefund) { public void updateByInsDetailId(TInsuranceRefund insuranceRefund) {
this.baseMapper.updateByInsDetailId(insuranceRefund); this.baseMapper.updateByInsDetailId(insuranceRefund);
} }
@Override
public int updateRefundMoney(TInsuranceRefund insuranceRefund) {
return this.baseMapper.updateRefundMoney(insuranceRefund);
}
} }
...@@ -101,22 +101,23 @@ public class TInsuranceTypeRateServiceImpl extends ServiceImpl<TInsuranceTypeRat ...@@ -101,22 +101,23 @@ public class TInsuranceTypeRateServiceImpl extends ServiceImpl<TInsuranceTypeRat
return R.failed("当前险种信息不存在或已被删除"); return R.failed("当前险种信息不存在或已被删除");
} }
String month = insuranceTypeRate.getMonth(); String month = insuranceTypeRate.getMonth();
if (!ValidityUtil.isMonth(month)){ if (!ValidityUtil.validatePositiveInt(month)){
return R.failed("当前月份格式不正确"); return R.failed("当前月份格式不正确");
} }
String rate = insuranceTypeRate.getRate(); String rate = insuranceTypeRate.getRate();
if (!Common.isNumber(rate)){ if (!ValidityUtil.validateMoney(rate)){
return R.failed("当前费率格式不正确"); return R.failed("当前费率格式不正确");
} }
LambdaQueryWrapper<TInsuranceTypeRate> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceTypeRate> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TInsuranceTypeRate::getDeleteFlag, CommonConstants.ZERO_INT).eq(TInsuranceTypeRate::getInsuranceTypeId,insuranceTypeId) queryWrapper.eq(TInsuranceTypeRate::getDeleteFlag, CommonConstants.ZERO_INT).eq(TInsuranceTypeRate::getInsuranceTypeId,insuranceTypeId)
.eq(TInsuranceTypeRate :: getRate,insuranceTypeRate.getRate()).eq(TInsuranceTypeRate:: getMonth ,insuranceTypeRate.getMonth()); .eq(TInsuranceTypeRate:: getMonth ,insuranceTypeRate.getMonth());
List<TInsuranceTypeRate> list = this.list(queryWrapper); List<TInsuranceTypeRate> list = this.list(queryWrapper);
if (list.isEmpty()){ if (list.isEmpty()){
insuranceTypeRate.setDeleteFlag(CommonConstants.ZERO_INT); insuranceTypeRate.setDeleteFlag(CommonConstants.ZERO_INT);
insuranceTypeRate.setCreateBy(user.getId()); insuranceTypeRate.setCreateBy(user.getId());
insuranceTypeRate.setCreateName(user.getNickname()); insuranceTypeRate.setCreateName(user.getNickname());
insuranceTypeRate.setCreateTime(LocalDateTime.now()); insuranceTypeRate.setCreateTime(LocalDateTime.now());
return R.ok(this.baseMapper.insert(insuranceTypeRate)); return R.ok(this.baseMapper.insert(insuranceTypeRate));
}else{ }else{
return R.failed("当前险种已存在相同的费率"); return R.failed("当前险种已存在相同的费率");
......
...@@ -9,13 +9,15 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R; ...@@ -9,13 +9,15 @@ 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.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceOperate;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceType; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceType;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeStandard; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeStandard;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceTypeStandardMapper; import com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceTypeStandardMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceDetailService; import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceDetailService;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceOperateService;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceTypeService; import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceTypeService;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceTypeStandardService; import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceTypeStandardService;
import com.yifu.cloud.plus.v1.yifu.insurances.util.ValidityUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -31,10 +33,14 @@ import java.util.List; ...@@ -31,10 +33,14 @@ import java.util.List;
@Service @Service
public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTypeStandardMapper, TInsuranceTypeStandard> implements TInsuranceTypeStandardService { public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTypeStandardMapper, TInsuranceTypeStandard> implements TInsuranceTypeStandardService {
@Resource @Resource
private TInsuranceTypeService insuranceTypeService; private TInsuranceTypeService tInsuranceTypeService;
@Resource @Resource
private TInsuranceDetailService insuranceDetailService; private TInsuranceDetailService tInsuranceDetailService;
@Resource
private TInsuranceOperateService tInsuranceOperateService;
/** /**
* 查询购买标准列表 * 查询购买标准列表
...@@ -48,7 +54,7 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp ...@@ -48,7 +54,7 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp
if (Common.isEmpty(id)){ if (Common.isEmpty(id)){
return R.failed("险种id为空"); return R.failed("险种id为空");
} }
TInsuranceType byId = insuranceTypeService.getById(id); TInsuranceType byId = tInsuranceTypeService.getById(id);
if ( Common.isEmpty(byId) || CommonConstants.ONE_INT == byId.getDeleteFlag()){ if ( Common.isEmpty(byId) || CommonConstants.ONE_INT == byId.getDeleteFlag()){
return R.failed("当前险种信息不存在或已被删除"); return R.failed("当前险种信息不存在或已被删除");
} }
...@@ -79,7 +85,7 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp ...@@ -79,7 +85,7 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp
queryWrapper.eq(TInsuranceDetail::getInsuranceTypeId,byId.getInsuranceTypeId()) queryWrapper.eq(TInsuranceDetail::getInsuranceTypeId,byId.getInsuranceTypeId())
.eq(TInsuranceDetail::getBuyStandard,byId.getBuyStandard()) .eq(TInsuranceDetail::getBuyStandard,byId.getBuyStandard())
.eq(TInsuranceDetail::getDeleteFlag,CommonConstants.ZERO_INT); .eq(TInsuranceDetail::getDeleteFlag,CommonConstants.ZERO_INT);
List<TInsuranceDetail> list = insuranceDetailService.list(queryWrapper); List<TInsuranceDetail> list = tInsuranceDetailService.list(queryWrapper);
if (Common.isNotEmpty(list)){ if (Common.isNotEmpty(list)){
return R.failed("当前险种的购买标准已存在对应的商险信息,不能删除"); return R.failed("当前险种的购买标准已存在对应的商险信息,不能删除");
} }
...@@ -105,20 +111,20 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp ...@@ -105,20 +111,20 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp
return R.failed("新增的购买标准信息为空"); return R.failed("新增的购买标准信息为空");
} }
Long insuranceTypeId = insuranceTypeStandard.getInsuranceTypeId(); Long insuranceTypeId = insuranceTypeStandard.getInsuranceTypeId();
TInsuranceType byId = insuranceTypeService.getById(insuranceTypeId); TInsuranceType byId = tInsuranceTypeService.getById(insuranceTypeId);
if ( Common.isEmpty(byId) || CommonConstants.ONE_INT == byId.getDeleteFlag()){ if ( Common.isEmpty(byId) || CommonConstants.ONE_INT == byId.getDeleteFlag()){
return R.failed("当前险种信息不存在或已被删除"); return R.failed("当前险种信息不存在或已被删除");
} }
String buyStandard = insuranceTypeStandard.getBuyStandard(); String buyStandard = insuranceTypeStandard.getBuyStandard();
String medicalQuota = insuranceTypeStandard.getMedicalQuota(); String medicalQuota = insuranceTypeStandard.getMedicalQuota();
String dieDisableQuota = insuranceTypeStandard.getDieDisableQuota(); String dieDisableQuota = insuranceTypeStandard.getDieDisableQuota();
if (!Common.isNumber(buyStandard)){ if (!ValidityUtil.validateMoney(buyStandard)){
return R.failed("当前购买标准格式不正确"); return R.failed("当前购买标准格式不正确");
} }
if (!Common.isNumber(medicalQuota)){ if (!ValidityUtil.validateMoney(medicalQuota)){
return R.failed("当前医疗额度格式不正确"); return R.failed("当前医疗额度格式不正确");
} }
if (!Common.isNumber(dieDisableQuota)){ if (!ValidityUtil.validateMoney(dieDisableQuota)){
return R.failed("当前身故或残疾额度格式不正确"); return R.failed("当前身故或残疾额度格式不正确");
} }
LambdaQueryWrapper<TInsuranceTypeStandard> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TInsuranceTypeStandard> queryWrapper = new LambdaQueryWrapper<>();
...@@ -131,10 +137,13 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp ...@@ -131,10 +137,13 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp
insuranceTypeStandard.setCreateBy(user.getId()); insuranceTypeStandard.setCreateBy(user.getId());
insuranceTypeStandard.setCreateName(user.getNickname()); insuranceTypeStandard.setCreateName(user.getNickname());
insuranceTypeStandard.setCreateTime(LocalDateTime.now()); insuranceTypeStandard.setCreateTime(LocalDateTime.now());
return R.ok(this.baseMapper.insert(insuranceTypeStandard),"新增购买标准成功"); return R.ok(this.baseMapper.insert(insuranceTypeStandard),"新增购买标准成功");
}else{ }else{
return R.failed("当前险种下的购买标准已存在"); return R.failed("当前险种下的购买标准已存在");
} }
} }
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceCompanyMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceCompanyMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceCompany"> <resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceCompany">
<id property="id" column="ID" jdbcType="BIGINT"/> <id property="id" column="ID" jdbcType="VARCHAR"/>
<result property="companyName" column="COMPANY_NAME" jdbcType="VARCHAR"/> <result property="companyName" column="COMPANY_NAME" jdbcType="VARCHAR"/>
<result property="companyAddress" column="COMPANY_ADDRESS" jdbcType="VARCHAR"/> <result property="companyAddress" column="COMPANY_ADDRESS" jdbcType="VARCHAR"/>
<result property="companyDocking" column="COMPANY_DOCKING" jdbcType="VARCHAR"/> <result property="companyDocking" column="COMPANY_DOCKING" jdbcType="VARCHAR"/>
......
...@@ -541,8 +541,6 @@ ...@@ -541,8 +541,6 @@
t_insurance_refund refund t_insurance_refund refund
where where
detail.ID = refund.INS_DETAIL_ID detail.ID = refund.INS_DETAIL_ID
and
(detail.REDUCE_HANDLE_STATUS is not null and detail.REDUCE_HANDLE_STATUS != 3)
<if test="param.empName != null and param.empName.trim() != ''"> <if test="param.empName != null and param.empName.trim() != ''">
and detail.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%') and detail.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%')
</if> </if>
...@@ -607,9 +605,6 @@ ...@@ -607,9 +605,6 @@
<if test="param.deptNo != null and param.deptNo.trim() != ''"> <if test="param.deptNo != null and param.deptNo.trim() != ''">
and detail.DEPT_NO like concat('%',replace(replace(#{param.deptNo},'_','\_'),'%','\%'),'%') and detail.DEPT_NO like concat('%',replace(replace(#{param.deptNo},'_','\_'),'%','\%'),'%')
</if> </if>
<if test="param.reduceHandleStatus != null ">
and detail.REDUCE_HANDLE_STATUS = #{param.reduceHandleStatus}
</if>
<if test="param.isOverdue != null "> <if test="param.isOverdue != null ">
and detail.IS_OVERDUE like concat('%',replace(replace(#{param.isOverdue},'_','\_'),'%','\%'),'%') and detail.IS_OVERDUE like concat('%',replace(replace(#{param.isOverdue},'_','\_'),'%','\%'),'%')
</if> </if>
......
...@@ -25,11 +25,22 @@ ...@@ -25,11 +25,22 @@
t_insurance_refund t_insurance_refund
set set
REDUCE_HANDLE_STATUS = #{reduceHandleStatus}, REDUCE_HANDLE_STATUS = #{reduceHandleStatus},
REMARK = #{remark},
UPDATE_BY = #{createBy}, UPDATE_BY = #{createBy},
UPDATE_TIME = #{createTime} UPDATE_TIME = #{createTime}
where where
INS_DETAIL_ID = #{insDetailId} INS_DETAIL_ID = #{insDetailId}
</update> </update>
<update id="updateRefundMoney">
update
t_insurance_refund
set
REFUND_MONEY = #{refundMoney},
UPDATE_BY = #{updateBy},
UPDATE_TIME = #{updateTime}
where
INS_DETAIL_ID = #{insDetailId}
</update>
<select id="getByInsDetailId" resultType="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceRefund"> <select id="getByInsDetailId" resultType="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceRefund">
</select> </select>
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceTypeMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceTypeMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceType"> <resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceType">
<id property="id" column="ID" jdbcType="BIGINT"/> <id property="id" column="ID" jdbcType="VARCHAR"/>
<result property="name" column="NAME" jdbcType="VARCHAR"/> <result property="name" column="NAME" jdbcType="VARCHAR"/>
<result property="insuranceCompanyId" column="INSURANCE_COMPANY_ID" jdbcType="BIGINT"/> <result property="insuranceCompanyId" column="INSURANCE_COMPANY_ID" jdbcType="VARCHAR"/>
<result property="receiptUnitName" column="RECEIPT_UNIT_NAME" jdbcType="VARCHAR"/> <result property="receiptUnitName" column="RECEIPT_UNIT_NAME" jdbcType="VARCHAR"/>
<result property="bankName" column="BANK_NAME" jdbcType="VARCHAR"/> <result property="bankName" column="BANK_NAME" jdbcType="VARCHAR"/>
<result property="bankNo" column="BANK_NO" jdbcType="VARCHAR"/> <result property="bankNo" column="BANK_NO" jdbcType="VARCHAR"/>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeStandard"> <resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeStandard">
<id property="id" column="ID" jdbcType="VARCHAR"/> <id property="id" column="ID" jdbcType="VARCHAR"/>
<result property="insuranceTypeId" column="INSURANCE_TYPE_ID" jdbcType="BIGINT"/> <result property="insuranceTypeId" column="INSURANCE_TYPE_ID" jdbcType="VARCHAR"/>
<result property="buyStandard" column="BUY_STANDARD" jdbcType="VARCHAR"/> <result property="buyStandard" column="BUY_STANDARD" jdbcType="VARCHAR"/>
<result property="medicalQuota" column="MEDICAL_QUOTA" jdbcType="VARCHAR"/> <result property="medicalQuota" column="MEDICAL_QUOTA" jdbcType="VARCHAR"/>
<result property="dieDisableQuota" column="DIE_DISABLE_QUOTA" jdbcType="VARCHAR"/> <result property="dieDisableQuota" column="DIE_DISABLE_QUOTA" jdbcType="VARCHAR"/>
......
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