diff --git a/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx b/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx
index 8198e32..5a01eb3 100644
--- a/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx
+++ b/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx
@@ -51,6 +51,7 @@ export const CatCentroConstos: FC = () => {
Clave |
Cliente |
Centro Costos |
+ Cliente Facturacion |
|
@@ -82,6 +83,29 @@ export const CatCentroConstos: FC = () => {
}}
/>
}
+ {
+ {
+ const {formattedValue, value, floatValue} = values;
+ centroCosto.clienteFacturacion = formattedValue;
+ }}
+ />
+ } |
|
)
diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx
index bdafe63..747faf1 100644
--- a/src/Components/Corresponsales/TraficoCorresponsales.tsx
+++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx
@@ -316,6 +316,9 @@ export default function TraficoCorresponsales (props:IProps) {
const [EncabezadoPedimento1, setEncabezadoPedimento1] = useState("Pedimento");
const [EncabezadoPedimento2, setEncabezadoPedimento2] = useState(".");
const [CentroCostos, setCentroCostos] = useState('');
+ const [ClaveClienteFacturacion, setClaveClienteFacturacion] = useState(0);
+ const [NombreClienteFacturacion, setNombreClienteFacturacion] = useState('')
+ const [RfcClienteFacturacion, setRfcClienteFacturacion] = useState('')
const [ClavesPedimentos, setClavesPedimentos] = useState([])
const FechaRegistro = currentDate()
const msgColor = 'primary'
@@ -528,6 +531,7 @@ export default function TraficoCorresponsales (props:IProps) {
}
const LoadEverything = () => {
+ let clientes: IClientes[] = [];
ClavesPedimentosService.getAllClavesPedimentos()
.then(response => setClavesPedimentos(response.data))
.catch((e: Error) => {
@@ -609,6 +613,7 @@ export default function TraficoCorresponsales (props:IProps) {
})
ClientesDataService.getAllClientes(0)
.then((response) => {
+ clientes = response.data;
setClientes(response.data)
})
.catch((e: Error) => {
@@ -684,7 +689,7 @@ export default function TraficoCorresponsales (props:IProps) {
setFolioTrafico(response.data.folioGemco)
setProceso(response.data.proceso)
setIDCliente(response.data.idCliente)
- getCentroCostos(response.data.idCliente);
+ getCentroCostos(response.data.idCliente, clientes);
setIDTabulador(response.data.idTabulador)
setTipoOperacion(response.data.tipoOperacion)
setOpEntrada(response.data.opEntrada)
@@ -1307,7 +1312,7 @@ export default function TraficoCorresponsales (props:IProps) {
let facturas = mCFacturas.filter(factura => factura.id > 0);
let nombreProveedor = "";
//
- let fileData = `"${FolioTrafico}"|${IDCliente}|${Patente}|${Pedimento}|${TipoCambio}|${FechaPago}|0|0|0|0|0|0|0.00|"${Aduana}"|"${ClavePedimento}"|${TipoOperacion}|`;
+ let fileData = `"${FolioTrafico}"|${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? IDCliente : ClaveClienteFacturacion}|${Patente}|${Pedimento}|${TipoCambio}|${FechaPago}|0|0|0|0|0|0|0.00|"${Aduana}"|"${ClavePedimento}"|${TipoOperacion}|`;
//
fileData += `"C"|${ValorFacturasDls}|${ValorFacturasDls! * TipoCambio!}|${ValorAduanaMN}|"${DescripcionMercancia}"|${Kilos}|${Kilos! * 2.20462}|${CantidadFracciones}|"${SemafoFiscal === 0 ? "R" : "V"}"|`;
//
@@ -1319,7 +1324,7 @@ export default function TraficoCorresponsales (props:IProps) {
//
fileData += `${Bultos}|${0}|${0}|${moment(FechaDesaduanamiento).format('MM/DD/YYYY')}|0|0|""|${moment(FechaDesaduanamiento).format('MM/DD/YYYY')}|${tipoMercancia?.clave ? tipoMercancia?.clave : '""'}|0|0|""|""|""|""|/ /|F|F|F|F|0|0|F|0.00|F|0|""|""|`;
//
- fileData += `${FechaPagoH !== "" ? FechaPagoH : FechaPago}|""|""|0|"${cliente!.sRazonSocial.split('|')[0].trim()}"|${cliente!.sRFC}|""|""|""|""|""|""|""|"${nombreProveedor}"|`;
+ fileData += `${FechaPagoH !== "" ? FechaPagoH : FechaPago}|""|""|0|"${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? cliente!.sRazonSocial.split('|')[0].trim() : NombreClienteFacturacion}"|${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? cliente!.sRFC : RfcClienteFacturacion}|""|""|""|""|""|""|""|"${nombreProveedor}"|`;
//
fileData += `0|""|""|""|""|""|""|""|""|${ValorFacturasDls}|""|""|336|""|/ / : :|${moment().format("MM/DD/YYYY hh:mm:ss")}|${moment().format("MM/DD/YYYY hh:mm:ss")}|`;
//
@@ -1358,26 +1363,28 @@ export default function TraficoCorresponsales (props:IProps) {
return pedidos;
}
- const getCentroCostos = (idCliente: number) => {
- if(Perfil !== 'heineken'){
- if(idCliente > 0){
- CentrosCostosService.get(idCliente)
- .then(response => {
- if(response.status === 204){
- setHeader('Informativo')
- setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.')
- setShowMsg(true)
- return
- }
- setCentroCostos(response.data)
- })
- .catch((e: Error) => {
- setHeader('Error')
- setMsg('Ocurrio un error: ' + e)
- setShowMsg(true)
- return
- });
- }
+ const getCentroCostos = (idCliente: number, clientes: IClientes[]) => {
+ if(idCliente > 0){
+ CentrosCostosService.get(idCliente)
+ .then(response => {
+ setCentroCostos(response.data.centroCostos)
+ setClaveClienteFacturacion(response.data.clienteFacturacion);
+
+ if(response.data.clienteFacturacion !== 0 && response.data.clienteFacturacion !== idCliente){
+ let cliente = clientes!.filter(x => x.sClave === response.data.clienteFacturacion)[0];
+ let nombreCliente = cliente.sRazonSocial.split('|')[0].trim()
+ setNombreClienteFacturacion(nombreCliente);
+ setRfcClienteFacturacion(cliente.sRFC);
+ }
+ return
+ })
+ .catch((e: Error) => {
+ setCentroCostos(''); setClaveClienteFacturacion(0); setNombreClienteFacturacion(''); setRfcClienteFacturacion('');
+ setHeader('Error')
+ setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.')
+ setShowMsg(true)
+ return
+ });
}
}
@@ -1475,9 +1482,9 @@ export default function TraficoCorresponsales (props:IProps) {
-
+
-
+
Cliente
{
setIDCliente(parseInt(e.target.value))
- getCentroCostos(+e.target.value);
+ getCentroCostos(+e.target.value, Clientes!);
}}
value={IDCliente}
className="form-select form-select-sm"
@@ -1506,9 +1513,36 @@ export default function TraficoCorresponsales (props:IProps) {
-
+
+
+
+
+ Facturar A
+
+
+ {Clientes
+ ? Clientes.map((c) => {
+ return (
+
+ )
+ })
+ : null}
+
+
+
+
+
+
-
+
Centro de Costos
-
+
{
@@ -1567,8 +1601,8 @@ export default function TraficoCorresponsales (props:IProps) {
-
-
+
+
T. Operacion
@@ -1623,7 +1657,7 @@ export default function TraficoCorresponsales (props:IProps) {
-
+
}
/>{' '}
diff --git a/src/DTO/DTOCatCentrosCostos.ts b/src/DTO/DTOCatCentrosCostos.ts
index e5b038f..ed1f9cd 100644
--- a/src/DTO/DTOCatCentrosCostos.ts
+++ b/src/DTO/DTOCatCentrosCostos.ts
@@ -3,4 +3,5 @@ export default interface DTOCatCentrosCostos{
idCliente: number;
nombreCliente: string;
centroCostos: string;
+ clienteFacturacion: number;
}
\ No newline at end of file
diff --git a/src/Interfaces/Catalogos/ICatCentroCostos.ts b/src/Interfaces/Catalogos/ICatCentroCostos.ts
index 08d1d77..b93414e 100644
--- a/src/Interfaces/Catalogos/ICatCentroCostos.ts
+++ b/src/Interfaces/Catalogos/ICatCentroCostos.ts
@@ -2,4 +2,5 @@ export interface ICatCentroCostos{
id:number;
idCliente: number;
centroCostos: string;
+ clienteFacturacion: number;
}
\ No newline at end of file
diff --git a/src/Services/Catalogos/CentrosCostos.Service.ts b/src/Services/Catalogos/CentrosCostos.Service.ts
index 8c5ae25..1492785 100644
--- a/src/Services/Catalogos/CentrosCostos.Service.ts
+++ b/src/Services/Catalogos/CentrosCostos.Service.ts
@@ -13,7 +13,7 @@ class CentrosCostosService{
}
get(idCliente: number){
- return http.get(`/Catalogos/CatCentrosCostos?idCliente=${idCliente}`);
+ return http.get(`/Catalogos/CatCentrosCostos?idCliente=${idCliente}`);
}
}