refs #4823 Added view supplyOffer
This commit is contained in:
parent
af488b4cd6
commit
7498886b43
|
@ -59,7 +59,7 @@ class Floriday {
|
||||||
await utils.syncSupplyLines();
|
await utils.syncSupplyLines();
|
||||||
|
|
||||||
// Deshabilitado porque no hay de momento
|
// Deshabilitado porque no hay de momento
|
||||||
// await utils.syncClockPresalesSupply();
|
// await utils.syncClockPresaleSupply();
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.name === 'SequelizeConnectionRefusedError') throw err;
|
if (err.name === 'SequelizeConnectionRefusedError') throw err;
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { Sequelize } from 'sequelize';
|
||||||
import dotenv from 'dotenv';
|
import dotenv from 'dotenv';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import ora from 'ora';
|
import ora from 'ora';
|
||||||
|
import fs from 'fs';
|
||||||
import { criticalError } from '../utils.js';
|
import { criticalError } from '../utils.js';
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
@ -78,8 +79,9 @@ let models = {
|
||||||
package: packageModel(sequelize),
|
package: packageModel(sequelize),
|
||||||
};
|
};
|
||||||
|
|
||||||
// Foreign Keys
|
|
||||||
try {
|
try {
|
||||||
|
// Foreign Keys
|
||||||
|
|
||||||
/* TODO: Aplicar dependiendo de cada caso
|
/* TODO: Aplicar dependiendo de cada caso
|
||||||
onDelete: 'CASCADE',
|
onDelete: 'CASCADE',
|
||||||
onUpdate: 'CASCADE',
|
onUpdate: 'CASCADE',
|
||||||
|
@ -156,6 +158,10 @@ try {
|
||||||
foreignKey: 'organizationId',
|
foreignKey: 'organizationId',
|
||||||
targetKey: 'organizationId',
|
targetKey: 'organizationId',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Views
|
||||||
|
sequelize.query(fs.readFileSync('views//supplyOffer.sql', 'utf-8'));
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
criticalError(err);
|
criticalError(err);
|
||||||
}
|
}
|
||||||
|
|
2
utils.js
2
utils.js
|
@ -316,7 +316,7 @@ export async function syncSupplyLines() {
|
||||||
/**
|
/**
|
||||||
* Sync the lock presales supply for supply lines of today.
|
* Sync the lock presales supply for supply lines of today.
|
||||||
*/
|
*/
|
||||||
export async function syncClockPresalesSupply() {
|
export async function syncClockPresaleSupply() {
|
||||||
const spinner = ora(`Syncing clock presales supply...`).start();
|
const spinner = ora(`Syncing clock presales supply...`).start();
|
||||||
const supplyLines = await models.supplyLine.findAll({
|
const supplyLines = await models.supplyLine.findAll({
|
||||||
attributes: ['supplyLineId'],
|
attributes: ['supplyLineId'],
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
CREATE OR REPLACE VIEW supplyOffer AS
|
||||||
|
SELECT sl.supplyLineId,
|
||||||
|
ti.name tradeItemName,
|
||||||
|
o.commercialName organizationName,
|
||||||
|
sl.type,
|
||||||
|
sl.salesUnit,
|
||||||
|
slvp.pricePerPiece,
|
||||||
|
sl.numberOfPieces,
|
||||||
|
sl.deliveryPeriodStartDateTime ,
|
||||||
|
sl.deliveryPeriodEndDateTime,
|
||||||
|
sl.orderPeriodStartDateTime,
|
||||||
|
sl.orderPeriodEndDateTime,
|
||||||
|
tip.url,
|
||||||
|
sl.lastSync
|
||||||
|
FROM supplyLine sl
|
||||||
|
JOIN supplyLineVolumePrice slvp ON slvp.supplyLineId = sl.supplyLineId
|
||||||
|
JOIN organization o ON o.organizationId = sl.organizationId
|
||||||
|
JOIN tradeItem ti ON ti.tradeItemId = sl.tradeItemId
|
||||||
|
JOIN tradeItemPhoto tip ON tip.tradeItemId = ti.tradeItemId
|
||||||
|
AND tip.primary
|
||||||
|
WHERE sl.status = 'AVAILABLE'
|
||||||
|
AND NOT sl.isDeleted
|
||||||
|
AND NOW() BETWEEN sl.orderPeriodStartDateTime AND sl.orderPeriodEndDateTime
|
||||||
|
GROUP BY sl.supplyLineId
|
Loading…
Reference in New Issue