1、新增小程序相关接口

2、调整OA
This commit is contained in:
2026-09-18 16:31:37 +08:00
parent 0fa0eae43c
commit 01993779a7
71 changed files with 6463 additions and 213 deletions
@@ -0,0 +1,30 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
@Schema(description = "调度端司机搜索项")
public class AdminDriverOptionVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "司机ID")
private Long id;
@Schema(description = "姓名")
private String name;
@Schema(description = "手机号")
private String phone;
@Schema(description = "绑定车牌")
private String vehicleNo;
}
@@ -0,0 +1,47 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 调度端首页快捷入口角标
*/
@Data
@Schema(description = "调度端首页角标")
public class AdminHomeBadgesVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "异常处置待办数(disposalStatus≠completed")
private long exception;
@Schema(description = "风险记录待办数(disposalStatus=pending")
private long risk;
}
@@ -0,0 +1,53 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 调度端首页顶部统计(对齐小程序 admin/home
*/
@Data
@Schema(description = "调度端首页运单状态统计")
public class AdminHomeStatsVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "运输中(businessStatus=running")
private long transporting;
@Schema(description = "待接单(businessStatus=pending")
private long pendingAccept;
@Schema(description = "在途异常(异常处置状态≠已完成)")
private long exception;
@Schema(description = "已完成(businessStatus=completed")
private long completed;
}
@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 调度端首页聚合数据(统计 + 角标 + 待处理 feed + 用户名)
*/
@Data
@Schema(description = "调度端首页聚合")
public class AdminHomeVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "当前登录用户姓名")
private String userName;
@Schema(description = "顶部运单状态统计")
private AdminHomeStatsVO stats = new AdminHomeStatsVO();
@Schema(description = "快捷入口角标")
private AdminHomeBadgesVO badges = new AdminHomeBadgesVO();
@Schema(description = "待处理事项(异常处置状态≠已完成)")
private List<AdminTodoItemVO> feed = new ArrayList<>();
}
@@ -0,0 +1,65 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 调度端首页「待处理事项」条目
*/
@Data
@Schema(description = "调度端首页待处理事项")
public class AdminTodoItemVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "条目ID(异常处置ID")
private Long id;
@Schema(description = "类型:exception=异常待处置 / reassign=重新派单待处理")
private String type;
@Schema(description = "标题")
private String title;
@Schema(description = "相对时间文案,如「2分钟」")
private String timeAgo;
@Schema(description = "摘要描述")
private String desc;
@Schema(description = "运单号")
private String waybillNo;
@Schema(description = "操作按钮文案")
private String actionLabel;
@Schema(description = "跳转路径(小程序内路径)")
private String targetUrl;
}
@@ -0,0 +1,24 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
@Schema(description = "调度端车牌搜索项")
public class AdminVehicleOptionVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "关联司机名(可选)")
private String driverName;
}
@@ -0,0 +1,95 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 调度端运单列表卡片(对齐小程序 admin/waybill-list
*/
@Data
@Schema(description = "调度端运单列表卡片")
public class AdminWaybillCardVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "运单ID")
private Long id;
@Schema(description = "运单号")
private String waybillNo;
@Schema(description = "起点")
private String fromName;
@Schema(description = "终点")
private String toName;
@Schema(description = "货物名称")
private String cargo;
@Schema(description = "重量(带单位)")
private String weight;
@Schema(description = "计划开始时间")
private String planTime;
@Schema(description = "计划结束时间")
private String planTimeEnd;
@Schema(description = "状态:0待接单/1运输中/2已完成/3已取消")
private Integer status;
@Schema(description = "承运方")
private String carrierName;
@Schema(description = "司机姓名")
private String driverName;
@Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "是否有未完成异常")
private Boolean hasException;
@Schema(description = "运输组织类型:common普通 / load配载")
private String transportType;
@Schema(description = "运输方式:road / 公路运输 / 铁路运输 等")
private String transportMode;
@Schema(description = "创建时间")
private String createTime;
@Schema(description = "需重新派单(司机已拒单)")
private Boolean needReassign;
@Schema(description = "采购方是否已付款(预留)")
private Boolean buyerPaid;
}
@@ -0,0 +1,154 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 调度端运单详情(对齐小程序 pages/waybill/detail
*/
@Data
@Schema(description = "调度端运单详情")
public class AdminWaybillDetailVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "运单ID")
private Long id;
@Schema(description = "运单号")
private String waybillNo;
@Schema(description = "状态:0待接单/1运输中/2已完成/3已取消")
private Integer status;
@Schema(description = "起点名称")
private String fromName;
@Schema(description = "终点名称")
private String toName;
@Schema(description = "起点地址")
private String fromAddress;
@Schema(description = "终点地址")
private String toAddress;
@Schema(description = "装货地址")
private String pickupAddress;
@Schema(description = "卸货地址")
private String unloadAddress;
@Schema(description = "货物名称")
private String cargoName;
@Schema(description = "货物数量(带单位)")
private String cargoQuantity;
@Schema(description = "重量(带单位)")
private String weight;
@Schema(description = "合计货重")
private String totalWeight;
@Schema(description = "运输方式文案:公路运输 / 铁路运输 等")
private String transportType;
@Schema(description = "运输方式字典值:road 等")
private String transportMode;
@Schema(description = "运输组织:common普通 / load配载")
private String transportOrgType;
@Schema(description = "计划发货时间")
private String planShipTime;
@Schema(description = "计划完成时间")
private String planFinishTime;
@Schema(description = "承运方")
private String carrierName;
@Schema(description = "司机姓名")
private String driverName;
@Schema(description = "司机联系方式")
private String driverPhone;
@Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "备注")
private String remark;
@Schema(description = "是否有未完成异常")
private Boolean hasException;
@Schema(description = "最近一条未完成异常处置ID(有异常时返回)")
private Long exceptionId;
@Schema(description = "需重新派单")
private Boolean needReassign;
@Schema(description = "司机接单状态:pending/accepted/rejected")
private String acceptStatus;
@Schema(description = "司机拒绝接单原因")
private String rejectReason;
@Schema(description = "原指派司机ID")
private Long driverId;
@Schema(description = "装卸点列表")
private List<AdminRoutePointVO> routePoints;
@Schema(description = "过程打卡节点(与司机端 punchNodes 同结构)")
private List<DriverPunchNodeVO> punchNodes;
@Schema(description = "途打卡记录")
private List<DriverEnrouteRecordVO> enrouteRecords;
@Data
@Schema(description = "装卸点")
public static class AdminRoutePointVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "点位名称")
private String name;
@Schema(description = "详细地址")
private String address;
@Schema(description = "状态:pending/done/active")
private String status;
}
}
@@ -133,4 +133,55 @@ public class DriverWaybillCardVO implements Serializable {
@Schema(description = "过程配置中 punch=是 的打卡节点列表(详情返回)")
private List<DriverPunchNodeVO> punchNodes;
/* ===== pages/waybill/detail 接单查看字段 ===== */
@Schema(description = "货物名称")
private String cargoName;
@Schema(description = "装货地址")
private String pickupAddress;
@Schema(description = "卸货地址")
private String unloadAddress;
@Schema(description = "货物数量(带单位)")
private String cargoQuantity;
@Schema(description = "运输方式文案:公路运输等")
private String transportType;
@Schema(description = "计划发货时间")
private String planShipTime;
@Schema(description = "计划完成时间")
private String planFinishTime;
@Schema(description = "合计货重")
private String totalWeight;
@Schema(description = "备注")
private String remark;
@Schema(description = "装卸点(详情返回)")
private List<DriverRoutePointVO> routePoints;
@Schema(description = "过程配置 JSON(详情返回,供前端兜底推导打卡节点)")
private String processJson;
@Data
@Schema(description = "司机端装卸点")
public static class DriverRoutePointVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "点位名称")
private String name;
@Schema(description = "详细地址")
private String address;
@Schema(description = "状态:pending/done/active")
private String status;
}
}