diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java index c3b112f53..5b5126ec4 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java @@ -2,25 +2,20 @@ package com.logpm.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.logpm.report.excel.BillLoadingReportExcel; +import com.logpm.report.query.BillDetailsQuery; +import com.logpm.report.query.BillLoadingTasksQuery; import com.logpm.report.service.IReportBillLoadingAsyncService; import com.logpm.report.vo.BillLoadingDetailsVO; +import com.logpm.report.vo.BillLoadingTasksVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.springblade.core.excel.util.ExcelUtil; -import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.DateUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; /** * 自提单包条控制器 @@ -33,34 +28,35 @@ public class ReportBillLoadingController { private IReportBillLoadingAsyncService reportBillLoadingAsyncService; - /** - * 导出数据 - */ - @GetMapping("/export-billLoading") - @ApiOperationSupport(order = 2) - @ApiOperation(value = "导出数据", notes = "传入distributionDeliveryList") - public R exportBillLoading(@ApiIgnore @RequestParam Map param, HttpServletResponse response) { - List list = reportBillLoadingAsyncService.exportBillLoading(param); - ExcelUtil.export(response, "配送管理数据" + DateUtil.time(), "配送管理数据表", list, BillLoadingReportExcel.class); + @GetMapping("/tasks") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "自提任务维度", notes = "自提任务维度") + public R> tasksPage(BillLoadingTasksVO vo, BillLoadingTasksQuery query) { + IPage pages = reportBillLoadingAsyncService.tasksPage(vo, query); + return R.data(pages); + } - return R.status(true); + @GetMapping("/exportTasks") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "导出自提任务维度", notes = "导出自提任务维度") + public void exportTasks(HttpServletResponse response, BillLoadingTasksVO vo, BillLoadingTasksQuery query) { + reportBillLoadingAsyncService.exportTasks(response, vo, query); } @GetMapping("/details") @ApiOperationSupport(order = 3) @ApiOperation(value = "自提明细报表", notes = "自提明细报表") - public R> detailsPage(BillLoadingDetailsVO vo, Query query) { + public R> detailsPage(BillLoadingDetailsVO vo, BillDetailsQuery query) { IPage pages = reportBillLoadingAsyncService.detailsPage(vo, query); - return R.data(pages); } @GetMapping("/exportDetails") @ApiOperationSupport(order = 4) @ApiOperation(value = "导出自提明细报表", notes = "导出自提明细报表") - public void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo) { + public void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo, BillDetailsQuery query) { try { - reportBillLoadingAsyncService.exportDetails(response, vo); + reportBillLoadingAsyncService.exportDetails(response, vo, query); } catch (Exception e) { e.printStackTrace(); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java index 820cfc2e9..78610e595 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java @@ -18,6 +18,9 @@ package com.logpm.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.logpm.report.query.DevilerDetailsQuery; +import com.logpm.report.query.ReportCustomerQuery; +import com.logpm.report.query.ReportDevilerQuery; import com.logpm.report.service.ReportDeliverService; import com.logpm.report.vo.ReportCustomerVO; import com.logpm.report.vo.ReportDetailVO; @@ -26,7 +29,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -51,7 +53,7 @@ public class ReportDeliveryController extends BladeController { @GetMapping("/train") @ApiOperationSupport(order = 1) @ApiOperation(value = "配送车次报表", notes = "配送车次报表") - public R> deliveryTrainPage(ReportDevilerVO vo, Query query) { + public R> deliveryTrainPage(ReportDevilerVO vo, ReportDevilerQuery query) { IPage pages = reportDeliverService.deliveryTrainPage(vo, query); return R.data(pages); @@ -60,18 +62,14 @@ public class ReportDeliveryController extends BladeController { @GetMapping("/exportTrain") @ApiOperationSupport(order = 2) @ApiOperation(value = "导出配送车次报表", notes = "导出配送车次报表") - public void exportTrain(HttpServletResponse response, ReportDevilerVO vo) { - try { - reportDeliverService.exportTrain(response, vo); - } catch (Exception e) { - e.printStackTrace(); - } + public void exportTrain(HttpServletResponse response, ReportDevilerVO vo, ReportDevilerQuery query) { + reportDeliverService.exportTrain(response, vo, query); } @GetMapping("/customer") @ApiOperationSupport(order = 3) @ApiOperation(value = "配送客户报表", notes = "配送客户报表") - public R> customerPage(ReportCustomerVO vo, Query query) { + public R> customerPage(ReportCustomerVO vo, ReportCustomerQuery query) { IPage pages = reportDeliverService.customerPage(vo, query); return R.data(pages); } @@ -79,18 +77,14 @@ public class ReportDeliveryController extends BladeController { @GetMapping("/exportCustomer") @ApiOperationSupport(order = 4) @ApiOperation(value = "导出配送客户报表", notes = "导出配送客户报表") - public void exportCustomer(HttpServletResponse response, ReportCustomerVO vo) { - try { - reportDeliverService.exportCustomer(response, vo); - } catch (Exception e) { - e.printStackTrace(); - } + public void exportCustomer(HttpServletResponse response, ReportCustomerVO vo, ReportCustomerQuery query) { + reportDeliverService.exportCustomer(response, vo, query); } @GetMapping("/details") @ApiOperationSupport(order = 5) @ApiOperation(value = "配送明细报表", notes = "配送明细报表") - public R> detailsPage(ReportDetailVO vo, Query query) { + public R> detailsPage(ReportDetailVO vo, DevilerDetailsQuery query) { IPage pages = reportDeliverService.detailsPage(vo, query); return R.data(pages); } @@ -98,9 +92,9 @@ public class ReportDeliveryController extends BladeController { @GetMapping("/exportDetails") @ApiOperationSupport(order = 6) @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") - public void exportDetails(HttpServletResponse response, ReportDetailVO vo) { + public void exportDetails(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) { try { - reportDeliverService.exportDetails(response, vo); + reportDeliverService.exportDetails(response, vo, query); } catch (Exception e) { e.printStackTrace(); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java index 91b9baeb0..b13534f76 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java @@ -18,14 +18,17 @@ package com.logpm.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.logpm.report.query.StockDetailsQuery; +import com.logpm.report.query.StockInQuery; +import com.logpm.report.query.StockOutQuery; import com.logpm.report.service.ReportStockService; import com.logpm.report.vo.ReportInStockVO; +import com.logpm.report.vo.ReportOutStockVO; import com.logpm.report.vo.StockDetailsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -50,7 +53,7 @@ public class ReportStockController extends BladeController { @GetMapping("/details") @ApiOperationSupport(order = 1) @ApiOperation(value = "库存品表", notes = "库存品表") - public R> detailsPage(StockDetailsVO vo, Query query) { + public R> detailsPage(StockDetailsVO vo, StockDetailsQuery query) { IPage pages = stockService.detailsPage(vo, query); return R.data(pages); } @@ -58,31 +61,38 @@ public class ReportStockController extends BladeController { @GetMapping("/exportDetails") @ApiOperationSupport(order = 2) @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") - public void exportDetails(HttpServletResponse response, StockDetailsVO vo) { - try { - stockService.exportDetails(response, vo); - } catch (Exception e) { - e.printStackTrace(); - } + public void exportDetails(HttpServletResponse response, StockDetailsVO vo, StockDetailsQuery query) { + stockService.exportDetails(response, vo, query); } @GetMapping("/inStocks") @ApiOperationSupport(order = 3) @ApiOperation(value = "库存入库明细", notes = "库存入库明细") - public R> inStocks(ReportInStockVO vo, Query query) { + public R> inStocks(ReportInStockVO vo, StockInQuery query) { IPage pages = stockService.inStocks(vo, query); return R.data(pages); } @GetMapping("/exportInStocks") @ApiOperationSupport(order = 4) - @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") - public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) { - try { - stockService.exportInStocks(response, vo); - } catch (Exception e) { - e.printStackTrace(); - } + @ApiOperation(value = "导出库存入库明细", notes = "导出库存入库明细") + public void exportInStocks(HttpServletResponse response, ReportInStockVO vo, StockInQuery query) { + stockService.exportInStocks(response, vo, query); + } + + @GetMapping("/outStocks") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "库存出库明细", notes = "库存出库明细") + public R> outStocks(ReportOutStockVO vo, StockOutQuery query) { + IPage pages = stockService.outStocks(vo, query); + return R.data(pages); + } + + @GetMapping("/exportOutStocks") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "导出库存出库明细", notes = "导出库存出库明细") + public void exportOutStocks(HttpServletResponse response, ReportOutStockVO vo, StockOutQuery query) { + stockService.exportOutStocks(response, vo, query); } } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/excel/BillLoadingReportExcel.java b/blade-service/logpm-report/src/main/java/com/logpm/report/excel/BillLoadingReportExcel.java deleted file mode 100644 index f4b53a687..000000000 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/excel/BillLoadingReportExcel.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.logpm.report.excel; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.alibaba.excel.annotation.write.style.ContentRowHeight; -import com.alibaba.excel.annotation.write.style.HeadRowHeight; -import lombok.Data; - -import java.io.Serializable; - -/** - * 自提导出Excle实体 - */ -@Data -@ColumnWidth(25) -@HeadRowHeight(20) -@ContentRowHeight(18) -public class BillLoadingReportExcel implements Serializable { - - private static final long serialVersionUID = 1L; - - @ColumnWidth(20) - @ExcelProperty("提货件数") - private String BillLoadingNum; - - @ColumnWidth(20) - @ExcelProperty("到付运费") - private String collectPaymentFee; - - @ColumnWidth(20) - @ExcelProperty("搬运费") - private String transportFee; - - @ColumnWidth(20) - @ExcelProperty("仓储费") - private String storageFee; - - @ColumnWidth(20) - @ExcelProperty("叉车费") - private String forkliftFee; - - @ColumnWidth(20) - @ExcelProperty("增值费") - private String addValueFee; - - @ColumnWidth(20) - @ExcelProperty("增值费") - private String amountToFee; - - @ColumnWidth(20) - @ExcelProperty("创建时间") - private String createdTime; - - -} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.java b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.java index f03bf2c57..266f79f06 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.java @@ -1,26 +1,20 @@ package com.logpm.report.mapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.logpm.report.excel.BillLoadingReportExcel; import com.logpm.report.vo.BillLoadingDetailsVO; +import com.logpm.report.vo.BillLoadingTasksVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; @Mapper public interface ReportBillLoadingMapper extends BaseMapper { + List getDetailsPage(IPage page,@Param("ew") Wrapper queryWrapper); - /** - * 导出自提单 - * @param param - * @return - */ - List exportBillLoading(@Param("param") Map param); + List getTasksPage(IPage page,@Param("ew") Wrapper queryWrapper); - List getDetailsPage(IPage page,@Param("ew") QueryWrapper queryWrapper); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml index 6e475bdaa..49a5e306a 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml @@ -2,81 +2,72 @@ - - + diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java index c792014a8..26b3c4f36 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java @@ -18,10 +18,10 @@ import java.util.List; @Mapper public interface ReportDeliverMapeer extends BaseMapper { - List getDeliveryTrainPage(IPage page, @Param("ew") Wrapper query); + List getDeliveryTrainPage(IPage page, @Param("ew") Wrapper query); - List getCustomerPage(IPage page, @Param("ew") Wrapper query); + List getCustomerPage(IPage page, @Param("ew") Wrapper query); - List getDetailsPage(IPage page, @Param("ew") Wrapper query); + List getDetailsPage(IPage page, @Param("ew") Wrapper query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml index bc2aac77c..58be46c68 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml @@ -3,111 +3,147 @@ diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java index 1735f910f..738d8d314 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapeer.java @@ -1,9 +1,10 @@ package com.logpm.report.mapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.vo.ReportInStockVO; +import com.logpm.report.vo.ReportOutStockVO; import com.logpm.report.vo.StockDetailsVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -17,8 +18,10 @@ import java.util.List; @Mapper public interface ReportStockMapeer extends BaseMapper { - List getDetailPage(IPage page,@Param("ew") QueryWrapper queryWrapper); + List getDetailPage(IPage page, @Param("ew") Wrapper queryWrapper); - List getInStocks(IPage page,@Param("ew") QueryWrapper queryWrapper); + List getInStocks(IPage page, @Param("ew") Wrapper queryWrapper); + + List getOutStocks(IPage page, @Param("ew") Wrapper queryWrapper); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml index ebd6d39f7..40e825687 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportStockMapper.xml @@ -57,14 +57,56 @@ t.warehousing_time, t.despatch, t.order_code, - '' package_code, + dpl.order_package_code package_code, t.quantity_stock, lwug.allocation_title from logpm_distribution_stock_list t + left join logpm_distribution_stock_list_info dsli on dsli.stock_list_id = t.id and dsli.is_deleted = 0 and dsli.parcel_list_id is not null + left join logpm_distribution_parcel_list dpl on dpl.id = dsli.parcel_list_id left join (select group_concat(t.allocation_title) allocation_title, t.association_value from logpm_warehouse_updown_goods t where t.association_type = 4 group by t.association_value) lwug on lwug.association_value = t.cargo_number ) t ${ew.customSqlSegment} + diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillDetailsQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillDetailsQuery.java new file mode 100644 index 000000000..07b3d3d8e --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillDetailsQuery.java @@ -0,0 +1,38 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 自提明细报表 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "自提明细报表查询对象", description = "自提明细报表查询对象") +@Data +public class BillDetailsQuery extends Query { + + @ApiModelProperty(value = "提货扫描时间(范围)", position = 2) + private Date startScanTime; + + @ApiModelProperty(value = "提货扫描时间(范围)", position = 3) + private Date endScanTime; + + @ApiModelProperty(value = "仓库(范围)", position = 5) + private String warehouseRange; + + @ApiModelProperty(value = "收货单位(范围)", position = 7) + private String consigneeUnitRange; + + @ApiModelProperty(value = "订单自编号(范围)", position = 9) + private String orderCodeRange; + + @ApiModelProperty(value = "文员复核人(范围)", position = 11) + private String examineUserRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillLoadingTasksQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillLoadingTasksQuery.java new file mode 100644 index 000000000..f64279df8 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/BillLoadingTasksQuery.java @@ -0,0 +1,38 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 自提任务维度报表 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "自提任务维度报表查询对象", description = "自提任务维度报表查询对象") +@Data +public class BillLoadingTasksQuery extends Query { + + @ApiModelProperty(value = "仓库(范围)", position = 3) + private String warehouseRange; + + @ApiModelProperty(value = "收货单位(范围)", position = 5) + private String consigneeUnitRange; + + @ApiModelProperty(value = "收货人(范围)", position = 7) + private String consigneeUserRange; + + @ApiModelProperty(value = "提货人(范围)", position = 9) + private String billUserRange; + + @ApiModelProperty(value = "提货时间开始(范围)", position = 13) + private Date startCreatedTime; + + @ApiModelProperty(value = "提货时间结束(范围)", position = 14) + private Date endCreatedTime; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/DevilerDetailsQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/DevilerDetailsQuery.java new file mode 100644 index 000000000..bf5d57826 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/DevilerDetailsQuery.java @@ -0,0 +1,47 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 配送明细报表查询对象 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "配送明细报表查询对象", description = "配送明细报表查询对象") +@Data +public class DevilerDetailsQuery extends Query { + + @ApiModelProperty(value = "配送日期开始(范围)", position = 2) + private Date startTaskTime; + + @ApiModelProperty(value = "配送日期结束(范围)", position = 3) + private Date endTaskTime; + + @ApiModelProperty(value = "仓库(范围)", position = 5) + private String warehouseNameRange; + + @ApiModelProperty(value = "配送类型(范围)", position = 7) + private String typeRange; + + @ApiModelProperty(value = "配送种类(范围)", position = 9) + private String kindRange; + + @ApiModelProperty(value = "配送车辆(范围)", position = 11) + private String vehicleNameRange; + + @ApiModelProperty(value = "配送司机(范围)", position = 13) + private String driverNameRange; + + @ApiModelProperty(value = "客户名称(范围)", position = 15) + private String consigneeRange; + + @ApiModelProperty(value = "运单收货人", position = 17) + private String consigneeNameRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportCustomerQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportCustomerQuery.java new file mode 100644 index 000000000..e957d46ba --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportCustomerQuery.java @@ -0,0 +1,44 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 配送客户维度报表查询对象 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "配送客户维度报表查询对象", description = "配送客户维度报表查询对象") +@Data +public class ReportCustomerQuery extends Query { + + @ApiModelProperty(value = "配送日期开始(范围)", position = 2) + private Date startTaskTime; + + @ApiModelProperty(value = "配送日期结束(范围)", position = 3) + private Date endTaskTime; + + @ApiModelProperty(value = "仓库(范围)", position = 5) + private String warehouseNameRange; + + @ApiModelProperty(value = "客户名称(范围)", position = 7) + private String consigneeRange; + + @ApiModelProperty(value = "配送类型(范围)", position = 9) + private String typeRange; + + @ApiModelProperty(value = "配送种类(范围)", position = 11) + private String kindRange; + + @ApiModelProperty(value = "配送车辆(范围)", position = 13) + private String vehicleNameRange; + + @ApiModelProperty(value = "配送司机(范围)", position = 15) + private String driverNameRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportDevilerQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportDevilerQuery.java new file mode 100644 index 000000000..c2a13a648 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/ReportDevilerQuery.java @@ -0,0 +1,41 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 配送车次报表查询对象 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "配送车次报表查询对象", description = "配送车次报表查询对象") +@Data +public class ReportDevilerQuery extends Query { + + @ApiModelProperty(value = "配送日期开始(范围)", position = 2) + private Date startTaskTime; + + @ApiModelProperty(value = "配送日期结束(范围)", position = 3) + private Date endTaskTime; + + @ApiModelProperty(value = "仓库(范围)", position = 6) + private String warehouseNameRange; + + @ApiModelProperty(value = "配送类型(范围)", position = 8) + private String typeRange; + + @ApiModelProperty(value = "配送种类(范围)", position = 10) + private String kindRange; + + @ApiModelProperty(value = "配送车辆(范围)", position = 12) + private String vehicleNameRange; + + @ApiModelProperty(value = "配送司机(范围)", position = 14) + private String driverNameRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockDetailsQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockDetailsQuery.java new file mode 100644 index 000000000..5d1aa1b91 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockDetailsQuery.java @@ -0,0 +1,33 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +/** + * 库存品报表 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "库存品报表查询对象", description = "库存品报表查询对象") +@Data +public class StockDetailsQuery extends Query { + + @ApiModelProperty(value = "仓库(范围)", position = 3) + private String warehouseNameRange; + + @ApiModelProperty(value = "商场名称(范围)", position = 5) + private String marketNameRange; + + @ApiModelProperty(value = "类型(范围)", position = 7) + private String serviceTypeRange; + + @ApiModelProperty(value = "物料编码(范围)", position = 9) + private String cargoNumberRange; + + @ApiModelProperty(value = "物料名称(范围)", position = 11) + private String descriptionGoodsRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockInQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockInQuery.java new file mode 100644 index 000000000..293e23f23 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockInQuery.java @@ -0,0 +1,47 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 库存入库报表 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "库存入库报表查询对象", description = "库存入库报表查询对象") +@Data +public class StockInQuery extends Query { + + @ApiModelProperty(value = "仓库(范围)", position = 3) + private String warehouseNameRange; + + @ApiModelProperty(value = "商场名称(范围)", position = 5) + private String marketNameRange; + + @ApiModelProperty(value = "类型(范围)", position = 7) + private String serviceTypeRange; + + @ApiModelProperty(value = "物料编码(范围)", position = 9) + private String cargoNumberRange; + + @ApiModelProperty(value = "物料名称(范围)", position = 11) + private String descriptionGoodsRange; + + @ApiModelProperty(value = "入库时间开始(范围)", position = 13) + private Date startWarehousingTime; + + @ApiModelProperty(value = "入库时间结束(范围)", position = 14) + private Date endWarehousingTime; + + @ApiModelProperty(value = "订单自编码(范围)", position = 17) + private String orderCodeRange; + + @ApiModelProperty(value = "包条码(范围)", position = 19) + private String packageCodeRange; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockOutQuery.java b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockOutQuery.java new file mode 100644 index 000000000..1960539a6 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/query/StockOutQuery.java @@ -0,0 +1,41 @@ +package com.logpm.report.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springblade.core.mp.support.Query; + +import java.util.Date; + +/** + * 库存出库报表 query + * + * @author zhaoqiaobo + * @create 2024-03-13 14:21 + */ +@ApiModel(value = "库存出库报表查询对象", description = "库存出库报表查询对象") +@Data +public class StockOutQuery extends Query { + + @ApiModelProperty(value = "仓库(范围)", position = 3) + private String warehouseNameRange; + + @ApiModelProperty(value = "商场名称(范围)", position = 5) + private String marketNameRange; + + @ApiModelProperty(value = "出库类型(范围)", position = 7) + private String outTypeRange; + + @ApiModelProperty(value = "物料编码(范围)", position = 9) + private String cargoNumberRange; + + @ApiModelProperty(value = "物料名称(范围)", position = 11) + private String materialNameRange; + + @ApiModelProperty(value = "出库时间开始(范围)", position = 13) + private Date startCreateTime; + + @ApiModelProperty(value = "出库时间结束(范围)", position = 14) + private Date endCreateTime; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java index fd761d614..800725a76 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportBillLoadingMapper; import com.logpm.report.service.ExportReaderService; @@ -21,14 +21,14 @@ public class BillLoadingDetailsReader implements ExportReaderService { private ReportBillLoadingMapper billLoadingMapper; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); billLoadingMapper.getDetailsPage(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return billLoadingMapper.getDetailsPage(page, query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingTasksReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingTasksReader.java new file mode 100644 index 000000000..7bdd3feb5 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingTasksReader.java @@ -0,0 +1,35 @@ +package com.logpm.report.reader; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.logpm.report.mapper.ReportBillLoadingMapper; +import com.logpm.report.service.ExportReaderService; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author zhaoqiaobo + * @create 2024-03-08 9:50 + */ +@Component +public class BillLoadingTasksReader implements ExportReaderService { + + @Resource + private ReportBillLoadingMapper billLoadingMapper; + + @Override + public Long getCount(Wrapper query) { + Page page = new Page(1, 1); + billLoadingMapper.getTasksPage(page, query); + return page.getTotal(); + } + + @Override + public List findList(Page page, Wrapper query) { + return billLoadingMapper.getTasksPage(page, query); + } + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryCustomerReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryCustomerReader.java index 9aa452e30..4ec530ed8 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryCustomerReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryCustomerReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportDeliverMapeer; import com.logpm.report.service.ExportReaderService; @@ -22,14 +22,14 @@ public class DeliveryCustomerReader implements ExportReaderService { private ReportDeliverMapeer reportDeliverMapeer; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); reportDeliverMapeer.getCustomerPage(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return reportDeliverMapeer.getCustomerPage(page,query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailReader.java index e69075840..055f3bbb0 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportDeliverMapeer; import com.logpm.report.service.ExportReaderService; @@ -22,14 +22,14 @@ public class DeliveryDetailReader implements ExportReaderService { private ReportDeliverMapeer reportDeliverMapeer; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); reportDeliverMapeer.getDetailsPage(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return reportDeliverMapeer.getDetailsPage(page,query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java index 8cc8b1992..876e73e6b 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryInStocksReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportStockMapeer; import com.logpm.report.service.ExportReaderService; @@ -22,14 +22,14 @@ public class DeliveryInStocksReader implements ExportReaderService { private ReportStockMapeer reportStockMapeer; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); reportStockMapeer.getInStocks(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return reportStockMapeer.getInStocks(page,query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryOutStocksReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryOutStocksReader.java new file mode 100644 index 000000000..7c9c6e438 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryOutStocksReader.java @@ -0,0 +1,36 @@ +package com.logpm.report.reader; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.logpm.report.mapper.ReportStockMapeer; +import com.logpm.report.service.ExportReaderService; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; + +/** + * + * @author zhaoqiaobo + * @create 2024-03-08 9:50 + */ +@Component +public class DeliveryOutStocksReader implements ExportReaderService { + + @Resource + private ReportStockMapeer reportStockMapeer; + + @Override + public Long getCount(Wrapper query) { + Page page = new Page(1, 1); + reportStockMapeer.getOutStocks(page, query); + return page.getTotal(); + } + + @Override + public List findList(Page page, Wrapper query) { + return reportStockMapeer.getOutStocks(page,query); + } + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryStockReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryStockReader.java index eb0b05aa7..10947c0a8 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryStockReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryStockReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportStockMapeer; import com.logpm.report.service.ExportReaderService; @@ -22,14 +22,14 @@ public class DeliveryStockReader implements ExportReaderService { private ReportStockMapeer reportStockMapeer; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); reportStockMapeer.getDetailPage(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return reportStockMapeer.getDetailPage(page,query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryTrainReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryTrainReader.java index 23e02e294..bab4a5ec1 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryTrainReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryTrainReader.java @@ -1,6 +1,6 @@ package com.logpm.report.reader; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.mapper.ReportDeliverMapeer; import com.logpm.report.service.ExportReaderService; @@ -22,14 +22,14 @@ public class DeliveryTrainReader implements ExportReaderService { private ReportDeliverMapeer reportDeliverMapeer; @Override - public Long getCount(QueryWrapper query) { + public Long getCount(Wrapper query) { Page page = new Page(1, 1); reportDeliverMapeer.getDeliveryTrainPage(page, query); return page.getTotal(); } @Override - public List findList(Page page, QueryWrapper query) { + public List findList(Page page, Wrapper query) { return reportDeliverMapeer.getDeliveryTrainPage(page,query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ExportReaderService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ExportReaderService.java index 49f41231c..f42095e81 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ExportReaderService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ExportReaderService.java @@ -1,6 +1,6 @@ package com.logpm.report.service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.poi.ss.formula.functions.T; @@ -8,6 +8,7 @@ import java.util.List; /** * 导出数据读取器接口 + * * @author zhaoqiaobo * @create 2024-03-07 18:14 */ @@ -15,17 +16,19 @@ public interface ExportReaderService { /** * 导出的总条数 + * * @param query 分页查询对象 * @return */ - Long getCount(QueryWrapper query); + Long getCount(Wrapper query); /** * 导出数据的分页查询 - * @param page 分页对象 + * + * @param page 分页对象 * @param query 分页查询对象 * @return */ - List findList(Page page, QueryWrapper query); + List findList(Page page, Wrapper query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java index b759c9539..daf04467c 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/IReportBillLoadingAsyncService.java @@ -1,25 +1,21 @@ package com.logpm.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.logpm.report.excel.BillLoadingReportExcel; +import com.logpm.report.query.BillDetailsQuery; +import com.logpm.report.query.BillLoadingTasksQuery; import com.logpm.report.vo.BillLoadingDetailsVO; -import org.springblade.core.mp.support.Query; +import com.logpm.report.vo.BillLoadingTasksVO; import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; public interface IReportBillLoadingAsyncService { - /** - * 导出自提单报表 - * @param param - * @return - */ - List exportBillLoading(Map param); + IPage detailsPage(BillLoadingDetailsVO vo, BillDetailsQuery query); - IPage detailsPage(BillLoadingDetailsVO vo, Query query); + void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo, BillDetailsQuery query); - void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo); + IPage tasksPage(BillLoadingTasksVO vo, BillLoadingTasksQuery query); + + void exportTasks(HttpServletResponse response, BillLoadingTasksVO vo, BillLoadingTasksQuery query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java index faa625f45..3b2b5f02c 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java @@ -1,13 +1,14 @@ package com.logpm.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.report.query.DevilerDetailsQuery; +import com.logpm.report.query.ReportCustomerQuery; +import com.logpm.report.query.ReportDevilerQuery; import com.logpm.report.vo.ReportCustomerVO; import com.logpm.report.vo.ReportDetailVO; import com.logpm.report.vo.ReportDevilerVO; -import org.springblade.core.mp.support.Query; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; /** * @author zhaoqiaobo @@ -15,15 +16,15 @@ import java.io.IOException; */ public interface ReportDeliverService { - IPage deliveryTrainPage(ReportDevilerVO vo, Query query); + IPage deliveryTrainPage(ReportDevilerVO vo, ReportDevilerQuery query); - void exportTrain(HttpServletResponse response, ReportDevilerVO vo) throws InterruptedException, IOException; + void exportTrain(HttpServletResponse response, ReportDevilerVO vo, ReportDevilerQuery query); - IPage customerPage(ReportCustomerVO vo, Query query); + IPage customerPage(ReportCustomerVO vo, ReportCustomerQuery query); - void exportCustomer(HttpServletResponse response, ReportCustomerVO vo) throws InterruptedException, IOException; + void exportCustomer(HttpServletResponse response, ReportCustomerVO vo, ReportCustomerQuery query); - IPage detailsPage(ReportDetailVO vo, Query query); + IPage detailsPage(ReportDetailVO vo, DevilerDetailsQuery query); - void exportDetails(HttpServletResponse response, ReportDetailVO vo) throws InterruptedException, IOException; + void exportDetails(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java index b05358041..5ce678da1 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportStockService.java @@ -1,12 +1,14 @@ package com.logpm.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.report.query.StockDetailsQuery; +import com.logpm.report.query.StockInQuery; +import com.logpm.report.query.StockOutQuery; import com.logpm.report.vo.ReportInStockVO; +import com.logpm.report.vo.ReportOutStockVO; import com.logpm.report.vo.StockDetailsVO; -import org.springblade.core.mp.support.Query; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; /** * @author zhaoqiaobo @@ -14,11 +16,15 @@ import java.io.IOException; */ public interface ReportStockService { - IPage detailsPage(StockDetailsVO vo, Query query); + IPage detailsPage(StockDetailsVO vo, StockDetailsQuery query); - void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException; + void exportDetails(HttpServletResponse response, StockDetailsVO vo, StockDetailsQuery query); - IPage inStocks(ReportInStockVO vo, Query query); + IPage inStocks(ReportInStockVO vo, StockInQuery query); - void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException; + void exportInStocks(HttpServletResponse response, ReportInStockVO vo, StockInQuery query); + + IPage outStocks(ReportOutStockVO vo, StockOutQuery query); + + void exportOutStocks(HttpServletResponse response, ReportOutStockVO vo, StockOutQuery query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java index 456746013..7c2119847 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportBillLoadingAsyncService.java @@ -1,26 +1,27 @@ package com.logpm.report.service.impl; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.logpm.report.excel.BillLoadingReportExcel; import com.logpm.report.mapper.ReportBillLoadingMapper; +import com.logpm.report.query.BillDetailsQuery; +import com.logpm.report.query.BillLoadingTasksQuery; import com.logpm.report.reader.BillLoadingDetailsReader; +import com.logpm.report.reader.BillLoadingTasksReader; import com.logpm.report.service.IReportBillLoadingAsyncService; +import com.logpm.report.util.QueryUtil; import com.logpm.report.util.ReportExcelUtil; import com.logpm.report.vo.BillLoadingDetailsVO; +import com.logpm.report.vo.BillLoadingTasksVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.system.entity.User; import org.springblade.system.feign.IUserClient; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -38,26 +39,45 @@ public class ReportBillLoadingAsyncService implements IReportBillLoadingAsyncSer private ReportBillLoadingMapper reportBillLoadingMapper; private final BillLoadingDetailsReader billLoadingDetailsReader; + private final BillLoadingTasksReader billLoadingTasksReader; private final IUserClient userClient; - /** - * @param param - * @return - */ @Override - @Async - public List exportBillLoading(Map param) { - List list = reportBillLoadingMapper.exportBillLoading(param); - log.info("导出数据条数:{}", list.size()); - list.stream().forEach(l -> l.setAmountToFee(l.getForkliftFee() + l.getAddValueFee() + l.getStorageFee() + l.getCollectPaymentFee() + l.getTransportFee())); - return list; + public IPage tasksPage(BillLoadingTasksVO vo, BillLoadingTasksQuery query) { + IPage page = Condition.getPage(query); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, BillLoadingTasksVO.class); + tasksCustomQuery(query, queryWrapper); + List detailsPage = reportBillLoadingMapper.getTasksPage(page, queryWrapper); + return page.setRecords(detailsPage); + } + + private void tasksCustomQuery(BillLoadingTasksQuery query, QueryWrapper queryWrapper) { + // 仓库 + QueryUtil.splitEqQuery("warehouse", query.getWarehouseRange(), queryWrapper); + // 收货单位 + QueryUtil.splitEqQuery("consignee_unit", query.getConsigneeUnitRange(), queryWrapper); + // 收货人 + QueryUtil.splitEqQuery("consignee_user", query.getConsigneeUserRange(), queryWrapper); + // 提货人 + QueryUtil.splitEqQuery("bill_user", query.getBillUserRange(), queryWrapper); + // 提货时间 + QueryUtil.timeGe("create_time", query.getStartCreatedTime(), queryWrapper); + QueryUtil.timeLe("create_time", query.getEndCreatedTime(), queryWrapper); + } + + @Override + public void exportTasks(HttpServletResponse response, BillLoadingTasksVO vo, BillLoadingTasksQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, BillLoadingTasksVO.class); + tasksCustomQuery(query, queryWrapper); + new ReportExcelUtil().export(response, billLoadingTasksReader, BillLoadingTasksVO.class, queryWrapper, "自提任务维度报表"); } @Override - public IPage detailsPage(BillLoadingDetailsVO vo, Query query) { + public IPage detailsPage(BillLoadingDetailsVO vo, BillDetailsQuery query) { IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, BillLoadingDetailsVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, BillLoadingDetailsVO.class); + // 自定义查询 + detailsCustomQuery(query, queryWrapper); List detailsPage = reportBillLoadingMapper.getDetailsPage(page, queryWrapper); if (CollUtil.isNotEmpty(detailsPage)) { // 组装数据批量去查询用户名称 @@ -71,7 +91,7 @@ public class ReportBillLoadingAsyncService implements IReportBillLoadingAsyncSer } } R> listR = userClient.userInfoByIds(AuthUtil.getTenantId(), CollUtil.join(userIds, ",")); - if(ObjectUtil.equal(200,listR.getCode())){ + if (ObjectUtil.equal(200, listR.getCode())) { List data = listR.getData(); Map collect = data.stream().collect(Collectors.toMap(User::getId, User::getName)); for (BillLoadingDetailsVO detailsVO : detailsPage) { @@ -84,10 +104,25 @@ public class ReportBillLoadingAsyncService implements IReportBillLoadingAsyncSer return page.setRecords(detailsPage); } + private void detailsCustomQuery(BillDetailsQuery query, QueryWrapper queryWrapper) { + // 提货扫描时间开始 + QueryUtil.timeGe("scan_time", query.getStartScanTime(), queryWrapper); + // 提货扫描时间结束 + QueryUtil.timeLe("scan_time", query.getEndScanTime(), queryWrapper); + // 仓库 + QueryUtil.splitEqQuery("warehouse", query.getWarehouseRange(), queryWrapper); + // 收货单位 + QueryUtil.splitEqQuery("consignee_unit", query.getConsigneeUnitRange(), queryWrapper); + // 订单自编号 + QueryUtil.splitEqQuery("order_code", query.getOrderCodeRange(), queryWrapper); + // 文员复核人 + QueryUtil.splitEqQuery("examine_user", query.getExamineUserRange(), queryWrapper); + } + @Override - public void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo) { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, BillLoadingDetailsVO.class); + public void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo, BillDetailsQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, BillLoadingDetailsVO.class); + detailsCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, billLoadingDetailsReader, BillLoadingDetailsVO.class, queryWrapper, "自提明细"); } } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java index 5d7135d14..5fae0d4ef 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java @@ -1,25 +1,25 @@ package com.logpm.report.service.impl; -import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.mapper.ReportDeliverMapeer; +import com.logpm.report.query.DevilerDetailsQuery; +import com.logpm.report.query.ReportCustomerQuery; +import com.logpm.report.query.ReportDevilerQuery; import com.logpm.report.reader.DeliveryCustomerReader; import com.logpm.report.reader.DeliveryDetailReader; import com.logpm.report.reader.DeliveryTrainReader; import com.logpm.report.service.ReportDeliverService; +import com.logpm.report.util.QueryUtil; import com.logpm.report.util.ReportExcelUtil; import com.logpm.report.vo.ReportCustomerVO; import com.logpm.report.vo.ReportDetailVO; import com.logpm.report.vo.ReportDevilerVO; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Map; /** * @author zhaoqiaobo @@ -35,47 +35,107 @@ public class ReportDeliverServiceImpl implements ReportDeliverService { private final DeliveryDetailReader deliveryDetailReader; @Override - public IPage deliveryTrainPage(ReportDevilerVO vo, Query query) { + public IPage deliveryTrainPage(ReportDevilerVO vo, ReportDevilerQuery query) { IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportDevilerVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDevilerVO.class); + // 自定义 sql 查询条件 + trainCustomQuery(query, queryWrapper); return page.setRecords(reportDeliverMapeer.getDeliveryTrainPage(page, queryWrapper)); } + private void trainCustomQuery(ReportDevilerQuery query, QueryWrapper queryWrapper) { + // 配送时间开始 + QueryUtil.timeGe("task_time", query.getStartTaskTime(), queryWrapper); + // 配送时间结束 + QueryUtil.timeLe("task_time", query.getEndTaskTime(), queryWrapper); + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 配送类型 + QueryUtil.splitEqQuery("type", query.getTypeRange(), queryWrapper); + // 配送种类 + QueryUtil.splitEqQuery("kind", query.getKindRange(), queryWrapper); + // 配送车辆 + QueryUtil.splitEqQuery("vehicle_name", query.getVehicleNameRange(), queryWrapper); + // 配送司机 + QueryUtil.splitEqQuery("driver_name", query.getDriverNameRange(), queryWrapper); + } + @Override - public void exportTrain(HttpServletResponse response,ReportDevilerVO vo) throws InterruptedException, IOException { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportDevilerVO.class); + public void exportTrain(HttpServletResponse response, ReportDevilerVO vo, ReportDevilerQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDevilerVO.class); + trainCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, deliveryTrainReader, ReportDevilerVO.class, queryWrapper, "配送车次维度报表"); } @Override - public IPage customerPage(ReportCustomerVO vo, Query query) { + public IPage customerPage(ReportCustomerVO vo, ReportCustomerQuery query) { + // 构建前端查询参数 IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportCustomerVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportCustomerVO.class); + // 自定义查询 + customerCustomQuery(query, queryWrapper); return page.setRecords(reportDeliverMapeer.getCustomerPage(page, queryWrapper)); } + private void customerCustomQuery(ReportCustomerQuery query, QueryWrapper queryWrapper) { + // 配送时间开始 + QueryUtil.timeGe("task_time", query.getStartTaskTime(), queryWrapper); + // 配送时间结束 + QueryUtil.timeLe("task_time", query.getEndTaskTime(), queryWrapper); + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 客户名称 + QueryUtil.splitEqQuery("consignee", query.getConsigneeRange(), queryWrapper); + // 配送类型 + QueryUtil.splitEqQuery("type", query.getTypeRange(), queryWrapper); + // 配送种类 + QueryUtil.splitEqQuery("kind", query.getKindRange(), queryWrapper); + // 配送车辆 + QueryUtil.splitEqQuery("vehicle_name", query.getVehicleNameRange(), queryWrapper); + // 配送司机 + QueryUtil.splitEqQuery("driver_name", query.getDriverNameRange(), queryWrapper); + } + @Override - public void exportCustomer(HttpServletResponse response, ReportCustomerVO vo) throws InterruptedException, IOException { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportDevilerVO.class); + public void exportCustomer(HttpServletResponse response, ReportCustomerVO vo, ReportCustomerQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportCustomerVO.class); + customerCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, deliveryCustomerReader, ReportCustomerVO.class, queryWrapper, "配送客户维度报表"); } @Override - public IPage detailsPage(ReportDetailVO vo,Query query) { + public IPage detailsPage(ReportDetailVO vo, DevilerDetailsQuery query) { IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportDetailVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class); + detailsCustomQuery(query, queryWrapper); return page.setRecords(reportDeliverMapeer.getDetailsPage(page, queryWrapper)); } + private void detailsCustomQuery(DevilerDetailsQuery query, QueryWrapper queryWrapper) { + // 配送时间开始 + QueryUtil.timeGe("task_time", query.getStartTaskTime(), queryWrapper); + // 配送时间结束 + QueryUtil.timeLe("task_time", query.getEndTaskTime(), queryWrapper); + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 配送类型 + QueryUtil.splitEqQuery("type", query.getTypeRange(), queryWrapper); + // 配送种类 + QueryUtil.splitEqQuery("kind", query.getKindRange(), queryWrapper); + // 配送车辆 + QueryUtil.splitEqQuery("vehicle_name", query.getVehicleNameRange(), queryWrapper); + // 配送司机 + QueryUtil.splitEqQuery("driver_name", query.getDriverNameRange(), queryWrapper); + // 客户名称 + QueryUtil.splitEqQuery("dr_consignee", query.getConsigneeRange(), queryWrapper); + // 运单收货人 + QueryUtil.splitEqQuery("consignee_name", query.getConsigneeNameRange(), queryWrapper); + } + @Override - public void exportDetails(HttpServletResponse response, ReportDetailVO vo) throws InterruptedException, IOException { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportDetailVO.class); + public void exportDetails(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class); + detailsCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, deliveryDetailReader, ReportDetailVO.class, queryWrapper, "配送明细报表"); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java index b5a0283f0..c74b16fac 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportStockServiceImpl.java @@ -1,23 +1,25 @@ package com.logpm.report.service.impl; -import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.mapper.ReportStockMapeer; +import com.logpm.report.query.StockDetailsQuery; +import com.logpm.report.query.StockInQuery; +import com.logpm.report.query.StockOutQuery; import com.logpm.report.reader.DeliveryInStocksReader; +import com.logpm.report.reader.DeliveryOutStocksReader; import com.logpm.report.reader.DeliveryStockReader; import com.logpm.report.service.ReportStockService; +import com.logpm.report.util.QueryUtil; import com.logpm.report.util.ReportExcelUtil; import com.logpm.report.vo.ReportInStockVO; +import com.logpm.report.vo.ReportOutStockVO; import com.logpm.report.vo.StockDetailsVO; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Map; /** * @author zhaoqiaobo @@ -30,35 +32,100 @@ public class ReportStockServiceImpl implements ReportStockService { private final ReportStockMapeer reportStockMapeer; private final DeliveryStockReader deliveryStockReader; private final DeliveryInStocksReader inStocksReader; + private final DeliveryOutStocksReader outStocksReader; @Override - public IPage detailsPage(StockDetailsVO vo, Query query) { + public IPage detailsPage(StockDetailsVO vo, StockDetailsQuery query) { IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, StockDetailsVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, StockDetailsVO.class); + detailsCustomQuery(query, queryWrapper); return page.setRecords(reportStockMapeer.getDetailPage(page, queryWrapper)); } + private void detailsCustomQuery(StockDetailsQuery query, QueryWrapper queryWrapper) { + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 商场名称 + QueryUtil.splitEqQuery("market_name", query.getMarketNameRange(), queryWrapper); + // 类型 + QueryUtil.splitEqQuery("service_type", query.getServiceTypeRange(), queryWrapper); + // 物料编码 + QueryUtil.splitEqQuery("cargo_number", query.getCargoNumberRange(), queryWrapper); + // 物料名称 + QueryUtil.splitEqQuery("description_goods", query.getDescriptionGoodsRange(), queryWrapper); + } + @Override - public void exportDetails(HttpServletResponse response, StockDetailsVO vo) throws InterruptedException, IOException { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, StockDetailsVO.class); + public void exportDetails(HttpServletResponse response, StockDetailsVO vo, StockDetailsQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, StockDetailsVO.class); + detailsCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, deliveryStockReader, StockDetailsVO.class, queryWrapper, "库存品表"); } @Override - public IPage inStocks(ReportInStockVO vo, Query query) { + public IPage inStocks(ReportInStockVO vo, StockInQuery query) { IPage page = Condition.getPage(query); - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportInStockVO.class); + inStocksCustomQuery(query, queryWrapper); return page.setRecords(reportStockMapeer.getInStocks(page, queryWrapper)); } + private void inStocksCustomQuery(StockInQuery query, QueryWrapper queryWrapper) { + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 商场名称 + QueryUtil.splitEqQuery("market_name", query.getMarketNameRange(), queryWrapper); + // 类型 + QueryUtil.splitEqQuery("service_type", query.getServiceTypeRange(), queryWrapper); + // 物料编码 + QueryUtil.splitEqQuery("cargo_number", query.getCargoNumberRange(), queryWrapper); + // 物料名称 + QueryUtil.splitEqQuery("description_goods", query.getDescriptionGoodsRange(), queryWrapper); + // 入库时间 + QueryUtil.timeGe("warehousing_time", query.getStartWarehousingTime(), queryWrapper); + QueryUtil.timeLe("warehousing_time", query.getEndWarehousingTime(), queryWrapper); + //订单自编码 + QueryUtil.splitEqQuery("order_code", query.getOrderCodeRange(), queryWrapper); + // 包条码 + QueryUtil.splitEqQuery("package_code", query.getPackageCodeRange(), queryWrapper); + } + @Override - public void exportInStocks(HttpServletResponse response, ReportInStockVO vo) throws InterruptedException, IOException { - Map stringObjectMap = BeanUtil.beanToMap(vo); - QueryWrapper queryWrapper = Condition.getQueryWrapper(stringObjectMap, ReportInStockVO.class); + public void exportInStocks(HttpServletResponse response, ReportInStockVO vo, StockInQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportInStockVO.class); + inStocksCustomQuery(query, queryWrapper); new ReportExcelUtil().export(response, inStocksReader, ReportInStockVO.class, queryWrapper, "库存入库表"); } + @Override + public IPage outStocks(ReportOutStockVO vo, StockOutQuery query) { + IPage page = Condition.getPage(query); + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportOutStockVO.class); + outStocksCustomQuery(query, queryWrapper); + return page.setRecords(reportStockMapeer.getOutStocks(page, queryWrapper)); + } + + private void outStocksCustomQuery(StockOutQuery query, QueryWrapper queryWrapper) { + // 仓库 + QueryUtil.splitEqQuery("warehouse_name", query.getWarehouseNameRange(), queryWrapper); + // 商场名称 + QueryUtil.splitEqQuery("market_name", query.getMarketNameRange(), queryWrapper); + // 出库类型 + QueryUtil.splitEqQuery("out_type", query.getOutTypeRange(), queryWrapper); + // 物料编码 + QueryUtil.splitEqQuery("cargo_number", query.getCargoNumberRange(), queryWrapper); + // 物料名称 + QueryUtil.splitEqQuery("material_name", query.getMaterialNameRange(), queryWrapper); + // 出库时间 + QueryUtil.timeGe("create_time", query.getStartCreateTime(), queryWrapper); + QueryUtil.timeLe("create_time", query.getEndCreateTime(), queryWrapper); + } + + @Override + public void exportOutStocks(HttpServletResponse response, ReportOutStockVO vo, StockOutQuery query) { + QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportOutStockVO.class); + outStocksCustomQuery(query, queryWrapper); + new ReportExcelUtil().export(response, outStocksReader, ReportOutStockVO.class, queryWrapper, "库存出库表"); + } + } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/util/QueryUtil.java b/blade-service/logpm-report/src/main/java/com/logpm/report/util/QueryUtil.java new file mode 100644 index 000000000..606ac057a --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/util/QueryUtil.java @@ -0,0 +1,83 @@ +package com.logpm.report.util; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springblade.core.mp.support.Condition; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * QueryWrapper查询对象工具类 + * + * @author zhaoqiaobo + * @create 2024-03-13 15:43 + */ +public class QueryUtil { + + /** + * 将 vo 对象构建成指定类型的 QueryWrapper 对象 + * + * @param vo + * @param classz + * @return + */ + public static QueryWrapper buildQueryWrapper(Object vo, Class classz) { + Map stringObjectMap = BeanUtil.beanToMap(vo); + return Condition.getQueryWrapper(stringObjectMap, classz); + } + + /** + * QueryWrapper 查询大于指定时间范围 + * + * @param field 字段名 + * @param value 时间值 + * @param wrapper mybatisplus查询对象 + */ + public static void timeGe(String field, Date value, QueryWrapper wrapper) { + if (ObjectUtil.isNotEmpty(value)) { + wrapper.ge(field, value); + } + } + + /** + * QueryWrapper 查询小于指定时间范围 + * + * @param field 字段名 + * @param value 时间值 + * @param wrapper mybatisplus查询对象 + */ + public static void timeLe(String field, Date value, QueryWrapper wrapper) { + if (ObjectUtil.isNotEmpty(value)) { + wrapper.le(field, value); + } + } + + /** + * 拆分后精准匹配查询 + * + * @param field 字段名 + * @param value 值 1,2,3/1,2,3 + * @param wrapper mybatisplus 查询对象 + */ + public static void splitEqQuery(String field, String value, QueryWrapper wrapper) { + if (StrUtil.isNotBlank(value)) { + String splitValue = value.replaceAll(",", ","); + if (value.contains(",")) { + List splits = StrUtil.split(splitValue, ","); + if (CollUtil.isNotEmpty(splits)) { + StrUtil.trim(splits.toArray(new String[0])); + wrapper.in(field, splits); + } + } else { + wrapper.like(field, value); + } + + } + } + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java index a6254c390..62653677a 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.report.service.ExportReaderService; import org.apache.poi.ss.formula.functions.T; @@ -57,13 +57,13 @@ public class ReportExcelUtil { /** * 多线程导出数据到excel 带默认参数 pageSize onceSheetDataNum - * @param response - * @param service - * @param classz - * @param query - * @param fileName + * @param response HttpServletResponse对象 + * @param service ExportReaderService读取器接口实现类 + * @param classz easyexcel 导出数据定义对象 + * @param query 数据查询对象 + * @param fileName 导出文件名称 */ - public void export(HttpServletResponse response, ExportReaderService service, Class classz, QueryWrapper query, String fileName) { + public void export(HttpServletResponse response, ExportReaderService service, Class classz, Wrapper query, String fileName) { export(response, service, classz, query, fileName, PAGESIZE, SHEETDATANUM); } @@ -80,7 +80,7 @@ public class ReportExcelUtil { * @param pageSize 每次查询多少条数据 * @param onceSheetDataNum 一个sheet页最大装多少条数据 */ - public void export(HttpServletResponse response, ExportReaderService service, Class classz, QueryWrapper query, String fileName, Long pageSize, Long onceSheetDataNum) { + public void export(HttpServletResponse response, ExportReaderService service, Class classz, Wrapper query, String fileName, Long pageSize, Long onceSheetDataNum) { // 设置响应头 ReportExcelUtil.setExportHeader(response, fileName); // 获取需要导出的总条数 diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java index e0535681f..50250913a 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java @@ -29,11 +29,11 @@ public class BillLoadingDetailsVO implements Serializable { @ExcelProperty("自提批次号") private String pickupBatch; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 4) @ExcelProperty("仓库") private String warehouse; - @ApiModelProperty(value = "收货单位") + @ApiModelProperty(value = "收货单位", position = 6) @ExcelProperty("收货单位") private String consigneeUnit; @@ -41,7 +41,7 @@ public class BillLoadingDetailsVO implements Serializable { @ExcelProperty("运单号") private String waybillNumber; - @ApiModelProperty(value = "订单自编码") + @ApiModelProperty(value = "订单自编码", position = 8) @ExcelProperty("订单自编码") private String orderCode; @@ -89,7 +89,7 @@ public class BillLoadingDetailsVO implements Serializable { @ExcelProperty("提货扫码人") private String scanUser; - @ApiModelProperty(value = "提货扫描时间") + @ApiModelProperty(value = "提货扫描时间", position = 1) @ExcelProperty("提货扫描时间") private String scanTime; @@ -97,7 +97,7 @@ public class BillLoadingDetailsVO implements Serializable { @ExcelProperty("文员复核时间") private String examineTime; - @ApiModelProperty(value = "文员复核人") + @ApiModelProperty(value = "文员复核人", position = 10) @ExcelProperty("文员复核人") private String examineUser; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingTasksVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingTasksVO.java new file mode 100644 index 000000000..aad1dace7 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingTasksVO.java @@ -0,0 +1,120 @@ +package com.logpm.report.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 自提任务维度 报表 vo + * + * @author zhaoqiaobo + * @create 2024-03-06 16:02 + */ +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +@ApiModel(value = "自提任务维度", description = "自提任务维度") +@Data +public class BillLoadingTasksVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "自提批次号") + @ExcelProperty("自提批次号") + private String pickupBatch; + + @ApiModelProperty(value = "仓库") + @ExcelProperty("仓库") + private String warehouse; + + @ApiModelProperty(value = "运单号") + @ExcelProperty("运单号") + private String waybillNumber; + + @ApiModelProperty(value = "订单自编码") + @ExcelProperty("订单自编码") + private String orderCode; + + @ApiModelProperty(value = "收货单位") + @ExcelProperty("收货单位") + private String consigneeUnit; + + @ApiModelProperty(value = "收货人") + @ExcelProperty("收货人") + private String consigneeUser; + + @ApiModelProperty(value = "联系电话") + @ExcelProperty("联系电话") + private String consigneePhone; + + @ApiModelProperty(value = "提货人") + @ExcelProperty("提货人") + private String billUser; + + @ApiModelProperty(value = "提货人联系电话") + @ExcelProperty("提货人联系电话") + private String billUserPhone; + + @ApiModelProperty(value = "提货车牌") + @ExcelProperty("提货车牌") + private String billRegistrationNumber; + + @ApiModelProperty(value = "证件类型") + @ExcelProperty("证件类型") + private String idType; + + @ApiModelProperty(value = "提货证件") + @ExcelProperty("提货证件") + private String billPaper; + + @ApiModelProperty(value = "提货状态") + @ExcelProperty("提货状态") + private String billStatus; + + @ApiModelProperty(value = "计划提货件数") + @ExcelProperty("计划提货件数") + private String planBillNumber; + + @ApiModelProperty(value = "货物信息") + @ExcelProperty("货物信息") + private String goodsInfo; + + @ApiModelProperty(value = "实际提货件数") + @ExcelProperty("实际提货件数") + private String BillLoadingNum; + + @ApiModelProperty(value = "到付运费") + @ExcelProperty("到付运费") + private String collectPaymentFee; + + @ApiModelProperty(value = "搬运费") + @ExcelProperty("搬运费") + private String transportFee; + + @ApiModelProperty(value = "仓储费") + @ExcelProperty("仓储费") + private String storageFee; + + @ApiModelProperty(value = "叉车费") + @ExcelProperty("叉车费") + private String forkliftFee; + + @ApiModelProperty(value = "增值费") + @ExcelProperty("增值费") + private String addValueFee; + + @ApiModelProperty(value = "增值费") + @ExcelProperty("增值费") + private String amountToFee; + + @ApiModelProperty(value = "提货时间") + @ExcelProperty("提货时间") + private String createdTime; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportCustomerVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportCustomerVO.java index 5b08d7075..683009664 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportCustomerVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportCustomerVO.java @@ -12,6 +12,7 @@ import java.io.Serializable; /** * 配送报表 客户维度 + * * @author zhaoqiaobo * @create 2024-03-06 16:02 */ @@ -36,11 +37,11 @@ public class ReportCustomerVO implements Serializable { @ExcelProperty("订单自编码") private String stockArticleId; - @ApiModelProperty(value = "配送日期") + @ApiModelProperty(value = "配送日期", position = 1) @ExcelProperty("配送日期") private String taskTime; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 4) @ExcelProperty("仓库") private String warehouseName; @@ -52,7 +53,7 @@ public class ReportCustomerVO implements Serializable { @ExcelProperty("商场名称") private String mallName; - @ApiModelProperty(value = "客户名称") + @ApiModelProperty(value = "客户名称", position = 6) @ExcelProperty("客户名称") private String consignee; @@ -64,19 +65,19 @@ public class ReportCustomerVO implements Serializable { @ExcelProperty("地址") private String deliveryAddress; - @ApiModelProperty(value = "配送类型") + @ApiModelProperty(value = "配送类型", position = 8) @ExcelProperty("配送类型") private String type; - @ApiModelProperty(value = "配送种类") + @ApiModelProperty(value = "配送种类", position = 10) @ExcelProperty("配送种类") private String kind; - @ApiModelProperty(value = "配送车辆") + @ApiModelProperty(value = "配送车辆", position = 12) @ExcelProperty("配送车辆") private String vehicleName; - @ApiModelProperty(value = "配送司机") + @ApiModelProperty(value = "配送司机", position = 14) @ExcelProperty("配送司机") private String driverName; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java index bc0132a9b..266702505 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java @@ -12,6 +12,7 @@ import java.io.Serializable; /** * 配送报表 车次维度 + * * @author zhaoqiaobo * @create 2024-03-06 16:02 */ @@ -32,27 +33,27 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("预约单号") private String reservationCode; - @ApiModelProperty(value = "配送日期") + @ApiModelProperty(value = "配送日期", position = 1) @ExcelProperty("配送日期") private String taskTime; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 4) @ExcelProperty("仓库") private String warehouseName; - @ApiModelProperty(value = "配送类型") + @ApiModelProperty(value = "配送类型", position = 6) @ExcelProperty("配送类型") private String type; - @ApiModelProperty(value = "配送种类") + @ApiModelProperty(value = "配送种类", position = 8) @ExcelProperty("配送种类") private String kind; - @ApiModelProperty(value = "配送车辆") + @ApiModelProperty(value = "配送车辆", position = 10) @ExcelProperty("配送车辆") private String vehicleName; - @ApiModelProperty(value = "配送司机") + @ApiModelProperty(value = "配送司机", position = 12) @ExcelProperty("配送司机") private String driverName; @@ -60,7 +61,7 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("配送公司") private String distributionCompany; - @ApiModelProperty(value = "客户名称") + @ApiModelProperty(value = "客户名称", position = 14) @ExcelProperty("客户名称") private String drConsignee; @@ -76,7 +77,7 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("运单收货单位") private String consignee; - @ApiModelProperty(value = "运单收货人") + @ApiModelProperty(value = "运单收货人", position = 16) @ExcelProperty("运单收货人") private String consigneeName; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDevilerVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDevilerVO.java index c7348d1d4..fd1713602 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDevilerVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDevilerVO.java @@ -12,6 +12,7 @@ import java.io.Serializable; /** * 配送报表 车次维度 + * * @author zhaoqiaobo * @create 2024-03-06 16:02 */ @@ -28,27 +29,27 @@ public class ReportDevilerVO implements Serializable { @ExcelProperty("车次") private String trainNumber; - @ApiModelProperty(value = "配送日期") + @ApiModelProperty(value = "配送日期", position = 1) @ExcelProperty("配送日期") private String taskTime; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 5) @ExcelProperty("仓库") private String warehouseName; - @ApiModelProperty(value = "配送类型") + @ApiModelProperty(value = "配送类型", position = 7) @ExcelProperty("配送类型") private String type; - @ApiModelProperty(value = "配送种类") + @ApiModelProperty(value = "配送种类", position = 9) @ExcelProperty("配送种类") private String kind; - @ApiModelProperty(value = "配送车辆") + @ApiModelProperty(value = "配送车辆", position = 11) @ExcelProperty("配送车辆") private String vehicleName; - @ApiModelProperty(value = "配送司机") + @ApiModelProperty(value = "配送司机", position = 13) @ExcelProperty("配送司机") private String driverName; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java index f9e195198..e7ce7d132 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportInStockVO.java @@ -12,6 +12,7 @@ import java.io.Serializable; /** * 库存入库明细 + * * @author zhaoqiaobo * @create 2024-03-06 16:02 */ @@ -24,27 +25,27 @@ public class ReportInStockVO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 2) @ExcelProperty("仓库") private String warehouseName; - @ApiModelProperty(value = "商场名称") + @ApiModelProperty(value = "商场名称", position = 4) @ExcelProperty("商场名称") private String marketName; - @ApiModelProperty(value = "类型") + @ApiModelProperty(value = "类型", position = 6) @ExcelProperty("类型") private String serviceType; - @ApiModelProperty(value = "物料编码") + @ApiModelProperty(value = "物料编码", position = 8) @ExcelProperty("物料编码") private String cargoNumber; - @ApiModelProperty(value = "物料名称") + @ApiModelProperty(value = "物料名称", position = 10) @ExcelProperty("物料名称") private String descriptionGoods; - @ApiModelProperty(value = "入库时间") + @ApiModelProperty(value = "入库时间", position = 12) @ExcelProperty("入库时间") private String warehousingTime; @@ -52,11 +53,11 @@ public class ReportInStockVO implements Serializable { @ExcelProperty("运单号") private String despatch; - @ApiModelProperty(value = "订单自编码") + @ApiModelProperty(value = "订单自编码", position = 16) @ExcelProperty("订单自编码") private String orderCode; - @ApiModelProperty(value = "包条码") + @ApiModelProperty(value = "包条码", position = 18) @ExcelProperty("包条码") private String packageCode; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOutStockVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOutStockVO.java new file mode 100644 index 000000000..278ccf725 --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOutStockVO.java @@ -0,0 +1,80 @@ +package com.logpm.report.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 库存出库明细 + * + * @author zhaoqiaobo + * @create 2024-03-06 16:02 + */ +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +@ApiModel(value = "库存出库明细", description = "库存出库明细") +@Data +public class ReportOutStockVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "货位信息") + @ExcelProperty("货位信息") + private String goodsAllocationName; + + @ApiModelProperty(value = "出库件数") + @ExcelProperty("出库件数") + private String stockQuantity; + + @ApiModelProperty(value = "包条码") + @ExcelProperty("包条码") + private String coding; + + @ApiModelProperty(value = "仓库", position = 2) + @ExcelProperty("仓库") + private String warehouseName; + + @ApiModelProperty(value = "商场名称", position = 4) + @ExcelProperty("商场名称") + private String marketName; + + @ApiModelProperty(value = "物料编码", position = 8) + @ExcelProperty("物料编码") + private String cargoNumber; + + @ApiModelProperty(value = "物料名称", position = 10) + @ExcelProperty("物料名称") + private String materialName; + + @ApiModelProperty(value = "出库时间", position = 12) + @ExcelProperty("出库时间") + private String createTime; + + @ApiModelProperty(value = "出库类型", position = 6) + @ExcelProperty("出库类型") + private String outType; + + @ApiModelProperty(value = "配送单号") + @ExcelProperty("配送单号") + private String noteNumber; + + @ApiModelProperty(value = "车次号") + @ExcelProperty("车次号") + private String trainNumber; + + @ApiModelProperty(value = "预约单号") + @ExcelProperty("预约单号") + private String reservationCode; + + @ApiModelProperty(value = "配送客户") + @ExcelProperty("配送客户") + private String clientName; + +} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/StockDetailsVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/StockDetailsVO.java index 28a937cd2..43d0bf069 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/StockDetailsVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/StockDetailsVO.java @@ -25,23 +25,23 @@ public class StockDetailsVO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "仓库") + @ApiModelProperty(value = "仓库", position = 2) @ExcelProperty("仓库") private String warehouseName; - @ApiModelProperty(value = "商场名称") + @ApiModelProperty(value = "商场名称", position = 4) @ExcelProperty("商场名称") private String marketName; - @ApiModelProperty(value = "类型") + @ApiModelProperty(value = "类型", position = 6) @ExcelProperty("类型") private String serviceType; - @ApiModelProperty(value = "物料编码") + @ApiModelProperty(value = "物料编码", position = 8) @ExcelProperty("物料编码") private String cargoNumber; - @ApiModelProperty(value = "物料名称") + @ApiModelProperty(value = "物料名称", position = 10) @ExcelProperty("物料名称") private String descriptionGoods;