Commit ef4956c8 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/develop' into develop

parents b0194926 805ec640
......@@ -67,18 +67,16 @@ public class EkpSalaryUtil {
}
// 推送主表到ekp
public String sendStandardToEKP(EkpSalaryStandardParam param){
public String sendStandardToEKP(String loginName, EkpSalaryStandardParam param){
log.info("推送EKP开始--薪资主表数据");
RestTemplate yourRestTemplate = new RestTemplate();
try{
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
JSONObject loginName = new JSONObject();
String formValues = new ObjectMapper().writeValueAsString(param);
loginName.append("LoginName",ekpProperties.getLoginName());
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
wholeForm.add("docSubject",ekpProperties.getDocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
wholeForm.add("docCreator", "{\"LoginName\":\"" + loginName+ "\"}");
wholeForm.add("docStatus", ekpProperties.getDocStatus());
wholeForm.add("formValues", formValues);
wholeForm.add("fdModelId", ekpProperties.getStandardFdModelId());
......@@ -106,17 +104,15 @@ public class EkpSalaryUtil {
}
// 退表到ekp
public String backStandardToEKP(EkpSalaryBackParam param){
public String backStandardToEKP(String loginName, EkpSalaryBackParam param){
log.info("推送EKP开始--薪资退表");
RestTemplate yourRestTemplate = new RestTemplate();
try{
//指向EKP的接口url
//把ModelingAppModelParameterAddForm转换成MultiValueMap
JSONObject loginName = new JSONObject();
loginName.append("LoginName",ekpProperties.getLoginName());
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
wholeForm.add("docSubject",ekpProperties.getDocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
wholeForm.add("docCreator", "{\"LoginName\":\"" + loginName+ "\"}");
wholeForm.add("docStatus", ekpProperties.getDocStatus());
String formValues = new ObjectMapper().writeValueAsString(param);
wholeForm.add("formValues", formValues);
......
......@@ -27,6 +27,10 @@ public class InsurancesConstants {
* 替换
*/
public static final String REPLACE = "“替换”提交申请";
/**
* 被替换成功
*/
public static final String SOURCE_REPLACE = "被替换成功";
/**
* 删除
*/
......@@ -277,10 +281,6 @@ public class InsurancesConstants {
* 购买标准不存在
*/
public static final String BUY_STANDARD_NOT_EXIST = "购买标准不存在";
/**
* 购买标准格式错误
*/
public static final String BUY_STANDARD_PARSE_ERROR = "购买标准格式错误";
/**
* 商险购买地省名称不能为空
*/
......
......@@ -12,6 +12,7 @@ import org.checkerframework.common.value.qual.StringVal;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
......@@ -74,24 +75,28 @@ public class TInsuranceCompany extends BaseEntity {
* 商险办理省code
*/
@Schema(description = "商险办理省code")
@NotNull(message = "商险办理省code不能为空")
private Integer insuranceHandleProvince;
/**
* 商险办理省
*/
@Schema(description = "商险办理省")
@NotBlank(message = "商险办理省不能为空")
private String insuranceHandleProvinceName;
/**
* 商险办理城市code
*/
@Schema(description = "商险办理城市code")
@NotNull(message = "商险办理城市code不能为空")
private Integer insuranceHandleCity;
/**
* 商险办理城市
*/
@Schema(description = "商险办理城市")
@NotBlank(message = "商险办理城市不能为空")
private String insuranceHandleCityName;
}
\ No newline at end of file
......@@ -317,26 +317,50 @@ public class InsuranceDetailVO implements Serializable {
/**
* 被替换人姓名
*/
@Schema(description = "被替换人姓名(替换类型专用字段)")
@Schema(description = "被替换人姓名")
private String coverEmpName;
/**
* 被替换人身份证号
*/
@Schema(description = "被替换人身份证号(替换类型专用字段)")
@Schema(description = "被替换人身份证号)")
private String coverEmpIdcardNo;
/**
* 被替换人项目名称
*/
@Schema(description = "被替换人项目名称(替换类型专用字段)")
@Schema(description = "被替换人项目名称")
private String coverProjectName;
/**
* 被替换人封面抬头
*/
@Schema(description = "被替换人封面抬头")
private String coveInvoiceTitle;
private String coverInvoiceTitle;
/**
* 替换人姓名
*/
@Schema(description = "替换人姓名")
private String replaceEmpName;
/**
* 替换人身份证号
*/
@Schema(description = "替换人身份证号")
private String replaceEmpIdcardNo;
/**
* 替换人项目名称
*/
@Schema(description = "被替换人项目名称")
private String replaceProjectName;
/**
* 替换人封面抬头
*/
@Schema(description = "替换人封面抬头")
private String replaceInvoiceTitle;
/**
* 退保金额 todo 数据库暂时没有
......
......@@ -3,7 +3,9 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.checkerframework.common.value.qual.IntVal;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
......@@ -17,6 +19,14 @@ import java.util.List;
public class InsuranceExportListParam extends BaseEntity implements Serializable {
private static final long serialVersionUID = 3623027153213352936L;
/**
* 投保状态 1待投保 2投保中 3已投保 (4投保退回 5 已减员)不在此列表展示4,5
*/
@Schema(description = "投保状态 1待投保 2投保中 3已投保")
@NotNull(message = "投保状态不能为空")
@IntVal({1,2,3})
private Integer buyHandleStatus;
/**
* 员工姓名
*/
......
......@@ -115,6 +115,13 @@ public class InsuranceExportListVO implements Serializable {
@Schema(description = "保单结束时间")
private LocalDate policyEnd;
/**
* 保单生效时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
@JsonIgnore
private LocalDate policyEffect;
/**
* 保险公司名称(冗余字段)
*/
......
......@@ -71,6 +71,12 @@ public class InsuranceRefundListVo implements Serializable {
@Schema(description = "保单编号")
private String policyNo;
/**
* 实际保费
*/
@Schema(description = "实际保费")
private String actualPremium;
/**
* 商险购买地省code
*/
......
......@@ -64,6 +64,12 @@ public class InsuranceReplaceParam implements Serializable {
@Schema(description = "保单结束时间")
private String policyEnd;
/**
* 购买标准
*/
@Schema(description = "购买标准")
private String buyStandard;
/**
* 替换员工姓名
*/
......
......@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
......@@ -18,6 +19,7 @@ public class InsuranceTypeVo extends TInsuranceType {
/**
* 所属保险公司名称
*/
@Schema(description = "所属保险公司名称")
private String insuranceCompanyName;
/**
......
......@@ -3,7 +3,10 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.checkerframework.common.value.qual.IntVal;
import org.checkerframework.common.value.qual.StringVal;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
......@@ -17,6 +20,14 @@ import java.util.List;
public class RefundExportListParam extends BaseEntity implements Serializable {
private static final long serialVersionUID = 3623027153213352936L;
/**
* 减员状态 1待减员 2减员中 3减员退回 4减员成功
*/
@Schema(description = "减员状态 1待减员 2减员中 4减员成功")
@NotNull(message = "减员状态不能为空")
@IntVal({1,2,4})
private Integer reduceHandleStatus;
/**
* 员工姓名
*/
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author zhaji
......@@ -129,6 +131,13 @@ public class RefundExportListVo implements Serializable {
@Schema(description = "保单结束时间")
private LocalDate policyEnd;
/**
* 保单生效时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
@JsonIgnore
private LocalDate policyEffect;
/**
* 保险公司名称(冗余字段)
*/
......@@ -193,7 +202,7 @@ public class RefundExportListVo implements Serializable {
* 购买天数
*/
@Schema(description = "购买天数")
private long buyDay;
private Long buyDay;
/**
* 封面抬头
......@@ -206,4 +215,11 @@ public class RefundExportListVo implements Serializable {
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 派单日期
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "派单日期")
private LocalDateTime createTime;
}
......@@ -39,7 +39,7 @@ public class TInsuranceTypeController {
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page" )
public R<IPage<InsuranceTypeVo>> getInsuranceTypePage(Page<TInsuranceType> page,TInsuranceType insuranceType) {
public R<IPage<InsuranceTypeVo>> getInsuranceTypePage(Page<InsuranceTypeVo> page,InsuranceTypeVo insuranceType) {
return R.ok(insuranceTypeService.pageDiy(page, insuranceType));
}
......
package com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceCompany;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author Administrator
......@@ -14,4 +17,13 @@ import org.apache.ibatis.annotations.Mapper;
public interface TInsuranceCompanyMapper extends BaseMapper<TInsuranceCompany> {
/**
* 分页查询保险公司
*
* @author licancan
* @param page
* @param param
* @return {@link IPage<TInsuranceCompany>}
*/
IPage<TInsuranceCompany> getInsuranceCompanyListPage(Page<TInsuranceCompany> page, @Param("param") TInsuranceCompany param);
}
......@@ -44,9 +44,9 @@ public interface TInsuranceTypeMapper extends BaseMapper<TInsuranceType> {
* @author zhaji
* @param page 分页参数
* @param insuranceType 查询参数
* @return {@link IPage< InsuranceTypeVo>}
* @return {@link IPage<InsuranceTypeVo>}
*/
IPage<InsuranceTypeVo> selectInsuranceTypePage(Page page, @Param("insuranceType") TInsuranceType insuranceType);
IPage<InsuranceTypeVo> selectInsuranceTypePage(Page page, @Param("insuranceType") InsuranceTypeVo insuranceType);
InsuranceTypeVo getInsuranceTypeDetailById(String id);
......
......@@ -22,9 +22,9 @@ public interface TInsuranceTypeService extends IService<TInsuranceType> {
* @author zhaji
* @param page 分页参数
* @param insuranceType 分页查询参数
* @return {@link IPage< TInsuranceType>}
* @return {@link IPage<InsuranceTypeVo>}
*/
IPage<InsuranceTypeVo> pageDiy(Page<TInsuranceType> page,TInsuranceType insuranceType);
IPage<InsuranceTypeVo> pageDiy(Page<InsuranceTypeVo> page,InsuranceTypeVo insuranceType);
/**
* 新增险种信息
......
......@@ -48,13 +48,11 @@ public class TInsuranceCompanyServiceImpl extends ServiceImpl<TInsuranceCompanyM
* @author zhaji
* @param page 分页参数
* @param insuranceCompany 查询类
* @return {@link IPage< TInsuranceCompany>}
* @return {@link IPage<TInsuranceCompany>}
*/
@Override
public IPage<TInsuranceCompany> pageDiy(Page page, TInsuranceCompany insuranceCompany) {
LambdaQueryWrapper<TInsuranceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(TInsuranceCompany::getCreateTime);
IPage<TInsuranceCompany> list = this.baseMapper.selectPage(page, wrapper);
IPage<TInsuranceCompany> list = this.baseMapper.getInsuranceCompanyListPage(page, insuranceCompany);
return list;
}
......
......@@ -424,7 +424,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
for (InsuranceReplaceParam success : listSuccess) {
//替换
TInsuranceDetail newDetail = new TInsuranceDetail();
//原数据置为无效:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间
//原数据置为无效:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间 + 购买标准 + 有效
TInsuranceDetail detail = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getEmpName, success.getEmpName())
.eq(TInsuranceDetail::getEmpIdcardNo, success.getEmpIdcardNo())
......@@ -433,7 +433,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, success.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, LocalDateUtil.parseLocalDate(success.getPolicyStart()))
.eq(TInsuranceDetail::getPolicyEnd, LocalDateUtil.parseLocalDate(success.getPolicyEnd()))
.eq(TInsuranceDetail::getBuyStandard, success.getBuyStandard())
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
//有效
.and(
wrapper -> wrapper.eq(TInsuranceDetail::getIsEffect,CommonConstants.ZERO_INT)
.or().isNull(TInsuranceDetail::getIsEffect)
)
.orderByDesc(TInsuranceDetail::getUpdateTime)
.last(CommonConstants.LAST_ONE_SQL)
);
......@@ -611,6 +617,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else {
//冗余保险公司计费方式
byId.setBillingType(Integer.valueOf(insuranceCompany.getBillingType()));
//冗余办理地省、市
param.setInsuranceHandleProvince(insuranceCompany.getInsuranceHandleProvince());
param.setInsuranceHandleProvinceName(insuranceCompany.getInsuranceHandleProvinceName());
param.setInsuranceHandleCity(insuranceCompany.getInsuranceHandleCity());
param.setInsuranceHandleCityName(insuranceCompany.getInsuranceHandleCityName());
TInsuranceType insuranceType = tInsuranceTypeService.getOne(Wrappers.<TInsuranceType>query().lambda()
.eq(TInsuranceType::getName, param.getInsuranceTypeName())
......@@ -657,7 +668,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
}
//记录查重校验:姓名 + 身份证号 + 保险公司 + 险种 + 保单开始日期~保单结束日期 是唯一(剔除退回、过期状态的记录)
//记录查重校验:姓名 + 身份证号 + 保险公司 + 险种 + 保单开始日期~保单结束日期 + 购买标准 是唯一(剔除退回、过期状态的记录)
//待投保、投保中、已投保(有效、未过期)
Set<Integer> setRStatus = Sets.newHashSet();
setRStatus.add(CommonConstants.FOUR_INT);
......@@ -669,6 +680,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, param.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, param.getPolicyStart())
.eq(TInsuranceDetail::getPolicyEnd, param.getPolicyEnd())
.eq(TInsuranceDetail::getBuyStandard, param.getBuyStandard())
.notIn(TInsuranceDetail::getBuyHandleStatus, setRStatus)
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
//有效
......@@ -797,8 +809,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceDetailVO.setDistributeType(insuranceDetailVO.getReduceHandleStatus() == null?insuranceDetailVO.getBuyType():CommonConstants.FIVE_INT);
//派单状态
insuranceDetailVO.setDistributeStatus(insuranceDetailVO.getDistributeType() == CommonConstants.FIVE_INT?insuranceDetailVO.getReduceHandleStatus():insuranceDetailVO.getBuyHandleStatus());
//替换类型
if (insuranceDetailVO.getBuyType() == CommonConstants.FOUR_INT){
//被替换人
TInsuranceReplace one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
.eq(TInsuranceReplace::getToInsuranceDetailId, insuranceDetailVO.getId())
.last(CommonConstants.LAST_ONE_SQL));
......@@ -810,16 +821,41 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
R<SetInfoVo> infoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(byId.getDeptNo()));
if (null != infoByCodes && infoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(infoByCodes.getData())) {
Map<String, ProjectSetInfoVo> data = infoByCodes.getData().getProjectSetInfoVoMap();
if(Objects.nonNull(data)){
ProjectSetInfoVo setInfoVo = data.get(byId.getDeptNo());
if (null != setInfoVo){
insuranceDetailVO.setCoverProjectName(Optional.ofNullable(setInfoVo.getDepartName()).orElse(""));
insuranceDetailVO.setCoveInvoiceTitle(Optional.ofNullable(setInfoVo.getInvoiceTitleInsurance()).orElse(""));
insuranceDetailVO.setCoverInvoiceTitle(Optional.ofNullable(setInfoVo.getInvoiceTitleInsurance()).orElse(""));
}
}
}
}
}
//替换人
TInsuranceReplace replace = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
.eq(TInsuranceReplace::getFromInsuranceDetailId, insuranceDetailVO.getId())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(replace).isPresent()) {
TInsuranceDetail replaceById = this.getById(replace.getToInsuranceDetailId());
if (Optional.ofNullable(replaceById).isPresent()) {
insuranceDetailVO.setReplaceEmpName(replaceById.getEmpName());
insuranceDetailVO.setReplaceEmpIdcardNo(replaceById.getEmpIdcardNo());
R<SetInfoVo> infoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(replaceById.getDeptNo()));
if (null != infoByCodes && infoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(infoByCodes.getData())) {
Map<String, ProjectSetInfoVo> data = infoByCodes.getData().getProjectSetInfoVoMap();
if(Objects.nonNull(data)){
ProjectSetInfoVo setInfoVo = data.get(replaceById.getDeptNo());
if (null != setInfoVo){
insuranceDetailVO.setReplaceProjectName(Optional.ofNullable(setInfoVo.getDepartName()).orElse(""));
insuranceDetailVO.setReplaceInvoiceTitle(Optional.ofNullable(setInfoVo.getInvoiceTitleInsurance()).orElse(""));
}
}
}
}
}
//减员类型 处理创建人、创建时间、备注
if(CommonConstants.FIVE_INT == insuranceDetailVO.getDistributeType()){
TInsuranceRefund refund = tInsuranceRefundService.getOne(Wrappers.<TInsuranceRefund>query().lambda()
......@@ -921,6 +957,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
//购买天数
record.setBuyDay(LocalDateUtil.betweenDay(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
//如果是批增需要重新处理购买周期,按生效日期和保单结束时间计算
if (CommonConstants.THREE_INT == record.getBuyType()){
if (Objects.isNull(record.getPolicyEffect())){
record.setBuyMonth(null);
record.setBuyDay(null);
}else {
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyEffect().toString(),record.getPolicyEnd().toString()));
record.setBuyDay(LocalDateUtil.betweenDay(record.getPolicyEffect().toString(),record.getPolicyEnd().toString()));
}
}
//如果是待投保,需要处理相关逻辑,投保中、投保成功只是单纯的导出
if(param.getBuyHandleStatus() == CommonConstants.ONE_INT){
TInsuranceDetail detail = new TInsuranceDetail();
detail.setId(record.getId());
//update状态由「待投保」置为「投保中」
......@@ -943,6 +991,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detailList.add(detail);
}
}
}
//批量更新
if (CollectionUtils.isNotEmpty(detailList)){
this.saveOrUpdateBatch(detailList);
......@@ -971,6 +1020,16 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
vo.setBuyMonth(LocalDateUtil.betweenMonth(vo.getPolicyStart().toString(),vo.getPolicyEnd().toString()));
//购买天数
vo.setBuyDay(LocalDateUtil.betweenDay(vo.getPolicyStart().toString(),vo.getPolicyEnd().toString()));
//如果是批增需要重新处理购买周期,按生效日期和保单结束时间计算
if (CommonConstants.THREE_INT == vo.getBuyType()){
if (Objects.isNull(vo.getPolicyEffect())){
vo.setBuyMonth(null);
vo.setBuyDay(null);
}else {
vo.setBuyMonth(LocalDateUtil.betweenMonth(vo.getPolicyEffect().toString(),vo.getPolicyEnd().toString()));
vo.setBuyDay(LocalDateUtil.betweenDay(vo.getPolicyEffect().toString(),vo.getPolicyEnd().toString()));
}
}
vo.setRemark(InsurancesConstants.QUIT);
vo.setBuyType(CommonConstants.FOUR_INT);
vo.setProjectName(byId.getDeptName());
......@@ -1257,6 +1316,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
List<InsuranceListVO> errorList = new ArrayList<>();
//后端处理的数据
List<TInsuranceDetail> successList = new ArrayList<>();
//被替换人标记被替换成功
List<TInsuranceDetail> sourceList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(detailList)){
for (TInsuranceDetail detail : detailList) {
//先判断投保状态是不是投保中,如果不是不给标记办理成功,防止重复推数据
......@@ -1281,6 +1342,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//替换类型,保单生效日期:T + 1
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
successList.add(detail);
//查找被替换人信息
TInsuranceReplace one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
.eq(TInsuranceReplace::getToInsuranceDetailId, detail.getId())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(one).isPresent()) {
TInsuranceDetail byId = this.getById(one.getFromInsuranceDetailId());
if (Optional.ofNullable(byId).isPresent()) {
sourceList.add(byId);
}
}
}else{
//根据结算类型判断是否需要计算预估保费
//预估
......@@ -1406,6 +1478,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
addOperate(operateList,user,InsurancesConstants.SUCCESSFUL);
addOperate(sourceList,user,InsurancesConstants.SOURCE_REPLACE,null,CommonConstants.ONE_INT);
return R.ok(errorList, InsurancesConstants.OPERATE_SUCCESS);
}
......@@ -1438,7 +1511,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (CollectionUtils.isNotEmpty(listSuccess)){
for (InsuranceRegisterParam success : listSuccess) {
//登记保单保费
//查数据:姓名 + 身份证号 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间
//查数据:姓名 + 身份证号 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间 + 购买标准
TInsuranceDetail detail = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getEmpName, success.getEmpName())
.eq(TInsuranceDetail::getEmpIdcardNo, success.getEmpIdcardNo())
......@@ -1446,6 +1519,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, success.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, LocalDateUtil.parseLocalDate(success.getPolicyStart()))
.eq(TInsuranceDetail::getPolicyEnd, LocalDateUtil.parseLocalDate(success.getPolicyEnd()))
.eq(TInsuranceDetail::getBuyStandard, success.getBuyStandard())
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
.orderByDesc(TInsuranceDetail::getUpdateTime)
.last(CommonConstants.LAST_ONE_SQL)
......@@ -1826,16 +1900,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getInsuranceHandleProvinceName())){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_PROVINCE_NAME_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getInsuranceHandleCityName())){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_CITY_NAME_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
......@@ -1911,6 +1975,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//20221107 现在需求要求允许同一个人同时存在多个不同的在保信息
//&& LocalDateUtil.hasOverlap(LocalDateUtil.parseLocalDate(param.getPolicyStart()),LocalDateUtil.parseLocalDate(param.getPolicyEnd()),LocalDateUtil.parseLocalDate(repeat.getPolicyStart()),LocalDateUtil.parseLocalDate(repeat.getPolicyEnd()))
&& param.getPolicyStart().equals(repeat.getPolicyStart()) && param.getPolicyEnd().equals(repeat.getPolicyEnd())
&& param.getBuyStandard().equals(repeat.getBuyStandard())
&& i != j){
param.setErrorMessage(InsurancesConstants.DUPLICATE_DATA_ERROR);
listResult.add(param);
......@@ -1996,22 +2061,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else {
param.setInsuranceCity(Integer.parseInt(redisCityName));
}
String redisHandleProvinceName = getRedisAreaValue(param.getInsuranceHandleProvinceName());
if (Common.isEmpty(redisHandleProvinceName)){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_PROVINCE_NAME_NOT_EXIST);
listResult.add(param);
continue;
}else {
param.setInsuranceHandleProvince(Integer.parseInt(redisHandleProvinceName));
}
String redisHandleCityName = getRedisAreaValue(param.getInsuranceHandleCityName() + "_" + param.getInsuranceHandleProvinceName());
if (Common.isEmpty(redisHandleCityName)){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_CITY_NAME_NOT_EXIST);
listResult.add(param);
continue;
}else {
param.setInsuranceHandleCity(Integer.parseInt(redisHandleCityName));
}
// 保险公司-险种-购买标准 是否存在
TInsuranceCompany insuranceCompany = tInsuranceCompanyService.getOne(Wrappers.<TInsuranceCompany>query().lambda()
......@@ -2026,6 +2075,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else {
//冗余保险公司计费方式
param.setBillingType(Integer.valueOf(insuranceCompany.getBillingType()));
//冗余办理地省、市
param.setInsuranceHandleProvince(insuranceCompany.getInsuranceHandleProvince());
param.setInsuranceHandleProvinceName(insuranceCompany.getInsuranceHandleProvinceName());
param.setInsuranceHandleCity(insuranceCompany.getInsuranceHandleCity());
param.setInsuranceHandleCityName(insuranceCompany.getInsuranceHandleCityName());
TInsuranceType insuranceType = tInsuranceTypeService.getOne(Wrappers.<TInsuranceType>query().lambda()
.eq(TInsuranceType::getName, param.getInsuranceTypeName())
......@@ -2091,7 +2145,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue;
}
//记录查重校验:姓名 + 身份证号 + 保险公司 + 险种 + 保单开始日期~保单结束日期 是唯一(剔除退回、过期状态的记录)
//记录查重校验:姓名 + 身份证号 + 保险公司 + 险种 + 保单开始日期~保单结束日期 + 购买标准 是唯一(剔除退回、过期状态的记录)
//待投保、投保中、已投保(有效、未过期)
Set<Integer> setRStatus = Sets.newHashSet();
setRStatus.add(CommonConstants.FOUR_INT);
......@@ -2103,6 +2157,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, param.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, param.getPolicyStart())
.eq(TInsuranceDetail::getPolicyEnd, param.getPolicyEnd())
.eq(TInsuranceDetail::getBuyStandard, param.getBuyStandard())
.notIn(TInsuranceDetail::getBuyHandleStatus, setRStatus)
//有效
.and(
......@@ -2208,16 +2263,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getInsuranceHandleProvinceName())){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_PROVINCE_NAME_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getInsuranceHandleCityName())){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_CITY_NAME_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
......@@ -2242,7 +2287,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//表内数据重复 员工姓名、员工身份证号码、保险公司、险种
//表内数据重复 员工姓名、员工身份证号码、保险公司、险种、购买标准
for (int j = 0; j < distinctList.size(); j++) {
InsuranceBatchParam repeat = distinctList.get(j);
if (param.getEmpName().equals(repeat.getEmpName())
......@@ -2336,22 +2381,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else {
param.setInsuranceCity(Integer.parseInt(redisCityName));
}
String redisHandleProvinceName = getRedisAreaValue(param.getInsuranceHandleProvinceName());
if (Common.isEmpty(redisHandleProvinceName)){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_PROVINCE_NAME_NOT_EXIST);
listResult.add(param);
continue;
}else {
param.setInsuranceHandleProvince(Integer.parseInt(redisHandleProvinceName));
}
String redisHandleCityName = getRedisAreaValue(param.getInsuranceHandleCityName() + "_" + param.getInsuranceHandleProvinceName());
if (Common.isEmpty(redisHandleCityName)){
param.setErrorMessage(InsurancesConstants.INSURANCE_HANDLE_CITY_NAME_NOT_EXIST);
listResult.add(param);
continue;
}else {
param.setInsuranceHandleCity(Integer.parseInt(redisHandleCityName));
}
//保单开始日期、结束日期,由系统根据保单号关联查询投保状态为 "已投保" 的商险记录的任意一条
TInsuranceDetail limitOne = getOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getPolicyNo, param.getPolicyNo())
......@@ -2392,6 +2421,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else {
//冗余保险公司计费方式
param.setBillingType(Integer.valueOf(insuranceCompany.getBillingType()));
//冗余办理地省、市
param.setInsuranceHandleProvince(insuranceCompany.getInsuranceHandleProvince());
param.setInsuranceHandleProvinceName(insuranceCompany.getInsuranceHandleProvinceName());
param.setInsuranceHandleCity(insuranceCompany.getInsuranceHandleCity());
param.setInsuranceHandleCityName(insuranceCompany.getInsuranceHandleCityName());
TInsuranceType insuranceType = tInsuranceTypeService.getOne(Wrappers.<TInsuranceType>query().lambda()
.eq(TInsuranceType::getName, param.getInsuranceTypeName())
......@@ -2469,7 +2503,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue;
}
//记录查重校验:姓名 + 身份证号 + 保险公司 + 险种
//记录查重校验:姓名 + 身份证号 + 保单号 + 保险公司 + 险种 + 购买标准
//待投保、投保中、已投保(有效、未过期)
Set<Integer> setRStatus = Sets.newHashSet();
setRStatus.add(CommonConstants.FOUR_INT);
......@@ -2562,6 +2596,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getBuyStandard())){
param.setErrorMessage(InsurancesConstants.BUY_STANDARD_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getReplaceEmpName())){
param.setErrorMessage(InsurancesConstants.REPLACE_EMP_NAME_NOT_EMPTY);
listResult.add(param);
......@@ -2638,6 +2677,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//20221107 现在需求要求允许同一个人同时存在多个不同的在保信息
//&& LocalDateUtil.hasOverlap(LocalDateUtil.parseLocalDate(param.getPolicyStart()),LocalDateUtil.parseLocalDate(param.getPolicyEnd()),LocalDateUtil.parseLocalDate(repeat.getPolicyStart()),LocalDateUtil.parseLocalDate(repeat.getPolicyEnd()))
&& param.getPolicyStart().equals(repeat.getPolicyStart()) && param.getPolicyEnd().equals(repeat.getPolicyEnd())
&& param.getBuyStandard().equals(repeat.getBuyStandard())
&& i != j){
param.setErrorMessage(InsurancesConstants.DUPLICATE_DATA_ERROR);
listResult.add(param);
......@@ -2704,7 +2744,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//原数据查重校验:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间
//原数据查重校验:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间 + 购买标准 + 有效
TInsuranceDetail detail = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getEmpName, param.getEmpName())
.eq(TInsuranceDetail::getEmpIdcardNo, param.getEmpIdcardNo())
......@@ -2713,7 +2753,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, param.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, LocalDateUtil.parseLocalDate(param.getPolicyStart()))
.eq(TInsuranceDetail::getPolicyEnd, LocalDateUtil.parseLocalDate(param.getPolicyEnd()))
.eq(TInsuranceDetail::getBuyStandard, param.getBuyStandard())
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
//有效
.and(
wrapper -> wrapper.eq(TInsuranceDetail::getIsEffect,CommonConstants.ZERO_INT)
.or().isNull(TInsuranceDetail::getIsEffect)
)
.orderByDesc(TInsuranceDetail::getUpdateTime)
.last(CommonConstants.LAST_ONE_SQL)
);
......@@ -2788,7 +2834,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue;
}
}
//替换者数据查重校验:替换姓名 + 替换身份证号 + 替换项目编码? + 保险公司 + 险种名称
//替换者数据查重校验:替换姓名 + 替换身份证号 + 替换项目编码? + 保险公司 + 险种名称 + 购买标准
//待投保、投保中、已投保(有效、未过期)
Set<Integer> setRStatus = Sets.newHashSet();
setRStatus.add(CommonConstants.FOUR_INT);
......@@ -2800,6 +2846,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.eq(TInsuranceDetail::getInsuranceTypeName, param.getInsuranceTypeName())
.eq(TInsuranceDetail::getPolicyStart, param.getPolicyStart())
.eq(TInsuranceDetail::getPolicyEnd, param.getPolicyEnd())
.eq(TInsuranceDetail::getBuyStandard, param.getBuyStandard())
.notIn(TInsuranceDetail::getBuyHandleStatus, setRStatus)
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
//有效
......@@ -2882,21 +2929,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue;
}
if (StringUtils.isBlank(param.getBuyStandard())){
param.setErrorMessage(InsurancesConstants.BUY_STANDARD_NOT_EXIST);
listResult.add(param);
continue;
}else {
if (!ValidityUtil.validateMoney(param.getBuyStandard())){
param.setErrorMessage(InsurancesConstants.BUY_STANDARD_PARSE_ERROR);
listResult.add(param);
continue;
}
if (!ValidityUtil.validateMoneyMax(param.getBuyStandard())){
param.setErrorMessage(InsurancesConstants.INSURANCE_TYPE_STANDARD_MAX_ERROR);
param.setErrorMessage(InsurancesConstants.BUY_STANDARD_NOT_EMPTY);
listResult.add(param);
continue;
}
}
if (StringUtils.isNotBlank(param.getPolicyNo())){
if (!ValidityUtil.validate50(param.getPolicyNo())){
param.setErrorMessage(InsurancesConstants.POLICY_NO_MORE_THAN_50);
......@@ -3522,12 +3558,24 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
//购买天数
record.setBuyDay(LocalDateUtil.betweenDay(record.getPolicyStart().toString(),record.getPolicyEnd().toString()));
//如果是批增需要重新处理购买周期,按生效日期和保单结束时间计算
if (CommonConstants.THREE_INT == record.getBuyType()){
if (Objects.isNull(record.getPolicyEffect())){
record.setBuyMonth(null);
record.setBuyDay(null);
}else {
record.setBuyMonth(LocalDateUtil.betweenMonth(record.getPolicyEffect().toString(),record.getPolicyEnd().toString()));
record.setBuyDay(LocalDateUtil.betweenDay(record.getPolicyEffect().toString(),record.getPolicyEnd().toString()));
}
}
if (data != null) {
ProjectSetInfoVo jsonObject = data.get(record.getDeptNo());
if (null != jsonObject) {
record.setInvoiceTitle(Optional.ofNullable(jsonObject.getInvoiceTitleInsurance()).orElse(""));
}
}
//如果是待减员,需要处理相关逻辑,减员中、减员成功只是单纯的导出
if(param.getReduceHandleStatus() == CommonConstants.ONE_INT){
TInsuranceDetail detail = getById(record.getId());
TInsuranceRefund refund = new TInsuranceRefund();
detail.setId(record.getId());
......@@ -3544,6 +3592,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
refundList.add(refund);
}
}
}
//批量更新
if (CollectionUtils.isNotEmpty(detailList)){
for (TInsuranceDetail s : detailList) {
......
......@@ -46,10 +46,10 @@ public class TInsuranceTypeServiceImpl extends ServiceImpl<TInsuranceTypeMapper,
* @author zhaji
* @param page 分页参数
* @param insuranceType 分页查询参数
* @return {@link IPage< TInsuranceType>}
* @return {@link IPage<InsuranceTypeVo>}
*/
@Override
public IPage<InsuranceTypeVo> pageDiy(Page<TInsuranceType> page, TInsuranceType insuranceType) {
public IPage<InsuranceTypeVo> pageDiy(Page<InsuranceTypeVo> page, InsuranceTypeVo insuranceType) {
return this.baseMapper.selectInsuranceTypePage(page,insuranceType);
}
......
......@@ -28,4 +28,17 @@
DELETE_FLAG,
INSURANCE_HANDLE_PROVINCE,INSURANCE_HANDLE_PROVINCE_NAME,INSURANCE_HANDLE_CITY,INSURANCE_HANDLE_CITY_NAME
</sql>
<select id="getInsuranceCompanyListPage" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"></include>
FROM t_insurance_company
where DELETE_FLAG = 0
<if test="param.companyName != null and param.companyName.trim() != ''">
and COMPANY_NAME = #{param.companyName}
</if>
<if test="param.insuranceHandleCity != null">
and INSURANCE_HANDLE_CITY = #{param.insuranceHandleCity}
</if>
ORDER BY CREATE_TIME DESC
</select>
</mapper>
......@@ -226,6 +226,7 @@
a.INSURANCE_COMPANY_NAME as insuranceCompanyName,
a.INSURANCE_TYPE_NAME as insuranceTypeName,
a.BUY_STANDARD as buyStandard,
a.CREATE_TIME as createTime,
a.CREATE_NAME as createName,
a.BUY_HANDLE_STATUS as buyHandleStatus,
a.SETTLE_TYPE as settleType,
......@@ -339,6 +340,7 @@
a.INSURANCE_HANDLE_CITY_NAME as insuranceHandleCityName,
a.POLICY_START as policyStart,
a.POLICY_END as policyEnd,
a.POLICY_EFFECT as policyEffect,
a.INSURANCE_COMPANY_NAME as insuranceCompanyName,
a.INSURANCE_TYPE_NAME as insuranceTypeName,
a.BUY_STANDARD as buyStandard,
......@@ -371,6 +373,7 @@
a.INSURANCE_HANDLE_CITY_NAME as insuranceHandleCityName,
a.POLICY_START as policyStart,
a.POLICY_END as policyEnd,
a.POLICY_EFFECT as policyEffect,
a.INSURANCE_COMPANY_NAME as insuranceCompanyName,
a.INSURANCE_TYPE_NAME as insuranceTypeName,
a.BUY_STANDARD as buyStandard,
......@@ -382,7 +385,7 @@
a.POLICY_NO as policyNo,
a.REMARK as remark
from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = 1
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''">
and a.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%')
</if>
......@@ -687,6 +690,8 @@
a.INSURANCE_HANDLE_CITY_NAME as insuranceHandleCityName,
a.POLICY_START as policyStart,
a.POLICY_END as policyEnd,
a.POLICY_NO as policyNo,
a.ACTUAL_PREMIUM as actualPremium,
a.INSURANCE_COMPANY_NAME as insuranceCompanyName,
a.INSURANCE_TYPE_NAME as insuranceTypeName,
a.BUY_STANDARD as buyStandard,
......@@ -767,6 +772,7 @@
a.BUY_STANDARD as buyStandard,
a.MEDICAL_QUOTA as medicalQuota,
a.DIE_DISABLE_QUOTA as dieDisableQuota,
a.CREATE_TIME as createTime,
refund.CREATE_NAME as createName,
a.REDUCE_HANDLE_STATUS as reduceHandleStatus
from
......@@ -921,7 +927,7 @@
t_insurance_refund refund
where
a.REFUND_ID = refund.ID and
a.DELETE_FLAG = 0 and a.REDUCE_HANDLE_STATUS = 1
a.DELETE_FLAG = 0 and a.REDUCE_HANDLE_STATUS = #{param.reduceHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''">
and a.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%')
</if>
......
......@@ -71,6 +71,12 @@
a.INSURANCE_COMPANY_ID = b.ID
and
a.DELETE_FLAG = 0
<if test="insuranceType.insuranceCompanyName != null and insuranceType.insuranceCompanyName.trim() != ''">
and b.COMPANY_NAME = #{insuranceType.insuranceCompanyName}
</if>
<if test="insuranceType.name != null and insuranceType.name.trim() != ''">
and a.NAME like concat('%',replace(replace(#{insuranceType.name},'_','\_'),'%','\%'),'%')
</if>
ORDER BY a.CREATE_TIME DESC
</select>
<select id="getInsuranceTypeDetailById" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceTypeVo">
......
......@@ -26,7 +26,7 @@ public class TSalaryStandardExportVo implements Serializable {
/**
* 状态0待提交 1待审核 2审核通过 3发送成功 5审核不通过 10 发送失败
*/
@ExcelAttribute(name = "状态", isDataId = true, readConverterExp = "0=待提交,1=待审核,2=审核通过,3=发送成功,5=审核不通过,10=发送失败")
@ExcelAttribute(name = "状态", isDataId = true, readConverterExp = "0=待提交,1=待审核,2=审核通过,3=发送成功,5=审核不通过,6=确认不通过,10=发送失败")
@NotBlank(message = "状态(0待提交 1待审核 2审核通过 3发送成功 5审核不通过 10 发送失败)不能为空")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("薪酬状态")
......
......@@ -120,4 +120,13 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
int noPageCountDiy(@Param("searchVo") TSalaryAccountSearchVo searchVo,
@Param("idList") List<String> idList);
/**
* @param salaryId 工资表id
* @Description: 退表回退状态
* @Author: hgw
* @Date: 2022/11/8 15:41
* @return: void
**/
void backSalaryBySalaryId(@Param("salaryId") String salaryId);
}
......@@ -114,4 +114,13 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam>
**/
List<EkpSalaryParamVo> getEkpSalaryParamList(String salaryId);
/**
* @param salaryId 工资表id
* @Description: 退表回退状态
* @Author: hgw
* @Date: 2022/11/8 15:41
* @return: void
**/
void backSalaryBySalaryId(String salaryId);
}
......@@ -229,4 +229,9 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
return baseMapper.getEkpSalaryParamList(salaryId);
}
@Override
public void backSalaryBySalaryId(String salaryId) {
baseMapper.backSalaryBySalaryId(salaryId);
}
}
......@@ -594,9 +594,9 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
standardParam.setFd_3b3d3ec85bfeb0(s.getSalaryMonth().substring(0,4)
+ CommonConstants.CENTER_SPLIT_LINE_STRING + s.getSalaryMonth().substring(4,6));
// 推送主表信息
sendBack = ekpSalaryUtil.sendStandardToEKP(standardParam);
sendBack = ekpSalaryUtil.sendStandardToEKP(s.getCreateName(), standardParam);
if (Common.isEmpty(sendBack) || sendBack.length() != 32) {
sendBack = ekpSalaryUtil.sendStandardToEKP(standardParam);
sendBack = ekpSalaryUtil.sendStandardToEKP(s.getCreateName(), standardParam);
}
s.setSendTime(new Date());
s.setSendMonth(nowMonth);
......@@ -901,16 +901,20 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
param.setFd_3b3c293745e7b4(ss.getDeptName());
param.setFd_3b3c2935c13056(ss.getDeptNo());
param.setFd_3b3c293811c0ee(ss.getApplyNo());
String sendBack = ekpSalaryUtil.backStandardToEKP(param);
String sendBack = ekpSalaryUtil.backStandardToEKP(ss.getCreateName(), param);
if (Common.isEmpty(sendBack) || sendBack.length() != 32) {
sendBack = ekpSalaryUtil.backStandardToEKP(param);
sendBack = ekpSalaryUtil.backStandardToEKP(ss.getCreateName(), param);
}
if (Common.isNotNull(sendBack) && sendBack.length() == 32) {
// 更新薪资为确认不通过
ss.setStatus(SalaryConstants.STATUS[6]);
ss.setSendMonth(null);
ss.setSendTime(null);
ss.setBackTime(new Date());
ss.setBackEkpId(sendBack);
this.updateById(ss);
// 更新报账表
salaryAccountService.backSalaryBySalaryId(ss.getId());
TIncome income = new TIncome();
income.setApplyNo(applyNo);
// 删除收入对应编号的明细
......
......@@ -167,6 +167,7 @@
<result property="socialSum" column="social_sum"/>
<result property="fundSum" column="fund_sum"/>
<result property="fd_3b178f0ded2114" column="fd_3b178f0ded2114"/>
<result property="fd_3b3bef19b61c38" column="fd_3b3bef19b61c38"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -548,14 +549,14 @@
,if(a.OWN_FLAG='1','是','否') fd_3adfee0009d070
,if(a.ANNUAL_BONUS_TYPE='1','单独','合并') fd_3adfee01dea2fa
,ifnull(a.RELAY_SALARY,'0') fd_3adfee12cb8840
,ifnull(pdeduction.SALARY_MONEY,'0') fd_3adfee1374ed7a
,sum(ifnull(pdeduction.SALARY_MONEY,'0')) fd_3adfee1374ed7a
,ifnull(ifnull(withholidingUnitSocial.SALARY_MONEY,unitSocial.SALARY_MONEY),'') fd_3adfee1e2b2f78
,ifnull(ifnull(withholidingPersonSocial.SALARY_MONEY,personalSocial.SALARY_MONEY),'') fd_3adfee1e88723e
,ifnull(ifnull(withholidingUnitFund.SALARY_MONEY,unitFund.SALARY_MONEY),'') fd_3adfee1ee24680
,ifnull(ifnull(withholidingPersonFund.SALARY_MONEY,personalFund.SALARY_MONEY),'') fd_3adfee1f32fa24
,ifnull(a.SALARY_TAX,'0') + ifnull(a.SALARY_TAX_UNIT,'0') + ifnull(a.ANNUAL_BONUS_TAX,'0') fd_3adfee1f901c46
,'' fd_3adfee1ff1ca6a
,'' fd_3adfee203f86b2
,ifnull(enterpriseAnnuityUnit.SALARY_MONEY,'0') fd_3adfee1ff1ca6a
,ifnull(enterpriseAnnuity.SALARY_MONEY,'0') fd_3adfee203f86b2
,ifnull(a.ACTUAL_SALARY,'0') fd_3adfee20fe5ba4
,ifnull(a.RELAY_SALARY,'0') - ifnull(ifnull(withholidingPersonSocial.SALARY_MONEY,personalSocial.SALARY_MONEY),'0') - ifnull(ifnull(withholidingPersonFund.SALARY_MONEY,personalFund.SALARY_MONEY),'') fd_3adfee21802434
,'' fd_3adfee4ba5ad36
......@@ -611,7 +612,10 @@
left join t_salary_account_item withholidingUnitSocial on withholidingUnitSocial.SALARY_ACCOUNT_ID = a.id and withholidingUnitSocial.JAVA_FIED_NAME='withholidingUnitSocial'
left join t_salary_account_item withholidingUnitFund on withholidingUnitFund.SALARY_ACCOUNT_ID = a.id and withholidingUnitFund.JAVA_FIED_NAME='withholidingUnitFund'
left join t_salary_account_item pdeduction on pdeduction.SALARY_ACCOUNT_ID = a.id and pdeduction.JAVA_FIED_NAME='pdeduction'
left join t_salary_account_item enterpriseAnnuity on enterpriseAnnuity.SALARY_ACCOUNT_ID = a.id and enterpriseAnnuity.JAVA_FIED_NAME='enterpriseAnnuity'
left join t_salary_account_item enterpriseAnnuityUnit on enterpriseAnnuityUnit.SALARY_ACCOUNT_ID = a.id and enterpriseAnnuityUnit.JAVA_FIED_NAME='enterpriseAnnuityUnit'
where a.DELETE_FLAG = 0 and a.SALARY_FORM_ID = #{salaryId} and a.SEND_STATUS = '0'
GROUP BY a.id
</select>
......@@ -834,4 +838,9 @@
</if>
</if>
</sql>
<!-- 退表回退状态 -->
<update id="backSalaryBySalaryId" >
update t_salary_account a set a.SEND_STATUS = '0' where a.SALARY_FORM_ID = #{salaryId}
</update>
</mapper>
......@@ -322,25 +322,8 @@
<include refid="Base_Column_List"/>
FROM t_salary_standard a
<where>
1=1
AND a.DELETE_FLAG = 0
<if test="tSalaryStandard != null">
<if test="tSalaryStandard.deptName != null and tSalaryStandard.deptName.trim() != ''">
AND a.DEPT_NAME = #{tSalaryStandard.deptName}
</if>
<if test="tSalaryStandard.deptNo != null and tSalaryStandard.deptNo.trim() != ''">
AND a.DEPT_NO = #{tSalaryStandard.deptNo}
</if>
<if test="tSalaryStandard.salaryMonth != null and tSalaryStandard.salaryMonth.trim() != ''">
AND a.SALARY_MONTH = #{tSalaryStandard.salaryMonth}
</if>
<if test="tSalaryStandard.status == null">
AND (a.STATUS = 1 OR a.STATUS = 2 or a.STATUS = 5)
</if>
<if test="tSalaryStandard.status != null">
AND a.STATUS = #{tSalaryStandard.status}
</if>
</if>
a.STATUS in (1,2,5) AND a.DELETE_FLAG = 0
<include refid="tSalaryStandard_where"/>
ORDER BY CREATE_TIME DESC
</where>
</select>
......
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