Se agrega reporte de COVEs para Casa Cuervo

AmazonRelease1.1
unknown 2 years ago
parent 13e498c68c
commit 8058bd17ac
  1. 4
      src/Components/AgenciaAduanal/AvisoCruce/AvisoCruce.tsx
  2. 2
      src/Components/Bodega/FotosBodega.tsx
  3. 2
      src/Components/Catalogos/CatTabulador/CatTabulador.tsx
  4. 2
      src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx
  5. 19
      src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
  6. 2
      src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx
  7. 0
      src/Components/Clientes/CasaCuervo/Interfaces/I325Pedidos.ts
  8. 8
      src/Components/Clientes/CasaCuervo/Interfaces/I325RptCOVEs.ts
  9. 137
      src/Components/Clientes/CasaCuervo/PDFs/FormatoRevision.tsx
  10. 13
      src/Components/Clientes/CasaCuervo/Reportes/ControlledInput/ControlledInput.tsx
  11. 528
      src/Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs.tsx
  12. 6
      src/Components/Clientes/CasaCuervo/Reportes/RptPedidos.tsx
  13. 18
      src/Components/Clientes/CasaCuervo/Services/CasaCuervo.Services.ts
  14. 2
      src/Components/Clientes/ZincInternacional/Rpt1868Facturas.tsx
  15. 2
      src/Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista.tsx
  16. 2
      src/Components/Corresponsales/TraficoCorresponsales.tsx
  17. 4
      src/Components/Dashboard/Dashboard.tsx
  18. 2
      src/Components/Dashboard/DashboardCorresponsales.tsx
  19. 2
      src/Components/Login/login.tsx
  20. 4
      src/Components/Register/register.tsx
  21. 4
      src/Components/Reportes/RptCorresponsalesTraficos.tsx
  22. 4
      src/Components/Reportes/RptCorresponsalesTraficosHst.tsx
  23. 2
      src/Components/Reportes/RptFacturasTxtHeineken.tsx
  24. 2
      src/Components/Reportes/RptOperaciones.tsx
  25. 2
      src/Components/Utils/Notificaciones/Notificaciones.tsx
  26. 4
      src/Components/registerPermisoClientes/registerPermisoClientes.tsx
  27. 2
      src/Components/resetCredentials/resetCredentials.tsx
  28. 7
      src/Constants/TargetURL.ts
  29. 1
      src/css/home.css
  30. 68
      src/index.tsx

@ -5,9 +5,9 @@ import Header from '../../../images/AvisoCruceHeader.png'
import Footer from '../../../images/AvisoCruceFooter.png' import Footer from '../../../images/AvisoCruceFooter.png'
import PrintComponents from 'react-print-components' import PrintComponents from 'react-print-components'
interface IProps {} export interface IProps {}
export const AvisoCruce: FC<IProps> = (props) => { export default function AvisoCruce (props: IProps) {
const [AvisoCruce, setAvisoCruce] = useState('') const [AvisoCruce, setAvisoCruce] = useState('')
const [Validacion, setValidacion] = useState('') const [Validacion, setValidacion] = useState('')
const [Aduana, setAduana] = useState('') const [Aduana, setAduana] = useState('')

@ -12,7 +12,7 @@ import { TargetURL } from '../../Constants/TargetURL'
const URL = new TargetURL() const URL = new TargetURL()
interface IProps {} interface IProps {}
export const FotosBodega: FC<IProps> = (props) => { export default function FotosBodega(props: IProps) {
const [API, setAPI] = useState(URL.get() + '/ArchivoElectronico/getPictureContent?Nombre=') const [API, setAPI] = useState(URL.get() + '/ArchivoElectronico/getPictureContent?Nombre=')
const [Referencia, setReferencia] = useState('') const [Referencia, setReferencia] = useState('')
const [imageFullSize, setImageFullSize] = useState('') const [imageFullSize, setImageFullSize] = useState('')

@ -27,7 +27,7 @@ interface IselectedRows {
selectedRows: any selectedRows: any
} }
export const CatTabuladores: FC<IProps> = (props) => { export default function CatTabuladores (props: IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -20,7 +20,7 @@ import DTO2096NoParte from '../DTO/DTO2096NoParte'
import I2096NoParteLog from '../Interfaces/I2096NoParteLog' import I2096NoParteLog from '../Interfaces/I2096NoParteLog'
export interface IAmazonNoPartesProps {} export interface IAmazonNoPartesProps {}
export function AmazonNoPartes(props: IAmazonNoPartesProps) { export default function AmazonNoPartes(props: IAmazonNoPartesProps) {
const dispatch = useDispatch() const dispatch = useDispatch()
const mNoPartes = useSelector( const mNoPartes = useSelector(
(state: RootState) => state.AmazonNoPartes.NoPartes (state: RootState) => state.AmazonNoPartes.NoPartes

@ -37,7 +37,7 @@ import loadingImg from '../../../../../../images/ajaxloader.gif'
export interface IRptAmazonLinkInvoice2TrafficProps {} export interface IRptAmazonLinkInvoice2TrafficProps {}
export function RptAmazonLinkInvoice2Traffic( export default function RptAmazonLinkInvoice2Traffic(
props: IRptAmazonLinkInvoice2TrafficProps props: IRptAmazonLinkInvoice2TrafficProps
) { ) {
const dispatch = useDispatch() const dispatch = useDispatch()
@ -188,6 +188,13 @@ export function RptAmazonLinkInvoice2Traffic(
}) })
} }
function getReceiver(Cadena: string, char1: string[1], char2: string[1]) {
return Cadena.slice(
Cadena.indexOf(char1) + 1,
Cadena.lastIndexOf(char2),
);
}
return ( return (
<div> <div>
<Card> <Card>
@ -214,7 +221,6 @@ export function RptAmazonLinkInvoice2Traffic(
</Row> </Row>
</Card.Body> </Card.Body>
</Card> </Card>
<Card> <Card>
<Card.Body> <Card.Body>
<div className="MDcontainer"> <div className="MDcontainer">
@ -230,6 +236,7 @@ export function RptAmazonLinkInvoice2Traffic(
<th style={{ width: '100px' }}>Referencia</th> <th style={{ width: '100px' }}>Referencia</th>
<th style={{ width: '80px' }}>Commercial Invoice Date</th> <th style={{ width: '80px' }}>Commercial Invoice Date</th>
<th style={{ width: '250px' }}>Invoice Number</th> <th style={{ width: '250px' }}>Invoice Number</th>
<th style={{ width: '100px' }}>Receiver</th>
<th style={{ width: '100px' }}>Incoterms</th> <th style={{ width: '100px' }}>Incoterms</th>
<th style={{ textAlign: 'center' }}>HAWB</th> <th style={{ textAlign: 'center' }}>HAWB</th>
<th>Qty Unit of measure</th> <th>Qty Unit of measure</th>
@ -324,6 +331,13 @@ export function RptAmazonLinkInvoice2Traffic(
<td style={{ width: '300px' }}> <td style={{ width: '300px' }}>
{MasterData.invoiceNumber} {MasterData.invoiceNumber}
</td> </td>
<td style={{ width: '100px', textAlign: 'center', fontWeight: 'bold', fontSize: '13px' }}>
{mInvoices
.filter((value) => value.id === MasterData.id)
.map((row) => {
return getReceiver(row.detail[0].amazonShipmentReferenceId,'_','_')
})}
</td>
<td style={{ width: '100px', textAlign: 'center' }}> <td style={{ width: '100px', textAlign: 'center' }}>
{MasterData.incoterms} {MasterData.incoterms}
</td> </td>
@ -404,7 +418,6 @@ export function RptAmazonLinkInvoice2Traffic(
> >
Item Description Item Description
</th> </th>
<th <th
style={{ style={{
width: '120px', width: '120px',

@ -27,7 +27,7 @@ import { FaAmazon } from 'react-icons/fa'
export interface IRptAmazonPendingTraficInvoiceProps {} export interface IRptAmazonPendingTraficInvoiceProps {}
export function RptAmazonPendingTraficInvoice( export default function RptAmazonPendingTraficInvoice(
props: IRptAmazonPendingTraficInvoiceProps props: IRptAmazonPendingTraficInvoiceProps
) { ) {
const dispatch = useDispatch() const dispatch = useDispatch()

@ -0,0 +1,8 @@
export default interface I325RptCOVEs {
factura : string,
cove: string,
pedimento: string,
clave: string,
fechaPago: string,
vehiculo: string
}

@ -1,8 +1,8 @@
import React, { FC, useEffect, useState } from 'react' import React, { FC, useEffect, useState } from 'react'
import { useParams } from 'react-router-dom' import { useParams } from 'react-router-dom'
import '../../../../css/printableArea.css' import '../../../../css/printableArea.css'
import I325Pedidos from '../../../../Interfaces/Clientes/CasaCuervo/I325Pedidos' import I325Pedidos from '../Interfaces/I325Pedidos'
import PedDataService from '../../../../Services/Clientes/CasaCuervo/Pedidos.Services' import PedDataService from '../Services/CasaCuervo.Services'
interface IProps {} interface IProps {}
@ -11,7 +11,7 @@ interface IMedidaCaja {
Medida: string Medida: string
} }
export const FormatoRevision: FC<IProps> = (props) => { export default function FormatoRevision (props: IProps) {
const { id } = useParams() const { id } = useParams()
const [ID, setID] = useState<number>(0) const [ID, setID] = useState<number>(0)
const [Data, setData] = useState<I325Pedidos>() const [Data, setData] = useState<I325Pedidos>()
@ -21,11 +21,13 @@ export const FormatoRevision: FC<IProps> = (props) => {
{ id: 1, Medida: 'Caja 53 pies' }, { id: 1, Medida: 'Caja 53 pies' },
{ id: 2, Medida: 'Caja 48 pies' }, { id: 2, Medida: 'Caja 48 pies' },
{ id: 3, Medida: 'Refrigerada 53 pies' }, { id: 3, Medida: 'Refrigerada 53 pies' },
{ id: 4, Medida: 'Pipa' }, { id: 4, Medida: 'Pipa' }
] ]
const Print = () => { const Print = () => {
let printContents: string = (document.getElementById('printableDiv') as HTMLInputElement).innerHTML let printContents: string = (
document.getElementById('printableDiv') as HTMLInputElement
).innerHTML
let originalContents = document.body.innerHTML let originalContents = document.body.innerHTML
document.body.innerHTML = printContents document.body.innerHTML = printContents
window.print() window.print()
@ -75,17 +77,22 @@ export const FormatoRevision: FC<IProps> = (props) => {
}, [id]) }, [id])
return ( return (
<div id='printableDiv'> <div id="printableDiv">
<div className='printableDiv'> <div className="printableDiv">
<table> <table>
<tr> <tr>
<th colSpan={6} style={{ textAlign: 'center', backgroundColor: '#FFFFFF' }}> <th
colSpan={6}
style={{ textAlign: 'center', backgroundColor: '#FFFFFF' }}
>
Nota de revision de mercancia y sellos de seguridad: Casa Cuervo Nota de revision de mercancia y sellos de seguridad: Casa Cuervo
</th> </th>
</tr> </tr>
<tr> <tr>
<td style={{ textAlign: 'right' }}> <td style={{ textAlign: 'right' }}>
<span style={{ fontWeight: 'bold' }}>Fecha y hora de impresion:&nbsp;</span> <span style={{ fontWeight: 'bold' }}>
Fecha y hora de impresion:&nbsp;
</span>
{GetCurrentDateTime()} {GetCurrentDateTime()}
</td> </td>
</tr> </tr>
@ -108,7 +115,10 @@ export const FormatoRevision: FC<IProps> = (props) => {
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Si no se cuentra con sellos del cliente, poner sellos de GEMCO previa autorizacion del cliente</td> <td>
Si no se cuentra con sellos del cliente, poner sellos de GEMCO
previa autorizacion del cliente
</td>
</tr> </tr>
<tr style={{ width: '100%' }}> <tr style={{ width: '100%' }}>
<th colSpan={6} style={{ backgroundColor: '#FFFFFF' }}> <th colSpan={6} style={{ backgroundColor: '#FFFFFF' }}>
@ -119,12 +129,36 @@ export const FormatoRevision: FC<IProps> = (props) => {
<td> <td>
<table style={{ width: '100%' }}> <table style={{ width: '100%' }}>
<tr> <tr>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>No. de pedido</td> <td
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>No. de factura</td> style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>Cartones</td> >
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>Bultos</td> No. de pedido
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>No. de Caja</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}>Medida de la caja</td> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
>
No. de factura
</td>
<td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
>
Cartones
</td>
<td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
>
Bultos
</td>
<td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
>
No. de Caja
</td>
<td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
>
Medida de la caja
</td>
</tr> </tr>
<tr> <tr>
<td>{Data?.po}</td> <td>{Data?.po}</td>
@ -135,7 +169,9 @@ export const FormatoRevision: FC<IProps> = (props) => {
<td> <td>
{mCatMedidas {mCatMedidas
? mCatMedidas.map((a) => { ? mCatMedidas.map((a) => {
return Data?.medidaCaja === a.id.toString() ? a.Medida : '' return Data?.medidaCaja === a.id.toString()
? a.Medida
: ''
}) })
: null} : null}
</td> </td>
@ -156,51 +192,72 @@ export const FormatoRevision: FC<IProps> = (props) => {
<td> <td>
<table style={{ width: '100%' }}> <table style={{ width: '100%' }}>
<tr> <tr>
<th colSpan={6} style={{ textAlign: 'center', backgroundColor: '#FFFFFF' }}> <th
colSpan={6}
style={{ textAlign: 'center', backgroundColor: '#FFFFFF' }}
>
Numero de sellos Numero de sellos
</th> </th>
</tr> </tr>
<tr> <tr>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='30%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="30%"
>
Origen Origen
</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='10%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="10%"
>
Izquierdo Izquierdo
</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='10%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="10%"
>
Derecho Derecho
</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='30%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="30%"
>
Nuevos despues de la revision Nuevos despues de la revision
</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='10%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="10%"
>
Izquierdo Izquierdo
</td> </td>
<td style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }} width='10%'> <td
style={{ backgroundColor: '#FFFFFF', fontWeight: 'bold' }}
width="10%"
>
Derecho Derecho
</td> </td>
</tr> </tr>
<tr> <tr>
<td width='30%'>{Data?.sello1}</td> <td width="30%">{Data?.sello1}</td>
<td width='10%' style={{ backgroundColor: '#FFFFFF' }}> <td width="10%" style={{ backgroundColor: '#FFFFFF' }}>
&nbsp; &nbsp;
</td> </td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
<td width='30%' style={{ backgroundColor: '#FFFFFF' }}> <td width="30%" style={{ backgroundColor: '#FFFFFF' }}>
&nbsp; &nbsp;
</td> </td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
<td width='10%' style={{ backgroundColor: '#FFFFFF' }}> <td width="10%" style={{ backgroundColor: '#FFFFFF' }}>
&nbsp; &nbsp;
</td> </td>
</tr> </tr>
<tr> <tr>
<td width='30%'>{Data?.sello2}</td> <td width="30%">{Data?.sello2}</td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
<td width='30%'>&nbsp;</td> <td width="30%">&nbsp;</td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
<td width='10%'>&nbsp;</td> <td width="10%">&nbsp;</td>
</tr> </tr>
</table> </table>
</td> </td>
@ -240,8 +297,12 @@ export const FormatoRevision: FC<IProps> = (props) => {
<td style={{ backgroundColor: '#FFFFFF' }}>&nbsp;</td> <td style={{ backgroundColor: '#FFFFFF' }}>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<th style={{ textAlign: 'center' }}>Nombre y firma del revisor</th> <th style={{ textAlign: 'center' }}>
<th style={{ textAlign: 'center' }}>Fecha y hora de la revision</th> Nombre y firma del revisor
</th>
<th style={{ textAlign: 'center' }}>
Fecha y hora de la revision
</th>
</tr> </tr>
</table> </table>
</td> </td>

@ -1,5 +1,5 @@
import React, { FC, useState } from 'react' import React, { FC, useState } from 'react'
import PedidosDataService from '../../../../../Services/Clientes/CasaCuervo/Pedidos.Services' import PedidosDataService from '../../Services/CasaCuervo.Services'
import { Form } from 'react-bootstrap' import { Form } from 'react-bootstrap'
//import Datetime from 'react-datetime' //import Datetime from 'react-datetime'
//import 'react-datetime/css/react-datetime.css' //import 'react-datetime/css/react-datetime.css'
@ -73,7 +73,12 @@ export const ControlledInput: FC<IProps> = (props) => {
return ( return (
<> <>
{props.mode === 'estatus' || props.mode === 'comentarioGEMCO' ? ( {props.mode === 'estatus' || props.mode === 'comentarioGEMCO' ? (
<input value={value} onChange={onChange} onKeyDown={(e) => handleKeyDown(e)} style={{ width: '75%' }} /> <input
value={value}
onChange={onChange}
onKeyDown={(e) => handleKeyDown(e)}
style={{ width: '75%' }}
/>
) : ( ) : (
/* <Form.Control /* <Form.Control
defaultValue={value} defaultValue={value}
@ -96,8 +101,8 @@ export const ControlledInput: FC<IProps> = (props) => {
<DatePicker <DatePicker
selected={valueDT} selected={valueDT}
onChange={(date: any) => setStartDate(date)} onChange={(date: any) => setStartDate(date)}
timeInputLabel='Time:' timeInputLabel="Time:"
dateFormat='MM/dd/yyyy h:mm aa' dateFormat="MM/dd/yyyy h:mm aa"
showTimeInput showTimeInput
/> />
)} )}

@ -0,0 +1,528 @@
import { FC, useEffect, useState } from 'react'
import { Alert, Button, Card, Col, Form, Modal, Row } from 'react-bootstrap'
import {
BsCloudArrowUpFill,
BsFileEarmarkExcel,
BsFillPencilFill,
BsSearch
} from 'react-icons/bs'
import I325Pedidos from '../Interfaces/I325Pedidos'
import { MsgInformativo } from '../../../Utils/Toast/msgInformativo'
import PedDataService from '../Services/CasaCuervo.Services'
import DataTable from 'react-data-table-component'
import DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos'
import * as XLSX from 'xlsx'
import { IconContext } from 'react-icons'
import FileManager from '../../../Utils/FileManager/FileManager'
import DatePicker from 'react-datepicker'
import 'react-datepicker/dist/react-datepicker.css'
import DTO325UpdateFromWeb from '../../../../DTO/Clientes/CasaCuervo/DTO325UpdateFromWeb'
import I325RptCOVEs from '../Interfaces/I325RptCOVEs'
interface IMedidaCaja {
id: number
Medida: string
}
export interface IRptCOVEsProps {
}
export default function RptCasaCuervoCOVEs (props: IRptCOVEsProps) {
const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0
})
const [Depto, setDepto] = useState(() => {
const stickyValue = window.localStorage.getItem('Departamento')
return stickyValue !== null ? JSON.parse(stickyValue) : ''
})
const [UserType, setUserType] = useState(() => {
const stickyValue = window.localStorage.getItem('UserType')
return stickyValue !== null ? JSON.parse(stickyValue) : ''
})
const queryParams = new URLSearchParams(window.location.search)
const [Search, setSearch] = useState('')
const [DoneColor, setDoneColor] = useState('#CCD1D1')
const [CurrentTime2Number, setCurrentTime2Number] = useState(0)
const [Data, setData] = useState<I325RptCOVEs[]>([])
const [DataOriginal, setDataOriginal] = useState<I325RptCOVEs[]>([])
const [Aduanas, setAduanas] = useState<DTO325AduanasPedidos[]>([])
const [Aduana, setAduana] = useState('Aduanas...')
const [show, setShowMsg] = useState(false)
const [ShowModal, setShowModal] = useState(false)
const [header, setHeader] = useState('')
const [msg, setMsg] = useState('')
const [Inicio, setInicio] = useState(currentDate(-30))
const [Fin, setFin] = useState(currentDate(0))
const [filtro, setFiltro] = useState('')
const [tipoReporte, setTipoReporte] = useState(0)
const [msgColor, setMsgColor] = useState('primary')
const [modalFileManager, setModalFileManager] = useState(false)
const [modalFileManagerCorresponsal, setModalFileManagerCorresponsal] =
useState(false)
const [modalEdit, setModalEdit] = useState(false)
const [ComentarioGEMCO, setComentarioGEMCO] = useState('')
const [fechaCompromiso, setFechaCompromiso] = useState<Date | null>()
const [fechaCruce, setFechaCruce] = useState<Date | null>()
const [DTOfechaCompromiso, setDTOFechaCompromiso] = useState<string>('')
const [DTOfechaCruce, setDTOFechaCruce] = useState<string>('')
const [PO, setPO] = useState('')
const [Carrier, setCarrier] = useState('')
const [IDPedido, setIDPedido] = useState(0)
const [Factura, setFactura] = useState('')
const [MedidaCaja, setMedidaCaja] = useState('')
const [Sello1, setSello1] = useState('')
const [Sello2, setSello2] = useState('')
const [UUID, setUUID] = useState('')
const [Trafico, setTrafico] = useState('')
const [Pedimento, setPedimento] = useState('')
const [Patente, setPatente] = useState('')
const [ModalTmpPDF, setModalTmpPDF] = useState(false)
const [NoPedido, setNoPedido] = useState('')
const [NoCaja, setNoCaja] = useState('')
const columnsConcepts = [
{
name: 'Factura',
width: '120px',
selector: (row: I325RptCOVEs) => row.factura,
sortable: true
},
{
name: 'COVE',
width: '150px',
selector: (row: I325RptCOVEs) => row.cove,
sortable: true
},
{
name: 'Pedimento',
width: '120px',
selector: (row: I325RptCOVEs) => row.pedimento,
sortable: true
},
{
name: 'Clave',
width: '80px',
selector: (row: I325RptCOVEs) => row.clave,
sortable: true
},
{
name: 'Fecha pago',
width: '170px',
selector: (row: I325RptCOVEs) => row.fechaPago,
sortable: true
},
{
name: 'Vehiculo',
width: '150px',
selector: (row: I325RptCOVEs) => row.vehiculo,
sortable: true
}
]
const mCatMedidas: IMedidaCaja[] = [
{ id: 0, Medida: 'SELECCIONE' },
{ id: 1, Medida: 'Caja 53 pies' },
{ id: 2, Medida: 'Caja 48 pies' },
{ id: 3, Medida: 'Refrigerada 53 pies' },
{ id: 4, Medida: 'Pipa' }
]
const adjustTimeZone = (str: string): string => {
if (str) {
const original: any = new Date(str)
const real = new Date(original - original.getTimezoneOffset() * 60 * 1000)
return real.toISOString()
} else return ''
}
const StrtoDate = (str: string): Date | null => {
if (str) {
const original: any = new Date(str)
return original
} else return null
}
function currentDate(days: number): string {
var today = new Date()
today.setDate(today.getDate() + days)
var dd = String(today.getDate()).padStart(2, '0')
var mm = String(today.getMonth() + 1).padStart(2, '0')
var yyyy = today.getFullYear()
return yyyy + '-' + mm + '-' + dd
}
const generaReporte = () => {
setTipoReporte(0)
PedDataService.GetRptCOVEs(
Inicio,
Fin
)
.then((response) => {
setData(response.data)
setDataOriginal(response.data)
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error: ' + e)
setShowMsg(true)
return
})
}
const populateAduanas = () => {
PedDataService.getAduanas(UserId, UserType)
.then((response) => {
console.log(
'...........................................Aduanas ' + response.data
)
setAduanas(response.data)
setAduana(response.data[0].value)
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error: ' + e)
setShowMsg(true)
return
})
}
const uploadExcel = () => {
const d1 = new Date()
setCurrentTime2Number(d1.getTime())
setModalFileManager(true)
}
const uploadExcelCorresponsal = () => {
const d1 = new Date()
setCurrentTime2Number(d1.getTime())
setModalFileManagerCorresponsal(true)
}
const downloadExcel = () => {
exportExcel(Data, 'Reporte de COVEs de Casa Cuervo')
}
function exportExcel(jsonData: I325RptCOVEs[], fileName: string): void {
let Heading = [
[
'Factura',
'COVE',
'Pedimento',
'Clave',
'Fecha pago',
'Vehiculo'
]
]
const dataOnly = jsonData.map(
({
factura,
cove,
pedimento,
clave,
fechaPago,
vehiculo
}) => {
return {
factura,
cove,
pedimento,
clave,
fechaPago,
vehiculo
}
}
)
/* dataOnly.forEach((row, index, array) => {
if (row.fechaCruce.length === 0 && row.modulacion.length > 0) {
dataOnly[index].fechaCruce = row.modulacion
}
}) */
/* const Report = dataOnly.map(
({
po,
aduana,
destination,
truckNumber,
forwarder,
carrier,
loadDate,
prioridad,
estatus,
comentarioGEMCO,
fechaCompromiso,
fechaCruce,
factura,
uuid,
trafico,
pedimento,
patente,
actualizacion
}) => {
return {
po,
aduana,
destination,
truckNumber,
forwarder,
carrier,
loadDate,
prioridad,
estatus,
comentarioGEMCO,
fechaCompromiso,
fechaCruce,
factura,
uuid,
trafico,
pedimento,
patente,
actualizacion
}
}
) */
const wb = XLSX.utils.book_new()
const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([])
XLSX.utils.sheet_add_aoa(ws, Heading)
XLSX.utils.sheet_add_json(ws, dataOnly, { origin: 'A2', skipHeader: true })
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')
XLSX.writeFile(wb, fileName + '.xlsx')
var range = XLSX.utils.decode_range(ws['!ref?'])
for (var C = range.s.c + 1; C <= range.e.c + 1; ++C) {
var address = XLSX.utils.encode_col(C) + '1' // <-- first row, column number C
if (!ws[address]) continue
ws[address].v = ws[address].v.toUpperCase()
}
}
const uploadFile = (idFile: number, Process: number) => {
PedDataService.Append(idFile, Process)
.then((response) => {
console.log(response.data)
if (!response.data) {
setHeader('Error')
setMsg(
'Ocurrio un error, favor de verificar el formato de la fecha, debe ser: MM/dd/yyyy '
)
setShowMsg(true)
}
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error: ' + e)
setShowMsg(true)
return
})
}
useEffect(() => {
populateAduanas()
}, [])
useEffect(() => {
if (fechaCompromiso) setDTOFechaCompromiso(fechaCompromiso.toString())
if (fechaCruce) setDTOFechaCruce(fechaCruce.toString())
}, [fechaCompromiso, fechaCruce])
let handleColor = (time: Date) => {
return time.getHours() > 12 ? 'text-success' : 'text-error'
}
/* const saveInfo = (mode: number) => {
const data: DTO325UpdateFromWeb = {
id: IDPedido,
ComentarioGEMCO: ComentarioGEMCO,
FechaCompromiso: fechaCompromiso
? adjustTimeZone(DTOfechaCompromiso)
: '',
FechaCruce: fechaCruce ? adjustTimeZone(DTOfechaCruce) : '',
Factura: Factura,
MedidaCaja: MedidaCaja,
Sello1: Sello1,
Sello2: Sello2,
UUID: UUID,
Trafico: Trafico,
Pedimento: Pedimento,
Patente: Patente
}
PedDataService.UpdateInfo(data)
.then((response) => {
const idx = Data.findIndex((obj) => obj.id == IDPedido)
Data[idx].comentarioGEMCO = ComentarioGEMCO
Data[idx].fechaCompromiso = fechaCompromiso
? adjustTimeZone(DTOfechaCompromiso)
: ''
Data[idx].fechaCruce = fechaCruce ? adjustTimeZone(DTOfechaCruce) : ''
Data[idx].factura = Factura
Data[idx].sello1 = Sello1
Data[idx].sello2 = Sello2
Data[idx].trafico = Trafico
Data[idx].uuid = UUID
Data[idx].pedimento = Pedimento
Data[idx].patente = Patente
setDataOriginal(Data)
if (mode === 2) createPDF()
setModalEdit(false)
})
.catch((e: Error) => {
setHeader('Error')
setMsg('Ocurrio un error: ' + e)
setShowMsg(true)
setModalEdit(false)
})
} */
useEffect(() => {
setData(DataOriginal)
/* if (tipoReporte === 0) setData(DataOriginal)
else if (tipoReporte === 1) {
setData(
DataOriginal.filter(function (row) {
if (row.fechaCruce.length === 0 && row.modulacion.length === 0)
return row
})
)
} else if (tipoReporte === 2) {
setData(
DataOriginal.filter(function (row) {
if (row.fechaCruce.length > 0 || row.modulacion.length > 0) return row
})
)
} */
}, [tipoReporte])
const createPDF = () => {
PedDataService.GeneratePDF4CC(IDPedido)
.then((response: any) => {
if (response.status === 200) {
console.log(response.data)
const blob = new Blob([response.data], { type: 'application/pdf' })
const url = window.URL.createObjectURL(blob)
window.open(url)
}
})
.catch((e: Error) => {
setHeader('Error')
setMsg('A esta factura no se le ha anexado PDF')
setShowMsg(true)
return
})
}
const generateTempPDF = () => {
PedDataService.GenerateTempPDF(
NoPedido ? NoPedido : '',
NoCaja ? NoCaja : '',
MedidaCaja ? MedidaCaja : '0',
Factura ? Factura : '',
Sello1 ? Sello1 : '.',
Sello2 ? Sello2 : '.',
Carrier ? Carrier : '.'
)
.then((response: any) => {
if (response.status === 200) {
console.log(response.data)
const blob = new Blob([response.data], { type: 'application/pdf' })
const url = window.URL.createObjectURL(blob)
window.open(url)
}
})
.catch((e: Error) => {
setHeader('Error')
setMsg(e.message.toString())
setShowMsg(true)
return
})
}
return (
<div>
<Card>
<Card.Body>
<div className="row">
<div className="col-md-1">
<Form.Control
defaultValue={Inicio}
type="date"
name="Inicio"
placeholder="Inicio"
title="Inicio"
alt="Inicio"
data-date-format="YYYY-mm-dd"
onChange={(e) => setInicio(e.target.value)}
size="sm"
/>
</div>
<div className="col-md-1">
<Form.Control
defaultValue={Fin}
type="date"
name="Fin"
placeholder="Fin"
title="Fin"
alt="Fin"
onChange={(e) => setFin(e.target.value)}
size="sm"
/>
</div>
<div className="col-md-6">&nbsp;</div>
<div className="col-md-1 right-label">
<Button
variant="primary"
size="sm"
onClick={() => {
generaReporte()
}}
>
<BsSearch />
Buscar
</Button>
</div>
<div className="col-md-2">&nbsp;</div>
<div className="col">
<Button
size="sm"
variant="success"
onClick={() => {
downloadExcel()
}}
>
<BsFileEarmarkExcel />
&nbsp; Descarga
</Button>
</div>
</div>
</Card.Body>
</Card>
<br />
<div className="ag-theme-alpine" style={{ height: 500, width: '100%' }}>
{
<DataTable
noHeader
defaultSortFieldId={'id'}
defaultSortAsc={true}
striped={true}
dense={true}
paginationPerPage={10}
pagination
highlightOnHover
columns={columnsConcepts}
data={Data}
pointerOnHover
/>
}
</div>
<MsgInformativo
show={show}
msg={msg}
header={header}
msgColor={msgColor}
closeToast={() => {
setShowMsg(false)
}}
/>
</div>
)
}

@ -7,9 +7,9 @@ import {
BsFillPencilFill, BsFillPencilFill,
BsSearch BsSearch
} from 'react-icons/bs' } from 'react-icons/bs'
import I325Pedidos from '../../../../Interfaces/Clientes/CasaCuervo/I325Pedidos' import I325Pedidos from '../Interfaces/I325Pedidos'
import { MsgInformativo } from '../../../Utils/Toast/msgInformativo' import { MsgInformativo } from '../../../Utils/Toast/msgInformativo'
import PedDataService from '../../../../Services/Clientes/CasaCuervo/Pedidos.Services' import PedDataService from '../Services/CasaCuervo.Services'
import DataTable from 'react-data-table-component' import DataTable from 'react-data-table-component'
import DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos' import DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
@ -29,7 +29,7 @@ interface IMedidaCaja {
Medida: string Medida: string
} }
export const RptPedidos: FC<IProps> = (props) => { export default function RptPedidos (props:IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -1,10 +1,11 @@
import http from '../../common/http-common' import http from '../../../../Services/common/http-common'
import IPedidosCasaCuervo from '../../../Interfaces/Clientes/CasaCuervo/I325Pedidos' import IPedidosCasaCuervo from '../Interfaces/I325Pedidos'
import DTO325AduanasPedidos from '../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos' import DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos'
import DTO325UpdateFromWeb from '../../../DTO/Clientes/CasaCuervo/DTO325UpdateFromWeb' import DTO325UpdateFromWeb from '../../../../DTO/Clientes/CasaCuervo/DTO325UpdateFromWeb'
import { IServerSideTransactionManager } from 'ag-grid-community' import { IServerSideTransactionManager } from 'ag-grid-community'
import I325RptCOVEs from '../Interfaces/I325RptCOVEs'
class CCPedidosDataService { class CasaCuervoDataService {
getAll(Inicio: string, Fin: string, Aduana: string) { getAll(Inicio: string, Fin: string, Aduana: string) {
return http.get<IPedidosCasaCuervo[]>( return http.get<IPedidosCasaCuervo[]>(
`/Clientes/CasaCuervo/Pedidos/getAll?Inicio=${Inicio}&Fin=${Fin}&Aduana=${Aduana}` `/Clientes/CasaCuervo/Pedidos/getAll?Inicio=${Inicio}&Fin=${Fin}&Aduana=${Aduana}`
@ -70,5 +71,10 @@ class CCPedidosDataService {
console.log(error) console.log(error)
}) })
} }
GetRptCOVEs(Inicio: string, Fin: string) {
return http.get<I325RptCOVEs[]>(
`/Clientes/CasaCuervo/Pedidos/GetRptCOVEs?Inicio=${Inicio}&Fin=${Fin}`
)
}
} }
export default new CCPedidosDataService() export default new CasaCuervoDataService()

@ -34,7 +34,7 @@ import { MdCloudUpload } from 'react-icons/md'
interface IProps {} interface IProps {}
export const Rpt1868Facturas: FC<IProps> = (props) => { export default function Rpt1868Facturas (props:IProps) {
const dispatch = useDispatch() const dispatch = useDispatch()
const mCatDestinos = useSelector((state: RootState) => state.Cat1868Destinos.Cat1868Destinos) const mCatDestinos = useSelector((state: RootState) => state.Cat1868Destinos.Cat1868Destinos)
const mCatResponsables = useSelector((state: RootState) => state.Cat1868Responsables.Cat1868Responsables) const mCatResponsables = useSelector((state: RootState) => state.Cat1868Responsables.Cat1868Responsables)

@ -13,7 +13,7 @@ import DTO1868SCACCAAT from '../DTO/DTO1868SCACCAAT'
interface IProps {} interface IProps {}
export const Rpt1868Transportista: FC<IProps> = (props) => { export default function Rpt1868Transportista (props:IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -124,7 +124,7 @@ interface IAduanas {
descripcion: string descripcion: string
} }
export const TraficoCorresponsales: FC<IProps> = (props) => { export default function TraficoCorresponsales (props:IProps) {
const dispatch = useDispatch() const dispatch = useDispatch()
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')

@ -1,5 +1,5 @@
import React, { FC, useEffect, useState } from 'react' import React, { FC, useEffect, useState } from 'react'
import { DashboardCorresponsales } from './DashboardCorresponsales' import DashboardCorresponsales from './DashboardCorresponsales'
import { DashboardContabilidad } from './DashboardContabilidad' import { DashboardContabilidad } from './DashboardContabilidad'
import { Col, Container, Row } from 'react-bootstrap' import { Col, Container, Row } from 'react-bootstrap'
import { Heineken1 } from './Heineken1' import { Heineken1 } from './Heineken1'
@ -9,7 +9,7 @@ import DashboardTrafico from './DashboardTrafico'
interface IProps {} interface IProps {}
export const Dashboard: FC<IProps> = (props) => { export default function Dashboard(props: IProps) {
const [Depto, setDepto] = useState(() => { const [Depto, setDepto] = useState(() => {
const stickyValue = window.localStorage.getItem('Departamento') const stickyValue = window.localStorage.getItem('Departamento')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -8,7 +8,7 @@ import { ApexOptions } from 'apexcharts';
interface IProps {} interface IProps {}
export const DashboardCorresponsales: FC<IProps> = (props) => { export default function DashboardCorresponsales(props: IProps) {
let navigate = useNavigate(); let navigate = useNavigate();
const [TotalCorresponsales, setTotalCorresponsales] = useState(0); const [TotalCorresponsales, setTotalCorresponsales] = useState(0);
const [labels, setlabels] = useState<string[]>([]); const [labels, setlabels] = useState<string[]>([]);

@ -13,7 +13,7 @@ import { RootState } from '../../store/store'
import { AxiosError } from 'axios' import { AxiosError } from 'axios'
import { MsgInformativo } from '../Utils/Toast/msgInformativo' import { MsgInformativo } from '../Utils/Toast/msgInformativo'
import logo from '../../images/GEMCO_mini.png' import logo from '../../images/GEMCO_mini.png'
import { Dashboard } from '../Dashboard/Dashboard' import Dashboard from '../Dashboard/Dashboard'
import { Alert, Card } from 'react-bootstrap' import { Alert, Card } from 'react-bootstrap'
export const Login: React.FC<{}> = () => { export const Login: React.FC<{}> = () => {

@ -35,6 +35,8 @@ import DTOClonarUsuario from '../../DTO/DTOClonarUsuario'
import { AdmonPerfiles } from './admonPerfiles/AdmonPerfiles' import { AdmonPerfiles } from './admonPerfiles/AdmonPerfiles'
import { Form as FormCtrl } from 'react-bootstrap' import { Form as FormCtrl } from 'react-bootstrap'
interface IProps {}
const SignupSchema = Yup.object().shape({ const SignupSchema = Yup.object().shape({
usuario: Yup.string() usuario: Yup.string()
.min(6, 'Usuario demasiado corto') .min(6, 'Usuario demasiado corto')
@ -50,7 +52,7 @@ const SignupSchema = Yup.object().shape({
correo: Yup.string().email('Correo invalido').required('Requirido') correo: Yup.string().email('Correo invalido').required('Requirido')
}) })
export const Register: React.FC<{}> = (props) => { export default function Register(props:IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -8,7 +8,7 @@ import { MsgInformativo } from '../Utils/Toast/msgInformativo'
import IClientes from '../../Interfaces/Catalogos/IClientes' import IClientes from '../../Interfaces/Catalogos/IClientes'
import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs' import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
import { TraficoCorresponsales } from '../Corresponsales/TraficoCorresponsales' import TraficoCorresponsales from '../Corresponsales/TraficoCorresponsales'
import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales' import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales'
import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services' import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services'
import reportesServices from '../../Services/Reportes/reportes.services' import reportesServices from '../../Services/Reportes/reportes.services'
@ -25,7 +25,7 @@ import { FaHandSparkles } from 'react-icons/fa'
interface IProps {} interface IProps {}
export const RptCorresponsalesTraficos: FC<IProps> = (props) => { export default function RptCorresponsalesTraficos (props: IProps) {
const { proc, modo } = useParams() const { proc, modo } = useParams()
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')

@ -8,7 +8,7 @@ import { MsgInformativo } from '../Utils/Toast/msgInformativo'
import IClientes from '../../Interfaces/Catalogos/IClientes' import IClientes from '../../Interfaces/Catalogos/IClientes'
import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs' import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
import { TraficoCorresponsales } from '../Corresponsales/TraficoCorresponsales' import TraficoCorresponsales from '../Corresponsales/TraficoCorresponsales'
import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales' import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales'
import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services' import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services'
import reportesServices from '../../Services/Reportes/reportes.services' import reportesServices from '../../Services/Reportes/reportes.services'
@ -24,7 +24,7 @@ import { ProcessStatus } from './customCells/ProcessStatus'
interface IProps {} interface IProps {}
export const RptCorresponsalesTraficosHst: FC<IProps> = (props) => { export default function RptCorresponsalesTraficosHst (props: IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -32,7 +32,7 @@ import I2206FacturasTxt from '../Clientes/Heineken/Interfaces/I2206FacturasTxt'
interface IProps {} interface IProps {}
export const RptFacturasTxtHeineken: FC<IProps> = (props) => { export default function RptFacturasTxtHeineken (props: IProps) {
const dispatch = useDispatch() const dispatch = useDispatch()
const Info = JSON.parse(localStorage.getItem('tokenInfo') || '[]') const Info = JSON.parse(localStorage.getItem('tokenInfo') || '[]')
const [showTripDialog, setShowTripDialog] = useState(false) const [showTripDialog, setShowTripDialog] = useState(false)

@ -19,7 +19,7 @@ import { VerPDFv2 as verPDF } from './customCells/VerPDFv2'
interface IProps {} interface IProps {}
export const RptOperaciones: FC<IProps> = () => { export default function RptOperaciones (props: IProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -34,7 +34,7 @@ import { FaCaretSquareDown, FaCaretSquareLeft } from 'react-icons/fa'
export interface INotificacionesProps {} export interface INotificacionesProps {}
export function Notificaciones(props: INotificacionesProps) { export default function Notificaciones(props: INotificacionesProps) {
const [UserId, setUserId] = useState(() => { const [UserId, setUserId] = useState(() => {
const stickyValue = window.localStorage.getItem('UserId') const stickyValue = window.localStorage.getItem('UserId')
return stickyValue !== null ? JSON.parse(stickyValue) : 0 return stickyValue !== null ? JSON.parse(stickyValue) : 0

@ -4,12 +4,14 @@ import * as Yup from 'yup'
import { IregistroPermisoClientes } from '../../Interfaces/registroPermisoClientes' import { IregistroPermisoClientes } from '../../Interfaces/registroPermisoClientes'
import '../../css/login.css' import '../../css/login.css'
interface IProps {}
const SignupSchema = Yup.object().shape({ const SignupSchema = Yup.object().shape({
ModuloCliente: Yup.string().required('Requerido'), ModuloCliente: Yup.string().required('Requerido'),
IoE: Yup.string().required('Requerido'), IoE: Yup.string().required('Requerido'),
}) })
export const RegisterPermisoClientes: React.FC<{}> = (props) => { export default function RegisterPermisoClientes(props: IProps) {
const initialValues: IregistroPermisoClientes = { const initialValues: IregistroPermisoClientes = {
id: 1, id: 1,
IdUsuario: 1, IdUsuario: 1,

@ -6,7 +6,7 @@ import usuariosServices from '../../Services/Catalogos/Usuarios.Services'
interface IProps {} interface IProps {}
export const ResetCredentials: FC<IProps> = (props) => { export default function ResetCredentials(props: IProps) {
const [header, setHerader] = React.useState('Error!') const [header, setHerader] = React.useState('Error!')
const [msgColor, setMsgColor] = React.useState('Primary') const [msgColor, setMsgColor] = React.useState('Primary')
const [showMsg, setShowMsg] = React.useState(false) const [showMsg, setShowMsg] = React.useState(false)

@ -1,9 +1,10 @@
export class TargetURL { export class TargetURL {
get() { get() {
return !process.env.NODE_ENV || process.env.NODE_ENV === 'development' return !process.env.NODE_ENV || process.env.NODE_ENV === 'development'
? 'https://localhost:5001/api' ? 'https://gemcousa.solutions/GEMCOBackend/api'
//'https://localhost:5001/api'
: //: "http://reportes.gemcousa.com:5000/api"; : //: "http://reportes.gemcousa.com:5000/api";
'https://www.gemcousa.mx/GEMCOBackend/api' // 'https://www.gemcousa.mx/GEMCOBackend/api'
//'http://209.159.158.178/QABackend/api' 'https://gemcousa.solutions/GEMCOBackend/api'
} }
} }

@ -1,6 +1,7 @@
/*** FONDO PARA SITIO WEB ***/ /*** FONDO PARA SITIO WEB ***/
body { body {
background-image: linear-gradient(to right, rgb(215,215,215), rgb(245,245,245), rgb(245,245,245), white, white, white, rgb(245,245,245), rgb(245,245,245), rgb(215,215,215)) !important; background-image: linear-gradient(to right, rgb(215,215,215), rgb(245,245,245), rgb(245,245,245), white, white, white, rgb(245,245,245), rgb(245,245,245), rgb(215,215,215)) !important;
/* background-image: linear-gradient(to right, rgb(195, 230, 243), rgb(245,245,245), rgb(245,245,245), white, white, white, rgb(245,245,245), rgb(245,245,245), rgb(195, 230, 243)) !important; */
} }
/*** COLOR DE TEXTO PARA ETIQUETAS EN FORMS, ENCABEZADOS DE FORMS Y BOTON DE ACCORDIONS ***/ /*** COLOR DE TEXTO PARA ETIQUETAS EN FORMS, ENCABEZADOS DE FORMS Y BOTON DE ACCORDIONS ***/

@ -8,45 +8,47 @@ import { HashRouter, Route, Routes } from 'react-router-dom'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import { store } from './store/store' import { store } from './store/store'
import { Login } from './Components/Login/login' import { Login } from './Components/Login/login'
import AmazonNoPartes from './Components/Clientes/Amazon/Reportes/AmazonNoPartes'
import AvisoCruce from './Components/AgenciaAduanal/AvisoCruce/AvisoCruce'
import CatTabuladores from './Components/Catalogos/CatTabulador/CatTabulador'
import DashboardCorresponsales from './Components/Dashboard/DashboardCorresponsales'
import Dashboard from './Components/Dashboard/Dashboard'
import Logout from './Components/Logout/logout' import Logout from './Components/Logout/logout'
import { ResetCredentials } from './Components/resetCredentials/resetCredentials' import ResetCredentials from './Components/resetCredentials/resetCredentials'
import { Register } from './Components/Register/register' import Register from './Components/Register/register'
import { RegisterPermisoClientes } from './Components/registerPermisoClientes/registerPermisoClientes' import RegisterPermisoClientes from './Components/registerPermisoClientes/registerPermisoClientes'
import { FotosBodega } from './Components/Bodega/FotosBodega' import FotosBodega from './Components/Bodega/FotosBodega'
import { TraficoCorresponsales } from './Components/Corresponsales/TraficoCorresponsales' import FormatoRevision from './Components/Clientes/CasaCuervo/PDFs/FormatoRevision'
import { DashboardCorresponsales } from './Components/Dashboard/DashboardCorresponsales' import TraficoCorresponsales from './Components/Corresponsales/TraficoCorresponsales'
import { Dashboard } from './Components/Dashboard/Dashboard' import RtpAmazonPendingClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices'
import { RptCorresponsalesTraficos } from './Components/Reportes/RptCorresponsalesTraficos' import RtpAmazonFinishedClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices'
import { CatTabuladores } from './Components/Catalogos/CatTabulador/CatTabulador' import RptArchivoElectronicoOficial from './Components/Reportes/RptArchivoElectronicoOficial'
import { RptOperaciones } from './Components/Reportes/RptOperaciones' import RptBattery from './Components/Reportes/RptBattery'
import { RptPedidos } from './Components/Clientes/CasaCuervo/Reportes/RptPedidos' import RptCorresponsalesTraficos from './Components/Reportes/RptCorresponsalesTraficos'
import { Rpt1868Facturas } from './Components/Clientes/ZincInternacional/Rpt1868Facturas' import RptControlDocumentosClientes from './Components/Reportes/RptControlDocumentosClientes'
import { Rpt1868Transportista } from './Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista' import RptCorresponsalesTraficosHst from './Components/Reportes/RptCorresponsalesTraficosHst'
import { AvisoCruce } from './Components/AgenciaAduanal/AvisoCruce/AvisoCruce' import RptConsolidadosSinCerrar from './Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar'
import { RptCorresponsalesTraficosHst } from './Components/Reportes/RptCorresponsalesTraficosHst' import RptDetalleAnexo24 from './Components/Reportes/RptDetalleAnexo24'
import { FormatoRevision } from './Components/Clientes/CasaCuervo/PDFs/FormatoRevision' import RptFacturasTxtHeineken from './Components/Reportes/RptFacturasTxtHeineken'
import Notificaciones from './Components/Utils/Notificaciones/Notificaciones'
import Rpt1868Facturas from './Components/Clientes/ZincInternacional/Rpt1868Facturas'
import Rpt1868Transportista from './Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista'
import RptAmazonPendingTraficInvoice from './Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice'
import RptAmazonLinkInvoice2Traffic from './Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic'
import RptPedimentosPagados from './Components/Reportes/RptPedimentosPagados' import RptPedimentosPagados from './Components/Reportes/RptPedimentosPagados'
import RptPedimentosPagadosImpuestos from './Components/Reportes/RptPedimentosPagadosImpuestos' import RptPedimentosPagadosImpuestos from './Components/Reportes/RptPedimentosPagadosImpuestos'
import RptDetalleAnexo24 from './Components/Reportes/RptDetalleAnexo24' import RptAmazonPayedOperations from './Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations'
import RptOperacionesRemesa from './Components/Reportes/RptOperacionesRemesa' import RptPedidos from './Components/Clientes/CasaCuervo/Reportes/RptPedidos'
import RptArchivoElectronicoOficial from './Components/Reportes/RptArchivoElectronicoOficial'
import RptPedimentosConsolidados from './Components/Reportes/RptPedimentosConsolidados' import RptPedimentosConsolidados from './Components/Reportes/RptPedimentosConsolidados'
import RptOperacionesConsolidadas from './Components/Reportes/RptOperacionesConsolidadas' import RptOperacionesConsolidadas from './Components/Reportes/RptOperacionesConsolidadas'
import RptBattery from './Components/Reportes/RptBattery'
import RptControlDocumentosClientes from './Components/Reportes/RptControlDocumentosClientes'
import RptOperacionesDiarias from './Components/Reportes/RptOperacionesDiarias' import RptOperacionesDiarias from './Components/Reportes/RptOperacionesDiarias'
import RptOperacionesRemesa from './Components/Reportes/RptOperacionesRemesa'
import RptPendingAnswerFromAmazon from './Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazon'
import RptOperaciones from './Components/Reportes/RptOperaciones'
import RptRelacionMission from './Components/GEMCO/Facturacion/Anexo/RptRelacionMission' import RptRelacionMission from './Components/GEMCO/Facturacion/Anexo/RptRelacionMission'
import RptConsolidadosSinCerrar from './Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar'
import RptRelacionAlen from './Components/GEMCO/Facturacion/Anexo/RptRelacionAlen' import RptRelacionAlen from './Components/GEMCO/Facturacion/Anexo/RptRelacionAlen'
import { RptFacturasTxtHeineken } from './Components/Reportes/RptFacturasTxtHeineken' import RptCasaCuervoCOVEs from './Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs'
import { Notificaciones } from './Components/Utils/Notificaciones/Notificaciones'
import RtpAmazonPendingClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices'
import RtpAmazonFinishedClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices'
import { AmazonNoPartes } from './Components/Clientes/Amazon/Reportes/AmazonNoPartes'
import { RptAmazonPendingTraficInvoice } from './Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice'
import { RptAmazonLinkInvoice2Traffic } from './Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic'
import RptPendingAnswerFromAmazon from './Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazon'
import RptAmazonPayedOperations from './Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations'
function PageNotFound() { function PageNotFound() {
return ( return (
@ -179,6 +181,10 @@ ReactDOM.render(
path="/RptAmazonPayedOperations" path="/RptAmazonPayedOperations"
element={<RptAmazonPayedOperations />} element={<RptAmazonPayedOperations />}
/> />
<Route
path="/RptCasaCuervoCOVEs"
element={<RptCasaCuervoCOVEs />}
/>
<Route path="*" element={<PageNotFound />} /> <Route path="*" element={<PageNotFound />} />
</Route> </Route>
</Routes> </Routes>

Loading…
Cancel
Save