diff --git a/server/AyaNova/models/WorkOrderItemPartRequest.cs b/server/AyaNova/models/WorkOrderItemPartRequest.cs index 74a18970..a6000cc0 100644 --- a/server/AyaNova/models/WorkOrderItemPartRequest.cs +++ b/server/AyaNova/models/WorkOrderItemPartRequest.cs @@ -8,15 +8,22 @@ namespace AyaNova.Models { public class WorkOrderItemPartRequest : ICoreBizObjectModel { - public WorkOrderItemPartRequest() - { - Tags = new List(); - } + public long Id { get; set; } public uint Concurrency { get; set; } - public string Notes { get; set; } - public string CustomFields { get; set; } - public List Tags { get; set; } + + [Required] + public long PartId { get; set; } + [Required] + public long PartWarehouseId { get; set; } + [Required] + public decimal Quantity { get; set; } + + [Required] + public long PurchaseOrderItemId { get; set; } + [Required] + public decimal Received { get; set; } + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] @@ -27,3 +34,18 @@ namespace AyaNova.Models }//eoc }//eons + +/* +CREATE TABLE [dbo].[AWORKORDERITEMPARTREQUEST]( + [AID] [uniqueidentifier] NOT NULL, + [AWORKORDERITEMID] [uniqueidentifier] NOT NULL, + [ACREATOR] [uniqueidentifier] NOT NULL, + [AMODIFIER] [uniqueidentifier] NOT NULL, + [ACREATED] [datetime] NOT NULL, + [AMODIFIED] [datetime] NOT NULL, + [APARTID] [uniqueidentifier] NOT NULL, + [APARTWAREHOUSEID] [uniqueidentifier] NOT NULL, + [AQUANTITY] [decimal](19, 5) NOT NULL, + [APURCHASEORDERITEMID] [uniqueidentifier] NULL, + [ARECEIVED] [decimal](19, 5) +*/ \ No newline at end of file diff --git a/server/AyaNova/models/WorkOrderItemScheduledUser.cs b/server/AyaNova/models/WorkOrderItemScheduledUser.cs index 4964f1e9..df3c782a 100644 --- a/server/AyaNova/models/WorkOrderItemScheduledUser.cs +++ b/server/AyaNova/models/WorkOrderItemScheduledUser.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Newtonsoft.Json; @@ -8,15 +8,16 @@ namespace AyaNova.Models { public class WorkOrderItemScheduledUser : ICoreBizObjectModel { - public WorkOrderItemScheduledUser() - { - Tags = new List(); - } + public long Id { get; set; } public uint Concurrency { get; set; } - public string Notes { get; set; } - public string CustomFields { get; set; } - public List Tags { get; set; } + + public long? UserId { get; set; } + public decimal EstimatedQuantity { get; set; } + public DateTime? StartDate { get; set; } + public DateTime? StopDate { get; set; } + public long? ServiceRateId { get; set; } + [Required] public long WorkOrderItemId { get; set; } [JsonIgnore] @@ -27,3 +28,17 @@ namespace AyaNova.Models }//eoc }//eons +/* +CREATE TABLE [dbo].[AWORKORDERITEMSCHEDULEDUSER]( + [AID] [uniqueidentifier] NOT NULL, + [AWORKORDERITEMID] [uniqueidentifier] NOT NULL, + [ACREATOR] [uniqueidentifier] NOT NULL, + [AMODIFIER] [uniqueidentifier] NOT NULL, + [ACREATED] [datetime] NOT NULL, + [AMODIFIED] [datetime] NOT NULL, + [AUSERID] [uniqueidentifier] NULL, + [AESTIMATEDQUANTITY] [decimal](19, 5) NULL, + [ASTARTDATE] [datetime] NULL, + [ASTOPDATE] [datetime] NULL, + [ASERVICERATEID] [uniqueidentifier] NULL +*/ \ No newline at end of file diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 4c647f56..3eec2282 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -792,9 +792,29 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); + "manualdiscountpct DECIMAL(8,5) NOT NULL default 0, taxpartsaleid BIGINT REFERENCES ataxcode " + ")"); + //WORKORDERITEM PART REQUEST await ExecQueryAsync("CREATE TABLE aworkorderitempartrequest (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " + + "partid BIGINT NOT NULL REFERENCES apart, partwarehouseid BIGINT NOT NULL REFERENCES apartwarehouse, quantity DECIMAL(19,5) NOT NULL default 0, received DECIMAL(19,5) NOT NULL default 0, " + + "purchaseorderitemid BIGINT REFERENCES apurchaseorderitem" + + ")"); + + //WORKORDERITEM SCHEDULED USER + await ExecQueryAsync("CREATE TABLE aworkorderitemscheduleduser (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " + + "userid BIGINT REFERENCES auser, startdate TIMESTAMP, stopdate TIMESTAMP, servicerateid BIGINT REFERENCES aservicerate, " + + "estimatedquantity DECIMAL(19,5) NOT NULL default 0" + + ")"); + + await ExecQueryAsync("CREATE TABLE aworkorderitemtask (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); + await ExecQueryAsync("CREATE TABLE aworkorderitemtravel (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " + + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); + + await ExecQueryAsync("CREATE TABLE aworkorderitemunit (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " + + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); + + + //POITEM LINK await ExecQueryAsync("ALTER TABLE apurchaseorderitem ADD column workorderitempartrequestid BIGINT REFERENCES aworkorderitempartrequest"); @@ -830,18 +850,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); + "left outer join vpartsonordercommitted on (vpartinventorynow.partid = vpartsonordercommitted.partid and vpartinventorynow.partwarehouseid = vpartsonordercommitted.partwarehouseid)" + "left outer join vpartsonorder on (vpartinventorynow.partid = vpartsonorder.partid and vpartinventorynow.partwarehouseid = vpartsonorder.partwarehouseid)"); - await ExecQueryAsync("CREATE TABLE aworkorderitemscheduleduser (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " - + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); - - await ExecQueryAsync("CREATE TABLE aworkorderitemtask (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " - + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); - - await ExecQueryAsync("CREATE TABLE aworkorderitemtravel (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " - + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); - - await ExecQueryAsync("CREATE TABLE aworkorderitemunit (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, workorderitemid BIGINT NOT NULL REFERENCES aworkorderitem (id), " - + "notes TEXT, customfields TEXT, tags VARCHAR(255) ARRAY)"); - //---------- //WORKORDERTEMPLATE