package com.gree.mall.miniapp.enums.workorder;


import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.google.common.collect.Lists;
import com.gree.mall.miniapp.enums.base.BaseEnum;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.List;


/**
 * 服务单状态
 */
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum OrderBaseStatusEnum implements BaseEnum {
    //A1100("A1100","预保存服务单(fq)"),
    DYY("DYY","待预约"),
    DSHPG("DSHPG","待商户派工"),
    DWDPG("DWDPG","待网点派工"),
    DQD("DQD","待抢单"),
    DJD("DJD","待接单"),
    FWZ("FWZ","服务中"),
    YCD("YCD","异常单"), //此处异常单状态，非order_base_status控制，而是根据is_exception或者order_flag的tag判断
    YWG("YWG","已完工待结算"),
    YJS("YJS","已结算"),
    YQX("YQX","已取消"),
    CJ("CJ","创建"),
    YPD("YPD","预派单"),
    DXSPD("DXSPD","待销司派单"),
    DZBPG("DZBPG","待总部派单"),
    DSM("DSM","待上门"),
    DWDSPGP("DWDSPGP","待一级网点审批改派"),
    DXSSPGP("DXSSPGP","待销司审批改派"),
    DTJXSSPGP("DTJXSSPGP","待同级销司审批改派"),
    DZBSPGP("DZBSPGP","待总部审批改派"),
    DWDPD("DWDPD","待网点派单"),
    DFZXPD("DFZXPD","待分中心派单"),
    DFZXSPGP("DFZXSPGP","待分中心审批改派"),
    GCSZT("GCSZT","工程师在途"),
    YZP("YZP","已转派"),
    BFWG("BFWG","部分完工"),
    FWZT("FWZT","服务暂停"),
    WDBH("WDBH","网点驳回"),
    XSBH("XSBH","销司驳回"),
    TJXSBH("TJXSBH","同级销司驳回"),
    ZBBH("ZBBH","总部驳回"),
    FZXBH("FZXBH","分中心驳回"),
    GCSZX("GCSZX","工程师完工"),
    WDWG("WDWG","网点完工"),
    YCGB("YCGB","异常关闭"),
    LRCD("LRCD","录入存档"),
    FWQX("FWQX","服务取消"),
    FL("FL","分流3.0"),
    YWGO("YWGO","已完工"),
    ;

    @EnumValue
    @JsonValue
    private final String key;
    private final String remark;

    public static List<String> isOver(){
        return Lists.newArrayList(YWG.key,YJS.key);
    }


}
