提交 bef7e2f4 authored 作者: 吕本才's avatar 吕本才

优化代码,解决空指针的问题

上级 74af1414
package com.link.bi.domain.entity; package com.link.bi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
...@@ -273,6 +274,22 @@ public class FinanceOrderDetail { ...@@ -273,6 +274,22 @@ public class FinanceOrderDetail {
// 标准成本*num 标准总成本 // 标准成本*num 标准总成本
private BigDecimal sumStandardCost; private BigDecimal sumStandardCost;
/**
* 以下字段用于查询出来的聚合数据
*/
// 分摊后总价sum
@TableField(exist = false)
private BigDecimal shareAmountSum;
//实际总成本sum
@TableField(exist = false)
private BigDecimal sumActualCostSum;
//标准总成本sum
@TableField(exist = false)
private BigDecimal sumStandardCostSum;
@TableField(exist = false)
private String queryType;
/** /**
* 是否删除标志0未删除1已删除 * 是否删除标志0未删除1已删除
......
...@@ -21,7 +21,7 @@ public class FinanceOrderDetailListDto { ...@@ -21,7 +21,7 @@ public class FinanceOrderDetailListDto {
// 原始子单号 // 原始子单号
private String srcOid; private String srcOid;
// 订单状态 // 订单状态
private int tradeStatus; private Integer tradeStatus;
// 交易时间 // 交易时间
private String tradeTime; private String tradeTime;
// 付款时间 // 付款时间
...@@ -41,7 +41,7 @@ public class FinanceOrderDetailListDto { ...@@ -41,7 +41,7 @@ public class FinanceOrderDetailListDto {
// 规格名称 // 规格名称
private String specName; private String specName;
// 分类(货品类型) // 分类(货品类型)
private int goodsType; private Integer goodsType;
// 数量 // 数量
private BigDecimal num; private BigDecimal num;
// 优惠 // 优惠
...@@ -55,7 +55,7 @@ public class FinanceOrderDetailListDto { ...@@ -55,7 +55,7 @@ public class FinanceOrderDetailListDto {
// 组合装数量 // 组合装数量
private BigDecimal suiteNum; private BigDecimal suiteNum;
// 赠品方式 // 赠品方式
private int giftType; private Integer giftType;
// 分销商名称 // 分销商名称
private String fenxiaoName; private String fenxiaoName;
// 分销商编号 // 分销商编号
......
package com.link.bi.service.impl; package com.link.bi.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
...@@ -32,6 +33,7 @@ import org.springframework.util.MimeType; ...@@ -32,6 +33,7 @@ import org.springframework.util.MimeType;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
...@@ -62,11 +64,12 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai ...@@ -62,11 +64,12 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
pageInfo.setList(orderDetailPageInfo.getList().stream().map(item -> { pageInfo.setList(orderDetailPageInfo.getList().stream().map(item -> {
FinanceBiListDto dto = new FinanceBiListDto(); FinanceBiListDto dto = new FinanceBiListDto();
BeanUtils.copyProperties(item, dto); BeanUtils.copyProperties(item, dto);
dto.setActualCostSum(item.getSumActualCost()); dto.setActualCostSum(item.getSumActualCostSum());
dto.setStandardCostSum(item.getSumStandardCost()); dto.setStandardCostSum(item.getSumStandardCostSum());
dto.setShareAmountSum(item.getShareAmountSum().setScale(2, BigDecimal.ROUND_HALF_UP));
dto.setActualCostGrossProfitSum(dto.getShareAmountSum().subtract(dto.getActualCostSum())); dto.setActualCostGrossProfitSum(dto.getShareAmountSum().subtract(dto.getActualCostSum()).setScale(2, BigDecimal.ROUND_HALF_UP));
dto.setStandardCostGrossProfitSum(dto.getShareAmountSum().subtract(dto.getStandardCostSum())); dto.setStandardCostGrossProfitSum(dto.getShareAmountSum().subtract(dto.getStandardCostSum()).setScale(2, BigDecimal.ROUND_HALF_UP));
dto.setUid(IdUtil.simpleUUID()); dto.setUid(IdUtil.simpleUUID());
return dto; return dto;
}).collect(Collectors.toList())); }).collect(Collectors.toList()));
...@@ -113,7 +116,7 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai ...@@ -113,7 +116,7 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
financeCostVo.setPageSize(1000000); financeCostVo.setPageSize(1000000);
PageInfo<FinanceBiListDto> financeBiListDtoPageInfo = this.selectBiFinanceCostList(financeCostVo); PageInfo<FinanceBiListDto> financeBiListDtoPageInfo = this.selectBiFinanceCostList(financeCostVo);
// easyExcel导出数据 // easyExcel导出数据
String fileNameOri = "王小卤订单明细成本核算信息.xlsx"; String fileNameOri = String.format("王小卤成本核算%s-%s订单明细信息-%s.xlsx", DateUtil.formatDate(financeCostVo.getStartDate()), DateUtil.formatDate(financeCostVo.getEndDate()), DateUtil.formatDate(new Date()));
// 文件名中文名需要转义 // 文件名中文名需要转义
String fileName = null; String fileName = null;
try { try {
......
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
</if> </if>
</if> </if>
sum(share_amount) as share_amount_sum, sum(share_amount) as share_amount_sum,
sum(actual_cost) as actual_cost_sum, sum(sum_actual_cost) as sum_actual_cost_sum,
sum(standard_cost) as standard_cost_sum sum(sum_standard_cost) as sum_standard_cost_sum
from finance_order_detail fod from finance_order_detail fod
<where> <where>
<if test="(wq.zbjQdTypeAll == null or wq.zbjQdTypeAll == false) and (wq.zbjQdType!= null and !wq.zbjQdType.isEmpty() )"> <if test="(wq.zbjQdTypeAll == null or wq.zbjQdTypeAll == false) and (wq.zbjQdType!= null and !wq.zbjQdType.isEmpty() )">
...@@ -75,8 +75,6 @@ ...@@ -75,8 +75,6 @@
and fod.consign_time between #{wq.startDate} and #{wq.endDate} and fod.consign_time between #{wq.startDate} and #{wq.endDate}
</if> </if>
</where> </where>
group by group by
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test=" (wq.zbjQdType == null or wq.zbjQdType .isEmpty() ) <if test=" (wq.zbjQdType == null or wq.zbjQdType .isEmpty() )
...@@ -165,10 +163,8 @@ ...@@ -165,10 +163,8 @@
platform_id, platform_id,
src_oid, src_oid,
src_tid, src_tid,
gift_type,
pay_status, pay_status,
refund_status, refund_status,
guarantee_mode,
platform_status, platform_status,
delivery_term, delivery_term,
num, num,
...@@ -271,7 +267,7 @@ ...@@ -271,7 +267,7 @@
trade_no trade_no
,shop_name,src_tid,src_oid,trade_status,trade_time,pay_time,consign_time,receiver_area, ,shop_name,src_tid,src_oid,trade_status,trade_time,pay_time,consign_time,receiver_area,
remark,receivable,goods_no,goods_name,spec_name,goods_type,num,discount,share_amount,suite_no, remark,receivable,goods_no,goods_name,spec_name,goods_type,num,discount,share_amount,suite_no,
suite_name,suite_num, gift_type,fenxiao_name,fenxiao_id,api_goods_name suite_name,suite_num,fenxiao_name,fenxiao_id,api_goods_name
</sql> </sql>
...@@ -283,10 +279,8 @@ ...@@ -283,10 +279,8 @@
<result column="platform_id" property="platformId" jdbcType="INTEGER"/> <result column="platform_id" property="platformId" jdbcType="INTEGER"/>
<result column="src_oid" property="srcOid" jdbcType="VARCHAR"/> <result column="src_oid" property="srcOid" jdbcType="VARCHAR"/>
<result column="src_tid" property="srcTid" jdbcType="VARCHAR"/> <result column="src_tid" property="srcTid" jdbcType="VARCHAR"/>
<result column="gift_type" property="giftType" jdbcType="INTEGER"/>
<result column="pay_status" property="payStatus" jdbcType="INTEGER"/> <result column="pay_status" property="payStatus" jdbcType="INTEGER"/>
<result column="refund_status" property="refundStatus" jdbcType="INTEGER"/> <result column="refund_status" property="refundStatus" jdbcType="INTEGER"/>
<result column="guarantee_mode" property="guaranteeMode" jdbcType="INTEGER"/>
<result column="platform_status" property="platformStatus" jdbcType="INTEGER"/> <result column="platform_status" property="platformStatus" jdbcType="INTEGER"/>
<result column="delivery_term" property="deliveryTerm" jdbcType="INTEGER"/> <result column="delivery_term" property="deliveryTerm" jdbcType="INTEGER"/>
<result column="num" property="num" jdbcType="DECIMAL"/> <result column="num" property="num" jdbcType="DECIMAL"/>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论