הארכת השאלות
כאשר אגרונט עובד במצב לייב - שניתן לבצע עליו פעולות ישירות על בסיס נתונים של האתר, ישנו אלגוריתם שמבצע את החישוב של ההארכת השאלות.
תוכן עניינים
האלגוריתם
1. בדיקה אם תאריך החזרה עבר.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- במידה וכן - המשך.
2. בדיקה אם אין הזמנה על הספר. במידה ולא - אל תבצע כלום.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- במידה וכן - המשך.
3. בדיקה אם ביצוע הארכה לא חורג ממספר הימים המקסימלי להארכה*.
- 1. במידה וכן, בצע בדיקה אם ניתן לבצע הארכה ליום האחרון המקסימלי.
- במידה וכן, בצע את ההארכה ליום המקסימלי.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- 2. במידה ולא, בצע בדיקה אם הוספת מספר הימים המורשה בכל הארכה עובר את תאריך ההחזרה** (במילים פשוטות, בדוק אם ההארכה לא מקצרת את זמן ההשאלה).
- במידה וכן, בצע את ההארכה לכמות הימים המותרת.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
הארגומנטים
ישנם מספר ארגומנטים שמוזנים בניהול לשלוט על האלגוריתם:
- loan_length_type - סוג ההארכת השאלה. הערכים האפשריים הינם: absolute (אבסולוטי) או relative (יחסי).
- loan_length_time (מכונה x בתמונה)- מספר הימים שמותר להאריך בכל ההארכה. אם יחסי, החישוב מבוצע מול מספר הימים המותר להשאלה של העותק המושאל (מוזן בטבלת עותקים).
- loan_length_count (מכונה y בתמונה) - מספר הפעמים שמותר להאריך השאלה (בנוסף לימי ההשאלה המקוריים).
דוגמאות
דוגמא 1
- loan_length_type: יחסי.
- loan_length_time: 0.5
- loan_length_count: 2
- ימי ההשאלה מקוריים: 30.
בדוגמא זו ניתן להאריך בכל פעם 15 ימים נוספים (חצי כפול 30). משמע שההארכה האפשרית הינה ל-30 ימים נוספים בנוסף לימי ההשאלה המקוריים (30). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 60 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-16 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).
דוגמא 2
- loan_length_type: יחסי.
- loan_length_time: 1
- loan_length_count: 3
- ימי ההשאלה מקוריים: 21.
בדוגמא זו ניתן להאריך בכל פעם 21 ימים נוספים (אחד כפול 21). משמע שההארכה האפשרית הינה ל-63 ימים נוספים בנוסף לימי ההשאלה המקוריים (21). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 84 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-2 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).
דוגמא 3
- loan_length_type: אבסולוטי.
- loan_length_time: 7
- loan_length_count: 5
- ימי ההשאלה מקוריים: 60.
בדוגמא זו ניתן להאריך בכל פעם 7 ימים נוספים. משמע שההארכה האפשרית הינה ל-35 ימים נוספים בנוסף לימי ההשאלה המקוריים (60). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 95 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-54 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).