From 3d42aafadc583bdb9b957bfac03db129b3d6ae83 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 23 Feb 2021 00:53:58 +0000 Subject: [PATCH] --- server/AyaNova/biz/PartInventoryBiz.cs | 5 +++++ server/AyaNova/biz/PurchaseOrderBiz.cs | 6 ++++++ server/AyaNova/models/PartInventory.cs | 2 +- server/AyaNova/resource/de.json | 1 + server/AyaNova/resource/en.json | 1 + server/AyaNova/resource/es.json | 1 + server/AyaNova/resource/fr.json | 1 + server/AyaNova/util/AySchema.cs | 2 +- 8 files changed, 17 insertions(+), 2 deletions(-) diff --git a/server/AyaNova/biz/PartInventoryBiz.cs b/server/AyaNova/biz/PartInventoryBiz.cs index be47d66f..32caa0ba 100644 --- a/server/AyaNova/biz/PartInventoryBiz.cs +++ b/server/AyaNova/biz/PartInventoryBiz.cs @@ -193,6 +193,11 @@ namespace AyaNova.Biz { //NOTE: Many of these errors wouldn't happen in the official ayanova UI (api developer error only) so are not translated + + //Description required (only affordance to open the record) + if (string.IsNullOrWhiteSpace(proposedObj.Description)) + AddError(ApiErrorCode.VALIDATION_REQUIRED, "Description"); + if (!await BizObjectExistsInDatabase.ExistsAsync(AyaType.Part, proposedObj.PartId, ct)) { AddError(ApiErrorCode.NOT_FOUND, "generalerror", $"PartInventory Part specified doesn't exist [id:{proposedObj.PartId}]"); diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index fb9ff27e..fdf21997 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -390,6 +390,7 @@ namespace AyaNova.Biz i.Quantity = poItem.QuantityReceived *= -1; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); //MIGRATE_OUTSTANDING - update workorderitempart here if applicable @@ -416,6 +417,7 @@ namespace AyaNova.Biz i.Quantity = poItem.QuantityReceived; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); //MIGRATE_OUTSTANDING - update workorderitempart here if applicable @@ -447,6 +449,7 @@ namespace AyaNova.Biz i.Quantity = newItem.QuantityReceived; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); } @@ -469,6 +472,7 @@ namespace AyaNova.Biz i.Quantity = oldItem.QuantityReceived *= -1; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); } @@ -481,6 +485,7 @@ namespace AyaNova.Biz i.Quantity = newItem.QuantityReceived; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); } @@ -507,6 +512,7 @@ namespace AyaNova.Biz i.Quantity = netChange; i.SourceType = AyaType.PurchaseOrder; i.SourceId = newObj.Id; + i.Description = await Translate("PurchaseOrderEdit"); await pib.CreateAsync(i); //MIGRATE_OUTSTANDING - update workorderitempart here if applicable diff --git a/server/AyaNova/models/PartInventory.cs b/server/AyaNova/models/PartInventory.cs index 9cacc224..34c5e064 100644 --- a/server/AyaNova/models/PartInventory.cs +++ b/server/AyaNova/models/PartInventory.cs @@ -16,7 +16,7 @@ namespace AyaNova.Models public long Id { get; set; } public uint Concurrency { get; set; } - [Required] + [Required]//this is only affordance to open in UI so always needs a value public string Description { get; set; } [Required] public DateTime EntryDate { get; set; } diff --git a/server/AyaNova/resource/de.json b/server/AyaNova/resource/de.json index 624c92f1..eddb98d8 100644 --- a/server/AyaNova/resource/de.json +++ b/server/AyaNova/resource/de.json @@ -764,6 +764,7 @@ "PurchaseOrderReceiptItemReferenceNumber": "Referenz", "PurchaseOrderReceiptItemWarehouseID": "Teilelager", "PurchaseOrderReceiptItemWorkOrderNumber": "Arbeitsauftragsnummer", + "PurchaseOrderEdit": "Bestellung geändert", "RateAccountNumber": "Kontonummer", "RateCharge": "Einzelhandelsgebühr", "RateCustomerGroupID": "Kundengruppe", diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json index b4953d32..5eb3ca7c 100644 --- a/server/AyaNova/resource/en.json +++ b/server/AyaNova/resource/en.json @@ -764,6 +764,7 @@ "PurchaseOrderReceiptItemReferenceNumber": "Reference", "PurchaseOrderReceiptItemWarehouseID": "Part Warehouse", "PurchaseOrderReceiptItemWorkOrderNumber": "WorkOrder #", + "PurchaseOrderEdit": "Purchase order edit", "RateAccountNumber": "Account Number", "RateCharge": "Retail Charge", "RateCustomerGroupID": "Customer Group", diff --git a/server/AyaNova/resource/es.json b/server/AyaNova/resource/es.json index a93e4d09..d9bba10d 100644 --- a/server/AyaNova/resource/es.json +++ b/server/AyaNova/resource/es.json @@ -763,6 +763,7 @@ "PurchaseOrderReceiptItemReferenceNumber": "Referencia", "PurchaseOrderReceiptItemWarehouseID": "Almacén de la pieza", "PurchaseOrderReceiptItemWorkOrderNumber": "Núm. pedido", + "PurchaseOrderEdit": "Orden de compra editar", "RateAccountNumber": "Número de cuenta", "RateCharge": "Cargo minorista", "RateCustomerGroupID": "Grupo de clientes", diff --git a/server/AyaNova/resource/fr.json b/server/AyaNova/resource/fr.json index 684b9a3d..e19b7744 100644 --- a/server/AyaNova/resource/fr.json +++ b/server/AyaNova/resource/fr.json @@ -764,6 +764,7 @@ "PurchaseOrderReceiptItemReferenceNumber": "Référence", "PurchaseOrderReceiptItemWarehouseID": "Magasin de pièces", "PurchaseOrderReceiptItemWorkOrderNumber": "Bon de travail n° ", + "PurchaseOrderEdit": "Bon de commande Modifier", "RateAccountNumber": "Numéro de compte", "RateCharge": "Prix de détail", "RateCustomerGroupID": "Groupe de clients", diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 5d29b87a..a06d7cb5 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -699,7 +699,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); // await ExecQueryAsync("CREATE INDEX idx_apartassemblyitem_partassemblyid ON apartassemblyitem(partassemblyid)"); //PART INVENTORY - await ExecQueryAsync("CREATE TABLE apartinventory (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, description TEXT NULL, " + + await ExecQueryAsync("CREATE TABLE apartinventory (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, description TEXT NOT NULL, " + "entrydate TIMESTAMP NOT NULL, lastentrydate TIMESTAMP NULL, partid BIGINT NOT NULL REFERENCES apart, partwarehouseid BIGINT NOT NULL REFERENCES apartwarehouse, " + "sourcetype INTEGER, sourceid BIGINT, " + "quantity DECIMAL(19,4) NOT NULL, balance DECIMAL(19,4) NOT NULL, lastbalance DECIMAL(19,4) NULL, " +