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
127842a705
|
@ -9,6 +9,10 @@ module.exports = Self => {
|
|||
required: true,
|
||||
description: 'The entry id',
|
||||
http: {source: 'path'}
|
||||
}, {
|
||||
arg: 'showEntryLines',
|
||||
type: 'boolean',
|
||||
required: false
|
||||
}
|
||||
],
|
||||
returns: [
|
||||
|
|
|
@ -47,8 +47,7 @@ module.exports = Self => {
|
|||
|
||||
for (const buy of buys) {
|
||||
if (buy.stickers < 1) continue;
|
||||
ctx.args.id = buy.id;
|
||||
ctx.args.copies = buy.stickers;
|
||||
ctx.args = {...ctx.args, id: buy.id, showEntryLines: true};
|
||||
const pdfBuffer = await models.Entry.buyLabelSupplier(ctx, myOptions);
|
||||
await merger.add(new Uint8Array(pdfBuffer[0]));
|
||||
}
|
||||
|
|
|
@ -14,6 +14,12 @@ module.exports = Self => {
|
|||
description: 'Filter defining where, order, offset, and limit - must be a JSON-encoded string',
|
||||
http: {source: 'query'}
|
||||
},
|
||||
{
|
||||
arg: 'id',
|
||||
type: 'number',
|
||||
description: 'The invoiceOut id',
|
||||
http: {source: 'query'}
|
||||
},
|
||||
{
|
||||
arg: 'search',
|
||||
type: 'string',
|
||||
|
@ -106,6 +112,8 @@ module.exports = Self => {
|
|||
return {'i.created': value};
|
||||
case 'clientFk':
|
||||
return {'i.clientFk': value};
|
||||
case 'id':
|
||||
return {'i.id': value};
|
||||
case 'fi':
|
||||
return {'c.fi': value};
|
||||
case 'amount':
|
||||
|
|
|
@ -88,6 +88,11 @@ module.exports = Self => {
|
|||
arg: 'alertLevel',
|
||||
type: 'number',
|
||||
description: `The alert level of the tickets`
|
||||
},
|
||||
{
|
||||
arg: 'countryFk',
|
||||
type: 'number',
|
||||
description: 'The country id filter'
|
||||
}
|
||||
],
|
||||
returns: {
|
||||
|
@ -182,6 +187,7 @@ module.exports = Self => {
|
|||
t.totalWithVat,
|
||||
io.id invoiceOutId,
|
||||
a.provinceFk,
|
||||
p.countryFk,
|
||||
p.name province,
|
||||
w.name warehouse,
|
||||
am.name agencyMode,
|
||||
|
@ -356,6 +362,7 @@ module.exports = Self => {
|
|||
}
|
||||
case 'agencyModeFk':
|
||||
case 'warehouseFk':
|
||||
case 'countryFk':
|
||||
param = `f.${param}`;
|
||||
return {[param]: value};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
const ParameterizedSQL = require('loopback-connector').ParameterizedSQL;
|
||||
const buildFilter = require('vn-loopback/util/filter').buildFilter;
|
||||
const mergeFilters = require('vn-loopback/util/filter').mergeFilters;
|
||||
|
@ -112,45 +111,42 @@ module.exports = Self => {
|
|||
let stmt;
|
||||
stmts.push('DROP TEMPORARY TABLE IF EXISTS tmp.travel');
|
||||
stmt = new ParameterizedSQL(
|
||||
`CREATE TEMPORARY TABLE tmp.travel
|
||||
`CREATE TEMPORARY TABLE tmp.travel
|
||||
(INDEX (id))
|
||||
ENGINE = MEMORY
|
||||
SELECT
|
||||
t.id,
|
||||
SELECT t.id,
|
||||
t.ref,
|
||||
t.shipped,
|
||||
t.landed,
|
||||
t.kg,
|
||||
am.id AS agencyModeFk,
|
||||
am.name AS agencyModeName,
|
||||
wo.id AS warehouseOutFk,
|
||||
wo.name AS warehouseOutName,
|
||||
w.name AS warehouseInFk,
|
||||
w.name AS warehouseInName,
|
||||
SUM(b.stickers) AS stickers,
|
||||
s.id AS cargoSupplierFk,
|
||||
s.nickname AS cargoSupplierNickname,
|
||||
s.name AS supplierName,
|
||||
CAST(SUM(b.weight * b.stickers) as DECIMAL(10,0)) as loadedKg,
|
||||
am.id agencyModeFk,
|
||||
am.name agencyModeName,
|
||||
wo.id warehouseOutFk,
|
||||
wo.name warehouseOutName,
|
||||
w.name warehouseInFk,
|
||||
w.name warehouseInName,
|
||||
SUM(b.stickers) stickers,
|
||||
s.id cargoSupplierFk,
|
||||
s.nickname cargoSupplierNickname,
|
||||
s.name supplierName,
|
||||
CAST(SUM(b.weight * b.stickers) AS DECIMAL(10,0)) loadedKg,
|
||||
CAST(
|
||||
SUM(
|
||||
vc.aerealVolumetricDensity *
|
||||
b.stickers *
|
||||
IF(pkg.volume, pkg.volume, pkg.width * pkg.depth * pkg.height) / 1000000
|
||||
) as DECIMAL(10,0)
|
||||
) as volumeKg,
|
||||
GREATEST(
|
||||
CAST(SUM(b.weight * b.stickers) AS INT),
|
||||
CAST(
|
||||
) AS DECIMAL(10,0)
|
||||
) volumeKg,
|
||||
CAST(
|
||||
GREATEST(
|
||||
SUM(b.weight * b.stickers) ,
|
||||
SUM(vc.aerealVolumetricDensity *
|
||||
b.stickers *
|
||||
IF(pkg.volume,
|
||||
pkg.volume,
|
||||
pkg.width * pkg.depth * pkg.height
|
||||
) / 1000000
|
||||
) AS INT
|
||||
)
|
||||
/ t.kg * 100, 0) percentageKg
|
||||
IF(pkg.volume,
|
||||
pkg.volume,
|
||||
pkg.width * pkg.depth * pkg.height) / 1000000)
|
||||
) / t.kg * 100 AS INT
|
||||
) percentageKg
|
||||
FROM travel t
|
||||
LEFT JOIN supplier s ON s.id = t.cargoSupplierFk
|
||||
LEFT JOIN entry e ON e.travelFk = t.id
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<td>
|
||||
<div class="cell">
|
||||
<span class="lbl">{{$t('boxNum')}}</span>
|
||||
{{`${buy.labelNum} / ${buy.maxLabelNum}`}}
|
||||
{{getTotal(buy)}}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -9,7 +9,7 @@ module.exports = {
|
|||
mixins: [vnReport],
|
||||
async serverPrefetch() {
|
||||
const buy = await models.Buy.findById(this.id, null);
|
||||
this.buys = await this.rawSqlFromDef('buy', [buy.entryFk, buy.entryFk, buy.entryFk, this.id]);
|
||||
this.buys = await this.rawSqlFromDef('buy', [buy.entryFk, buy.entryFk, buy.entryFk, this.id, this.id]);
|
||||
const date = new Date();
|
||||
this.weekNum = moment(date).isoWeek();
|
||||
this.dayNum = moment(date).day();
|
||||
|
@ -27,6 +27,11 @@ module.exports = {
|
|||
height: 115,
|
||||
});
|
||||
return new XMLSerializer().serializeToString(svgNode);
|
||||
},
|
||||
getTotal(buy) {
|
||||
return (this.showEntryLines) ?
|
||||
`${buy.entryLabelNum} / ${buy.entryLabels}` :
|
||||
`${buy.buyLabelNum} / ${buy.buyLabels}`;
|
||||
}
|
||||
},
|
||||
props: {
|
||||
|
@ -34,6 +39,10 @@ module.exports = {
|
|||
type: Number,
|
||||
required: true,
|
||||
description: 'The entry id'
|
||||
},
|
||||
showEntryLines: {
|
||||
type: Boolean,
|
||||
required: false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ WITH RECURSIVE numbers AS (
|
|||
)
|
||||
),
|
||||
labels AS (
|
||||
SELECT ROW_NUMBER() OVER(ORDER BY b.id, num.n) labelNum,
|
||||
SELECT ROW_NUMBER() OVER(ORDER BY b.id, num.n) entryLabelNum,
|
||||
i.name,
|
||||
i.`size`,
|
||||
i.category,
|
||||
|
@ -33,6 +33,9 @@ labels AS (
|
|||
WHERE b.entryFk = ?
|
||||
AND num.n <= b.stickers
|
||||
)
|
||||
SELECT *, (SELECT SUM(stickers) FROM buy WHERE entryFk = ?) maxLabelNum
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER(ORDER BY entryLabelNum) buyLabelNum,
|
||||
(SELECT SUM(stickers) FROM buy WHERE entryFk = ?) entryLabels,
|
||||
(SELECT stickers FROM buy WHERE id = ?) buyLabels
|
||||
FROM labels
|
||||
WHERE id = ?
|
Loading…
Reference in New Issue