| | |
| | | /** 操作日志列表 */ |
| | | private List<SysTaskLog> operationLogs; |
| | | |
| | | /** 急救转运扩展信息 */ |
| | | private SysTaskEmergency emergencyInfo; |
| | | |
| | | /** 福祉车扩展信息 */ |
| | | private SysTaskWelfare welfareInfo; |
| | | |
| | | public void setTaskId(Long taskId) { |
| | | this.taskId = taskId; |
| | | } |
| | |
| | | return operationLogs; |
| | | } |
| | | |
| | | public void setEmergencyInfo(SysTaskEmergency emergencyInfo) { |
| | | this.emergencyInfo = emergencyInfo; |
| | | } |
| | | |
| | | public SysTaskEmergency getEmergencyInfo() { |
| | | return emergencyInfo; |
| | | } |
| | | |
| | | public void setWelfareInfo(SysTaskWelfare welfareInfo) { |
| | | this.welfareInfo = welfareInfo; |
| | | } |
| | | |
| | | public SysTaskWelfare getWelfareInfo() { |
| | | return welfareInfo; |
| | | } |
| | | |
| | | /** |
| | | * 判断是否可以变更状态 |
| | | */ |
| | |
| | | // 状态流转规则 |
| | | switch (currentStatus) { |
| | | case PENDING: |
| | | return newStatus == TaskStatus.IN_PROGRESS || newStatus == TaskStatus.CANCELLED; |
| | | // 待处理 -> 出发中、已取消 |
| | | return newStatus == TaskStatus.DEPARTING || newStatus == TaskStatus.CANCELLED; |
| | | case DEPARTING: |
| | | // 出发中 -> 已到达、已取消 |
| | | return newStatus == TaskStatus.ARRIVED || newStatus == TaskStatus.CANCELLED; |
| | | case ARRIVED: |
| | | // 已到达 -> 返程中 |
| | | return newStatus == TaskStatus.RETURNING; |
| | | case RETURNING: |
| | | // 返程中 -> 已完成 |
| | | return newStatus == TaskStatus.COMPLETED; |
| | | case IN_PROGRESS: |
| | | // 兼容旧数据:任务中 -> 已完成、已取消、待处理 |
| | | return newStatus == TaskStatus.COMPLETED || newStatus == TaskStatus.CANCELLED || newStatus == TaskStatus.PENDING; |
| | | case COMPLETED: |
| | | case CANCELLED: |
| | | // 已完成、已取消 -> 不允许任何状态变更 |
| | | return false; |
| | | default: |
| | | return false; |
| | |
| | | ", deptName='" + deptName + '\'' + |
| | | '}'; |
| | | } |
| | | } |
| | | } |