记得上下班打卡 | git大法好,push需谨慎

Commit d534dadd authored by wangyifan's avatar wangyifan

票务看板V2-余票列

parent b3ea589a
......@@ -12,6 +12,7 @@ import com.liquidnet.client.admin.zhengzai.kylin.dto.KylinPerformanceSubscribeTi
import com.liquidnet.client.admin.zhengzai.kylin.dto.PerformanceOrderStatisCountResp;
import com.liquidnet.client.admin.zhengzai.kylin.dto.PerformanceTicketSalesDto;
import com.liquidnet.client.admin.zhengzai.kylin.service.IOpenDataService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataSumUtils;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
......@@ -35,6 +36,7 @@ import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -182,6 +184,7 @@ public class KylinPerformancesController extends BaseController {
statisticalDao.setHandlingFeeRefundTicketTotal(ticketSales.getHandlingFeeRefundTicketTotal());
statisticalDao.setRefundFeeRevenueTotal(new BigDecimal(ticketSales.getRefundFeeRevenueTotal()));
statisticalDao.setAudienceSalesAmountTotal(new BigDecimal(ticketSales.getAudienceSalesAmountTotal()));
statisticalDao.setSurplusGeneral(new BigDecimal(ticketSales.getSurplusGeneral()));
result.add(statisticalDao);
}
}
......@@ -206,6 +209,7 @@ public class KylinPerformancesController extends BaseController {
mmap.put("perCountResp", perCountResp);
mmap.put("perOrderStaticList", result);
mmap.put("sumResp", DataSumUtils.sumStatistics(result));
return prefix + "/performancesStatic";
}
......
......@@ -88,6 +88,9 @@
<th>
<div class="cell">销售数量</div>
</th>
<th>
<div class="cell">余票数量</div>
</th>
<th>
<div class="cell">登登登VIP购票数量</div>
</th>
......@@ -131,6 +134,9 @@
<td>
<div class="cell" th:text="${respBean.saleGeneral}">0</div>
</td>
<td>
<div class="cell" th:text="${respBean.surplusGeneral}">0</div>
</td>
<td>
<div class="cell" th:text="${respBean.vipBuyTotal}">0</div>
</td>
......@@ -157,6 +163,24 @@
<!-- </td>-->
</tr>
</tbody>
<tfoot>
<tr th:object="${sumResp}">
<td><div class="cell">总计</div></td>
<td><div class="cell"></div></td>
<td><div class="cell"></div></td>
<td><div class="cell"></div></td>
<td><div class="cell" th:text="*{totalGeneralSum}">0</div></td>
<td><div class="cell" th:text="*{saleGeneralSum}">0</div></td>
<td><div class="cell" th:text="*{surplusGeneralSum}">0</div></td>
<td><div class="cell" th:text="*{vipBuyTotalSum}">0</div></td>
<td><div class="cell" th:text="*{totalPayingNumberSum}">0</div></td>
<td><div class="cell" th:text="*{totalRefundGeneralSum}">0</div></td>
<td><div class="cell" th:text="*{fullRefundTicketTotalSum}">0</div></td>
<td><div class="cell" th:text="*{handlingFeeRefundTicketTotalSum}">0</div></td>
<td><div class="cell" th:text="*{refundFeeRevenueTotalSum}">0</div></td>
<td><div class="cell" th:text="*{audienceSalesAmountTotalSum}">0</div></td>
</tr>
</tfoot>
</table>
<div style="display: none;">
<button type="button" class="el-button main el-button--primary el-button--medium"><!---->
......
......@@ -97,5 +97,8 @@ public class PerformanceTicketSalesDto {
// 正在支付数量
private String payingTotal;
// 剩余库存
private String surplusGeneral;
}
}
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class PerformanceTicketSumDto {
// 库存数量
private BigDecimal totalGeneralSum = BigDecimal.ZERO;
// 销售数量
private BigDecimal saleGeneralSum = BigDecimal.ZERO;
// 余票数量
private BigDecimal surplusGeneralSum = BigDecimal.ZERO;
//VIP购票数量
private BigDecimal vipBuyTotalSum = BigDecimal.ZERO;
//正在支付数量
private BigDecimal totalPayingNumberSum = BigDecimal.ZERO;
//退票总数量
private BigDecimal totalRefundGeneralSum = BigDecimal.ZERO;
//全额退票数量
private BigDecimal fullRefundTicketTotalSum = BigDecimal.ZERO;
//手续费退票数量
private BigDecimal handlingFeeRefundTicketTotalSum = BigDecimal.ZERO;
//退票手续费收益
private BigDecimal refundFeeRevenueTotalSum = BigDecimal.ZERO;
//票面销售金额
private BigDecimal audienceSalesAmountTotalSum = BigDecimal.ZERO;
}
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.client.admin.zhengzai.kylin.dto.PerformanceTicketSumDto;
import com.liquidnet.service.kylin.dao.PerformanceOrderStatisticalDao;
import java.math.BigDecimal;
import java.util.List;
public class DataSumUtils {
public static PerformanceTicketSumDto sumStatistics(List<PerformanceOrderStatisticalDao> list) {
// 初始化所有需要统计的字段(BigDecimal类型)
BigDecimal totalGeneralSum = BigDecimal.ZERO;
BigDecimal saleGeneralSum = BigDecimal.ZERO;
BigDecimal surplusGeneralSum = BigDecimal.ZERO;
BigDecimal vipBuyTotalSum = BigDecimal.ZERO;
BigDecimal totalPayingNumberSum = BigDecimal.ZERO;
BigDecimal totalRefundGeneralSum = BigDecimal.ZERO;
BigDecimal fullRefundTicketTotalSum = BigDecimal.ZERO;
BigDecimal handlingFeeRefundTicketTotalSum = BigDecimal.ZERO;
BigDecimal refundFeeRevenueTotalSum = BigDecimal.ZERO;
BigDecimal audienceSalesAmountTotalSum = BigDecimal.ZERO;
// 遍历列表进行累加
for (PerformanceOrderStatisticalDao item : list) {
// BigDecimal类型字段
totalGeneralSum = safeAdd(totalGeneralSum, item.getTotalGeneral());
saleGeneralSum = safeAdd(saleGeneralSum, item.getSaleGeneral());
surplusGeneralSum = safeAdd(surplusGeneralSum, item.getSurplusGeneral());
totalPayingNumberSum = safeAdd(totalPayingNumberSum, item.getTotalPayingNumber());
totalRefundGeneralSum = safeAdd(totalRefundGeneralSum, item.getTotalRefundGeneral());
refundFeeRevenueTotalSum = safeAdd(refundFeeRevenueTotalSum, item.getRefundFeeRevenueTotal());
audienceSalesAmountTotalSum = safeAdd(audienceSalesAmountTotalSum, item.getAudienceSalesAmountTotal());
// Integer类型字段转换
vipBuyTotalSum = safeAdd(vipBuyTotalSum, BigDecimal.valueOf(item.getVipBuyTotal()));
fullRefundTicketTotalSum = safeAdd(fullRefundTicketTotalSum, BigDecimal.valueOf(item.getFullRefundTicketTotal()));
handlingFeeRefundTicketTotalSum = safeAdd(handlingFeeRefundTicketTotalSum,
BigDecimal.valueOf(item.getHandlingFeeRefundTicketTotal()));
}
PerformanceTicketSumDto sumDto = new PerformanceTicketSumDto();
sumDto.setTotalGeneralSum(totalGeneralSum); // 库存数量
sumDto.setSaleGeneralSum(saleGeneralSum); // 销售数量
sumDto.setSurplusGeneralSum(surplusGeneralSum); // 余票数量
sumDto.setVipBuyTotalSum(vipBuyTotalSum);//VIP购票数量
sumDto.setTotalPayingNumberSum(totalPayingNumberSum);//正在支付数量
sumDto.setTotalRefundGeneralSum(totalRefundGeneralSum);//退票总数量
sumDto.setFullRefundTicketTotalSum(fullRefundTicketTotalSum);//全额退票数量
sumDto.setHandlingFeeRefundTicketTotalSum(handlingFeeRefundTicketTotalSum);//手续费退票数量
sumDto.setRefundFeeRevenueTotalSum(refundFeeRevenueTotalSum);//退票手续费收益
sumDto.setAudienceSalesAmountTotalSum(audienceSalesAmountTotalSum);//票面销售金额
return sumDto;
}
// 安全的BigDecimal加法(处理null值)
private static BigDecimal safeAdd(BigDecimal sum, BigDecimal value) {
if (value == null) {
return sum;
}
return sum.add(value);
}
}
......@@ -24,7 +24,7 @@ public class PerformanceOrderStatisticalDao implements Cloneable{
private String useEnd;
private BigDecimal totalGeneral = BigDecimal.ZERO;// 库存数量
private BigDecimal saleGeneral = BigDecimal.ZERO;// 销售数量
private BigDecimal surplusGeneral = BigDecimal.ZERO;
private BigDecimal surplusGeneral = BigDecimal.ZERO; // 余票数量
private BigDecimal totalSalePrice = BigDecimal.ZERO;
private BigDecimal totalExchange = BigDecimal.ZERO;
private BigDecimal totalRefundGeneral = BigDecimal.ZERO; // 退票总数量
......
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