wlzboy
3 天以前 40a8157440e3b906da8f52e07d939d78c3f4c313
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java
@@ -32,6 +32,7 @@
    @Excel(name = "任务状态", readConverterExp = "PENDING=待开始,IN_PROGRESS=任务中,COMPLETED=已完成,CANCELLED=已取消")
    private String taskStatus;
    /** 任务描述 */
    @Excel(name = "任务描述")
    private String taskDescription;
@@ -88,6 +89,8 @@
    @Excel(name = "创建人ID")
    private Long creatorId;
    /** 执行人ID */
    @Excel(name = "执行人ID")
    private Long assigneeId;
@@ -135,6 +138,49 @@
    /** 福祉车扩展信息 */
    private SysTaskWelfare welfareInfo;
    private String showTaskCode;
    public void setShowTaskCode(String showTaskCode) {
         showTaskCode=this.showTaskCode;
    }
    // 用于SQL映射的字段(多码查询优化)
    //这些字段接收SQL查询中计算出的dispatchCode和serviceCode值
    private String dispatchCode;
    private String serviceCode;
    public String getDispatchCode() {
        return dispatchCode;
    }
    public void setDispatchCode(String dispatchCode) {
        this.dispatchCode = dispatchCode;
    }
    public String getServiceCode() {
        return serviceCode;
    }
    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }
    /**
     * 获取显示任务编号,优先返回急救转运的调度单编号,其次是服务单编号,最后是任务编号
     */
    public String getShowTaskCode(){
        if(this.emergencyInfo!=null){
            String dispatchOrdCode=this.emergencyInfo.getDispatchCode();
            if(dispatchOrdCode!=null){
                return dispatchOrdCode;
            }
            String serviceOrdCode=this.emergencyInfo.getServiceCode();
            if(serviceOrdCode!=null){
                return serviceOrdCode;
            }
        }
        return this.taskCode;
    }
    public void setTaskId(Long taskId) {
        this.taskId = taskId;
@@ -395,6 +441,9 @@
        
        // 状态流转规则
        switch (currentStatus) {
            case NOT_CONFIRMED:
            case NOT_DEPARTED:
            case PARTIALLY_CONFIRMED:
            case PENDING:
                // 待处理 -> 出发中、已取消
                return newStatus == TaskStatus.DEPARTING || newStatus == TaskStatus.CANCELLED;
@@ -408,8 +457,12 @@
                // 返程中 -> 已完成
                return newStatus == TaskStatus.COMPLETED;
            case IN_PROGRESS:
                // 兼容旧数据:任务中 -> 已完成、已取消、待处理
                return newStatus == TaskStatus.COMPLETED || newStatus == TaskStatus.CANCELLED || newStatus == TaskStatus.PENDING;
                // 兼容旧数据:任务中 -> 已完成、已取消、待处理、已到达、返程中
                return newStatus == TaskStatus.COMPLETED
                    || newStatus == TaskStatus.CANCELLED
                    || newStatus == TaskStatus.PENDING
                    || newStatus == TaskStatus.ARRIVED
                    || newStatus == TaskStatus.RETURNING;
            case COMPLETED:
            case CANCELLED:
                // 已完成、已取消 -> 不允许任何状态变更