Commit b4ef3b81 by jianan

前端对接问题修复12

parent 9fd07281
...@@ -212,4 +212,24 @@ public class ApiCommissionExpectedController { ...@@ -212,4 +212,24 @@ public class ApiCommissionExpectedController {
} }
} }
/**
* 获取保单应收款
*/
@PostMapping("/getExpectedCommissionByProductlaunchId")
@Operation(summary = "获取保单应收款")
public Result<Boolean> getExpectedCommissionByProductlaunchId(@RequestBody GetExpectedCommissionByProductlaunchIdRequest request) {
if (request == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
commissionExpectedService.getExpectedCommissionByProductlaunchId(
request.getPolicyNo(),
request.getProductLaunchBizId(),
request.getInsuranceCompanyBizId(),
request.getReconciliationCompany(),
request.getReconciliationCompanyCode(),
request.getReconciliationCompanyBizId());
return Result.success(true);
}
} }
...@@ -626,7 +626,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -626,7 +626,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
expectedFortune.setUpdaterId(loginUserId); expectedFortune.setUpdaterId(loginUserId);
expectedFortune.setUpdateTime(LocalDateTime.now()); expectedFortune.setUpdateTime(LocalDateTime.now());
iExpectedFortuneService.updateById(expectedFortune);
return iExpectedFortuneService.updateById(expectedFortune); return true;
} }
} }
...@@ -20,6 +20,12 @@ public class ExpectedFortuneUpdateRequest { ...@@ -20,6 +20,12 @@ public class ExpectedFortuneUpdateRequest {
private String status; private String status;
/** /**
* 出账状态-修改理由
*/
@Schema(description = "出账状态-修改理由")
private String statusDesc;
/**
* 当前出账金额 * 当前出账金额
*/ */
@Schema(description = "当前出账金额") @Schema(description = "当前出账金额")
......
...@@ -144,13 +144,19 @@ public class ApiExpectedFortunePageResponse { ...@@ -144,13 +144,19 @@ public class ApiExpectedFortunePageResponse {
private String status; private String status;
/** /**
* 出账状态-修改理由
*/
@Schema(description = "出账状态-修改理由")
private String statusDesc;
/**
* 预计出账日期 * 预计出账日期
*/ */
@Schema(description = "预计出账日期") @Schema(description = "预计出账日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate payoutDate; private LocalDate payoutDate;
/** /**
* 实际出账日期 * 实际出账日期
*/ */
@Schema(description = "实际出账日期") @Schema(description = "实际出账日期")
......
...@@ -24,14 +24,12 @@ public class ReceivableService { ...@@ -24,14 +24,12 @@ public class ReceivableService {
// 日期格式 // 日期格式
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd"); private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
public String generateReceivableNo(CommissionExpectedAddDto addDto) { public String generateReceivableNo(String commissionBizType, String reconciliationCompanyCode, String reconciliationCompany) {
// 有保单号,应收账款编号 = 保单号 + 佣金期数 CommissionExpectedAddDto commissionExpectedAddDto = new CommissionExpectedAddDto();
if (StringUtils.isNotBlank(addDto.getPolicyNo())) { commissionExpectedAddDto.setCommissionBizType(commissionBizType);
return addDto.getPolicyNo() + addDto.getCommissionPeriod(); commissionExpectedAddDto.setReconciliationCompanyCode(reconciliationCompanyCode);
} commissionExpectedAddDto.setReconciliationCompany(reconciliationCompany);
return generateAdditionalReceivableNo(commissionExpectedAddDto);
// 无保单号,生成附加编号
return generateAdditionalReceivableNo(addDto);
} }
private String generateAdditionalReceivableNo(CommissionExpectedAddDto addDto) { private String generateAdditionalReceivableNo(CommissionExpectedAddDto addDto) {
...@@ -41,7 +39,7 @@ public class ReceivableService { ...@@ -41,7 +39,7 @@ public class ReceivableService {
// 获取当天流水号(从1开始) // 获取当天流水号(从1开始)
long dailySeq = getDailySequence(); long dailySeq = getDailySequence();
// 格式:对账公司代码-年份后两位-席号(6位数字) // 格式:应收款类型-对账公司代码-年份后两位-席号(6位数字)
return String.format("%s%s%s%06d", return String.format("%s%s%s%06d",
"R".equals(addDto.getCommissionBizType()) ? "R-" : "U-", "R".equals(addDto.getCommissionBizType()) ? "R-" : "U-",
getCompanyCode(addDto), getCompanyCode(addDto),
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 获取保单应收款请求参数
*/
@Data
public class GetExpectedCommissionByProductlaunchIdRequest implements Serializable {
/**
* 保单号
*/
@Schema(description = "保单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyNo;
/**
* 产品计划业务id
*/
@Schema(description = "产品计划业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String productLaunchBizId;
/**
* 保险公司业务id
*/
@Schema(description = "保险公司业务id")
private String insuranceCompanyBizId;
/**
* 对账公司
*/
@Schema(description = "对账公司")
private String reconciliationCompany;
/**
* 对账公司编码
*/
@Schema(description = "对账公司编码")
private String reconciliationCompanyCode;
/**
* 对账公司业务id
*/
@Schema(description = "对账公司业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String reconciliationCompanyBizId;
}
...@@ -109,6 +109,12 @@ public class PolicyFollowAddRequest implements Serializable { ...@@ -109,6 +109,12 @@ public class PolicyFollowAddRequest implements Serializable {
private String reconciliationCompany; private String reconciliationCompany;
/** /**
* 对账公司编码
*/
@Schema(description = "对账公司编码")
private String reconciliationCompanyCode;
/**
* 对账公司业务id * 对账公司业务id
*/ */
@Schema(description = "对账公司业务id") @Schema(description = "对账公司业务id")
......
...@@ -155,6 +155,12 @@ public class ExpectedFortune implements Serializable { ...@@ -155,6 +155,12 @@ public class ExpectedFortune implements Serializable {
private String status; private String status;
/** /**
* 出账状态-修改理由
*/
@TableField("status_desc")
private String statusDesc;
/**
* 本次出账金额 * 本次出账金额
*/ */
// @TableField("current_payment_amount") // @TableField("current_payment_amount")
......
...@@ -56,4 +56,6 @@ public interface CommissionExpectedService extends IService<CommissionExpected> ...@@ -56,4 +56,6 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
CommissionExpectedStatisticsVO getExpectedStatistics(List<Long> expectedIds); CommissionExpectedStatisticsVO getExpectedStatistics(List<Long> expectedIds);
CommissionExpected getByBizId(String commissionExpectedBizId); CommissionExpected getByBizId(String commissionExpectedBizId);
void getExpectedCommissionByProductlaunchId(String policyNo, String productLaunchBizId, String insuranceCompanyBizId, String reconciliationCompany, String reconciliationCompanyCode, String reconciliationCompanyBizId);
} }
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -23,6 +24,9 @@ import com.yd.csf.service.service.*; ...@@ -23,6 +24,9 @@ import com.yd.csf.service.service.*;
import com.yd.csf.service.dao.CommissionExpectedMapper; import com.yd.csf.service.dao.CommissionExpectedMapper;
import com.yd.csf.service.vo.CommissionExpectedStatisticsVO; import com.yd.csf.service.vo.CommissionExpectedStatisticsVO;
import com.yd.csf.service.vo.CommissionExpectedVO; import com.yd.csf.service.vo.CommissionExpectedVO;
import com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse;
import com.yd.user.feign.client.sysdict.ApiSysDictFeignClient; import com.yd.user.feign.client.sysdict.ApiSysDictFeignClient;
import com.yd.user.feign.response.sysdict.GetDictItemListByDictTypeResponse; import com.yd.user.feign.response.sysdict.GetDictItemListByDictTypeResponse;
import com.yd.user.service.model.SysDictItem; import com.yd.user.service.model.SysDictItem;
...@@ -51,17 +55,16 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -51,17 +55,16 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
@Resource @Resource
private PolicyService policyService; private PolicyService policyService;
@Resource @Resource
private PolicyFollowService policyFollowService; private PolicyFollowService policyFollowService;
@Resource @Resource
private CommissionService commissionService; private CommissionService commissionService;
@Resource @Resource
private ReceivableService receivableService; private ReceivableService receivableService;
@Autowired @Autowired
private ApiSysDictFeignClient apiSysDictFeignClient; private ApiSysDictFeignClient apiSysDictFeignClient;
@Resource
private ApiExpectedSpeciesFeignClient apiExpectedSpeciesFeignClient;
@Override @Override
...@@ -260,7 +263,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -260,7 +263,7 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if (StringUtils.isBlank(addDto.getCommissionExpectedBizId())) { if (StringUtils.isBlank(addDto.getCommissionExpectedBizId())) {
// 生成应收账款编号 // 生成应收账款编号
commissionExpected.setReceivableNo(receivableService.generateReceivableNo(addDto)); commissionExpected.setReceivableNo(receivableService.generateReceivableNo(addDto.getCommissionBizType(), addDto.getReconciliationCompanyCode(), addDto.getReconciliationCompany()));
// 生成新单编号 // 生成新单编号
commissionExpected.setCommissionExpectedBizId(RandomStringGenerator.generateBizId16("commission_expected")); commissionExpected.setCommissionExpectedBizId(RandomStringGenerator.generateBizId16("commission_expected"));
commissionExpected.setCreateTime(new Date()); commissionExpected.setCreateTime(new Date());
...@@ -291,6 +294,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -291,6 +294,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
} }
private BigDecimal queryDefaultExchangeRate(String currency) { private BigDecimal queryDefaultExchangeRate(String currency) {
if ("HKD".equalsIgnoreCase(currency)) {
return BigDecimal.valueOf(1);
}
Result<List<GetDictItemListByDictTypeResponse>> result = apiSysDictFeignClient.getDictItemListByDictType("csf_exchange_rate_hkd"); Result<List<GetDictItemListByDictTypeResponse>> result = apiSysDictFeignClient.getDictItemListByDictType("csf_exchange_rate_hkd");
if (CollectionUtils.isNotEmpty(result.getData())) { if (CollectionUtils.isNotEmpty(result.getData())) {
for (GetDictItemListByDictTypeResponse dictItem : result.getData()) { for (GetDictItemListByDictTypeResponse dictItem : result.getData()) {
...@@ -379,6 +385,61 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -379,6 +385,61 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
public CommissionExpected getByBizId(String commissionExpectedBizId) { public CommissionExpected getByBizId(String commissionExpectedBizId) {
return this.getOne(new QueryWrapper<CommissionExpected>().eq("commission_expected_biz_id", commissionExpectedBizId)); return this.getOne(new QueryWrapper<CommissionExpected>().eq("commission_expected_biz_id", commissionExpectedBizId));
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void getExpectedCommissionByProductlaunchId(String policyNo, String productLaunchBizId,
String insuranceCompanyBizId, String reconciliationCompany, String reconciliationCompanyCode, String reconciliationCompanyBizId) {
if (StringUtils.isNotBlank(productLaunchBizId)) {
ApiExpectedSpeciesListRequest apiExpectedSpeciesListRequest = new ApiExpectedSpeciesListRequest();
apiExpectedSpeciesListRequest.setProductLaunchBizId(productLaunchBizId);
Result<List<ApiExpectedSpeciesListResponse>> result = apiExpectedSpeciesFeignClient.list(apiExpectedSpeciesListRequest);
if (result.getData() != null) {
List<ApiExpectedSpeciesListResponse> expectedSpeciesList = result.getData();
List<CommissionExpected> commissionExpectedList = new ArrayList<>();
if (CollUtil.isNotEmpty(expectedSpeciesList)) {
for (ApiExpectedSpeciesListResponse item : expectedSpeciesList) {
CommissionExpected commissionExpected = new CommissionExpected();
commissionExpected.setCommissionExpectedBizId(RandomStringGenerator.generateBizId16("commission_expected"));
commissionExpected.setReceivableNo(receivableService.generateReceivableNo("R", reconciliationCompanyCode, reconciliationCompany));
commissionExpected.setCommissionBizType("R");
commissionExpected.setPolicyNo(policyNo);
commissionExpected.setInsuranceCompanyBizId(insuranceCompanyBizId);
commissionExpected.setProductLaunchBizId(productLaunchBizId);
commissionExpected.setReconciliationCompany(reconciliationCompany);
commissionExpected.setReconciliationCompanyCode(reconciliationCompanyCode);
commissionExpected.setReconciliationCompanyBizId(reconciliationCompanyBizId);
commissionExpected.setCommissionPeriod(Convert.toInt(item.getIssueNumber()));
commissionExpected.setTotalPeriod(Convert.toInt(item.getEndPeriod()));
commissionExpected.setCommissionName(item.getExpenseName());
commissionExpected.setCommissionType("");
commissionExpected.setCommissionRatio(item.getCommissionRate());
commissionExpected.setAmount(null);
commissionExpected.setCurrency(item.getCurrency());
commissionExpected.setCommissionDate(new Date());
commissionExpected.setActualCommissionDate(new Date());
commissionExpected.setStatus(CommissionExpectedStatusEnum.PENDING.getItemValue());
commissionExpected.setStatusDesc(null);
commissionExpected.setDefaultExchangeRate(queryDefaultExchangeRate(item.getCurrency()));
commissionExpected.setExpectedAmount(null);
commissionExpected.setPaidAmount(null);
commissionExpected.setPaidRatio(null);
commissionExpected.setRemark("");
commissionExpected.setIsDeleted(0);
commissionExpected.setCreatorId("");
commissionExpected.setUpdaterId("");
commissionExpected.setCreateTime(new Date());
commissionExpected.setUpdateTime(new Date());
commissionExpectedList.add(commissionExpected);
}
// 保存预计来佣
this.saveBatch(commissionExpectedList);
}
}
}
}
} }
......
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import java.math.BigDecimal;
import java.util.Date;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -11,9 +14,12 @@ import com.yd.auth.core.utils.SecurityUtil; ...@@ -11,9 +14,12 @@ import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.CommonEnum; import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator; import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.common.ErrorCode; import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.component.ReceivableService;
import com.yd.csf.service.dto.*; import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.CommissionExpectedStatusEnum;
import com.yd.csf.service.enums.PolicyFollowStatusEnum; import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.*; import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*; import com.yd.csf.service.service.*;
...@@ -22,11 +28,17 @@ import com.yd.csf.service.utils.AsyncQueryUtil; ...@@ -22,11 +28,17 @@ import com.yd.csf.service.utils.AsyncQueryUtil;
import com.yd.csf.service.utils.GSONUtil; import com.yd.csf.service.utils.GSONUtil;
import com.yd.csf.service.vo.PolicyFollowDetailVO; import com.yd.csf.service.vo.PolicyFollowDetailVO;
import com.yd.csf.service.vo.PolicyFollowVO; import com.yd.csf.service.vo.PolicyFollowVO;
import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient;
import com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient;
import com.yd.product.feign.client.product.ApiProductFeignClient;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -70,7 +82,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -70,7 +82,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
private PolicyAdditionalService policyAdditionalService; private PolicyAdditionalService policyAdditionalService;
@Resource @Resource
private IExpectedFortuneService expectedFortuneService; private IExpectedFortuneService expectedFortuneService;
@Autowired
private CommissionExpectedService commissionExpectedService;
@Override @Override
public PolicyFollow getByPolicyBizId(String policyBizId) { public PolicyFollow getByPolicyBizId(String policyBizId) {
...@@ -269,11 +282,22 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -269,11 +282,22 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
policyService.save(policy); policyService.save(policy);
policyBrokerService.saveBatch(policyBrokerList); policyBrokerService.saveBatch(policyBrokerList);
// 保险产品相关字段不为空,则查询获取保单预计来佣
String policyNo = policyFollowAddRequest.getPolicyNo();
String productLaunchBizId = policyFollowAddRequest.getProductLaunchBizId();
String insuranceCompanyBizId = policyFollowAddRequest.getInsuranceCompanyBizId();
String reconciliationCompany = policyFollowAddRequest.getReconciliationCompany();
String reconciliationCompanyCode = policyFollowAddRequest.getReconciliationCompanyCode();
String reconciliationCompanyBizId = policyFollowAddRequest.getReconciliationCompanyBizId();
// 保存保单预计来佣
commissionExpectedService.getExpectedCommissionByProductlaunchId(policyNo, productLaunchBizId, insuranceCompanyBizId, reconciliationCompany, reconciliationCompanyCode, reconciliationCompanyBizId);
// 返回新单跟进唯一业务ID // 返回新单跟进唯一业务ID
return Collections.singletonMap("policyBizId", policyBizId); return Collections.singletonMap("policyBizId", policyBizId);
} }
@Override
@Override
public Boolean addToPolicy(List<String> policyNoList) { public Boolean addToPolicy(List<String> policyNoList) {
if (CollectionUtils.isEmpty(policyNoList)) { if (CollectionUtils.isEmpty(policyNoList)) {
throw new BusinessException(ErrorCode.PARAMS_ERROR.getCode(), "保单号列表不能为空"); throw new BusinessException(ErrorCode.PARAMS_ERROR.getCode(), "保单号列表不能为空");
......
...@@ -59,6 +59,10 @@ public class CommissionExpectedExportDTO { ...@@ -59,6 +59,10 @@ public class CommissionExpectedExportDTO {
@ExcelProperty("入账状态") @ExcelProperty("入账状态")
private String status; private String status;
@ExcelProperty("入账状态-修改理由")
@ColumnWidth(30)
private String statusDesc;
@ExcelProperty("预计入账金额(HKD)") @ExcelProperty("预计入账金额(HKD)")
@ColumnWidth(20) @ColumnWidth(20)
private BigDecimal expectedAmount; private BigDecimal expectedAmount;
......
...@@ -126,6 +126,12 @@ public class CommissionExpectedVO implements Serializable { ...@@ -126,6 +126,12 @@ public class CommissionExpectedVO implements Serializable {
private String status; private String status;
/** /**
* 设置入账状态-修改理由
*/
@Schema(description = "设置入账状态-修改理由")
private String statusDesc;
/**
* 预计入账金额(HKD) * 预计入账金额(HKD)
*/ */
@Schema(description = "预计入账金额(HKD)") @Schema(description = "预计入账金额(HKD)")
......
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