Skip to content

Commit

Permalink
chore(stock): touch up AMC/CMM modal
Browse files Browse the repository at this point in the history
Allows you to double click from anywhere in the cell, plus removes the
double click on the row header.  Starts process towards getting proper
AMC quantity in stock projections working.  Finally, adds translation
for french.

Closes Third-Culture-Software#5291.
  • Loading branch information
jniles committed Feb 17, 2021
1 parent 66a9e01 commit bc04b7c
Show file tree
Hide file tree
Showing 8 changed files with 155 additions and 109 deletions.
1 change: 1 addition & 0 deletions client/src/i18n/en/stock.json
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
"SUM_DAYS" : "Total Days",
"SUM_STOCK_DAY" : "Stock Available in Depot",
"SUM_STOCK_OUT_DAYS" : "Stock Outs",
"NEXT_STOCK_OUT" : "Next Stock Out",
"TITLE" : "Average Monthly Consumption",
"DAYS" : "Days",
"MONTHS" : "Months"
Expand Down
16 changes: 15 additions & 1 deletion client/src/i18n/fr/stock.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,28 @@
"MONTH_OF_STOCK" : "Mois de stock - Nombre de mois avant epuisement du stock",
"MONTHLY_CONSUM" : "Consommation Mensuelle Moyenne",
"MONTHLY_CONSUMPTION" : {
"AVERAGE_MONTHLY_CONSUMPTION" : "Consommation Mensuelle Moyenne",
"ALGO_1" : "Algorithme 1",
"ALGO_1_COMMENT" : "La consommation moyenne mensuel est obtenue en divisant la quantité consommée durant la période définie par le nombre de jour de stock pour ladite période, et en multipliant le résultat obtenu par 30.5",
"ALGO_2" : "Algorithme 2",
"ALGO_2_COMMENT" : "La consommation moyenne est obtenue en divisant la quantité consommée durant la période définie par le nombre de jours de consommation pour ladite période, et en multipliant le résultat obtenu par 30.5",
"ALGO_3" : "Algorithme 3",
"ALGO_3_COMMENT" : "La consommation moyenne est obtenue en divisant la quantité consommée durant la période définie par le nombre des jours de la période, et en multipliant le résultat obtenu par 30.5",
"ALGO_4" : "Algorithme 4 (MSH)",
"ALGO_4_COMMENT" : "La consommation moyenne est obtenue en divisant la quantité consommée durant la période définie par le nombre de mois moins le nombre de mois divisé par le total de nombre de jour de rupture"
"ALGO_4_COMMENT" : "La consommation moyenne est obtenue en divisant la quantité consommée durant la période définie par le nombre de mois moins le nombre de mois divisé par le total de nombre de jour de rupture",
"FIRST_INVENTORY_MOVEMENT_DATE" : "Premier mouvement enregistré ",
"LAST_INVENTORY_MOVEMENT_DATE" : "Dernier mouvement enregistré ",
"DAYS_BEFORE_CONSUMPTION" : "Jours avant la première consommation ",
"NUMBER_OF_MONTHS" : "Nombre de mois",
"SUM_CONSUMPTION_DAY" : "Consommation de stock ",
"SUM_CONSUMED_QUANTITY" :"Quantité consommée",
"SUM_DAYS" : "Jours au total",
"SUM_STOCK_DAY" : "Jours avec stock disponible en dépôt",
"SUM_STOCK_OUT_DAYS" : "Rupture de stock",
"NEXT_STOCK_OUT" : "Prochaine rupture de stock",
"TITLE" : "Consommation Mensuelle Moyenne",
"DAYS" : "Jours",
"MONTHS" : "Mois"
},
"MOTIF" : "Motif",
"MOVEMENT" : "Mouvement",
Expand Down
206 changes: 110 additions & 96 deletions client/src/modules/stock/inventories/modals/amc.modal.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,103 +7,117 @@
</div>

<div class="modal-body">
<div ng-if="ModalCtrl.loading" class="text-center">
<loading-indicator></loading-indicator>
</div>

<p class="alert alert-info">
<i class="fa fa-info-circle"></i>
<span ng-show="ModalCtrl.isAlgo1">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo2">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo3">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo4">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4_COMMENT</span>
</span>
</p>

<div class="row">
<!-- left hand side -->
<div class="col-sm-6 col-xs-12">
<dl>
<dt translate>STOCK.INVENTORY</dt>
<dd>{{ModalCtrl.inventory.code}} - {{ModalCtrl.inventory.label}}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.NUMBER_OF_MONTHS</dt>
<dd>
{{ModalCtrl.data.start_date | date }} &minus; {{ModalCtrl.data.end_date | date}}
(<span class="text-warning">{{ModalCtrl.data.number_of_month}} <span translate>STOCK.MONTHLY_CONSUMPTION.MONTHS</span></span>)
</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.FIRST_INVENTORY_MOVEMENT_DATE</dt>
<dd>{{ModalCtrl.data.first_inventory_movement_date | date }}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.LAST_INVENTORY_MOVEMENT_DATE</dt>
<dd>{{ModalCtrl.data.last_inventory_movement_date | date }}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_CONSUMED_QUANTITY</dt>
<dd class="text-primary">{{ModalCtrl.data.sum_consumed_quantity }} {{ModalCtrl.inventory.unit}}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_CONSUMPTION_DAY</dt>
<dd class="text-info">{{ModalCtrl.data.sum_consumption_day}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_STOCK_DAY</dt>
<dd class="text-success">{{ModalCtrl.data.sum_stock_day}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_STOCK_OUT_DAYS</dt>
<dd class="text-danger">{{ModalCtrl.data.sum_stock_out_days}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>
</dl>
</div>

<!-- right hand side -->
<div class="col-sm-6 col-xs-12">
<table class="table table-condensed table-bordered">
<thead>
<tr>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_1</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_2</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_3</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_4</th>
</tr>
</thead>
<tbody>
<tr class="text-right">
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo1 }">{{ModalCtrl.data.algo1}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo2 }">{{ModalCtrl.data.algo2}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo3 }">{{ModalCtrl.data.algo3}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo4 }">{{ModalCtrl.data.algo_msh}}</td>
</tr>
</tbody>
</table>

<hr />

<dl>
<dt ng-show="ModalCtrl.isAlgo1" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1</dt>
<dd ng-show="ModalCtrl.isAlgo1">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / <span class="text-success">{{ModalCtrl.data.sum_stock_day}}</span>) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u> </dd>

<dt ng-show="ModalCtrl.isAlgo2" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2</dt>
<dd ng-show="ModalCtrl.isAlgo2">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / <span class="text-info">{{ModalCtrl.data.sum_consumption_day}}</span>) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u></dd>

<dt ng-show="ModalCtrl.isAlgo3" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3</dt>
<dd ng-show="ModalCtrl.isAlgo3">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / {{ModalCtrl.data.sum_days}}) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u> </dd>

<dt ng-show="ModalCtrl.isAlgo4" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4</dt>
<dd ng-show="ModalCtrl.isAlgo4"><span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / (<span class="text-warning">{{ModalCtrl.data.number_of_month}}</span> &minus; (<span class="text-danger">{{ModalCtrl.data.sum_stock_out_days}}</span> / 30.5)) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u></dd>
</dl>
<div ng-if="!ModalCtrl.loading">
<p class="alert alert-info">
<i class="fa fa-info-circle"></i>
<span ng-show="ModalCtrl.isAlgo1">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo2">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo3">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3_COMMENT</span>
</span>

<span ng-show="ModalCtrl.isAlgo4">
<strong translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4</strong>
<br />
<span translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4_COMMENT</span>
</span>
</p>

<div class="row">
<!-- left hand side -->
<div class="col-sm-6 col-xs-12">
<dl>
<dt translate>STOCK.INVENTORY</dt>
<dd>{{ModalCtrl.inventory.code}} - {{ModalCtrl.inventory.label}}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.NUMBER_OF_MONTHS</dt>
<dd>
{{ModalCtrl.data.start_date | date }} &minus; {{ModalCtrl.data.end_date | date}}
(<span class="text-warning">{{ModalCtrl.data.number_of_month}} <span translate>STOCK.MONTHLY_CONSUMPTION.MONTHS</span></span>)
</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.FIRST_INVENTORY_MOVEMENT_DATE</dt>
<dd>{{ModalCtrl.data.first_inventory_movement_date | date }}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.LAST_INVENTORY_MOVEMENT_DATE</dt>
<dd>{{ModalCtrl.data.last_inventory_movement_date | date }}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_CONSUMED_QUANTITY</dt>
<dd class="text-primary">{{ModalCtrl.data.sum_consumed_quantity }} {{ModalCtrl.inventory.unit}}</dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_CONSUMPTION_DAY</dt>
<dd class="text-info">{{ModalCtrl.data.sum_consumption_day}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_STOCK_DAY</dt>
<dd class="text-success">{{ModalCtrl.data.sum_stock_day}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.SUM_STOCK_OUT_DAYS</dt>
<dd class="text-danger">{{ModalCtrl.data.sum_stock_out_days}} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span></dd>
</dl>
</div>

<!-- right hand side -->
<div class="col-sm-6 col-xs-12">
<table class="table table-condensed table-bordered">
<thead>
<tr>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_1_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_1</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_2_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_2</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_3_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_3</th>
<th translate translate-attr="{ 'title' : 'STOCK.MONTHLY_CONSUMPTION.ALGO_4_COMMENT' }">STOCK.MONTHLY_CONSUMPTION.ALGO_4</th>
</tr>
</thead>
<tbody>
<tr class="text-right">
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo1 }">{{ModalCtrl.data.algo1}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo2 }">{{ModalCtrl.data.algo2}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo3 }">{{ModalCtrl.data.algo3}}</td>
<td ng-class="{ 'bg-success text-success' : ModalCtrl.isAlgo4 }">{{ModalCtrl.data.algo_msh}}</td>
</tr>
</tbody>
</table>

<hr />

<dl>
<dt ng-show="ModalCtrl.isAlgo1" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_1</dt>
<dd ng-show="ModalCtrl.isAlgo1">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / <span class="text-success">{{ModalCtrl.data.sum_stock_day}}</span>) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u> </dd>

<dt ng-show="ModalCtrl.isAlgo2" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_2</dt>
<dd ng-show="ModalCtrl.isAlgo2">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / <span class="text-info">{{ModalCtrl.data.sum_consumption_day}}</span>) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u></dd>

<dt ng-show="ModalCtrl.isAlgo3" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_3</dt>
<dd ng-show="ModalCtrl.isAlgo3">30.5 &times; (<span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / {{ModalCtrl.data.sum_days}}) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u> </dd>

<dt ng-show="ModalCtrl.isAlgo4" translate>STOCK.MONTHLY_CONSUMPTION.ALGO_4</dt>
<dd ng-show="ModalCtrl.isAlgo4"><span class="text-primary">{{ModalCtrl.data.sum_consumed_quantity}}</span> / (<span class="text-warning">{{ModalCtrl.data.number_of_month}}</span> &minus; (<span class="text-danger">{{ModalCtrl.data.sum_stock_out_days}}</span> / 30.5)) &equals; <u>{{ModalCtrl.data.avg_consumption}}</u></dd>
</dl>
<hr />
<dl>
<dt translate>STOCK.CURRENT_QUANTITY</dt>
<dd>{{ModalCtrl.data.quantity_in_stock}} <span translate>{{ModalCtrl.inventory.unit}}</span></dd>

<dt translate>STOCK.MONTHLY_CONSUMPTION.NEXT_STOCK_OUT</dt>
<dd> {{ModalCtrl.data.stock_out_date | date:ModalCtrl.DATE_FORMAT }} ({{ModalCtrl.data.stock_out_date | amDifference:null:'days' }} <span translate>STOCK.MONTHLY_CONSUMPTION.DAYS</span>)</dd>
</dl>

</div>
</div>
</div>
</div>
Expand Down
18 changes: 15 additions & 3 deletions client/src/modules/stock/inventories/modals/amc.modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@ angular.module('bhima.controllers')
.controller('StockAMCModalController', StockAMCModalController);

StockAMCModalController.$inject = [
'StockService', 'NotifyService', '$uibModalInstance', 'data',
'StockService', 'NotifyService', '$uibModalInstance', 'data', 'moment', 'bhConstants',
];

function StockAMCModalController(Stock, Notify, Instance, data) {
function StockAMCModalController(Stock, Notify, Instance, data, moment, Constants) {
const vm = this;

vm.close = () => Instance.dismiss();

vm.DATE_FORMAT = Constants.dates.format;

Stock.inventories.loadAMCForInventory(data.inventory_uuid, data.depot_uuid)
.then(items => {
vm.data = items;
Expand All @@ -18,14 +20,24 @@ function StockAMCModalController(Stock, Notify, Instance, data) {
vm.inventory = items.inventory;
vm.depot = items.depot;

// FIXME(@jniles) - make this use the quantity from the getCMM() algorithm which
// is currently returning incorrect data.
vm.data.quantity_in_stock = data.quantity;

vm.data.avg_consumption = vm.data[vm.settings.average_consumption_algo];

// calculate date when the stock will run out at current consumption rate
const monthsOfStockLeft = vm.data.quantity_in_stock / vm.data.avg_consumption;
const stockOutDate = moment().add(monthsOfStockLeft, 'months').toDate();

// provide this information to the view.
vm.data.stock_out_date = stockOutDate;

// nicer aliases to use in the HTML
vm.isAlgo1 = vm.settings.average_consumption_algo === 'algo1';
vm.isAlgo2 = vm.settings.average_consumption_algo === 'algo2';
vm.isAlgo3 = vm.settings.average_consumption_algo === 'algo3';
vm.isAlgo4 = vm.settings.average_consumption_algo === 'algo_msh';
})
.catch(Notify.handleError);

}
6 changes: 2 additions & 4 deletions client/src/modules/stock/inventories/templates/cmm.cell.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<div class="ui-grid-cell-contents">
<span
class="text-right"
ng-dblclick="grid.appScope.viewAMCCalculations(row.entity)">
<div class="ui-grid-cell-contents" ng-dblclick="grid.appScope.viewAMCCalculations(row.entity)" ng-if="!row.groupHeader">
<span class="text-right">
{{row.entity.avg_consumption}}
</span>
</div>
1 change: 1 addition & 0 deletions server/controllers/inventory/depots/extra.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ async function getUsers(req, res, next) {
async function getInventoryAverageMonthlyConsumption(req, res, next) {
const { uuid, inventoryUuid } = req.params;
try {

const monthAvgConsumption = req.session.stock_settings.month_average_consumption;
const [[averageMonthlyConsumption]] = await db.exec(
'CALL getCMM(DATE_SUB(NOW(), INTERVAL ? MONTH), NOW(), ?, ?);',
Expand Down
1 change: 1 addition & 0 deletions server/controllers/stock/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,7 @@ async function getInventoryQuantityAndConsumption(params) {
const settingsql = `
SELECT month_average_consumption, average_consumption_algo FROM stock_setting WHERE enterprise_id = ?
`;

const opts = await db.one(settingsql, filteredRows[0].enterprise_id);

// add the CMM
Expand Down
15 changes: 10 additions & 5 deletions server/models/procedures/stock.sql
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@ CREATE PROCEDURE `getCMM` (
JOIN inventory i ON m.inventory_uuid = i.uuid
WHERE i.uuid = _inventory_uuid AND m.depot_uuid = _depot_uuid;

SELECT MIN(m.start_date) INTO _first_inventory_mvt_date
SELECT MIN(m.start_date) INTO _first_inventory_mvt_date
FROM stock_movement_status m
JOIN inventory i ON m.inventory_uuid = i.uuid
WHERE i.uuid = _inventory_uuid AND m.depot_uuid = _depot_uuid AND DATE(m.start_date) >= DATE(_start_date);
Expand Down Expand Up @@ -656,18 +656,23 @@ CREATE PROCEDURE `getCMM` (
) AS `cmm_data`;


SET @algo1 = ( _sum_consumed_quantity/(IF((_sum_stock_day = NULL) OR (_sum_stock_day = 0),1, _sum_stock_day)))*30.5;
-- get the current amount in stock
SET @quantityInStock = (
SELECT quantity FROM stock_movement_status AS sms
WHERE sms.inventory_uuid = _inventory_uuid
AND sms.depot_uuid = _depot_uuid ORDER BY start_date LIMIT 1
);

SET @algo1 = ( _sum_consumed_quantity/(IF((_sum_stock_day = NULL) OR (_sum_stock_day = 0),1, _sum_stock_day)))*30.5;
SET @algo2 = ((_sum_consumed_quantity)/(IF( (_sum_consumption_day = NULL) OR _sum_consumption_day = 0,1, _sum_consumption_day))) * 30.5;

SET @algo3 =((_sum_consumed_quantity)/(IF( (_sum_days = NULL) OR _sum_days = 0,1, _sum_days))) * 30.5;

SET @algo_msh = (_sum_consumed_quantity/(_number_of_month - (_sum_stock_out_days/30.5) ));

SELECT ROUND(IFNULL(@algo1, 0), 2) as algo1,
ROUND(IFNULL(@algo2, 0), 2) as algo2,
ROUND(IFNULL(@algo3, 0),2) as algo3,
ROUND(IFNULL(@algo_msh, 0), 2) as algo_msh,
ROUND(IFNULL(@algo_msh, 0), 2) as algo_msh,
IFNULL(@quantityInStock, 0) AS quantity_in_stock, -- FIXME(@jniles): this returns incorrect results. DO NOT USE
BUID(_inventory_uuid) as inventory_uuid,
BUID(_depot_uuid) as depot_uuid,
_start_date as start_date,
Expand Down

0 comments on commit bc04b7c

Please sign in to comment.