Merge pull request 'refs #6199 Added minQuantity in item' (!1786) from 6199-minQuantity into test
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #1786 Reviewed-by: Javi Gallego <jgallego@verdnatura.es> Reviewed-by: Alex Moreno <alexm@verdnatura.es>
This commit is contained in:
commit
2250fca6bb
|
@ -30434,6 +30434,7 @@ CREATE TABLE `item` (
|
||||||
`editorFk` int(10) unsigned DEFAULT NULL,
|
`editorFk` int(10) unsigned DEFAULT NULL,
|
||||||
`recycledPlastic` int(11) DEFAULT NULL,
|
`recycledPlastic` int(11) DEFAULT NULL,
|
||||||
`nonRecycledPlastic` int(11) DEFAULT NULL,
|
`nonRecycledPlastic` int(11) DEFAULT NULL,
|
||||||
|
`minQuantity` int(10) unsigned DEFAULT NULL COMMENT 'Cantidad mínima para una línea de venta',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `item_supplyResponseFk_idx` (`supplyResponseFk`),
|
UNIQUE KEY `item_supplyResponseFk_idx` (`supplyResponseFk`),
|
||||||
KEY `Color` (`inkFk`),
|
KEY `Color` (`inkFk`),
|
||||||
|
|
|
@ -131,6 +131,9 @@
|
||||||
"nonRecycledPlastic": {
|
"nonRecycledPlastic": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
"minQuantity": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
"packingOut": {
|
"packingOut": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
rule
|
rule
|
||||||
info="Full name calculates based on tags 1-3. Is not recommended to change it manually">
|
info="Full name calculates based on tags 1-3. Is not recommended to change it manually">
|
||||||
</vn-textfield>
|
</vn-textfield>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal>
|
||||||
<vn-autocomplete
|
<vn-autocomplete
|
||||||
url="ItemTypes"
|
url="ItemTypes"
|
||||||
label="Type"
|
label="Type"
|
||||||
|
@ -50,6 +52,30 @@
|
||||||
</div>
|
</div>
|
||||||
</tpl-item>
|
</tpl-item>
|
||||||
</vn-autocomplete>
|
</vn-autocomplete>
|
||||||
|
<vn-autocomplete
|
||||||
|
label="Generic"
|
||||||
|
url="Items/withName"
|
||||||
|
ng-model="$ctrl.item.genericFk"
|
||||||
|
vn-name="generic"
|
||||||
|
show-field="name"
|
||||||
|
value-field="id"
|
||||||
|
search-function="$ctrl.itemSearchFunc($search)"
|
||||||
|
order="id DESC"
|
||||||
|
tabindex="1">
|
||||||
|
<tpl-item>
|
||||||
|
<div>{{::name}}</div>
|
||||||
|
<div class="text-caption text-secondary">
|
||||||
|
#{{::id}}
|
||||||
|
</div>
|
||||||
|
</tpl-item>
|
||||||
|
<append>
|
||||||
|
<vn-icon-button
|
||||||
|
icon="filter_alt"
|
||||||
|
vn-click-stop="$ctrl.showFilterDialog($ctrl.item)"
|
||||||
|
vn-tooltip="Filter...">
|
||||||
|
</vn-icon-button>
|
||||||
|
</append>
|
||||||
|
</vn-autocomplete>
|
||||||
</vn-horizontal>
|
</vn-horizontal>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
<vn-autocomplete
|
<vn-autocomplete
|
||||||
|
@ -128,30 +154,13 @@
|
||||||
ng-model="$ctrl.item.stemMultiplier"
|
ng-model="$ctrl.item.stemMultiplier"
|
||||||
vn-name="stemMultiplier">
|
vn-name="stemMultiplier">
|
||||||
</vn-input-number>
|
</vn-input-number>
|
||||||
<vn-autocomplete
|
<vn-input-number
|
||||||
label="Generic"
|
min="1"
|
||||||
url="Items/withName"
|
label="Minimum sales quantity"
|
||||||
ng-model="$ctrl.item.genericFk"
|
ng-model="$ctrl.item.minQuantity"
|
||||||
vn-name="generic"
|
vn-name="minQuantity"
|
||||||
show-field="name"
|
rule>
|
||||||
value-field="id"
|
</vn-input-number>
|
||||||
search-function="$ctrl.itemSearchFunc($search)"
|
|
||||||
order="id DESC"
|
|
||||||
tabindex="1">
|
|
||||||
<tpl-item>
|
|
||||||
<div>{{::name}}</div>
|
|
||||||
<div class="text-caption text-secondary">
|
|
||||||
#{{::id}}
|
|
||||||
</div>
|
|
||||||
</tpl-item>
|
|
||||||
<append>
|
|
||||||
<vn-icon-button
|
|
||||||
icon="filter_alt"
|
|
||||||
vn-click-stop="$ctrl.showFilterDialog($ctrl.item)"
|
|
||||||
vn-tooltip="Filter...">
|
|
||||||
</vn-icon-button>
|
|
||||||
</append>
|
|
||||||
</vn-autocomplete>
|
|
||||||
</vn-horizontal>
|
</vn-horizontal>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
<vn-input-number
|
<vn-input-number
|
||||||
|
|
|
@ -16,3 +16,4 @@ This item does need a photo: Este artículo necesita una foto
|
||||||
Do photo: Hacer foto
|
Do photo: Hacer foto
|
||||||
Recycled Plastic: Plástico reciclado
|
Recycled Plastic: Plástico reciclado
|
||||||
Non recycled plastic: Plástico no reciclado
|
Non recycled plastic: Plástico no reciclado
|
||||||
|
Minimum sales quantity: Cantidad mínima de venta
|
||||||
|
|
|
@ -128,6 +128,9 @@
|
||||||
<vn-label-value label="Non recycled plastic"
|
<vn-label-value label="Non recycled plastic"
|
||||||
value="{{$ctrl.summary.item.nonRecycledPlastic}}">
|
value="{{$ctrl.summary.item.nonRecycledPlastic}}">
|
||||||
</vn-label-value>
|
</vn-label-value>
|
||||||
|
<vn-label-value label="Minimum sales quantity"
|
||||||
|
value="{{$ctrl.summary.item.minQuantity}}">
|
||||||
|
</vn-label-value>
|
||||||
</vn-one>
|
</vn-one>
|
||||||
<vn-one name="tags">
|
<vn-one name="tags">
|
||||||
<h4 ng-show="$ctrl.isBuyer || $ctrl.isReplenisher">
|
<h4 ng-show="$ctrl.isBuyer || $ctrl.isReplenisher">
|
||||||
|
|
|
@ -2,3 +2,4 @@ Barcode: Códigos de barras
|
||||||
Other data: Otros datos
|
Other data: Otros datos
|
||||||
Go to the item: Ir al artículo
|
Go to the item: Ir al artículo
|
||||||
WarehouseFk: Calculado sobre el almacén de {{ warehouseName }}
|
WarehouseFk: Calculado sobre el almacén de {{ warehouseName }}
|
||||||
|
Minimum sales quantity: Cantidad mínima de venta
|
||||||
|
|
|
@ -100,8 +100,7 @@ module.exports = Self => {
|
||||||
));
|
));
|
||||||
|
|
||||||
stmt = new ParameterizedSQL(`
|
stmt = new ParameterizedSQL(`
|
||||||
SELECT
|
SELECT i.id,
|
||||||
i.id,
|
|
||||||
i.name,
|
i.name,
|
||||||
i.subName,
|
i.subName,
|
||||||
i.image,
|
i.image,
|
||||||
|
@ -116,15 +115,17 @@ module.exports = Self => {
|
||||||
i.stars,
|
i.stars,
|
||||||
tci.price,
|
tci.price,
|
||||||
tci.available,
|
tci.available,
|
||||||
w.lastName AS lastName,
|
w.lastName,
|
||||||
w.firstName,
|
w.firstName,
|
||||||
tci.priceKg,
|
tci.priceKg,
|
||||||
ink.hex
|
ink.hex,
|
||||||
|
i.minQuantity
|
||||||
FROM tmp.ticketCalculateItem tci
|
FROM tmp.ticketCalculateItem tci
|
||||||
JOIN vn.item i ON i.id = tci.itemFk
|
JOIN vn.item i ON i.id = tci.itemFk
|
||||||
JOIN vn.itemType it ON it.id = i.typeFk
|
JOIN vn.itemType it ON it.id = i.typeFk
|
||||||
JOIN vn.worker w on w.id = it.workerFk
|
JOIN vn.worker w on w.id = it.workerFk
|
||||||
LEFT JOIN vn.ink ON ink.id = i.inkFk`);
|
LEFT JOIN vn.ink ON ink.id = i.inkFk
|
||||||
|
`);
|
||||||
|
|
||||||
// Apply order by tag
|
// Apply order by tag
|
||||||
if (orderBy.isTag) {
|
if (orderBy.isTag) {
|
||||||
|
|
|
@ -37,9 +37,24 @@
|
||||||
value="{{::item.value7}}">
|
value="{{::item.value7}}">
|
||||||
</vn-label-value>
|
</vn-label-value>
|
||||||
</div>
|
</div>
|
||||||
|
<vn-horizontal>
|
||||||
|
<vn-one>
|
||||||
<vn-rating ng-if="::item.stars"
|
<vn-rating ng-if="::item.stars"
|
||||||
ng-model="::item.stars">
|
ng-model="::item.stars"/>
|
||||||
</vn-rating>
|
</vn-one>
|
||||||
|
<vn-horizontal
|
||||||
|
class="text-right text-caption alert vn-mr-xs"
|
||||||
|
ng-if="::item.minQuantity">
|
||||||
|
<vn-one>
|
||||||
|
<vn-icon
|
||||||
|
icon="production_quantity_limits"
|
||||||
|
translate-attr="{title: 'Minimal quantity'}"
|
||||||
|
class="text-subtitle1">
|
||||||
|
</vn-icon>
|
||||||
|
</vn-one>
|
||||||
|
{{::item.minQuantity}}
|
||||||
|
</vn-horizontal>
|
||||||
|
</vn-horizontal>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="price">
|
<div class="price">
|
||||||
<vn-one>
|
<vn-one>
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
Order created: Orden creada
|
Order created: Orden creada
|
||||||
|
Minimal quantity: Cantidad mínima
|
|
@ -44,4 +44,7 @@ vn-order-catalog {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
.alert {
|
||||||
|
color: $color-alert;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue