0 امتیاز
قبل در برنامه نویسی توسط (89 امتیاز)
برچسب گذاری دوباره قبل توسط

برای لیستی از entity  ها لازم هست که وضعیت فرایند جاری  آنها را بتوان بر اساس ProcessKey نمایش داد و در صورت امکان از لایه UI  و بدون تغییر entity  می خواهم این کار  را انجام دهم آیا امکان  ارسال اطلاعات post  و User برای activiti در service  وجود دارد ؟

customFsbltyheaderResource.loadBussinessInfo = {method :'GET' , url: '/activiti/rest/history/historic-process-instances?businessKey=:businessKey&currentPostId=:postId&currentUserId=:userId'}
    	

همچنین در صورتی که چندین فرایند با یک ProcessKey  داشته باشیم برای گرفتن وضعیت نهایی (یک وضعیت)آنها راهی وجود دارد ؟

باتشکر 

قبل توسط (1.4هزار امتیاز)
اگر محدودیت روی سمت یا کاربر ندارید، پس پارامترهای currentPost و currentUser رو چرا به صورت queryParam به این سرویس دادید؟
قبل توسط (89 امتیاز)
قصدی نبوده وب سرویس را برای نمونه گذاشتم.
برای کاربران که کاربر فرایند هم نیستند باید وضعیت نمایش داده شود

باتشکر

1 پاسخ

0 امتیاز
قبل توسط (1.4هزار امتیاز)
ویرایش شده قبل توسط

برای دریافت لیست فرآیندها از سرویس زیر استفاده کنید:

{method: 'GET',  url: '/activiti/rest/history/historic-process-instances'}

برای فیلتر با شماره پیگیری، از query-param زیر استفاده کنید:

businessKey

یا اگر می‎خواهید، با بخشی از شماره پیگیری جستجو کنید:

businessKeyLike

یعنی تعریف سرویس شما در سمت angular، به این شکل میشه:

{method: 'GET',  url: '/activiti/rest/history/historic-process-instances?businessKey=:businessKey'}

وجود یا عدم وجود پارامترهای currentPostId و currentUserId تاثیری در خروجی این سرویس ندارد. یعنی فیلتری با این دو ورودی انجام نمی‎شود.

اگر از سمت سرور هم بخواهید فراخوانی کنید، از متد زیر استفاده کنید:

ir.asta.wise.activiti.client.rest.ProcessExecutionService.searchHistoricProcess(Map<String, String>)

همچنین، امکانی برای دریافت یک وضعیت برای تمامی این فرآیندها نداریم. وضعیت هر فرآیند در پاسخ دریافتی وجود دارد.

بروزرسانی:

برای فراخوانی این سرویس، کاربر باید دسترسی زیر را داشته باشد:

مدیریت فرآیند-> اجرا و نظارت بر فرآیند -> نمونه فرآیندها -> اطلاعات سابقه نمونه فرآیندها -> لیست سابقه نمونه فرآیندها

اگر می‎خواهید، همه کاربرانِ احرازهویت‌شده (لاگین‌شده) بتوانند اطلاعات این سرویس را ببینند، دسترسی بالا را به نقش "کاربر سیستم" (با کد ROLE_USER) بدهید. این نقش به صورت پیش‎فرض به تمامی کاربران داده می‎شود و نیاز به تخصیص آن به کاربران مورد نظرتان نیست.

قبل توسط (89 امتیاز)
واگر کاربر مورد نظر، کاربر فرایند نباشد، هیچ اطلاعاتی برایش نمی آورد و خطا میگیرد.
برای همین نیاز به ارسال یک کاربر یا پست پیشفرض هست

باتشکر
قبل توسط (1.4هزار امتیاز)
من این رفتار که می‎فرمایین رو نه در کد می‎بینم و نه وقتی سرویس رو فراخوانی می‎کنم. وجود این دو پارامتر و مقدارشون تاثیری نداره. اگر لاگی دارید بفرستید. ممنون.
قبل توسط (89 امتیاز)
اگر کاربری، کاربری فرایند نداشته باشد زمان فراخوانی این سرویس :
https://localhost:3456/activiti/rest/history/historic-process-instances?businessKey=530

کد خطای 403  را میگیرد :
{message: "امکان دسترسی به سرویس وجود ندارد", status: 403}

باتشکر
قبل توسط (1.4هزار امتیاز)
ویرایش شده قبل توسط
متوجه شدم. منظور شما نقش "کاربر فرآیند" است. برای فراخوانی هر سرویسی از واسط کاربر، کاربر باید دسترسیِ مورد نیاز آن سرویس را داشته باشد. برای این سرویس، این دسترسی در مسیر زیر قرار دارد:

مدیریت فرآیند-> اجرا و نظارت بر فرآیند -> نمونه فرآیندها -> اطلاعات سابقه نمونه فرآیندها -> لیست سابقه نمونه فرآیندها

اگر می‎خواهید همه کاربران احرازهویت‌شده (لاگین‌شده) بتوانند اطلاعات این سرویس را ببینند، دسترسی بالا را به نقش "کاربر سیستم" (با کد ROLE_USER) بدهید. این نقش به صورت پیش‎فرض به تمامی کاربران داده می‎شود و نیاز به تخصیص آن به کاربران مورد نظرتان نیست.
قبل توسط (89 امتیاز)
بله همین منظوره
ممنونم

سوالات مشابه

+1 امتیاز
0 پاسخ 457 بازدید
+1 امتیاز
1 پاسخ 316 بازدید
+1 امتیاز
1 پاسخ 407 بازدید
+2 امتیاز
1 پاسخ 739 بازدید
0 امتیاز
2 پاسخ 983 بازدید
+1 امتیاز
1 پاسخ 331 بازدید
0 امتیاز
1 پاسخ 377 بازدید
...