Agregar filtro de busqueda y tab para descargar los archivos de facturacion a la vista del cliente

feature/Vista_Cliente_Agregar_Filtro_Y_Tab_de_Facturacion_20240322
Felix Morales 6 months ago
parent 7e6e222dd4
commit 3a866b416b
  1. 25
      src/Components/Clientes/Traficos/RptClientesTraficos.tsx
  2. 98
      src/Components/Clientes/Traficos/TraficoCliente.tsx
  3. 2
      src/Components/Reportes/customCells/ClienteProgressBar.tsx
  4. 1
      src/DTO/Corresponsales/DTOFiltrosTraficosClientes.ts
  5. 2
      src/Services/Catalogos/Clientes.Services.ts

@ -32,7 +32,7 @@ import ClientesServices from '../../../Services/Catalogos/Clientes.Services'
import reportesServices from '../../../Services/Reportes/reportes.services' import reportesServices from '../../../Services/Reportes/reportes.services'
import DTOFiltrosTraficosClientes from '../../../DTO/Corresponsales/DTOFiltrosTraficosClientes' import DTOFiltrosTraficosClientes from '../../../DTO/Corresponsales/DTOFiltrosTraficosClientes'
import TraficoCliente from './TraficoCliente' import TraficoCliente from './TraficoCliente'
import { AlenProgressBar } from '../../Reportes/customCells/AlenProgressBar' import { ClienteProgressBar } from '../../Reportes/customCells/ClienteProgressBar'
/* import '../../css/generic01.css' */ /* import '../../css/generic01.css' */
interface IProps {} interface IProps {}
@ -77,6 +77,7 @@ export default function RptClientesTraficos(props: IProps) {
const [Patente, setPatente] = useState(0); const [Patente, setPatente] = useState(0);
const [Aduana, setAduana] = useState('0'); const [Aduana, setAduana] = useState('0');
const [Referencia, setReferencia] = useState('') const [Referencia, setReferencia] = useState('')
const [Estado, setEstado] = useState(0)
const [Clientes, setClientes] = useState<Array<IClientes>>() const [Clientes, setClientes] = useState<Array<IClientes>>()
const [filtro, setFiltro] = useState('') const [filtro, setFiltro] = useState('')
const gridRef = React.useRef<any>(null) const gridRef = React.useRef<any>(null)
@ -93,7 +94,7 @@ export default function RptClientesTraficos(props: IProps) {
center: true, center: true,
sortable: true, sortable: true,
filter: true, filter: true,
cellRenderer: AlenProgressBar, cellRenderer: ClienteProgressBar,
}, },
{ {
field: 'folioGemco', field: 'folioGemco',
@ -264,7 +265,8 @@ export default function RptClientesTraficos(props: IProps) {
Aduana: Aduana, Aduana: Aduana,
Patente: Patente, Patente: Patente,
Referencia: Referencia, Referencia: Referencia,
IdUsuario: UserId IdUsuario: UserId,
Estado: Estado
} }
ClientesServices ClientesServices
.GetTraficos(data) .GetTraficos(data)
@ -454,6 +456,23 @@ export default function RptClientesTraficos(props: IProps) {
</Form.Control> </Form.Control>
</Form.Label> </Form.Label>
</Col> </Col>
<Col lg={2}>
<Form.Label style={{width:'100%', fontSize:'smaller'}}>
Estado
<Form.Control
as='select'
onChange={(e) => {
setEstado(parseInt(e.target.value))
}}
className='form-select form-select-sm'
>
<option value='0'>-SELECCIONE-</option>
<option value='1'>Por Terminar</option>
<option value='2'>Despachado Sin Facturar</option>
<option value='3'>Despachado y Facturado</option>
</Form.Control>
</Form.Label>
</Col>
{(Perfil !== "Corresponsales" && Perfil !== "Clientes")? <> {(Perfil !== "Corresponsales" && Perfil !== "Clientes")? <>
<Col lg={4}> <Col lg={4}>
<Form.Label style={{width:'100%', fontSize:'smaller'}}> <Form.Label style={{width:'100%', fontSize:'smaller'}}>

@ -3114,6 +3114,104 @@ export default function TraficoCliente(props:IProps){
</Col> </Col>
</Row> </Row>
</Tab> </Tab>
<Tab
eventKey="ComprobantesFacturacion"
title="Comprobantes Facturacion"
//tabClassName={Proceso >= 3 && Depto === 'Facturacion'? '' : 'd-none'}
>
<Card>
<Card.Body>
<Row>
<Col xs={6}>
<Form.Label>PDF Cuenta Mexicana</Form.Label>
</Col>
<Col xs={6}>
<Form.Label>XML Cuenta Mexicana</Form.Label>
</Col>
</Row>
<Row>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={37}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['pdf']}
Leyenda={`Seleccione el PDF para subirlo al servidor...`}
onAppendFM={function (idFile: number ): void {}}
/>
</Col>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={38}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['xml']}
Leyenda={`Seleccione el XML para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {}}
/>
</Col>
</Row>
<Row>
<Col xs={6}>
<Form.Label>PDF de Notas de Cargos</Form.Label>
</Col>
<Col xs={6}>
<Form.Label>Archivos Adicionales</Form.Label>
</Col>
</Row>
<Row>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={41}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['pdf']}
Leyenda={`Seleccione el PDF de las notas de cargos para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {
}}
/>
</Col>
<Col xs={6}>
<FileManager
IDUser={UserId}
width={'100%'}
height={100}
IDProcess={39}
IdFile={IDTrafico}
FileName={''}
canDelete={
Depto === 'Facturacion' && Proceso === 3
}
FileType={['zip']}
Leyenda={`Seleccione el zip con los archivos adicionales para subirlo al servidor...`}
onAppendFM={function (idFile: number): void {
}}
/>
</Col>
</Row>
</Card.Body>
</Card>
</Tab>
</Tabs> </Tabs>
</Card.Body> </Card.Body>
</Card> </Card>

@ -1,7 +1,7 @@
import { ICellRendererParams } from "ag-grid-community"; import { ICellRendererParams } from "ag-grid-community";
import { FC, useState, useEffect } from "react"; import { FC, useState, useEffect } from "react";
export const AlenProgressBar: FC<ICellRendererParams> = (props: ICellRendererParams) => { export const ClienteProgressBar: FC<ICellRendererParams> = (props: ICellRendererParams) => {
const [Color, setColor] = useState('progress-bar bg-CORRESPONSAL_NORMAL') const [Color, setColor] = useState('progress-bar bg-CORRESPONSAL_NORMAL')
useEffect(() => { useEffect(() => {

@ -9,4 +9,5 @@ export default interface DTOFiltrosTraficosClientes {
Patente: number; Patente: number;
Referencia: string; Referencia: string;
IdUsuario: number; IdUsuario: number;
Estado: number;
} }

@ -35,7 +35,7 @@ class ClientesDataService {
} }
GetTraficos(data: DTOFiltrosTraficosClientes){ GetTraficos(data: DTOFiltrosTraficosClientes){
return http.get<ICorresponsalTrafico[]>(`/Clientes/Traficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Pedimento=${data.Pedimento}&Aduana=${data.Aduana}&Patente=${data.Patente}&Referencia=${data.Referencia}&IdUsuario=${data.IdUsuario}`) return http.get<ICorresponsalTrafico[]>(`/Clientes/Traficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Pedimento=${data.Pedimento}&Aduana=${data.Aduana}&Patente=${data.Patente}&Referencia=${data.Referencia}&IdUsuario=${data.IdUsuario}&Estado=${data.Estado}`)
} }
} }
export default new ClientesDataService(); export default new ClientesDataService();
Loading…
Cancel
Save