Browse Source

feat(all): 报表模块

1 增加配送质量报表
fix-sign
zhaoqiaobo 3 months ago
parent
commit
80405d10cc
  1. 77
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/QualityDispatchNumberController.java
  2. 21
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/QualityDispatchNumberMapper.java
  3. 185
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/QualityDispatchNumberMapper.xml
  4. 30
      blade-service/logpm-report/src/main/java/com/logpm/report/query/QualityDispatchNumberQuery.java
  5. 30
      blade-service/logpm-report/src/main/java/com/logpm/report/query/QualityDispatchTaskQuery.java
  6. 24
      blade-service/logpm-report/src/main/java/com/logpm/report/service/QualityDispatchNumberService.java
  7. 109
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/QualityDispatchNumberServiceImpl.java
  8. 88
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchNumberVO.java
  9. 140
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchTaskVO.java
  10. 69
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchVO.java

77
blade-service/logpm-report/src/main/java/com/logpm/report/controller/QualityDispatchNumberController.java

@ -0,0 +1,77 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.report.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.query.DevilerDetailsQuery;
import com.logpm.report.query.QualityDispatchNumberQuery;
import com.logpm.report.query.QualityDispatchTaskQuery;
import com.logpm.report.service.QualityDispatchNumberService;
import com.logpm.report.vo.ReportDetailVO;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchNumberVO;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchTaskVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
* 配送质量报表 控制器
*
* @author cyz
* @since 2023-06-08
*/
@RestController
@AllArgsConstructor
@RequestMapping("/qualityDispatch")
@Api(value = "配送质量报表", tags = "配送质量报表")
public class QualityDispatchNumberController extends BladeController {
private final QualityDispatchNumberService numberService;
@GetMapping("/number")
@ApiOperation(value = "配送统计汇总", notes = "配送统计汇总")
public R<IPage<QualityDispatchNumberVO>> number(QualityDispatchNumberQuery query) {
IPage<QualityDispatchNumberVO> pages = numberService.number(query);
return R.data(pages);
}
@GetMapping("/exporNumber")
@ApiOperation(value = "导出配送统计汇总", notes = "导出配送统计汇总")
public void exporNumber(HttpServletResponse response, QualityDispatchNumberQuery query) {
numberService.exporNumber(response, query);
}
@GetMapping("/task")
@ApiOperation(value = "配送统计汇总-任务明细", notes = "配送统计汇总-任务明细")
public R<IPage<QualityDispatchTaskVO>> task(QualityDispatchTaskQuery query) {
IPage<QualityDispatchTaskVO> pages = numberService.task(query);
return R.data(pages);
}
@GetMapping("/exporTask")
@ApiOperation(value = "配送统计汇总-任务明细", notes = "配送统计汇总-任务明细")
public void exporTask(HttpServletResponse response, QualityDispatchTaskQuery query) {
numberService.exporTask(response, query);
}
}

21
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/QualityDispatchNumberMapper.java

@ -0,0 +1,21 @@
package com.logpm.report.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.query.QualityDispatchNumberQuery;
import com.logpm.report.query.QualityDispatchTaskQuery;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchNumberVO;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchTaskVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface QualityDispatchNumberMapper {
List<QualityDispatchNumberVO> number(@Param("page") IPage<QualityDispatchNumberVO> page, @Param("query") QualityDispatchNumberQuery query);
List<QualityDispatchTaskVO> task(@Param("page") IPage<QualityDispatchTaskVO> page, @Param("query") QualityDispatchTaskQuery query);
}

185
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/QualityDispatchNumberMapper.xml

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.logpm.report.mapper.QualityDispatchNumberMapper">
<select id="number" resultType="com.logpm.report.vo.qulity.dispatch.QualityDispatchNumberVO">
select t.warehouse_name,
<if test="query.deliveryType != null and query.deliveryType != ''">
t.delivery_type,
</if>
sum(ifnull(t.plan_num, 0)) plan_num,
sum(ifnull(t.stock_num, 0)) stock_num,
sum(ifnull(t.load_num, 0)) load_num,
sum(ifnull(t.sign_num, 0)) sign_num,
concat(replace(case
when sum(ifnull(t.plan_num, 0)) = 0 then 0
else ROUND((sum(ifnull(t.sign_num, 0)) / sum(ifnull(t.plan_num, 0))) * 100, 2) end, '.00',
''), '%') signRate,
ifnull(sum(case when t.conditions = 3 then ifnull(t.plan_num, 0) end), 0) planStockNum,
ifnull(sum(case when t.conditions = 3 then ifnull(t.load_num, 0) end), 0) loadStockNum,
ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0) signStockNum,
concat(replace(case
when ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0) = 0 then 0
else
ROUND((ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0)
/ ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0)) * 100,
2) end, '.00', ''), '%') signRate,
count(distinct t.plan_reservation_code) customerCount,
count(distinct case when t.review_num != 0 then t.plan_reservation_code else null end) customerCount,
concat(replace(case
when count(distinct case when t.review_num != 0 then t.plan_reservation_code else null end) =
0 then 0
else ROUND((count(distinct t.plan_reservation_code) / count(distinct case
when t.review_num != 0
then t.plan_reservation_code
else null end)) *
100, 2) end, '.00',
''), '%') reviewRate
from (select t.business_unit,
t.warehouse_name,
t.brand_name,
t.delivery_time,
t.delivery_type,
t.conditions,
t.plan_reservation_code,
t.plan_train_number,
sum(ifnull(t.plan_num, 0)) plan_num,
sum(ifnull(t.stock_num, 0)) stock_num,
sum(ifnull(t.load_num, 0)) load_num,
sum(ifnull(t.sign_num, 0)) sign_num,
sum(ifnull(t.review_num, 0)) review_num,
sum(ifnull(t.retention_num, 0)) retention_num
from logpm_quality_deliver t
where t.plan_train_number is not null
<if test="query.startTaskTime != null and query.startTaskTime != ''">
and t.delivery_time >= #{query.startTaskTime}
</if>
<if test="query.endTaskTime != null and query.endTaskTime != ''">
and t.delivery_time &lt;= #{query.endTaskTime}
</if>
<if test="query.warehouseName != null and query.warehouseName != ''">
and t.warehouse_name in
<foreach collection="query.warehouseName.split(',')" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="query.deliveryType != null and query.deliveryType != ''">
and t.delivery_type in
<foreach collection="query.deliveryType.split(',')" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
group by t.plan_reservation_code,
t.plan_train_number,
t.delivery_time,
t.delivery_type,
t.conditions,
t.brand_name,
t.warehouse_name,
t.business_unit) t
group by t.warehouse_name
<if test="query.deliveryType != null and query.deliveryType != ''">
,t.delivery_type
</if>
</select>
<select id="task" resultType="com.logpm.report.vo.qulity.dispatch.QualityDispatchTaskVO">
select t.business_unit,
t.warehouse_name,
t.delivery_type,
t.delivery_time,
t.plan_reservation_code,
t.plan_train_number,
t.mall_name,
t.reservation_consignee,
t.driver_name,
t.vehicle_name,
t.delivery_create_user_name,
case when t.sign_status = 1 then '已签收' else '未签收' end signStatus,
t.sign_time,
t.sign_user_name,
t.reviewStatus,
t.review_user_name,
t.review_time,
t.start_car_time,
t.arrive_car_time,
sum(ifnull(t.plan_num, 0)) plan_num,
sum(ifnull(t.stock_num, 0)) stock_num,
sum(ifnull(t.load_num, 0)) load_num,
sum(ifnull(t.sign_num, 0)) sign_num,
concat(replace(case
when sum(ifnull(t.plan_num, 0)) = 0 then 0
else ROUND((sum(ifnull(t.sign_num, 0)) / sum(ifnull(t.plan_num, 0))) * 100, 2) end, '.00',
''), '%') signRate,
ifnull(sum(case when t.conditions = 3 then ifnull(t.plan_num, 0) end), 0) planStockNum,
ifnull(sum(case when t.conditions = 3 then ifnull(t.load_num, 0) end), 0) loadStockNum,
ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0) signStockNum,
concat(replace(case
when ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0) = 0 then 0
else
ROUND((ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0)
/ ifnull(sum(case when t.conditions = 3 then ifnull(t.sign_num, 0) end), 0)) * 100,
2) end, '.00', ''), '%') signRate,
count(distinct t.plan_reservation_code) customerCount,
count(distinct case when t.review_num != 0 then t.plan_reservation_code else null end) customerCount,
concat(replace(case
when count(distinct case when t.review_num != 0 then t.plan_reservation_code else null end) =
0 then 0
else ROUND((count(distinct t.plan_reservation_code) / count(distinct case
when t.review_num != 0
then t.plan_reservation_code
else null end)) *
100, 2) end, '.00',
''), '%') reviewRate
from (
select t.business_unit,
t.warehouse_name,
t.delivery_time,
t.delivery_type,
t.conditions,
t.plan_reservation_code,
t.plan_train_number,
t.mall_name,
t.reservation_consignee,
t.driver_name,
t.vehicle_name,
t.delivery_create_user_name,
t.sign_status,
t.sign_time,
t.sign_user_name,
case when t.review_user_name is null then '未复核' else '已复核' end reviewStatus,
t.review_user_name,
t.review_time,
t.start_car_time,
t.arrive_car_time,
sum(ifnull(t.plan_num, 0)) plan_num,
sum(ifnull(t.stock_num, 0)) stock_num,
sum(ifnull(t.load_num, 0)) load_num,
sum(ifnull(t.sign_num, 0)) sign_num,
sum(ifnull(t.review_num, 0)) review_num,
sum(ifnull(t.retention_num, 0)) retention_num
from logpm_quality_deliver t
where t.plan_train_number is not null
<if test="query.startTaskTime != null and query.startTaskTime != ''">
and t.delivery_time >= #{query.startTaskTime}
</if>
<if test="query.endTaskTime != null and query.endTaskTime != ''">
and t.delivery_time &lt;= #{query.endTaskTime}
</if>
<if test="query.warehouseName != null and query.warehouseName != ''">
and t.warehouse_name in
<foreach collection="query.warehouseName.split(',')" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="query.deliveryType != null and query.deliveryType != ''">
and t.delivery_type in
<foreach collection="query.deliveryType.split(',')" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
group by t.plan_reservation_code,t.conditions
) t
group by t.plan_reservation_code
</select>
</mapper>

30
blade-service/logpm-report/src/main/java/com/logpm/report/query/QualityDispatchNumberQuery.java

@ -0,0 +1,30 @@
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 QualityDispatchNumberQuery extends Query {
@ApiModelProperty(value = "配送日期开始(yyyy-MM-dd)", position = 1)
private String startTaskTime;
@ApiModelProperty(value = "配送日期结束(yyyy-MM-dd)", position = 2)
private String endTaskTime;
@ApiModelProperty(value = "仓库", position = 3)
private String warehouseName;
@ApiModelProperty(value = "配送类型", position = 4)
private String deliveryType;
}

30
blade-service/logpm-report/src/main/java/com/logpm/report/query/QualityDispatchTaskQuery.java

@ -0,0 +1,30 @@
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 QualityDispatchTaskQuery extends Query {
@ApiModelProperty(value = "配送日期开始(yyyy-MM-dd)", position = 1)
private String startTaskTime;
@ApiModelProperty(value = "配送日期结束(yyyy-MM-dd)", position = 2)
private String endTaskTime;
@ApiModelProperty(value = "仓库", position = 3)
private String warehouseName;
@ApiModelProperty(value = "配送类型", position = 4)
private String deliveryType;
}

24
blade-service/logpm-report/src/main/java/com/logpm/report/service/QualityDispatchNumberService.java

@ -0,0 +1,24 @@
package com.logpm.report.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.report.query.QualityDispatchNumberQuery;
import com.logpm.report.query.QualityDispatchTaskQuery;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchNumberVO;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchTaskVO;
import javax.servlet.http.HttpServletResponse;
/**
* @author zhaoqiaobo
* @create 2024-03-06 15:51
*/
public interface QualityDispatchNumberService {
IPage<QualityDispatchNumberVO> number(QualityDispatchNumberQuery query);
void exporNumber(HttpServletResponse response, QualityDispatchNumberQuery query);
IPage<QualityDispatchTaskVO> task(QualityDispatchTaskQuery query);
void exporTask(HttpServletResponse response, QualityDispatchTaskQuery query);
}

109
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/QualityDispatchNumberServiceImpl.java

@ -0,0 +1,109 @@
package com.logpm.report.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.report.mapper.QualityDispatchNumberMapper;
import com.logpm.report.query.QualityDispatchNumberQuery;
import com.logpm.report.query.QualityDispatchTaskQuery;
import com.logpm.report.service.QualityDispatchNumberService;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchNumberVO;
import com.logpm.report.vo.qulity.dispatch.QualityDispatchTaskVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhaoqiaobo
* @create 2024-03-06 15:52
*/
@Service
@AllArgsConstructor
@Slf4j
public class QualityDispatchNumberServiceImpl implements QualityDispatchNumberService {
private final QualityDispatchNumberMapper numberMapper;
private final IBasicdataWarehouseClient warehouseClient;
@Override
public IPage<QualityDispatchNumberVO> number(QualityDispatchNumberQuery query) {
IPage<QualityDispatchNumberVO> page = Condition.getPage(query);
page.setPages(1);
page.setSize(-1);
if (StrUtil.isEmpty(query.getWarehouseName())) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtil.isNotEmpty(myCurrentWarehouse)) {
query.setWarehouseName(myCurrentWarehouse.getName());
} else {
List<BasicdataWarehouseEntity> warehouseEntities = warehouseClient.getMyWarehouseList();
query.setWarehouseName(warehouseEntities.stream().map(BasicdataWarehouseEntity::getName).collect(Collectors.joining(",")));
}
}
List<QualityDispatchNumberVO> list = numberMapper.number(page,query);
// 查询异常数
return page.setRecords(list);
}
@Override
public void exporNumber(HttpServletResponse response, QualityDispatchNumberQuery query) {
IPage<QualityDispatchNumberVO> page = Condition.getPage(query);
page.setPages(1);
page.setSize(-1);
if (StrUtil.isEmpty(query.getWarehouseName())) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtil.isNotEmpty(myCurrentWarehouse)) {
query.setWarehouseName(myCurrentWarehouse.getName());
} else {
List<BasicdataWarehouseEntity> warehouseEntities = warehouseClient.getMyWarehouseList();
query.setWarehouseName(warehouseEntities.stream().map(BasicdataWarehouseEntity::getName).collect(Collectors.joining(",")));
}
}
List<QualityDispatchNumberVO> list = numberMapper.number(page,query);
ExcelUtil.export(response, list, QualityDispatchNumberVO.class);
}
@Override
public IPage<QualityDispatchTaskVO> task(QualityDispatchTaskQuery query) {
IPage<QualityDispatchTaskVO> page = Condition.getPage(query);
if (StrUtil.isEmpty(query.getWarehouseName())) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtil.isNotEmpty(myCurrentWarehouse)) {
query.setWarehouseName(myCurrentWarehouse.getName());
} else {
List<BasicdataWarehouseEntity> warehouseEntities = warehouseClient.getMyWarehouseList();
query.setWarehouseName(warehouseEntities.stream().map(BasicdataWarehouseEntity::getName).collect(Collectors.joining(",")));
}
}
List<QualityDispatchTaskVO> list = numberMapper.task(page,query);
// 查询异常数
return page.setRecords(list);
}
@Override
public void exporTask(HttpServletResponse response, QualityDispatchTaskQuery query) {
IPage<QualityDispatchTaskVO> page = Condition.getPage(query);
page.setPages(1);
page.setSize(-1);
if (StrUtil.isEmpty(query.getWarehouseName())) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtil.isNotEmpty(myCurrentWarehouse)) {
query.setWarehouseName(myCurrentWarehouse.getName());
} else {
List<BasicdataWarehouseEntity> warehouseEntities = warehouseClient.getMyWarehouseList();
query.setWarehouseName(warehouseEntities.stream().map(BasicdataWarehouseEntity::getName).collect(Collectors.joining(",")));
}
}
List<QualityDispatchTaskVO> list = numberMapper.task(page,query);
ExcelUtil.export(response, list, QualityDispatchTaskVO.class);
}
}

88
blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchNumberVO.java

@ -0,0 +1,88 @@
package com.logpm.report.vo.qulity.dispatch;
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 QualityDispatchNumberVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "仓库")
@ExcelProperty("仓库")
private String warehouseName;
@ApiModelProperty(value = "配送类型")
@ExcelProperty("配送类型")
private String deliveryType;
@ApiModelProperty(value = "预约件数")
@ExcelProperty("预约件数")
private String planNum;
@ApiModelProperty(value = "装车件数")
@ExcelProperty("装车件数")
private String loadNum;
@ApiModelProperty(value = "签收件数")
@ExcelProperty("签收件数")
private String signNum;
@ApiModelProperty(value = "签收率")
@ExcelProperty("签收率")
private String signRate;
@ApiModelProperty(value = "预约库存品件数")
@ExcelProperty("预约库存品件数")
private String planStockNum;
@ApiModelProperty(value = "库存品装车件数")
@ExcelProperty("库存品装车件数")
private String loadStockNum;
@ApiModelProperty(value = "库存品签收件数")
@ExcelProperty("库存品签收件数")
private String signStockNum;
@ApiModelProperty(value = "库存品签收率")
@ExcelProperty("库存品签收率")
private String signStockRate;
@ApiModelProperty(value = "异常数")
@ExcelProperty("异常数")
private String exceptionNum;
@ApiModelProperty(value = "计划准确率")
@ExcelProperty("计划准确率")
private String planAccuracy;
@ApiModelProperty(value = "客户数")
@ExcelProperty("客户数")
private String customerCount;
@ApiModelProperty(value = "审核客户数")
@ExcelProperty("审核客户数")
private String reviewCustomerCount;
@ApiModelProperty(value = "审核率")
@ExcelProperty("审核率")
private String reviewRate;
}

140
blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchTaskVO.java

@ -0,0 +1,140 @@
package com.logpm.report.vo.qulity.dispatch;
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 QualityDispatchTaskVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "仓库")
@ExcelProperty("仓库")
private String warehouseName;
@ApiModelProperty(value = "配送类型")
@ExcelProperty("配送类型")
private String deliveryType;
@ApiModelProperty(value = "预约单号")
@ExcelProperty("预约单号")
private String planReservationCode;
@ApiModelProperty(value = "车次号")
@ExcelProperty("车次号")
private String planTrainNumber;
@ApiModelProperty(value = "商场/承运商")
@ExcelProperty("商场/承运商")
private String mallName;
@ApiModelProperty(value = "收货人")
@ExcelProperty("收货人")
private String reservationConsignee;
@ApiModelProperty(value = "司机/提货人")
@ExcelProperty("司机/提货人")
private String driverName;
@ApiModelProperty(value = "车辆")
@ExcelProperty("车辆")
private String vehicleName;
@ApiModelProperty(value = "配送日期")
@ExcelProperty("配送日期")
private String deliveryTime;
@ApiModelProperty(value = "任务创建人")
@ExcelProperty("任务创建人")
private String deliveryCreateUserName;
@ApiModelProperty(value = "预约件数")
@ExcelProperty("预约件数")
private String planNum;
@ApiModelProperty(value = "装车件数")
@ExcelProperty("装车件数")
private String loadNum;
@ApiModelProperty(value = "签收件数")
@ExcelProperty("签收件数")
private String signNum;
@ApiModelProperty(value = "预约库存品件数")
@ExcelProperty("预约库存品件数")
private String planStockNum;
@ApiModelProperty(value = "库存品装车件数")
@ExcelProperty("库存品装车件数")
private String loadStockNum;
@ApiModelProperty(value = "库存品签收件数")
@ExcelProperty("库存品签收件数")
private String signStockNum;
@ApiModelProperty(value = "状态")
@ExcelProperty("状态")
private String signStatus;
@ApiModelProperty(value = "签收时间")
@ExcelProperty("签收时间")
private String signTime;
@ApiModelProperty(value = "签收人")
@ExcelProperty("签收人")
private String signUserName;
@ApiModelProperty(value = "文员审核状态")
@ExcelProperty("文员审核状态")
private String reviewStatus;
@ApiModelProperty(value = "审核人")
@ExcelProperty("审核人")
private String reviewUserName;
@ApiModelProperty(value = "审核时间")
@ExcelProperty("审核时间")
private String reviewTime;
@ApiModelProperty(value = "异常装车件数")
@ExcelProperty("异常装车件数")
private String exceptionLoadNum;
@ApiModelProperty(value = "异常签收件数")
@ExcelProperty("异常签收件数")
private String exceptionSignNum;
@ApiModelProperty(value = "送货方式")
@ExcelProperty("送货方式")
private String deliveryMode;
@ApiModelProperty(value = "发车时间")
@ExcelProperty("发车时间")
private String startCarTime;
@ApiModelProperty(value = "到达时间")
@ExcelProperty("到达时间")
private String arriveCarTime;
@ApiModelProperty(value = "卸车件数")
@ExcelProperty("卸车件数")
private String unLoadNum;
}

69
blade-service/logpm-report/src/main/java/com/logpm/report/vo/qulity/dispatch/QualityDispatchVO.java

@ -0,0 +1,69 @@
package com.logpm.report.vo.qulity.dispatch;
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 QualityDispatchVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "事业线")
private String businessUnit;
@ApiModelProperty(value = "仓库")
private String warehouseName;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "配送时间")
private String deliveryTime;
@ApiModelProperty(value = "配送类型")
private String deliveryType;
@ApiModelProperty(value = "包件类型")
private String conditions;
@ApiModelProperty(value = "预约单号")
private String planReservationCode;
@ApiModelProperty(value = "配送车次号")
private String planTrainNumber;
@ApiModelProperty(value = "预约件数")
private String planNum;
@ApiModelProperty(value = "备货件数")
private String stockNum;
@ApiModelProperty(value = "装车件数")
private String loadNum;
@ApiModelProperty(value = "签收件数")
private String signNum;
@ApiModelProperty(value = "复核件数")
private String reviewNum;
@ApiModelProperty(value = "回库件数")
private String retentionNum;
}
Loading…
Cancel
Save