الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيفية عمل فورمة حضور وانصراف

Featured Replies

بتاريخ:

يا شباب انا اريد عمل فورمة للحضور والانصراف


بحيث تكون كالشكل التالي


الرقم
الاسم

التاريخ : ابريل . فبراير. ....................


اليوم ____ التاريخ ______- حضور _______ انصراف_________ حضور______ صراف[______ ملاحظات

السبت--------- 12/2/2008 ----------- 8:30 ---------- 2:00 --------------- 5:00 ------------ 8:30 ------------ لا يوجد




بحيث اذا اختار ابريل يأتي في الجدول الموجود في الاسفل بيانات شهر ابريل وهكذا والرقم والاسم يكونو ثابتين



الشكل سهل ولكن كيف استطيع ان اعمل ال DATABASE

ارجووووووووووووووووووووووو المساعدة والتفاعل

تم تعديل بواسطة alsofi

بتاريخ:

الأخ الكريم ، موضوع الحضور والإنصراف دة أمرة سهل ...

هو عبارة عن جدول يحتوي علي الحقول التالية :

Presence_ID						 --> PK
Presence_EmployeeID		  --> الموظف
Presence_Date					 --> تاريخ اليوم
Presence_Start					 --> ساعة الحضور
Presence_End					   --> ساعة الإنصراف
Presence_RosetteID			--> الوردية



دة غير أن جدول الوردية يجب أن يحتوي علي بداية ونهاية فعلية

عموماً موضوع الورادي يجب أن تنتبه في كلاً من :

1- التغير الدائم لبداية ونهاية الوردية ( يعني في جدول حضور وإنصراف الموظف يتم إدراج حقليلن ، الأولي بداية الوردية والثانية نهاية الوردية ) .
2- توزيع الموظفين علي الورادي علي هيئة مجموعات . دة غير أن هناك شركات بتعمل تبديل للمجموعات بين الورادي.
3- الأخز في الإعتبار عمليات التبديل بين إثنين أو مجموعة من الموظفين للورادي .. يعني مثلاً لدينا 2 موظف ، تم الإتفاق بينهم ودياً علي تبديل الورادي لمدة معنية لظروف خاصة.
4- هناك بعض من الموظفين يتم تثبيتهم علي أساس وردية معينة.
5- إجراء تثبيت مؤقت لموظف محدد في وردية معينة.

وطبعاً يجب الأخز في الإعتبار بعض الأمور الأخري مثل :
1- الراحة الأسبوعية ( يعني لو غاب مش هيكون هناك أي مشاكل ... دة غير طبعاً أنه لو حضر يتحسبلة إضافي ) .. وطبعاً يجب عليك الأخز في الإعتبار شركات الفنادق والمطاعم والقري السياحية التي لا يجوز منح يوم عام علي الكل كأجازة أسبوعية ... ولكن تتم عملية المنح علي أساس توزيع يومياً مجموعة محددة للأجازة الأسبوعية ... وطبعاً متنساش أن هناك بعض من الموظفين يتم منهحم أجازة أسبوعية ثابتة.
2- الأعياد السنوية ... وطبعاً في هذه الحالة لو الموظف إشتغل يجب أن يأخز إضافي ... دة غير أن بعض الشركات لا يجوز أخز هذه الأجازة في هذا العيد مثل ( المطاعم - الفنادق - ... الي آخرة ) ... لأن طبعاً دة بيعتبر موسم ... لكن بيتم إجراء توزيع لأيام أخري ... وطبعاً ممكن يكون يتحسب إضافي للأيام الرئيسية أو لا.




بالتوفيق إن شاء الله

بتاريخ:
  • كاتب الموضوع

شكرا يا اخي

عندنا في الشركة دوامين في الصبح والليل



ولكن عندي تشويش في كيفية بناء الdatabase

ارجوووووووو يا شباب


المساعدة

بتاريخ:

1- جدول الورديات :

يحتوي علي حقول ( رقم ، إسم ، بداية ، نهاية ، بداية اليوم ) كما يلي :

CREATE TABLE ROSETTE
(
 ROSETTE_ID	  NUMBER(10),
 ROSETTE_CODE  VARCHAR2(20),
 ROSETTE_NAME VARCHAR2(50),
 ROSETTE_START  DATE,
 ROSETTE_END	DATE,
 ROSETTE_STARTDAY  NUMBER(1) DEFAULT(0),
 CONSTRAINT PK_ROSETTE PRIMARY KEY(ROSETTE_ID),
 CONSTRAINT UQ_ROSETTE_CODE UNIQUE(ROSETTE_CODE),
 CONSTRAINT UQ_ROSETTE_NAME UNIQUE(ROSETTE_NAME)
)
/
CREATE OR REPLACE TRIGGER TRG_BEFORE_ROSETTE BEFORE INSERT OR UPDATE OR DELETE ON ROSETTE
FOR EACH ROW
DECLARE

BEGIN
  IF(INSERTING)THEN
 SELECT NVL(MAX(ROSETTE_ID),0) + 1
 INTO :NEW.ROSETTE_ID
 FROM ROSETTE;
  END IF;
END;
/



مع ملاحظة أن بداية اليوم تأخز قيمة من الإثنين ( 0 أو 1 ) بحيث أن الرقم ( 1 ) يمثل أن هذه الوردية بداية اليوم ، يعني مثلاً الوردية الأولي تبدأ في الساعة 8 ص وتنتهي الساعة 4 م ... فيمكنك إدراج سجل إفتراضي يحتوي علي قيمة ( 1 ) بحيث أن تكون هذه الوردية هي الوردية الأولي والوحيدة ( ومينفعش حذفها ) ... لكن لو المستخدم حب يدرج ورديات أخري تمكن له هذا الأمر بس يجب الأخز في الإعتبار أن بقية الورادي تحتوي علي القيمة ( 0 ) ... وتخفي عملية التحديد من عين المستخدم ( أو حسب ما تختار )

2- جدول الحضور والإنصراف :

CREATE TABLE PRESENCE
(
  PRESENCE_ID			NUMBER(10),
  PRESENCE_EMPLOYEEID	NUMBER(10), -- FK from employee table.
  PRESENCE_DATE		  DATE,  -- حقل يدرج فية اليوم الفعلي ، يعني بداية اليوم --
  PRESENCE_STARTACTUAL   DATE,  -- بداية الوردية --
  PRESENCE_START		 DATE,  -- البداية الفعلية لحضور الموظف --
  PRESENCE_ENDACTUAL	 DATE,  -- نهاية الوردية --
  PRESENCE_END		   DATE,  -- النهاية الفعلية لإنصراف الموظف --
  PRESENCE_ROSETTEID	 NUMBER(10)   --FK from rosette table.
  CONSTRAINT PK_PRESENCE PRIMARY KEY(PRESENCE_ID),
  CONSTRAINT UQ_PRESENCE_EMP_DATE UNIQUE(PRESENCE_EMPLOYEEID,PRESENCE_DATE)
)
/
CREATE OR REPLACE TRIGGER TRG_BEFORE_PRESENCE BEFORE INSERT OR UPDATE ON PRESENCE
FOR EACH ROW
DECLARE

BEGIN
  IF(INSERTING)THEN
   SELECT NVL(MAX(PRESENCE_ID),0) + 1
   INTO :NEW.PRESENCE_ID
   FROM PRESENCE;
  END IF;
END;
/



لاحظ أن أنا بدرج بداية الوردية ونهايتها مرة أخري كل مرة بدرج سجل جديد في جدول PRESENCE ، رغم أن هناك علاقة بين هذا الجدول وبين جدول الورديات ROSETTE كما يلي :

ALTER TABLE PRESENCE ADD
(
 CONSTRAINT FK_PRESENCE_ROSETTE FOREIGN KEY(PRESENCE_ROSETTEID) REFERENCES ROSETTE(ROSETTE_ID)
)
/



طب السؤال ما هو السبب ؟؟؟

موضوع العلاقة سببها الأساسي هو جلب إسم الوردية التي حضر فيها الموظف ... وطبعاً مش هقدر علي حذف الوردية في حالة إرتباطها بسجلات في جدول الحضور والإنصارف ... دة غير كمان أن مش هقدر علي تغيير إسم الوردية !!!

لكن الي بيتغير بصفة مستمرة هي بداية ونهاية الوردية !!!

مثال ، أنا كنت شغال في شركة ... في الصيف كانت بتبدأ الساعة 8 صباحاً ، وفي الشتا كانت بتبدأ في الساعة 9 صباحاً ( يعني في تغير ) .


عموماً مش دي كل الجداول ، أن لازمك جداول لما يلي :

1- جدول العطلة الرسمية السنوية ( الأعياد والمناسبات ) ، علشان طبيعي أن هذا اليوم لم يدرج أي سجل في الحضور والإنصراف للموظفين ... دة غير كمان ممكن يطلب منك العميل تقرير شامل عن حضور وإنصرافة ... مش معقولة هتعرض يوم العطلة غياب مثلاً أو لا قيمة . وطبعاً يجب الأخز في الإعتبار الشركات التي تحتسب هذه الأيام موسم لها والتي لا تمنح أي أجازات في هذه الأيام مثل المطاعم والفنادق والقري السياحية والمحلات التجارية أو المولات والمراكز التجارية الكبري مثل ماجدونالز والملاهي مثل الدريم بارك و ....... الي آخرة . وطبعاً في هذه الحالة يحصل علي إضافي أو عدد من أيام أخري .......... وغيرة كثير . ولو حصل أن الموظف أشتغل في هذا اليوم يتحسبلة إضافي حسب سياسة الشركة ، يعني اليوم بيوم ونصف أو بيومين أو بثلاثة أو .... حسب سياستها.

2- جدول الراحة الأسبوعية ، وركز شوية في هذه العملية ، لأن الراحة الأسبوعية غير ثابتة ، ممكن في يوم من الأيام موظف يبدأ بيوم الجمعة كراحة أسبوعية ... وبعد كدة يتغير نظام الشركة ويكون خميس وجمعة أو جمعة وسبت أو حسب ... دة غير طبعاً لازم تعمل حساب الشركات التي لا تمنح أجازة علي الإطلاق مثل المطاعم والفنادق ... الخ . لكن بيتم توزيع الأجازة الأسبوعية علي هيئة مجموعات . يعني المجموعة الأولي تحصل علي يوم السبت والأحد ، والثانية تحصل علي الأحد والإثنين ، و ..................... الي آخرة . ولو حصل أن الموظف أشتغل في هذا اليوم يتحسبلة إضافي حسب سياسة الشركة ، يعني اليوم بيوم ونصف أو بيومين أو بثلاثة أو .... حسب سياستها

3- وخذ في إعتبارك عمليات تبديل الوادي بين الموظفين ... وعملية التثبيت المؤقت لموظف محدد علي وردية محددة لفترة معينة ... ومتنساش كمان أن هناك موظفين مثبتين في وردية واحدة بإستمرار ... يعني مثلاً الإداريين الرئيسيين بيتم تثبيتهم علي أساس الوردية الأولي.

4- متنساش كمان تكون موضوع الورادي مفتوحة ، لأن هناك شركات بيطبع نظام الورديتين ، وأخري ثلاثة ، وأخري أربعة .

5- دة طبعاً دة غير الأجازات ألي المفروض ميشتغلش فيها الموظف إلا بقرار قطع الأجازة ( عارضة ، إعتيادي ، مرضي ).



عموماً ، يجب أن تعلم جيداً أن هيكل قاعدة بيانات شئون العاملين ليست بياناتها ثابتة ، بل بيانات تراكمية ... إلا إذا بقي لو أنت عملت قاعدة بيانات سنوية ... يعني كل أول سنة تعمل Export للقاعدة القديمة وبعد كدة تنشأ قاعدة جديدة فارغة ببيانات جديدة ... بس من رأيي الشخصي أنك لو عملتها أكثر من سنة هيكون أفضل بكثير ... لسبب أن تغيرات اللوائح والقوانين مستمرة ( فياريت لو تكون مفتوحة ... هتتعب شوية بس هيكون أفضل بكثير لما تبني أساس سليم )





بالتوفيق

بتاريخ:

.

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.