@kipicore/dbcore 1.1.574 → 1.1.575
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.
- package/dist/constants/app.d.ts +117 -0
- package/dist/constants/app.js +134 -1
- package/dist/constants/errorMessages.d.ts +10 -0
- package/dist/constants/errorMessages.js +12 -1
- package/dist/constants/successMessages.d.ts +12 -0
- package/dist/constants/successMessages.js +14 -1
- package/dist/db/psql/migrations/20260615045636-add_rms_models.d.ts +2 -0
- package/dist/db/psql/migrations/20260615045636-add_rms_models.js +276 -0
- package/dist/db/psql/migrations/20260615083628-add_storage_and_asset_transactions.d.ts +2 -0
- package/dist/db/psql/migrations/20260615083628-add_storage_and_asset_transactions.js +60 -0
- package/dist/interfaces/index.d.ts +18 -0
- package/dist/interfaces/index.js +18 -0
- package/dist/interfaces/rmsAssetInterface.d.ts +15 -0
- package/dist/interfaces/rmsAssetInterface.js +2 -0
- package/dist/interfaces/rmsAssetTransactionInterface.d.ts +16 -0
- package/dist/interfaces/rmsAssetTransactionInterface.js +2 -0
- package/dist/interfaces/rmsAuditLogInterface.d.ts +17 -0
- package/dist/interfaces/rmsAuditLogInterface.js +2 -0
- package/dist/interfaces/rmsDepartmentInterface.d.ts +10 -0
- package/dist/interfaces/rmsDepartmentInterface.js +2 -0
- package/dist/interfaces/rmsGrnInterface.d.ts +14 -0
- package/dist/interfaces/rmsGrnInterface.js +2 -0
- package/dist/interfaces/rmsGrnItemInterface.d.ts +13 -0
- package/dist/interfaces/rmsGrnItemInterface.js +2 -0
- package/dist/interfaces/rmsLocationInterface.d.ts +12 -0
- package/dist/interfaces/rmsLocationInterface.js +2 -0
- package/dist/interfaces/rmsPurchaseOrderInterface.d.ts +17 -0
- package/dist/interfaces/rmsPurchaseOrderInterface.js +2 -0
- package/dist/interfaces/rmsPurchaseOrderItemInterface.d.ts +13 -0
- package/dist/interfaces/rmsPurchaseOrderItemInterface.js +2 -0
- package/dist/interfaces/rmsPurchaseRequestInterface.d.ts +14 -0
- package/dist/interfaces/rmsPurchaseRequestInterface.js +2 -0
- package/dist/interfaces/rmsPurchaseRequestItemInterface.d.ts +13 -0
- package/dist/interfaces/rmsPurchaseRequestItemInterface.js +2 -0
- package/dist/interfaces/rmsRequestApprovalInterface.d.ts +13 -0
- package/dist/interfaces/rmsRequestApprovalInterface.js +2 -0
- package/dist/interfaces/rmsResourceDetailsInterface.d.ts +19 -0
- package/dist/interfaces/rmsResourceDetailsInterface.js +2 -0
- package/dist/interfaces/rmsResourceInterface.d.ts +23 -0
- package/dist/interfaces/rmsResourceInterface.js +2 -0
- package/dist/interfaces/rmsStockInterface.d.ts +17 -0
- package/dist/interfaces/rmsStockInterface.js +2 -0
- package/dist/interfaces/rmsStockTransactionInterface.d.ts +18 -0
- package/dist/interfaces/rmsStockTransactionInterface.js +2 -0
- package/dist/interfaces/rmsStorageInterface.d.ts +17 -0
- package/dist/interfaces/rmsStorageInterface.js +2 -0
- package/dist/interfaces/rmsVendorDocumentInterface.d.ts +11 -0
- package/dist/interfaces/rmsVendorDocumentInterface.js +2 -0
- package/dist/interfaces/rmsVendorInterface.d.ts +16 -0
- package/dist/interfaces/rmsVendorInterface.js +2 -0
- package/dist/models/mongodb/index.d.ts +2 -0
- package/dist/models/mongodb/index.js +5 -1
- package/dist/models/mongodb/rmsAuditLogModel.d.ts +4 -0
- package/dist/models/mongodb/rmsAuditLogModel.js +99 -0
- package/dist/models/mongodb/rmsResourceDetailsModel.d.ts +8 -0
- package/dist/models/mongodb/rmsResourceDetailsModel.js +57 -0
- package/dist/models/psql/index.d.ts +18 -0
- package/dist/models/psql/index.js +39 -1
- package/dist/models/psql/rmsAssetModel.d.ts +25 -0
- package/dist/models/psql/rmsAssetModel.js +80 -0
- package/dist/models/psql/rmsAssetTransactionModel.d.ts +26 -0
- package/dist/models/psql/rmsAssetTransactionModel.js +89 -0
- package/dist/models/psql/rmsDepartmentModel.d.ts +20 -0
- package/dist/models/psql/rmsDepartmentModel.js +67 -0
- package/dist/models/psql/rmsGrnItemModel.d.ts +23 -0
- package/dist/models/psql/rmsGrnItemModel.js +75 -0
- package/dist/models/psql/rmsGrnModel.d.ts +24 -0
- package/dist/models/psql/rmsGrnModel.js +74 -0
- package/dist/models/psql/rmsLocationModel.d.ts +22 -0
- package/dist/models/psql/rmsLocationModel.js +79 -0
- package/dist/models/psql/rmsPurchaseOrderItemModel.d.ts +23 -0
- package/dist/models/psql/rmsPurchaseOrderItemModel.js +89 -0
- package/dist/models/psql/rmsPurchaseOrderModel.d.ts +27 -0
- package/dist/models/psql/rmsPurchaseOrderModel.js +108 -0
- package/dist/models/psql/rmsPurchaseRequestItemModel.d.ts +23 -0
- package/dist/models/psql/rmsPurchaseRequestItemModel.js +86 -0
- package/dist/models/psql/rmsPurchaseRequestModel.d.ts +24 -0
- package/dist/models/psql/rmsPurchaseRequestModel.js +96 -0
- package/dist/models/psql/rmsRequestApprovalModel.d.ts +23 -0
- package/dist/models/psql/rmsRequestApprovalModel.js +79 -0
- package/dist/models/psql/rmsResourceModel.d.ts +33 -0
- package/dist/models/psql/rmsResourceModel.js +147 -0
- package/dist/models/psql/rmsStockModel.d.ts +27 -0
- package/dist/models/psql/rmsStockModel.js +113 -0
- package/dist/models/psql/rmsStockTransactionModel.d.ts +28 -0
- package/dist/models/psql/rmsStockTransactionModel.js +113 -0
- package/dist/models/psql/rmsStorageRackModel.d.ts +20 -0
- package/dist/models/psql/rmsStorageRackModel.js +57 -0
- package/dist/models/psql/rmsStorageSlotModel.d.ts +19 -0
- package/dist/models/psql/rmsStorageSlotModel.js +53 -0
- package/dist/models/psql/rmsVendorDocumentModel.d.ts +21 -0
- package/dist/models/psql/rmsVendorDocumentModel.js +80 -0
- package/dist/models/psql/rmsVendorModel.d.ts +27 -0
- package/dist/models/psql/rmsVendorModel.js +95 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.js +19 -0
- package/dist/types/rmsAssetTransactionType.d.ts +3 -0
- package/dist/types/rmsAssetTransactionType.js +2 -0
- package/dist/types/rmsAssetType.d.ts +3 -0
- package/dist/types/rmsAssetType.js +2 -0
- package/dist/types/rmsAuditLogType.d.ts +3 -0
- package/dist/types/rmsAuditLogType.js +2 -0
- package/dist/types/rmsDepartmentType.d.ts +3 -0
- package/dist/types/rmsDepartmentType.js +2 -0
- package/dist/types/rmsGrnItemType.d.ts +3 -0
- package/dist/types/rmsGrnItemType.js +2 -0
- package/dist/types/rmsGrnType.d.ts +3 -0
- package/dist/types/rmsGrnType.js +2 -0
- package/dist/types/rmsLocationType.d.ts +3 -0
- package/dist/types/rmsLocationType.js +2 -0
- package/dist/types/rmsPurchaseOrderItemType.d.ts +3 -0
- package/dist/types/rmsPurchaseOrderItemType.js +2 -0
- package/dist/types/rmsPurchaseOrderType.d.ts +3 -0
- package/dist/types/rmsPurchaseOrderType.js +2 -0
- package/dist/types/rmsPurchaseRequestItemType.d.ts +3 -0
- package/dist/types/rmsPurchaseRequestItemType.js +2 -0
- package/dist/types/rmsPurchaseRequestType.d.ts +3 -0
- package/dist/types/rmsPurchaseRequestType.js +2 -0
- package/dist/types/rmsRequestApprovalType.d.ts +3 -0
- package/dist/types/rmsRequestApprovalType.js +2 -0
- package/dist/types/rmsResourceDetailsType.d.ts +2 -0
- package/dist/types/rmsResourceDetailsType.js +2 -0
- package/dist/types/rmsResourceType.d.ts +3 -0
- package/dist/types/rmsResourceType.js +2 -0
- package/dist/types/rmsStockTransactionType.d.ts +3 -0
- package/dist/types/rmsStockTransactionType.js +2 -0
- package/dist/types/rmsStockType.d.ts +3 -0
- package/dist/types/rmsStockType.js +2 -0
- package/dist/types/rmsStorageType.d.ts +4 -0
- package/dist/types/rmsStorageType.js +2 -0
- package/dist/types/rmsVendorDocumentType.d.ts +3 -0
- package/dist/types/rmsVendorDocumentType.js +2 -0
- package/dist/types/rmsVendorType.d.ts +3 -0
- package/dist/types/rmsVendorType.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sequelize_1 = require("sequelize");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const app_1 = require("../../constants/app");
|
|
6
|
+
class RmsPurchaseOrderModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { InstituteModel, UserModel, RmsVendorModel, RmsPurchaseRequestModel, RmsPurchaseOrderItemModel } = models;
|
|
9
|
+
RmsPurchaseOrderModel.belongsTo(InstituteModel, {
|
|
10
|
+
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
|
+
as: 'institute',
|
|
12
|
+
});
|
|
13
|
+
RmsPurchaseOrderModel.belongsTo(RmsPurchaseRequestModel, {
|
|
14
|
+
foreignKey: { name: 'purchaseRequestId', field: 'purchase_request_id' },
|
|
15
|
+
as: 'purchaseRequest',
|
|
16
|
+
});
|
|
17
|
+
RmsPurchaseOrderModel.belongsTo(RmsVendorModel, {
|
|
18
|
+
foreignKey: { name: 'vendorId', field: 'vendor_id' },
|
|
19
|
+
as: 'vendor',
|
|
20
|
+
});
|
|
21
|
+
RmsPurchaseOrderModel.hasMany(RmsPurchaseOrderItemModel, {
|
|
22
|
+
foreignKey: 'purchaseOrderId',
|
|
23
|
+
as: 'items',
|
|
24
|
+
});
|
|
25
|
+
RmsPurchaseOrderModel.belongsTo(UserModel, {
|
|
26
|
+
foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
|
|
27
|
+
as: 'createdByUser',
|
|
28
|
+
});
|
|
29
|
+
RmsPurchaseOrderModel.belongsTo(UserModel, {
|
|
30
|
+
foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
|
|
31
|
+
as: 'updatedByUser',
|
|
32
|
+
});
|
|
33
|
+
RmsPurchaseOrderModel.belongsTo(UserModel, {
|
|
34
|
+
foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
|
|
35
|
+
as: 'deletedByUser',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
RmsPurchaseOrderModel.init({
|
|
40
|
+
id: {
|
|
41
|
+
type: sequelize_1.DataTypes.UUID,
|
|
42
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
43
|
+
allowNull: false,
|
|
44
|
+
primaryKey: true,
|
|
45
|
+
},
|
|
46
|
+
instituteId: {
|
|
47
|
+
type: sequelize_1.DataTypes.UUID,
|
|
48
|
+
allowNull: false,
|
|
49
|
+
},
|
|
50
|
+
poNumber: {
|
|
51
|
+
type: sequelize_1.DataTypes.STRING,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
},
|
|
54
|
+
purchaseRequestId: {
|
|
55
|
+
type: sequelize_1.DataTypes.UUID,
|
|
56
|
+
allowNull: true,
|
|
57
|
+
},
|
|
58
|
+
vendorId: {
|
|
59
|
+
type: sequelize_1.DataTypes.UUID,
|
|
60
|
+
allowNull: false,
|
|
61
|
+
},
|
|
62
|
+
orderDate: {
|
|
63
|
+
type: sequelize_1.DataTypes.DATE,
|
|
64
|
+
allowNull: false,
|
|
65
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
66
|
+
},
|
|
67
|
+
expectedDeliveryDate: {
|
|
68
|
+
type: sequelize_1.DataTypes.DATE,
|
|
69
|
+
allowNull: true,
|
|
70
|
+
},
|
|
71
|
+
totalAmount: {
|
|
72
|
+
type: sequelize_1.DataTypes.DECIMAL(15, 2),
|
|
73
|
+
allowNull: false,
|
|
74
|
+
defaultValue: 0,
|
|
75
|
+
},
|
|
76
|
+
taxAmount: {
|
|
77
|
+
type: sequelize_1.DataTypes.DECIMAL(15, 2),
|
|
78
|
+
allowNull: false,
|
|
79
|
+
defaultValue: 0,
|
|
80
|
+
},
|
|
81
|
+
discountAmount: {
|
|
82
|
+
type: sequelize_1.DataTypes.DECIMAL(15, 2),
|
|
83
|
+
allowNull: false,
|
|
84
|
+
defaultValue: 0,
|
|
85
|
+
},
|
|
86
|
+
approvalStatus: {
|
|
87
|
+
type: sequelize_1.DataTypes.STRING,
|
|
88
|
+
allowNull: false,
|
|
89
|
+
defaultValue: app_1.RMS_APPROVAL_STATUS.DRAFT,
|
|
90
|
+
},
|
|
91
|
+
fulfillmentStatus: {
|
|
92
|
+
type: sequelize_1.DataTypes.STRING,
|
|
93
|
+
allowNull: false,
|
|
94
|
+
defaultValue: app_1.RMS_PO_FULFILLMENT_STATUS.PENDING,
|
|
95
|
+
},
|
|
96
|
+
status: {
|
|
97
|
+
type: sequelize_1.DataTypes.STRING,
|
|
98
|
+
allowNull: false,
|
|
99
|
+
defaultValue: app_1.COMMAN_STATUS.ACTIVE,
|
|
100
|
+
},
|
|
101
|
+
}, {
|
|
102
|
+
sequelize: index_1.sequelize,
|
|
103
|
+
modelName: 'RmsPurchaseOrderModel',
|
|
104
|
+
tableName: 'rms_purchase_orders',
|
|
105
|
+
timestamps: true,
|
|
106
|
+
paranoid: true,
|
|
107
|
+
});
|
|
108
|
+
exports.default = RmsPurchaseOrderModel;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IRmsPurchaseRequestItemAttributes } from '../../interfaces/rmsPurchaseRequestItemInterface';
|
|
3
|
+
import { TRmsPurchaseRequestItemCreationAttributes } from '../../types/rmsPurchaseRequestItemType';
|
|
4
|
+
declare class RmsPurchaseRequestItemModel extends Model<IRmsPurchaseRequestItemAttributes, TRmsPurchaseRequestItemCreationAttributes> {
|
|
5
|
+
id: string;
|
|
6
|
+
instituteId: string;
|
|
7
|
+
purchaseRequestId: string;
|
|
8
|
+
resourceId: string;
|
|
9
|
+
description?: string | null;
|
|
10
|
+
quantity: number;
|
|
11
|
+
estimatedRate?: number | null;
|
|
12
|
+
estimatedAmount?: number | null;
|
|
13
|
+
approvedQuantity?: number | null;
|
|
14
|
+
status: string;
|
|
15
|
+
createdBy?: string | null;
|
|
16
|
+
updatedBy?: string | null;
|
|
17
|
+
deletedBy?: string | null;
|
|
18
|
+
readonly createdAt?: Date;
|
|
19
|
+
readonly updatedAt?: Date;
|
|
20
|
+
readonly deletedAt?: Date | null;
|
|
21
|
+
static associate(models: any): void;
|
|
22
|
+
}
|
|
23
|
+
export default RmsPurchaseRequestItemModel;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sequelize_1 = require("sequelize");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const app_1 = require("../../constants/app");
|
|
6
|
+
class RmsPurchaseRequestItemModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { InstituteModel, RmsPurchaseRequestModel, RmsResourceModel, UserModel } = models;
|
|
9
|
+
RmsPurchaseRequestItemModel.belongsTo(InstituteModel, {
|
|
10
|
+
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
|
+
as: 'institute',
|
|
12
|
+
});
|
|
13
|
+
RmsPurchaseRequestItemModel.belongsTo(RmsPurchaseRequestModel, {
|
|
14
|
+
foreignKey: { name: 'purchaseRequestId', field: 'purchase_request_id' },
|
|
15
|
+
as: 'purchaseRequest',
|
|
16
|
+
});
|
|
17
|
+
RmsPurchaseRequestItemModel.belongsTo(RmsResourceModel, {
|
|
18
|
+
foreignKey: { name: 'resourceId', field: 'resource_id' },
|
|
19
|
+
as: 'resource',
|
|
20
|
+
});
|
|
21
|
+
RmsPurchaseRequestItemModel.belongsTo(UserModel, {
|
|
22
|
+
foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
|
|
23
|
+
as: 'createdByUser',
|
|
24
|
+
});
|
|
25
|
+
RmsPurchaseRequestItemModel.belongsTo(UserModel, {
|
|
26
|
+
foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
|
|
27
|
+
as: 'updatedByUser',
|
|
28
|
+
});
|
|
29
|
+
RmsPurchaseRequestItemModel.belongsTo(UserModel, {
|
|
30
|
+
foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
|
|
31
|
+
as: 'deletedByUser',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
RmsPurchaseRequestItemModel.init({
|
|
36
|
+
id: {
|
|
37
|
+
type: sequelize_1.DataTypes.UUID,
|
|
38
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
39
|
+
allowNull: false,
|
|
40
|
+
primaryKey: true,
|
|
41
|
+
},
|
|
42
|
+
instituteId: {
|
|
43
|
+
type: sequelize_1.DataTypes.UUID,
|
|
44
|
+
allowNull: false,
|
|
45
|
+
},
|
|
46
|
+
purchaseRequestId: {
|
|
47
|
+
type: sequelize_1.DataTypes.UUID,
|
|
48
|
+
allowNull: false,
|
|
49
|
+
},
|
|
50
|
+
resourceId: {
|
|
51
|
+
type: sequelize_1.DataTypes.UUID,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
},
|
|
54
|
+
description: {
|
|
55
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
56
|
+
allowNull: true,
|
|
57
|
+
},
|
|
58
|
+
quantity: {
|
|
59
|
+
type: sequelize_1.DataTypes.DECIMAL(10, 2),
|
|
60
|
+
allowNull: false,
|
|
61
|
+
},
|
|
62
|
+
estimatedRate: {
|
|
63
|
+
type: sequelize_1.DataTypes.DECIMAL(10, 2),
|
|
64
|
+
allowNull: true,
|
|
65
|
+
},
|
|
66
|
+
estimatedAmount: {
|
|
67
|
+
type: sequelize_1.DataTypes.DECIMAL(15, 2),
|
|
68
|
+
allowNull: true,
|
|
69
|
+
},
|
|
70
|
+
approvedQuantity: {
|
|
71
|
+
type: sequelize_1.DataTypes.DECIMAL(10, 2),
|
|
72
|
+
allowNull: true,
|
|
73
|
+
},
|
|
74
|
+
status: {
|
|
75
|
+
type: sequelize_1.DataTypes.STRING,
|
|
76
|
+
allowNull: false,
|
|
77
|
+
defaultValue: app_1.COMMAN_STATUS.ACTIVE,
|
|
78
|
+
},
|
|
79
|
+
}, {
|
|
80
|
+
sequelize: index_1.sequelize,
|
|
81
|
+
modelName: 'RmsPurchaseRequestItemModel',
|
|
82
|
+
tableName: 'rms_purchase_request_items',
|
|
83
|
+
timestamps: true,
|
|
84
|
+
paranoid: true,
|
|
85
|
+
});
|
|
86
|
+
exports.default = RmsPurchaseRequestItemModel;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IRmsPurchaseRequestAttributes } from '../../interfaces/rmsPurchaseRequestInterface';
|
|
3
|
+
import { TRmsPurchaseRequestCreationAttributes } from '../../types/rmsPurchaseRequestType';
|
|
4
|
+
import { RMS_APPROVAL_STATUS, RMS_PRIORITY } from '../../constants/app';
|
|
5
|
+
declare class RmsPurchaseRequestModel extends Model<IRmsPurchaseRequestAttributes, TRmsPurchaseRequestCreationAttributes> {
|
|
6
|
+
id: string;
|
|
7
|
+
instituteId: string;
|
|
8
|
+
requestNo: string;
|
|
9
|
+
requestedBy: string;
|
|
10
|
+
departmentId: string;
|
|
11
|
+
requiredDate: Date;
|
|
12
|
+
purpose?: string | null;
|
|
13
|
+
priority: RMS_PRIORITY;
|
|
14
|
+
approvalStatus: RMS_APPROVAL_STATUS;
|
|
15
|
+
status: string;
|
|
16
|
+
createdBy?: string | null;
|
|
17
|
+
updatedBy?: string | null;
|
|
18
|
+
deletedBy?: string | null;
|
|
19
|
+
readonly createdAt?: Date;
|
|
20
|
+
readonly updatedAt?: Date;
|
|
21
|
+
readonly deletedAt?: Date | null;
|
|
22
|
+
static associate(models: any): void;
|
|
23
|
+
}
|
|
24
|
+
export default RmsPurchaseRequestModel;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sequelize_1 = require("sequelize");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const app_1 = require("../../constants/app");
|
|
6
|
+
class RmsPurchaseRequestModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { InstituteModel, UserModel, RmsDepartmentModel, RmsPurchaseRequestItemModel, RmsPurchaseOrderModel } = models;
|
|
9
|
+
RmsPurchaseRequestModel.belongsTo(InstituteModel, {
|
|
10
|
+
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
|
+
as: 'institute',
|
|
12
|
+
});
|
|
13
|
+
RmsPurchaseRequestModel.belongsTo(UserModel, {
|
|
14
|
+
foreignKey: { name: 'requestedBy', field: 'requested_by' },
|
|
15
|
+
as: 'requester',
|
|
16
|
+
});
|
|
17
|
+
RmsPurchaseRequestModel.belongsTo(RmsDepartmentModel, {
|
|
18
|
+
foreignKey: { name: 'departmentId', field: 'department_id' },
|
|
19
|
+
as: 'department',
|
|
20
|
+
});
|
|
21
|
+
RmsPurchaseRequestModel.hasMany(RmsPurchaseRequestItemModel, {
|
|
22
|
+
foreignKey: 'purchaseRequestId',
|
|
23
|
+
as: 'items',
|
|
24
|
+
});
|
|
25
|
+
RmsPurchaseRequestModel.hasMany(RmsPurchaseOrderModel, {
|
|
26
|
+
foreignKey: 'purchaseRequestId',
|
|
27
|
+
as: 'purchaseOrders',
|
|
28
|
+
});
|
|
29
|
+
RmsPurchaseRequestModel.belongsTo(UserModel, {
|
|
30
|
+
foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
|
|
31
|
+
as: 'createdByUser',
|
|
32
|
+
});
|
|
33
|
+
RmsPurchaseRequestModel.belongsTo(UserModel, {
|
|
34
|
+
foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
|
|
35
|
+
as: 'updatedByUser',
|
|
36
|
+
});
|
|
37
|
+
RmsPurchaseRequestModel.belongsTo(UserModel, {
|
|
38
|
+
foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
|
|
39
|
+
as: 'deletedByUser',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
RmsPurchaseRequestModel.init({
|
|
44
|
+
id: {
|
|
45
|
+
type: sequelize_1.DataTypes.UUID,
|
|
46
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
47
|
+
allowNull: false,
|
|
48
|
+
primaryKey: true,
|
|
49
|
+
},
|
|
50
|
+
instituteId: {
|
|
51
|
+
type: sequelize_1.DataTypes.UUID,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
},
|
|
54
|
+
requestNo: {
|
|
55
|
+
type: sequelize_1.DataTypes.STRING,
|
|
56
|
+
allowNull: false,
|
|
57
|
+
},
|
|
58
|
+
requestedBy: {
|
|
59
|
+
type: sequelize_1.DataTypes.UUID,
|
|
60
|
+
allowNull: false,
|
|
61
|
+
},
|
|
62
|
+
departmentId: {
|
|
63
|
+
type: sequelize_1.DataTypes.UUID,
|
|
64
|
+
allowNull: false,
|
|
65
|
+
},
|
|
66
|
+
requiredDate: {
|
|
67
|
+
type: sequelize_1.DataTypes.DATE,
|
|
68
|
+
allowNull: false,
|
|
69
|
+
},
|
|
70
|
+
purpose: {
|
|
71
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
72
|
+
allowNull: true,
|
|
73
|
+
},
|
|
74
|
+
priority: {
|
|
75
|
+
type: sequelize_1.DataTypes.STRING,
|
|
76
|
+
allowNull: false,
|
|
77
|
+
defaultValue: app_1.RMS_PRIORITY.MEDIUM,
|
|
78
|
+
},
|
|
79
|
+
approvalStatus: {
|
|
80
|
+
type: sequelize_1.DataTypes.STRING,
|
|
81
|
+
allowNull: false,
|
|
82
|
+
defaultValue: app_1.RMS_APPROVAL_STATUS.DRAFT,
|
|
83
|
+
},
|
|
84
|
+
status: {
|
|
85
|
+
type: sequelize_1.DataTypes.STRING,
|
|
86
|
+
allowNull: false,
|
|
87
|
+
defaultValue: app_1.COMMAN_STATUS.ACTIVE,
|
|
88
|
+
},
|
|
89
|
+
}, {
|
|
90
|
+
sequelize: index_1.sequelize,
|
|
91
|
+
modelName: 'RmsPurchaseRequestModel',
|
|
92
|
+
tableName: 'rms_purchase_requests',
|
|
93
|
+
timestamps: true,
|
|
94
|
+
paranoid: true,
|
|
95
|
+
});
|
|
96
|
+
exports.default = RmsPurchaseRequestModel;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IRmsRequestApprovalAttributes } from '../../interfaces/rmsRequestApprovalInterface';
|
|
3
|
+
import { TRmsRequestApprovalCreationAttributes } from '../../types/rmsRequestApprovalType';
|
|
4
|
+
import { RMS_DECISION } from '../../constants/app';
|
|
5
|
+
declare class RmsRequestApprovalModel extends Model<IRmsRequestApprovalAttributes, TRmsRequestApprovalCreationAttributes> {
|
|
6
|
+
id: string;
|
|
7
|
+
instituteId: string;
|
|
8
|
+
entityType: string;
|
|
9
|
+
entityId: string;
|
|
10
|
+
approvalLevel: number;
|
|
11
|
+
approverId: string;
|
|
12
|
+
decision: RMS_DECISION;
|
|
13
|
+
comments?: string | null;
|
|
14
|
+
decidedAt?: Date | null;
|
|
15
|
+
createdBy?: string | null;
|
|
16
|
+
updatedBy?: string | null;
|
|
17
|
+
deletedBy?: string | null;
|
|
18
|
+
readonly createdAt?: Date;
|
|
19
|
+
readonly updatedAt?: Date;
|
|
20
|
+
readonly deletedAt?: Date | null;
|
|
21
|
+
static associate(models: any): void;
|
|
22
|
+
}
|
|
23
|
+
export default RmsRequestApprovalModel;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sequelize_1 = require("sequelize");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const app_1 = require("../../constants/app");
|
|
6
|
+
class RmsRequestApprovalModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { InstituteModel, UserModel } = models;
|
|
9
|
+
RmsRequestApprovalModel.belongsTo(InstituteModel, {
|
|
10
|
+
foreignKey: { name: 'instituteId', field: 'institute_id' },
|
|
11
|
+
as: 'institute',
|
|
12
|
+
});
|
|
13
|
+
RmsRequestApprovalModel.belongsTo(UserModel, {
|
|
14
|
+
foreignKey: { name: 'approverId', field: 'approver_id' },
|
|
15
|
+
as: 'approver',
|
|
16
|
+
});
|
|
17
|
+
RmsRequestApprovalModel.belongsTo(UserModel, {
|
|
18
|
+
foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true },
|
|
19
|
+
as: 'createdByUser',
|
|
20
|
+
});
|
|
21
|
+
RmsRequestApprovalModel.belongsTo(UserModel, {
|
|
22
|
+
foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true },
|
|
23
|
+
as: 'updatedByUser',
|
|
24
|
+
});
|
|
25
|
+
RmsRequestApprovalModel.belongsTo(UserModel, {
|
|
26
|
+
foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true },
|
|
27
|
+
as: 'deletedByUser',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
RmsRequestApprovalModel.init({
|
|
32
|
+
id: {
|
|
33
|
+
type: sequelize_1.DataTypes.UUID,
|
|
34
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
35
|
+
allowNull: false,
|
|
36
|
+
primaryKey: true,
|
|
37
|
+
},
|
|
38
|
+
instituteId: {
|
|
39
|
+
type: sequelize_1.DataTypes.UUID,
|
|
40
|
+
allowNull: false,
|
|
41
|
+
},
|
|
42
|
+
entityType: {
|
|
43
|
+
type: sequelize_1.DataTypes.STRING,
|
|
44
|
+
allowNull: false,
|
|
45
|
+
},
|
|
46
|
+
entityId: {
|
|
47
|
+
type: sequelize_1.DataTypes.UUID,
|
|
48
|
+
allowNull: false,
|
|
49
|
+
},
|
|
50
|
+
approvalLevel: {
|
|
51
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
defaultValue: 1,
|
|
54
|
+
},
|
|
55
|
+
approverId: {
|
|
56
|
+
type: sequelize_1.DataTypes.UUID,
|
|
57
|
+
allowNull: false,
|
|
58
|
+
},
|
|
59
|
+
decision: {
|
|
60
|
+
type: sequelize_1.DataTypes.STRING,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
defaultValue: app_1.RMS_DECISION.PENDING,
|
|
63
|
+
},
|
|
64
|
+
comments: {
|
|
65
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
66
|
+
allowNull: true,
|
|
67
|
+
},
|
|
68
|
+
decidedAt: {
|
|
69
|
+
type: sequelize_1.DataTypes.DATE,
|
|
70
|
+
allowNull: true,
|
|
71
|
+
},
|
|
72
|
+
}, {
|
|
73
|
+
sequelize: index_1.sequelize,
|
|
74
|
+
modelName: 'RmsRequestApprovalModel',
|
|
75
|
+
tableName: 'rms_request_approvals',
|
|
76
|
+
timestamps: true,
|
|
77
|
+
paranoid: true,
|
|
78
|
+
});
|
|
79
|
+
exports.default = RmsRequestApprovalModel;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IRmsResourceAttributes } from '../../interfaces/rmsResourceInterface';
|
|
3
|
+
import { TRmsResourceCreationAttributes } from '../../types/rmsResourceType';
|
|
4
|
+
import { COMMAN_STATUS, RMS_RESOURCE_TYPE, RMS_RESOURCE_UNIT } from '../../constants';
|
|
5
|
+
declare class RmsResourceModel extends Model<IRmsResourceAttributes, TRmsResourceCreationAttributes> implements IRmsResourceAttributes {
|
|
6
|
+
id: string;
|
|
7
|
+
instituteId: string;
|
|
8
|
+
resourceCode: string;
|
|
9
|
+
resourceName: string;
|
|
10
|
+
resourceType: RMS_RESOURCE_TYPE;
|
|
11
|
+
categoryId?: string | null;
|
|
12
|
+
subCategoryId?: string | null;
|
|
13
|
+
productId?: string | null;
|
|
14
|
+
unit: RMS_RESOURCE_UNIT;
|
|
15
|
+
departmentId?: string | null;
|
|
16
|
+
defaultLocationId?: string | null;
|
|
17
|
+
custodianId?: string | null;
|
|
18
|
+
description?: string | null;
|
|
19
|
+
minStockLevel: number;
|
|
20
|
+
reorderLevel: number;
|
|
21
|
+
isBatchTracked: boolean;
|
|
22
|
+
isExpiryTracked: boolean;
|
|
23
|
+
metadata?: object | null;
|
|
24
|
+
status: COMMAN_STATUS;
|
|
25
|
+
createdBy: string;
|
|
26
|
+
updatedBy: string;
|
|
27
|
+
deletedBy: string;
|
|
28
|
+
readonly createdAt: Date;
|
|
29
|
+
readonly updatedAt: Date;
|
|
30
|
+
readonly deletedAt?: string;
|
|
31
|
+
static associate(models: any): void;
|
|
32
|
+
}
|
|
33
|
+
export default RmsResourceModel;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sequelize_1 = require("sequelize");
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
class RmsResourceModel extends sequelize_1.Model {
|
|
7
|
+
static associate(models) {
|
|
8
|
+
const { UserModel, InstituteModel, CategoriesModel, SubCategoriesModel, ProductModel, RmsDepartmentModel, RmsLocationModel } = models;
|
|
9
|
+
RmsResourceModel.belongsTo(InstituteModel, { foreignKey: 'instituteId', as: 'institute' });
|
|
10
|
+
RmsResourceModel.belongsTo(CategoriesModel, { foreignKey: 'categoryId', as: 'category' });
|
|
11
|
+
RmsResourceModel.belongsTo(SubCategoriesModel, { foreignKey: 'subCategoryId', as: 'subCategory' });
|
|
12
|
+
RmsResourceModel.belongsTo(ProductModel, { foreignKey: 'productId', as: 'product' });
|
|
13
|
+
RmsResourceModel.belongsTo(RmsDepartmentModel, { foreignKey: 'departmentId', as: 'department' });
|
|
14
|
+
RmsResourceModel.belongsTo(RmsLocationModel, { foreignKey: 'defaultLocationId', as: 'defaultLocation' });
|
|
15
|
+
RmsResourceModel.belongsTo(UserModel, { foreignKey: 'custodianId', as: 'custodian' });
|
|
16
|
+
CategoriesModel.hasMany(RmsResourceModel, { foreignKey: 'categoryId', as: 'resources' });
|
|
17
|
+
SubCategoriesModel.hasMany(RmsResourceModel, { foreignKey: 'subCategoryId', as: 'resources' });
|
|
18
|
+
ProductModel.hasMany(RmsResourceModel, { foreignKey: 'productId', as: 'resources' });
|
|
19
|
+
RmsDepartmentModel.hasMany(RmsResourceModel, { foreignKey: 'departmentId', as: 'resources' });
|
|
20
|
+
RmsLocationModel.hasMany(RmsResourceModel, { foreignKey: 'defaultLocationId', as: 'resources' });
|
|
21
|
+
UserModel.hasMany(RmsResourceModel, { foreignKey: 'custodianId', as: 'resources' });
|
|
22
|
+
InstituteModel.hasMany(RmsResourceModel, { foreignKey: 'instituteId', as: 'resources' });
|
|
23
|
+
RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'createdBy', field: 'created_by', allowNull: true }, as: 'createdByUser' });
|
|
24
|
+
RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'updatedBy', field: 'updated_by', allowNull: true }, as: 'updatedByUser' });
|
|
25
|
+
RmsResourceModel.belongsTo(UserModel, { foreignKey: { name: 'deletedBy', field: 'deleted_by', allowNull: true }, as: 'deletedByUser' });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
RmsResourceModel.init({
|
|
29
|
+
id: {
|
|
30
|
+
type: sequelize_1.DataTypes.UUID,
|
|
31
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
32
|
+
primaryKey: true,
|
|
33
|
+
},
|
|
34
|
+
instituteId: {
|
|
35
|
+
type: sequelize_1.DataTypes.UUID,
|
|
36
|
+
allowNull: false,
|
|
37
|
+
field: 'institute_id',
|
|
38
|
+
},
|
|
39
|
+
resourceCode: {
|
|
40
|
+
type: sequelize_1.DataTypes.STRING,
|
|
41
|
+
allowNull: false,
|
|
42
|
+
field: 'resource_code',
|
|
43
|
+
},
|
|
44
|
+
resourceName: {
|
|
45
|
+
type: sequelize_1.DataTypes.STRING,
|
|
46
|
+
allowNull: false,
|
|
47
|
+
field: 'resource_name',
|
|
48
|
+
},
|
|
49
|
+
resourceType: {
|
|
50
|
+
type: sequelize_1.DataTypes.STRING,
|
|
51
|
+
allowNull: false,
|
|
52
|
+
field: 'resource_type',
|
|
53
|
+
},
|
|
54
|
+
categoryId: {
|
|
55
|
+
type: sequelize_1.DataTypes.UUID,
|
|
56
|
+
allowNull: true,
|
|
57
|
+
field: 'category_id',
|
|
58
|
+
},
|
|
59
|
+
subCategoryId: {
|
|
60
|
+
type: sequelize_1.DataTypes.UUID,
|
|
61
|
+
allowNull: true,
|
|
62
|
+
field: 'sub_category_id',
|
|
63
|
+
},
|
|
64
|
+
productId: {
|
|
65
|
+
type: sequelize_1.DataTypes.UUID,
|
|
66
|
+
allowNull: true,
|
|
67
|
+
field: 'product_id',
|
|
68
|
+
},
|
|
69
|
+
unit: {
|
|
70
|
+
type: sequelize_1.DataTypes.STRING,
|
|
71
|
+
allowNull: false,
|
|
72
|
+
},
|
|
73
|
+
departmentId: {
|
|
74
|
+
type: sequelize_1.DataTypes.UUID,
|
|
75
|
+
allowNull: true,
|
|
76
|
+
field: 'department_id',
|
|
77
|
+
},
|
|
78
|
+
defaultLocationId: {
|
|
79
|
+
type: sequelize_1.DataTypes.UUID,
|
|
80
|
+
allowNull: true,
|
|
81
|
+
field: 'default_location_id',
|
|
82
|
+
},
|
|
83
|
+
custodianId: {
|
|
84
|
+
type: sequelize_1.DataTypes.UUID,
|
|
85
|
+
allowNull: true,
|
|
86
|
+
field: 'custodian_id',
|
|
87
|
+
},
|
|
88
|
+
description: {
|
|
89
|
+
type: sequelize_1.DataTypes.TEXT,
|
|
90
|
+
allowNull: true,
|
|
91
|
+
},
|
|
92
|
+
minStockLevel: {
|
|
93
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
94
|
+
allowNull: false,
|
|
95
|
+
defaultValue: 0,
|
|
96
|
+
field: 'min_stock_level',
|
|
97
|
+
},
|
|
98
|
+
reorderLevel: {
|
|
99
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
100
|
+
allowNull: false,
|
|
101
|
+
defaultValue: 0,
|
|
102
|
+
field: 'reorder_level',
|
|
103
|
+
},
|
|
104
|
+
isBatchTracked: {
|
|
105
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
|
106
|
+
allowNull: false,
|
|
107
|
+
defaultValue: false,
|
|
108
|
+
field: 'is_batch_tracked',
|
|
109
|
+
},
|
|
110
|
+
isExpiryTracked: {
|
|
111
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
|
112
|
+
allowNull: false,
|
|
113
|
+
defaultValue: false,
|
|
114
|
+
field: 'is_expiry_tracked',
|
|
115
|
+
},
|
|
116
|
+
metadata: {
|
|
117
|
+
type: sequelize_1.DataTypes.JSONB,
|
|
118
|
+
allowNull: true,
|
|
119
|
+
},
|
|
120
|
+
status: {
|
|
121
|
+
type: sequelize_1.DataTypes.STRING,
|
|
122
|
+
allowNull: false,
|
|
123
|
+
defaultValue: constants_1.COMMAN_STATUS.ACTIVE,
|
|
124
|
+
},
|
|
125
|
+
createdBy: {
|
|
126
|
+
type: sequelize_1.DataTypes.UUID,
|
|
127
|
+
allowNull: true,
|
|
128
|
+
field: 'created_by',
|
|
129
|
+
},
|
|
130
|
+
updatedBy: {
|
|
131
|
+
type: sequelize_1.DataTypes.UUID,
|
|
132
|
+
allowNull: true,
|
|
133
|
+
field: 'updated_by',
|
|
134
|
+
},
|
|
135
|
+
deletedBy: {
|
|
136
|
+
type: sequelize_1.DataTypes.UUID,
|
|
137
|
+
allowNull: true,
|
|
138
|
+
field: 'deleted_by',
|
|
139
|
+
},
|
|
140
|
+
}, {
|
|
141
|
+
sequelize: index_1.sequelize,
|
|
142
|
+
modelName: 'RmsResourceModel',
|
|
143
|
+
tableName: 'rms_resources',
|
|
144
|
+
timestamps: true,
|
|
145
|
+
paranoid: true,
|
|
146
|
+
});
|
|
147
|
+
exports.default = RmsResourceModel;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Model } from 'sequelize';
|
|
2
|
+
import { IRmsStockAttributes } from '../../interfaces/rmsStockInterface';
|
|
3
|
+
import { TRmsStockCreationAttributes } from '../../types/rmsStockType';
|
|
4
|
+
import { COMMAN_STATUS, RMS_STOCK_SCOPE } from '../../constants';
|
|
5
|
+
declare class RmsStockModel extends Model<IRmsStockAttributes, TRmsStockCreationAttributes> implements IRmsStockAttributes {
|
|
6
|
+
id: string;
|
|
7
|
+
instituteId: string;
|
|
8
|
+
resourceId: string;
|
|
9
|
+
stockScope: RMS_STOCK_SCOPE;
|
|
10
|
+
locationId?: string | null;
|
|
11
|
+
batchId?: string | null;
|
|
12
|
+
availableQty: number;
|
|
13
|
+
reservedQty: number;
|
|
14
|
+
issuedQty: number;
|
|
15
|
+
damagedQty: number;
|
|
16
|
+
expiredQty: number;
|
|
17
|
+
totalQty: number;
|
|
18
|
+
status: COMMAN_STATUS;
|
|
19
|
+
createdBy: string;
|
|
20
|
+
updatedBy: string;
|
|
21
|
+
deletedBy: string;
|
|
22
|
+
readonly createdAt: Date;
|
|
23
|
+
readonly updatedAt: Date;
|
|
24
|
+
readonly deletedAt?: string;
|
|
25
|
+
static associate(models: any): void;
|
|
26
|
+
}
|
|
27
|
+
export default RmsStockModel;
|