نمایش نتایج 1 تا 5 از 5

نام تاپیک: طراحی چارت سازمانی

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    طراحی چارت سازمانی

    سلام دوستان
    بنده یه نرم افزار دارم که باید چارت سازمانی داشته باشه حالا من دوتا جدول دارم یکی برای سازمان ها و واحدهاشون و اونیکی برای پرونده پرسنل که شامل کلید خارجی از جدول سازمان ها هست، به این شکل:
    Organization: Id, Name, ParentId
    Personnel: Id, Name, OrganId, Title, SupervisorId

    ستون SupervisorId آیدی مافوق پرسنل هست
    حالا با این پیاده سازی چنتا مشکل میاد سر راهم:
    ۱. اینکه هر پرسنل فقط یه جایگاه شغلی میتونه داشته باشه (ولی ممکنه توی بعضی سازمان ها یا هلدینگ ها یک شخص چندین جایگاه شغلی داشته باشه - اون پراپرتی Title برای مشخص کردن سمت یا جایگاه شغلی فرده که در این پیاده سازی جنسش استرینگه.)

    ۲. من میخوام طرف بتونه به این شکل چارت سازمانیشو طراحی کنه:
    2.jpg
    اما مشکلی که هست به خاطر نحوه پیاده سازی جدول پرسنل و ارگان ها، همچین طراحی ای ممکن نیست، فک کنم خودتون هم حدس بزنید مشکل از چیه، مشکل اینه که اصلا سازمان ها نمیتونن زیر مجموعه یک پرسنل باشن و همچنین یک شخص هم نمیتونه به طور غیرمستقیم زیرنظر شخصی خارج از سازمان یا واحد خودش باشه، یعنی اگه برای یک شخص آیدی مافوق یا همون ستون SupervisorId رو ست کنیم، اون شخص مستقیما زیرمجموعه مافوق خواهد بود و دیگه نمیشه توی یک واحد جداگانه بذاریش، نتیجه این محدودیت ها میشه طراحی زیر که در حال حاضر باهاش مشکل دارم:
    1.jpg
    حالا چیزی که به ذهنم رسیده اینه که طراحی رو یکم تغییر بدم به این شکل که توی جدول ارگان ها، یک پراپرتی دیگه اضافه کنم که مشخص کننده نوع رکورد باشه، حالا نوع رکورد دو مقدار خواهد داشت، یک: جنس سازمان، دو: جنس جایگاه شغلی
    و همچنین توی جدول پرسنل ستون SupervisorId و ستون Title رو حذف کنم، طراحی جدید به این شکل درمیاد:
    Organization: Id, Name, ParentId, RecordType
    Personnel: Id, Name, OrganId
    توی این طراحی سازمان ها و واحدها و جایگاه های شغلی توی جدول Organization ثبت میشن، و برای پرسنل آیدی رکوردی از جدول Organization ست میشه که از نوع جایگاه شغلی باشه
    البته این طراحی رو فعلا پیاده سازی نکردم و نمیدونم توی عمل جوابگو خواهد بود یا نه، ولی بصورت تئوری این طراحی، مشکل دوم رو که بالا ذکر کردم رفع میکنه
    برای مشکل اول هم فک کنم باید یه جدول واسط بسازم که هم آیدی Organization رو داشته باشه هم آیدی جدول Personnel رو که بشه برای یک شخص چندین جایگاه تعیین کرد، و اون ستون OrganId توی جدول پرسنل رو هم باید حذف کنم
    اینا تحلیلایی هست که خودم انجام دادم اما خواستم با دوستان هم یه مشورتی داشته باشم ببینم آیا همین طراحی جوابگو خواهد بود یا راه بهتری هست برای اینکار؟
    آخرین ویرایش به وسیله mr.sirwan : دوشنبه 07 مهر 1399 در 16:18 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •