PDA

View Full Version : سلام ايده ميخام در مورد پايگاه : چطوري جنس رو توي انبار تعريف كنم



miki_ir
دوشنبه 10 مرداد 1390, 08:22 صبح
فرض كنيد قراره ليست دارو هايي كه به داروخونه ميان ذخيره بشه بعدا ازشون توي برنامه استفاده بشه وقتي هم به بيماري دارو ميديم دارو از انبار كم ميشه
خب حالا من چكار كنم
بايد يه جدول جدا براي انبار ايجاد كنم يا همون جدول دارو كافيه ؟
فرض كنيد داروي كدويين . اگه هر دارو رو بر اساس كد يكتاي دارو تعريف كنم كاربر بدبخت بايد برا هر بسته قرص دوباره تمام مشخصاتو وارد كنه كه معقول نيس تازه تو انبارم برا اينكه بفهم چه دارويي به چه تعدادي هست چون كدا متفاوتن جواب درستي نميگيرم اما كد يكتا هم نباشه باز مشكل پيش مياد

چطوري تعريف كنم كه هم تو مديريت تعداد داروها مشكل نداشته باشم هم ورود داده برا كاربر سخت نباشه
؟

mortaza_bn
دوشنبه 10 مرداد 1390, 09:52 صبح
پیشنهاد من-> دو تا جدول تعریف کن.تو اولی مشخصات هر دارو را ذخیره کن به جز تعدادشون، ضمنا واسش یه فیلد (کد دارو) هم تعریف کن.تو دومی دوتا فیلد بزار(کد دارو و تعداد) کد دارو کلید خارجی و از جدول اولی میاد و فیلد دوم هم تعداد اون دارو را نمایش می ده.

quantomquery
دوشنبه 10 مرداد 1390, 11:09 صبح
یه جدول انبار بساز با 2 فیلد کد دارو و تعداد ورودی
حالا تو هر insert یه رکورد که تعداد ورود دارو رو نشون می ده بزار
سر اخر برای مدیریت تعداد دارو تعداد داروی وارد شده رو منهای تعداد داروی خارج شده یا به فروش رفته بکن

miki_ir
دوشنبه 10 مرداد 1390, 11:44 صبح
یه جدول انبار بساز با 2 فیلد کد دارو و تعداد ورودی
حالا تو هر insert یه رکورد که تعداد ورود دارو رو نشون می ده بزار
سر اخر برای مدیریت تعداد دارو تعداد داروی وارد شده رو منهای تعداد داروی خارج شده یا به فروش رفته بکن

ممنون از شما و دوست بالا
خب اين راهي كه گفتيد چن تا مشكل داره كد دارو رو چطوري در نظر بگيريم كه اپراتور لازم نباشه حفظ كنه يه راه كد روي جلده كه اونوقت برا هر دارو منحصر بفرده روش شما ج نميده
يه راهم دادن كد فرضيه از راه شما اونوقت كاربر چطوري كد هر دارو رو تشخيص بده؟ بعدشم اون قسمت مديريت كه گفتيد فروش رو منهاي ورود كن . بعد زماني و در نظر بگير كه ويرايش صورت بگيره مشكلي پيش نمياد به نظرت
بزار بهتر بگم :
اگه از راهي كه تو گفتي برم الان كاربر ميخاد داروي كدويين وارد كنه خب فرض كن دو نوع كدويين داريم يكي مال شركت الف يكي مال شركت ب خب كاربر حالا اگه بخاد كداشونو يكي بگيره يعني همه ي كدويينا رو يكي در نظر بگيره و برا هر دارو يه كد جدا حفظ كنه كه اصلا نشده
اگه هم يكي نگيره اگه يكي داروي كدويين خواست چطوري پيداش كنيم تو انبار اگه جستجو براساس نام دارو باشه كه ممكنه كاربر اسم دارو رو كامل وارد نكرده باشه يا با كم و زياد .
نميدونم منظورمو ميفهميد يا نه
ممنون

mehran_sh_t
دوشنبه 10 مرداد 1390, 11:59 صبح
به نظرم اول باید ببینی چقدر قیمت دارو بالا پایین میشه، حتی اگر هم نشه باید فیلد قیمت رو در نظر بگیری.
فرض کن این ماه یه جعبه قرص میاد با قیمت 100، ماه بعد با قیمت 110، بعد اگه بخوای همون رکورد اول رو آپدیت کنی، قیمت یا باید 100 باشه، یا 110، بعد در محاسبه مقدار سود به مشکل برخورد می کنی.
به نظرم چند تا جدول می خوای، یه جدول نوع دارو، یه جدول ورودی انبار (ورود دارو به دارو خونه، مثلا دارو با قیمت ... در تاریخ ... به تعداد ... وارد انبار شد)، یه جدول انبار (از داروی ... در کل ... داری)، یه جدول هم فروش (از داروی ... در تاریخ ... به تعداد ... به قیمت واحد ... فروخته شد)

miki_ir
دوشنبه 10 مرداد 1390, 12:23 عصر
به نظرم اول باید ببینی چقدر قیمت دارو بالا پایین میشه، حتی اگر هم نشه باید فیلد قیمت رو در نظر بگیری.
فرض کن این ماه یه جعبه قرص میاد با قیمت 100، ماه بعد با قیمت 110، بعد اگه بخوای همون رکورد اول رو آپدیت کنی، قیمت یا باید 100 باشه، یا 110، بعد در محاسبه مقدار سود به مشکل برخورد می کنی.
به نظرم چند تا جدول می خوای، یه جدول نوع دارو، یه جدول ورودی انبار (ورود دارو به دارو خونه، مثلا دارو با قیمت ... در تاریخ ... به تعداد ... وارد انبار شد)، یه جدول انبار (از داروی ... در کل ... داری)، یه جدول هم فروش (از داروی ... در تاریخ ... به تعداد ... به قیمت واحد ... فروخته شد)
اوه اوه راس ميگيا
مسئه پيچيده تر شد اي واي

miki_ir
دوشنبه 10 مرداد 1390, 12:37 عصر
به نظرم اول باید ببینی چقدر قیمت دارو بالا پایین میشه، حتی اگر هم نشه باید فیلد قیمت رو در نظر بگیری.
فرض کن این ماه یه جعبه قرص میاد با قیمت 100، ماه بعد با قیمت 110، بعد اگه بخوای همون رکورد اول رو آپدیت کنی، قیمت یا باید 100 باشه، یا 110، بعد در محاسبه مقدار سود به مشکل برخورد می کنی.
به نظرم چند تا جدول می خوای، یه جدول نوع دارو، یه جدول ورودی انبار (ورود دارو به دارو خونه، مثلا دارو با قیمت ... در تاریخ ... به تعداد ... وارد انبار شد)، یه جدول انبار (از داروی ... در کل ... داری)، یه جدول هم فروش (از داروی ... در تاریخ ... به تعداد ... به قیمت واحد ... فروخته شد)

دوست من ما سر داشتن اين سه جدول باهم هم حرفيم بحث ما سر
نوع ورود دارو در انبار و جدول دارو كه آيا فرضا هر دارويي مثه كدويين بايد جدا وارد جدول بشه مثلا من براي هر بسته كدويين يك ركورد جديد تو جدول انبار و جدول دارو داشته باشم يا نه مثلا براي صد بسته كدويين يه ركورد داشته باشم با در نظر گرفتن تعداد ورودي
تو حالت اول پدر اپراتور در مياد و اصلا قابل قبول نيس
تو روش دومم اپراتور بنده خدا بايد براي هر نوع دارو يه كدو حفظ باشه كه هر دفه وارد كنه
كه اينم نشده فرض كن ده هزار قلم دارو داريم چطوري تشخيص بده مثلا كد كدويين چند بوده بروفون چند؟

quantomquery
دوشنبه 10 مرداد 1390, 15:11 عصر
دارو(کد،نام،شرکت تولید کننده،توضیحات)
انبار(کد دارو،تعداد ورودی،تاریخ ورود،توضیحات)
فروش(که دیگه سیستم خودته میخوای معمولی بذار یا فاکتوری (تعداد))

1- اپراتور بیچاره لازم نیست کد ها رو حفظ کنه : هر بار یه فرم جستجو میاد جلو بخشی از نام دارو رو می گیره و کل دارو های با اون نام رو نشون می ده تو گرید بعد داروی مورد نظر رو به احتساب شرکت و توضیحاتی که نوشته انتخاب می کنه و ok که اینطوری کد دارو رو داری
2- اگه ویرایش هم داشتی مشکلی نیست چون هر بار داری دارو های ورودی رو جمع می زنی منهای داروهای خروجی می کنی (یعنی هر بار کل جدول رو محاسبه می کنی نه اینکه بیای یه عدد ثابت داشته باشی بعدا گریبان گیرت بشه)
3-اگه 2 نوع کدویین داری یکی مال شرکت الف و دیگری ب : داروی شرکت الف کدش میشه 1 و اون یکی میشه دو و بر اساس بند 1 که نوشتم اپراتور کاری به کد دارو نداره و از طریق نام دارو ونام شرکت پیداش میکنه

ببینید در اصل اون کلید ها و یا کد ها برای اینه که کامپیوتر بیاد محاسبات کنه و نتیجه رو user frindly به اپراتور برسونه یعنی حتی اگه میتونی کد دارو رو تو گرید هم نشون نده - اصلا لازم نیست - اونو فقط برای حساب کتاب کامپیوتر اینور و اونور به فرم ها پاس بده و بر اساس اون نام ها و توضیحات رو که کاربر می فهمه رو نمایش بده
موفق باشید

miki_ir
دوشنبه 10 مرداد 1390, 17:06 عصر
ممنون : با توضيحات شما الان ميتونم سوالمو دقيق بپرسم
سوالم اينه
فرض كن امروز
اين دارو رو وارد كردم
كد 1 داروي كدويين شركت مهر تعداد ورودي 10 و.....
حالا فردا همين دارو كدويين ماله اين شركت يا هر شركت ديگه اومده
تو جدول دارو و انبار باز به كدويين كد يك بايد بدم يا نه كد جديد
ممنون

quantomquery
دوشنبه 10 مرداد 1390, 19:46 عصر
اولین بار دارو رو توی بانک ذخیره میکنید :
نام : کدیین دوز 200 نام شرکت : سبحان دارو توضیحات : ..... کد : بهتره بزارین به صورت خودکار sql یا dbms تولید کنه که مثلا 1 تولید کرد پس کد دارو الان 1 هست
نام : کدیین دوز 200 نام شرکت : جابربن حیان توضیحات : ..... کد : بهتره بزارین به صورت خودکار sql یا dbms تولید کنه که مثلا 2 تولید کرد پس کد این دارو 2 هست
نام : کدیین دوز 400 نام شرکت : جابربن حیان توضیحات : ..... کد : بهتره بزارین به صورت خودکار sql یا dbms تولید کنه که مثلا 3 تولید کرد پس کد این دارو 3 هست

حالا هروقت که این دارو رو اوردین توی انبار این طور اظافه کنید :
کد دارو :1 تعداد ورودی : 50 تاریخ ورود : 1390/01/01 توضیحات : .........

هفته بعد دوباره دارو اوردین :(تو انبار)
کد دارو :1 تعداد ورودی : 50 تاریخ ورود : 1390/01/08 توضیحات : .........
کد دارو :2 تعداد ورودی : 500 تاریخ ورود : 1390/01/08 توضیحات : .........
کد دارو :3 تعداد ورودی : 150 تاریخ ورود : 1390/01/08 توضیحات : .........


بازم یه روز دیگه دارو اوردین :(تو انبار)
کد دارو :1 تعداد ورودی : 5000 تاریخ ورود : 1390/02/01 توضیحات : .........


حال موقع جمع زدن فقط بیا جدا جدا جمع بزن از هرکدوم چند تا اوردین و بعد منهای فروش هرکدوم بکن

اینطوری با ویرایش یا حذف هم حتی جواب هات درست در می اد

miki_ir
دوشنبه 10 مرداد 1390, 20:09 عصر
بعد حالا اگه صد تا از كد يك بفروشم
مگه نبايد صد تا رو از انبار كم كنم حالا اين صد تايي كه قراره از انبار كم شه داره از كدوما كم ميشه؟ چطوري بايد كم ميشه
بنظرت اشتبا نيس؟

quantomquery
چهارشنبه 12 مرداد 1390, 19:56 عصر
قرار نیست از جایی کم بشه
اگه کم بشه که سنگ روی سنگ بند نمیشه
فردا شاید بخواهی امار ماهیانه ورود به دارو در انبار رو برای 12 ماه گذشته به تفکیک ماه بگیری ----- حالا اگه شما از انبار و یه دارو کم کنی که امار درست درمون نداری !!!!!!
من که تو پست های قبللی گفتم یه جدول فروش باید داشته باشی که تعدادی رو که میفروشی رو ثبت کنی مثلا :

کد دارو : 1 تعداد فروش : 100 کد خریدار : 255011 تاریخ فروش : 1390/05/05 توضیحات : ......


حالا سر ماه بیا برای امار تعداد دارو های ورودی به انبار رو منهای تعداد داروهای فروخته شدش بکن

miki_ir
جمعه 14 مرداد 1390, 09:40 صبح
واقعا ازت ممنونم
پس من هر چي مياد تو انبارو دست نخورده بايد بزارم
به جدول فروش دارم فروش هامو نگهداري مي كنه
برا حساب كتابم اين دو تا رو از هم كم ميكنم آره؟
خدا خيرت بده

miki_ir
جمعه 14 مرداد 1390, 09:40 صبح
يه سوال در مورد فيلد اتوماتيك دارم . همين جا بپرسم ميتوني جواب بدي؟

miki_ir
جمعه 14 مرداد 1390, 09:49 صبح
راسي حالا كه چيزي از خود انبار كسر نميشه از كجا بدونم يه كالا موجوديش تموم شده يا نه ؟
يعني براي هر كالا بايد بيام چك كنم تمام ورودي هاي اون كالا رو منهاي فروش هاش بكنم هر بار ؟ منطقيه؟

quantomquery
شنبه 15 مرداد 1390, 12:40 عصر
سلام

بهترین راه همینه

miki_ir
شنبه 15 مرداد 1390, 13:54 عصر
سلام

بهترین راه همینه

راسي حالا كه چيزي از خود انبار كسر نميشه از كجا بدونم يه كالا موجوديش تموم شده يا نه ؟
يعني براي هر كالا بايد بيام چك كنم تمام ورودي هاي اون كالا رو منهاي فروش هاش بكنم هر بار ؟ منطقيه؟

ma.rad
شنبه 15 مرداد 1390, 14:37 عصر
شما می تونید یه فیلد مربوط به تعداد کالا رو تو جدول فروش بزارید واز اون یکی یکی کم کنید واون رو چک کنیدفقط به یاد داشته باشید زمان به روز کردن جدول موجودی انبار محاسبات مربوط به این فیلد انجام بشه.

quantomquery
شنبه 15 مرداد 1390, 15:37 عصر
بله
همین کارو باید بکنی
اگه با دیتا بیس هایی مثل sql server کار می کنی مشکلی پیش نمی اد و رو سرعتت زیاد تاثیر نمی ذاره
و اگه با access کار می کنی می تونی پایان سال همه رو جمع ببندی و ....
مثل سال مالی که می بندند

miki_ir
یک شنبه 16 مرداد 1390, 08:52 صبح
ممنون از همه ي دوستان
خدا خيرتون بده

miki_ir
سه شنبه 18 مرداد 1390, 06:16 صبح
یه جدول انبار بساز با 2 فیلد کد دارو و تعداد ورودی
حالا تو هر insert یه رکورد که تعداد ورود دارو رو نشون می ده بزار
سر اخر برای مدیریت تعداد دارو تعداد داروی وارد شده رو منهای تعداد داروی خارج شده یا به فروش رفته بکن

مشكلم اينجاست كه : خب هر كالا يه كد منحصر بفرد داره درست؟ حالا گفتن مثلا گفتن اين حرف كه مثلا 10 كولر وارد شده 5 تا خارج بي معناس
چون هر كولر كد منحصر بفردي داره
در واقع ما از هر كالا يه دونه بيشتر نداريم
اين موضوع چطو پياده سازي بشه
واقعا پيچيدس عقل من كه قد نداد

quantomquery
سه شنبه 18 مرداد 1390, 16:47 عصر
خب الان مساله یه کوچیک فرق کرده
یعنی میگین به ازای 10 کولر وارد شده کاربر باید بشینه 10 تا شماره سریال وارد کنه ؟
اگه اینطوریه شما باید یه جدول گروه کالا در نظر بگیرین یعنی جداولتون :
گروه دارو (کد گروه ، نام دارو، شرکت تولید کننده،توضیحات)
دارو(کد دارو ،کد گروه ،شماره سریال دارو ،توضیحات)
انبار(کد دارو،تعداد ورودی،تاریخ ورود،توضیحات)
فروش(که دیگه سیستم خودته میخوای معمولی بذار یا فاکتوری (تعداد))

اولین بار برای هر دارو یک گروه ساخته بشه و بعد شماره سریال ها تو جدول دارو اظافه بشه
حتی میتونی گروه های بالا تری در نظر بگیری :
گروه اصلی(کد گروه اصلی ، نام گروه اصلی،توضیحات) ----> این گروه مثلا برای جدا کردن دارو های قرصی و تزریقی و ... باشه
گروه دارو (کد گروه ،کد گروه اصلی، نام دارو، شرکت تولید کننده،توضیحات)
دارو(کد دارو ،کد گروه ،شماره سریال دارو ،توضیحات)
انبار(کد دارو،تعداد ورودی،تاریخ ورود،توضیحات)
فروش(که دیگه سیستم خودته میخوای معمولی بذار یا فاکتوری (تعداد))


حالا اگه حتی بخوای تمام شماره سریال های مربوط به استامینوفن رو پیدا کنی خیلی راحت مقادیر جدول دارویی رو برمی گردونی که کد گروهش همون کد گروه استامینوفن باشه