Commit d870b874 authored by fangxinjiang's avatar fangxinjiang

见费出单逻辑-fxj

parent cc1f3430
......@@ -121,6 +121,12 @@ public class InsurancesConstants {
* 投保记录不存在
*/
public static final String DATA_IS_NOT_EXIST = "投保记录不存在";
/**
* 投保记录为提前缴费不可删除
*/
public static final String NOT_JFCD_ERROR = "投保记录为提前缴费不可删除";
/**
* 未找到符合条件的参保记录
*/
......@@ -1176,6 +1182,11 @@ public class InsurancesConstants {
*/
public static final String ACTUAL_SETTLE_BILL = "实缴";
/**
* 差额
*/
public static final String BALANCE_SETTLE_BILL = "差额";
/**
* 新增结算单
*/
......
......@@ -181,4 +181,8 @@ public class EkpInsurancesInfo {
@Schema(description = "创建时间")
private Date createTime;
@Schema(description = "是否见费出单")
private String fd_jfcd;
}
......@@ -54,7 +54,7 @@ public class TEmployeeInsurancePre extends BaseEntity {
@Schema(description = "登记人")
private String registUser;
@Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成")
@Schema(description = "状态,0待确认,1待派单,2派单失败,3待投保,4投保中,5投保退回,6已完成,7待缴费")
private String processStatus;
@Schema(description = "前端客服")
......
......@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
......@@ -207,9 +208,9 @@ public class TInsuranceDetail extends BaseEntity {
private String insuranceHandleCityName;
/**
* 结算类型 (0、与薪资合并结算 1、单独结算)
* 结算类型 (0、与薪资合并结算 1、单独结算 2、差额结算--只做结算用)
*/
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算)")
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算 2、差额结算)")
private Integer settleType;
/**
......@@ -231,9 +232,9 @@ public class TInsuranceDetail extends BaseEntity {
private Integer signFlag;
/**
* 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员
* 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 6待缴费
*/
@Schema(description = "投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员")
@Schema(description = "投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 6待缴费")
private Integer buyHandleStatus;
/**
......@@ -406,5 +407,38 @@ public class TInsuranceDetail extends BaseEntity {
@Schema(description = "是否地市自购")
private String isAdress;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -39,9 +39,9 @@ public class TInsuranceSettle implements Serializable {
private String settleHandleStatus;
/**
* 结算类型 (0、与薪资合并结算 1、单独结算)
* 结算类型 (0、与薪资合并结算 1、单独结算 2、差额)
*/
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算)")
@Schema(description = "结算类型 (0、与薪资合并结算 1、单独结算 2、差额)")
private Integer settleType;
/**
......
......@@ -8,6 +8,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.chrono.ChronoLocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
......@@ -311,7 +312,50 @@ public class LocalDateUtil {
}*/
return dif;
}
/**
* @Author fxj
* @Description
* 计算相差月份, 如果开始时间晚于结束时间会对调--纯享版,不+1
* 公式:(endYear - starYear) * 12 + endMonth - startMonth
* @Date 17:05 2026/1/20
* @Param
* @return
**/
public static long betweenMonthTwo(String startDate,String endDate){
long dif = 0;
//在日期字符串非空时执行
if (!Common.isEmpty(startDate) && !Common.isEmpty(endDate)) {
Date parseStartDate = null;
Date parseEndDate = null;
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat(NORM_DATE_PATTERN, Locale.CHINA);
try {
//将字符串转为日期格式,如果此处字符串为非合法日期就会抛出异常。
parseStartDate = sdf.parse(startDate);
parseEndDate = sdf.parse(endDate);
//如果开始时间晚于结束时间对调
if (parseStartDate.after(parseEndDate)) {
Date t = parseStartDate;
parseStartDate = parseEndDate;
parseEndDate = t;
}
Calendar starCalendar = Calendar.getInstance();
starCalendar.setTime(parseStartDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(parseEndDate);
int starYear = starCalendar.get(Calendar.YEAR);
int startMonth = starCalendar.get(Calendar.MONTH);
int endYear = endCalendar.get(Calendar.YEAR);
int endMonth = endCalendar.get(Calendar.MONTH);
dif = (endYear - starYear) * 12 + endMonth - startMonth;
} catch (ParseException e) {
e.printStackTrace();
}
}
return dif;
}
/**
* 判断两个时间段是否有交集
*
......
......@@ -43,7 +43,7 @@ public class EkpInteractiveParam implements Serializable {
/**
* 单据类型 (0、与薪资合并结算 1、单独结算)
*/
@Schema(description = "单据类型 (1、预估单 2、实缴单)")
@Schema(description = "单据类型 (1、预估单 2、实缴单 3、差额)")
private String settleType;
/**
......@@ -190,4 +190,10 @@ public class EkpInteractiveParam implements Serializable {
@Schema(description = "是否BPO", name = "bpoFlag")
@ExcelIgnore
private String bpoFlag;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
}
......@@ -14,12 +14,28 @@ import java.io.Serializable;
public class EkpSettleStatusVo implements Serializable {
/**
* 结算状态
* 结算状态: 已结算 结算中 未结算 无需结算
**/
private String settleStatus;
/**
* 支出状态
* 支出状态: 已结算 结算中 未结算 无需结算
**/
private String payStatus;
/**
* 收款状态: 已收 垫付 未收
**/
private String paymentStatus;
/**
* 商险ID
**/
private String detailId;
/**
* 应收
**/
private Double paymentBalance;
}
......@@ -27,4 +27,10 @@ public class EkpStatusParamVo implements Serializable {
* 结算单类型 0 社保/管理费 1公积金/风险金
*/
private String typeFlag;
/**
* 收款结算单退单或款项撤销表示 0 表示要退单&撤销款项
*/
private String callBackFlag;
}
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -8,6 +9,8 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
......@@ -232,4 +235,43 @@ public class InsuranceAddParam implements Serializable {
private String isExit;
private List<TInsurancePreDetail> inProgressList;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
}
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -9,6 +10,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
......@@ -237,4 +239,42 @@ public class InsuranceBatchParam implements Serializable {
private String isExit;
private List<TInsurancePreDetail> inProgressList;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
}
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
......@@ -123,5 +125,43 @@ public class InsuranceListParam extends BaseEntity {
*/
@Schema(description = "是否地市自购")
private String isAdress;
//2026-01-20 v1.7.19 fxj 新增
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间--开始
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间--开始")
private String paymentTimeStart;
/**
* 缴费时间--结束
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间--结束")
private String paymentTimeEnd;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 预估保费--开始
*/
@Schema(description = "预估保费--开始")
private BigDecimal estimatePremiumStart;
/**
* 预估保费--截止
*/
@Schema(description = "预估保费--截止")
private BigDecimal estimatePremiumEnd;
}
......@@ -8,8 +8,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author licancan
......@@ -175,4 +177,48 @@ public class InsuranceListVO implements Serializable {
*/
@Schema(description = "是否地市自购")
private String isAdress;
/**
* 预估缴费状态 0待缴费、1已缴费
*/
@Schema(description = "预估缴费状态 0待缴费、1已缴费")
private String paymentStatus;
/**
* 缴费时间: EKP已收/已垫付 更新时间, 退单或撤销匹配 清空时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "缴费时间")
private String paymentTime;
/**
* 是否见费出单 0是 1 否 (新增或批增且启用‘是否启用BPO结算模式’且险种配置‘是否见费出单’为是时 此字段为是,否则为否)
*/
@Schema(description = "是否见费出单")
private String isJfcd;
/**
* 购买周期 (格式:4个月/117天)
*/
@Schema(description = "购买周期")
private String purchaseCycle;
/**
* 预计办理日期
*/
@Schema(description = "预计办理日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate preHandleTime;
/**
* 预估保费
*/
@Schema(description = "预估保费")
private BigDecimal estimatePremium;
/**
* 计费方式
*/
@Schema(description = "计费方式(0:按天,1:按月)")
private Integer billingType;
}
......@@ -15,6 +15,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
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.TInsurancePreDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService;
......@@ -788,8 +789,13 @@ public class TInsuranceDetailController {
@SysLog("更新商险收款状态--EKP调用接口")
@PostMapping("/updateInsuranceSettleStatus")
public R updateInsuranceSettleStatus(@RequestBody EkpStatusParamVo vo) {
if (null != vo && "0".equals(vo.getCallBackFlag())){
//收款结算单退单或款项撤销处理逻辑
return tInsuranceDetailService.callBackInsuranceBuyHandleStatus(vo);
}else {
return tInsuranceDetailService.updateInsuranceSettleStatus(vo);
}
}
/**
* 更新社保收款状态--EKP调用接口
......@@ -955,4 +961,72 @@ public class TInsuranceDetailController {
return tInsuranceDetailService.getInsurancesStatusByClose(paramVo);
}
/**
* @Author fxj
* @Description 查询提前缴费的预估结算状态
* @Date 10:27 2026/1/21
* @Param
* @return
**/
@Operation(summary = "查询提前缴费的预估结算状态", description = "查询提前缴费的预估结算状态")
@GetMapping("/getSettleStatusFromEkp")
public R getSettleStatusFromEkp(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
return tInsuranceDetailService.getSettleStatusFromEkpInsuranceDetailAsso(detail.getId(),detail.getDefaultSettleId());
}
/**
* @Author fxj
* @Description 查询实缴的结算&支出状态
* @Date 10:27 2026/1/21
* @Param
* @return
**/
@Operation(summary = "查询实缴的结算&支出状态", description = "查询实缴的结算&支出状态")
@GetMapping("/getPaymentSettleStatusFromEkp")
public R getPaymentSettleStatusFromEkp(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
EkpSettleStatusVo vo = tInsuranceDetailService.getSettleStatusFromEkpInsuranceDetail(detail.getId(),detail.getDefaultSettleId());
if (null != vo){
return R.ok(vo);
}
return R.failed();
}
/**
* @Author fxj
* @Description 撤回 --待缴费状态的投保记录 可撤回
* @Date 10:33 2026/1/21
* @Param
* @return
**/
@Operation(summary = "撤回", description = "撤回")
@PostMapping("/callBack")
public R callBack(@RequestParam String id) {
TInsuranceDetail detail = tInsuranceDetailService.getById(id);
if (detail == null) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
}
if (!CommonConstants.SIX_STRING.equals(detail.getBuyHandleStatus())){
return R.failed("请选择待缴费状态的投保记录!");
}
return tInsuranceDetailService.callBack(detail);
}
/**
* @Author fxj
* @Description 手动拉取缴费状态
* @Date 10:52 2026/1/21
* @Param
* @return
**/
@Operation(summary = "手动拉取缴费状态", description = "手动拉取缴费状态")
@PostMapping("/pullPaymentStatus")
public R pullPaymentStatus(@RequestParam String idStr) {
return tInsuranceDetailService.pullPaymentStatus(idStr);
}
}
package com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -49,6 +50,24 @@ public interface EkpSettleMapper {
*/
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String id);
/**
* @Author fxj
* @Description 从商险订单明细中获取当前保单的结算状态--提前缴费专用
* @Date 10:17 2026/1/21
* @Param
* @return
**/
EkpSettleStatusVo getSettleStatusFromEkpAsso(@Param("id")String id);
/**
* @Author fxj
* @Description 从商险订单明细中获取当前保单的结算状态--提前缴费专用
* @Date 10:17 2026/1/21
* @Param
* @return
**/
List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(@Param("ids")List<String> ids);
List<EkpInsuranceViewVo> selectSettleStatusBySettleNo(@Param("settleNo") String settleNo, @Param("payFlag") String payFlag);
List<EkpSocialViewVo> selectSocialViewStatusBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);
......@@ -63,4 +82,9 @@ public interface EkpSettleMapper {
EkpInsuranceDeptInfoVo getInsuranceEkpDeptInfo(@Param("deptNo") String deptNo);
void deleteEkpInsuranceDetail(@Param("id")String id);
List<EkpSettleStatusVo> getBalanceByInsuranceId(@Param("id")String id);
void deleteEkpInsuranceDetailAsso(@Param("id")String id);
}
......@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
......@@ -70,4 +71,13 @@ public interface EkpSettleService extends IService<TInsuranceTypeRate> {
*/
List<EkpSocialViewVo> selectSalarylViewBySettleNo(String settleNo,String payFlag);
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetailAsso(String id);
List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(List<String> ids);
void deleteEkpInsuranceDetail(String id);
List<EkpSettleStatusVo> getBalanceByInsuranceId(String id);
void deleteEkpInsuranceDetailAsso(String id);
}
......@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.EkpInsurancesInfo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceTypeRate;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp.EkpSettleMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.ekp.EkpSettleService;
......@@ -123,4 +124,35 @@ public class EkpSettleServiceImpl implements EkpSettleService {
public Class<TInsuranceTypeRate> getEntityClass() {
return null;
}
@Override
public EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetailAsso(String id) {
return ekpSettleMapper.getSettleStatusFromEkpAsso(id);
}
@Override
public List<EkpSettleStatusVo> getSettleStatusFromEkpAssoByIds(List<String> ids) {
return ekpSettleMapper.getSettleStatusFromEkpAssoByIds(ids);
}
@Override
public void deleteEkpInsuranceDetail(String id) {
ekpSettleMapper.deleteEkpInsuranceDetail(id);
}
@Override
public List<EkpSettleStatusVo> getBalanceByInsuranceId(String id) {
return ekpSettleMapper.getBalanceByInsuranceId(id);
}
/**
* @Author fxj
* @Description 见费出单直接删除实缴及实缴与预估的差额
* @Date 17:28 2026/1/21
* @Param
* @return
**/
@Override
public void deleteEkpInsuranceDetailAsso(String id) {
ekpSettleMapper.deleteEkpInsuranceDetailAsso(id);
}
}
......@@ -489,6 +489,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
DeptSettleVo deptYgGetSettleStatusFromEkpInsuranceDetail(String detailId, String defaultSettleId);
EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String detailId, String settleId);
/**
* @param changeDeptVo
* @Description: ekp费用划转,商险划转项目
......@@ -600,4 +602,11 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
BaseSearchVO getInsurancesStatusByClose(BaseSearchVO paramVo);
R getSettleStatusFromEkpInsuranceDetailAsso(String id,String settleId);
R callBack(TInsuranceDetail detail);
R pullPaymentStatus(String idStr);
R callBackInsuranceBuyHandleStatus(EkpStatusParamVo vo);
}
......@@ -63,13 +63,53 @@
<select id="getSettleStatusFromEkpInsuranceDetail" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus
from
ekp_insurances_info
where
fd_3b0a5743acab7e = #{id} and fd_3adfe6af71a1cc = '实缴' limit 1
</select>
<select id="getSettleStatusFromEkpAsso" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId
from
ekp_insurances_info
where
fd_3b0a5743acab7e = #{id} and fd_3adfe6af71a1cc = '预估' and fd_jfcd='是' limit 1
</select>
<select id="getSettleStatusFromEkpAssoByIds" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId
from
ekp_insurances_info
where
fd_3adfe6af71a1cc = '预估' and fd_jfcd='是'
<if test="ids != null and ids.size() > 0">
and fd_3b0a5743acab7e in
<foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
<select id="getBalanceByInsuranceId" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSettleStatusVo">
select
fd_3adfe6ec6a8cbe settleStatus,fd_3adfe6eda67236 payStatus,fd_3adfe6ef5dfaac paymentStatus,fd_3b0a5743acab7e detailId,fd_3adfe6e30f2a3c paymentBalance
from
ekp_insurances_info
where
fd_3adfe6af71a1cc = '差额' and fd_jfcd='是' and
fd_3b0a5743acab7e like concact(#{id},'%')
</select>
<delete id="deleteEkpInsuranceDetail">
delete from ekp_insurances_info where fd_3b0a5743acab7e=#{id} and fd_jfcd='是' and fd_3adfe6af71a1cc = '预估'
</delete>
<delete id="deleteEkpInsuranceDetailAsso">
delete from ekp_insurances_info where fd_3b0a5743acab7e like concat(#{id},'%') and fd_jfcd='是' and (fd_3adfe6af71a1cc = '差额' or fd_3adfe6af71a1cc = '实缴')
</delete>
<select id="getDeptSettle" resultMap="BaseDeptResultMap">
select
<include refid="Base_Column_Dept"></include>
......
......@@ -119,7 +119,13 @@
a.UNIT_NAME as unitName,
a.UNIT_NO as unitNo,
a.IS_EFFECT as isEffect,
a.IS_ADRESS as isAdress
a.IS_ADRESS as isAdress,
a.PAYMENT_STATUS as paymentStatus,
a.PAYMENT_TIME as paymentTime,
a.IS_JFCD as isJfcd,
a.PURCHASE_CYCLE as purchaseCycle,
a.BILLING_TYPE as billingType,
a.PRE_HANDLE_TIME as preHandleTime
from t_insurance_detail a
where a.DELETE_FLAG = 0
<if test="param.isEffect != null">
......@@ -173,6 +179,24 @@
<if test="param.isAdress != null and param.isAdress.trim() != ''">
and a.IS_ADRESS = #{param.isAdress}
</if>
<if test="param.paymentStatus != null and param.paymentStatus.trim() != ''">
and a.PAYMENT_STATUS = #{param.paymentStatus}
</if>
<if test="param.paymentTimeStart != null and param.paymentTimeStart.trim() != '' ">
and a.PAYMENT_TIME <![CDATA[ >= ]]> #{param.paymentTimeStart}
</if>
<if test="param.paymentTimeEnd != null and param.paymentTimeEnd.trim() != ''">
and a.PAYMENT_TIME <![CDATA[ <= ]]> #{param.paymentTimeEnd}
</if>
<if test="param.isJfcd != null and param.isJfcd.trim() != ''">
and a.IS_JFCD = #{param.isJfcd}
</if>
<if test="param.estimatePremiumStart != null and param.estimatePremiumStart.trim() != '' ">
and a.ESTIMATE_PREMIUM <![CDATA[ >= ]]> #{param.estimatePremiumStart}
</if>
<if test="param.estimatePremiumEnd != null and param.estimatePremiumEnd.trim() != ''">
and a.ESTIMATE_PREMIUM <![CDATA[ <= ]]> #{param.estimatePremiumEnd}
</if>
<if test="param.authSql != null and param.authSql.trim() != ''">
${param.authSql}
</if>
......@@ -201,7 +225,13 @@
if(a.BUY_HANDLE_STATUS=4,a.BACK_REMARK,'') as backRemark,
a.CREATE_TIME as createTime,
a.IS_EFFECT as isEffect,
a.IS_ADRESS as isAdress
a.IS_ADRESS as isAdress,
a.PAYMENT_STATUS as paymentStatus,
a.PAYMENT_TIME as paymentTime,
a.IS_JFCD as isJfcd,
a.PURCHASE_CYCLE as purchaseCycle,
a.PRE_HANDLE_TIME as preHandleTime,
a.ESTIMATE_PREMIUM as estimatePremium
from t_insurance_detail a
where a.DELETE_FLAG = 0
<if test="param.isEffect != null">
......@@ -246,6 +276,24 @@
<if test="param.isAdress != null and param.isAdress.trim() != ''">
and a.IS_ADRESS = #{param.isAdress}
</if>
<if test="param.paymentStatus != null and param.paymentStatus.trim() != ''">
and a.PAYMENT_STATUS = #{param.paymentStatus}
</if>
<if test="param.paymentTimeStart != null and param.paymentTimeStart.trim() != '' ">
and a.PAYMENT_TIME <![CDATA[ >= ]]> #{param.paymentTimeStart}
</if>
<if test="param.paymentTimeEnd != null and param.paymentTimeEnd.trim() != ''">
and a.PAYMENT_TIME <![CDATA[ <= ]]> #{param.paymentTimeEnd}
</if>
<if test="param.isJfcd != null and param.isJfcd.trim() != ''">
and a.IS_JFCD = #{param.isJfcd}
</if>
<if test="param.estimatePremiumStart != null and param.estimatePremiumStart.trim() != '' ">
and a.ESTIMATE_PREMIUM <![CDATA[ >= ]]> #{param.estimatePremiumStart}
</if>
<if test="param.estimatePremiumEnd != null and param.estimatePremiumEnd.trim() != ''">
and a.ESTIMATE_PREMIUM <![CDATA[ <= ]]> #{param.estimatePremiumEnd}
</if>
<if test="param.authSql != null and param.authSql.trim() != ''">
${param.authSql}
</if>
......@@ -1539,7 +1587,7 @@
EMP_IDCARD_NO
FROM t_insurance_detail d
where DELETE_FLAG = 0
and (d.BUY_HANDLE_STATUS in (1,2) or (d.BUY_HANDLE_STATUS = 3 and d.IS_EFFECT = 0
and (d.BUY_HANDLE_STATUS in (1,2,6) or (d.BUY_HANDLE_STATUS = 3 and d.IS_EFFECT = 0
and d.POLICY_EFFECT <![CDATA[ <= ]]> DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 DAY),'%Y-%m-%d') and d.POLICY_END >= DATE_FORMAT(NOW(),'%Y-%m-%d')
))
......
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