PDA

View Full Version : سوال: بهترین ایده برای پیاده سازی یک عمل



IMANAZADI
یک شنبه 18 مرداد 1394, 10:58 صبح
با سلام

میخواهیم یک سیستم واسه ارسال یکسری بسته (پکیج) طراحی کنیم که چندین یوزر به طور همزمان روی اون کار میکنه
هر بسته که ارسال میشه یه شماره کد ارسالی میگیره که اگر این بسته ای برای بار اول ارسال میشه (جدیدباشه ) میخواهیم شماره ایی شبیه زیر واسه اون در ستون مربوطه لحاظ بشه

xxxx-xx-00001

حالا اگر این بسته ، زیر مجموعه وابسته هم داشته باشه میخوام کد ارسالی اون به شکل زیر باشه
xxxx-xx-00001-1

و به همین ترتیب
xxxx-xx-00001-2
xxxx-xx-00001-3
و ....


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

مثلا اگر بسته جدید و بدون وابسته بود کد آحرین ارسالی میشه xxxx-xx-00001 که یکی به اون اضافه میشه و میشه xxxx-xx-00002
یا اگر بسته جدید وابسته ارسالی باشه کد آخرین وابسته ارسالی میشه xxxx-xx-00001-3 که یکی به اون اضافه میشه و میشه xxxx-xx-00001-4


به نظرتون برای پیاده سازی طرح فوق بهترین ایده ایی که به ذهنتون میرسه چی هست ؟



چیزایی که خودم به ذهنم میرسه این هاست
1-بیام کد ارسالی رو به 4 ستون خرد کنم

اگر بسته جدید بود یعنی وابسته نداشت
max مقدار ستون سوم رو بدست بیارم و یکی به اون اضافه کنم بشه کد ارسالی جدید

اگر بسته وابسته جدید بود

maxمقدار ستون چهارم مربوط به اون بسته رو بدست بیارم اگر null نبود یکی به اون اضافه کنم و اگر null بود عدد 1 رو بزاریم

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

اگر ایده یا روش دیگه ای هست / دارید ممنون میشم مطرح کنید (غیر از اضافه کردن جدول دوم یا واسط ، صورت سوال ثابت هست)


با تشکر

mohammadsaleh
یک شنبه 18 مرداد 1394, 11:07 صبح
با استفاده از توابع مربوط به رشته هم مي شود بدون ايجاد چند ستون كار را انجام داد.

IMANAZADI
سه شنبه 20 مرداد 1394, 14:18 عصر
با استفاده از توابع مربوط به رشته هم مي شود بدون ايجاد چند ستون كار را انجام داد.

نظر شما میشه همون آیتم 2 که عنوان کردم
یعنی با کدنویسی و توابع این کار رو انجام داد
کسی از دوستان نظر دیگه ایی نداره ؟

Abbas Amiri
سه شنبه 20 مرداد 1394, 14:39 عصر
نظر شما میشه همون آیتم 2 که عنوان کردم
یعنی با کدنویسی و توابع این کار رو انجام داد
کسی از دوستان نظر دیگه ایی نداره ؟

سلام
با کد نویسی می توانید اینکار را انجام دهید . تابع Split هر رشته را می تواند بر اساس یک جداساز (که در اینجا "-" هست) به یک آرایه تبدیل کند و شما می توانید با بدست آوردن تعداد عضوها اصلی بودن و زیرمجموعه بودن آن و در حالتی که زیر مجوعه هست آخرین عضو این آرایه عدد آنرا بدست آورید

n = UBound(Split(strCode, "-")) ' تعداد عضو رشته
i = Split(strCode, "-")(n) 'عدد بسته فرعي

در مورد اول تعداد اعضا منهای یک نمایش داده میشود.