diff --git a/server/AyaNova/models/PurchaseOrder.cs b/server/AyaNova/models/PurchaseOrder.cs index cf1433bb..2175740f 100644 --- a/server/AyaNova/models/PurchaseOrder.cs +++ b/server/AyaNova/models/PurchaseOrder.cs @@ -23,13 +23,13 @@ namespace AyaNova.Models public List Tags { get; set; } public string VendorMemo { get; set; } - public long DropShipToCustomerId { get; set; } + public long? DropShipToCustomerId { get; set; } public string ReferenceNumber { get; set; } public long VendorId { get; set; } public DateTime? OrderedDate { get; set; } public DateTime? ExpectedReceiveDate { get; set; } public PurchaseOrderStatus Status { get; set; } - public long ProjectId { get; set; } + public long? ProjectId { get; set; } public string Text1 { get; set; } public string Text2 { get; set; } public List Items { get; set; } = new List(); diff --git a/server/AyaNova/models/PurchaseOrderItem.cs b/server/AyaNova/models/PurchaseOrderItem.cs index 348468db..79b65332 100644 --- a/server/AyaNova/models/PurchaseOrderItem.cs +++ b/server/AyaNova/models/PurchaseOrderItem.cs @@ -1,7 +1,8 @@ +using System; using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; using Newtonsoft.Json; + namespace AyaNova.Models { public class PurchaseOrderItem @@ -11,6 +12,23 @@ namespace AyaNova.Models [Required] public long PurchaseOrderId { get; set; } + [Required] + public long PartId { get; set; } + [Required] + public long PartWarehouseId { get; set; } + [Required] + public decimal QuantityOrdered { get; set; } + [Required] + public decimal QuantityReceived { get; set; } + [Required] + public decimal PurchaseOrderCost { get; set; } + [Required] + public decimal ReceivedCost { get; set; } + public DateTime? ReceivedDate { get; set; } + public long? PartRequestedById { get; set; } + public long? WorkorderItemPartRequestId { get; set; } + public long? PurchaseTaxCodeId { get; set; } + [JsonIgnore] public PurchaseOrder PurchaseOrder { get; set; } @@ -34,7 +52,7 @@ CREATE TABLE [dbo].[APURCHASEORDERITEM]( [AQUANTITYORDERED] [decimal](19, 5) NULL, [APURCHASEORDERCOST] [decimal](19, 5) NULL, [AQUANTITYRECEIVED] [decimal](19, 5) NULL, - [ACLOSED] [bit] NOT NULL, + [ACLOSED] [bit] NOT NULL, <---??? DROP? WTF [AWORKORDERITEMPARTREQUESTID] [uniqueidentifier] NULL, [APARTREQUESTEDBYID] [uniqueidentifier] NULL, [APARTWAREHOUSEID] [uniqueidentifier] NULL, diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 2b718c88..92cfbc71 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -740,6 +740,11 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); "projectid BIGINT REFERENCES aproject, text1 TEXT, text2 TEXT " + " )"); + //PURCHASEORDERITEM + await ExecQueryAsync("CREATE TABLE apurchaseorderitem (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, purchaseorderid BIGINT NOT NULL REFERENCES apurchaseorder ON DELETE CASCADE, " + + "partid BIGINT NOT NULL REFERENCES apart ON DELETE CASCADE, quantity DECIMAL(19,4) NOT NULL default 1, " + + "CONSTRAINT unq_partassemblypart UNIQUE (partid, partassemblyid) " +//ensure no duplicate parts in the same assembly + ")"); //UNITMODEL await ExecQueryAsync("CREATE TABLE aunitmodel (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name TEXT NULL, active BOOL NOT NULL, " +