提交 b2b7d57a authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.5_settlement_20231011' into v5.5_settlement_20231011

package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
......@@ -27,23 +28,24 @@ public class OwnerCaseOutVO {
/**
* 货主编号
*/
@ApiModelProperty(value = "id")
@ApiModelProperty(value = "货主编号")
private Long ownerUserNo;
/**
* 提现编号
*/
@ApiModelProperty(value = "id")
@ApiModelProperty(value = "提现编号")
private Long caseOutNo;
/**
* 提现账户类型
*/
@ApiModelProperty(value = "id")
@ApiModelProperty(value = "提现账户类型 1 :保证金 2:预付运费")
private Integer accountType;
/**
* 提现金额
*/
@ApiModelProperty(value = "id")
@ApiModelProperty(value = "提现金额")
@MoneyOutConvert
private BigDecimal caseOutBalance;
/**
* 状态
......
package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
......@@ -42,6 +43,7 @@ public class OwnerTopUpVO {
* 充值金额
*/
@ApiModelProperty(value = "充值金额")
@MoneyOutConvert
private BigDecimal topUpBalance;
/**
* 状态
......
......@@ -73,14 +73,14 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty(value="开票金额",example = "2.1")
private BigDecimal invoiceFreight;
@ApiModelProperty(value="开票标识:1网运单 2普通单",example = "1")
private Integer invoiceType;
@ApiModelProperty(value="开票标识:1网运单 2普通单",example = "普通单")
private String invoiceTypeMsg;
@ApiModelProperty(value="尾款状态 0-否,1-是,2-无需支付",example = "1")
private Integer finalPaymentStatus;
@ApiModelProperty(value="尾款状态 0-否,1-是,2-无需支付",example = "无需支付")
private String finalPaymentStatusMsg;
@ApiModelProperty(value="开票状态 0-否,1-是",example = "1")
private Integer invoiceStatus;
@ApiModelProperty(value="开票状态 0-否,1-是",example = "")
private String invoiceStatusMsg;
@ApiModelProperty(value="创建时间",example = "2013-01-01 00:00:00")
private String createTime;
......
......@@ -9,6 +9,7 @@ import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO;
import com.clx.user.param.pc.driver.truck.PageDriverTruckParam;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
......@@ -16,9 +17,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
......@@ -80,5 +86,15 @@ public class OwnerSettlementOwnerController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出结算运单明细")
@PostMapping("/exportOwnerSettlementOrderDetail")
public Result exportOwnerSettlementOrderDetail(@RequestBody @Validated PageOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = settlementOwnerDetailService.exportOwnerSettlementOrderDetail(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
return null;
}
}
......@@ -40,8 +40,12 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
}
@Override
public IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param) {
Page<PageOwnerSettlementOwnerDetailVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageOwnerSettlementOrderDetailList(page,param);
public IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param) {
LambdaQueryWrapper<SettlementOwnerDetail> query = new LambdaQueryWrapper<>();
query.eq(SettlementOwnerDetail :: getSettlementNo,param.getSettlementNo());
query.eq(StringUtils.isNotBlank(param.getChildNo()),SettlementOwnerDetail :: getChildNo,param.getChildNo());
query.eq(StringUtils.isNotBlank(param.getOrderNo()),SettlementOwnerDetail :: getOrderNo,param.getOrderNo());
query.eq(StringUtils.isNotBlank(param.getSettlementSubNo()),SettlementOwnerDetail :: getSettlementSubNo,param.getSettlementSubNo());
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
}
......@@ -17,7 +17,7 @@ import com.msl.common.dao.BaseDao;
*/
public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailMapper, SettlementOwnerDetail, Integer> {
IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param);
}
......@@ -15,6 +15,7 @@ import org.apache.ibatis.annotations.SelectProvider;
@Mapper
public interface SettlementOwnerDetailMapper extends BaseMapper<SettlementOwnerDetail> {
@Deprecated
@SelectProvider(type = SettlementOwnerDetailSqlProvider.class, method = "pageOwnerSettlementOrderDetailList")
IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(@Param("page") Page<PageOwnerSettlementOwnerDetailVO> page,
@Param("param") PageOwnerSettlementOwnerDetailParam param);
......
......@@ -8,12 +8,20 @@ import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.struct.settle.SettlementOwnerDetailStruct;
import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO;
import com.clx.user.enums.driver.DriverTruckEnum;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -40,7 +48,82 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Override
public IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param) {
return settlementOwnerDetailDao.pageOwnerSettlementOrderDetailList(param);
IPage<SettlementOwnerDetail> settlementOwnerDetail = settlementOwnerDetailDao.pageOwnerSettlementOrderDetailList(param);
List<PageOwnerSettlementOwnerDetailVO> list = settlementOwnerDetailStruct.covertToOwnerList(settlementOwnerDetail.getRecords());
return new Page<PageOwnerSettlementOwnerDetailVO>().setRecords(list).setTotal(settlementOwnerDetail.getTotal()).setPages(settlementOwnerDetail.getPages());
}
@Override
public SXSSFWorkbook exportOwnerSettlementOrderDetail(PageOwnerSettlementOwnerDetailParam param) {
param.setPage(1);
param.setPageSize(1000000);
IPage<PageOwnerSettlementOwnerDetailVO> settlementOwnerDetail = pageOwnerSettlementOrderDetailList(param);
List<PageOwnerSettlementOwnerDetailVO> list = settlementOwnerDetail.getRecords();
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(2, "货主编码", "ownerUserNno", 5000));
fieldList.add(new ExcelField(3, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(4, "实际净重(吨)", "weight", 5000));
fieldList.add(new ExcelField(5, "平台运费报价", "freightPrice", 5000));
fieldList.add(new ExcelField(6, "实际运费金额", "freight", 5000));
fieldList.add(new ExcelField(7, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(8, "货损单价", "lossPrice", 5000));
fieldList.add(new ExcelField(9, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(10, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(11, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(12, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(13, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(14, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(15, "结算单号", "settlementNo", 15000));
fieldList.add(new ExcelField(16, "结算子单号", "settlementSubNo", 15000));
fieldList.add(new ExcelField(17, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(18, "是否已付尾款", "finalPaymentStatus", 5000));
fieldList.add(new ExcelField(19, "是否已开票", "invoiceStatus", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (int i=0; i<list.size(); i++){
PageOwnerSettlementOwnerDetailVO dto = list.get(i);
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(i+1));
rowData.add(new ExcelData(dto.getChildNo()));
rowData.add(new ExcelData(dto.getOwnerUserNo()+""));
rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreightPrice()));
rowData.add(new ExcelData(dto.getFreight()));
rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossPrice()));
rowData.add(new ExcelData(dto.getLossFreight()));
rowData.add(new ExcelData(dto.getPrepayFreight()));
rowData.add(new ExcelData(dto.getSettlementFreight()));
rowData.add(new ExcelData(dto.getInvoiceFreight()));
rowData.add(new ExcelData(dto.getInvoiceTypeMsg()));
rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(dto.getSettlementSubNo()));
rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(dto.getFinalPaymentStatusMsg()));
rowData.add(new ExcelData(dto.getInvoiceStatusMsg()));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("货主结算运单明细", "货主结算运单明细", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
}
......@@ -6,6 +6,8 @@ import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO;
import com.clx.user.param.pc.driver.truck.PageDriverTruckParam;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
/**
* @author liruixin
......@@ -17,4 +19,6 @@ public interface SettlementOwnerDetailService {
IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<CarrierPageSettlementOwnerDetailVO> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param);
SXSSFWorkbook exportOwnerSettlementOrderDetail(PageOwnerSettlementOwnerDetailParam param);
}
package com.clx.performance.struct.settle;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.IterableMapping;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {SettlementOwnerDetailEnum.class, SettlementOwnerEnum.class,DateUtils.class})
public interface SettlementOwnerDetailStruct {
List<CarrierPageSettlementOwnerDetailVO> covertList(List<SettlementOwnerDetail> list);
@Named("toBaseVo")
@Mapping(target = "invoiceTypeMsg", expression = "java(SettlementOwnerEnum.InvoiceType.getMsgByCode(settlementOwner.getInvoiceType()))")
@Mapping(target = "finalPaymentStatusMsg", expression = "java(SettlementOwnerDetailEnum.FinalPaymentStatus.getMsgByCode(settlementOwner.getInvoiceStatus()))")
@Mapping(target = "invoiceStatusMsg", expression = "java(SettlementOwnerDetailEnum.InvoiceStatus.getMsgByCode(settlementOwner.getStatus()))")
PageOwnerSettlementOwnerDetailVO convert(SettlementOwnerDetail settlementOwner);
@IterableMapping(qualifiedByName = "toBaseVo")
List<PageOwnerSettlementOwnerDetailVO> covertToOwnerList(List<SettlementOwnerDetail> list);
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论