Commit 11232844 by yao.xiao

寿险经纪人发佣检核页面统计及查询修改

parent affdd0e1
......@@ -2,23 +2,22 @@ package com.yd.api.agms.service.impl;
import com.yd.api.agms.service.AgmsFortuneService;
import com.yd.api.agms.vo.fortune.*;
import com.yd.api.agms.vo.statistics.statementData;
import com.yd.api.order.vo.SurrenderFortuneRequestVO;
import com.yd.api.order.vo.SurrenderFortuneResponseVO;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.fortune.*;
import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdIncometaxRate;
import com.yd.dal.entity.user.AclUser;
import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.product.Product;
import com.yd.dal.entity.product.ProductPlan;
import com.yd.dal.entity.user.AclUser;
import com.yd.dal.service.agms.AgmsFortuneDALService;
import com.yd.dal.service.customer.*;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.dal.service.product.ProductDALService;
import com.yd.dal.service.product.ProductPlanDALService;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.rmi.ali.send.service.SendService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
......@@ -30,7 +29,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.security.auth.login.LoginContext;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
......@@ -568,13 +566,21 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
CommissionPayoutStatusQueryInfo info = new CommissionPayoutStatusQueryInfo();
BeanUtils.copyProperties(requestVO,info);
List<CommissionPayoutStatus> commissionPayoutStatusList = agmsFortuneDalService.commissionPayoutStatusQuery(info);
responseVO.setTotalSingular(commissionPayoutStatusList.size());
BigDecimal totalOrderPrice = commissionPayoutStatusList.stream()
.map(f -> f.getOrderPrice() == null ? BigDecimal.ZERO : f.getOrderPrice())
.reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal totalReferralAmount = commissionPayoutStatusList.stream()
.map(f -> f.getReferralAmount() == null ? BigDecimal.ZERO : f.getReferralAmount())
.reduce(BigDecimal.ZERO,BigDecimal::add);
int totalSingular = 0;
BigDecimal totalOrderPrice = BigDecimal.ZERO;
BigDecimal totalReferralAmount = BigDecimal.ZERO;
List<Long> orderIdList = new ArrayList<>();
for (CommissionPayoutStatus commissionPayoutStatus : commissionPayoutStatusList) {
Long orderId = commissionPayoutStatus.getOrderId();
totalReferralAmount = totalReferralAmount.add(commissionPayoutStatus.getReferralAmount() == null ? BigDecimal.ZERO : commissionPayoutStatus.getReferralAmount());
if (orderIdList.contains(orderId)){
continue;
}
orderIdList.add(orderId);
++totalSingular;
totalOrderPrice = totalOrderPrice.add(commissionPayoutStatus.getOrderPrice() == null ? BigDecimal.ZERO : commissionPayoutStatus.getOrderPrice());
}
responseVO.setTotalSingular(totalSingular);
responseVO.setTotalOrderPrice(totalOrderPrice);
responseVO.setTotalReferralAmount(totalReferralAmount);
responseVO.setCommissionPayoutStatusList(commissionPayoutStatusList);
......
......@@ -7,6 +7,8 @@ import java.math.BigDecimal;
*/
public class CommissionPayoutStatus {
private Long orderId;
private Long fortuneId;
/**
* 来佣检核年月
......@@ -238,12 +240,21 @@ public class CommissionPayoutStatus {
this.fortuneId = fortuneId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
@Override
public String toString() {
return "CommissionPayoutStatus{" +
"fortuneId=" + fortuneId +
"orderId=" + orderId +
", fortuneId=" + fortuneId +
", commissionPayoutYearmonth='" + commissionPayoutYearmonth + '\'' +
", insurerName=" + insurerName +
", insurerName='" + insurerName + '\'' +
", productName='" + productName + '\'' +
", policyNo='" + policyNo + '\'' +
", paymentTermUnit='" + paymentTermUnit + '\'' +
......
......@@ -27,7 +27,9 @@
<select id="commissionPayoutStatusQuery"
parameterType="com.yd.dal.entity.agms.fortune.CommissionPayoutStatusQueryInfo"
resultType="com.yd.dal.entity.agms.fortune.CommissionPayoutStatus">
select f.id fortuneId,
select
o.id orderId,
f.id fortuneId,
date_format(f.commission_payout_at, '%Y-%m') commissionPayoutYearmonth,
i.name insurerName,
if(o.config_level = 2,p.name,pp.name) productName,
......@@ -59,6 +61,7 @@
LEFT JOIN ag_md_drop_options op
LEFT JOIN ag_md_drop_master mas ON mas.id = op.drop_master_id
ON op.drop_option_code = f.commission_payout_status
left join ag_po_order_commission_check c on o.commission_check_id = c.id
where o.commission_check_status = 2
AND mas.drop_code like 'Commission_Payout_Status'
<if test="item.insurerId != null">
......@@ -80,7 +83,7 @@
and f.commission_payout_status = #{item.commissionPayoutStatus,jdbcType=BIGINT}
</if>
<if test="item.commissionPayoutYearmonth != null">
and date_format(f.commission_payout_at, '%Y-%m') = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR}
and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR}
</if>
<if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment