stateDiagram-v2
    [*] --> 待处理 : 工单创建(客户:博泽,类型:维护保养,优先级:高,标题:博泽项目季检)
    待处理 --> 已分配 : 项目经理拆分任务(可选:按设备/环节拆分),指定工程师,系统记录分配时间与负责人
    已分配 --> 已收到 : 被分配工程师点击「收到」,系统自动记录工程师确认收到时间
    待处理 --> 已收到 : (简化流程)无需拆分时,工程师直接点击「收到」(保留原流程,适配简单工单)
    已收到 --> 已联系 : 工程师点击「已联系客户」,填写预计开始/结束时间
    已联系 --> 执行中 : 工程师到达现场后点击「已到达」,系统自动记录到达时间
    执行中 --> 已完成 : 工程师完成所有任务后点击「已完成」,填写实际开始/结束时间、任务成果(如设备检测报告)
    已联系 --> 已取消 : 工程师点击「不处理」,填写备注(如客户需求变更),系统自动记录取消时间
    已分配 --> 退回待处理 : 工程师点击「退回」,填写退回原因(如任务超出职责范围),系统通知项目经理
    已完成 --> [*] : 工单闭环(自动同步至客户端,生成运维记录归档)
    已取消 --> [*] : 工单闭环(归档至取消类工单库,支持后续追溯)
  1. 待处理→已分配:项目经理任务拆分与分配​
    1.1 角色操作与系统交互(基于若依前端)​
    项目经理操作界面:在若依 “工单管理” 列表页,点击 “待处理” 状态工单的「拆分分配」按钮,弹出拆分分配弹窗:​
    任务拆分(可选):支持 “按设备拆分”(如博泽季检工单拆分为 “AGV-BZ-001 检测”“AGV-BZ-002 检测”)或 “按环节拆分”(如 “设备外观检查”“软件版本更新”),每个子任务生成独立子工单编号(主工单编号 + 子序号,如 “JQ-202507001-01”);​
    工程师选择:下拉框加载系统内 “实施团队” 角色用户(复用若依 “用户管理” 数据,过滤非实施角色),支持 “单工单分配 1 名工程师” 或 “子工单分配不同工程师”;​
    分配备注:可选填写(如 “优先处理 AGV-BZ-002,客户反馈该设备偶发故障”),系统自动记录 “分配时间”(当前时间)、“分配人”(当前登录项目经理账号)。​
    系统后端逻辑:​
    若不拆分:直接更新主工单状态为 “已分配”,新增 “assigned_engineer_id”(工程师 ID)、“assigned_time”(分配时间)、“assigned_remark”(分配备注)字段;​
    若拆分:生成子工单(子工单表关联主工单 ID,parent_workorder_id),每个子工单独立记录 “已分配” 状态与负责人,主工单状态更新为 “拆分中”,待所有子工单完成后自动变为 “已完成”;​
    通知触发:分配完成后,通过 “@Async + 阿里云短信” 通知被分配工程师(如 “您已被分配博泽项目季检工单(工单号:JQ-202507001),请登录系统查看”),同时在若依 “站内信” 模块生成通知。
作者:聂盼盼  创建时间:2025-10-15 20:03
最后编辑:聂盼盼  更新时间:2025-10-28 19:53