Skip to content

SCHED-002: 跨区域调度

优先级: 🟡 中 (16.0分) | 实施周期: 2-3周

客户原话

"我们是跨区作业的服务站,每年麦收、秋收的时候,要从河南跑到河北、山东,几百台机器分散在好几个省。不知道哪台机器在哪里,哪台机器有活干,哪台机器闲着。有时候这边的机器忙不过来,那边的机器却闲着,调不过来。转场也是问题,不知道该往哪里转,转过去有没有活。想要个系统能看到所有机器的位置和状态,哪里缺机器就往哪里调,统一调度,提高效率。"

—— 某农机服务站站长

客户类型需求差异

农机合作社(10-50台,本地作业)

需求程度: ⭐⭐ 较低

核心需求:

  • 本地作业为主,偶尔跨县作业
  • 简单的跨区域订单管理
  • 转场路线规划

关键功能:

  • 跨县订单管理
  • 简单路线规划
  • 转场成本计算

农机服务站(跨区作业)

需求程度: ⭐⭐⭐⭐⭐ 必需

核心需求:

  • 跨省作业,机器分散
  • 实时掌握机器位置和状态
  • 跨区域订单统一调度
  • 转场路线优化
  • 多地协同管理

关键功能:

  • 跨区域机器监控
  • 订单区域分配
  • 转场路线规划
  • 多地协同调度
  • 区域负责人管理

大型农场(自有农机队)

需求程度: ⭐⭐ 较低

核心需求:

  • 主要在农场内作业
  • 偶尔支援其他农场
  • 简单的跨区域协调

关键功能:

  • 农场间协调
  • 设备调拨
  • 成本核算

农机租赁公司(租赁+作业)

需求程度: ⭐⭐⭐⭐ 重要

核心需求:

  • 租赁设备跨区域流动
  • 设备位置实时监控
  • 跨区域租赁管理
  • 设备调配优化

关键功能:

  • 设备位置监控
  • 跨区域租赁
  • 设备调配
  • 利用率优化

业务场景描述

典型场景

场景1: 跨省作业机器调度

  • 河南麦收结束,机器空闲
  • 河北麦收开始,机器不足
  • 系统显示:河南有50台空闲收割机
  • 调度员决定:调30台到河北
  • 系统规划:转场路线和时间
  • 机手确认:收到转场通知,开始转场

场景2: 区域订单分配

  • 接到100个订单,分布在3个省
  • 系统分析:每个省的机器数量和订单量
  • 自动分配:河南30单,河北40单,山东30单
  • 区域负责人:查看本区域订单
  • 区域调度:在区域内进行二次调度
  • 开始作业:各区域按计划执行

场景3: 转场路线优化

  • 机器从河南转场到河北
  • 系统规划:最优路线,避开拥堵
  • 计算成本:过路费、油费、时间
  • 推荐路线:高速直达,预计4小时
  • 机手导航:按推荐路线行驶
  • 到达目的地:开始接单作业

场景4: 多地协同调度

  • 河北订单激增,机器不足
  • 系统提示:河南有空闲机器
  • 跨区域调度:从河南调10台到河北
  • 协调沟通:两地负责人确认
  • 转场安排:机器开始转场
  • 到达后:立即投入作业

场景5: 区域作业进度监控

  • 总部监控:查看各区域作业进度
  • 河南进度:80%,接近完成
  • 河北进度:50%,需要支援
  • 山东进度:60%,正常进行
  • 调度决策:从河南调机器支援河北
  • 实时调整:优化跨区域资源配置

核心痛点

  1. 机器位置不明 - 不知道机器在哪里,无法统一调度
  2. 区域信息不通 - 各区域信息不共享,资源浪费
  3. 转场路线不优 - 转场路线不合理,成本高时间长
  4. 协调沟通困难 - 多地协调靠电话,效率低易出错
  5. 调度数据缺失 - 无法分析跨区域调度效率

业务流程图

当前人工流程

系统化流程

用户故事

故事1: 总部调度员跨区域调度

作为 总部调度员 我想要 查看所有区域的机器和订单情况 以便 进行跨区域资源调配

验收标准:

  • 查看地图上所有机器位置
  • 按区域查看机器数量和状态
  • 查看各区域订单量
  • 识别资源不平衡的区域
  • 制定跨区域调度方案

故事2: 区域负责人管理本区域

作为 区域负责人 我想要 管理本区域的机器和订单 以便 高效完成本区域作业

验收标准:

  • 查看本区域所有机器
  • 查看本区域所有订单
  • 在区域内进行调度
  • 向总部申请支援
  • 上报区域作业进度

故事3: 机手接收转场通知

作为 机手 我想要 收到转场通知和路线 以便 快速转场到新区域

验收标准:

  • 收到转场通知
  • 查看目的地和距离
  • 查看推荐路线
  • 查看预计时间和成本
  • 一键导航到目的地

故事4: 系统优化转场路线

作为 系统 我想要 规划最优转场路线 以便 降低转场成本和时间

验收标准:

  • 计算多条可选路线
  • 对比距离、时间、费用
  • 推荐最优路线
  • 考虑实时路况
  • 提供备选方案

故事5: 管理员分析跨区域数据

作为 管理员 我想要 分析跨区域调度数据 以便 优化跨区域调度策略

验收标准:

  • 查看跨区域调度统计
  • 分析转场成本
  • 分析区域资源利用率
  • 识别优化空间
  • 制定改进措施

数据模型

核心实体

1. 跨区域调度任务 (CrossRegionDispatch)

typescript
interface CrossRegionDispatch {
  id: string
  dispatchNo: string
  
  // 源区域
  sourceRegion: {
    regionId: string
    regionName: string
    province: string
    city: string
  }
  
  // 目标区域
  targetRegion: {
    regionId: string
    regionName: string
    province: string
    city: string
  }
  
  // 调度信息
  machines: {
    machineId: string
    machineName: string
    operatorId: string
    operatorName: string
  }[]
  
  // 转场信息
  transferRoute: {
    startLocation: Coordinate
    endLocation: Coordinate
    distance: number
    estimatedDuration: number
    estimatedCost: number
    route: Coordinate[]
    tollFee: number
    fuelCost: number
  }
  
  // 时间信息
  plannedDepartureTime: Date
  plannedArrivalTime: Date
  actualDepartureTime?: Date
  actualArrivalTime?: Date
  
  // 状态
  status: 'planned' | 'transferring' | 'arrived' | 'cancelled'
  
  // 审批
  approvedBy?: string
  approvedAt?: Date
  
  createdAt: Date
  updatedAt: Date
}

2. 区域 (Region)

typescript
interface Region {
  id: string
  name: string
  province: string
  city: string
  district?: string
  
  // 区域范围
  boundary: Coordinate[]
  centerPoint: Coordinate
  
  // 区域负责人
  managerId: string
  managerName: string
  managerPhone: string
  
  // 资源统计
  totalMachines: number
  availableMachines: number
  workingMachines: number
  
  // 订单统计
  totalOrders: number
  pendingOrders: number
  completedOrders: number
  
  // 状态
  isActive: boolean
  createdAt: Date
  updatedAt: Date
}

3. 转场路线 (TransferRoute)

typescript
interface TransferRoute {
  id: string
  routeName: string
  
  startLocation: Coordinate
  endLocation: Coordinate
  
  // 路线信息
  distance: number
  estimatedDuration: number
  waypoints: Coordinate[]
  
  // 费用信息
  tollFee: number
  fuelCost: number
  totalCost: number
  
  // 路况信息
  roadCondition: 'good' | 'normal' | 'poor'
  trafficStatus: 'smooth' | 'slow' | 'congested'
  
  // 推荐度
  recommendScore: number
  
  createdAt: Date
  updatedAt: Date
}

接口设计

1. 查询区域资源

typescript
GET /api/regions/{regionId}/resources

Response:
{
  code: 0,
  message: "success",
  data: {
    region: Region,
    machines: Machine[],
    orders: Order[],
    statistics: {
      machineUtilization: number,
      orderCompletionRate: number,
      averageResponseTime: number
    }
  }
}

2. 创建跨区域调度

typescript
POST /api/cross-region-dispatches

Request:
{
  sourceRegionId: string,
  targetRegionId: string,
  machineIds: string[],
  plannedDepartureTime: Date
}

Response:
{
  code: 0,
  message: "success",
  data: {
    dispatchId: string,
    dispatchNo: string,
    transferRoute: TransferRoute,
    estimatedCost: number
  }
}

3. 规划转场路线

typescript
POST /api/transfer-routes/plan

Request:
{
  startLocation: Coordinate,
  endLocation: Coordinate,
  vehicleType: string
}

Response:
{
  code: 0,
  message: "success",
  data: {
    routes: TransferRoute[],
    recommended: TransferRoute
  }
}

4. 查询跨区域调度

typescript
GET /api/cross-region-dispatches?status={status}&startDate={startDate}

Response:
{
  code: 0,
  message: "success",
  data: {
    total: number,
    list: CrossRegionDispatch[]
  }
}

5. 更新转场状态

typescript
PUT /api/cross-region-dispatches/{dispatchId}/status

Request:
{
  status: string,
  location?: Coordinate,
  notes?: string
}

Response:
{
  code: 0,
  message: "success",
  data: {
    dispatchId: string,
    status: string,
    updatedAt: Date
  }
}

关键业务规则

1. 跨区域调度规则

  • 优先调度距离近的机器
  • 考虑转场成本和时间
  • 确保目标区域有足够订单
  • 避免频繁跨区域调度

2. 转场路线规则

  • 优先推荐高速公路
  • 避开拥堵路段
  • 考虑过路费和油费
  • 提供多条备选路线

3. 区域协调规则

  • 跨区域调度需双方负责人确认
  • 记录调度原因和依据
  • 转场费用由目标区域承担
  • 机器到达后优先完成目标区域订单

技术实现要点

1. 路线规划算法

typescript
function planTransferRoute(
  start: Coordinate,
  end: Coordinate
): TransferRoute[] {
  // 调用地图API规划路线
  const routes = await mapAPI.planRoute(start, end, {
    alternatives: 3,
    avoidTolls: false,
    avoidHighways: false
  });
  
  // 计算费用
  for (const route of routes) {
    route.tollFee = calculateTollFee(route);
    route.fuelCost = calculateFuelCost(route.distance);
    route.totalCost = route.tollFee + route.fuelCost;
    route.recommendScore = calculateRouteScore(route);
  }
  
  // 按推荐度排序
  routes.sort((a, b) => b.recommendScore - a.recommendScore);
  
  return routes;
}

2. 区域资源平衡算法

typescript
function balanceRegionalResources(regions: Region[]): DispatchPlan {
  // 计算各区域资源供需比
  const imbalances = regions.map(region => ({
    region,
    supplyDemandRatio: region.availableMachines / region.pendingOrders,
    surplus: region.availableMachines - region.pendingOrders * 0.8
  }));
  
  // 识别资源过剩和不足的区域
  const surplus = imbalances.filter(r => r.surplus > 5);
  const shortage = imbalances.filter(r => r.surplus < -5);
  
  // 生成调度方案
  const plan: DispatchPlan = [];
  for (const target of shortage) {
    for (const source of surplus) {
      if (source.surplus > 0) {
        const transferCount = Math.min(
          Math.abs(target.surplus),
          source.surplus
        );
        
        plan.push({
          sourceRegion: source.region,
          targetRegion: target.region,
          machineCount: transferCount
        });
        
        source.surplus -= transferCount;
        target.surplus += transferCount;
      }
    }
  }
  
  return plan;
}

实施建议

第一阶段: 基础功能(1周)

  • [ ] 区域管理
  • [ ] 跨区域调度任务管理
  • [ ] 转场路线规划
  • [ ] 区域资源查询

第二阶段: 优化功能(1周)

  • [ ] 区域资源平衡算法
  • [ ] 转场成本优化
  • [ ] 多地协同管理
  • [ ] 跨区域数据分析

第三阶段: 持续优化(持续)

  • [ ] 用户反馈收集
  • [ ] 算法优化
  • [ ] 功能完善

成功案例

案例1: 某农机服务站跨区作业管理

实施前:

  • 机器分散在3个省,位置不明
  • 跨区域调度靠电话,效率低
  • 转场路线不优,成本高

实施后:

  • 实时掌握所有机器位置
  • 跨区域调度系统化,效率高
  • 转场路线优化,成本降低

关键数据:

  • 调度效率提升: 70%
  • 转场成本降低: 30%
  • 机器利用率提升: 40%

案例2: 某大型农机服务平台

实施前:

  • 1000台机器,跨10个省作业
  • 区域信息不通,资源浪费
  • 协调困难,效率低

实施后:

  • 统一平台管理所有区域
  • 区域资源实时共享
  • 跨区域协调顺畅

关键数据:

  • 区域资源利用率: 提升35%
  • 跨区域调度次数: 增加50%
  • 整体作业量: 增长40%

相关场景

  • SCHED-001 作业调度: 区域内订单调度
  • SCHED-003 应急调度: 跨区域应急支援
  • OPER-004 作业记录: 转场轨迹记录

常见问题

Q1: 跨区域调度会增加成本吗?

A: 短期看转场有成本,但通过优化资源配置,整体效率和收入会提升,长期看是划算的。

Q2: 如何确保转场路线最优?

A: 系统调用地图API规划路线,综合考虑距离、时间、费用,推荐最优方案。

Q3: 区域负责人权限如何划分?

A: 区域负责人管理本区域资源,跨区域调度需总部审批。

Q4: 转场费用谁承担?

A: 通常由目标区域承担,具体可根据实际情况协商。

Q5: 如何避免频繁跨区域调度?

A: 系统会评估跨区域调度的必要性,只有在资源严重不平衡时才建议跨区域调度。


本场景文档版本: v2.0 | 最后更新: 2024-03-07

基于 AI 辅助开发,快速、灵活、可靠