26-04-2012, 20:23
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
אוקיי, אז אתה בעצם רוצה לקחת את כל המלאי שלך - לאחד אותו ביחד - ולפצל אותו מחדש לחנויות
ואתה עושה את זה כתהליך חד פעמי...
קודם כל, ברור לך, שבסנריו של Real World, אתה לא באמת עושה משהו כמו שאתה פרטת עכשיו (אא"כ אתה מדבר על מלאי-פר-מוצר ולא על מוצרים שונים הקיימים בחנויות? - ואתה מתכוון לעשות את התהליך הזה פר מוצר עבור כל מוצר בחנויות שנסגרות?). אבל אם זה סתם לקחת את כל המוצרים ולפזר אותם, אתה פשוט עושה לולאה שרצה מ 1 עד כמות המוצרים שיש, וכל פעם שמונה הלולאה mod עם [מספר המוצרים בחנות] = 0, אתה מקדם את מספר החנות [משתנה מונה נוסף] ב 1, ואז אתה בונה שאילתת update פשוטה שתציב בשורה עם ה id של המוצר במלאי את מספר החנות... זה בהנחה שיש לך id פר מוצר (כאמור מוצרים שונים). אם זה מלאי של מוצרים בודדים, אז אתה צריך לעשות הפוך - לסכום מה DB את כמות המוצרים שיש, ולעשות לולאת while > מקסימום בחנות, כשבתוכה אתה מקדם כל פעם את החנות ב 1, מוריד מהמלאי את המקסימום של החנות, ומציב את ערך המקסימום במלאי של כל חנות וחנות. בסיום הלולאה תתכן שארית שאותה תכניס לחנות האחרונה...
כמובן שבעולם האמיתי (ERP?), אתה גם תצטרך ממילא לקרוא את המידע הקיים על המוצר (איפה הוא היום), ולתת הוראת מחסן לשילוח של המוצר הזה לעבר הערך שאליו שינית... ולא לשנות ב DB בפועל, עד שהמוצר לא מתקבל במחסן המלאי שאליו הוא נשלח... (או לשנות מסטטוס In Stock ל In Transit, ולשמור את היעד בטבלת שילוחים... הכל תלוי במימוש)
|