intento guardar un registro masivo desde un archivo .txt, y ademas un campo de fecha que registre a todos los registros del archivo.txt con la fecha seleccionado por el usuario, pero al registrar se registra con la fecha del dia que se lleva a cabo el registro, alguien sabe como solucionar esto
import { useState } from 'react';
import { Button, Col, Form, Row, Spinner, ProgressBar } from 'react-bootstrap';
import { toast } from 'react-toastify';
import queryString from "query-string";
import { getRazonSocial } from '../../../api/auth';
import { registraMovimientoSaldosSocios2 } from '../../GestionAutomatica/Saldos/Movimientos';
import {obtenerFolioActualRendimientos, registraRendimientosSocios} from "../../../api/rendimientos";
const CargaMasivaRendimientos = ({ setShowModal, history }) => {
const [loading, setLoading] = useState(false);
const [dataFile, setDataFile] = useState([]);
const [count, setCount] = useState(0)
const handleCancel = () => setShowModal(false)
const handleSubmit = async (evt) => {
evt.preventDefault();
if (dataFile.length === 0) {
toast.error('No hay datos para cargar');
return;
}
const razonSocial = getRazonSocial();
setLoading(true);
for (const { fichaSocio, rendimiento } of dataFile) {
const responseFolio = await obtenerFolioActualRendimientos();
const { data: { folio } } = responseFolio;
const dataRendimiento = {
folio,
fichaSocio,
rendimiento,
tipo: razonSocial,
}
await registraRendimientosSocios(dataRendimiento);
await registraMovimientoSaldosSocios2(fichaSocio, rendimiento, '0', '0', '0', 'Rendimiento');
// increment count for render value in progress bar
setCount(oldCount => oldCount + 1);
}
setDataFile([]);
setLoading(false);
history.push({
search: queryString.stringify(''),
});
setShowModal(false);
}
const handleChange = (e) => {
const { files } = e.target;
if (files.length > 0) {
const [file] = files;
const reader = new FileReader();
reader.readAsText(file, 'UTF-8');
reader.onload = (evt) => {
const { result } = evt.target;
const lines = result.split('\r\n');
const data = lines.map(line => {
const [fichaSocio, rendimiento] = line.split('\t');
return { fichaSocio, rendimiento }
});
setDataFile(data.filter(({ fichaSocio, rendimiento }) => fichaSocio && rendimiento));
}
reader.onerror = (_evt) => toast.error('Error al leer el archivo')
}
}
const Loading = () => (
!loading ? 'Cargar' : <Spinner animation='border' />
)
return (
<>
<div className='contenidoFormularioPrincipal'>
<Form>
<Form.Group as={Row} className='botones pt-3'>
<Col sm={12}>
<div className='flex justify-center'>
<div className='mb-3 w-96'>
<label htmlFor='createdAt' className='form-label inline-block mb-2 text-gray-700'>Seleccione fichero:</label>
<input onChange={handleChange} className='form-control block w-full px-3 py-1.5 text-base font-normaltext-gray-700bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none' accept='.txt, text/plain' type='file' id='formFile' />
<br/>
<label htmlFor='createdAt' className='form-label inline-block mb-2 text-gray-700'>Fecha de registro:</label>
<input className='form-control block w-full px-3 py-1.5 text-base font-normaltext-gray-700bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none' type='datetime-local' name="createdAt" id="createdAt"/>
</div>
</div>
</Col>
</Form.Group>
{
dataFile.length > 0 && (<Form.Group as={Row} className='botones pt-4'>
<Col sm={12}>
<div className='flex flex-col justify-center'>
<div className='mb-3 w-100'>
<span className='inline-block mb-2 text-gray-700'>Total de registros a cargar: {dataFile.length}</span>
</div>
{
count > 0 && (<div className='mb-3 w-100'>
<span className='flex justify-center mb-2 text-gray-700'>{count} de {dataFile.length}</span>
<Form.Group as={Row}>
<Col sm={12}>
<ProgressBar animated now={count} max={dataFile.length} variant='info' />
</Col>
</Form.Group>
</div>)
}
</div>
</Col>
</Form.Group>)
}
<Form.Group as={Row} className='botones pt-5'>
<Col>
<Button
type='submit'
variant='success'
className='registrar'
onClick={handleSubmit}
disabled={loading}
>
<Loading />
</Button>
</Col>
<Col>
<Button
variant='danger'
className='cancelar'
onClick={handleCancel}
disabled={loading}
>
Cancelar
</Button>
</Col>
</Form.Group>
</Form>
</div>
</>
);
}
export default CargaMasivaRendimientos;