提交 37754bdc authored 作者: 杨启发's avatar 杨启发

结算单优化

上级 755bd1be
...@@ -30,7 +30,7 @@ public enum SettlementOrderChildRiskEnum { ...@@ -30,7 +30,7 @@ public enum SettlementOrderChildRiskEnum {
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum processMethod { public enum ProcessMethod {
SYNC_RETRY(1, "重新同步"), SYNC_RETRY(1, "重新同步"),
CONVERT_NORMAL(2, "转普通单"), CONVERT_NORMAL(2, "转普通单"),
; ;
...@@ -38,12 +38,12 @@ public enum SettlementOrderChildRiskEnum { ...@@ -38,12 +38,12 @@ public enum SettlementOrderChildRiskEnum {
private final Integer code; private final Integer code;
private final String msg; private final String msg;
public static Optional<processMethod> getByCode(int code) { public static Optional<ProcessMethod> getByCode(int code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst(); return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst();
} }
public static String getMsgByCode(int code) { public static String getMsgByCode(int code) {
return getByCode(code).map(processMethod::getMsg).orElse(null); return getByCode(code).map(ProcessMethod::getMsg).orElse(null);
} }
} }
......
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class PageSettlementOrderChildRiskParam extends PageParam {
@ApiModelProperty(value = "运单编号")
private String childNo;
@ApiModelProperty(value="车牌号")
private String truckNo;
@ApiModelProperty(value = "处理状态:1待处理 2已处理")
private Integer status;
@ApiModelProperty(value="开始时间")
private String startTime;
@ApiModelProperty(value="结束时间")
private String endTime;
}
...@@ -28,9 +28,9 @@ public class PageCarrierSettlementDriverParam extends PageParam { ...@@ -28,9 +28,9 @@ public class PageCarrierSettlementDriverParam extends PageParam {
@ApiModelProperty(value="状态 1:待结算 2:已结算",example = "10") @ApiModelProperty(value="状态 1:待结算 2:已结算",example = "10")
private String status; private String status;
@ApiModelProperty(value="开始时间")
private String startTime;
@ApiModelProperty(value="结束时间")
private String endTime;
} }
...@@ -32,7 +32,7 @@ public class CarrierPageSettlementOwnerVO { ...@@ -32,7 +32,7 @@ public class CarrierPageSettlementOwnerVO {
@ApiModelProperty(value = "实际净重(吨)") @ApiModelProperty(value = "实际净重(吨)")
private BigDecimal weight; private BigDecimal weight;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "实际运费金额") @ApiModelProperty(value = "应付运费")
private BigDecimal freight; private BigDecimal freight;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "预付运费金额") @ApiModelProperty(value = "预付运费金额")
...@@ -68,4 +68,12 @@ public class CarrierPageSettlementOwnerVO { ...@@ -68,4 +68,12 @@ public class CarrierPageSettlementOwnerVO {
@ApiModelProperty("是否上报 0-否;1-是") @ApiModelProperty("是否上报 0-否;1-是")
private Integer reportFlag; private Integer reportFlag;
@ApiModelProperty("装车净重(单位吨)")
private BigDecimal loadNet;
@ApiModelProperty("卸车净重(单位吨)")
private BigDecimal unloadNet;
@ApiModelProperty("司机实收(分)")
private BigDecimal driverFreight;
} }
package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class SettlementOrderChildRiskVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "运单编号")
private String childNo;
@ApiModelProperty(value = "车牌号")
private String truckNo;
@ApiModelProperty(value = "司机名称")
private String driverName;
@ApiModelProperty(value = "司机联系电话")
private String driverMobile;
@ApiModelProperty(value = "货物名称")
private String goodsName;
@ApiModelProperty(value = "开票标识:1网运单 2普通单")
private Integer invoiceType;
@ApiModelProperty(value = "磅单审核通过时间")
private String poundAuditTime;
@ApiModelProperty(value = "风控标识:1同步失败 2结算打回")
private Integer riskType;
@ApiModelProperty(value = "风控失败原因")
private String riskRemark;
@ApiModelProperty(value = "处理方式:1重新同步 2转普通单")
private Integer processMethod;
@ApiModelProperty(value = "处理人")
private String processBy;
@ApiModelProperty(value = "处理时间")
private String processTime;
@ApiModelProperty(value = "处理状态:1待处理 2已处理")
private Integer status;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "修改时间")
private String modifiedTime;
}
\ No newline at end of file
...@@ -47,21 +47,21 @@ public class PageOwnerSettlementOwnerDetailVO { ...@@ -47,21 +47,21 @@ public class PageOwnerSettlementOwnerDetailVO {
private BigDecimal weight; private BigDecimal weight;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "1.23") @ApiModelProperty(value = "装车毛重(吨)", example = "1.23")
private BigDecimal loadRough; private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23") @ApiModelProperty(value = "装车皮重(吨)", example = "1.23")
private BigDecimal loadTare; private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23") @ApiModelProperty(value = "装车净重(吨)", example = "1.23")
private BigDecimal loadNet; private BigDecimal loadNet;
@ApiModelProperty(value = "卸货毛重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸车毛重(吨)", example = "1.23")
private BigDecimal unloadRough; private BigDecimal unloadRough;
@ApiModelProperty(value = "卸货皮重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸车皮重(吨)", example = "1.23")
private BigDecimal unloadTare; private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸车净重(吨)", example = "1.23")
private BigDecimal unloadNet; private BigDecimal unloadNet;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value="实际运费",example = "2.52") @ApiModelProperty(value="应付运费",example = "2.52")
private BigDecimal freight; private BigDecimal freight;
@MoneyOutConvert @MoneyOutConvert
...@@ -122,4 +122,6 @@ public class PageOwnerSettlementOwnerDetailVO { ...@@ -122,4 +122,6 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty(value="创建时间",example = "2013-01-01 00:00:00") @ApiModelProperty(value="创建时间",example = "2013-01-01 00:00:00")
private String createTime; private String createTime;
@ApiModelProperty(value="备注")
private String remark;
} }
\ No newline at end of file
package com.clx.performance.controller.pc.carrier; package com.clx.performance.controller.pc.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam; import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.clx.performance.service.settle.SettlementDriverService; import com.clx.performance.service.settle.SettlementDriverService;
...@@ -12,12 +13,17 @@ import io.swagger.annotations.Api; ...@@ -12,12 +13,17 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/pc/carrier/settlementDriver") @RequestMapping(value="/pc/carrier/settlementDriver")
...@@ -44,4 +50,12 @@ public class CarrierSettlementDriverController { ...@@ -44,4 +50,12 @@ public class CarrierSettlementDriverController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "导出车主结算单",notes = "<br>By:杨启发")
@PostMapping("/exportSettlementDriver")
public void exportSettlementDriver(@RequestBody @Validated PageCarrierSettlementDriverParam param, HttpServletResponse response) throws Exception {
try (SXSSFWorkbook workbook = settlementDriverService.exportSettlementDriver(param)) {
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
}
}
} }
...@@ -51,7 +51,7 @@ public class CarrierSettlementOwnerDetailController { ...@@ -51,7 +51,7 @@ public class CarrierSettlementOwnerDetailController {
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
} }
@ApiOperation(value = "货主结算单下载",notes = "<br>By:姜文业") @ApiOperation(value = "导出货主结算单运单明细",notes = "<br>By:姜文业")
@PostMapping("/exportOwnerSettlementOrderDetailList") @PostMapping("/exportOwnerSettlementOrderDetailList")
public void exportCarrierSettlementOwnerPageList(@RequestBody @Validated PageOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception { public void exportCarrierSettlementOwnerPageList(@RequestBody @Validated PageOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = settlementOwnerDetailService.exportOwnerSettlementOrderDetail(param); SXSSFWorkbook workbook = settlementOwnerDetailService.exportOwnerSettlementOrderDetail(param);
......
package com.clx.performance.controller.pc.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.service.settle.SettlementOrderChildRiskService;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/settlementOrderChildRisk")
@Validated
@Api(tags = "承运端-风控管理")
@AllArgsConstructor
public class SettlementOrderChildRiskController {
private final SettlementOrderChildRiskService settlementOrderChildRiskService;
@ApiOperation(value = "风控异常处理列表",notes = "<br>By:杨启发")
@PostMapping("/pageSettlementOrderChildRisk")
@UnitCovert(param = false)
public Result<PageData<SettlementOrderChildRiskVO>> pageSettlementOrderChildRisk(@RequestBody @Validated PageSettlementOrderChildRiskParam param) {
IPage<SettlementOrderChildRiskVO> page = settlementOrderChildRiskService.pageSettlementOrderChildRisk(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "导出风控异常处理",notes = "<br>By:杨启发")
@PostMapping("/exportSettlementOrderChildRisk")
public void exportSettlementOrderChildRisk(@RequestBody @Validated PageSettlementOrderChildRiskParam param, HttpServletResponse response) throws Exception {
try (SXSSFWorkbook workbook = settlementOrderChildRiskService.exportSettlementOrderChildRisk(param)) {
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
}
}
}
package com.clx.performance.dao.impl.settle; package com.clx.performance.dao.impl.settle;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -7,6 +8,7 @@ import com.clx.performance.dao.settle.SettlementDriverDao; ...@@ -7,6 +8,7 @@ import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.mapper.settle.SettlementDriverMapper; import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
...@@ -47,7 +49,11 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper, ...@@ -47,7 +49,11 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
if(StringUtils.isNotBlank(param.getDriverUserName())){ if(StringUtils.isNotBlank(param.getDriverUserName())){
query.like(SettlementDriver :: getDriverName,param.getDriverUserName()); query.like(SettlementDriver :: getDriverName,param.getDriverUserName());
} }
if(StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())){
query.between(SettlementDriver:: getCreateTime,param.getStartTime(),param.getEndTime());
}else {
query.between(SettlementDriver :: getCreateTime, LocalDateTimeUtil.now().minusMonths(3),LocalDateTimeUtil.now());
}
query.orderByDesc(SettlementDriver :: getCreateTime); query.orderByDesc(SettlementDriver :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
} }
......
package com.clx.performance.dao.impl.settle; package com.clx.performance.dao.impl.settle;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementOrderChildRiskDao; import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper; import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper;
import com.clx.performance.model.settle.SettlementOrderChildRisk; import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Objects;
@Repository @Repository
public class SettlementOrderChildRiskDaoImpl public class SettlementOrderChildRiskDaoImpl
extends BaseDaoImpl<SettlementOrderChildRiskMapper, SettlementOrderChildRisk, Integer> extends BaseDaoImpl<SettlementOrderChildRiskMapper, SettlementOrderChildRisk, Integer>
implements SettlementOrderChildRiskDao { implements SettlementOrderChildRiskDao {
@Override
public IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param) {
LambdaQueryWrapper<SettlementOrderChildRisk> query = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(param.getChildNo())){
query.eq(SettlementOrderChildRisk :: getChildNo,param.getChildNo());
}
if(StringUtils.isNotBlank(param.getTruckNo())){
query.eq(SettlementOrderChildRisk :: getTruckNo,param.getTruckNo());
}
if(Objects.nonNull(param.getStatus())){
query.eq(SettlementOrderChildRisk :: getStatus,param.getStatus());
}
if(StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())){
query.between(SettlementOrderChildRisk :: getCreateTime,param.getStartTime(),param.getEndTime());
}else {
query.between(SettlementOrderChildRisk :: getCreateTime, LocalDateTimeUtil.now().minusMonths(3),LocalDateTimeUtil.now());
}
query.orderByAsc(SettlementOrderChildRisk :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
} }
\ No newline at end of file
...@@ -24,6 +24,7 @@ import java.util.Objects; ...@@ -24,6 +24,7 @@ import java.util.Objects;
import static com.clx.performance.enums.settle.SettlementOwnerDetailEnum.HandleStatus.NO; import static com.clx.performance.enums.settle.SettlementOwnerDetailEnum.HandleStatus.NO;
import static com.clx.performance.enums.settle.SettlementOwnerDetailEnum.HandleStatus.YES; import static com.clx.performance.enums.settle.SettlementOwnerDetailEnum.HandleStatus.YES;
import static com.clx.performance.enums.settle.SettlementOwnerEnum.InvoiceType.ORDINARY;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
...@@ -112,6 +113,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -112,6 +113,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
public IPage<SettlementOwnerDetail> pageSettlementOwnerDetail( public IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(
PageCarrierSettlementOwnerDetailParam param) { PageCarrierSettlementOwnerDetailParam param) {
LambdaQueryWrapper<SettlementOwnerDetail> query = buildQuery(param); LambdaQueryWrapper<SettlementOwnerDetail> query = buildQuery(param);
query.orderByDesc(SettlementOwnerDetail ::getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
} }
...@@ -134,7 +136,6 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -134,7 +136,6 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
}else { }else {
query.between(SettlementOwnerDetail :: getCreateTime, LocalDateTimeUtil.now().minusMonths(3),LocalDateTimeUtil.now()); query.between(SettlementOwnerDetail :: getCreateTime, LocalDateTimeUtil.now().minusMonths(3),LocalDateTimeUtil.now());
} }
query.orderByDesc(SettlementOwnerDetail ::getCreateTime);
return query; return query;
} }
...@@ -220,11 +221,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -220,11 +221,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
@Override @Override
public IPage<SettlementOwnerDetail> pagePendingSettlementOwnerDetail(PagePendingCarrierSettlementOwnerDetailParam param) { public IPage<SettlementOwnerDetail> pagePendingSettlementOwnerDetail(PagePendingCarrierSettlementOwnerDetailParam param) {
LambdaQueryWrapper<SettlementOwnerDetail> query = buildQuery(param); LambdaQueryWrapper<SettlementOwnerDetail> query = buildQuery(param);
query.eq(SettlementOwnerDetail::getInvoiceType,ORDINARY.getCode());
//todo 演练数据不展示,根据上线时间排除
if (Objects.equals(param.getHandleStatus(),NO.getCode())) { if (Objects.equals(param.getHandleStatus(),NO.getCode())) {
query.isNull(SettlementOwnerDetail::getInvoicingCompanyId); query.isNull(SettlementOwnerDetail::getInvoicingCompanyId);
}else if (Objects.equals(param.getHandleStatus(),YES.getCode())){ }else if (Objects.equals(param.getHandleStatus(),YES.getCode())){
query.isNotNull(SettlementOwnerDetail::getInvoicingCompanyId); query.isNotNull(SettlementOwnerDetail::getInvoicingCompanyId);
} }
query.orderByAsc(SettlementOwnerDetail ::getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
} }
......
package com.clx.performance.dao.settle; package com.clx.performance.dao.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper; import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper;
import com.clx.performance.model.settle.SettlementOrderChildRisk; import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
public interface SettlementOrderChildRiskDao public interface SettlementOrderChildRiskDao
extends BaseDao<SettlementOrderChildRiskMapper, extends BaseDao<SettlementOrderChildRiskMapper,
SettlementOrderChildRisk, Integer> { SettlementOrderChildRisk, Integer> {
IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
} }
\ No newline at end of file
...@@ -36,7 +36,10 @@ public class SettlementOwner implements HasKey<Integer> { ...@@ -36,7 +36,10 @@ public class SettlementOwner implements HasKey<Integer> {
private LocalDateTime settlementPeriodTime; //结算周期时间(月结) private LocalDateTime settlementPeriodTime; //结算周期时间(月结)
private String orderNo; //订单编号 private String orderNo; //订单编号
private BigDecimal weight; //实际净重(吨) private BigDecimal weight; //实际净重(吨)
private BigDecimal loadNet; //装货净重(单位吨)
private BigDecimal unloadNet; //卸货净重(单位吨)
private BigDecimal freight; //实际运费(分) private BigDecimal freight; //实际运费(分)
private BigDecimal driverFreight; //司机实收(分)
private BigDecimal lossWeight; //货损吨数(吨) private BigDecimal lossWeight; //货损吨数(吨)
private BigDecimal lossFreight; //货损金额(分) private BigDecimal lossFreight; //货损金额(分)
private BigDecimal prepayFreight; //预付运费金额(分) private BigDecimal prepayFreight; //预付运费金额(分)
......
...@@ -51,6 +51,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> { ...@@ -51,6 +51,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private BigDecimal unloadNet; //卸货净重(单位吨) private BigDecimal unloadNet; //卸货净重(单位吨)
private BigDecimal freight; //实际运费(分) private BigDecimal freight; //实际运费(分)
private BigDecimal driverFreight; //司机实收(分)
private BigDecimal lossPrice; //损耗单价(分) private BigDecimal lossPrice; //损耗单价(分)
private BigDecimal lossWeight; //货损吨数(吨) private BigDecimal lossWeight; //货损吨数(吨)
private BigDecimal lossFreight; //货损金额(分) private BigDecimal lossFreight; //货损金额(分)
......
...@@ -7,6 +7,9 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao; ...@@ -7,6 +7,9 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementPlatformEnum;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam; import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam;
...@@ -14,14 +17,21 @@ import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; ...@@ -14,14 +17,21 @@ import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.clx.performance.service.settle.SettlementDriverService; import com.clx.performance.service.settle.SettlementDriverService;
import com.clx.performance.service.settle.SettlementMqHandlerService; import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.struct.settle.SettlementDriverStruct; import com.clx.performance.struct.settle.SettlementDriverStruct;
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.CarrierPageSettlementDriverVO; import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -76,6 +86,87 @@ public class SettlementDriverServiceImpl implements SettlementDriverService { ...@@ -76,6 +86,87 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
} }
} }
@Override
public SXSSFWorkbook exportSettlementDriver(PageCarrierSettlementDriverParam param) {
param.setPage(1);
param.setPageSize(1000000);
IPage<CarrierPageSettlementDriverVO> settlementDriverPage = pageCarrierSettlementDriver(param);
List<CarrierPageSettlementDriverVO> list = settlementDriverPage.getRecords();
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(1, "货单编号", "orderGoodsNo", 5000));
fieldList.add(new ExcelField(2, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(3, "车主编码", "driverUserNo", 5000));
fieldList.add(new ExcelField(4, "车主名称", "driverName", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(6, "预付标识", "prepayFreightFlag", 5000));
fieldList.add(new ExcelField(7, "借款标识", "loanFlagMsg", 5000));
fieldList.add(new ExcelField(8, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(9, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(10, "实际净重(吨)", "weight", 5000));
fieldList.add(new ExcelField(11, "运费单价", "freightPrice", 5000));
fieldList.add(new ExcelField(12, "实际运费金额", "freight", 5000));
fieldList.add(new ExcelField(13, "货损单价", "lossPrice", 5000));
fieldList.add(new ExcelField(14, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(15, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(16, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(17, "状态", "status", 5000));
fieldList.add(new ExcelField(18, "结算结果", "settlementResult", 5000));
fieldList.add(new ExcelField(19, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(20, "结算平台", "settlementPlatform", 5000));
fieldList.add(new ExcelField(21, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(22, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(23, "毛利率", "grossMargin", 5000));
fieldList.add(new ExcelField(24, "毛利润", "grossProfit", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (CarrierPageSettlementDriverVO vo : list) {
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(vo.getChildNo()));
rowData.add(new ExcelData(vo.getOrderGoodsNo()));
rowData.add(new ExcelData(vo.getOrderNo()));
rowData.add(new ExcelData(vo.getDriverUserNo()+""));
rowData.add(new ExcelData(vo.getDriverName()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(vo.getPrepayFreightFlag())));
rowData.add(new ExcelData(vo.getLoanFlagMsg()));
rowData.add(new ExcelData(vo.getTruckNo()));
rowData.add(new ExcelData(SettlementDriverEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getWeight()));
rowData.add(new ExcelData(vo.getFreightPrice()));
rowData.add(new ExcelData(vo.getFreight()));
rowData.add(new ExcelData(vo.getLossPrice()));
rowData.add(new ExcelData(vo.getLossWeight()));
rowData.add(new ExcelData(vo.getLossFreight()));
rowData.add(new ExcelData(vo.getSettlementFreight()));
rowData.add(new ExcelData(SettlementDriverEnum.Status.getMsgByCode(vo.getStatus())));
rowData.add(new ExcelData("-"));
rowData.add(new ExcelData(vo.getSettlementNo()));
rowData.add(new ExcelData(SettlementPlatformEnum.Platform.getMsgByCode(Integer.parseInt(vo.getSettlementPlatform()))));
rowData.add(new ExcelData(vo.getCreateTime()));
rowData.add(new ExcelData(vo.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData("0"));
rowData.add(new ExcelData("0"));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("车主结算单", "车主结算单", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
public static String formatPayMsg(Integer settlementStatus,String payMsg) { public static String formatPayMsg(Integer settlementStatus,String payMsg) {
if (!Objects.equals(settlementStatus, SettlementDriverEnum.Status.SETTLED.getCode()) || StringUtils.equals("success",payMsg)) { if (!Objects.equals(settlementStatus, SettlementDriverEnum.Status.SETTLED.getCode()) || StringUtils.equals("success",payMsg)) {
return null; return null;
......
package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.service.settle.SettlementOrderChildRiskService;
import com.clx.performance.struct.settle.SettlementOrderChildRiskStruct;
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.CarrierPageSettlementDriverDetailVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
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;
@Service
@Slf4j
@AllArgsConstructor
public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChildRiskService {
private final SettlementOrderChildRiskDao settlementOrderChildRiskDao;
private final SettlementOrderChildRiskStruct settlementOrderChildRiskStruct;
@Override
public IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk(
PageSettlementOrderChildRiskParam param) {
IPage<SettlementOrderChildRisk> result = settlementOrderChildRiskDao.pageSettlementOrderChildRisk(param);
List<SettlementOrderChildRiskVO> list = settlementOrderChildRiskStruct.covertList(result.getRecords());
return new Page<SettlementOrderChildRiskVO>().setRecords(list).setTotal(result.getTotal()).setPages(result.getPages());
}
@Override
public SXSSFWorkbook exportSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param) {
param.setPage(1);
param.setPageSize(1000000);
IPage<SettlementOrderChildRiskVO> settlementDriverDetailPage = pageSettlementOrderChildRisk(param);
List<SettlementOrderChildRiskVO> list = settlementDriverDetailPage.getRecords();
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(1, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(2, "司机名称", "driverName", 5000));
fieldList.add(new ExcelField(3, "司机联系电话", "driverMobile", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(6, "风控标识", "riskType", 5000));
fieldList.add(new ExcelField(7, "风控失败原因", "riskRemark", 5000));
fieldList.add(new ExcelField(8, "处理状态", "status", 5000));
fieldList.add(new ExcelField(9, "处理方式", "processMethod", 5000));
fieldList.add(new ExcelField(10, "磅单审核通过时间", "poundAuditTime", 5000));
fieldList.add(new ExcelField(11, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(12, "处理人", "processBy", 5000));
fieldList.add(new ExcelField(13, "处理时间", "processTime", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (SettlementOrderChildRiskVO vo : list) {
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(vo.getChildNo()));
rowData.add(new ExcelData(vo.getTruckNo()));
rowData.add(new ExcelData(vo.getDriverName()));
rowData.add(new ExcelData(vo.getDriverMobile()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(SettlementOwnerEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.RiskType.getMsgByCode(vo.getRiskType())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.Status.getMsgByCode(vo.getStatus())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.ProcessMethod.getMsgByCode(vo.getProcessMethod())));
rowData.add(new ExcelData(vo.getPoundAuditTime()));
rowData.add(new ExcelData(vo.getCreateTime()));
rowData.add(new ExcelData(vo.getProcessBy()));
rowData.add(new ExcelData(vo.getProcessTime()));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("风控异常列表", "风控异常列表", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
}
...@@ -199,26 +199,35 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -199,26 +199,35 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
fieldList.add(new ExcelField(2, "货主编码", "ownerUserNno", 5000)); fieldList.add(new ExcelField(2, "货主编码", "ownerUserNno", 5000));
fieldList.add(new ExcelField(3, "结算方式", "settlementWay", 5000)); fieldList.add(new ExcelField(3, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000)); fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "实际净重(吨)", "weight", 5000)); fieldList.add(new ExcelField(5, "装车皮重(吨)", "loadTare", 5000));
fieldList.add(new ExcelField(6, "平台运费报价", "freightPrice", 5000)); fieldList.add(new ExcelField(6, "装车毛重(吨)", "loadRough", 5000));
fieldList.add(new ExcelField(7, "实际运费金额", "freight", 5000)); fieldList.add(new ExcelField(7, "装车净重(吨)", "loadNet", 5000));
fieldList.add(new ExcelField(8, "货损吨数", "lossWeight", 5000)); fieldList.add(new ExcelField(8, "卸车毛重(吨)", "unloadRough", 5000));
fieldList.add(new ExcelField(9, "货损单价", "lossPrice", 5000)); fieldList.add(new ExcelField(9, "卸车皮重(吨)", "unloadTare", 5000));
fieldList.add(new ExcelField(10, "货损金额", "lossFreight", 5000)); fieldList.add(new ExcelField(10, "卸车净重(吨)", "unloadNet", 5000));
fieldList.add(new ExcelField(11, "开票费率", "invoiceServiceFeeRate", 5000)); fieldList.add(new ExcelField(11, "实际净重(吨)", "weight", 5000));
fieldList.add(new ExcelField(12, "开票服务费", "invoiceServiceFee", 5000)); fieldList.add(new ExcelField(12, "平台运费报价", "freightPrice", 5000));
fieldList.add(new ExcelField(13, "预付运费金额", "prepayFreight", 5000)); fieldList.add(new ExcelField(13, "应付运费", "freight", 5000));
fieldList.add(new ExcelField(14, "结算金额", "settlementFreight", 5000)); fieldList.add(new ExcelField(14, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(15, "借款抵扣金额", "loanFreight", 5000)); fieldList.add(new ExcelField(15, "货损单价", "lossPrice", 5000));
fieldList.add(new ExcelField(16, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(16, "开票金额", "invoiceFreight", 5000)); fieldList.add(new ExcelField(17, "司机实收", "driverActualIncome", 5000));
fieldList.add(new ExcelField(17, "开票标识", "invoiceType", 5000)); fieldList.add(new ExcelField(18, "管理费率(%)", "invoiceServiceFeeRate", 5000));
fieldList.add(new ExcelField(18, "订单编号", "orderNo", 5000)); fieldList.add(new ExcelField(19, "管理费", "invoiceServiceFee", 5000));
fieldList.add(new ExcelField(19, "结算单号", "settlementNo", 15000)); fieldList.add(new ExcelField(20, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(20, "结算子单号", "settlementSubNo", 15000)); fieldList.add(new ExcelField(21, "借款抵扣金额", "loanFreight", 5000));
fieldList.add(new ExcelField(21, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(22, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(22, "是否已付尾款", "finalPaymentStatus", 5000));
fieldList.add(new ExcelField(23, "是否已开票", "invoiceStatus", 5000)); fieldList.add(new ExcelField(23, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(24, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(25, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(26, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(27, "结算单号", "settlementNo", 15000));
fieldList.add(new ExcelField(28, "结算子单号", "settlementSubNo", 15000));
fieldList.add(new ExcelField(29, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(30, "是否已付尾款", "finalPaymentStatus", 5000));
fieldList.add(new ExcelField(31, "是否已开票", "invoiceStatus", 5000));
fieldList.add(new ExcelField(32, "备注", "remark", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -234,19 +243,28 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -234,19 +243,28 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData.add(new ExcelData(dto.getOwnerUserNo()+"")); rowData.add(new ExcelData(dto.getOwnerUserNo()+""));
rowData.add(new ExcelData(settlementWay)); rowData.add(new ExcelData(settlementWay));
rowData.add(new ExcelData(dto.getGoodsName())); rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getLoadTare()));
rowData.add(new ExcelData(dto.getLoadRough()));
rowData.add(new ExcelData(dto.getLoadNet()));
rowData.add(new ExcelData(dto.getUnloadRough()));
rowData.add(new ExcelData(dto.getUnloadTare()));
rowData.add(new ExcelData(dto.getUnloadNet()));
rowData.add(new ExcelData(dto.getWeight())); rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreightPrice().movePointLeft(2))); rowData.add(new ExcelData(dto.getFreightPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLossWeight())); rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossPrice().movePointLeft(2))); rowData.add(new ExcelData(dto.getLossPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLossFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getLossFreight().movePointLeft(2)));
//司机实收=应付运费-货损金额
rowData.add(new ExcelData(dto.getFreight().subtract(dto.getLossFreight())));
rowData.add(new ExcelData(dto.getInvoiceServiceFeeRate().toString()+ "%")); rowData.add(new ExcelData(dto.getInvoiceServiceFeeRate().toString()+ "%"));
rowData.add(new ExcelData(dto.getInvoiceServiceFee().movePointLeft(2))); rowData.add(new ExcelData(dto.getInvoiceServiceFee().movePointLeft(2)));
rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceTypeMsg())); rowData.add(new ExcelData(dto.getInvoiceTypeMsg()));
rowData.add(new ExcelData(dto.getOrderNo())); rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getSettlementNo())); rowData.add(new ExcelData(dto.getSettlementNo()));
...@@ -254,6 +272,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -254,6 +272,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData.add(new ExcelData(dto.getCreateTime())); rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(dto.getFinalPaymentStatusMsg())); rowData.add(new ExcelData(dto.getFinalPaymentStatusMsg()));
rowData.add(new ExcelData(dto.getInvoiceStatusMsg())); rowData.add(new ExcelData(dto.getInvoiceStatusMsg()));
rowData.add(new ExcelData(dto.getRemark()));
dataList.add(rowData); dataList.add(rowData);
} }
......
...@@ -423,18 +423,21 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -423,18 +423,21 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
fieldList.add(new ExcelField(4, "货主名称", "ownerUserName", 5000)); fieldList.add(new ExcelField(4, "货主名称", "ownerUserName", 5000));
fieldList.add(new ExcelField(5, "结算方式", "settlementWay", 5000)); fieldList.add(new ExcelField(5, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(6, "订单编号", "orderNo", 15000)); fieldList.add(new ExcelField(6, "订单编号", "orderNo", 15000));
fieldList.add(new ExcelField(7, "实际净重", "weight", 5000)); fieldList.add(new ExcelField(7, "装车净重", "loadNet", 15000));
fieldList.add(new ExcelField(8, "实际运费金额", "freight", 5000)); fieldList.add(new ExcelField(8, "卸车净重", "unloadNet", 15000));
fieldList.add(new ExcelField(9, "预付运费金额", "prepayFreight", 5000)); fieldList.add(new ExcelField(9, "实际净重", "weight", 5000));
fieldList.add(new ExcelField(10, "货损吨数", "lossWeight", 5000)); fieldList.add(new ExcelField(10, "应付运费", "freight", 5000));
fieldList.add(new ExcelField(11, "货损金额", "lossFreight", 5000)); fieldList.add(new ExcelField(11, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(12, "开票服务费", "invoiceServiceFee", 5000)); fieldList.add(new ExcelField(12, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(13, "借款抵扣金额", "loanFreight", 5000)); fieldList.add(new ExcelField(13, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(14, "结算金额", "settlementFreight", 5000)); fieldList.add(new ExcelField(14, "管理费", "invoiceServiceFee", 5000));
fieldList.add(new ExcelField(15, "开票金额", "invoiceFreight", 5000)); fieldList.add(new ExcelField(15, "借款抵扣金额", "loanFreight", 5000));
fieldList.add(new ExcelField(16, "开票公司", "invoiceCompany", 5000)); fieldList.add(new ExcelField(16, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(17, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(17, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(18, "状态", "status", 5000)); fieldList.add(new ExcelField(18, "司机实收", "driverFreight", 5000));
fieldList.add(new ExcelField(19, "开票公司", "invoiceCompany", 5000));
fieldList.add(new ExcelField(20, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(21, "状态", "status", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -450,6 +453,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -450,6 +453,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
rowData.add(new ExcelData(dto.getOwnerName())); rowData.add(new ExcelData(dto.getOwnerName()));
rowData.add(new ExcelData(SettlementWayEnum.WayType.getMsgByCode(dto.getSettlementWay()))); rowData.add(new ExcelData(SettlementWayEnum.WayType.getMsgByCode(dto.getSettlementWay())));
rowData.add(new ExcelData(dto.getOrderNo())); rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getLoadNet()));
rowData.add(new ExcelData(dto.getUnloadNet()));
rowData.add(new ExcelData(dto.getWeight())); rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2)));
...@@ -459,6 +464,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -459,6 +464,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getDriverFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getCreateTime())); rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(SettlementOwnerEnum.Status.getMsgByCode(dto.getStatus()))); rowData.add(new ExcelData(SettlementOwnerEnum.Status.getMsgByCode(dto.getStatus())));
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam; import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO; import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
/** /**
* @author liruixin * @author liruixin
...@@ -14,4 +15,6 @@ public interface SettlementDriverService { ...@@ -14,4 +15,6 @@ public interface SettlementDriverService {
IPage<CarrierPageSettlementDriverVO> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param); IPage<CarrierPageSettlementDriverVO> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param);
void updateBatchPayDriverSettlement(BatchUpdatePayDriverSettlementParam param); void updateBatchPayDriverSettlement(BatchUpdatePayDriverSettlementParam param);
SXSSFWorkbook exportSettlementDriver(PageCarrierSettlementDriverParam param);
} }
package com.clx.performance.service.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
public interface SettlementOrderChildRiskService {
IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
SXSSFWorkbook exportSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
}
package com.clx.performance.struct.settle;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface SettlementOrderChildRiskStruct {
List<SettlementOrderChildRiskVO> covertList(List<SettlementOrderChildRisk> records);
SettlementOrderChildRiskVO convert(SettlementOrderChildRisk detail);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论