View Full Version : مشکل با اخذ 30 روز مرخصی فقط در سال جاری؟
reza4359
پنج شنبه 28 آذر 1392, 22:01 عصر
سلام دوستان من دارم یک سیستم مرخصی مینویسم حالا با مشکل مجاز بودن 30 روز مرخصی در سال جاری مواجه شدم
چه کوئری باید بنویسم که فقط شخص مجاز به 30 روز مرخصی در سال جاری باشه و بیش از این نتونه بگیره و در سال جدید دوباره مجاز به اخذ مرخصی بشه و از 30 روزش استفاده کنه ؟پیشنهادشما چیه؟
مشکل من در شناسوندن سال جاری به برنامست یعنی چکار کنم که سال بعد دوباره بتونه مرخصی اخذ کنه؟
من مشکل مجاز نبودن بیش از 30 روز رو حل کردم با توجه به مرخصی قبلی
حالا فقط مشکلم اینه که سال جدید رو به برنامه بشناسونم که در سال جدید دوباره گرفتن مرخصی مجاز بشه
باید چکار کنم ؟
ممنون
ordebehesht
پنج شنبه 28 آذر 1392, 22:21 عصر
اینکه بشناسونم منظورت چیه
علی متقی پور
پنج شنبه 28 آذر 1392, 22:28 عصر
با سلام
شما میتونی وقتی سال جدید شد کلا مرخصی های قبلی رو پاک کنی. تشخیص اینکه الان چه سالی هست هم که کار سختی نیست
reza4359
جمعه 29 آذر 1392, 00:12 صبح
اینکه بشناسونم منظورت چیه
با تشکر
یعنی اینکه وقتی سال جدید شد مرخصی رو از نو شروع کنه و 30 روز رو دوباره در سال جدید ثبت کنه
reza4359
جمعه 29 آذر 1392, 00:14 صبح
با سلام
شما میتونی وقتی سال جدید شد کلا مرخصی های قبلی رو پاک کنی. تشخیص اینکه الان چه سالی هست هم که کار سختی نیست
ممنون ولی میخوام مرخصی های قبل رو هم برای آمار کل دوران خدمت داشته باشم
خب چطوری سال جدید رو به دست بیارم؟
danialafshari
جمعه 29 آذر 1392, 00:16 صبح
سلام دوست عزیز
سلام دوستان من دارم یک سیستم مرخصی مینویسم حالا با مشکل مجاز بودن 30 روز مرخصی در سال جاری مواجه شدم
چه کوئری باید بنویسم که فقط شخص مجاز به 30 روز مرخصی در سال جاری باشه و بیش از این نتونه بگیره و در سال جدید دوباره مجاز به اخذ مرخصی بشه و از 30 روزش استفاده کنه ؟پیشنهادشما چیه؟
مشکل من در شناسوندن سال جاری به برنامست یعنی چکار کنم که سال بعد دوباره بتونه مرخصی اخذ کنه؟
من مشکل مجاز نبودن بیش از 30 روز رو حل کردم با توجه به مرخصی قبلی
حالا فقط مشکلم اینه که سال جدید رو به برنامه بشناسونم که در سال جدید دوباره گرفتن مرخصی مجاز بشه
باید چکار کنم ؟
ممنون
سلام
خب موقعی که مرخصی رد می کنید مگر نه اینکه تاریخش رو هم ( یا حداقل تاریخ ثبت مرخصی) ثبت می کنید؟
خب شما قبل از ثبت مرخصی درون بانک رو باید چک کنید که اختلاف مرخصی چند روز هست (که گفتید با این مشکلی ندارید)
خب این تاریخ هم داره مثلا 1392/05/13 الی 1392/05/23 :
میشه 10 روز مرخصی در سال 1392
30 روز دیگه جا داره
سال جدید هم که وارد شدیم به همین شکله
شما باید همه اطلاعات رو قبل از ثبت کردن درون بانک کنترل کنید
امیدوارم متوجه شده باشید
موفق باشید
حمیدرضاصادقیان
جمعه 29 آذر 1392, 13:46 عصر
سلام.
با سلام
شما میتونی وقتی سال جدید شد کلا مرخصی های قبلی رو پاک کنی. تشخیص اینکه الان چه سالی هست هم که کار سختی نیست
البته در سیستمهای اطلاعاتی حذف اطلاعات کاملا کار غلطیه.این اطلاعات نتیجش میشه گزارشهای تحلیلی و BI.
درمورد سوال شما میتونید یک جدول برای مرخصی ها در نظر بگیرید.(این یک شکل ساده است میشه اصلاحش کرد)
که در این جدول کد کارمند تاریخ مرخصی و سال درونش ثبت بشه.
اولا با فیلد سال به راحتی میتونید بفهمید در چه سالی هستید.
دوما به راحتی میتونید با یک Query کنترل کنید در سال فعلی چندتا مرخصی رفته.
و برای سال جدید نیز با قراردادن مقدار سال جدید میتونید مرخصی هارو از صفر شروع کنید.
علی متقی پور
شنبه 30 آذر 1392, 11:27 صبح
سلام.
البته در سیستمهای اطلاعاتی حذف اطلاعات کاملا کار غلطیه.این اطلاعات نتیجش میشه گزارشهای تحلیلی و BI.
با سلام
دقیقا حق با شماست و منظور منم از پاک کردن حذف اطلاعات بطور کلی نبود. مطمئنا باید اطلاعات هر سالی که تموم میشه به جدول دیگه ای منتقل بشه تا کوئری هایی که برای سال جاری گرفته میشه از بین اطلاعات کمتری گرفته بشه و سرعت کوئری گیری بیشتر و فشار روی سرور کمتر بشه.
نظر من اینه که تو تفکیک جداول باید به میزان کوئری ها هم توجه کنیم. مطمئنا سیشن سال جاری که موضوع غالب کوئری های سیستمه باید با مثلا سیشن چندین ساله خدمت شخص فرق داشته باشه.
بنابراین بنظر من بازم بهترین راه اینه که شما اطلاعات سال گذشته رو از تیبلی که ازش تعداد مرخصی های سال جاری رو میگیرید پاک کنید و برحسب سناریو و سیستمتون اونو به جای دیگه منتقل کنید.
از اینکه جمله اولم گویا نبود عذر میخوام.
حمیدرضاصادقیان
شنبه 30 آذر 1392, 22:06 عصر
باز من این روش رو توصیه نمیکنم به دلایل مختلف.
در بعضی مواقع که نیاز هست گزارشهای چند ساله پیچیده بگیرید اون موقع به مشکل برخواهید خورد و باید کدهای خیلی پیچیده بنویسید.
که در این حالت اگر نیازی نباشه از سیستمهای BI استفاده کرد و گزارشات به صورت مستمر قراره پیاده سازی بشه ، جداول به صورت Denormalize طراحی می شود و از اون استفاده میشود.
در غیر اینصورت یکی از راههای جداسازی سالهای مالی همین روشی هست که عرض کردم که با قرار دادن یک فیلد سال میشه داده ها رو جدا کرد و حجم بالای جداول نیز مشکلی ایجاد نخواهد کرد و راههایی نیز برای نگهداری حجمهای زیاد اطلاعات بالای چند صد میلیون رکورد در یک جدول وجود داره که الان در این تاپیک جای بحثش وجود نداره.
علی متقی پور
یک شنبه 01 دی 1392, 01:18 صبح
باز من این روش رو توصیه نمیکنم به دلایل مختلف.
در بعضی مواقع که نیاز هست گزارشهای چند ساله پیچیده بگیرید اون موقع به مشکل برخواهید خورد و باید کدهای خیلی پیچیده بنویسید.
که در این حالت اگر نیازی نباشه از سیستمهای BI استفاده کرد و گزارشات به صورت مستمر قراره پیاده سازی بشه ، جداول به صورت Denormalize طراحی می شود و از اون استفاده میشود.
در غیر اینصورت یکی از راههای جداسازی سالهای مالی همین روشی هست که عرض کردم که با قرار دادن یک فیلد سال میشه داده ها رو جدا کرد و حجم بالای جداول نیز مشکلی ایجاد نخواهد کرد و راههایی نیز برای نگهداری حجمهای زیاد اطلاعات بالای چند صد میلیون رکورد در یک جدول وجود داره که الان در این تاپیک جای بحثش وجود نداره.
مسلما وقتی یک DBA یک حرف رو میزنه من ختی اگر درکش هم نکنم باید بپذیرم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.