feat(wms): 添加物流预览和快递问题相关功能

- 新增物流预览和快递问题相关的实体类、Mapper、Service和Controller
- 实现物流预览列表查询、导出、详情获取、新增、修改和删除功能
- 实现快递问题列表查询、详情获取、新增、修改和删除功能
- 添加百世、顺丰、申通快递的路由查询工具类
- 更新pom.xml,添加fastjson2等依赖
- 修改application-stage.yml,禁用xxl-job
This commit is contained in:
2025-08-11 18:06:37 +08:00
parent 542b481155
commit 1cd1699bf3
40 changed files with 3321 additions and 2 deletions

View File

@@ -0,0 +1,86 @@
package com.klp.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 物流预览对象 oa_express
*
* @author hdka
* @date 2025-07-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_express")
public class WmsExpress extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键id
*/
@TableId(value = "express_id")
private Long expressId;
/**
* 物流编号
*/
private String expressCode;
/**
* 数据状态0未确认1进行中2已完成
*/
private Long status;
/**
* 供应商姓名
*/
private String supplyName;
/**
* 供应商联系方式
*/
private String supplyPhone;
/**
* 负责人id
*/
private Long ownerId;
/**
* 负责人手机号(快递手机号)
*/
private String ownerPhone;
/**
* 计划到货时间
*/
private Date planDate;
/**
* 物流公司标识
*/
private String expressType;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
/**
* 节点变化时间
*/
private Date lastUpdateTime;
/**
* 当前节点
*/
private String lastStatus;
}

View File

@@ -0,0 +1,60 @@
package com.klp.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 快递问题对象 oa_express_question
*
* @author hdka
* @date 2025-07-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_express_question")
public class WmsExpressQuestion extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键id
*/
@TableId(value = "question_id")
private Long questionId;
/**
* 关联快递
*/
private Long expressId;
/**
* 问题描述
*/
private String description;
/**
* 汇报时间
*/
private Date reportTime;
/**
* 汇报人
*/
private String reportBy;
/**
* 0未解决1已解决
*/
private Long status;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,62 @@
package com.klp.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 设计项目汇报详情对象 oa_report_detail
*
* @author ruoyi
* @date 2025-05-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_report_detail")
public class WmsReportDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键ID
*/
@TableId(value = "detail_id")
private Long detailId;
/**
* 关联汇报概述IDoa_report_summary.id
*/
private Long summaryId;
/**
* 设备唯一编号
*/
private String deviceCode;
/**
* 设备类别
*/
private String category;
/**
* 设备生产说明
*/
private String deviceDescription;
/**
* 汇报详情内容(含文字、图像说明等)
*/
private String reportDetail;
/**
* 关联图像 OSS ID 列表(逗号分隔)
*/
private String ossIds;
/**
* 删除标志0 正常1 删除)
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,54 @@
package com.klp.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 设计项目汇报概述对象 oa_report_summary
*
* @author cpy
* @date 2025-05-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_report_summary")
public class WmsReportSummary extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键ID
*/
@TableId(value = "summary_id")
private Long summaryId;
/**
* 汇报标题
*/
private String reportTitle;
/**
* 汇报日期
*/
private Date reportDate;
/**
* 汇报人
*/
private String reporter;
/**
* 删除标志0 正常1 删除)
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
private Long type;
}

View File

@@ -0,0 +1,81 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 物流预览业务对象 oa_express
*
* @author hdka
* @date 2025-07-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsExpressBo extends BaseEntity {
/**
* 主键id
*/
private Long expressId;
/**
* 物流编号
*/
private String expressCode;
/**
* 数据状态0未确认1进行中2已完成
*/
private Long status;
/**
* 供应商姓名
*/
private String supplyName;
/**
* 供应商联系方式
*/
private String supplyPhone;
/**
* 负责人id
*/
private Long ownerId;
/**
* 负责人手机号(快递手机号)
*/
private String ownerPhone;
/**
* 计划到货时间
*/
private Date planDate;
/**
* 物流公司标识
*/
private String expressType;
/**
* 备注
*/
private String remark;
/**
* 节点变化时间
*/
private Date lastUpdateTime;
/**
* 当前节点
*/
private String lastStatus;
}

View File

@@ -0,0 +1,58 @@
package com.klp.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 快递问题业务对象 oa_express_question
*
* @author hdka
* @date 2025-07-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsExpressQuestionBo extends BaseEntity {
/**
* 主键id
*/
private Long questionId;
/**
* 关联快递
*/
private Long expressId;
/**
* 问题描述
*/
private String description;
/**
* 汇报时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reportTime;
/**
* 汇报人
*/
private String reportBy;
/**
* 0未解决1已解决
*/
private Long status;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,63 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import com.klp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
* 设计项目汇报详情业务对象 oa_report_detail
*
* @author ruoyi
* @date 2025-05-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsReportDetailBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long detailId;
/**
* 关联汇报概述IDoa_report_summary.id
*/
private Long summaryId;
/**
* 设备唯一编号
*/
private String deviceCode;
/**
* 设备类别
*/
private String category;
/**
* 设备生产说明
*/
private String deviceDescription;
/**
* 汇报详情内容(含文字、图像说明等)
*/
private String reportDetail;
/**
* 关联图像 OSS ID 列表(逗号分隔)
*/
private String ossIds;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 设计项目汇报概述业务对象 oa_report_summary
*
* @author cpy
* @date 2025-05-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsReportSummaryBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long summaryId;
/**
* 汇报标题
*/
@NotBlank(message = "汇报标题不能为空", groups = { AddGroup.class, EditGroup.class })
private String reportTitle;
/**
* 汇报日期
*/
@NotNull(message = "汇报日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date reportDate;
/**
* 汇报人
*/
@NotBlank(message = "汇报人不能为空", groups = { AddGroup.class, EditGroup.class })
private String reporter;
/**
* 备注
*/
private String remark;
private Long type;
}

View File

@@ -0,0 +1,70 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 快递问题视图对象 oa_express_question
*
* @author hdka
* @date 2025-07-21
*/
@Data
@ExcelIgnoreUnannotated
public class WmsExpressQuestionVo {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long questionId;
/**
* 关联快递
*/
@ExcelProperty(value = "关联快递")
private Long expressId;
/**
* 问题描述
*/
@ExcelProperty(value = "问题描述")
private String description;
/**
* 汇报时间
*/
@ExcelProperty(value = "汇报时间")
private Date reportTime;
/**
* 汇报人
*/
@ExcelProperty(value = "汇报人")
private String reportBy;
/**
* 0未解决1已解决
*/
@ExcelProperty(value = "状态")
private Long status;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 快递单号
*/
private String expressCode;
}

View File

@@ -0,0 +1,116 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 物流预览视图对象 oa_express
*
* @author hdka
* @date 2025-07-20
*/
@Data
@ExcelIgnoreUnannotated
public class WmsExpressVo {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long expressId;
/**
* 物流编号
*/
@ExcelProperty(value = "物流编号")
private String expressCode;
/**
* 数据状态0未确认1进行中2已完成
*/
@ExcelProperty(value = "数据状态0未确认1进行中2已完成")
private Long status;
/**
* 供应商姓名
*/
@ExcelProperty(value = "供应商姓名")
private String supplyName;
/**
* 供应商联系方式
*/
@ExcelProperty(value = "供应商联系方式")
private String supplyPhone;
/**
* 负责人id
*/
private Long ownerId;
/**
* 负责人id
*/
@ExcelProperty(value = "负责人")
private String ownerName;
/**
* 负责人手机号(快递手机号)
*/
@ExcelProperty(value = "负责人手机号", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "快=递手机号")
private String ownerPhone;
/**
* 计划到货时间
*/
@ExcelProperty(value = "计划到货时间")
private Date planDate;
/**
* 物流公司标识
*/
@ExcelProperty(value = "物流公司标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "oa_express_type")
private String expressType;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 接收时间
*/
private Date acceptTime;
/**
* 物流状态
*/
private String firstStatusName;
/**
* 节点变化时间
*/
private Date lastUpdateTime;
/**
* 当前节点
*/
private String lastStatus;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,81 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 设计项目汇报详情视图对象 oa_report_detail
*
* @author ruoyi
* @date 2025-05-13
*/
@Data
@ExcelIgnoreUnannotated
public class WmsReportDetailVo {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long detailId;
/**
* 关联汇报概述IDoa_report_summary.id
*/
@ExcelProperty(value = "关联汇报概述ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "o=a_report_summary.id")
private Long summaryId;
/**
* 设备唯一编号
*/
@ExcelProperty(value = "设备唯一编号")
private String deviceCode;
/**
* 设备类别
*/
@ExcelProperty(value = "设备类别")
private String category;
/**
* 设备生产说明
*/
@ExcelProperty(value = "设备生产说明")
private String deviceDescription;
/**
* 汇报详情内容(含文字、图像说明等)
*/
@ExcelProperty(value = "汇报详情内容", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "含=文字、图像说明等")
private String reportDetail;
/**
* 关联图像 OSS ID 列表(逗号分隔)
*/
@ExcelProperty(value = "关联图像 OSS ID 列表", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "逗=号分隔")
private String ossIds;
/**
* 关联图像 OSS URL 列表
*/
@ExcelProperty(value = "关联图像 OSS URL 列表", converter = ExcelDictConvert.class)
private String images;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,63 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
/**
* 设计项目汇报概述视图对象 oa_report_summary
*
* @author cpy
* @date 2025-05-13
*/
@Data
@ExcelIgnoreUnannotated
public class WmsReportSummaryVo {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long summaryId;
/**
* 汇报标题
*/
@ExcelProperty(value = "汇报标题")
private String reportTitle;
/**
* 汇报日期
*/
@ExcelProperty(value = "汇报日期")
private Date reportDate;
/**
* 汇报人
*/
@ExcelProperty(value = "汇报人")
private String reporter;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
private Long type;
@ExcelProperty(value = "最近更新时间")
private Date lastUpdateTime;
}