@seedtactics/insight-client 17.0.1-beta.6 → 17.0.1-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,8 +59,6 @@ export declare class JobsClient {
59
59
  protected processCancelLoad(response: Response): Promise<void>;
60
60
  invalidatePalletCycle(materialId: number, operName: string | null | undefined, changeCastingTo: string | null | undefined, changeJobUniqueTo: string | null | undefined, process: number, signal?: AbortSignal): Promise<MaterialDetails>;
61
61
  protected processInvalidatePalletCycle(response: Response): Promise<MaterialDetails>;
62
- swapMaterialOnPallet(materialId: number, operName: string | null | undefined, mat: MatToPutOnPallet, signal?: AbortSignal): Promise<void>;
63
- protected processSwapMaterialOnPallet(response: Response): Promise<void>;
64
62
  bulkRemoveMaterialFromQueues(operName: string | null | undefined, id: number[], signal?: AbortSignal): Promise<void>;
65
63
  protected processBulkRemoveMaterialFromQueues(response: Response): Promise<void>;
66
64
  decrementQuantities(loadDecrementsStrictlyAfterDecrementId: number | null | undefined, loadDecrementsAfterTimeUTC: Date | null | undefined, signal?: AbortSignal): Promise<JobAndDecrementQuantity[]>;
@@ -148,7 +146,6 @@ export declare class FMSInfo implements IFMSInfo {
148
146
  customStationMonitorDialogUrl?: string | undefined;
149
147
  supportsRebookings?: string | undefined;
150
148
  allowChangeWorkorderAtLoadStation?: boolean | undefined;
151
- allowSwapSerialAtLoadStation?: boolean | undefined;
152
149
  allowInvalidateMaterialAtLoadStation?: boolean | undefined;
153
150
  loadStationNames?: {
154
151
  [key: string]: string;
@@ -179,7 +176,6 @@ export interface IFMSInfo {
179
176
  customStationMonitorDialogUrl?: string | undefined;
180
177
  supportsRebookings?: string | undefined;
181
178
  allowChangeWorkorderAtLoadStation?: boolean | undefined;
182
- allowSwapSerialAtLoadStation?: boolean | undefined;
183
179
  allowInvalidateMaterialAtLoadStation?: boolean | undefined;
184
180
  loadStationNames?: {
185
181
  [key: string]: string;
@@ -202,7 +198,6 @@ export declare class ServerEvent implements IServerEvent {
202
198
  logEntry?: LogEntry | undefined;
203
199
  newJobs?: NewJobs | undefined;
204
200
  newCurrentStatus?: CurrentStatus | undefined;
205
- editMaterialInLog?: EditMaterialInLogEvents | undefined;
206
201
  constructor(data?: IServerEvent);
207
202
  init(_data?: any): void;
208
203
  static fromJS(data: any): ServerEvent;
@@ -212,7 +207,6 @@ export interface IServerEvent {
212
207
  logEntry?: LogEntry | undefined;
213
208
  newJobs?: NewJobs | undefined;
214
209
  newCurrentStatus?: CurrentStatus | undefined;
215
- editMaterialInLog?: EditMaterialInLogEvents | undefined;
216
210
  }
217
211
  export declare class LogEntry implements ILogEntry {
218
212
  counter: number;
@@ -1060,6 +1054,7 @@ export declare enum WorkorderSerialCloseout {
1060
1054
  }
1061
1055
  export declare class BasketStatus implements IBasketStatus {
1062
1056
  basketId: number;
1057
+ loadStationWork?: BasketLoadStationWork | undefined;
1063
1058
  position?: BasketPosition | undefined;
1064
1059
  emptySlots?: number[];
1065
1060
  unknownSlots?: number[];
@@ -1070,10 +1065,33 @@ export declare class BasketStatus implements IBasketStatus {
1070
1065
  }
1071
1066
  export interface IBasketStatus {
1072
1067
  basketId: number;
1068
+ loadStationWork?: BasketLoadStationWork | undefined;
1073
1069
  position?: BasketPosition | undefined;
1074
1070
  emptySlots?: number[];
1075
1071
  unknownSlots?: number[];
1076
1072
  }
1073
+ export declare class BasketLoadStationWork implements IBasketLoadStationWork {
1074
+ workId: string;
1075
+ type: BasketLoadStationWorkType;
1076
+ readyToConfirm: boolean;
1077
+ confirmationBlockedReason?: string | undefined;
1078
+ awaitingMaterialSlots?: number[];
1079
+ constructor(data?: IBasketLoadStationWork);
1080
+ init(_data?: any): void;
1081
+ static fromJS(data: any): BasketLoadStationWork;
1082
+ toJSON(data?: any): any;
1083
+ }
1084
+ export interface IBasketLoadStationWork {
1085
+ workId: string;
1086
+ type: BasketLoadStationWorkType;
1087
+ readyToConfirm: boolean;
1088
+ confirmationBlockedReason?: string | undefined;
1089
+ awaitingMaterialSlots?: number[];
1090
+ }
1091
+ export declare enum BasketLoadStationWorkType {
1092
+ Material = "Material",
1093
+ ConfirmEmptyBasket = "ConfirmEmptyBasket"
1094
+ }
1077
1095
  export declare class BasketPosition implements IBasketPosition {
1078
1096
  location: BasketLocationEnum;
1079
1097
  locationNum: number;
@@ -1128,20 +1146,6 @@ export declare enum BasketMoveReason {
1128
1146
  RemoveForCorrection = "RemoveForCorrection",
1129
1147
  Other = "Other"
1130
1148
  }
1131
- export declare class EditMaterialInLogEvents implements IEditMaterialInLogEvents {
1132
- oldMaterialID: number;
1133
- newMaterialID: number;
1134
- editedEvents: LogEntry[];
1135
- constructor(data?: IEditMaterialInLogEvents);
1136
- init(_data?: any): void;
1137
- static fromJS(data: any): EditMaterialInLogEvents;
1138
- toJSON(data?: any): any;
1139
- }
1140
- export interface IEditMaterialInLogEvents {
1141
- oldMaterialID: number;
1142
- newMaterialID: number;
1143
- editedEvents: LogEntry[];
1144
- }
1145
1149
  export declare class ProblemDetails implements IProblemDetails {
1146
1150
  type?: string | undefined;
1147
1151
  title?: string | undefined;
@@ -1378,18 +1382,6 @@ export interface ICancelLoadRequest {
1378
1382
  expectedLoadCancellationId: string;
1379
1383
  reason?: string | undefined;
1380
1384
  }
1381
- export declare class MatToPutOnPallet implements IMatToPutOnPallet {
1382
- pallet: number;
1383
- materialIDToSetOnPallet: number;
1384
- constructor(data?: IMatToPutOnPallet);
1385
- init(_data?: any): void;
1386
- static fromJS(data: any): MatToPutOnPallet;
1387
- toJSON(data?: any): any;
1388
- }
1389
- export interface IMatToPutOnPallet {
1390
- pallet: number;
1391
- materialIDToSetOnPallet: number;
1392
- }
1393
1385
  export declare class JobAndDecrementQuantity implements IJobAndDecrementQuantity {
1394
1386
  decrementId: number;
1395
1387
  jobUnique: string;
@@ -1033,45 +1033,6 @@ export class JobsClient {
1033
1033
  }
1034
1034
  return Promise.resolve(null);
1035
1035
  }
1036
- swapMaterialOnPallet(materialId, operName, mat, signal) {
1037
- let url_ = this.baseUrl + "/api/v1/jobs/material/{materialId}/swap-off-pallet?";
1038
- if (materialId === undefined || materialId === null)
1039
- throw new globalThis.Error("The parameter 'materialId' must be defined.");
1040
- url_ = url_.replace("{materialId}", encodeURIComponent("" + materialId));
1041
- if (operName !== undefined && operName !== null)
1042
- url_ += "operName=" + encodeURIComponent("" + operName) + "&";
1043
- url_ = url_.replace(/[?&]$/, "");
1044
- const content_ = JSON.stringify(mat);
1045
- let options_ = {
1046
- body: content_,
1047
- method: "PUT",
1048
- signal,
1049
- headers: {
1050
- "Content-Type": "application/json",
1051
- },
1052
- };
1053
- return this.http.fetch(url_, options_).then((_response) => {
1054
- return this.processSwapMaterialOnPallet(_response);
1055
- });
1056
- }
1057
- processSwapMaterialOnPallet(response) {
1058
- const status = response.status;
1059
- let _headers = {};
1060
- if (response.headers && response.headers.forEach) {
1061
- response.headers.forEach((v, k) => (_headers[k] = v));
1062
- }
1063
- if (status === 200) {
1064
- return response.text().then((_responseText) => {
1065
- return;
1066
- });
1067
- }
1068
- else if (status !== 200 && status !== 204) {
1069
- return response.text().then((_responseText) => {
1070
- return throwException("An unexpected server error occurred.", status, _responseText, _headers);
1071
- });
1072
- }
1073
- return Promise.resolve(null);
1074
- }
1075
1036
  bulkRemoveMaterialFromQueues(operName, id, signal) {
1076
1037
  let url_ = this.baseUrl + "/api/v1/jobs/material?";
1077
1038
  if (operName !== undefined && operName !== null)
@@ -2376,7 +2337,6 @@ export class FMSInfo {
2376
2337
  this.customStationMonitorDialogUrl = _data["CustomStationMonitorDialogUrl"];
2377
2338
  this.supportsRebookings = _data["SupportsRebookings"];
2378
2339
  this.allowChangeWorkorderAtLoadStation = _data["AllowChangeWorkorderAtLoadStation"];
2379
- this.allowSwapSerialAtLoadStation = _data["AllowSwapSerialAtLoadStation"];
2380
2340
  this.allowInvalidateMaterialAtLoadStation = _data["AllowInvalidateMaterialAtLoadStation"];
2381
2341
  if (_data["LoadStationNames"]) {
2382
2342
  this.loadStationNames = {};
@@ -2423,7 +2383,6 @@ export class FMSInfo {
2423
2383
  data["CustomStationMonitorDialogUrl"] = this.customStationMonitorDialogUrl;
2424
2384
  data["SupportsRebookings"] = this.supportsRebookings;
2425
2385
  data["AllowChangeWorkorderAtLoadStation"] = this.allowChangeWorkorderAtLoadStation;
2426
- data["AllowSwapSerialAtLoadStation"] = this.allowSwapSerialAtLoadStation;
2427
2386
  data["AllowInvalidateMaterialAtLoadStation"] = this.allowInvalidateMaterialAtLoadStation;
2428
2387
  if (this.loadStationNames) {
2429
2388
  data["LoadStationNames"] = {};
@@ -2467,9 +2426,6 @@ export class ServerEvent {
2467
2426
  this.newCurrentStatus = _data["NewCurrentStatus"]
2468
2427
  ? CurrentStatus.fromJS(_data["NewCurrentStatus"])
2469
2428
  : undefined;
2470
- this.editMaterialInLog = _data["EditMaterialInLog"]
2471
- ? EditMaterialInLogEvents.fromJS(_data["EditMaterialInLog"])
2472
- : undefined;
2473
2429
  }
2474
2430
  }
2475
2431
  static fromJS(data) {
@@ -2485,9 +2441,6 @@ export class ServerEvent {
2485
2441
  data["NewCurrentStatus"] = this.newCurrentStatus
2486
2442
  ? this.newCurrentStatus.toJSON()
2487
2443
  : undefined;
2488
- data["EditMaterialInLog"] = this.editMaterialInLog
2489
- ? this.editMaterialInLog.toJSON()
2490
- : undefined;
2491
2444
  return data;
2492
2445
  }
2493
2446
  }
@@ -4412,6 +4365,9 @@ export class BasketStatus {
4412
4365
  init(_data) {
4413
4366
  if (_data) {
4414
4367
  this.basketId = _data["BasketId"];
4368
+ this.loadStationWork = _data["LoadStationWork"]
4369
+ ? BasketLoadStationWork.fromJS(_data["LoadStationWork"])
4370
+ : undefined;
4415
4371
  this.position = _data["Position"]
4416
4372
  ? BasketPosition.fromJS(_data["Position"])
4417
4373
  : undefined;
@@ -4436,6 +4392,9 @@ export class BasketStatus {
4436
4392
  toJSON(data) {
4437
4393
  data = typeof data === "object" ? data : {};
4438
4394
  data["BasketId"] = this.basketId;
4395
+ data["LoadStationWork"] = this.loadStationWork
4396
+ ? this.loadStationWork.toJSON()
4397
+ : undefined;
4439
4398
  data["Position"] = this.position ? this.position.toJSON() : undefined;
4440
4399
  if (Array.isArray(this.emptySlots)) {
4441
4400
  data["EmptySlots"] = [];
@@ -4450,6 +4409,53 @@ export class BasketStatus {
4450
4409
  return data;
4451
4410
  }
4452
4411
  }
4412
+ export class BasketLoadStationWork {
4413
+ constructor(data) {
4414
+ if (data) {
4415
+ for (var property in data) {
4416
+ if (data.hasOwnProperty(property))
4417
+ this[property] = data[property];
4418
+ }
4419
+ }
4420
+ }
4421
+ init(_data) {
4422
+ if (_data) {
4423
+ this.workId = _data["WorkId"];
4424
+ this.type = _data["Type"];
4425
+ this.readyToConfirm = _data["ReadyToConfirm"];
4426
+ this.confirmationBlockedReason = _data["ConfirmationBlockedReason"];
4427
+ if (Array.isArray(_data["AwaitingMaterialSlots"])) {
4428
+ this.awaitingMaterialSlots = [];
4429
+ for (let item of _data["AwaitingMaterialSlots"])
4430
+ this.awaitingMaterialSlots.push(item);
4431
+ }
4432
+ }
4433
+ }
4434
+ static fromJS(data) {
4435
+ data = typeof data === "object" ? data : {};
4436
+ let result = new BasketLoadStationWork();
4437
+ result.init(data);
4438
+ return result;
4439
+ }
4440
+ toJSON(data) {
4441
+ data = typeof data === "object" ? data : {};
4442
+ data["WorkId"] = this.workId;
4443
+ data["Type"] = this.type;
4444
+ data["ReadyToConfirm"] = this.readyToConfirm;
4445
+ data["ConfirmationBlockedReason"] = this.confirmationBlockedReason;
4446
+ if (Array.isArray(this.awaitingMaterialSlots)) {
4447
+ data["AwaitingMaterialSlots"] = [];
4448
+ for (let item of this.awaitingMaterialSlots)
4449
+ data["AwaitingMaterialSlots"].push(item);
4450
+ }
4451
+ return data;
4452
+ }
4453
+ }
4454
+ export var BasketLoadStationWorkType;
4455
+ (function (BasketLoadStationWorkType) {
4456
+ BasketLoadStationWorkType["Material"] = "Material";
4457
+ BasketLoadStationWorkType["ConfirmEmptyBasket"] = "ConfirmEmptyBasket";
4458
+ })(BasketLoadStationWorkType || (BasketLoadStationWorkType = {}));
4453
4459
  export class BasketPosition {
4454
4460
  constructor(data) {
4455
4461
  if (data) {
@@ -4543,47 +4549,6 @@ export var BasketMoveReason;
4543
4549
  BasketMoveReason["RemoveForCorrection"] = "RemoveForCorrection";
4544
4550
  BasketMoveReason["Other"] = "Other";
4545
4551
  })(BasketMoveReason || (BasketMoveReason = {}));
4546
- export class EditMaterialInLogEvents {
4547
- constructor(data) {
4548
- if (data) {
4549
- for (var property in data) {
4550
- if (data.hasOwnProperty(property))
4551
- this[property] = data[property];
4552
- }
4553
- }
4554
- if (!data) {
4555
- this.editedEvents = [];
4556
- }
4557
- }
4558
- init(_data) {
4559
- if (_data) {
4560
- this.oldMaterialID = _data["OldMaterialID"];
4561
- this.newMaterialID = _data["NewMaterialID"];
4562
- if (Array.isArray(_data["EditedEvents"])) {
4563
- this.editedEvents = [];
4564
- for (let item of _data["EditedEvents"])
4565
- this.editedEvents.push(LogEntry.fromJS(item));
4566
- }
4567
- }
4568
- }
4569
- static fromJS(data) {
4570
- data = typeof data === "object" ? data : {};
4571
- let result = new EditMaterialInLogEvents();
4572
- result.init(data);
4573
- return result;
4574
- }
4575
- toJSON(data) {
4576
- data = typeof data === "object" ? data : {};
4577
- data["OldMaterialID"] = this.oldMaterialID;
4578
- data["NewMaterialID"] = this.newMaterialID;
4579
- if (Array.isArray(this.editedEvents)) {
4580
- data["EditedEvents"] = [];
4581
- for (let item of this.editedEvents)
4582
- data["EditedEvents"].push(item ? item.toJSON() : undefined);
4583
- }
4584
- return data;
4585
- }
4586
- }
4587
4552
  export class ProblemDetails {
4588
4553
  constructor(data) {
4589
4554
  if (data) {
@@ -5200,34 +5165,6 @@ export class CancelLoadRequest {
5200
5165
  return data;
5201
5166
  }
5202
5167
  }
5203
- export class MatToPutOnPallet {
5204
- constructor(data) {
5205
- if (data) {
5206
- for (var property in data) {
5207
- if (data.hasOwnProperty(property))
5208
- this[property] = data[property];
5209
- }
5210
- }
5211
- }
5212
- init(_data) {
5213
- if (_data) {
5214
- this.pallet = _data["Pallet"];
5215
- this.materialIDToSetOnPallet = _data["MaterialIDToSetOnPallet"];
5216
- }
5217
- }
5218
- static fromJS(data) {
5219
- data = typeof data === "object" ? data : {};
5220
- let result = new MatToPutOnPallet();
5221
- result.init(data);
5222
- return result;
5223
- }
5224
- toJSON(data) {
5225
- data = typeof data === "object" ? data : {};
5226
- data["Pallet"] = this.pallet;
5227
- data["MaterialIDToSetOnPallet"] = this.materialIDToSetOnPallet;
5228
- return data;
5229
- }
5230
- }
5231
5168
  export class JobAndDecrementQuantity {
5232
5169
  constructor(data) {
5233
5170
  if (data) {
@@ -232,9 +232,6 @@ export function registerMockBackend(offsetSeconds, mockD, mockEvts) {
232
232
  cancelLoad() {
233
233
  return Promise.resolve();
234
234
  },
235
- swapMaterialOnPallet() {
236
- return Promise.resolve();
237
- },
238
235
  invalidatePalletCycle() {
239
236
  return Promise.resolve(null);
240
237
  },
@@ -13,7 +13,6 @@ export interface JobAPI {
13
13
  signalMaterialForQuarantine(materialId: number, operName: string | null, reason: string | undefined): Promise<void>;
14
14
  quarantineQueuedMaterial(materialId: number, operName: string | null, reason: string | undefined): Promise<void>;
15
15
  cancelLoad(materialId: number, operName: string | null, request: Readonly<api.ICancelLoadRequest>): Promise<void>;
16
- swapMaterialOnPallet(materialId: number, operName: string | null, mat: Readonly<api.IMatToPutOnPallet>): Promise<void>;
17
16
  invalidatePalletCycle(materialId: number, operName: string | null | undefined, changeCastingTo: string | null | undefined, changeJobUniqueTo: string | null | undefined, process: number): Promise<Readonly<api.IMaterialDetails> | null | undefined>;
18
17
  unscheduledRebookings(signal?: AbortSignal): Promise<ReadonlyArray<Readonly<api.IRebooking>> | null>;
19
18
  }
@@ -94,9 +94,9 @@ quarantine queue. That material can then be re-introduced back into the queue so
94
94
  FMS Insight matches the material on the shop floor. In addition, FMS Insight allows the ability to
95
95
  invalidate the inadvertent load events that were created.
96
96
 
97
- Finally, in certain situations depending on the specific configuration of the jobs and queues, FMS
98
- Insight supports a serial swap. FMS Insight assumes the material that is loaded is the first
99
- material in the queue which matches the job the cell controller expects. If the serial actually
100
- loaded is different but the job and details match, the supervisor can swap the two serials on the
101
- supervisor's material page. This is a data-only change and no change is made to the cell controller.
102
- If a swap cannot be performed, the material must be quarantined and invalidated as described above.
97
+ Insight does not reassign recorded pallet manufacturing history from one material identity to
98
+ another. If machining was attributed to the wrong identity, record an explanatory operator note and
99
+ use the installation's traceability exception procedure. Quarantine, invalidation, and readmission
100
+ do not transfer that manufacturing result to a different identity. Do not repeat machining solely to
101
+ repair the record. Ordinary serial-label assignment remains available when the tracked material
102
+ identity is correct and only its label needs correction.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedtactics/insight-client",
3
- "version": "17.0.1-beta.6",
3
+ "version": "17.0.1-beta.8",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "url": "https://github.com/SeedTactics/fms-insight"