Commit 2df7bfc8 by zhangxingmin

Merge branch 'dev' into prod

parents 6ba8e474 84319ad9
......@@ -542,24 +542,25 @@ public class ApiCommissionController {
/**
* 入账记录
*
* @param commissionQueryRequest
* @param pageByCommissionexpectedBizIdRequest
* @param request
* @return
*/
@PostMapping("/pageByCommissionexpectedBizId")
@Operation(summary = "入账记录")
public Result<Page<CommissionVO>> pageByCommissionexpectedBizId(@RequestBody CommissionQueryRequest commissionQueryRequest,
public Result<Page<CommissionVO>> pageByCommissionexpectedBizId(@RequestBody PageByCommissionexpectedBizIdRequest pageByCommissionexpectedBizIdRequest,
HttpServletRequest request) {
if (ObjectUtils.isEmpty(commissionQueryRequest.getCommissionExpectedBizId()) && ObjectUtils.isEmpty(commissionQueryRequest.getReconciliationYearMonth())) {
if (ObjectUtils.isEmpty(pageByCommissionexpectedBizIdRequest.getCommissionExpectedBizId()) && ObjectUtils.isEmpty(pageByCommissionexpectedBizIdRequest.getReconciliationYearMonth())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "commissionExpectedBizId、 reconciliationYearMonth 不能全部为空");
}
long current = commissionQueryRequest.getPageNo();
long size = commissionQueryRequest.getPageSize();
long current = pageByCommissionexpectedBizIdRequest.getPageNo();
long size = pageByCommissionexpectedBizIdRequest.getPageSize();
// 查询列表数据
QueryWrapper<Commission> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(ObjectUtils.isNotEmpty(commissionQueryRequest.getCommissionExpectedBizId()),"commission_expected_biz_id", commissionQueryRequest.getCommissionExpectedBizId());
queryWrapper.eq(ObjectUtils.isNotEmpty(commissionQueryRequest.getReconciliationYearMonth()),"reconciliation_year_month", commissionQueryRequest.getReconciliationYearMonth());
queryWrapper.eq(ObjectUtils.isNotEmpty(pageByCommissionexpectedBizIdRequest.getCommissionExpectedBizId()),"commission_expected_biz_id", pageByCommissionexpectedBizIdRequest.getCommissionExpectedBizId());
queryWrapper.eq(ObjectUtils.isNotEmpty(pageByCommissionexpectedBizIdRequest.getReconciliationYearMonth()),"reconciliation_year_month", pageByCommissionexpectedBizIdRequest.getReconciliationYearMonth());
queryWrapper.like(StringUtils.isNotBlank(pageByCommissionexpectedBizIdRequest.getPolicyNo()), "policy_no", pageByCommissionexpectedBizIdRequest.getPolicyNo());
Page<Commission> commissionPage = commissionService.page(new Page<>(current, size),
queryWrapper);
// 组装返回值
......
......@@ -113,6 +113,21 @@ public class ApiCommissionExpectedController {
}
/**
* 预计入账-修改状态
*
* @param commissionExpectedChangeStatusRequest
* @return
*/
@PostMapping("/change_status")
@Operation(summary = "预计入账-修改状态")
public Result<Boolean> changeStatus(@RequestBody CommissionExpectedChangeStatusRequest commissionExpectedChangeStatusRequest) {
if (commissionExpectedChangeStatusRequest == null || StringUtils.isBlank(commissionExpectedChangeStatusRequest.getCommissionExpectedBizId())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "commissionExpectedBizId不能为空");
}
return Result.success(commissionExpectedService.changeStatus(commissionExpectedChangeStatusRequest));
}
/**
* 根据 CommissionExpectedBizId 获取CommissionExpected(封装类)
*
* @param commissionExpectedBizId 预计入账业务id
......
......@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.time.LocalDate;
@Data
public class ExpectedFortuneUpdateRequest {
......@@ -26,14 +26,14 @@ public class ExpectedFortuneUpdateRequest {
*/
@Schema(description = "出账日 (估)")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date payoutDate;
private LocalDate payoutDate;
/**
* 出账日 (实)
*/
@Schema(description = "出账日 (实)")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualPayoutDate;
private LocalDate actualPayoutDate;
/**
* 出账金额
......@@ -66,6 +66,18 @@ public class ExpectedFortuneUpdateRequest {
private String fortuneType;
/**
* 出账期数
*/
@Schema(description = "出账期数")
private Integer fortunePeriod;
/**
* 出账总期数
*/
@Schema(description = "出账总期数")
private Integer fortuneTotalPeriod;
/**
* 币种
*/
@Schema(description = "币种")
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@Data
public class CommissionExpectedChangeStatusRequest implements Serializable {
/**
* 预计入账业务id
*/
@Schema(description = "预计入账业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionExpectedBizId;
/**
* 入账状态
*/
@Schema(description = "入账状态 字典值: csf_expected_commission_status", requiredMode = Schema.RequiredMode.REQUIRED)
private String status;
/**
* 设置入账状态-修改理由
*/
@Schema(description = "设置入账状态-修改理由")
private String statusDesc;
private static final long serialVersionUID = 1L;
}
......@@ -5,6 +5,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
@Data
......@@ -97,7 +98,7 @@ public class FortuneAddRequest implements Serializable {
* 出账日期
*/
@Schema(description = "出账日期", requiredMode = Schema.RequiredMode.REQUIRED)
private Date payoutDate;
private LocalDate payoutDate;
/**
* 出账备注
......
package com.yd.csf.service.dto;
import com.yd.common.dto.PageDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@Data
public class PageByCommissionexpectedBizIdRequest extends PageDto implements Serializable {
/**
* 预计入账 id
*/
@Schema(description = "预计入账 id")
private String commissionExpectedBizId;
/**
* 检核年月
*/
@Schema(description = "检核年月 格式: yyyy-MM")
private String reconciliationYearMonth;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
private static final long serialVersionUID = 1L;
}
......@@ -170,7 +170,7 @@ public class Fortune implements Serializable {
/**
* 实际出账日期
*/
private Date actualPayoutDate;
private LocalDate actualPayoutDate;
/**
* 检核人
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.CommissionExpectedAddRequest;
import com.yd.csf.service.dto.CommissionExpectedChangeStatusRequest;
import com.yd.csf.service.dto.CommissionExpectedQueryRequest;
import com.yd.csf.service.dto.CommissionExpectedUpdateRequest;
import com.yd.csf.service.model.CommissionExpected;
......@@ -81,4 +82,6 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
IPage<ReceivableReportVO> receivableReportPage(Page<ReceivableReportVO> page, List<Long> expectedIds);
void testExpectedCommission(String policyNo,String effectiveDate,String coolingOffEndDate) throws IOException;
Boolean changeStatus(CommissionExpectedChangeStatusRequest commissionExpectedChangeStatusRequest);
}
......@@ -1053,6 +1053,27 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
}
@Override
public Boolean changeStatus(CommissionExpectedChangeStatusRequest commissionExpectedChangeStatusRequest) {
// 校验预计入账是否存在
CommissionExpected commissionExpected = getByBizId(commissionExpectedChangeStatusRequest.getCommissionExpectedBizId());
if (commissionExpected == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计入账不存在");
}
// 校验数据
if (StringUtils.isBlank(commissionExpectedChangeStatusRequest.getStatus())) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "状态不能为空");
}
// 转换为实体类
CommissionExpected updateObj = new CommissionExpected();
BeanUtil.copyProperties(commissionExpectedChangeStatusRequest, updateObj);
updateObj.setId(commissionExpected.getId());
// 更新
return this.updateById(updateObj);
}
private Policy convertPolicy(PolicyFollow policyFollow,String effectiveDate,String coolingOffEndDate) {
Policy policy = new Policy();
BeanUtil.copyProperties(policyFollow, policy);
......
......@@ -306,7 +306,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
f.setCurrentPaymentRatio(BigDecimal.valueOf(100));
}
f.setStatus(FortuneStatusEnum.SENT.getItemValue());
f.setActualPayoutDate(new Date());
// f.setActualPayoutDate(new Date());
f.setUpdaterId(loginUserId.toString());
f.setUpdateTime(new Date());
});
......
......@@ -226,10 +226,6 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setUpdaterId(loginUserId);
fortune.setUpdateTime(new Date());
// 更新实际出账日期
Date actualPayoutDate = new Date();
fortune.setActualPayoutDate(actualPayoutDate);
this.updateById(fortune);
}
......@@ -683,9 +679,18 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
.map(FortuneAddRequest::getPolicyNo)
.filter(StringUtils::isNotBlank).collect(Collectors.toSet());
// 查询保单号
Map<String, Policy> policyMap = new HashMap<>();
// 查询预计出账
Map<String, ExpectedFortune> expectedFortuneMap = new HashMap<>();
// 查询入账记录
Map<String, Commission> commissionByPolicyPeriod = new HashMap<>();
if (CollectionUtils.isNotEmpty(policyNoSet)) {
// 查询保单号
List<Policy> policyList = policyService.lambdaQuery().in(Policy::getPolicyNo, policyNoSet).list();
policyMap = policyList.stream().collect(Collectors.toMap(Policy::getPolicyNo, Function.identity(), (oldValue, newValue) -> newValue));
// 查询预计出账
expectedFortuneMap = expectedFortuneService.lambdaQuery()
.in(ExpectedFortune::getPolicyNo, policyNoSet)
.list()
......@@ -695,20 +700,18 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
Function.identity(),
(oldValue, newValue) -> newValue)
);
// 查询入账记录
List<Commission> commissionList = commissionService.lambdaQuery().in(Commission::getPolicyNo, policyNoSet)
.list();
if (CollectionUtils.isNotEmpty(commissionList)) {
commissionByPolicyPeriod = commissionList.stream()
.collect(Collectors.toMap(
commission -> commissionService.buildPolicyPeriodKey(commission.getPolicyNo(), commission.getCommissionPeriod()),
Function.identity(),
(oldValue, newValue) -> newValue // 遇到重复时使用新值
));
}
}
// 查询入账记录
List<Commission> commissionList = commissionService.lambdaQuery().in(Commission::getPolicyNo, policyNoSet)
.list();
Map<String, Commission> commissionByPolicyPeriod = new HashMap<>();
if (CollectionUtils.isNotEmpty(commissionList)) {
commissionByPolicyPeriod = commissionList.stream()
.collect(Collectors.toMap(
commission -> commissionService.buildPolicyPeriodKey(commission.getPolicyNo(), commission.getCommissionPeriod()),
Function.identity(),
(oldValue, newValue) -> newValue // 遇到重复时使用新值
));
}
List<Fortune> fortuneList = new ArrayList<>();
List<ExpectedFortune> expectedFortuneUpdateList = new ArrayList<>();
......@@ -724,6 +727,9 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount());
if ("R".equals(fortuneAddRequest.getFortuneBizType())) {
if (policyMap.get(fortuneAddRequest.getPolicyNo()) == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), fortuneAddRequest.getPolicyNo() + " 保单号不存在");
}
ExpectedFortune expectedFortune = expectedFortuneMap.get(fortuneAddRequest.getPolicyNo() + "_" + fortuneAddRequest.getFortunePeriod() + "_" + fortuneAddRequest.getFortuneType());
if (expectedFortune == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), fortuneAddRequest.getFortuneName() + " 预计出账不存在");
......
......@@ -76,7 +76,7 @@
ce.commission_period as commissionPeriod,
MAX(ce.total_period) as totalPeriod,
MAX(ce.commission_date) as commissionDate,
ifnull(avg(ce.commission_ratio), 0) as commissionRatio,
ifnull(sum(ce.commission_ratio), 0) as commissionRatio,
ifnull(sum(ce.amount), 0) as amount,
MAX(ce.currency) as currency,
ifnull(sum(ce.expected_amount), 0) as hkdAmount,
......
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