vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

چنانچه در هریک از مراحل نصب یا کاربری نرم‌افزارها به مشکلی برخورد کرده‌اید یا هر سوال، اشکال یا ابهامی در این زمینه دارید، می‌توانید پاسخ خود را ابتدا در مطالب موجود جستجو و در صورت لزوم به عنوان یک مبحث جدید مطرح کنید، تا کارشناسان پشتیبانی به آن پاسخ دهند.

به منظور ثبت سوال جدید و یا پاسخ به موضوعات موجود، ابتدا می بایست از طریق صفحه مربوطه به سامانه وارد شوید. چنانچه نام کاربری دریافت نکرده اید، به صورت رایگان و از طریق صفحه مربوطه، ابتدا در سامانه ثبت نام نمایید.

انجمن های پشتیبانی سیمرغ نوسا

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 29 آذر 1402 03:48 ب.ظ توسط  Tariverdi
سابقه تراکنشهای یک کاربر خاص در سطح گردش کار
 1 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


کاربر باتجربه


کاربر باتجربه


--
28 آذر 1402 11:43 ق.ظ

    در بسیاری از موارد در گردش کارها نیاز پیدا می کنیم که سابقه تراکنشهای یک کاربر خاص را به دست بیاوریم. برای ملموس شدن موضوع، به مثالهای زیر که  توجه کنید:

    مثال 1: تعداد درخواست (تیکت) ثبت شده توسط یک مشتری خاص

    مثلا فرض کنید می خواهیم هر مشتری حداکثر دو درخواست باز (فعال) داشته باشد.

    مثال 2: تعداد درخواست ثبت نام در همایش توسط یک مشتری خاص

    برای مثال هر کاربر بتواند تنها یکبار  ثبت نام کند. به عبارت دیگر یک بار بتواند کار جدید ایجاد کند.

    مثال 3: تعداد رفع اشکال توسط یک کارشناس خاص

    مثلا اگر تعداد رفع اشکال یک کارشناس خاص (در تمام کارها) در طول روز کمتر از 3 مورد باشد سیستم واکنش تعریف شده ای را نشان دهد.

    در چنین مواردی باید چکار کنیم؟ توجه کنید که در این موارد نمی توانیم از SearchWork استفاده کنیم چون فیلد کاربر انجام دهنده وظیفه،  جزء فیلدهای سیستمی است و امکان جستجوی آن از طریق SearchWork وجود ندارد. ضمنا از توابع آماری WorkUtils.Stat نیز به همان دلیل مشابه نمی توانیم استفاده کنیم چون در تعیین جامعه آماری (WorkSet) باز همان محدودیت را داریم و تنها فیلدهای تعریف شده را می توانیم جستجو کنیم. روشی که به ذهن من می رسد این است که :

    1- یک متغیر عددی با مقدار اولیه صفر تعریف می کنیم که محتوای این فیلد نشان دهنده تعداد بار انجام وظیفه کاربر است.

    2- با استفاده از متد SearchWork کلید تمام کارهای مورد نظر خود را در یک آرایه ذخیره می کنیم.

    3- سپس از  در یک حلقه for و برای تمام کلید کارها، یک به یک از تابع سابقه تراکنشهای یک وظیفه خاص  (GetLogList(TaskKey استفاده می کنیم. به این ترتیب برای هر کلید کار، یک آرایه از WorkLogInf های مرتبط با وظیفه مورد نظر را بدست می آوریم.

    4- در این WorkLogInfها وجود کلید کاربر مورد نظر را بررسی می کنیم  و برای هر تراکنشی که  با شرایط مورد نظر ما مطابق باشد یک واحد به متغیر عددی اضافه می کنیم. به این ترتیب تعداد انجام یک وظیفه خاص توسط یک کاربر خاص بدست می آید.

    البته این مثالها روی یک جنبه خاص از سابقه تراکنشها متمرکز شده است و اگر یک راه حل عام برای بدست آوردن سابقه تراکنشهای یک کاربر در سطح گردش کار، پیدا کنیم طبیعتا موارد خاص را نیز شامل خواهد شد. اگر در این زمینه راه حل خاصی به نظر دوستان می رسد ممنون می شوم در این پست مطرح نمایند.

    با سپاس



    کاربر باتجربه


    کاربر باتجربه


    --
    29 آذر 1402 03:48 ب.ظ

    با بررسی بیشتر راه حل زیر برای مثالهای 1 و 2  راه حل ساده تری به نظر می رسد:

    در الگوی متد SearchWork و در متن xml برای جستجو، دو مشخصه زیر وجود دارد:

    TaskCode: کد وظیفه مورد نظر

    WorkUserName : نام کاربر وظیفه

    بنابراین با محدود کردن جستجو به این دو مشخصه، می توانیم تعداد کارهایی را که یک کاربر خاص در یک وظیفه خاص انجام داده است را محاسبه کنیم. به مثال زیر توجه کنید:

    فرض کنید در گردش کار "کالاها" با کد "1" ، کد وظیفه آغاز برابر با "1" است. در این صورت با تابع اجرایی زیر می توانیم تعداد کارهای آغاز شده توسط کاربر Tariverdi در این گردش کار را محاسبه کنیم.

    function WorkTaskCalcUserAct() {
        var data='<_RQST WorkflowCode="1" TaskCode="1" Status="9" WorkUserName="nosa\\Tariverdi">';
        var res=WorkUtils.SearchWork("", data);
        return  res.length; 

    }

    در این مثال جستجو در کارهای فعال و پایان یافته انجام شده است.

    نکته مهم: اگرچه این روش برای وظیفه آغاز درست کار می کند اما برای وظایف دیگر که امکان تکرار دارد مناسب نیست. دلیل این قضیه هم این است که خروجی جستجو کلید کارهاست نه کلید تراکنشها و لذا تراکنشهای وظایف تکرار شونده نظیر مثال 3، با این روش قابل محاسبه نیست.

    شما مجاز به پاسخ به اين پست نمي باشيد.


    kurtkoy escort
    bostanci escort
    ankara escort
    comendo minha prima gordinha rajini murugan movie hd moglie con due negri calcaterra e lara scena hot mujeres con ropa interior transparente