import { DispatchData } from "./dispatch.interface";


export interface ObjectRequestLine {
  user: string;
  line: string;
  description: string;
  products: string;
}

export interface ResponseRequestLines{
  error: boolean;
  msg: string;
  response: Array<RequestLines>;
}

export interface ResponseDataRequestLines{
  error: boolean;
  msg: string;
  response: RequestLines;
}

export interface RequestLines {
  ID_LINEA_SOLICITUD: string;
  DESCRIPCION: string;
  ESTADO: string;
  FECHA_REGISTRA: string;
  FECHA_MODIFICA: string;
  USUARIO_REGISTRA: string;
  USUARIO_MODIFICA: string;
  CANTIDAD: number;
  PRODUCTOS: Array<DetailsProduct>;
}

export interface DetailsProduct {
  NUMERO_ARTI_SELE: string;
  NUMERO_ARTICULO: string;
  NUMERO_PRODUCTO: string;
  MODELO: string;
  CODIGO: string;
  CARACTERISTICAS: string;
  CANTIDAD: number;
  PRECIO_UNITARIO: number;
  MONEDA: string;
  PRECIO_TOTAL: number;
  ESTADO: string;
  USUARIO_REGISTRA: string;
  FECHA_REGISTRA: string;
  USUARIO_MODIFICA: string;
  FECHA_MODIFICA: string;
  NUMERO_PROVEEDOR: string;
  PROVEEDOR: string;
}

export interface ObjectGetRequest {
  line: string;
  user: string;
  idRequestLine: string;
}

export interface DataProducts {
  NUMERO_ARTI_SELE: string;
  NUMERO_ARTICULO: string;
  NUMERO_PRODUCTO: string;
  MODELO: string;
  CODIGO: string;
  CARACTERISTICAS: string;
  CANTIDAD: string;
  PRECIO_UNITARIO: string;
  PRECIO_TOTAL: string;
  ESTADO: string;
  USUARIO_REGISTRA: string;
  FECHA_REGISTRA: string;
  USUARIO_MODIFICA: string;
  FECHA_MODIFICA: string;
}
export interface ResponseData{
  error: string;
  msg: string;
  response: RequestLines
}

export interface DialogDataGroup {
  dispatch: Array<DispatchData>;
  dataConfig: GroupRequestLine;
}

export interface GroupRequestLine {
  NUMERO_PROVEEDOR: string;
  PROVEEDOR: string;
  PRECIO_TOTAL: number;
  MONEDA: string;
  FECHA_REGISTRA: string;
  FECHA_MODIFICA: string;
  USUARIO_REGISTRA: string;
  USUARIO_MODIFICA: string;
  DESPACHO: string;
  METODO_PAGO: string;
  PROPOSITO: string;
  PRODUCTOS: Array<DetailsProduct>;
  ACTIVIDAD: string;
  PROYECTO: string;
}

export interface OrderDataRequest {
  NUMERO_PROVEEDOR: string;
  PROVEEDOR: string;
  PRECIO_TOTAL: number;
  MONEDA: string;
  DESPACHO: string;
  PROPOSITO: string;
  ACTIVIDAD: string;
  PROYECTO: string;
}

export interface ResponseDataOrder {
  error: boolean;
  msg: string;
  response: Array<GetOrderData>;
}

export interface GetOrderData {
  ORCO_NUOR: string;
  PROV_NUPR: string;
  PROV_NOCO: string;
  DESP_NUDE: string;
  DESP_NOMB: string;
  LINE_IDLI: string;
  LINE_DESC: string;
  LINE_IDME: string;
  MEPA_NOMB: string;
  ORCO_COST: string;
  ORCO_MONE: string;
  ORCO_PROP: string;
  ORCO_ACTI: string;
  ORCO_PROY: string;
  ORCO_ESTA: string;
  ORCO_USRE: string;
  ORCO_FERE: string;
  ORCO_USMO: string;
  ORCO_FEMO: string;
}

export interface ResponseDataOrderDetails {
  error: boolean;
  msg: string;
  response: GetOrderDetails;
}

export interface GetOrderDetails {
  ORCO_NUOR: string;
  PROV_NUPR: string;
  PROV_NOCO: string;
  DESP_NUDE: string;
  DESP_NOMB: string;
  DESP_CALL: string;
  DESP_NUEX: string;
  DESP_NUIN: string;
  DESP_COPO: string;
  DESP_COLO: string;
  DESP_MUNI: string;
  DESP_ENTI: string;
  DESP_PAIS: string;
  LINE_IDLI: number;
  LINE_DESC: string;
  LINE_IDME: string;
  MEPA_NOMB: string;
  ORCO_COST: number;
  ORCO_MONE: string;
  ORCO_PROP: string;
  ORCO_ACTI: string;
  ORCO_PROY: string;
  ORCO_ESTA: string;
  ORCO_USRE: string;
  ORCO_FERE: string;
  ORCO_USMO: string;
  ORCO_FEMO: string;
  PRODUCTS: Array<ArtitleDetailsOrder>;
  STATES: Array<HistoryOrder>;
}

export interface ArtitleDetailsOrder {
  ARSE_IDAS: number;
  ARTI_IDAR: number;
  ARTI_IDFA: number;
  ARTI_IDSU: number;
  ARTI_CODI: string;
  ARTI_NOMB: string;
  ARSE_NUPR: string;
  ARSE_IDIN: number;
  ARSE_CANT: number;
  ARSE_PRTO: number;
  ARSE_USRE: string;
  ARSE_FERE: string;
  ARSE_USMO: string;
  ARSE_FEMO: string;
  DEAR_IDDE: number;
  DEAR_DESC: string;
  DEAR_CARA: string;
  DEAR_COWE: number;
  DEAR_IMAG: string;
  DEAR_IDUN: number;
  DEAR_NUPR: string;
  DEAR_IDAR: number;
}

export interface HistoryOrder{
  HIOR_IDHO: number;
  HIOR_NUOR: string;
  HIOR_ESOR: string;
  HIOR_EVI1: string;
  HIOR_EVI2: string;
  HIOR_DESC: string;
  HIOR_POEN: number;
  HIOR_USRE: string;
  HIOR_FERE: string;
  HIOR_USMO: string;
  HIOR_FEMO: string;
}
