Merge branch 'test' into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
commit
aec4d0b1a4
|
@ -0,0 +1,74 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`stockBuyedByWorker`(
|
||||||
|
vDated DATE,
|
||||||
|
vWorker INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Inserta el volumen de compra de un comprador
|
||||||
|
* en stockBuyed de acuerdo con la fecha.
|
||||||
|
*
|
||||||
|
* @param vDated Fecha de compra
|
||||||
|
* @param vWorker Id de trabajador
|
||||||
|
*/
|
||||||
|
CREATE OR REPLACE TEMPORARY TABLE tStockBuyed
|
||||||
|
(INDEX (userFk))
|
||||||
|
ENGINE = MEMORY
|
||||||
|
SELECT requested, reserved, userFk
|
||||||
|
FROM stockBuyed
|
||||||
|
WHERE dated = vDated
|
||||||
|
AND userFk = vWorker;
|
||||||
|
|
||||||
|
DELETE FROM stockBuyed
|
||||||
|
WHERE dated = vDated
|
||||||
|
AND userFk = vWorker;
|
||||||
|
|
||||||
|
CALL item_calculateStock(vDated);
|
||||||
|
|
||||||
|
INSERT INTO stockBuyed(userFk, buyed, `dated`, reserved, requested, description)
|
||||||
|
SELECT it.workerFk,
|
||||||
|
SUM((ti.quantity / b.packing) * buy_getVolume(b.id)) / vc.palletM3 / 1000000,
|
||||||
|
vDated,
|
||||||
|
sb.reserved,
|
||||||
|
sb.requested,
|
||||||
|
u.name
|
||||||
|
FROM itemType it
|
||||||
|
JOIN item i ON i.typeFk = it.id
|
||||||
|
LEFT JOIN tmp.item ti ON ti.itemFk = i.id
|
||||||
|
JOIN itemCategory ic ON ic.id = it.categoryFk
|
||||||
|
JOIN warehouse wh ON wh.code = 'VNH'
|
||||||
|
JOIN tmp.buyUltimate bu ON bu.itemFk = i.id
|
||||||
|
AND bu.warehouseFk = wh.id
|
||||||
|
JOIN buy b ON b.id = bu.buyFk
|
||||||
|
JOIN volumeConfig vc
|
||||||
|
JOIN account.`user` u ON u.id = it.workerFk
|
||||||
|
LEFT JOIN tStockBuyed sb ON sb.userFk = it.workerFk
|
||||||
|
WHERE ic.display
|
||||||
|
AND it.workerFk = vWorker;
|
||||||
|
|
||||||
|
SELECT b.entryFk Id_Entrada,
|
||||||
|
i.id Id_Article,
|
||||||
|
i.name Article,
|
||||||
|
ti.quantity Cantidad,
|
||||||
|
(ac.conversionCoefficient * (ti.quantity / b.packing) * buy_getVolume(b.id))
|
||||||
|
/ (vc.trolleyM3 * 1000000) buyed,
|
||||||
|
b.packagingFk id_cubo,
|
||||||
|
b.packing
|
||||||
|
FROM tmp.item ti
|
||||||
|
JOIN item i ON i.id = ti.itemFk
|
||||||
|
JOIN itemType it ON i.typeFk = it.id
|
||||||
|
JOIN itemCategory ic ON ic.id = it.categoryFk
|
||||||
|
JOIN worker w ON w.id = it.workerFk
|
||||||
|
JOIN auctionConfig ac
|
||||||
|
JOIN tmp.buyUltimate bu ON bu.itemFk = i.id
|
||||||
|
AND bu.warehouseFk = ac.warehouseFk
|
||||||
|
JOIN buy b ON b.id = bu.buyFk
|
||||||
|
JOIN volumeConfig vc
|
||||||
|
WHERE ic.display
|
||||||
|
AND w.id = vWorker;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE tmp.buyUltimate,
|
||||||
|
tmp.item,
|
||||||
|
tStockBuyed;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,70 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`stockBuyed_add`(
|
||||||
|
vDated DATE
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Inserta el volumen de compra por comprador
|
||||||
|
* en stockBuyed de acuerdo con la fecha.
|
||||||
|
*
|
||||||
|
* @param vDated Fecha de compra
|
||||||
|
*/
|
||||||
|
CREATE OR REPLACE TEMPORARY TABLE tStockBuyed
|
||||||
|
(INDEX (userFk))
|
||||||
|
ENGINE = MEMORY
|
||||||
|
SELECT requested, reserved, userFk
|
||||||
|
FROM stockBuyed
|
||||||
|
WHERE dated = vDated;
|
||||||
|
|
||||||
|
DELETE FROM stockBuyed WHERE dated = vDated;
|
||||||
|
|
||||||
|
CALL item_calculateStock(vDated);
|
||||||
|
|
||||||
|
INSERT INTO stockBuyed(userFk, buyed, `dated`, description)
|
||||||
|
SELECT it.workerFk,
|
||||||
|
SUM((ti.quantity / b.packing) * buy_getVolume(b.id)) / vc.palletM3 / 1000000,
|
||||||
|
vDated,
|
||||||
|
u.name
|
||||||
|
FROM itemType it
|
||||||
|
JOIN item i ON i.typeFk = it.id
|
||||||
|
LEFT JOIN tmp.item ti ON ti.itemFk = i.id
|
||||||
|
JOIN itemCategory ic ON ic.id = it.categoryFk
|
||||||
|
JOIN warehouse wh ON wh.code = 'VNH'
|
||||||
|
JOIN tmp.buyUltimate bu ON bu.itemFk = i.id AND bu.warehouseFk = wh.id
|
||||||
|
JOIN buy b ON b.id = bu.buyFk
|
||||||
|
JOIN volumeConfig vc
|
||||||
|
JOIN account.`user` u ON u.id = it.workerFk
|
||||||
|
JOIN workerDepartment wd ON wd.workerFk = u.id
|
||||||
|
JOIN department d ON d.id = wd.departmentFk
|
||||||
|
WHERE ic.display
|
||||||
|
AND d.code IN ('shopping', 'logistic', 'franceTeam')
|
||||||
|
GROUP BY it.workerFk;
|
||||||
|
|
||||||
|
INSERT INTO stockBuyed(buyed, dated, description)
|
||||||
|
SELECT SUM(ic.cm3 * ito.quantity / vc.palletM3 / 1000000),
|
||||||
|
vDated,
|
||||||
|
IF(c.code = 'ES', p.name, c.name) destiny
|
||||||
|
FROM itemTicketOut ito
|
||||||
|
JOIN ticket t ON t.id = ito.ticketFk
|
||||||
|
JOIN `address` a ON a.id = t.addressFk
|
||||||
|
JOIN province p ON p.id = a.provinceFk
|
||||||
|
JOIN country c ON c.id = p.countryFk
|
||||||
|
JOIN warehouse wh ON wh.id = t.warehouseFk
|
||||||
|
JOIN itemCost ic ON ic.itemFk = ito.itemFk
|
||||||
|
AND ic.warehouseFk = t.warehouseFk
|
||||||
|
JOIN volumeConfig vc
|
||||||
|
WHERE ito.shipped BETWEEN vDated AND util.dayend(vDated)
|
||||||
|
AND wh.code = 'VNH'
|
||||||
|
GROUP BY destiny;
|
||||||
|
|
||||||
|
UPDATE stockBuyed s
|
||||||
|
JOIN tStockBuyed ts ON ts.userFk = s.userFk
|
||||||
|
SET s.requested = ts.requested,
|
||||||
|
s.reserved = ts.reserved
|
||||||
|
WHERE s.dated = vDated;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE tmp.buyUltimate,
|
||||||
|
tmp.item,
|
||||||
|
tStockBuyed;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,2 @@
|
||||||
|
-- Place your SQL code here
|
||||||
|
RENAME TABLE vn.stockBuyed__ TO vn.stockBuyed;
|
|
@ -70,10 +70,18 @@ export default class App {
|
||||||
|
|
||||||
if (this.logger.$params.q) {
|
if (this.logger.$params.q) {
|
||||||
let tableValue = this.logger.$params.q;
|
let tableValue = this.logger.$params.q;
|
||||||
const q = JSON.parse(tableValue);
|
if (Array.isArray(tableValue)) {
|
||||||
if (typeof q === 'number')
|
const [key, param1, param2] = tableValue;
|
||||||
tableValue = JSON.stringify({id: tableValue});
|
const payload = key === 'createForm'
|
||||||
newRoute = newRoute.concat(`?table=${tableValue}`);
|
? {[param1]: param2}
|
||||||
|
: {[key]: param1};
|
||||||
|
newRoute += `?${key}=${JSON.stringify(payload)}`;
|
||||||
|
} else {
|
||||||
|
const q = JSON.parse(tableValue);
|
||||||
|
if (typeof q === 'number')
|
||||||
|
tableValue = JSON.stringify({id: tableValue});
|
||||||
|
newRoute = newRoute.concat(`?table=${tableValue}`);
|
||||||
|
}
|
||||||
} else if (!hasId && this.logger.$params.id && newRoute.indexOf(this.logger.$params.id) < 0)
|
} else if (!hasId && this.logger.$params.id && newRoute.indexOf(this.logger.$params.id) < 0)
|
||||||
newRoute = newRoute.concat(`${this.logger.$params.id}`);
|
newRoute = newRoute.concat(`${this.logger.$params.id}`);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
const ParameterizedSQL = require('loopback-connector').ParameterizedSQL;
|
const ParameterizedSQL = require('loopback-connector').ParameterizedSQL;
|
||||||
const buildFilter = require('vn-loopback/util/filter').buildFilter;
|
const buildFilter = require('vn-loopback/util/filter').buildFilter;
|
||||||
const mergeFilters = require('vn-loopback/util/filter').mergeFilters;
|
const mergeFilters = require('vn-loopback/util/filter').mergeFilters;
|
||||||
|
|
|
@ -99,7 +99,7 @@
|
||||||
<div ng-transclude="btnThree">
|
<div ng-transclude="btnThree">
|
||||||
<vn-quick-link
|
<vn-quick-link
|
||||||
tooltip="New order"
|
tooltip="New order"
|
||||||
state="['order.create', {clientFk: $ctrl.id}]"
|
state="['order.index', {q: ['createForm', 'clientFk', $ctrl.id]}]"
|
||||||
icon="icon-basketadd">
|
icon="icon-basketadd">
|
||||||
</vn-quick-link>
|
</vn-quick-link>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -76,6 +76,7 @@ module.exports = Self => {
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.filter = async(ctx, filter, options) => {
|
Self.filter = async(ctx, filter, options) => {
|
||||||
|
const models = Self.app.models;
|
||||||
const conn = Self.dataSource.connector;
|
const conn = Self.dataSource.connector;
|
||||||
const myOptions = {};
|
const myOptions = {};
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,6 @@ module.exports = Self => {
|
||||||
case 'landedTo':
|
case 'landedTo':
|
||||||
return {'t.landed': {lte: value}};
|
return {'t.landed': {lte: value}};
|
||||||
case 'daysOnward':
|
case 'daysOnward':
|
||||||
|
|
||||||
today.setHours(0, 0, 0, 0);
|
today.setHours(0, 0, 0, 0);
|
||||||
future.setDate(today.getDate() + value);
|
future.setDate(today.getDate() + value);
|
||||||
future.setHours(23, 59, 59, 999);
|
future.setHours(23, 59, 59, 999);
|
||||||
|
|
Loading…
Reference in New Issue