7299_testToMaster #2411
|
@ -0,0 +1,33 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
function getCurrentBranchName(p = process.cwd()) {
|
||||||
|
if (!fs.existsSync(p)) return false;
|
||||||
|
|
||||||
|
const gitHeadPath = path.join(p, '.git', 'HEAD');
|
||||||
|
|
||||||
|
if (!fs.existsSync(gitHeadPath))
|
||||||
|
return getCurrentBranchName(path.resolve(p, '..'));
|
||||||
|
|
||||||
|
const headContent = fs.readFileSync(gitHeadPath, 'utf-8');
|
||||||
|
return headContent.trim().split('/')[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
const branchName = getCurrentBranchName();
|
||||||
|
|
||||||
|
if (branchName) {
|
||||||
|
const msgPath = `.git/COMMIT_EDITMSG`;
|
||||||
|
const msg = fs.readFileSync(msgPath, 'utf-8');
|
||||||
|
const reference = branchName.match(/^\d+/);
|
||||||
|
|
||||||
|
const referenceTag = `refs #${reference}`;
|
||||||
|
if (!msg.includes(referenceTag) && reference) {
|
||||||
|
const splitedMsg = msg.split(':');
|
||||||
|
|
||||||
|
if (splitedMsg.length > 1) {
|
||||||
|
const finalMsg = splitedMsg[0] + ': ' + referenceTag + splitedMsg.slice(1).join(':');
|
||||||
|
fs.writeFileSync(msgPath, finalMsg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
. "$(dirname -- "$0")/_/husky.sh"
|
||||||
|
|
||||||
|
echo "Running husky commit-msg hook"
|
||||||
|
npx --no-install commitlint --edit
|
||||||
|
echo "Adding reference tag to commit message"
|
||||||
|
node .husky/addReferenceTag.js
|
||||||
|
|
|
@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [24.18.01] - 2024-05-02
|
||||||
|
|
||||||
## [24.16.01] - 2024-04-18
|
## [24.16.01] - 2024-04-18
|
||||||
|
|
||||||
## [2414.01] - 2024-04-04
|
## [2414.01] - 2024-04-04
|
||||||
|
|
|
@ -30,7 +30,7 @@ module.exports = Self => {
|
||||||
path: `/:id/downloadFile`,
|
path: `/:id/downloadFile`,
|
||||||
verb: 'GET'
|
verb: 'GET'
|
||||||
},
|
},
|
||||||
// accessScopes: ['read:multimedia']
|
accessScopes: ['DEFAULT', 'read:multimedia']
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.downloadFile = async function(ctx, id) {
|
Self.downloadFile = async function(ctx, id) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ module.exports = Self => {
|
||||||
path: `/:id/download`,
|
path: `/:id/download`,
|
||||||
verb: 'GET'
|
verb: 'GET'
|
||||||
},
|
},
|
||||||
// accessScopes: ['read:multimedia']
|
accessScopes: ['DEFAULT', 'read:multimedia']
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.download = async function(id, fileCabinet, filter) {
|
Self.download = async function(id, fileCabinet, filter) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ module.exports = Self => {
|
||||||
path: `/:collection/:size/:id/download`,
|
path: `/:collection/:size/:id/download`,
|
||||||
verb: 'GET'
|
verb: 'GET'
|
||||||
},
|
},
|
||||||
// accessScopes: ['read:multimedia']
|
accessScopes: ['DEFAULT', 'read:multimedia']
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.download = async function(ctx, collection, size, id) {
|
Self.download = async function(ctx, collection, size, id) {
|
||||||
|
|
|
@ -45,7 +45,6 @@ module.exports = Self => {
|
||||||
});
|
});
|
||||||
availableNotificationsMap.delete(active.notificationFk);
|
availableNotificationsMap.delete(active.notificationFk);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
active: [...activeNotificationsMap.entries()],
|
active: [...activeNotificationsMap.entries()],
|
||||||
available: [...availableNotificationsMap.entries()]
|
available: [...availableNotificationsMap.entries()]
|
||||||
|
|
|
@ -4,8 +4,8 @@ describe('NotificationSubscription getList()', () => {
|
||||||
it('should return a list of available and active notifications of a user', async() => {
|
it('should return a list of available and active notifications of a user', async() => {
|
||||||
const userId = 9;
|
const userId = 9;
|
||||||
const {active, available} = await models.NotificationSubscription.getList(userId);
|
const {active, available} = await models.NotificationSubscription.getList(userId);
|
||||||
const notifications = await models.Notification.find({});
|
const notifications = await models.NotificationSubscription.getAvailable(userId);
|
||||||
const totalAvailable = notifications.length - active.length;
|
const totalAvailable = notifications.size - active.length;
|
||||||
|
|
||||||
expect(active.length).toEqual(3);
|
expect(active.length).toEqual(3);
|
||||||
expect(available.length).toEqual(totalAvailable);
|
expect(available.length).toEqual(totalAvailable);
|
||||||
|
|
|
@ -33,16 +33,23 @@ module.exports = Self => {
|
||||||
// Schedule to remove current token
|
// Schedule to remove current token
|
||||||
setTimeout(async() => {
|
setTimeout(async() => {
|
||||||
try {
|
try {
|
||||||
await Self.logout(token.id);
|
const exists = await models.AccessToken.findById(token.id);
|
||||||
|
exists && await Self.logout(token.id);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
}, courtesyTime * 1000);
|
}, courtesyTime * 1000);
|
||||||
|
|
||||||
|
// Get scopes
|
||||||
|
|
||||||
|
let createTokenOptions = {};
|
||||||
|
const {scopes} = token;
|
||||||
|
if (scopes)
|
||||||
|
createTokenOptions = {scopes: [scopes[0]]};
|
||||||
// Create new accessToken
|
// Create new accessToken
|
||||||
const user = await Self.findById(token.userId);
|
const user = await Self.findById(token.userId);
|
||||||
const accessToken = await user.createAccessToken();
|
const accessToken = await user.accessTokens.create(createTokenOptions);
|
||||||
|
|
||||||
return {id: accessToken.id, ttl: accessToken.ttl};
|
return {id: accessToken.id, ttl: accessToken.ttl};
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,11 +28,25 @@ describe('Renew Token', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should renew token', async() => {
|
it('should renew token', async() => {
|
||||||
|
const {courtesyTime} = await models.AccessTokenConfig.findOne({
|
||||||
|
fields: ['courtesyTime']
|
||||||
|
});
|
||||||
const mockDate = new Date(startingTime + 26600000);
|
const mockDate = new Date(startingTime + 26600000);
|
||||||
jasmine.clock().mockDate(mockDate);
|
jasmine.clock().mockDate(mockDate);
|
||||||
const {id} = await models.VnUser.renewToken(ctx);
|
const {id} = await models.VnUser.renewToken(ctx);
|
||||||
|
|
||||||
expect(id).not.toEqual(ctx.req.accessToken.id);
|
expect(id).not.toEqual(ctx.req.accessToken.id);
|
||||||
|
|
||||||
|
await models.VnUser.logout(ctx.req.accessToken.id);
|
||||||
|
jasmine.clock().tick((courtesyTime + 10) * 1000);
|
||||||
|
let tokenNotExists;
|
||||||
|
try {
|
||||||
|
tokenNotExists = await models.AccessToken.findById(ctx.req.accessToken.id);
|
||||||
|
} catch (e) {
|
||||||
|
error = e;
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(tokenNotExists).toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('NOT should renew', async() => {
|
it('NOT should renew', async() => {
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
const {models} = require('vn-loopback/server/server');
|
const {models} = require('vn-loopback/server/server');
|
||||||
|
const TOKEN_MULTIMEDIA = 'read:multimedia';
|
||||||
describe('Share Token', () => {
|
describe('Share Token', () => {
|
||||||
let ctx = null;
|
let ctx = null;
|
||||||
|
const startingTime = Date.now();
|
||||||
|
let multimediaToken = null;
|
||||||
beforeAll(async() => {
|
beforeAll(async() => {
|
||||||
const unAuthCtx = {
|
const unAuthCtx = {
|
||||||
req: {
|
req: {
|
||||||
|
@ -17,11 +20,45 @@ describe('Share Token', () => {
|
||||||
ctx = {req: {accessToken: accessToken}};
|
ctx = {req: {accessToken: accessToken}};
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should renew token', async() => {
|
beforeEach(async() => {
|
||||||
const multimediaToken = await models.VnUser.shareToken(ctx);
|
multimediaToken = await models.VnUser.shareToken(ctx);
|
||||||
|
jasmine.clock().install();
|
||||||
|
jasmine.clock().mockDate(new Date(startingTime));
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jasmine.clock().uninstall();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should generate token', async() => {
|
||||||
expect(Object.keys(multimediaToken).length).toEqual(1);
|
expect(Object.keys(multimediaToken).length).toEqual(1);
|
||||||
expect(multimediaToken.multimediaToken.userId).toEqual(ctx.req.accessToken.userId);
|
expect(multimediaToken.multimediaToken.userId).toEqual(ctx.req.accessToken.userId);
|
||||||
expect(multimediaToken.multimediaToken.scopes[0]).toEqual('read:multimedia');
|
expect(multimediaToken.multimediaToken.scopes[0]).toEqual(TOKEN_MULTIMEDIA);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('NOT should renew', async() => {
|
||||||
|
let error;
|
||||||
|
let response;
|
||||||
|
try {
|
||||||
|
response = await models.VnUser.renewToken(ctx);
|
||||||
|
} catch (e) {
|
||||||
|
error = e;
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(error).toBeUndefined();
|
||||||
|
expect(response.id).toEqual(ctx.req.accessToken.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should renew token', async() => {
|
||||||
|
const mockDate = new Date(startingTime + 26600000);
|
||||||
|
jasmine.clock().mockDate(mockDate);
|
||||||
|
|
||||||
|
const newShareToken = await models.VnUser.renewToken({req: {accessToken: multimediaToken.multimediaToken}});
|
||||||
|
const {id} = newShareToken;
|
||||||
|
|
||||||
|
expect(id).not.toEqual(ctx.req.accessToken.id);
|
||||||
|
const newMultimediaToken = await models.AccessToken.findById(id);
|
||||||
|
|
||||||
|
expect(newMultimediaToken.scopes[0]).toEqual(TOKEN_MULTIMEDIA);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -174,5 +174,8 @@
|
||||||
},
|
},
|
||||||
"WorkerActivityType": {
|
"WorkerActivityType": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
|
},
|
||||||
|
"ProductionConfig": {
|
||||||
|
"dataSource": "vn"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "ProductionConfig",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "productionConfig"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "number",
|
||||||
|
"required": true,
|
||||||
|
"id": true
|
||||||
|
},
|
||||||
|
"backupPrinterNotificationDelay": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -41,8 +41,7 @@ describe('loopback model NotificationSubscription', () => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const options = {transaction: tx, accessToken: {userId: 9}};
|
const options = {transaction: tx, accessToken: {userId: 9}};
|
||||||
const notificationSubscriptionId = 2;
|
await models.NotificationSubscription.destroyAll({id: 2}, options);
|
||||||
await models.NotificationSubscription.destroyAll({id: notificationSubscriptionId}, options);
|
|
||||||
|
|
||||||
await tx.rollback();
|
await tx.rollback();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -76,8 +75,7 @@ describe('loopback model NotificationSubscription', () => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const options = {transaction: tx, accessToken: {userId: 9}};
|
const options = {transaction: tx, accessToken: {userId: 9}};
|
||||||
const notificationSubscriptionId = 6;
|
await models.NotificationSubscription.destroyAll({id: 6}, options);
|
||||||
await models.NotificationSubscription.destroyAll({id: notificationSubscriptionId}, options);
|
|
||||||
|
|
||||||
await tx.rollback();
|
await tx.rollback();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -111,8 +109,7 @@ describe('loopback model NotificationSubscription', () => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const options = {transaction: tx, accessToken: {userId: 19}};
|
const options = {transaction: tx, accessToken: {userId: 19}};
|
||||||
const notificationSubscriptionId = 4;
|
await models.NotificationSubscription.destroyAll({id: 4}, options);
|
||||||
await models.NotificationSubscription.destroyAll({id: notificationSubscriptionId}, options);
|
|
||||||
|
|
||||||
await tx.rollback();
|
await tx.rollback();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
module.exports = {extends: ['@commitlint/config-conventional']};
|
|
@ -0,0 +1,13 @@
|
||||||
|
# EditorConfig helps developers define and maintain consistent
|
||||||
|
# coding styles between different editors and IDEs
|
||||||
|
# http://editorconfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
|
@ -9,6 +9,10 @@ SET foreign_key_checks = 0;
|
||||||
|
|
||||||
INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled)
|
INSERT INTO util.config (id, environment, mockTime, mockUtcTime, mockEnabled)
|
||||||
VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE);
|
VALUES (1, 'local', '2001-01-01 12:00:00', '2001-01-01 11:00:00', TRUE);
|
||||||
|
|
||||||
|
INSERT INTO util.binlogQueue (code,logName, `position`)
|
||||||
|
VALUES ('mylogger', 'bin.000001', 4);
|
||||||
|
|
||||||
/* #5483
|
/* #5483
|
||||||
INSERT INTO vn.entryConfig (defaultEntry, mailToNotify, inventorySupplierFk, maxLockTime, defaultSupplierFk)
|
INSERT INTO vn.entryConfig (defaultEntry, mailToNotify, inventorySupplierFk, maxLockTime, defaultSupplierFk)
|
||||||
VALUES(1, NULL, 1, 300, 1);
|
VALUES(1, NULL, 1, 300, 1);
|
||||||
|
@ -113,9 +117,6 @@ INSERT INTO vn.ticket (clientFk, warehouseFk, shipped, nickname, refFk, addressF
|
||||||
(100, 4, '2022-07-12 00:00:00', 'root', NULL, 195, NULL, NULL, 0, 0, 0, 0, NULL, 0, '2022-07-12 16:18:58', 1, NULL, 4, NULL, 1, 567, 1, '2022-07-12', 0, 0, 6, NULL, NULL, NULL, NULL, NULL),
|
(100, 4, '2022-07-12 00:00:00', 'root', NULL, 195, NULL, NULL, 0, 0, 0, 0, NULL, 0, '2022-07-12 16:18:58', 1, NULL, 4, NULL, 1, 567, 1, '2022-07-12', 0, 0, 6, NULL, NULL, NULL, NULL, NULL),
|
||||||
(100, 5, '2022-07-12 00:00:00', 'root', NULL, 195, NULL, NULL, 0, 0, 0, 0, NULL, 0, '2022-07-12 16:18:58', 1, NULL, 5, NULL, 1, 567, 1, '2022-07-12', 0, 0, 1, NULL, NULL, NULL, NULL, NULL);
|
(100, 5, '2022-07-12 00:00:00', 'root', NULL, 195, NULL, NULL, 0, 0, 0, 0, NULL, 0, '2022-07-12 16:18:58', 1, NULL, 5, NULL, 1, 567, 1, '2022-07-12', 0, 0, 1, NULL, NULL, NULL, NULL, NULL);
|
||||||
*/
|
*/
|
||||||
INSERT INTO vn.sector (description,warehouseFk) VALUES
|
|
||||||
('Sector One',1);
|
|
||||||
|
|
||||||
INSERT INTO vn.saleGroup (userFk,parkingFk,sectorFk) VALUES
|
INSERT INTO vn.saleGroup (userFk,parkingFk,sectorFk) VALUES
|
||||||
(100,1,1);
|
(100,1,1);
|
||||||
|
|
||||||
|
@ -156,16 +157,6 @@ INSERT INTO `vn`.`occupationCode` (`code`, `name`)
|
||||||
('b', 'Representantes de comercio'),
|
('b', 'Representantes de comercio'),
|
||||||
('c', 'Personal de oficios en trabajos de construcción en general, y en instalac.,edificios y obras');
|
('c', 'Personal de oficios en trabajos de construcción en general, y en instalac.,edificios y obras');
|
||||||
|
|
||||||
INSERT INTO `vn2008`.`payroll_employee` (`CodTrabajador`,`codempresa`)
|
|
||||||
VALUES
|
|
||||||
(36,20),
|
|
||||||
(43,20),
|
|
||||||
(76,20),
|
|
||||||
(1106,20),
|
|
||||||
(1107,20),
|
|
||||||
(1108,20),
|
|
||||||
(1109,20),
|
|
||||||
(1110,20);
|
|
||||||
|
|
||||||
INSERT INTO `vn`.`trainingCourseType` (`id`, `name`)
|
INSERT INTO `vn`.`trainingCourseType` (`id`, `name`)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -198,7 +198,7 @@ INSERT INTO `vn`.`printer` (`id`, `name`, `path`, `isLabeler`, `sectorFk`, `ipAd
|
||||||
(2, 'printer2', 'path2', 1, 1 , NULL),
|
(2, 'printer2', 'path2', 1, 1 , NULL),
|
||||||
(4, 'printer4', 'path4', 0, NULL, '10.1.10.4');
|
(4, 'printer4', 'path4', 0, NULL, '10.1.10.4');
|
||||||
|
|
||||||
UPDATE `vn`.`sector` SET mainPrinterFk = 1 WHERE id = 1;
|
UPDATE `vn`.`sector` SET `backupPrinterFk` = 1 WHERE id = 1;
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO `vn`.`worker`(`id`, `code`, `firstName`, `lastName`,`bossFk`, `phone`)
|
INSERT INTO `vn`.`worker`(`id`, `code`, `firstName`, `lastName`,`bossFk`, `phone`)
|
||||||
|
@ -527,7 +527,8 @@ INSERT INTO `vn`.`observationType`(`id`,`description`, `code`)
|
||||||
(4, 'SalesPerson', 'salesPerson'),
|
(4, 'SalesPerson', 'salesPerson'),
|
||||||
(5, 'Administrative', 'administrative'),
|
(5, 'Administrative', 'administrative'),
|
||||||
(6, 'Weight', 'weight'),
|
(6, 'Weight', 'weight'),
|
||||||
(7, 'InvoiceOut', 'invoiceOut');
|
(7, 'InvoiceOut', 'invoiceOut'),
|
||||||
|
(8, 'DropOff', 'dropOff');
|
||||||
|
|
||||||
INSERT INTO `vn`.`addressObservation`(`id`,`addressFk`,`observationTypeFk`,`description`)
|
INSERT INTO `vn`.`addressObservation`(`id`,`addressFk`,`observationTypeFk`,`description`)
|
||||||
VALUES
|
VALUES
|
||||||
|
@ -1492,21 +1493,21 @@ INSERT INTO `bs`.`waste`(`buyer`, `year`, `week`, `family`, `itemFk`, `itemTypeF
|
||||||
|
|
||||||
INSERT INTO `vn`.`buy`(`id`,`entryFk`,`itemFk`,`buyingValue`,`quantity`,`packagingFk`,`stickers`,`freightValue`,`packageValue`,`comissionValue`,`packing`,`grouping`,`groupingMode`,`location`,`price1`,`price2`,`price3`, `printedStickers`,`isChecked`,`isIgnored`,`weight`, `created`)
|
INSERT INTO `vn`.`buy`(`id`,`entryFk`,`itemFk`,`buyingValue`,`quantity`,`packagingFk`,`stickers`,`freightValue`,`packageValue`,`comissionValue`,`packing`,`grouping`,`groupingMode`,`location`,`price1`,`price2`,`price3`, `printedStickers`,`isChecked`,`isIgnored`,`weight`, `created`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 1, 1, 50, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 1, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE() - INTERVAL 2 MONTH),
|
(1, 1, 1, 50, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE() - INTERVAL 2 MONTH),
|
||||||
(2, 2, 1, 50, 100, 4, 1, 1.500, 1.500, 0.000, 1, 1, 1, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE() - INTERVAL 1 MONTH),
|
(2, 2, 1, 50, 100, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE() - INTERVAL 1 MONTH),
|
||||||
(3, 3, 1, 50, 100, 4, 1, 1.500, 1.500, 0.000, 1, 1, 0, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE()),
|
(3, 3, 1, 50, 100, 4, 1, 1.500, 1.500, 0.000, 1, 1, NULL, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 1, util.VN_CURDATE()),
|
||||||
(4, 2, 2, 5, 450, 3, 1, 1.000, 1.000, 0.000, 10, 10, 0, NULL, 0.00, 7.30, 7.00, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
(4, 2, 2, 5, 450, 3, 1, 1.000, 1.000, 0.000, 10, 10, NULL, NULL, 0.00, 7.30, 7.00, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
||||||
(5, 3, 3, 55, 500, 5, 1, 1.000, 1.000, 0.000, 1, 1, 0, NULL, 0.00, 78.3, 75.6, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
(5, 3, 3, 55, 500, 5, 1, 1.000, 1.000, 0.000, 1, 1, NULL, NULL, 0.00, 78.3, 75.6, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
||||||
(6, 4, 8, 50, 1000, 4, 1, 1.000, 1.000, 0.000, 1, 1, 1, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
(6, 4, 8, 50, 1000, 4, 1, 1.000, 1.000, 0.000, 1, 1, 'grouping', NULL, 0.00, 99.6, 99.4, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
||||||
(7, 4, 9, 20, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 1, NULL, 0.00, 30.50, 29.00, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
(7, 4, 9, 20, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 'packing', NULL, 0.00, 30.50, 29.00, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
||||||
(8, 4, 4, 1.25, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 1, NULL, 0.00, 1.75, 1.67, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
(8, 4, 4, 1.25, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, 2.5, util.VN_CURDATE()),
|
||||||
(9, 4, 4, 1.25, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 1, NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
(9, 4, 4, 1.25, 1000, 3, 1, 0.500, 0.500, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(10, 5, 1, 50, 10, 4, 1, 2.500, 2.500, 0.000, 1, 1, 1, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 4, util.VN_CURDATE()),
|
(10, 5, 1, 50, 10, 4, 1, 2.500, 2.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(11, 5, 4, 1.25, 10, 3, 1, 2.500, 2.500, 0.000, 10, 10, 1, NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
(11, 5, 4, 1.25, 10, 3, 1, 2.500, 2.500, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(12, 6, 4, 1.25, 0, 3, 1, 2.500, 2.500, 0.000, 10, 10, 1, NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
(12, 6, 4, 1.25, 0, 3, 1, 2.500, 2.500, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(13, 7, 1, 50, 0, 3, 1, 2.000, 2.000, 0.000, 1, 1, 1, NULL, 0.00, 99.6, 99.4, 0, 1, 0, 4, util.VN_CURDATE()),
|
(13, 7, 1, 50, 0, 3, 1, 2.000, 2.000, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(14, 7, 2, 5, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 1, NULL, 0.00, 7.30, 7.00, 0, 1, 0, 4, util.VN_CURDATE()),
|
(14, 7, 2, 5, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 'grouping', NULL, 0.00, 7.30, 7.00, 0, 1, 0, 4, util.VN_CURDATE()),
|
||||||
(15, 7, 4, 1.25, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 1, NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE());
|
(15, 7, 4, 1.25, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, 4, util.VN_CURDATE());
|
||||||
|
|
||||||
INSERT INTO `hedera`.`order`(`id`, `date_send`, `customer_id`, `delivery_method_id`, `agency_id`, `address_id`, `company_id`, `note`, `source_app`, `confirmed`,`total`, `date_make`, `first_row_stamp`, `confirm_date`)
|
INSERT INTO `hedera`.`order`(`id`, `date_send`, `customer_id`, `delivery_method_id`, `agency_id`, `address_id`, `company_id`, `note`, `source_app`, `confirmed`,`total`, `date_make`, `first_row_stamp`, `confirm_date`)
|
||||||
VALUES
|
VALUES
|
||||||
|
@ -1827,9 +1828,9 @@ INSERT INTO `vn`.`claimState`(`id`, `code`, `description`, `roleFk`, `priority`,
|
||||||
|
|
||||||
INSERT INTO `vn`.`claim`(`id`, `ticketCreated`, `claimStateFk`, `clientFk`, `workerFk`, `responsibility`, `isChargedToMana`, `created`, `packages`, `ticketFk`)
|
INSERT INTO `vn`.`claim`(`id`, `ticketCreated`, `claimStateFk`, `clientFk`, `workerFk`, `responsibility`, `isChargedToMana`, `created`, `packages`, `ticketFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, util.VN_CURDATE(), 1, 1101, 18, 3, 0, util.VN_CURDATE(), 0, 11),
|
(1, util.VN_CURDATE(), 1, 1101, 19, 3, 0, util.VN_CURDATE(), 0, 11),
|
||||||
(2, util.VN_CURDATE(), 4, 1101, 18, 3, 0, util.VN_CURDATE(), 1, 16),
|
(2, util.VN_CURDATE(), 4, 1101, 18, 3, 0, util.VN_CURDATE(), 1, 16),
|
||||||
(3, util.VN_CURDATE(), 3, 1101, 18, 1, 1, util.VN_CURDATE(), 5, 7),
|
(3, util.VN_CURDATE(), 3, 1101, 19, 1, 1, util.VN_CURDATE(), 5, 7),
|
||||||
(4, util.VN_CURDATE(), 3, 1104, 18, 5, 0, util.VN_CURDATE(), 10, 8);
|
(4, util.VN_CURDATE(), 3, 1104, 18, 5, 0, util.VN_CURDATE(), 10, 8);
|
||||||
|
|
||||||
INSERT INTO `vn`.`claimObservation` (`claimFk`, `workerFk`, `text`, `created`)
|
INSERT INTO `vn`.`claimObservation` (`claimFk`, `workerFk`, `text`, `created`)
|
||||||
|
@ -2551,15 +2552,15 @@ INSERT INTO `vn`.`duaEntry` (`duaFk`, `entryFk`, `value`, `customsValue`, `euroV
|
||||||
REPLACE INTO `vn`.`invoiceIn`(`id`, `serialNumber`,`serial`, `supplierFk`, `issued`, `created`, `supplierRef`, `isBooked`, `companyFk`, `docFk`)
|
REPLACE INTO `vn`.`invoiceIn`(`id`, `serialNumber`,`serial`, `supplierFk`, `issued`, `created`, `supplierRef`, `isBooked`, `companyFk`, `docFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 1001, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1234, 0, 442, 1),
|
(1, 1001, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1234, 0, 442, 1),
|
||||||
(2, 1002, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1235, 1, 442, 1),
|
(2, 1002, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1235, 0, 442, 1),
|
||||||
(3, 1003, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1236, 0, 442, 1),
|
(3, 1003, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1236, 0, 442, 1),
|
||||||
(4, 1004, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1237, 0, 442, 1),
|
(4, 1004, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1237, 0, 442, 1),
|
||||||
(5, 1005, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1238, 1, 442, 1),
|
(5, 1005, 'R', 1, util.VN_CURDATE(), util.VN_CURDATE(), 1238, 0, 442, 1),
|
||||||
(6, 1006, 'R', 2, util.VN_CURDATE(), util.VN_CURDATE(), 1239, 0, 442, 1),
|
(6, 1006, 'R', 2, util.VN_CURDATE(), util.VN_CURDATE(), 1239, 0, 442, 1),
|
||||||
(7, 1007, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1240, 1, 442, 1),
|
(7, 1007, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1240, 0, 442, 1),
|
||||||
(8, 1008, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1241, 1, 442, 1),
|
(8, 1008, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1241, 0, 442, 1),
|
||||||
(9, 1009, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1242, 1, 442, 1),
|
(9, 1009, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1242, 0, 442, 1),
|
||||||
(10, 1010, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1243, 1, 442, 1);
|
(10, 1010, 'R', 2, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH), 1243, 0, 442, 1);
|
||||||
|
|
||||||
INSERT INTO `vn`.`invoiceInConfig` (`id`, `retentionRate`, `retentionName`, `sageWithholdingFk`, `daysAgo`)
|
INSERT INTO `vn`.`invoiceInConfig` (`id`, `retentionRate`, `retentionName`, `sageWithholdingFk`, `daysAgo`)
|
||||||
VALUES
|
VALUES
|
||||||
|
@ -2614,13 +2615,33 @@ INSERT INTO `vn`.`invoiceInIntrastat` (`invoiceInFk`, `net`, `intrastatFk`, `amo
|
||||||
(2, 13.20, 5080000, 15.00, 580, 5),
|
(2, 13.20, 5080000, 15.00, 580, 5),
|
||||||
(2, 16.10, 6021010, 25.00, 80, 5);
|
(2, 16.10, 6021010, 25.00, 80, 5);
|
||||||
|
|
||||||
INSERT INTO `vn`.`ticketRecalc`(`ticketFk`)
|
UPDATE `vn`.`invoiceIn`
|
||||||
SELECT t.id
|
SET isBooked = TRUE
|
||||||
FROM vn.ticket t
|
WHERE id IN (5, 7, 8, 9, 10);
|
||||||
LEFT JOIN vn.ticketRecalc tr ON tr.ticketFk = t.id
|
|
||||||
WHERE tr.ticketFk IS NULL;
|
|
||||||
|
|
||||||
CALL `vn`.`ticket_doRecalc`();
|
DELIMITER $$
|
||||||
|
CREATE PROCEDURE `tmp`.`ticket_recalc`()
|
||||||
|
BEGIN
|
||||||
|
DECLARE vDone BOOL;
|
||||||
|
DECLARE vTicketFk INT;
|
||||||
|
|
||||||
|
DECLARE cTickets CURSOR FOR SELECT id FROM vn.ticket;
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
||||||
|
SET vDone = TRUE;
|
||||||
|
|
||||||
|
OPEN cTickets;
|
||||||
|
myLoop: LOOP
|
||||||
|
SET vDone = FALSE;
|
||||||
|
FETCH cTickets INTO vTicketFk;
|
||||||
|
IF vDone THEN LEAVE myLoop; END IF;
|
||||||
|
CALL vn.ticket_recalc(vTicketFk, NULL);
|
||||||
|
END LOOP;
|
||||||
|
CLOSE cTickets;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
CALL tmp.ticket_recalc;
|
||||||
|
DROP PROCEDURE tmp.ticket_recalc;
|
||||||
|
|
||||||
UPDATE `vn`.`ticket`
|
UPDATE `vn`.`ticket`
|
||||||
SET refFk = 'T1111111'
|
SET refFk = 'T1111111'
|
||||||
|
@ -2822,7 +2843,8 @@ INSERT INTO `util`.`notification` (`id`, `name`, `description`)
|
||||||
(4, 'supplier-pay-method-update', 'A supplier pay method has been updated'),
|
(4, 'supplier-pay-method-update', 'A supplier pay method has been updated'),
|
||||||
(5, 'modified-entry', 'An entry has been modified'),
|
(5, 'modified-entry', 'An entry has been modified'),
|
||||||
(6, 'book-entry-deleted', 'accounting entries deleted'),
|
(6, 'book-entry-deleted', 'accounting entries deleted'),
|
||||||
(7, 'zone-included','An email to notify zoneCollisions');
|
(7, 'zone-included','An email to notify zoneCollisions'),
|
||||||
|
(8, 'backup-printer-selected','A backup printer has been selected');
|
||||||
|
|
||||||
TRUNCATE `util`.`notificationAcl`;
|
TRUNCATE `util`.`notificationAcl`;
|
||||||
INSERT INTO `util`.`notificationAcl` (`notificationFk`, `roleFk`)
|
INSERT INTO `util`.`notificationAcl` (`notificationFk`, `roleFk`)
|
||||||
|
@ -2834,7 +2856,8 @@ INSERT INTO `util`.`notificationAcl` (`notificationFk`, `roleFk`)
|
||||||
(4, 1),
|
(4, 1),
|
||||||
(5, 9),
|
(5, 9),
|
||||||
(6, 9),
|
(6, 9),
|
||||||
(7, 9);
|
(7, 9),
|
||||||
|
(8, 66);
|
||||||
|
|
||||||
TRUNCATE `util`.`notificationQueue`;
|
TRUNCATE `util`.`notificationQueue`;
|
||||||
INSERT INTO `util`.`notificationQueue` (`id`, `notificationFk`, `params`, `authorFk`, `status`, `created`)
|
INSERT INTO `util`.`notificationQueue` (`id`, `notificationFk`, `params`, `authorFk`, `status`, `created`)
|
||||||
|
@ -2854,15 +2877,16 @@ INSERT INTO `util`.`notificationSubscription` (`notificationFk`, `userFk`)
|
||||||
(1, 9),
|
(1, 9),
|
||||||
(1, 3),
|
(1, 3),
|
||||||
(6, 9),
|
(6, 9),
|
||||||
(7, 9);
|
(7, 9),
|
||||||
|
(8, 66);
|
||||||
|
|
||||||
INSERT INTO `vn`.`routeConfig` (`id`, `defaultWorkCenterFk`)
|
INSERT INTO `vn`.`routeConfig` (`id`, `defaultWorkCenterFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 9);
|
(1, 9);
|
||||||
|
|
||||||
INSERT INTO `vn`.`productionConfig` (`isPreviousPreparationRequired`, `ticketPrintedMax`, `ticketTrolleyMax`, `rookieDays`, `notBuyingMonths`, `id`, `isZoneClosedByExpeditionActivated`, `maxNotReadyCollections`, `minTicketsToCloseZone`, `movingTicketDelRoute`, `defaultZone`, `defautlAgencyMode`, `hasUniqueCollectionTime`, `maxCollectionWithoutUser`, `pendingCollectionsOrder`, `pendingCollectionsAge`)
|
INSERT INTO `vn`.`productionConfig` (`isPreviousPreparationRequired`, `ticketPrintedMax`, `ticketTrolleyMax`, `rookieDays`, `notBuyingMonths`, `id`, `isZoneClosedByExpeditionActivated`, `maxNotReadyCollections`, `minTicketsToCloseZone`, `movingTicketDelRoute`, `defaultZone`, `defautlAgencyMode`, `hasUniqueCollectionTime`, `maxCollectionWithoutUser`, `pendingCollectionsOrder`, `pendingCollectionsAge`, `backupPrinterNotificationDelay`)
|
||||||
VALUES
|
VALUES
|
||||||
(0, 8, 80, 0, 0, 1, 0, 15, 25, -1, 697, 1328, 0, 1, 8, 6);
|
(0, 8, 80, 0, 0, 1, 0, 15, 25, -1, 697, 1328, 0, 1, 8, 6, 3600);
|
||||||
|
|
||||||
INSERT INTO `vn`.`collection` (`id`, `created`, `workerFk`, `stateFk`, `itemPackingTypeFk`, `saleTotalCount`, `salePickedCount`, `trainFk`, `sectorFk`, `wagons`)
|
INSERT INTO `vn`.`collection` (`id`, `created`, `workerFk`, `stateFk`, `itemPackingTypeFk`, `saleTotalCount`, `salePickedCount`, `trainFk`, `sectorFk`, `wagons`)
|
||||||
VALUES
|
VALUES
|
||||||
|
@ -3232,7 +3256,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 20,
|
packing = 20,
|
||||||
`grouping` = 1,
|
`grouping` = 1,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3270,7 +3294,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 40,
|
packing = 40,
|
||||||
`grouping` = 5,
|
`grouping` = 5,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3308,7 +3332,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 2,
|
stickers = 2,
|
||||||
packing = 10,
|
packing = 10,
|
||||||
`grouping` = 5,
|
`grouping` = 5,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3354,7 +3378,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 20,
|
packing = 20,
|
||||||
`grouping` = 4,
|
`grouping` = 4,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3392,7 +3416,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 20,
|
packing = 20,
|
||||||
`grouping` = 1,
|
`grouping` = 1,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3431,7 +3455,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 200,
|
packing = 200,
|
||||||
`grouping` = 30,
|
`grouping` = 30,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3470,7 +3494,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 500,
|
packing = 500,
|
||||||
`grouping` = 10,
|
`grouping` = 10,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3509,7 +3533,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 2,
|
stickers = 2,
|
||||||
packing = 300,
|
packing = 300,
|
||||||
`grouping` = 50,
|
`grouping` = 50,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3548,7 +3572,7 @@ INSERT INTO vn.buy
|
||||||
stickers = 2,
|
stickers = 2,
|
||||||
packing = 50,
|
packing = 50,
|
||||||
`grouping` = 5,
|
`grouping` = 5,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 1,
|
price1 = 1,
|
||||||
price2 = 1,
|
price2 = 1,
|
||||||
price3 = 1,
|
price3 = 1,
|
||||||
|
@ -3588,7 +3612,7 @@ INSERT vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 5,
|
packing = 5,
|
||||||
`grouping` = 2,
|
`grouping` = 2,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 7,
|
price1 = 7,
|
||||||
price2 = 7,
|
price2 = 7,
|
||||||
price3 = 7,
|
price3 = 7,
|
||||||
|
@ -3627,7 +3651,7 @@ INSERT vn.buy
|
||||||
stickers = 1,
|
stickers = 1,
|
||||||
packing = 100,
|
packing = 100,
|
||||||
`grouping` = 5,
|
`grouping` = 5,
|
||||||
groupingMode = 1,
|
groupingMode = 'packing',
|
||||||
price1 = 7,
|
price1 = 7,
|
||||||
price2 = 7,
|
price2 = 7,
|
||||||
price3 = 7,
|
price3 = 7,
|
||||||
|
@ -3758,3 +3782,8 @@ INSERT INTO `vn`.`accountReconciliation` (supplierAccountFk,operationDated,value
|
||||||
|
|
||||||
INSERT INTO `vn`.`accountReconciliationConfig`(currencyFk, warehouseFk)
|
INSERT INTO `vn`.`accountReconciliationConfig`(currencyFk, warehouseFk)
|
||||||
VALUES (1, 1);
|
VALUES (1, 1);
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO vn.workerTeam(id, team, workerFk)
|
||||||
|
VALUES
|
||||||
|
(8, 1, 19);
|
||||||
|
|
|
@ -92,12 +92,12 @@ BEGIN
|
||||||
UPDATE bi.Greuge_Evolution ge
|
UPDATE bi.Greuge_Evolution ge
|
||||||
JOIN (
|
JOIN (
|
||||||
SELECT cs.Id_Cliente, sum(Valor * Cantidad) as Importe
|
SELECT cs.Id_Cliente, sum(Valor * Cantidad) as Importe
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.addressFk
|
||||||
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket
|
JOIN vn2008.Movimientos m on m.Id_Ticket = t.id
|
||||||
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
||||||
WHERE t.Fecha >= datFEC
|
WHERE t.shipped >= datFEC
|
||||||
AND t.Fecha < datFEC_TOMORROW
|
AND t.shipped < datFEC_TOMORROW
|
||||||
AND mc.Id_Componente = 17 -- Recobro
|
AND mc.Id_Componente = 17 -- Recobro
|
||||||
GROUP BY cs.Id_Cliente
|
GROUP BY cs.Id_Cliente
|
||||||
) sub using(Id_Cliente)
|
) sub using(Id_Cliente)
|
||||||
|
|
|
@ -42,12 +42,12 @@ BEGIN
|
||||||
LEFT JOIN vn2008.Trabajadores tr2 ON tr2.Id_Trabajador = tp.Id_Trabajador
|
LEFT JOIN vn2008.Trabajadores tr2 ON tr2.Id_Trabajador = tp.Id_Trabajador
|
||||||
JOIN vn2008.time tm ON tm.date = bt.fecha
|
JOIN vn2008.time tm ON tm.date = bt.fecha
|
||||||
JOIN vn2008.Movimientos m ON m.Id_Movimiento = bt.Id_Movimiento
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = bt.Id_Movimiento
|
||||||
LEFT JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
LEFT JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
JOIN vn2008.Agencias a ON a.Id_Agencia = t.agencyModeFk
|
||||||
LEFT JOIN vn.deliveryMethod dm ON dm.id = a.Vista
|
LEFT JOIN vn.deliveryMethod dm ON dm.id = a.Vista
|
||||||
LEFT JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna
|
LEFT JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.addressFk
|
||||||
LEFT JOIN vn2008.province p ON p.province_id = cs.province_id
|
LEFT JOIN vn2008.province p ON p.province_id = cs.province_id
|
||||||
LEFT JOIN vn.warehouse w ON w.id = t.warehouse_id
|
LEFT JOIN vn.warehouse w ON w.id = t.warehouseFk
|
||||||
WHERE bt.fecha >= vLastMonth AND r.mercancia;
|
WHERE bt.fecha >= vLastMonth AND r.mercancia;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -59,18 +59,18 @@ BEGIN
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
||||||
CREATE TEMPORARY TABLE tmp.ticket_list
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
||||||
(PRIMARY KEY (Id_Ticket))
|
(PRIMARY KEY (Id_Ticket))
|
||||||
SELECT DISTINCT t.Id_Ticket
|
SELECT DISTINCT t.id Id_Ticket
|
||||||
FROM vn2008.Movimientos_componentes mc
|
FROM vn2008.Movimientos_componentes mc
|
||||||
JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento
|
JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento
|
||||||
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
JOIN vn2008.Tickets_state ts ON ts.Id_Ticket = t.Id_Ticket
|
JOIN vn.ticketLastState ts ON ts.ticketFk = t.id
|
||||||
JOIN vn.ticketTracking tt ON tt.id = ts.inter_id
|
JOIN vn.ticketTracking tt ON tt.id = ts.ticketTrackingFk
|
||||||
JOIN vn2008.state s ON s.id = tt.stateFk
|
JOIN vn.state s ON s.id = tt.stateFk
|
||||||
WHERE mc.Id_Componente = 17
|
WHERE mc.Id_Componente = 17
|
||||||
AND mc.greuge = 0
|
AND mc.greuge = 0
|
||||||
AND t.Fecha >= '2016-10-01'
|
AND t.shipped >= '2016-10-01'
|
||||||
AND t.Fecha < util.VN_CURDATE()
|
AND t.shipped < util.VN_CURDATE()
|
||||||
AND s.alert_level >= 3;
|
AND s.alertLevel >= 3;
|
||||||
|
|
||||||
DELETE g.*
|
DELETE g.*
|
||||||
FROM vn.greuge g
|
FROM vn.greuge g
|
||||||
|
@ -79,18 +79,18 @@ BEGIN
|
||||||
|
|
||||||
INSERT INTO vn.greuge(clientFk, description, amount,shipped,
|
INSERT INTO vn.greuge(clientFk, description, amount,shipped,
|
||||||
greugeTypeFk, ticketFk)
|
greugeTypeFk, ticketFk)
|
||||||
SELECT Id_Cliente
|
SELECT t.clientFk
|
||||||
,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2)
|
,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2)
|
||||||
AS dif
|
AS dif
|
||||||
,date(t.Fecha)
|
,date(t.shipped)
|
||||||
, 2
|
, 2
|
||||||
,tt.Id_Ticket
|
,tt.Id_Ticket
|
||||||
FROM vn2008.Movimientos m
|
FROM vn2008.Movimientos m
|
||||||
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket
|
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.id
|
||||||
JOIN vn2008.Movimientos_componentes mc
|
JOIN vn2008.Movimientos_componentes mc
|
||||||
ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17
|
ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17
|
||||||
GROUP BY t.Id_Ticket
|
GROUP BY t.id
|
||||||
HAVING ABS(dif) > 1;
|
HAVING ABS(dif) > 1;
|
||||||
|
|
||||||
UPDATE vn2008.Movimientos_componentes mc
|
UPDATE vn2008.Movimientos_componentes mc
|
||||||
|
|
|
@ -15,17 +15,17 @@ BEGIN
|
||||||
IF lastCOMP < vMaxPeriod - 3 AND vMaxWeek > 3 THEN
|
IF lastCOMP < vMaxPeriod - 3 AND vMaxWeek > 3 THEN
|
||||||
|
|
||||||
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
||||||
SELECT tm.period as Periodo, m.Id_Article, t.warehouse_id, sum(m.Cantidad), sum(v.importe)
|
SELECT tm.period as Periodo, m.Id_Article, t.warehouseFk, sum(m.Cantidad), sum(v.importe)
|
||||||
FROM bs.ventas v
|
FROM bs.ventas v
|
||||||
JOIN vn2008.time tm ON tm.date = v.fecha
|
JOIN vn2008.time tm ON tm.date = v.fecha
|
||||||
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
|
||||||
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
|
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
|
||||||
JOIN vn2008.reinos r ON r.id = tp.reino_id
|
JOIN vn2008.reinos r ON r.id = tp.reino_id
|
||||||
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
WHERE tm.period BETWEEN lastCOMP AND vMaxPeriod - 3
|
WHERE tm.period BETWEEN lastCOMP AND vMaxPeriod - 3
|
||||||
AND t.Id_Cliente NOT IN(400,200)
|
AND t.clientFk NOT IN(400,200)
|
||||||
AND t.warehouse_id NOT IN (0,13)
|
AND t.warehouseFk NOT IN (0,13)
|
||||||
GROUP BY m.Id_Article, Periodo, t.warehouse_id;
|
GROUP BY m.Id_Article, Periodo, t.warehouseFk;
|
||||||
|
|
||||||
END IF;
|
END IF;
|
||||||
END$$
|
END$$
|
||||||
|
|
|
@ -25,16 +25,16 @@ BEGIN
|
||||||
WHERE Periodo BETWEEN periodStart AND periodEnd;
|
WHERE Periodo BETWEEN periodStart AND periodEnd;
|
||||||
|
|
||||||
INSERT INTO vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
INSERT INTO vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
|
||||||
SELECT tm.period as Periodo, m.Id_Article, t.warehouse_id, sum(m.Cantidad), sum(v.importe)
|
SELECT tm.period as Periodo, m.Id_Article, t.warehouseFk, sum(m.Cantidad), sum(v.importe)
|
||||||
FROM bs.ventas v
|
FROM bs.ventas v
|
||||||
JOIN vn2008.time tm ON tm.date = v.fecha
|
JOIN vn2008.time tm ON tm.date = v.fecha
|
||||||
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
|
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
|
||||||
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
|
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
|
||||||
JOIN vn2008.reinos r ON r.id = tp.reino_id
|
JOIN vn2008.reinos r ON r.id = tp.reino_id
|
||||||
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
WHERE tm.period BETWEEN periodStart AND periodEnd
|
WHERE tm.period BETWEEN periodStart AND periodEnd
|
||||||
AND t.Id_Cliente NOT IN(400,200)
|
AND t.clientFk NOT IN(400,200)
|
||||||
AND t.warehouse_id NOT IN (0,13)
|
AND t.warehouseFk NOT IN (0,13)
|
||||||
GROUP BY m.Id_Article, Periodo, t.warehouse_id;
|
GROUP BY m.Id_Article, Periodo, t.warehouseFk;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -11,13 +11,13 @@ AS SELECT `time`.`year` AS `year`,
|
||||||
FROM (
|
FROM (
|
||||||
(
|
(
|
||||||
(
|
(
|
||||||
`vn2008`.`Tickets` `t`
|
`vn`.`ticket` `t`
|
||||||
JOIN `bi`.`f_tvc` ON(`t`.`Id_Ticket` = `bi`.`f_tvc`.`Id_Ticket`)
|
JOIN `bi`.`f_tvc` ON(`t`.`id` = `bi`.`f_tvc`.`Id_Ticket`)
|
||||||
)
|
)
|
||||||
JOIN `vn2008`.`Movimientos` `m` ON(`t`.`Id_Ticket` = `m`.`Id_Ticket`)
|
JOIN `vn2008`.`Movimientos` `m` ON(`t`.`id` = `m`.`Id_Ticket`)
|
||||||
)
|
)
|
||||||
JOIN `vn2008`.`time` ON(`time`.`date` = cast(`t`.`Fecha` AS date))
|
JOIN `vn2008`.`time` ON(`time`.`date` = cast(`t`.`shipped` AS date))
|
||||||
)
|
)
|
||||||
WHERE `t`.`Fecha` >= '2014-01-01'
|
WHERE `t`.`shipped` >= '2014-01-01'
|
||||||
GROUP BY `time`.`year`,
|
GROUP BY `time`.`year`,
|
||||||
`time`.`month`
|
`time`.`month`
|
||||||
|
|
|
@ -70,23 +70,23 @@ BEGIN
|
||||||
AND (v.fecha BETWEEN TIMESTAMPADD(DAY, - DAY(vDate) + 1, vDate) AND TIMESTAMPADD(DAY, - 1, vDate))
|
AND (v.fecha BETWEEN TIMESTAMPADD(DAY, - DAY(vDate) + 1, vDate) AND TIMESTAMPADD(DAY, - 1, vDate))
|
||||||
GROUP BY Id_Cliente) mes_actual ON mes_actual.Id_Cliente = c.Id_Cliente
|
GROUP BY Id_Cliente) mes_actual ON mes_actual.Id_Cliente = c.Id_Cliente
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(SELECT t.Id_Cliente, SUM(m.preu * m.Cantidad * (1 - m.Descuento / 100)) futur
|
(SELECT t.clientFk Id_Cliente, SUM(m.preu * m.Cantidad * (1 - m.Descuento / 100)) futur
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn2008.Clientes c ON c.Id_Cliente = t.Id_Cliente
|
JOIN vn2008.Clientes c ON c.Id_Cliente = t.clientFk
|
||||||
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket
|
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.id
|
||||||
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
||||||
WHERE
|
WHERE
|
||||||
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
||||||
AND t.Fecha BETWEEN vDate AND util.dayEnd(LAST_DAY(vDate))
|
AND t.shipped BETWEEN vDate AND util.dayEnd(LAST_DAY(vDate))
|
||||||
GROUP BY Id_Cliente) f ON c.Id_Cliente = f.Id_Cliente
|
GROUP BY Id_Cliente) f ON c.Id_Cliente = f.Id_Cliente
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(SELECT MAX(t.Fecha) LastTicket, c.Id_Cliente
|
(SELECT MAX(t.shipped) LastTicket, c.Id_Cliente
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn2008.Clientes c ON c.Id_cliente = t.Id_Cliente
|
JOIN vn2008.Clientes c ON c.Id_cliente = t.clientFk
|
||||||
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
|
||||||
WHERE
|
WHERE
|
||||||
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
(c.Id_Trabajador = vWorker OR tr.boss = vWorker)
|
||||||
GROUP BY t.Id_Cliente) LastTicket ON LastTicket.Id_Cliente = c.Id_Cliente
|
GROUP BY t.clientFk) LastTicket ON LastTicket.Id_Cliente = c.Id_Cliente
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(
|
(
|
||||||
SELECT SUM(importe) peso, c.Id_Cliente
|
SELECT SUM(importe) peso, c.Id_Cliente
|
||||||
|
|
|
@ -68,13 +68,13 @@ BEGIN
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT cs.Id_Cliente, Cantidad * Valor as mana
|
SELECT cs.Id_Cliente, Cantidad * Valor as mana
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
JOIN vn2008.Consignatarios cs using(Id_Consigna)
|
||||||
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket
|
JOIN vn2008.Movimientos m on m.Id_Ticket = t.id
|
||||||
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
|
||||||
WHERE Id_Componente IN (vManaAutoId, vManaId, vClaimManaId)
|
WHERE Id_Componente IN (vManaAutoId, vManaId, vClaimManaId)
|
||||||
AND t.Fecha > vFromDated
|
AND t.shipped > vFromDated
|
||||||
AND date(t.Fecha) <= vToDated
|
AND date(t.shipped) <= vToDated
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT r.Id_Cliente, - Entregado
|
SELECT r.Id_Cliente, - Entregado
|
||||||
FROM vn2008.Recibos r
|
FROM vn2008.Recibos r
|
||||||
|
|
|
@ -19,11 +19,11 @@ BEGIN
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
||||||
CREATE TEMPORARY TABLE tmp.ticket_list
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
||||||
(PRIMARY KEY (Id_Ticket))
|
(PRIMARY KEY (id))
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
SELECT Id_Ticket
|
SELECT t.id
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn.invoiceOut io ON io.`ref` = t.Factura
|
JOIN vn.invoiceOut io ON io.`ref` = t.refFk
|
||||||
WHERE year(io.issued) = vYear
|
WHERE year(io.issued) = vYear
|
||||||
AND month(io.issued) = vMonth;
|
AND month(io.issued) = vMonth;
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ BEGIN
|
||||||
) as grupo
|
) as grupo
|
||||||
, tp.reino_id
|
, tp.reino_id
|
||||||
, a.tipo_id
|
, a.tipo_id
|
||||||
, t.empresa_id
|
, t.companyFk
|
||||||
, a.expenseFk
|
, a.expenseFk
|
||||||
+ IF(e.empresa_grupo = e2.empresa_grupo
|
+ IF(e.empresa_grupo = e2.empresa_grupo
|
||||||
,1
|
,1
|
||||||
|
@ -54,19 +54,19 @@ BEGIN
|
||||||
) * 100000
|
) * 100000
|
||||||
+ tp.reino_id * 1000 as Gasto
|
+ tp.reino_id * 1000 as Gasto
|
||||||
FROM vn2008.Movimientos m
|
FROM vn2008.Movimientos m
|
||||||
JOIN vn2008.Tickets t on t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.addressFk
|
||||||
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
|
||||||
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.Id_Ticket
|
JOIN tmp.ticket_list tt on tt.id = t.id
|
||||||
JOIN vn2008.Articles a on m.Id_Article = a.Id_Article
|
JOIN vn2008.Articles a on m.Id_Article = a.Id_Article
|
||||||
JOIN vn2008.empresa e on e.id = t.empresa_id
|
JOIN vn2008.empresa e on e.id = t.companyFk
|
||||||
LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente
|
LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente
|
||||||
JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id
|
JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id
|
||||||
WHERE Cantidad <> 0
|
WHERE Cantidad <> 0
|
||||||
AND Preu <> 0
|
AND Preu <> 0
|
||||||
AND m.Descuento <> 100
|
AND m.Descuento <> 100
|
||||||
AND a.tipo_id != TIPO_PATRIMONIAL
|
AND a.tipo_id != TIPO_PATRIMONIAL
|
||||||
GROUP BY grupo, reino_id, tipo_id, empresa_id, Gasto;
|
GROUP BY grupo, reino_id, tipo_id, companyFk, Gasto;
|
||||||
|
|
||||||
INSERT INTO bs.ventas_contables(year
|
INSERT INTO bs.ventas_contables(year
|
||||||
, month
|
, month
|
||||||
|
@ -92,7 +92,7 @@ BEGIN
|
||||||
JOIN vn.ticket t ON ts.ticketFk = t.id
|
JOIN vn.ticket t ON ts.ticketFk = t.id
|
||||||
JOIN vn.address a on a.id = t.addressFk
|
JOIN vn.address a on a.id = t.addressFk
|
||||||
JOIN vn.client cl on cl.id = a.clientFk
|
JOIN vn.client cl on cl.id = a.clientFk
|
||||||
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.id
|
JOIN tmp.ticket_list tt on tt.id = t.id
|
||||||
JOIN vn.company c on c.id = t.companyFk
|
JOIN vn.company c on c.id = t.companyFk
|
||||||
LEFT JOIN vn.company c2 on c2.clientFk = cl.id
|
LEFT JOIN vn.company c2 on c2.clientFk = cl.id
|
||||||
GROUP BY grupo, t.companyFk ;
|
GROUP BY grupo, t.companyFk ;
|
||||||
|
|
|
@ -10,36 +10,36 @@ BEGIN
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE tmp.ticket_list
|
CREATE TEMPORARY TABLE tmp.ticket_list
|
||||||
(PRIMARY KEY (Id_Ticket))
|
(PRIMARY KEY (id))
|
||||||
SELECT Id_Ticket
|
SELECT t.id
|
||||||
FROM vn2008.Tickets t
|
FROM vn.ticket t
|
||||||
JOIN vn.invoiceOut io ON io.id = t.Factura
|
JOIN vn.invoiceOut io ON io.id = t.refFk
|
||||||
WHERE year(io.issued) = vYear
|
WHERE year(io.issued) = vYear
|
||||||
AND month(io.issued) = vMonth;
|
AND month(io.issued) = vMonth;
|
||||||
|
|
||||||
SELECT vYear Año,
|
SELECT vYear Año,
|
||||||
vMonth Mes,
|
vMonth Mes,
|
||||||
t.Id_Cliente,
|
t.clientFk Id_Cliente,
|
||||||
round(sum(Cantidad * Preu * (100 - m.Descuento)/100)) Venta,
|
round(sum(Cantidad * Preu * (100 - m.Descuento)/100)) Venta,
|
||||||
IF(e.empresa_grupo = e2.empresa_grupo,
|
IF(e.empresa_grupo = e2.empresa_grupo,
|
||||||
1,
|
1,
|
||||||
IF(e2.empresa_grupo,2,0))
|
IF(e2.empresa_grupo,2,0))
|
||||||
AS grupo,
|
AS grupo,
|
||||||
t.empresa_id empresa
|
t.companyFk empresa
|
||||||
FROM vn2008.Movimientos m
|
FROM vn2008.Movimientos m
|
||||||
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
|
JOIN vn.ticket t ON t.id = m.Id_Ticket
|
||||||
JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna
|
JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.addressFk
|
||||||
JOIN vn2008.Clientes c ON c.Id_Cliente = cs.Id_Cliente
|
JOIN vn2008.Clientes c ON c.Id_Cliente = cs.Id_Cliente
|
||||||
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket
|
JOIN tmp.ticket_list tt ON tt.id = t.id
|
||||||
JOIN vn2008.Articles a ON m.Id_Article = a.Id_Article
|
JOIN vn2008.Articles a ON m.Id_Article = a.Id_Article
|
||||||
JOIN vn2008.empresa e ON e.id = t.empresa_id
|
JOIN vn2008.empresa e ON e.id = t.companyFk
|
||||||
LEFT JOIN vn2008.empresa e2 ON e2.Id_Cliente = c.Id_Cliente
|
LEFT JOIN vn2008.empresa e2 ON e2.Id_Cliente = c.Id_Cliente
|
||||||
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
|
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
|
||||||
WHERE Cantidad <> 0
|
WHERE Cantidad <> 0
|
||||||
AND Preu <> 0
|
AND Preu <> 0
|
||||||
AND m.Descuento <> 100
|
AND m.Descuento <> 100
|
||||||
AND a.tipo_id != 188
|
AND a.tipo_id != 188
|
||||||
GROUP BY t.Id_Cliente, grupo,t.empresa_id;
|
GROUP BY t.clientFk, grupo,t.companyFk;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tmp.ticket_list;
|
DROP TEMPORARY TABLE tmp.ticket_list;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ proc:BEGIN
|
||||||
DECLARE vPackage INT;
|
DECLARE vPackage INT;
|
||||||
DECLARE vPutOrderFk INT;
|
DECLARE vPutOrderFk INT;
|
||||||
DECLARE vIsLot BOOLEAN;
|
DECLARE vIsLot BOOLEAN;
|
||||||
DECLARE vForceToPacking INT DEFAULT 2;
|
|
||||||
DECLARE vEntryFk INT;
|
DECLARE vEntryFk INT;
|
||||||
DECLARE vHasToChangePackagingFk BOOLEAN;
|
DECLARE vHasToChangePackagingFk BOOLEAN;
|
||||||
DECLARE vIsFloramondoDirect BOOLEAN;
|
DECLARE vIsFloramondoDirect BOOLEAN;
|
||||||
|
@ -150,7 +149,7 @@ proc:BEGIN
|
||||||
@pac := GREATEST(1, IFNULL(i.stemMultiplier, 1) * e.pac / @t) packing,
|
@pac := GREATEST(1, IFNULL(i.stemMultiplier, 1) * e.pac / @t) packing,
|
||||||
IFNULL(b.`grouping`, e.pac),
|
IFNULL(b.`grouping`, e.pac),
|
||||||
@pac * e.qty,
|
@pac * e.qty,
|
||||||
vForceToPacking,
|
'packing',
|
||||||
IF(vHasToChangePackagingFk OR b.packagingFk IS NULL, vPackage, b.packagingFk),
|
IF(vHasToChangePackagingFk OR b.packagingFk IS NULL, vPackage, b.packagingFk),
|
||||||
(IFNULL(i.weightByPiece, 0) * @pac) / 1000
|
(IFNULL(i.weightByPiece, 0) * @pac) / 1000
|
||||||
FROM ekt e
|
FROM ekt e
|
||||||
|
|
|
@ -417,7 +417,7 @@ proc: BEGIN
|
||||||
o.NumberOfUnits etiquetas,
|
o.NumberOfUnits etiquetas,
|
||||||
o.NumberOfItemsPerCask packing,
|
o.NumberOfItemsPerCask packing,
|
||||||
GREATEST(1, IFNULL(o.MinimumQuantity,0)) * o.NumberOfItemsPerCask `grouping`,
|
GREATEST(1, IFNULL(o.MinimumQuantity,0)) * o.NumberOfItemsPerCask `grouping`,
|
||||||
2, -- Obliga al Packing
|
'packing',
|
||||||
o.embalageCode,
|
o.embalageCode,
|
||||||
o.diId
|
o.diId
|
||||||
FROM edi.offer o
|
FROM edi.offer o
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
DELIMITER $$
|
||||||
|
$$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE floranet.catalogue_findById(vSelf INT)
|
||||||
|
READS SQL DATA
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Returns one recordset from catalogue
|
||||||
|
*
|
||||||
|
* @param vCatalogueFk Identifier de floranet.catalogue
|
||||||
|
*/
|
||||||
|
SELECT * FROM catalogue WHERE id = vSelf;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -6,7 +6,7 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.catalogue_get(vLanded DATE,
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
proc:BEGIN
|
proc:BEGIN
|
||||||
/**
|
/**
|
||||||
* Returns list, price and all the stuff regarding the floranet items
|
* Returns list, price and all the stuff regarding the floranet items.
|
||||||
*
|
*
|
||||||
* @param vLanded Delivery date
|
* @param vLanded Delivery date
|
||||||
* @param vPostalCode Delivery address postal code
|
* @param vPostalCode Delivery address postal code
|
||||||
|
|
|
@ -11,7 +11,7 @@ PROCEDURE floranet.contact_request(
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Set actions for contact request.
|
* Set actions for contact request
|
||||||
*
|
*
|
||||||
* @param vPostalCode Delivery address postal code
|
* @param vPostalCode Delivery address postal code
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,7 +6,7 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE `floranet`.`deliveryDate_get`(vPosta
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Returns available dates for this postalCode, in the next seven days
|
* Returns available dates for this postalCode, in the next seven days.
|
||||||
*
|
*
|
||||||
* @param vPostalCode Delivery address postal code
|
* @param vPostalCode Delivery address postal code
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,7 +7,7 @@ CREATE DEFINER=`root`@`localhost`PROCEDURE floranet.order_confirm(vCatalogueFk I
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
/** Update order.isPaid field
|
/** Update order.isPaid field.
|
||||||
*
|
*
|
||||||
* @param vCatalogueFk floranet.catalogue.id
|
* @param vCatalogueFk floranet.catalogue.id
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,41 +1,21 @@
|
||||||
DROP PROCEDURE IF EXISTS floranet.order_put;
|
|
||||||
|
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
$$
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE floranet.order_put(vJsonData JSON)
|
||||||
CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.order_put(vOrder JSON)
|
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Get and process an order
|
* Get and process an order.
|
||||||
*
|
|
||||||
* @param vOrder Data of the order
|
|
||||||
*
|
|
||||||
* Customer data: <customerName>, <email>, <customerPhone>
|
|
||||||
*
|
|
||||||
* Item data: <catalogueFk>, <message>
|
|
||||||
*
|
|
||||||
* Delivery data: <deliveryName>, <address>, <deliveryPhone>
|
|
||||||
*
|
*
|
||||||
|
* @param vJsonData The order data in json format
|
||||||
*/
|
*/
|
||||||
INSERT IGNORE INTO `order`(
|
INSERT INTO `order`
|
||||||
catalogueFk,
|
SET catalogueFk = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.products[0].id')),
|
||||||
customerName,
|
customerName = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.customerName')),
|
||||||
email,
|
email = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.email')),
|
||||||
customerPhone,
|
customerPhone = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.customerPhone')),
|
||||||
message,
|
message= JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.message')),
|
||||||
deliveryName,
|
deliveryName = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.deliveryName')),
|
||||||
address,
|
address = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.address')),
|
||||||
deliveryPhone
|
deliveryPhone = JSON_UNQUOTE(JSON_EXTRACT(vJsonData, '$.customer.customerData.deliveryPhone'));
|
||||||
)
|
|
||||||
VALUES (JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.catalogueFk')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerName')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.email')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerPhone')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.message')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryName')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.address')),
|
|
||||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryPhone'))
|
|
||||||
);
|
|
||||||
|
|
||||||
SELECT LAST_INSERT_ID() orderFk;
|
SELECT LAST_INSERT_ID() orderFk;
|
||||||
END$$
|
END$$
|
||||||
|
|
|
@ -6,7 +6,7 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.sliders_get()
|
||||||
READS SQL DATA
|
READS SQL DATA
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Returns list of url for sliders
|
* Returns list of url for sliders.
|
||||||
*/
|
*/
|
||||||
SELECT
|
SELECT
|
||||||
CONCAT('https://cdn.verdnatura.es/image/catalog/1600x900/', i.image) url,
|
CONCAT('https://cdn.verdnatura.es/image/catalog/1600x900/', i.image) url,
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `hedera`.`order_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 10 SECOND
|
|
||||||
STARTS '2019-08-29 14:18:04.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
DISABLE
|
|
||||||
DO CALL order_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,53 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recalculates modified orders.
|
|
||||||
*/
|
|
||||||
DECLARE vDone BOOL;
|
|
||||||
DECLARE vOrderFk INT;
|
|
||||||
|
|
||||||
DECLARE cCur CURSOR FOR
|
|
||||||
SELECT DISTINCT orderFk FROM tOrder;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
||||||
SET vDone = TRUE;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('hedera.order_doRecalc');
|
|
||||||
ROLLBACK;
|
|
||||||
RESIGNAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('hedera.order_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tOrder;
|
|
||||||
CREATE TEMPORARY TABLE tOrder
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT id, orderFk FROM orderRecalc;
|
|
||||||
|
|
||||||
OPEN cCur;
|
|
||||||
|
|
||||||
myLoop: LOOP
|
|
||||||
SET vDone = FALSE;
|
|
||||||
FETCH cCur INTO vOrderFk;
|
|
||||||
|
|
||||||
IF vDone THEN
|
|
||||||
LEAVE myLoop;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CALL order_recalc(vOrderFk);
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
CLOSE cCur;
|
|
||||||
|
|
||||||
DELETE o FROM orderRecalc o JOIN tOrder t ON t.id = o.id;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tOrder;
|
|
||||||
|
|
||||||
DO RELEASE_LOCK('hedera.order_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,16 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recalculate the order total.
|
|
||||||
*
|
|
||||||
* @param vSelf The order identifier
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- #4409 Disable order recalc
|
|
||||||
-- INSERT INTO orderRecalc SET orderFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,9 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterDelete`
|
|
||||||
AFTER DELETE ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL stock.log_add('orderRow', NULL, OLD.id);
|
|
||||||
CALL order_requestRecalc(OLD.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,9 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterInsert`
|
|
||||||
AFTER INSERT ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL stock.log_add('orderRow', NEW.id, NULL);
|
|
||||||
CALL order_requestRecalc(NEW.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,10 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterUpdate`
|
|
||||||
AFTER UPDATE ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL stock.log_add('orderRow', NEW.id, OLD.id);
|
|
||||||
CALL order_requestRecalc(OLD.orderFk);
|
|
||||||
CALL order_requestRecalc(NEW.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -3,14 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`order_afterUpdate
|
||||||
AFTER UPDATE ON `order`
|
AFTER UPDATE ON `order`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
CALL stock.log_add('order', NEW.id, OLD.id);
|
|
||||||
|
|
||||||
IF !(OLD.address_id <=> NEW.address_id)
|
|
||||||
OR !(OLD.company_id <=> NEW.company_id)
|
|
||||||
OR !(OLD.customer_id <=> NEW.customer_id) THEN
|
|
||||||
CALL order_requestRecalc(NEW.id);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN
|
IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN
|
||||||
-- Fallo que se actualiza no se sabe como tickets en este cliente
|
-- Fallo que se actualiza no se sabe como tickets en este cliente
|
||||||
CALL vn.mail_insert(
|
CALL vn.mail_insert(
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_add`(IN `vTableName` VARCHAR(255), IN `vNewId` VARCHAR(255), IN `vOldId` VARCHAR(255))
|
|
||||||
proc: BEGIN
|
|
||||||
-- XXX: Disabled while testing
|
|
||||||
LEAVE proc;
|
|
||||||
|
|
||||||
IF vOldId IS NOT NULL AND !(vOldId <=> vNewId) THEN
|
|
||||||
INSERT IGNORE INTO `log` SET
|
|
||||||
tableName = vTableName,
|
|
||||||
tableId = vOldId,
|
|
||||||
operation = 'delete';
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF vNewId IS NOT NULL THEN
|
|
||||||
INSERT IGNORE INTO `log` SET
|
|
||||||
tableName = vTableName,
|
|
||||||
tableId = vNewId,
|
|
||||||
operation = 'insert';
|
|
||||||
END IF;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`binlogQueue_getDelay`(vCode VARCHAR(255))
|
||||||
|
RETURNS BIGINT
|
||||||
|
READS SQL DATA
|
||||||
|
NOT DETERMINISTIC
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Returns the difference between the current position of the binary log and
|
||||||
|
* the passed queue.
|
||||||
|
*
|
||||||
|
* @param vCode The queue code
|
||||||
|
* @return The difference in MB
|
||||||
|
*/
|
||||||
|
DECLARE vCurLogName VARCHAR(255);
|
||||||
|
DECLARE vCurPosition BIGINT;
|
||||||
|
DECLARE vQueueLogName VARCHAR(255);
|
||||||
|
DECLARE vQueuePosition BIGINT;
|
||||||
|
DECLARE vDelay BIGINT;
|
||||||
|
|
||||||
|
SELECT VARIABLE_VALUE INTO vCurLogName
|
||||||
|
FROM information_schema.GLOBAL_STATUS
|
||||||
|
WHERE VARIABLE_NAME = 'BINLOG_SNAPSHOT_FILE';
|
||||||
|
|
||||||
|
SELECT VARIABLE_VALUE INTO vCurPosition
|
||||||
|
FROM information_schema.GLOBAL_STATUS
|
||||||
|
WHERE VARIABLE_NAME = 'BINLOG_SNAPSHOT_POSITION';
|
||||||
|
|
||||||
|
SELECT logName, `position`
|
||||||
|
INTO vQueueLogName, vQueuePosition
|
||||||
|
FROM binlogQueue
|
||||||
|
WHERE code = vCode;
|
||||||
|
|
||||||
|
IF vQueuePosition IS NULL THEN
|
||||||
|
RETURN NULL;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SET vDelay =
|
||||||
|
vCurPosition - CAST(vQueuePosition AS SIGNED) +
|
||||||
|
@@max_binlog_size * (
|
||||||
|
CAST(REGEXP_SUBSTR(vCurLogName, '[0-9]+') AS SIGNED) -
|
||||||
|
CAST(REGEXP_SUBSTR(vQueueLogName, '[0-9]+') AS SIGNED)
|
||||||
|
);
|
||||||
|
|
||||||
|
RETURN ROUND(vDelay / POW(1024, 2));
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,5 +1,5 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn2008`.`raidUpdate`
|
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`raidUpdate`
|
||||||
ON SCHEDULE EVERY 1 DAY
|
ON SCHEDULE EVERY 1 DAY
|
||||||
STARTS '2017-12-29 00:05:00.000'
|
STARTS '2017-12-29 00:05:00.000'
|
||||||
ON COMPLETION PRESERVE
|
ON COMPLETION PRESERVE
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`ticket_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 10 SECOND
|
|
||||||
STARTS '2022-01-28 09:29:18.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
ENABLE
|
|
||||||
DO CALL ticket_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`travel_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 15 SECOND
|
|
||||||
STARTS '2019-05-17 10:52:29.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
ENABLE
|
|
||||||
DO CALL travel_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -11,9 +11,9 @@ BEGIN
|
||||||
SELECT
|
SELECT
|
||||||
a.Vista
|
a.Vista
|
||||||
INTO vDeliveryType
|
INTO vDeliveryType
|
||||||
FROM vn2008.Tickets t
|
FROM ticket t
|
||||||
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
JOIN vn2008.Agencias a ON a.Id_Agencia = t.agencyModeFk
|
||||||
WHERE Id_Ticket = vTicket;
|
WHERE t.id = vTicket;
|
||||||
|
|
||||||
CASE vDeliveryType
|
CASE vDeliveryType
|
||||||
WHEN 1 THEN -- AGENCIAS
|
WHEN 1 THEN -- AGENCIAS
|
||||||
|
@ -23,11 +23,11 @@ BEGIN
|
||||||
SET vCode = 'ON_DELIVERY';
|
SET vCode = 'ON_DELIVERY';
|
||||||
|
|
||||||
ELSE -- MERCADO, OTROS
|
ELSE -- MERCADO, OTROS
|
||||||
SELECT t.warehouse_id <> w.warehouse_id INTO isWaitingForPickUp
|
SELECT t.warehouseFk <> w.warehouse_id INTO isWaitingForPickUp
|
||||||
FROM vn2008.Tickets t
|
FROM ticket t
|
||||||
LEFT JOIN vn2008.warehouse_pickup w
|
LEFT JOIN vn2008.warehouse_pickup w
|
||||||
ON w.agency_id = t.Id_Agencia AND w.warehouse_id = t.warehouse_id
|
ON w.agency_id = t.agencyModeFk AND w.warehouse_id = t.warehouseFk
|
||||||
WHERE t.Id_Ticket = vTicket;
|
WHERE t.id = vTicket;
|
||||||
|
|
||||||
IF isWaitingForPickUp THEN
|
IF isWaitingForPickUp THEN
|
||||||
SET vCode = 'WAITING_FOR_PICKUP';
|
SET vCode = 'WAITING_FOR_PICKUP';
|
||||||
|
|
|
@ -28,10 +28,10 @@ SELECT t.routeFk, t.warehouseFk, IFNULL(ts.productionOrder,0)
|
||||||
|
|
||||||
SELECT (ag.`name` = 'VN_VALENCIA')
|
SELECT (ag.`name` = 'VN_VALENCIA')
|
||||||
INTO vIsValenciaPath
|
INTO vIsValenciaPath
|
||||||
FROM vn2008.Rutas r
|
FROM `route` r
|
||||||
JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia
|
JOIN vn2008.Agencias a on a.Id_Agencia = r.agencyModeFk
|
||||||
JOIN vn2008.agency ag on ag.agency_id = a.agency_id
|
JOIN vn2008.agency ag on ag.agency_id = a.agency_id
|
||||||
WHERE r.Id_Ruta = vMyPath;
|
WHERE r.id = vMyPath;
|
||||||
|
|
||||||
IF vIsValenciaPath THEN -- Rutas Valencia
|
IF vIsValenciaPath THEN -- Rutas Valencia
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ BEGIN
|
||||||
IF(i.hasMinPrice, GREATEST(i.minPrice,IFNULL(pf.rate3, b.price3)),IFNULL(pf.rate3, b.price3)) rate3,
|
IF(i.hasMinPrice, GREATEST(i.minPrice,IFNULL(pf.rate3, b.price3)),IFNULL(pf.rate3, b.price3)) rate3,
|
||||||
IFNULL(pf.packing, GREATEST(b.grouping, b.packing)) packing,
|
IFNULL(pf.packing, GREATEST(b.grouping, b.packing)) packing,
|
||||||
IFNULL(pf.`grouping`, b.`grouping`) `grouping`,
|
IFNULL(pf.`grouping`, b.`grouping`) `grouping`,
|
||||||
ABS(IFNULL(pf.box, b.groupingMode)) groupingMode,
|
b.groupingMode groupingMode,
|
||||||
tl.buyFk,
|
tl.buyFk,
|
||||||
i.typeFk,
|
i.typeFk,
|
||||||
IF(i.hasKgPrice, b.weight / b.packing, NULL) weightGrouping
|
IF(i.hasKgPrice, b.weight / b.packing, NULL) weightGrouping
|
||||||
|
@ -252,14 +252,15 @@ BEGIN
|
||||||
SELECT tcc.warehouseFk,
|
SELECT tcc.warehouseFk,
|
||||||
tcc.itemFk,
|
tcc.itemFk,
|
||||||
1 rate,
|
1 rate,
|
||||||
IF(tcc.groupingMode = 1, tcc.`grouping`, 1) `grouping`,
|
IF(tcc.groupingMode = 'grouping', tcc.`grouping`, 1) `grouping`,
|
||||||
CAST(SUM(tcs.sumCost) AS DECIMAL(10,2)) price,
|
CAST(SUM(tcs.sumCost) AS DECIMAL(10,2)) price,
|
||||||
CAST(SUM(tcs.sumCost) AS DECIMAL(10,2)) / weightGrouping priceKg
|
CAST(SUM(tcs.sumCost) AS DECIMAL(10,2)) / weightGrouping priceKg
|
||||||
FROM tmp.ticketComponentCalculate tcc
|
FROM tmp.ticketComponentCalculate tcc
|
||||||
JOIN tmp.ticketComponentSum tcs ON tcs.itemFk = tcc.itemFk
|
JOIN tmp.ticketComponentSum tcs ON tcs.itemFk = tcc.itemFk
|
||||||
AND tcs.warehouseFk = tcc.warehouseFk
|
AND tcs.warehouseFk = tcc.warehouseFk
|
||||||
WHERE IFNULL(tcs.classRate, 1) = 1
|
WHERE IFNULL(tcs.classRate, 1) = 1
|
||||||
AND tcc.groupingMode < 2 AND (tcc.packing > tcc.`grouping` or tcc.groupingMode = 0)
|
AND NOT tcc.groupingMode = 'packing'
|
||||||
|
AND (tcc.packing > tcc.`grouping` OR tcc.groupingMode IS NULL)
|
||||||
GROUP BY tcs.warehouseFk, tcs.itemFk;
|
GROUP BY tcs.warehouseFk, tcs.itemFk;
|
||||||
|
|
||||||
INSERT INTO tmp.ticketComponentRate (warehouseFk, itemFk, rate, `grouping`, price, priceKg)
|
INSERT INTO tmp.ticketComponentRate (warehouseFk, itemFk, rate, `grouping`, price, priceKg)
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`client_getRisk`(
|
||||||
|
vDate DATE
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Retorna el riesgo de los clientes activos.
|
||||||
|
*
|
||||||
|
* @param vDate Fecha a calcular
|
||||||
|
*/
|
||||||
|
CREATE OR REPLACE TEMPORARY TABLE tmp.clientGetDebt
|
||||||
|
(PRIMARY KEY (clientFk))
|
||||||
|
ENGINE = MEMORY
|
||||||
|
SELECT id clientFk
|
||||||
|
FROM client
|
||||||
|
WHERE isActive;
|
||||||
|
|
||||||
|
CALL client_getDebt(vDate);
|
||||||
|
|
||||||
|
SELECT c.socialName,
|
||||||
|
r.clientFk,
|
||||||
|
c.credit,
|
||||||
|
CAST(r.risk AS DECIMAL (10,2)) risk,
|
||||||
|
CAST(c.credit - r.risk AS DECIMAL (10,2)) difference,
|
||||||
|
co.country
|
||||||
|
FROM client c
|
||||||
|
JOIN tmp.risk r ON r.clientFk = c.id
|
||||||
|
JOIN country co ON co.id = c.countryFk
|
||||||
|
GROUP BY c.id;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE
|
||||||
|
tmp.risk,
|
||||||
|
tmp.clientGetDebt;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -40,8 +40,8 @@ BEGIN
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
SELECT b.itemFk,
|
SELECT b.itemFk,
|
||||||
CASE b.groupingMode
|
CASE b.groupingMode
|
||||||
WHEN 0 THEN 1
|
WHEN NULL THEN 1
|
||||||
WHEN 2 THEN b.packing
|
WHEN 'packing' THEN b.packing
|
||||||
ELSE b.`grouping`
|
ELSE b.`grouping`
|
||||||
END `grouping`
|
END `grouping`
|
||||||
FROM buy b
|
FROM buy b
|
||||||
|
|
|
@ -46,7 +46,7 @@ BEGIN
|
||||||
WHERE workerFk = vUserFk;
|
WHERE workerFk = vUserFk;
|
||||||
|
|
||||||
SET vLockName = CONCAT_WS('/',
|
SET vLockName = CONCAT_WS('/',
|
||||||
'collection_assign',
|
vLockName,
|
||||||
vWarehouseFk,
|
vWarehouseFk,
|
||||||
vItemPackingTypeFk
|
vItemPackingTypeFk
|
||||||
);
|
);
|
||||||
|
|
|
@ -63,7 +63,8 @@ BEGIN
|
||||||
o.numberOfWagons,
|
o.numberOfWagons,
|
||||||
o.trainFk,
|
o.trainFk,
|
||||||
o.linesLimit,
|
o.linesLimit,
|
||||||
o.volumeLimit
|
o.volumeLimit,
|
||||||
|
pc.collection_new_lockname
|
||||||
INTO vMaxTickets,
|
INTO vMaxTickets,
|
||||||
vHasUniqueCollectionTime,
|
vHasUniqueCollectionTime,
|
||||||
vWorkerCode,
|
vWorkerCode,
|
||||||
|
@ -73,14 +74,15 @@ BEGIN
|
||||||
vWagons,
|
vWagons,
|
||||||
vTrainFk,
|
vTrainFk,
|
||||||
vLinesLimit,
|
vLinesLimit,
|
||||||
vVolumeLimit
|
vVolumeLimit,
|
||||||
|
vLockName
|
||||||
FROM productionConfig pc
|
FROM productionConfig pc
|
||||||
JOIN worker w ON w.id = vUserFk
|
JOIN worker w ON w.id = vUserFk
|
||||||
JOIN state st ON st.`code` = 'ON_PREPARATION'
|
JOIN state st ON st.`code` = 'ON_PREPARATION'
|
||||||
JOIN operator o ON o.workerFk = vUserFk;
|
JOIN operator o ON o.workerFk = vUserFk;
|
||||||
|
|
||||||
SET vLockName = CONCAT_WS('/',
|
SET vLockName = CONCAT_WS('/',
|
||||||
'collection_new',
|
vLockName,
|
||||||
vWarehouseFk,
|
vWarehouseFk,
|
||||||
vItemPackingTypeFk
|
vItemPackingTypeFk
|
||||||
);
|
);
|
||||||
|
|
|
@ -2,24 +2,23 @@ DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditInsurance_getRisk`()
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditInsurance_getRisk`()
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Devuelve el riesgo de los clientes que estan asegurados
|
* Devuelve el riesgo de los clientes que estan asegurados
|
||||||
*/
|
*/
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.client_list
|
CREATE OR REPLACE TEMPORARY TABLE tmp.clientGetDebt
|
||||||
(PRIMARY KEY (Id_Cliente))
|
(PRIMARY KEY (clientFk))
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
SELECT * FROM (
|
SELECT * FROM (
|
||||||
SELECT cc.client Id_Cliente, ci.grade
|
SELECT cc.client clientFk, ci.grade
|
||||||
FROM creditClassification cc
|
FROM creditClassification cc
|
||||||
JOIN creditInsurance ci ON cc.id = ci.creditClassification
|
JOIN creditInsurance ci ON cc.id = ci.creditClassification
|
||||||
WHERE dateEnd IS NULL
|
WHERE dateEnd IS NULL
|
||||||
ORDER BY ci.creationDate DESC
|
ORDER BY ci.creationDate DESC
|
||||||
LIMIT 10000000000000000000) t1
|
LIMIT 10000000000000000000) t1
|
||||||
GROUP BY Id_Cliente;
|
GROUP BY clientFk;
|
||||||
|
|
||||||
CALL vn2008.risk_vs_client_list(util.VN_CURDATE());
|
CALL client_getDebt(util.VN_CURDATE());
|
||||||
|
|
||||||
SELECT
|
SELECT c.id,
|
||||||
c.id,
|
|
||||||
c.name,
|
c.name,
|
||||||
c.credit clientCredit,
|
c.credit clientCredit,
|
||||||
c.creditInsurance solunion,
|
c.creditInsurance solunion,
|
||||||
|
@ -27,16 +26,17 @@ BEGIN
|
||||||
CAST(c.creditInsurance - r.risk AS DECIMAL(10,0)) riskAlive,
|
CAST(c.creditInsurance - r.risk AS DECIMAL(10,0)) riskAlive,
|
||||||
cac.invoiced billedAnnually,
|
cac.invoiced billedAnnually,
|
||||||
c.dueDay,
|
c.dueDay,
|
||||||
ci.grade,
|
cgd.grade,
|
||||||
c2.country
|
c2.country
|
||||||
FROM tmp.client_list ci
|
FROM tmp.clientGetDebt cgd
|
||||||
LEFT JOIN tmp.risk r ON r.Id_Cliente = ci.Id_Cliente
|
LEFT JOIN tmp.risk r ON r.clientFk = cgd.clientFk
|
||||||
JOIN client c ON c.id = ci.Id_Cliente
|
JOIN client c ON c.id = cgd.clientFk
|
||||||
JOIN bs.clientAnnualConsumption cac ON c.id = cac.clientFk
|
JOIN bs.clientAnnualConsumption cac ON c.id = cac.clientFk
|
||||||
JOIN country c2 ON c2.id = c.countryFk
|
JOIN country c2 ON c2.id = c.countryFk
|
||||||
GROUP BY c.id;
|
GROUP BY c.id;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.risk;
|
DROP TEMPORARY TABLE
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.client_list;
|
tmp.risk,
|
||||||
|
tmp.clientGetDebt;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
|
@ -0,0 +1,54 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditRecovery`()
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Actualiza el crédito de los clientes
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE EXIT HANDLER FOR SQLSTATE '45000'
|
||||||
|
BEGIN
|
||||||
|
ROLLBACK;
|
||||||
|
RESIGNAL;
|
||||||
|
END;
|
||||||
|
|
||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
|
UPDATE `client` c
|
||||||
|
JOIN payMethod pm ON pm.id = c.payMethodFk
|
||||||
|
SET c.credit = 0
|
||||||
|
WHERE pm.`code` = 'card';
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS tCreditClients;
|
||||||
|
CREATE TEMPORARY TABLE tCreditClients
|
||||||
|
SELECT clientFk, IF(credit > recovery, credit - recovery, 0) newCredit
|
||||||
|
FROM (
|
||||||
|
SELECT r.clientFk,
|
||||||
|
r.amount recovery,
|
||||||
|
(sub2.created + INTERVAL r.period DAY) deadLine,
|
||||||
|
sub2.amount credit
|
||||||
|
FROM recovery r
|
||||||
|
JOIN (
|
||||||
|
SELECT clientFk, amount, created
|
||||||
|
FROM (
|
||||||
|
SELECT clientFk, amount, created
|
||||||
|
FROM clientCredit
|
||||||
|
ORDER BY created DESC
|
||||||
|
LIMIT 10000000000000000000
|
||||||
|
) sub
|
||||||
|
GROUP BY clientFk
|
||||||
|
) sub2 ON sub2.clientFk = r.clientFk
|
||||||
|
WHERE r.finished IS NULL OR r.finished >= util.VN_CURDATE()
|
||||||
|
GROUP BY r.clientFk
|
||||||
|
HAVING deadLine <= util.VN_CURDATE()
|
||||||
|
) sub3
|
||||||
|
WHERE credit > 0;
|
||||||
|
|
||||||
|
UPDATE client c
|
||||||
|
JOIN tCreditClients cc ON cc.clientFk = c.id
|
||||||
|
SET c.credit = newCredit;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE tCreditClients;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -116,7 +116,7 @@ BEGIN
|
||||||
freightValue decimal(10,3) DEFAULT '0.000',
|
freightValue decimal(10,3) DEFAULT '0.000',
|
||||||
packing int(11) DEFAULT '1',
|
packing int(11) DEFAULT '1',
|
||||||
`grouping` smallint(5) unsigned NOT NULL DEFAULT '1',
|
`grouping` smallint(5) unsigned NOT NULL DEFAULT '1',
|
||||||
groupingMode tinyint(4) NOT NULL DEFAULT 0 ,
|
groupingMode enum('grouping', 'packing') DEFAULT NULL,
|
||||||
comissionValue decimal(10,3) DEFAULT '0.000',
|
comissionValue decimal(10,3) DEFAULT '0.000',
|
||||||
packageValue decimal(10,3) DEFAULT '0.000',
|
packageValue decimal(10,3) DEFAULT '0.000',
|
||||||
packageFk varchar(10) COLLATE utf8_unicode_ci DEFAULT '--',
|
packageFk varchar(10) COLLATE utf8_unicode_ci DEFAULT '--',
|
||||||
|
|
|
@ -8,12 +8,15 @@ BEGIN
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS `tmp`.`ticketToInvoice`;
|
DROP TEMPORARY TABLE IF EXISTS `tmp`.`ticketToInvoice`;
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE `tmp.``ticketToInvoice`
|
CREATE TEMPORARY TABLE `tmp`.`ticketToInvoice`
|
||||||
(PRIMARY KEY (`id`))
|
(PRIMARY KEY (`id`))
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
SELECT Id_Ticket id FROM vn2008.Tickets WHERE (Fecha BETWEEN vMinDateTicket
|
SELECT id
|
||||||
AND vMaxTicketDate) AND Id_Consigna = vAddress
|
FROM ticket
|
||||||
AND Factura IS NULL AND empresa_id = vCompany;
|
WHERE (shipped BETWEEN vMinDateTicket AND vMaxTicketDate)
|
||||||
|
AND addressFk = vAddress
|
||||||
|
AND refFk IS NULL
|
||||||
|
AND companyFk = vCompany;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -10,6 +10,8 @@ BEGIN
|
||||||
DECLARE vLines INT;
|
DECLARE vLines INT;
|
||||||
DECLARE vHasDistinctTransactions INT;
|
DECLARE vHasDistinctTransactions INT;
|
||||||
|
|
||||||
|
CALL invoiceIn_checkBooked(vInvoiceInFk);
|
||||||
|
|
||||||
SELECT taxRowLimit INTO vTaxRowLimit FROM invoiceInConfig;
|
SELECT taxRowLimit INTO vTaxRowLimit FROM invoiceInConfig;
|
||||||
|
|
||||||
SELECT COUNT(*) INTO vLines
|
SELECT COUNT(*) INTO vLines
|
||||||
|
|
|
@ -4,15 +4,8 @@ BEGIN
|
||||||
DECLARE vRate DOUBLE DEFAULT 1;
|
DECLARE vRate DOUBLE DEFAULT 1;
|
||||||
DECLARE vDated DATE;
|
DECLARE vDated DATE;
|
||||||
DECLARE vExpenseFk VARCHAR(10);
|
DECLARE vExpenseFk VARCHAR(10);
|
||||||
DECLARE vIsBooked BOOLEAN DEFAULT FALSE;
|
|
||||||
|
|
||||||
SELECT isBooked INTO vIsBooked
|
CALL invoiceIn_checkBooked(vInvoiceInFk);
|
||||||
FROM invoiceIn ii
|
|
||||||
WHERE id = vInvoiceInFk;
|
|
||||||
|
|
||||||
IF vIsBooked THEN
|
|
||||||
CALL util.throw('A booked invoice cannot be modified');
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
SELECT MAX(rr.dated) INTO vDated
|
SELECT MAX(rr.dated) INTO vDated
|
||||||
FROM referenceRate rr
|
FROM referenceRate rr
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`invoiceIn_checkBooked`(
|
||||||
|
vSelf INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Comprueba si una factura recibida está contabilizada,
|
||||||
|
* y si lo está retorna un throw.
|
||||||
|
*
|
||||||
|
* @param vSelf Id invoiceIn
|
||||||
|
*/
|
||||||
|
DECLARE vIsBooked BOOL;
|
||||||
|
|
||||||
|
SELECT isBooked INTO vIsBooked
|
||||||
|
FROM invoiceIn
|
||||||
|
WHERE id = vSelf;
|
||||||
|
|
||||||
|
IF vIsBooked THEN
|
||||||
|
CALL util.throw('InvoiceIn is already booked');
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -61,8 +61,8 @@ BEGIN
|
||||||
a.available,
|
a.available,
|
||||||
IFNULL(ip.counter, 0) `counter`,
|
IFNULL(ip.counter, 0) `counter`,
|
||||||
CASE
|
CASE
|
||||||
WHEN b.groupingMode = 1 THEN b.grouping
|
WHEN b.groupingMode = 'grouping' THEN b.grouping
|
||||||
WHEN b.groupingMode = 2 THEN b.packing
|
WHEN b.groupingMode = 'packing' THEN b.packing
|
||||||
ELSE 1
|
ELSE 1
|
||||||
END AS minQuantity,
|
END AS minQuantity,
|
||||||
iss.visible located,
|
iss.visible located,
|
||||||
|
|
|
@ -13,6 +13,7 @@ BEGIN
|
||||||
* @param vQuantity a dar de alta/baja
|
* @param vQuantity a dar de alta/baja
|
||||||
* @param vAddressFk id address
|
* @param vAddressFk id address
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DECLARE vTicketFk INT;
|
DECLARE vTicketFk INT;
|
||||||
DECLARE vClientFk INT;
|
DECLARE vClientFk INT;
|
||||||
DECLARE vDefaultCompanyFk INT;
|
DECLARE vDefaultCompanyFk INT;
|
||||||
|
@ -33,7 +34,7 @@ BEGIN
|
||||||
|
|
||||||
SELECT a.clientFk INTO vClientFk
|
SELECT a.clientFk INTO vClientFk
|
||||||
FROM address a
|
FROM address a
|
||||||
WHERE a.id = vAddressFk;
|
WHERE a.id = vAddressShortage;
|
||||||
|
|
||||||
SELECT t.id INTO vTicketFk
|
SELECT t.id INTO vTicketFk
|
||||||
FROM ticket t
|
FROM ticket t
|
||||||
|
@ -65,7 +66,7 @@ BEGIN
|
||||||
INSERT INTO sale(ticketFk, itemFk, concept, quantity)
|
INSERT INTO sale(ticketFk, itemFk, concept, quantity)
|
||||||
SELECT vTicketFk,
|
SELECT vTicketFk,
|
||||||
vItemFk,
|
vItemFk,
|
||||||
CONCAT(longName,' ', worker_getCode(), ' ', LEFT(CAST(util.VN_NOW() AS TIME),5)),
|
name,
|
||||||
vQuantity
|
vQuantity
|
||||||
FROM item
|
FROM item
|
||||||
WHERE id = vItemFk;
|
WHERE id = vItemFk;
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`raidUpdate`()
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Actualiza el travel de las entradas de redadas
|
||||||
|
*/
|
||||||
|
UPDATE entry e
|
||||||
|
JOIN entryVirtual ev ON ev.entryFk = e.id
|
||||||
|
JOIN travel t ON t.id = e.travelFk
|
||||||
|
JOIN (
|
||||||
|
SELECT *
|
||||||
|
FROM (
|
||||||
|
SELECT t.id, t.landed, tt.warehouseInFk, tt.warehouseOutFk
|
||||||
|
FROM travel t
|
||||||
|
JOIN (
|
||||||
|
SELECT t.warehouseInFk, t.warehouseOutFk
|
||||||
|
FROM entryVirtual ev
|
||||||
|
JOIN entry e ON e.id = ev.entryFk
|
||||||
|
JOIN travel t ON t.id = e.travelFk
|
||||||
|
GROUP BY t.warehouseInFk, t.warehouseOutFk
|
||||||
|
) tt ON t.warehouseInFk = tt.warehouseInFk AND t.warehouseOutFk = tt.warehouseOutFk
|
||||||
|
WHERE shipped > util.VN_CURDATE() AND NOT isDelivered
|
||||||
|
ORDER BY t.landed
|
||||||
|
LIMIT 10000000000000000000
|
||||||
|
) t
|
||||||
|
GROUP BY t.warehouseInFk, t.warehouseOutFk
|
||||||
|
) tt ON t.warehouseInFk = tt.warehouseInFk AND t.warehouseOutFk = tt.warehouseOutFk
|
||||||
|
SET e.travelFk = t.id;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,38 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`rateView`()
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Muestra información sobre tasas de cambio de Dolares
|
||||||
|
*/
|
||||||
|
SELECT
|
||||||
|
t.year año,
|
||||||
|
t.month mes,
|
||||||
|
pay.dollars dolares,
|
||||||
|
pay.changePractical cambioPractico,
|
||||||
|
CAST(SUM(iit.foreignValue ) / SUM(iit.taxableBase) AS DECIMAL(5,4))cambioTeorico,
|
||||||
|
pay.changeOfficial cambioOficial
|
||||||
|
FROM invoiceIn ii
|
||||||
|
JOIN time t ON t.dated = ii.issued
|
||||||
|
JOIN invoiceInTax iit ON ii.id = iit.invoiceInFk
|
||||||
|
JOIN
|
||||||
|
( SELECT
|
||||||
|
t.year,
|
||||||
|
t.month,
|
||||||
|
CAST(SUM(p.divisa) AS DECIMAL(10,2)) dollars,
|
||||||
|
CAST(SUM(p.divisa) / SUM(p.amount) AS DECIMAL(5,4)) changePractical,
|
||||||
|
CAST(rr.value * 0.998 AS DECIMAL(5,4)) changeOfficial
|
||||||
|
FROM payment p
|
||||||
|
JOIN time t ON t.dated = p.received
|
||||||
|
JOIN referenceRate rr ON rr.dated = p.received
|
||||||
|
JOIN currency c ON c.id = rr.currencyFk
|
||||||
|
WHERE p.divisa
|
||||||
|
AND c.code = 'USD'
|
||||||
|
GROUP BY t.year, t.month
|
||||||
|
) pay ON t.year = pay.year AND t.month = pay.month
|
||||||
|
JOIN currency c ON c.id = ii.currencyFk
|
||||||
|
WHERE c.code = 'USD'
|
||||||
|
AND iit.foreignValue
|
||||||
|
AND iit.taxableBase
|
||||||
|
GROUP BY t.year, t.month;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,29 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`riskAllClients`(maxRiskDate DATE)
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.client_list;
|
|
||||||
CREATE TEMPORARY TABLE tmp.client_list
|
|
||||||
(PRIMARY KEY (Id_Cliente))
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT id Id_Cliente, null grade FROM vn.client;
|
|
||||||
|
|
||||||
CALL vn2008.risk_vs_client_list(maxRiskDate);
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
c.RazonSocial,
|
|
||||||
c.Id_Cliente,
|
|
||||||
c.Credito,
|
|
||||||
CAST(r.risk as DECIMAL (10,2)) risk,
|
|
||||||
CAST(c.Credito - r.risk as DECIMAL (10,2)) Diferencia,
|
|
||||||
c.Id_Pais
|
|
||||||
FROM
|
|
||||||
vn2008.Clientes c
|
|
||||||
JOIN tmp.risk r ON r.Id_Cliente = c.Id_Cliente
|
|
||||||
JOIN tmp.client_list ci ON c.Id_Cliente = ci.Id_Cliente
|
|
||||||
GROUP BY c.Id_cliente;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.risk;
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.client_list;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -13,7 +13,7 @@ BEGIN
|
||||||
DECLARE vWarehouseFk SMALLINT;
|
DECLARE vWarehouseFk SMALLINT;
|
||||||
DECLARE vDate DATE;
|
DECLARE vDate DATE;
|
||||||
DECLARE vGrouping INT;
|
DECLARE vGrouping INT;
|
||||||
DECLARE vGroupingModeFk INT;
|
DECLARE vGroupingMode VARCHAR(255);
|
||||||
DECLARE vPacking INT;
|
DECLARE vPacking INT;
|
||||||
DECLARE vRoundQuantity INT DEFAULT 1;
|
DECLARE vRoundQuantity INT DEFAULT 1;
|
||||||
DECLARE vLanded DATE;
|
DECLARE vLanded DATE;
|
||||||
|
@ -23,8 +23,6 @@ BEGIN
|
||||||
DECLARE vOldPrice DECIMAL(10,2);
|
DECLARE vOldPrice DECIMAL(10,2);
|
||||||
DECLARE vOption VARCHAR(255);
|
DECLARE vOption VARCHAR(255);
|
||||||
DECLARE vNewSaleFk INT;
|
DECLARE vNewSaleFk INT;
|
||||||
DECLARE vForceToGrouping INT DEFAULT 1;
|
|
||||||
DECLARE vForceToPacking INT DEFAULT 2;
|
|
||||||
DECLARE vFinalPrice DECIMAL(10,2);
|
DECLARE vFinalPrice DECIMAL(10,2);
|
||||||
|
|
||||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
||||||
|
@ -58,15 +56,15 @@ BEGIN
|
||||||
CALL buyUltimate(vWarehouseFk, vDate);
|
CALL buyUltimate(vWarehouseFk, vDate);
|
||||||
|
|
||||||
SELECT `grouping`, groupingMode, packing
|
SELECT `grouping`, groupingMode, packing
|
||||||
INTO vGrouping,vGroupingModeFk,vPacking
|
INTO vGrouping,vGroupingMode,vPacking
|
||||||
FROM buy b
|
FROM buy b
|
||||||
JOIN tmp.buyUltimate tmp ON b.id = tmp.buyFk
|
JOIN tmp.buyUltimate tmp ON b.id = tmp.buyFk
|
||||||
WHERE tmp.itemFk = vNewItemFk AND tmp.WarehouseFk = vWarehouseFk;
|
WHERE tmp.itemFk = vNewItemFk AND tmp.WarehouseFk = vWarehouseFk;
|
||||||
|
|
||||||
IF vGroupingModeFk = vForceToPacking AND vPacking > 0 THEN
|
IF vGroupingMode = 'packing' AND vPacking > 0 THEN
|
||||||
SET vRoundQuantity = vPacking;
|
SET vRoundQuantity = vPacking;
|
||||||
END IF;
|
END IF;
|
||||||
IF vGroupingModeFk = vForceToGrouping AND vGrouping > 0 THEN
|
IF vGroupingMode = 'grouping' AND vGrouping > 0 THEN
|
||||||
SET vRoundQuantity = vGrouping;
|
SET vRoundQuantity = vGrouping;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recalculates modified ticket.
|
|
||||||
*/
|
|
||||||
DECLARE vDone BOOL;
|
|
||||||
DECLARE vTicketFk INT;
|
|
||||||
|
|
||||||
DECLARE cCur CURSOR FOR
|
|
||||||
SELECT DISTINCT ticketFk FROM tTicket;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
||||||
SET vDone = TRUE;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
ROLLBACK;
|
|
||||||
RESIGNAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('vn.ticket_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tTicket;
|
|
||||||
CREATE TEMPORARY TABLE tTicket
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT id, ticketFk FROM ticketRecalc;
|
|
||||||
|
|
||||||
OPEN cCur;
|
|
||||||
|
|
||||||
myLoop: LOOP
|
|
||||||
SET vDone = FALSE;
|
|
||||||
FETCH cCur INTO vTicketFk;
|
|
||||||
|
|
||||||
IF vDone THEN
|
|
||||||
LEAVE myLoop;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CALL ticket_recalc(vTicketFk, NULL);
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
CLOSE cCur;
|
|
||||||
|
|
||||||
DELETE tr FROM ticketRecalc tr JOIN tTicket t ON tr.id = t.id;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tTicket;
|
|
||||||
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_recalcByScope`(
|
||||||
|
vScope VARCHAR(255),
|
||||||
|
vId INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Recalculates tickets in an scope.
|
||||||
|
*
|
||||||
|
* @param vScope The scope name
|
||||||
|
* @param vId The scope id
|
||||||
|
*/
|
||||||
|
DECLARE vDone BOOL;
|
||||||
|
DECLARE vTicketFk INT;
|
||||||
|
|
||||||
|
DECLARE cTickets CURSOR FOR
|
||||||
|
SELECT id FROM ticket
|
||||||
|
WHERE refFk IS NULL
|
||||||
|
AND ((vScope = 'client' AND clientFk = vId)
|
||||||
|
OR (vScope = 'address' AND addressFk = vId));
|
||||||
|
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
||||||
|
SET vDone = TRUE;
|
||||||
|
|
||||||
|
OPEN cTickets;
|
||||||
|
|
||||||
|
myLoop: LOOP
|
||||||
|
SET vDone = FALSE;
|
||||||
|
FETCH cTickets INTO vTicketFk;
|
||||||
|
|
||||||
|
IF vDone THEN
|
||||||
|
LEAVE myLoop;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CALL ticket_recalc(vTicketFk, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
CLOSE cTickets;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,15 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recalculate the ticket total.
|
|
||||||
*
|
|
||||||
* @param vSelf The ticket identifier
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
INSERT INTO ticketRecalc SET ticketFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,34 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recounts the number of entries of changed travels.
|
|
||||||
*/
|
|
||||||
DECLARE vTravelFk INT;
|
|
||||||
|
|
||||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('vn.travel_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tTravel
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT travelFk FROM travelRecalc;
|
|
||||||
|
|
||||||
UPDATE travel t
|
|
||||||
JOIN tTravel tt ON tt.travelFk = t.id
|
|
||||||
SET t.totalEntries = (
|
|
||||||
SELECT COUNT(e.id)
|
|
||||||
FROM entry e
|
|
||||||
WHERE e.travelFk = t.id
|
|
||||||
);
|
|
||||||
|
|
||||||
DELETE tr FROM travelRecalc tr JOIN tTravel t ON tr.travelFk = t.travelFk;
|
|
||||||
DROP TEMPORARY TABLE tTravel;
|
|
||||||
DO RELEASE_LOCK('vn.travel_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_recalc`(vSelf INT)
|
||||||
|
proc: BEGIN
|
||||||
|
/**
|
||||||
|
* Updates the number of entries assigned to the travel.
|
||||||
|
*
|
||||||
|
* @param vSelf The travel id
|
||||||
|
*/
|
||||||
|
UPDATE travel
|
||||||
|
SET totalEntries = (
|
||||||
|
SELECT COUNT(id)
|
||||||
|
FROM entry
|
||||||
|
WHERE travelFk = vSelf
|
||||||
|
)
|
||||||
|
WHERE id = vSelf;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,15 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recount the number of entries for the travel.
|
|
||||||
*
|
|
||||||
* @param vSelf The travel reference
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
INSERT IGNORE INTO travelRecalc SET travelFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -19,18 +19,14 @@ BEGIN
|
||||||
WHERE id = NEW.clientFk;
|
WHERE id = NEW.clientFk;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
|
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
|
||||||
CALL util.throw ('Cannot desactivate the default address');
|
CALL util.throw ('Cannot desactivate the default address');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NOT (NEW.isEqualizated <=> OLD.isEqualizated) THEN
|
IF (NEW.clientFk <> OLD.clientFk
|
||||||
INSERT IGNORE INTO ticketRecalc (ticketFk)
|
OR NEW.isActive <> OLD.isActive
|
||||||
SELECT id FROM ticket t
|
OR NOT (NEW.provinceFk <=> OLD.provinceFk))
|
||||||
WHERE t.addressFk = NEW.id
|
|
||||||
AND t.refFk IS NULL;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF (NEW.clientFk <> OLD.clientFk OR NEW.isActive <> OLD.isActive OR NOT (NEW.provinceFk <=> OLD.provinceFk))
|
|
||||||
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
|
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
|
||||||
UPDATE client
|
UPDATE client
|
||||||
SET hasToInvoiceByAddress = TRUE
|
SET hasToInvoiceByAddress = TRUE
|
||||||
|
|
|
@ -3,19 +3,14 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`buy_afterDelete`
|
||||||
AFTER DELETE ON `buy`
|
AFTER DELETE ON `buy`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
trig: BEGIN
|
trig: BEGIN
|
||||||
DECLARE vValues VARCHAR(255);
|
|
||||||
|
|
||||||
IF @isModeInventory OR @isTriggerDisabled THEN
|
IF @isModeInventory OR @isTriggerDisabled THEN
|
||||||
LEAVE trig;
|
LEAVE trig;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL stock.log_add('buy', NULL, OLD.id);
|
|
||||||
|
|
||||||
INSERT INTO entryLog
|
INSERT INTO entryLog
|
||||||
SET `action` = 'delete',
|
SET `action` = 'delete',
|
||||||
`changedModel` = 'Buy',
|
`changedModel` = 'Buy',
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -7,8 +7,6 @@ trig: BEGIN
|
||||||
LEAVE trig;
|
LEAVE trig;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL stock.log_add('buy', NEW.id, NULL);
|
|
||||||
|
|
||||||
CALL buy_afterUpsert(NEW.id);
|
CALL buy_afterUpsert(NEW.id);
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -12,14 +12,6 @@ trig: BEGIN
|
||||||
LEAVE trig;
|
LEAVE trig;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF !(NEW.id <=> OLD.id)
|
|
||||||
OR !(NEW.entryFk <=> OLD.entryFk)
|
|
||||||
OR !(NEW.itemFk <=> OLD.itemFk)
|
|
||||||
OR !(NEW.quantity <=> OLD.quantity)
|
|
||||||
OR !(NEW.created <=> OLD.created) THEN
|
|
||||||
CALL stock.log_add('buy', NEW.id, OLD.id);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CALL buy_afterUpsert(NEW.id);
|
CALL buy_afterUpsert(NEW.id);
|
||||||
|
|
||||||
SELECT w.isBuyerToBeEmailed, t.landed
|
SELECT w.isBuyerToBeEmailed, t.landed
|
||||||
|
|
|
@ -6,7 +6,7 @@ trig: BEGIN
|
||||||
DECLARE vWarehouse INT;
|
DECLARE vWarehouse INT;
|
||||||
DECLARE vLanding DATE;
|
DECLARE vLanding DATE;
|
||||||
DECLARE vGrouping INT;
|
DECLARE vGrouping INT;
|
||||||
DECLARE vGroupingMode TINYINT;
|
DECLARE vGroupingMode VARCHAR(255);
|
||||||
DECLARE vGenericFk INT;
|
DECLARE vGenericFk INT;
|
||||||
DECLARE vGenericInDate BOOL;
|
DECLARE vGenericInDate BOOL;
|
||||||
DECLARE vBuyerFk INT;
|
DECLARE vBuyerFk INT;
|
||||||
|
|
|
@ -4,20 +4,13 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`client_afterUpdate`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
|
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
|
||||||
UPDATE `address` SET isDefaultAddress = 0
|
UPDATE `address` SET isDefaultAddress = FALSE
|
||||||
WHERE clientFk = NEW.id;
|
WHERE clientFk = NEW.id;
|
||||||
|
|
||||||
UPDATE `address` SET isDefaultAddress = 1
|
UPDATE `address` SET isDefaultAddress = TRUE
|
||||||
WHERE id = NEW.defaultAddressFk;
|
WHERE id = NEW.defaultAddressFk;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NOT (NEW.provinceFk <=> OLD.provinceFk) OR NOT (NEW.isVies <=> OLD.isVies) THEN
|
|
||||||
INSERT IGNORE INTO ticketRecalc (ticketFk)
|
|
||||||
SELECT id FROM ticket t
|
|
||||||
WHERE t.clientFk = NEW.id
|
|
||||||
AND t.refFk IS NULL;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF NOT NEW.isActive THEN
|
IF NOT NEW.isActive THEN
|
||||||
UPDATE account.`user`
|
UPDATE account.`user`
|
||||||
SET active = FALSE
|
SET active = FALSE
|
||||||
|
|
|
@ -8,7 +8,5 @@ BEGIN
|
||||||
`changedModel` = 'Entry',
|
`changedModel` = 'Entry',
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
CALL travel_requestRecalc(OLD.travelFk);
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterInsert`
|
|
||||||
AFTER INSERT ON `entry`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL travel_requestRecalc(NEW.travelFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -3,18 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterUpdate`
|
||||||
AFTER UPDATE ON `entry`
|
AFTER UPDATE ON `entry`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT(NEW.id <=> OLD.id)
|
|
||||||
OR NOT(NEW.travelFk <=> OLD.travelFk)
|
|
||||||
OR NOT(NEW.isRaid <=> OLD.isRaid) THEN
|
|
||||||
CALL stock.log_add('entry', NEW.id, OLD.id);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
|
||||||
CALL travel_requestRecalc(OLD.travelFk);
|
|
||||||
CALL travel_requestRecalc(NEW.travelFk);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
|
|
||||||
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||||
SELECT b.id
|
SELECT b.id
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInCorrection_beforeDelete`
|
||||||
|
BEFORE DELETE ON `invoiceInCorrection`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.correctingFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInCorrection_beforeInsert`
|
||||||
|
BEFORE INSERT ON `invoiceInCorrection`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(NEW.correctingFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInCorrection_beforeUpdate`
|
||||||
|
BEFORE UPDATE ON `invoiceInCorrection`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.correctingFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInDueDay_beforeDelete`
|
||||||
|
BEFORE DELETE ON `invoiceInDueDay`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -5,6 +5,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInDueDay_befor
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vIsNotified BOOLEAN;
|
DECLARE vIsNotified BOOLEAN;
|
||||||
|
|
||||||
|
CALL invoiceIn_checkBooked(NEW.invoiceInFk);
|
||||||
|
|
||||||
SET NEW.editorFk = account.myUser_getId();
|
SET NEW.editorFk = account.myUser_getId();
|
||||||
|
|
||||||
SELECT isNotified INTO vIsNotified
|
SELECT isNotified INTO vIsNotified
|
||||||
|
|
|
@ -5,6 +5,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInDueDay_befor
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vIsNotified BOOLEAN;
|
DECLARE vIsNotified BOOLEAN;
|
||||||
|
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
SET NEW.editorFk = account.myUser_getId();
|
SET NEW.editorFk = account.myUser_getId();
|
||||||
|
|
||||||
SELECT isNotified INTO vIsNotified
|
SELECT isNotified INTO vIsNotified
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInIntrastat_beforeDelete`
|
||||||
|
BEFORE DELETE ON `invoiceInIntrastat`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInIntrastat_beforeInsert`
|
||||||
|
BEFORE INSERT ON `invoiceInIntrastat`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(NEW.invoiceInFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInIntrastat_beforeUpdate`
|
||||||
|
BEFORE UPDATE ON `invoiceInIntrastat`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInTax_beforeDelete`
|
||||||
|
BEFORE DELETE ON `invoiceInTax`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -3,6 +3,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceInTax_beforeUp
|
||||||
BEFORE UPDATE ON `invoiceInTax`
|
BEFORE UPDATE ON `invoiceInTax`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.invoiceInFk);
|
||||||
|
|
||||||
IF NOT (NEW.invoiceInFk <=> OLD.invoiceInFk) THEN
|
IF NOT (NEW.invoiceInFk <=> OLD.invoiceInFk) THEN
|
||||||
CALL invoiceInTax_afterUpsert(NEW.invoiceInFk);
|
CALL invoiceInTax_afterUpsert(NEW.invoiceInFk);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
|
@ -3,7 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceIn_afterUpdate
|
||||||
AFTER UPDATE ON `invoiceIn`
|
AFTER UPDATE ON `invoiceIn`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
IF NEW.issued != OLD.issued
|
IF NEW.issued != OLD.issued
|
||||||
OR NEW.currencyFk != OLD.currencyFk THEN
|
OR NEW.currencyFk != OLD.currencyFk THEN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceIn_beforeDelete`
|
||||||
|
BEFORE DELETE ON `invoiceIn`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.id);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -5,6 +5,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceIn_beforeUpdat
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vWithholdingSageFk INT;
|
DECLARE vWithholdingSageFk INT;
|
||||||
|
|
||||||
|
IF NEW.isBooked = OLD.isBooked THEN
|
||||||
|
CALL invoiceIn_checkBooked(OLD.id);
|
||||||
|
END IF;
|
||||||
|
|
||||||
IF NOT (NEW.supplierRef <=> OLD.supplierRef) AND NOT util.checkPrintableChars(NEW.supplierRef) THEN
|
IF NOT (NEW.supplierRef <=> OLD.supplierRef) AND NOT util.checkPrintableChars(NEW.supplierRef) THEN
|
||||||
CALL util.throw('The invoiceIn reference contains invalid characters');
|
CALL util.throw('The invoiceIn reference contains invalid characters');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
|
@ -12,9 +12,6 @@ BEGIN
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
CALL stock.log_add('sale', NULL, OLD.id);
|
|
||||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
|
||||||
|
|
||||||
SELECT account.myUser_getName() INTO vUserRole;
|
SELECT account.myUser_getName() INTO vUserRole;
|
||||||
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;
|
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;
|
||||||
|
|
||||||
|
|
|
@ -7,11 +7,7 @@ BEGIN
|
||||||
CALL util.throw('Cannot insert a service item into a ticket');
|
CALL util.throw('Cannot insert a service item into a ticket');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL stock.log_add('sale', NEW.id, NULL);
|
|
||||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
|
||||||
|
|
||||||
IF NEW.quantity > 0 THEN
|
IF NEW.quantity > 0 THEN
|
||||||
|
|
||||||
UPDATE vn.collection c
|
UPDATE vn.collection c
|
||||||
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
|
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
|
||||||
AND tc.ticketFk = NEW.ticketFk
|
AND tc.ticketFk = NEW.ticketFk
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue