提交 2a046e48 authored 作者: 李瑞鑫's avatar 李瑞鑫

承运运单列表导出

上级 a20563c7
......@@ -2,10 +2,9 @@ package com.clx.performance.controller.pc;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.service.OrderChildPoundAuditService;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.pc.*;
import com.msl.common.base.PageData;
......@@ -15,9 +14,13 @@ 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.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.Collections;
import java.util.Comparator;
......@@ -44,6 +47,16 @@ public class CarrierOrderChildController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出",notes = "<br>By:李瑞新")
@PostMapping("/exportCarrierOrderChildList")
public Result exportCarrierOrderChildList(@RequestBody PageCarrierOrderChildParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = orderChildService.exportCarrierOrderChildList(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
return null;
}
@ApiOperation(value = "运单详情详情",notes = "<br>By:李瑞新")
@GetMapping("/getCarrierOrderChildDetail")
......
......@@ -42,7 +42,7 @@ public class CarrierBreakContractSettlementDriverController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出")
@ApiOperation(value = "导出",notes = "<br>By:李瑞新")
@PostMapping("/exportCarrierBreakContractSettlementDriverList")
public Result exportCarrierBreakContractSettlementDriverList(@RequestBody PageCarrierBreakContractSettlementDriverParam param, HttpServletResponse response) throws Exception {
......
......@@ -7,10 +7,12 @@ import com.clx.performance.param.app.*;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.feign.CancelOrderGoodsParam;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*;
import com.msl.common.base.PageParam;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import java.math.BigDecimal;
import java.util.List;
......@@ -58,6 +60,8 @@ public interface OrderChildService {
IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param);
SXSSFWorkbook exportCarrierOrderChildList(PageCarrierOrderChildParam param);
List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param);
CarrierOrderChildDetailVO getCarrierOrderChildDetail(String childNo);
......
......@@ -49,12 +49,17 @@ import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.struct.*;
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.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
......@@ -74,6 +79,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.amqp.core.AmqpTemplate;
......@@ -2140,6 +2146,82 @@ public class OrderChildServiceImpl implements OrderChildService {
return orderChildDao.pageCarrierOrderChildList(param);
}
@Override
public SXSSFWorkbook exportCarrierOrderChildList(PageCarrierOrderChildParam param) {
param.setPage(1);
param.setPageSize(1000000);
IPage<PageCarrierOrderChildVO> orderChildList = pageCarrierOrderChildList(param);
List<PageCarrierOrderChildVO> list = orderChildList.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, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(3, "运单状态", "status", 5000));
fieldList.add(new ExcelField(4, "货单编号", "goodsOrderNo", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(6, "司机姓名", "driverName", 5000));
fieldList.add(new ExcelField(7, "手机号", "phone", 5000));
fieldList.add(new ExcelField(8, "运费单价", "frightPrice", 5000));
fieldList.add(new ExcelField(9, "装车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(10, "装车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(11, "装车净重", "loadNet", 5000));
fieldList.add(new ExcelField(12, "卸车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(13, "卸车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(14, "卸车净重", "unloadNet", 5000));
fieldList.add(new ExcelField(15, "接单时间", "payTime", 5000));
fieldList.add(new ExcelField(16, "完成时间", "finishTime", 5000));
fieldList.add(new ExcelField(17, "发货地址", "sendAddress", 10000));
fieldList.add(new ExcelField(18, "收货地址", "receiveAddress", 10000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (int i=0; i<list.size(); i++){
PageCarrierOrderChildVO 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.getTruckNo()));
if(Objects.isNull(dto.getStatus())){
rowData.add(new ExcelData(""));
}else{
rowData.add(new ExcelData(OrderChildEnum.Status.getMsgByCode(dto.getStatus())));
}
rowData.add(new ExcelData(dto.getOrderGoodsNo()));
rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getDriverName()));
rowData.add(new ExcelData(dto.getDriverMobile()));
rowData.add(new ExcelData(dto.getFreightPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLoadRough()));
rowData.add(new ExcelData(dto.getLoadTare()));
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.getPayTime()));
rowData.add(new ExcelData(dto.getFinishTime()));
rowData.add(new ExcelData(dto.getSendAddress()));
rowData.add(new ExcelData(dto.getReceiveAddress()));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("运单列表", "运单列表", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
@Override
public List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param) {
List<OrderChild> orderChildren = orderChildDao.getOrderChildInfoByOrderGoodsNo(param);
......
package com.clx.performance.sqlProvider;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
......@@ -127,6 +128,9 @@ public class OrderChildSqlProvider {
if(StringUtils.isNotBlank(param.getReceiveAddress())){WHERE("receive_address like CONCAT(#{param.receiveAddress},'%') ");}
if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no like '%"+ param.getTruckNo() +"%'");}
if (CollectionUtil.isNotEmpty(param.getStatusList())) {
WHERE("status in (" + StringUtils.join(param.getStatusList(), ",") +")");
}
ORDER_BY("id desc");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论