Files
wiki/_site/search.json
2025-08-17 14:21:20 +03:30

52 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"objectID": "docs.html",
"href": "docs.html",
"title": "docs",
"section": "",
"text": "Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org."
},
{
"objectID": "docs.html#quarto",
"href": "docs.html#quarto",
"title": "docs",
"section": "",
"text": "Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org."
},
{
"objectID": "index.html",
"href": "index.html",
"title": "سامانه تردد",
"section": "",
"text": "مقدمه\nسامانه تردد",
"crumbs": [
"خانه",
"صفحه اصلی"
]
},
{
"objectID": "index.html#بخش-اول",
"href": "index.html#بخش-اول",
"title": "سامانه تردد",
"section": "",
"text": "مورد اول\nمورد دوم\nمورد سوم"
},
{
"objectID": "index.html#بخش-دوم",
"href": "index.html#بخش-دوم",
"title": "سامانه تردد",
"section": "",
"text": "این بخش یک فرمول ریاضی را نشان می‌دهد:\n\\[\nE = mc^2\n\\]"
},
{
"objectID": "docs/models.html",
"href": "docs/models.html",
"title": "مدل‌ها",
"section": "",
"text": "فیلدهای موجود در دیتابیس\nمدل درخواست کاربر که شامل رویه‌های واردات، صادرات، ترانزیت، تدارکات، تجهیزات، سوخت‌رسانی، آب‌رسانی، عودت تجهیزات (ورود و خروج) می‌شود.\nconst mongoose = require('mongoose');\n\nconst REQUEST_STATUSES = {\n OPEN: 0, // باز\n IN_PROGRESS: 1, // در حال بررسی\n CLOSE: 2, // بسته شده\n END: 3, // پایان عملیات\n};\n\nconst REQUEST_PERMISSIONS_STATUSES = {\n NOT_HAS: 0, // ندارد\n HAS: 1, // دارد\n CANCEL: 2, // لغو شده\n IN_PROGRESS: 3, // در حال بررسی\n};\n\n// ['صادرات', 'واردات', 'ترانزیت', 'آب رسانی', 'سوخت رسانی', 'تجهیزات', 'تدارکات'],\nconst OPERATION_TYPES = {\n EXPORT: 0,\n IMPORT: 1,\n TRANSIT: 2,\n WATER: 3,\n FUEL: 4,\n EQUIPMENT: 5,\n PROVISION: 6,\n};\n\n// یک تردد، چند تردد، شهری\nconst TRAFFIC_TYPES = {\n ONE_DIRECTION: 0,\n MULTIPLE_DIRECTION: 1,\n CITY: 2,\n ENTRANCE_PERMISSION: 3,\n EXIT_PERMISSION: 4,\n};\n\n// کانتینری، نفتی، عمومی\nconst TERMINAL_OPTIONS = {\n CONTAINER: 0,\n OIL: 1,\n GENERAL: 2,\n SERVICE: 3,\n};\n\n// تخلیه، بارگیری، تشریفات گمرکی\nconst ENTRANCE_TRAFFIC_TYPES = {\n LOAD: 0,\n UNLOAD: 1,\n CUSTOM: 2,\n SERVICE: 3,\n};\n\nconst requestSchema = new mongoose.Schema(\n {\n کسی که درخواست ثبت میکنه - واردات صادرات و ...\n requestBy: {\n type: mongoose.Types.ObjectId,\n ref: 'User',\n },\n\n به نمایندگی از ... درخواست‌ها ثبت میشه. نماینده در واقع\n requestFor: [\n {\n type: mongoose.Types.ObjectId,\n ref: 'User',\n },\n ],\n\n // نوع عملیات درخواست مثل واردات صادرات و ...\n operationType: {\n type: Number,\n required: [true, 'نوع عملیات الزامی می باشد.'],\n enum: Object.values(OPERATION_TYPES),\n },\n\n // فیلدی حمل یکسره و عملیاتی در آن ذخیره میشود\n options: {\n type: String,\n },\n\n // فیلدی که جهت در آن ذخیره میشود. جهت تخلیه، بارگیری و تشریفات گمرکی و ...\n entranceTrafficType: {\n type: Number,\n enum: Object.values(ENTRANCE_TRAFFIC_TYPES),\n },\n\n // حساسیت کالا در این فیلد ذخیره میشود\n danger: [\n {\n type: mongoose.Types.ObjectId,\n ref: 'dangerType',\n required: false,\n },\n ],\n\n // تاییده نهایی نوع تردد که توسط ادمین وارد میشود\n traffic: {\n // تردد تایید شده توسط مجوز دهنده\n type: Number,\n enum: Object.values(TRAFFIC_TYPES),\n },\n\n // اظهار نوع تردد که توسط کاربر ثبت میشود و نهایی نیست\n trafficType: {\n // اظهار تردد\n type: Number,\n enum: Object.values(TRAFFIC_TYPES),\n },\n\n // پایانه‌ای که کالا برای آن ثبت می‌شود\n terminalOption: {\n type: Number,\n enum: Object.values(TERMINAL_OPTIONS),\n },\n\n // آدرس فایل حواله سوخت و ...\n filename: {\n type: String,\n },\n\n // نام محصول یا کالایی که کاربر وارد میکند\n name: {\n // نام بار\n type: String,\n trim: true,\n },\n\n // شماره سفر\n voyageNumber: {\n type: String,\n },\n\n // کد قبض انبار اگر کالا عمومی و یا کانتینری باشد\n receiptNumber: [\n {\n type: String,\n trim: true,\n },\n ],\n\n // تناژ کالا\n tonaj: {\n type: String,\n },\n\n // عددی که برای تناژ استفاده میشود\n tonajNumber: {\n type: String,\n },\n\n // واحد تناژ کالا\n tonajType: {\n type: String,\n },\n\n // تعداد محصول یا بار\n packageNumber: {\n type: String,\n },\n\n // شماره پلاک‌های ثبت شده برای درخواست کاربر\n plates: [\n {\n type: mongoose.Types.ObjectId,\n ref: 'plates',\n required: false,\n },\n ],\n\n // بدون استفاده\n truckNumber: {\n type: String,\n },\n\n // اسم شناور\n vesselName: String,\n\n // اسم کشتی رانی صاحب شناور\n shipping: {\n type: String,\n },\n\n // منطقه عملیاتی\n storeRoom: {\n type: mongoose.Types.ObjectId,\n ref: 'storeRoom',\n required: false,\n },\n // نوع منطقه عملیاتی - که استفاده نمیشود\n storeRoomType: {\n type: String,\n },\n\n // دستگاه نظارت درخواست\n supervisionDepartment: {\n type: mongoose.Types.ObjectId,\n ref: 'supervisionDepartment',\n required: false,\n },\n\n // کاربری که برای درخواست مشاور است\n consultingUser: {\n type: String,\n },\n consultingUsername: {\n type: String,\n },\n consultingStatus: {\n type: String,\n },\n supervisionStatus: {\n type: String,\n },\n propertyBossStatus: {\n type: String,\n },\n HSEStatus: {\n type: String,\n },\n portBossStatus: {\n type: String,\n },\n customsStatus: {\n type: String,\n },\n selectedStores: {\n type: Array,\n },\n\n // مقصد کالا\n destination: {\n type: mongoose.SchemaTypes.ObjectId,\n trim: true,\n ref: 'city',\n },\n\n // مجوز یگان حفاظت \n permissionGuard: {\n // مجوز یگان حفاظت\n type: Number,\n enum: Object.values(REQUEST_PERMISSIONS_STATUSES),\n default: REQUEST_PERMISSIONS_STATUSES.IN_PROGRESS,\n },\n\n // مجوز پایانه اسکله برای حرکت کردن ناوگان حمل از پایانه کامیونی\n permissionPier: {\n // مجوز اسکله\n type: Number,\n enum: Object.values(REQUEST_PERMISSIONS_STATUSES),\n default: REQUEST_PERMISSIONS_STATUSES.IN_PROGRESS,\n },\n\n // اظهارات کوتاژ کاربر\n userCottages: [\n //اظهار کوتاژ\n {\n type: String,\n trim: true,\n },\n ],\n date: {\n type: Date,\n },\n dateString: {\n type: String,\n },\n\n // کامنت اسکله - بروز میشود\n pierComment: {\n type: String,\n },\n\n // پایانه حمل\n terminalTruckName: {\n type: mongoose.Types.ObjectId,\n ref: 'terminals',\n required: false,\n },\n\n // شماره حواله سوخت\n gasolineRequestNumber: {\n type: String,\n },\n\n // شماره سفارش\n orderNumber: {\n type: String,\n },\n\n // دروازه‌ای که درخواست برای \n gateName: {\n type: mongoose.Types.ObjectId,\n ref: 'gate',\n required: [true, 'نام دروازه الزامی می باشد.'],\n },\n\n // کد رهگیری تولید شده\n requestNumber: {\n type: String,\n },\n supervisionUser: {\n type: String,\n },\n supervisionUsername: {\n type: String,\n },\n propertyBossUser: {\n type: String,\n },\n propertyBossUsername: {\n type: String,\n },\n HSEUser: {\n type: String,\n },\n HSEUsername: {\n type: String,\n },\n portBossUser: {\n type: String,\n },\n portBossUsername: {\n type: String,\n },\n terminalUser: {\n type: String,\n },\n terminalUsername: {\n type: String,\n },\n permissionPierDate: {\n type: Date,\n },\n permissionPierDateString: {\n type: String,\n },\n\n // وضعیت درخواست کاربر\n status: {\n type: Number,\n enum: Object.values(REQUEST_STATUSES),\n default: REQUEST_STATUSES.IN_PROGRESS,\n },\n\n // اظهارات کوتاژ کاربر تایید شده است یا نه\n cottageVerified: {\n type: Boolean,\n default: false,\n },\n verfiedAt: {\n type: Date,\n required: false,\n },\n cottages: [\n // کوتاژهای تایید شده توسط سرویس استعلام گمرک\n {\n type: mongoose.Types.ObjectId,\n ref: 'cottage',\n required: false,\n },\n ],\n\n // فیلدی برای کانتینر خالی\n emptyContainer: {\n type: Boolean,\n },\n\n // اگر کالا خطرناک باشد \n unNumber: {\n type: String,\n },\n\n // اگر کالا خطرناک باشد\n casNumber: {\n type: String,\n },\n process: {\n // شروع فرآیند\n type: mongoose.SchemaTypes.ObjectId,\n ref: 'process',\n },\n commodityList: [\n // لیست اقلام\n {\n type: mongoose.SchemaTypes.ObjectId,\n ref: 'equipements',\n required: false,\n },\n ],\n },\n { timestamps: true }\n);\n\nconst Request = mongoose.model('request', requestSchema);\n\nmodule.exports = {\n Request,\n REQUEST_STATUSES,\n REQUEST_PERMISSIONS_STATUSES,\n TERMINAL_OPTIONS,\n TRAFFIC_TYPES,\n OPERATION_TYPES,\n};\n\nمدل مربوط به شماره پلاک درخواست‌ها که کاربر اطلاعات راننده را وارد می‌کند.\nconst mongoose = require('mongoose');\nconst { TRAFFIC_TYPES } = require('./request.model');\n\n// وضعیت فعلی پلاک که در چه مرحله‌ای است\nconst PLATE_STATES = {\n OUT_PORT: 0,\n IN_PORT: 1,\n CLOSED: 2,\n};\n\n// پلاک مجوز حرکت دارد یا ندارد\nconst PLATE_PERMISSIONS = {\n NOT_HAS: 0,\n HAS: 1,\n PENDING: 2,\n};\n\n// یگان حفاظت مجوز ورود و خروج پلاک را بصورت اتوماتیک توسط دوربین پلاکخوان ثبت کرده یا بصورت دستی\nconst GUARD_REGISTRATION_TYPES = {\n AUTO: 0,\n MANUAL: 1,\n};\n\n// مدل پلاک\nconst platesSchema = new mongoose.Schema(\n {\n // شماره پلاک\n plate: {\n type: String,\n trim: true,\n },\n //مجوز ورود به بندر که هم یگان حفاظت برای چند ترددی و شهری صادر می کند و هم پایانه کامیونی\n permission: {\n type: Number,\n enum: Object.values(PLATE_PERMISSIONS),\n },\n\n // مجوز یگان حفاظت\n permissionGuard: {\n type: Number,\n },\n permissionGuardDate: {\n type: Date,\n },\n status: {\n type: Number,\n },\n\n // نوع ترددی که توسط ادمین ثبت شده است\n traffic: {\n type: Number,\n enum: Object.values(TRAFFIC_TYPES),\n },\n\n // زمان ورود ناوگان حمل به درون بندر\n entranceTime: [\n {\n type: Date,\n },\n ],\n entranceTimeString: [\n {\n type: String,\n },\n ],\n\n // زمان خروج ناوگان حمل از بندر\n exitTime: [\n {\n type: Date,\n },\n ],\n exitTimeString: [\n {\n type: String,\n },\n ],\n\n // مجوز پایانه راهداری\n delfardTerminalTime: {\n type: Date,\n },\n delfardTerminalTimeString: {\n type: String,\n },\n\n // زمان مجوز گرفتن از پایانه کامیونی\n truckTerminalTime: {\n type: Date,\n },\n truckTerminalTimeString: {\n type: String,\n },\n\n // تخلف\n violationType: {\n type: String,\n },\n violationComment: {\n type: String,\n },\n\n // حساسیت کالایی که حمل میکند\n dangers: [\n {\n type: mongoose.SchemaTypes.ObjectId,\n ref: 'dangerType',\n },\n ],\n date: {\n type: Date,\n },\n dateString: {\n type: String,\n },\n\n // اگر درخواست از نوع کانتینری باشد شماره‌های کانتینر هم باید وارد شود\n containerNumbers: [\n {\n type: String,\n },\n ],\n\n closeDate: {\n type: Date,\n },\n\n // اسم راننده\n driverName: {\n type: String,\n },\n\n // شماره پاسپورت برای خارجی‌ها و کد ملی برای داخلی‌ها\n driverPersonalCode: {\n type: String,\n },\n\n // شماره موبایل راننده\n driverMobile: {\n type: String,\n },\n\n // ملیت راننده\n driverNationality: {\n type: String,\n },\n\n // نوع ناوگان حمل\n truckType: {\n type: mongoose.SchemaTypes.ObjectId,\n ref: 'trucks',\n },\n\n // کدی که اگر نوع ناوگان از نوع چادری یا یخچالی باشد\n TYnumber: {\n type: String,\n },\n\n // درخواست کنسل شده است یا نه\n isCancel: {\n type: Boolean,\n },\n bijakType: {\n type: String,\n },\n bijakNumber: {\n type: Number,\n },\n bijakTruckScaleNumber: {\n type: String,\n },\n bijakUser: {\n type: String,\n },\n bijakGCOMS: {\n type: Array,\n },\n\n // درخواست برای بستن \n requestForClose: {\n type: Boolean,\n },\n requestForCloseFullName: {\n type: String,\n },\n\n // نوع پلاک که ایرانی خارجی و منطقه آزاد باشد\n plateOption: {\n type: String,\n },\n plateState: {\n type: Number,\n enum: Object.values(PLATE_STATES),\n default: PLATE_STATES.OUT_PORT,\n },\n\n // نوع ورود پلاک به بندر\n entranceGuardRegistrationType: {\n type: Number,\n enum: Object.values(GUARD_REGISTRATION_TYPES),\n },\n\n // نوع خروج پلاک از بندر\n exitGuardRegistrationType: {\n type: Number,\n enum: Object.values(GUARD_REGISTRATION_TYPES),\n },\n // transportation\n\n // شرکت حمل اگر درخواست شهری ثبت شود\n transportationCompany: {\n type: mongoose.SchemaTypes.ObjectId,\n ref: 'terminals',\n required: false,\n },\n },\n { timestamps: true }\n);\n\nconst Plate = mongoose.model('plates', platesSchema);\n\nmodule.exports = { Plate, PLATE_STATES, PLATE_PERMISSIONS };",
"crumbs": [
"مستندات",
"مدل‌ها"
]
}
]