diff --git a/src/Components/AgenciaAduanal/AvisoCruce/AvisoCruce.tsx b/src/Components/AgenciaAduanal/AvisoCruce/AvisoCruce.tsx index ba7dc91..5a94ea7 100644 --- a/src/Components/AgenciaAduanal/AvisoCruce/AvisoCruce.tsx +++ b/src/Components/AgenciaAduanal/AvisoCruce/AvisoCruce.tsx @@ -5,9 +5,9 @@ import Header from '../../../images/AvisoCruceHeader.png' import Footer from '../../../images/AvisoCruceFooter.png' import PrintComponents from 'react-print-components' -interface IProps {} +export interface IProps {} -export const AvisoCruce: FC = (props) => { +export default function AvisoCruce (props: IProps) { const [AvisoCruce, setAvisoCruce] = useState('') const [Validacion, setValidacion] = useState('') const [Aduana, setAduana] = useState('') diff --git a/src/Components/Bodega/FotosBodega.tsx b/src/Components/Bodega/FotosBodega.tsx index 4e7633a..3d6ce62 100644 --- a/src/Components/Bodega/FotosBodega.tsx +++ b/src/Components/Bodega/FotosBodega.tsx @@ -12,7 +12,7 @@ import { TargetURL } from '../../Constants/TargetURL' const URL = new TargetURL() interface IProps {} -export const FotosBodega: FC = (props) => { +export default function FotosBodega(props: IProps) { const [API, setAPI] = useState(URL.get() + '/ArchivoElectronico/getPictureContent?Nombre=') const [Referencia, setReferencia] = useState('') const [imageFullSize, setImageFullSize] = useState('') diff --git a/src/Components/Catalogos/CatTabulador/CatTabulador.tsx b/src/Components/Catalogos/CatTabulador/CatTabulador.tsx index 08c1d70..003fb5d 100644 --- a/src/Components/Catalogos/CatTabulador/CatTabulador.tsx +++ b/src/Components/Catalogos/CatTabulador/CatTabulador.tsx @@ -27,7 +27,7 @@ interface IselectedRows { selectedRows: any } -export const CatTabuladores: FC = (props) => { +export default function CatTabuladores (props: IProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx b/src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx index f5e88e4..839dd33 100644 --- a/src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx +++ b/src/Components/Clientes/Amazon/Reportes/AmazonNoPartes.tsx @@ -20,7 +20,7 @@ import DTO2096NoParte from '../DTO/DTO2096NoParte' import I2096NoParteLog from '../Interfaces/I2096NoParteLog' export interface IAmazonNoPartesProps {} -export function AmazonNoPartes(props: IAmazonNoPartesProps) { +export default function AmazonNoPartes(props: IAmazonNoPartesProps) { const dispatch = useDispatch() const mNoPartes = useSelector( (state: RootState) => state.AmazonNoPartes.NoPartes diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx index 012d519..319ba93 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx @@ -37,7 +37,7 @@ import loadingImg from '../../../../../../images/ajaxloader.gif' export interface IRptAmazonLinkInvoice2TrafficProps {} -export function RptAmazonLinkInvoice2Traffic( +export default function RptAmazonLinkInvoice2Traffic( props: IRptAmazonLinkInvoice2TrafficProps ) { 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 (
@@ -214,7 +221,6 @@ export function RptAmazonLinkInvoice2Traffic( -
@@ -230,6 +236,7 @@ export function RptAmazonLinkInvoice2Traffic( Referencia Commercial Invoice Date Invoice Number + Receiver Incoterms HAWB Qty Unit of measure @@ -324,6 +331,13 @@ export function RptAmazonLinkInvoice2Traffic( {MasterData.invoiceNumber} + + {mInvoices + .filter((value) => value.id === MasterData.id) + .map((row) => { + return getReceiver(row.detail[0].amazonShipmentReferenceId,'_','_') + })} + {MasterData.incoterms} @@ -404,7 +418,6 @@ export function RptAmazonLinkInvoice2Traffic( > Item Description - = (props) => { +export default function FormatoRevision (props: IProps) { const { id } = useParams() const [ID, setID] = useState(0) const [Data, setData] = useState() @@ -21,11 +21,13 @@ export const FormatoRevision: FC = (props) => { { id: 1, Medida: 'Caja 53 pies' }, { id: 2, Medida: 'Caja 48 pies' }, { id: 3, Medida: 'Refrigerada 53 pies' }, - { id: 4, Medida: 'Pipa' }, + { id: 4, Medida: 'Pipa' } ] 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 document.body.innerHTML = printContents window.print() @@ -75,17 +77,22 @@ export const FormatoRevision: FC = (props) => { }, [id]) return ( -
-
+
+
- @@ -108,7 +115,10 @@ export const FormatoRevision: FC = (props) => { - + diff --git a/src/Components/Clientes/CasaCuervo/Reportes/ControlledInput/ControlledInput.tsx b/src/Components/Clientes/CasaCuervo/Reportes/ControlledInput/ControlledInput.tsx index 383aa67..3c9782e 100644 --- a/src/Components/Clientes/CasaCuervo/Reportes/ControlledInput/ControlledInput.tsx +++ b/src/Components/Clientes/CasaCuervo/Reportes/ControlledInput/ControlledInput.tsx @@ -1,5 +1,5 @@ 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 Datetime from 'react-datetime' //import 'react-datetime/css/react-datetime.css' @@ -73,7 +73,12 @@ export const ControlledInput: FC = (props) => { return ( <> {props.mode === 'estatus' || props.mode === 'comentarioGEMCO' ? ( - handleKeyDown(e)} style={{ width: '75%' }} /> + handleKeyDown(e)} + style={{ width: '75%' }} + /> ) : ( /* = (props) => { setStartDate(date)} - timeInputLabel='Time:' - dateFormat='MM/dd/yyyy h:mm aa' + timeInputLabel="Time:" + dateFormat="MM/dd/yyyy h:mm aa" showTimeInput /> )} diff --git a/src/Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs.tsx b/src/Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs.tsx new file mode 100644 index 0000000..e6fa65d --- /dev/null +++ b/src/Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs.tsx @@ -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([]) + const [DataOriginal, setDataOriginal] = useState([]) + const [Aduanas, setAduanas] = useState([]) + 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() + const [fechaCruce, setFechaCruce] = useState() + const [DTOfechaCompromiso, setDTOFechaCompromiso] = useState('') + const [DTOfechaCruce, setDTOFechaCruce] = useState('') + 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 ( +
+ + +
+
+ setInicio(e.target.value)} + size="sm" + /> +
+
+ setFin(e.target.value)} + size="sm" + /> +
+
 
+
+ +
+
 
+
+ +
+
+
+
+
+
+ { + + } +
+ { + setShowMsg(false) + }} + /> +
+ ) +} diff --git a/src/Components/Clientes/CasaCuervo/Reportes/RptPedidos.tsx b/src/Components/Clientes/CasaCuervo/Reportes/RptPedidos.tsx index d865947..1d21048 100644 --- a/src/Components/Clientes/CasaCuervo/Reportes/RptPedidos.tsx +++ b/src/Components/Clientes/CasaCuervo/Reportes/RptPedidos.tsx @@ -7,9 +7,9 @@ import { BsFillPencilFill, BsSearch } from 'react-icons/bs' -import I325Pedidos from '../../../../Interfaces/Clientes/CasaCuervo/I325Pedidos' +import I325Pedidos from '../Interfaces/I325Pedidos' 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 DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos' import * as XLSX from 'xlsx' @@ -29,7 +29,7 @@ interface IMedidaCaja { Medida: string } -export const RptPedidos: FC = (props) => { +export default function RptPedidos (props:IProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 @@ -456,7 +456,7 @@ export const RptPedidos: FC = (props) => { uuid, trafico, pedimento, - patente, + patente, actualizacion }) => { return { diff --git a/src/Services/Clientes/CasaCuervo/Pedidos.Services.ts b/src/Components/Clientes/CasaCuervo/Services/CasaCuervo.Services.ts similarity index 77% rename from src/Services/Clientes/CasaCuervo/Pedidos.Services.ts rename to src/Components/Clientes/CasaCuervo/Services/CasaCuervo.Services.ts index 5146e01..525d412 100644 --- a/src/Services/Clientes/CasaCuervo/Pedidos.Services.ts +++ b/src/Components/Clientes/CasaCuervo/Services/CasaCuervo.Services.ts @@ -1,10 +1,11 @@ -import http from '../../common/http-common' -import IPedidosCasaCuervo from '../../../Interfaces/Clientes/CasaCuervo/I325Pedidos' -import DTO325AduanasPedidos from '../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos' -import DTO325UpdateFromWeb from '../../../DTO/Clientes/CasaCuervo/DTO325UpdateFromWeb' +import http from '../../../../Services/common/http-common' +import IPedidosCasaCuervo from '../Interfaces/I325Pedidos' +import DTO325AduanasPedidos from '../../../../DTO/Clientes/CasaCuervo/DTO325AduanasPedidos' +import DTO325UpdateFromWeb from '../../../../DTO/Clientes/CasaCuervo/DTO325UpdateFromWeb' import { IServerSideTransactionManager } from 'ag-grid-community' +import I325RptCOVEs from '../Interfaces/I325RptCOVEs' -class CCPedidosDataService { +class CasaCuervoDataService { getAll(Inicio: string, Fin: string, Aduana: string) { return http.get( `/Clientes/CasaCuervo/Pedidos/getAll?Inicio=${Inicio}&Fin=${Fin}&Aduana=${Aduana}` @@ -70,5 +71,10 @@ class CCPedidosDataService { console.log(error) }) } + GetRptCOVEs(Inicio: string, Fin: string) { + return http.get( + `/Clientes/CasaCuervo/Pedidos/GetRptCOVEs?Inicio=${Inicio}&Fin=${Fin}` + ) + } } -export default new CCPedidosDataService() +export default new CasaCuervoDataService() diff --git a/src/Components/Clientes/ZincInternacional/Rpt1868Facturas.tsx b/src/Components/Clientes/ZincInternacional/Rpt1868Facturas.tsx index bd8484b..cd700c1 100644 --- a/src/Components/Clientes/ZincInternacional/Rpt1868Facturas.tsx +++ b/src/Components/Clientes/ZincInternacional/Rpt1868Facturas.tsx @@ -34,7 +34,7 @@ import { MdCloudUpload } from 'react-icons/md' interface IProps {} -export const Rpt1868Facturas: FC = (props) => { +export default function Rpt1868Facturas (props:IProps) { const dispatch = useDispatch() const mCatDestinos = useSelector((state: RootState) => state.Cat1868Destinos.Cat1868Destinos) const mCatResponsables = useSelector((state: RootState) => state.Cat1868Responsables.Cat1868Responsables) diff --git a/src/Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista.tsx b/src/Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista.tsx index 7d850d5..367a8c6 100644 --- a/src/Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista.tsx +++ b/src/Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista.tsx @@ -13,7 +13,7 @@ import DTO1868SCACCAAT from '../DTO/DTO1868SCACCAAT' interface IProps {} -export const Rpt1868Transportista: FC = (props) => { +export default function Rpt1868Transportista (props:IProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index 26a8b9a..eb6a34c 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -124,7 +124,7 @@ interface IAduanas { descripcion: string } -export const TraficoCorresponsales: FC = (props) => { +export default function TraficoCorresponsales (props:IProps) { const dispatch = useDispatch() const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') diff --git a/src/Components/Dashboard/Dashboard.tsx b/src/Components/Dashboard/Dashboard.tsx index ba4a930..54690ab 100644 --- a/src/Components/Dashboard/Dashboard.tsx +++ b/src/Components/Dashboard/Dashboard.tsx @@ -1,5 +1,5 @@ import React, { FC, useEffect, useState } from 'react' -import { DashboardCorresponsales } from './DashboardCorresponsales' +import DashboardCorresponsales from './DashboardCorresponsales' import { DashboardContabilidad } from './DashboardContabilidad' import { Col, Container, Row } from 'react-bootstrap' import { Heineken1 } from './Heineken1' @@ -9,7 +9,7 @@ import DashboardTrafico from './DashboardTrafico' interface IProps {} -export const Dashboard: FC = (props) => { +export default function Dashboard(props: IProps) { const [Depto, setDepto] = useState(() => { const stickyValue = window.localStorage.getItem('Departamento') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Dashboard/DashboardCorresponsales.tsx b/src/Components/Dashboard/DashboardCorresponsales.tsx index 0cb07b4..38b86c8 100644 --- a/src/Components/Dashboard/DashboardCorresponsales.tsx +++ b/src/Components/Dashboard/DashboardCorresponsales.tsx @@ -8,7 +8,7 @@ import { ApexOptions } from 'apexcharts'; interface IProps {} -export const DashboardCorresponsales: FC = (props) => { +export default function DashboardCorresponsales(props: IProps) { let navigate = useNavigate(); const [TotalCorresponsales, setTotalCorresponsales] = useState(0); const [labels, setlabels] = useState([]); diff --git a/src/Components/Login/login.tsx b/src/Components/Login/login.tsx index e5aec22..1c126f9 100644 --- a/src/Components/Login/login.tsx +++ b/src/Components/Login/login.tsx @@ -13,7 +13,7 @@ import { RootState } from '../../store/store' import { AxiosError } from 'axios' import { MsgInformativo } from '../Utils/Toast/msgInformativo' import logo from '../../images/GEMCO_mini.png' -import { Dashboard } from '../Dashboard/Dashboard' +import Dashboard from '../Dashboard/Dashboard' import { Alert, Card } from 'react-bootstrap' export const Login: React.FC<{}> = () => { diff --git a/src/Components/Register/register.tsx b/src/Components/Register/register.tsx index 3430a14..390316d 100644 --- a/src/Components/Register/register.tsx +++ b/src/Components/Register/register.tsx @@ -35,6 +35,8 @@ import DTOClonarUsuario from '../../DTO/DTOClonarUsuario' import { AdmonPerfiles } from './admonPerfiles/AdmonPerfiles' import { Form as FormCtrl } from 'react-bootstrap' +interface IProps {} + const SignupSchema = Yup.object().shape({ usuario: Yup.string() .min(6, 'Usuario demasiado corto') @@ -50,7 +52,7 @@ const SignupSchema = Yup.object().shape({ 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 stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Reportes/RptCorresponsalesTraficos.tsx b/src/Components/Reportes/RptCorresponsalesTraficos.tsx index cda7fc8..eb6a3cc 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficos.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficos.tsx @@ -8,7 +8,7 @@ import { MsgInformativo } from '../Utils/Toast/msgInformativo' import IClientes from '../../Interfaces/Catalogos/IClientes' import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs' import * as XLSX from 'xlsx' -import { TraficoCorresponsales } from '../Corresponsales/TraficoCorresponsales' +import TraficoCorresponsales from '../Corresponsales/TraficoCorresponsales' import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales' import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services' import reportesServices from '../../Services/Reportes/reportes.services' @@ -25,7 +25,7 @@ import { FaHandSparkles } from 'react-icons/fa' interface IProps {} -export const RptCorresponsalesTraficos: FC = (props) => { +export default function RptCorresponsalesTraficos (props: IProps) { const { proc, modo } = useParams() const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') diff --git a/src/Components/Reportes/RptCorresponsalesTraficosHst.tsx b/src/Components/Reportes/RptCorresponsalesTraficosHst.tsx index 0882d01..13c6396 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficosHst.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficosHst.tsx @@ -8,7 +8,7 @@ import { MsgInformativo } from '../Utils/Toast/msgInformativo' import IClientes from '../../Interfaces/Catalogos/IClientes' import { BsPlusLg, BsFileEarmarkExcel, BsSearch, BsFillXCircleFill, BsCheckCircleFill } from 'react-icons/bs' import * as XLSX from 'xlsx' -import { TraficoCorresponsales } from '../Corresponsales/TraficoCorresponsales' +import TraficoCorresponsales from '../Corresponsales/TraficoCorresponsales' import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales' import CorresponsalesDataService from '../../Services/Catalogos/Corresponsales.Services' import reportesServices from '../../Services/Reportes/reportes.services' @@ -24,7 +24,7 @@ import { ProcessStatus } from './customCells/ProcessStatus' interface IProps {} -export const RptCorresponsalesTraficosHst: FC = (props) => { +export default function RptCorresponsalesTraficosHst (props: IProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Reportes/RptFacturasTxtHeineken.tsx b/src/Components/Reportes/RptFacturasTxtHeineken.tsx index ba114cf..98650d2 100644 --- a/src/Components/Reportes/RptFacturasTxtHeineken.tsx +++ b/src/Components/Reportes/RptFacturasTxtHeineken.tsx @@ -32,7 +32,7 @@ import I2206FacturasTxt from '../Clientes/Heineken/Interfaces/I2206FacturasTxt' interface IProps {} -export const RptFacturasTxtHeineken: FC = (props) => { +export default function RptFacturasTxtHeineken (props: IProps) { const dispatch = useDispatch() const Info = JSON.parse(localStorage.getItem('tokenInfo') || '[]') const [showTripDialog, setShowTripDialog] = useState(false) diff --git a/src/Components/Reportes/RptOperaciones.tsx b/src/Components/Reportes/RptOperaciones.tsx index 1e272ee..6791d49 100644 --- a/src/Components/Reportes/RptOperaciones.tsx +++ b/src/Components/Reportes/RptOperaciones.tsx @@ -19,7 +19,7 @@ import { VerPDFv2 as verPDF } from './customCells/VerPDFv2' interface IProps {} -export const RptOperaciones: FC = () => { +export default function RptOperaciones (props: IProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/Utils/Notificaciones/Notificaciones.tsx b/src/Components/Utils/Notificaciones/Notificaciones.tsx index 3c9a52c..b320479 100644 --- a/src/Components/Utils/Notificaciones/Notificaciones.tsx +++ b/src/Components/Utils/Notificaciones/Notificaciones.tsx @@ -34,7 +34,7 @@ import { FaCaretSquareDown, FaCaretSquareLeft } from 'react-icons/fa' export interface INotificacionesProps {} -export function Notificaciones(props: INotificacionesProps) { +export default function Notificaciones(props: INotificacionesProps) { const [UserId, setUserId] = useState(() => { const stickyValue = window.localStorage.getItem('UserId') return stickyValue !== null ? JSON.parse(stickyValue) : 0 diff --git a/src/Components/registerPermisoClientes/registerPermisoClientes.tsx b/src/Components/registerPermisoClientes/registerPermisoClientes.tsx index 6f4861f..64b000e 100644 --- a/src/Components/registerPermisoClientes/registerPermisoClientes.tsx +++ b/src/Components/registerPermisoClientes/registerPermisoClientes.tsx @@ -4,12 +4,14 @@ import * as Yup from 'yup' import { IregistroPermisoClientes } from '../../Interfaces/registroPermisoClientes' import '../../css/login.css' +interface IProps {} + const SignupSchema = Yup.object().shape({ ModuloCliente: Yup.string().required('Requerido'), IoE: Yup.string().required('Requerido'), }) -export const RegisterPermisoClientes: React.FC<{}> = (props) => { +export default function RegisterPermisoClientes(props: IProps) { const initialValues: IregistroPermisoClientes = { id: 1, IdUsuario: 1, diff --git a/src/Components/resetCredentials/resetCredentials.tsx b/src/Components/resetCredentials/resetCredentials.tsx index 9c281e3..d98b5d4 100644 --- a/src/Components/resetCredentials/resetCredentials.tsx +++ b/src/Components/resetCredentials/resetCredentials.tsx @@ -6,7 +6,7 @@ import usuariosServices from '../../Services/Catalogos/Usuarios.Services' interface IProps {} -export const ResetCredentials: FC = (props) => { +export default function ResetCredentials(props: IProps) { const [header, setHerader] = React.useState('Error!') const [msgColor, setMsgColor] = React.useState('Primary') const [showMsg, setShowMsg] = React.useState(false) diff --git a/src/Constants/TargetURL.ts b/src/Constants/TargetURL.ts index fa83520..fafcdb4 100644 --- a/src/Constants/TargetURL.ts +++ b/src/Constants/TargetURL.ts @@ -1,9 +1,10 @@ export class TargetURL { get() { 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"; - 'https://www.gemcousa.mx/GEMCOBackend/api' - //'http://209.159.158.178/QABackend/api' + // 'https://www.gemcousa.mx/GEMCOBackend/api' + 'https://gemcousa.solutions/GEMCOBackend/api' } } diff --git a/src/css/home.css b/src/css/home.css index 03412a2..948ad74 100644 --- a/src/css/home.css +++ b/src/css/home.css @@ -1,6 +1,7 @@ /*** FONDO PARA SITIO WEB ***/ 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(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 ***/ diff --git a/src/index.tsx b/src/index.tsx index 129b2cd..88ea9f6 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -8,45 +8,47 @@ import { HashRouter, Route, Routes } from 'react-router-dom' import { Provider } from 'react-redux' import { store } from './store/store' 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 { ResetCredentials } from './Components/resetCredentials/resetCredentials' -import { Register } from './Components/Register/register' -import { RegisterPermisoClientes } from './Components/registerPermisoClientes/registerPermisoClientes' -import { FotosBodega } from './Components/Bodega/FotosBodega' -import { TraficoCorresponsales } from './Components/Corresponsales/TraficoCorresponsales' -import { DashboardCorresponsales } from './Components/Dashboard/DashboardCorresponsales' -import { Dashboard } from './Components/Dashboard/Dashboard' -import { RptCorresponsalesTraficos } from './Components/Reportes/RptCorresponsalesTraficos' -import { CatTabuladores } from './Components/Catalogos/CatTabulador/CatTabulador' -import { RptOperaciones } from './Components/Reportes/RptOperaciones' -import { RptPedidos } from './Components/Clientes/CasaCuervo/Reportes/RptPedidos' -import { Rpt1868Facturas } from './Components/Clientes/ZincInternacional/Rpt1868Facturas' -import { Rpt1868Transportista } from './Components/Clientes/ZincInternacional/Transportistas/Rtp1868Transportista' -import { AvisoCruce } from './Components/AgenciaAduanal/AvisoCruce/AvisoCruce' -import { RptCorresponsalesTraficosHst } from './Components/Reportes/RptCorresponsalesTraficosHst' -import { FormatoRevision } from './Components/Clientes/CasaCuervo/PDFs/FormatoRevision' +import ResetCredentials from './Components/resetCredentials/resetCredentials' +import Register from './Components/Register/register' +import RegisterPermisoClientes from './Components/registerPermisoClientes/registerPermisoClientes' +import FotosBodega from './Components/Bodega/FotosBodega' +import FormatoRevision from './Components/Clientes/CasaCuervo/PDFs/FormatoRevision' +import TraficoCorresponsales from './Components/Corresponsales/TraficoCorresponsales' +import RtpAmazonPendingClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices' +import RtpAmazonFinishedClasificationInvoices from './Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices' +import RptArchivoElectronicoOficial from './Components/Reportes/RptArchivoElectronicoOficial' +import RptBattery from './Components/Reportes/RptBattery' +import RptCorresponsalesTraficos from './Components/Reportes/RptCorresponsalesTraficos' +import RptControlDocumentosClientes from './Components/Reportes/RptControlDocumentosClientes' +import RptCorresponsalesTraficosHst from './Components/Reportes/RptCorresponsalesTraficosHst' +import RptConsolidadosSinCerrar from './Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar' +import RptDetalleAnexo24 from './Components/Reportes/RptDetalleAnexo24' +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 RptPedimentosPagadosImpuestos from './Components/Reportes/RptPedimentosPagadosImpuestos' -import RptDetalleAnexo24 from './Components/Reportes/RptDetalleAnexo24' -import RptOperacionesRemesa from './Components/Reportes/RptOperacionesRemesa' -import RptArchivoElectronicoOficial from './Components/Reportes/RptArchivoElectronicoOficial' +import RptAmazonPayedOperations from './Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations' +import RptPedidos from './Components/Clientes/CasaCuervo/Reportes/RptPedidos' import RptPedimentosConsolidados from './Components/Reportes/RptPedimentosConsolidados' 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 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 RptConsolidadosSinCerrar from './Components/GEMCO/Facturacion/Anexo/RptConsolidadosSinCerrar' import RptRelacionAlen from './Components/GEMCO/Facturacion/Anexo/RptRelacionAlen' -import { RptFacturasTxtHeineken } from './Components/Reportes/RptFacturasTxtHeineken' -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' +import RptCasaCuervoCOVEs from './Components/Clientes/CasaCuervo/Reportes/RptCasaCuervoCOVEs' function PageNotFound() { return ( @@ -179,6 +181,10 @@ ReactDOM.render( path="/RptAmazonPayedOperations" element={} /> + } + /> } />
+ Nota de revision de mercancia y sellos de seguridad: Casa Cuervo
- Fecha y hora de impresion:  + + Fecha y hora de impresion:  + {GetCurrentDateTime()}
Si no se cuentra con sellos del cliente, poner sellos de GEMCO previa autorizacion del cliente + Si no se cuentra con sellos del cliente, poner sellos de GEMCO + previa autorizacion del cliente +
@@ -119,12 +129,36 @@ export const FormatoRevision: FC = (props) => { - - - - - - + + + + + + @@ -135,7 +169,9 @@ export const FormatoRevision: FC = (props) => { @@ -156,51 +192,72 @@ export const FormatoRevision: FC = (props) => { @@ -240,8 +297,12 @@ export const FormatoRevision: FC = (props) => { - - + +
No. de pedidoNo. de facturaCartonesBultosNo. de CajaMedida de la caja + No. de pedido + + No. de factura + + Cartones + + Bultos + + No. de Caja + + Medida de la caja +
{Data?.po} {mCatMedidas ? mCatMedidas.map((a) => { - return Data?.medidaCaja === a.id.toString() ? a.Medida : '' + return Data?.medidaCaja === a.id.toString() + ? a.Medida + : '' }) : null} - - - - - - - - - + - - + - - + - - - - - - + + + + + +
+ Numero de sellos
+ Origen + Izquierdo + Derecho + Nuevos despues de la revision + Izquierdo + Derecho
{Data?.sello1} + {Data?.sello1}     +       +    
{Data?.sello2}     {Data?.sello2}     
 
Nombre y firma del revisorFecha y hora de la revision + Nombre y firma del revisor + + Fecha y hora de la revision +