मैं एक आवेदन जहां मैं अपने आप एक घूर्णन समय पर सदस्यों के लिए कार्य शेड्यूल करने की जरूरत पर काम कर रहा हूँ। मैं नियमों को समझाने में बहुत अच्छा नहीं हूँ, इसलिए यहाँ कुछ डेटा मदद करने के लिए है:
पद: एक पद नाम, इस तरह के सोमवार और बुधवार को साप्ताहिक के रूप में नियमों के साथ।
श्रेणियाँ: पदों का एक सेट
समूह: पदों की एक और सेट। एक ही समूह में स्थितियां एक ही दिन में नहीं सौंपा जा सकता है
कि किसी निश्चित तिथि पर पदों के लिए सौंपा उपयोगकर्ता: सदस्य।
महीने में प्रत्येक तिथि के लिए, सदस्यों के पदों (दोनों आरोही क्रम में) को सौंपा है। एक सदस्य एक वर्ग में एक पद के लिए असाइन किया गया है, तो अगली बार एक ही श्रेणी में एक स्थान ऊपर आता है, अगले सदस्य वर्णानुक्रम (या सूची की शुरुआत) सौंप दिया जाता है जैसे।
सदस्य: एम 1, M2, एम 3, एम 4
श्रेणी सी 1 में पद: P1, P2, पी 3
स्थिति P1 में सदस्य: एम 1, M2, एम 3, एम 4
एम 1, M2, एम 3: सदस्य स्थिति P2 में
स्थिति P2 में सदस्य: एम 1, एम 3, एम 4
एम 1 पी 1 के लिए असाइन किया गया है, तो अगर P2 अगले आता है, M2 आवंटित किया जाएगा। जहां अगर पी 3 अगले बजाय आता है, एम 3 सौंप दिया जाता है जटिलता का एक अतिरिक्त परत शुरू की है। प्रणाली तथ्य था कि एम 2 'को छोड़ दिया' और M2 आवंटित अगले यदि उपलब्ध हो, तो एम 4 अगले असाइन करें, या इंतजार जब तक यह एक स्थिति में जहाँ M2 उपलब्ध है के लिए हो जाता है का ट्रैक रखने के (इस जब वहाँ कई हैं इसके साथ ही जटिल हो जाता है 'को छोड़ दिया 'सदस्य)।
अगर वह संकेत दिया है कि वह उस तारीख को उपलब्ध नहीं होगा एक सदस्य भी छोड़ दिया जाएगा। प्रणाली को छोड़ दिया सदस्यों पर प्राथमिकता जगह, किसी भी तरह उन्हें पहचान जब वे आते हैं और फिर सूची में अगले तार्किक व्यक्ति के लिए कूद करने की जरूरत है। लंघन भी तारीख संघर्ष की वजह से समूहों के लिए लागू होता है।
मैं पहले से ही जो मैं अब भी समझ में हालांकि मैं यह टिप्पणी हर कदम समझाने का एक बहुत कुछ है एक अस्थायी [और गंदा] समाधान है। इसकी कमजोरियों को छोड़ दिया सदस्यों से निपटने में हैं।
आप कोड करने के लिए जा रहे थे, तो यह आप इसके बारे में कैसे जाना होगा? मैं PHP में इस लागू करने रहा हूँ, लेकिन स्यूडोकोड रूप में अच्छी तरह काम करेगा।













