import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { Bus_recover_order_detail } from '../models/index' 
/**
 * @author auto generate
 * @version 1.2
 * @date 2021-12-20 17:46
 */
interface Bus_recover_order_detailCU extends ConditionUtil<Bus_recover_order_detailCU>{
    ID:FieldUtil<Bus_recover_order_detailCU>;
    ORDER_NO:FieldUtil<Bus_recover_order_detailCU>;
    BILL_ID:FieldUtil<Bus_recover_order_detailCU>;
    DURATION_TIME:FieldUtil<Bus_recover_order_detailCU>;
    IN_CAR_TIME:FieldUtil<Bus_recover_order_detailCU>;
    IN_NODE_NAME:FieldUtil<Bus_recover_order_detailCU>;
    OUT_CAR_TIME:FieldUtil<Bus_recover_order_detailCU>;
    OUT_IMAGE_URL:FieldUtil<Bus_recover_order_detailCU>;
    OUT_NODE_NAME:FieldUtil<Bus_recover_order_detailCU>;
    RECEIVABLE_AMOUNT:FieldUtil<Bus_recover_order_detailCU>;
    IN_IMAGE_URL:FieldUtil<Bus_recover_order_detailCU>;
}

class Bus_recover_order_detailCUImpl extends ConditionUtilImpl<Bus_recover_order_detailCUImpl> implements Bus_recover_order_detailCU{ 
    newInstance(): Bus_recover_order_detailCUImpl {
        return new Bus_recover_order_detailCUImpl();
    } 
    get ID(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('id','id','id', this);
    }
    get ORDER_NO(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('order_no','orderNo','order_no', this);
    }
    get BILL_ID(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('bill_id','billId','bill_id', this);
    }
    get DURATION_TIME(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('duration_time','durationTime','duration_time', this);
    }
    get IN_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('in_car_time','inCarTime','in_car_time', this);
    }
    get IN_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('in_node_name','inNodeName','in_node_name', this);
    }
    get OUT_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('out_car_time','outCarTime','out_car_time', this);
    }
    get OUT_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('out_image_url','outImageUrl','out_image_url', this);
    }
    get OUT_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('out_node_name','outNodeName','out_node_name', this);
    }
    get RECEIVABLE_AMOUNT(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('receivable_amount','receivableAmount','receivable_amount', this);
    }
    get IN_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{  
        return new FieldUtil('in_image_url','inImageUrl','in_image_url', this);
    }
}

@Singleton 
class Bus_recover_order_detailMU extends TableUtilImpl<Bus_recover_order_detailCU,Bus_recover_order_detail>{ 
    tableName  = 'bus_recover_order_detail';
    tableFields  = ['id','order_no','bill_id','duration_time','in_car_time','in_node_name','out_car_time','out_image_url','out_node_name','receivable_amount','in_image_url'];
    modelFields  = ['id','orderNo','billId','durationTime','inCarTime','inNodeName','outCarTime','outImageUrl','outNodeName','receivableAmount','inImageUrl'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): Bus_recover_order_detailCU {
        return new Bus_recover_order_detailCUImpl();
    }   

    static get ID(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('id','id','id', new Bus_recover_order_detailCUImpl());
    }
    static get ORDER_NO(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('order_no','orderNo','order_no', new Bus_recover_order_detailCUImpl());
    }
    static get BILL_ID(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('bill_id','billId','bill_id', new Bus_recover_order_detailCUImpl());
    }
    static get DURATION_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('duration_time','durationTime','duration_time', new Bus_recover_order_detailCUImpl());
    }
    static get IN_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('in_car_time','inCarTime','in_car_time', new Bus_recover_order_detailCUImpl());
    }
    static get IN_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('in_node_name','inNodeName','in_node_name', new Bus_recover_order_detailCUImpl());
    }
    static get OUT_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('out_car_time','outCarTime','out_car_time', new Bus_recover_order_detailCUImpl());
    }
    static get OUT_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('out_image_url','outImageUrl','out_image_url', new Bus_recover_order_detailCUImpl());
    }
    static get OUT_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('out_node_name','outNodeName','out_node_name', new Bus_recover_order_detailCUImpl());
    }
    static get RECEIVABLE_AMOUNT(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('receivable_amount','receivableAmount','receivable_amount', new Bus_recover_order_detailCUImpl());
    }
    static get IN_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{ 
        return new FieldUtil('in_image_url','inImageUrl','in_image_url', new Bus_recover_order_detailCUImpl());
    }

    get ID(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.ID;
    }
    get ORDER_NO(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.ORDER_NO;
    }
    get BILL_ID(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.BILL_ID;
    }
    get DURATION_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.DURATION_TIME;
    }
    get IN_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.IN_CAR_TIME;
    }
    get IN_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.IN_NODE_NAME;
    }
    get OUT_CAR_TIME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.OUT_CAR_TIME;
    }
    get OUT_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.OUT_IMAGE_URL;
    }
    get OUT_NODE_NAME(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.OUT_NODE_NAME;
    }
    get RECEIVABLE_AMOUNT(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.RECEIVABLE_AMOUNT;
    }
    get IN_IMAGE_URL(): FieldUtil<Bus_recover_order_detailCU>{ 
        return Bus_recover_order_detailMU.IN_IMAGE_URL;
    }
}
export {Bus_recover_order_detailMU, Bus_recover_order_detailCU}
