عرض القائمة

الهيئة العامة للصناعة
إشاراتك المرجعية

هذه القائمه تحتوى على الصفحات المفضله لديك على الموقع . لكى تقوم بإضافةصفحات اخري يجب الدخول على الصفحه المطلوبه ثم الضغط على علامة الإرشاداتالمرجعيه بجانب اسم الصفحه على اليسار

مسار التنقل

ناشر الأصول

حصل خطأ عند معالجة القالب.
Java method "com.sun.proxy.$Proxy976.invokeRestClientGet(String)" threw an exception when invoked on com.sun.proxy.$Proxy976 object "pai.kw.web.services.service.impl.WebServicesLocalServiceImpl@3c19140c"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: servicedetailjsonget = webLocalServic...  [in template "20097#20123#43739" at line 45, column 9]
----
1<#-- 
2Widget templates can be used to modify the look of a 
3specific application. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8<#assign local = locale/> 
9<#assign group_id = themeDisplay.getScopeGroupId()  /> 
10<#assign transId = request.getParameter('transId')!'' > 
11<#assign categoryType = request.getParameter('catType')!'' >	 
12<#assign licOrConNo = request.getParameter('lcNo')!'' >	 
13	 
14<#assign webservice_baseURL = languageUtil.get(locale, "pai-webservice-baseurl")/> 
15<#assign webLocalService =  serviceLocator.findService("pai.kw.web.services.service.WebServicesLocalService") /> 
16<#assign uesrLicTableService =  serviceLocator.findService("pai.kw.db.user.service.UserLicenseLocalService") /> 
17<#assign uesrConTableService =  serviceLocator.findService("pai.kw.db.user.service.UserContractLocalService") /> 
18<#assign userSigned = themeDisplay.isSignedIn() 
19				 userSigned_val = userSigned?string('true', 'false')/>	 
20<#assign  		  
21	service_transId = "" 
22	service_title = "" 
23	service_shortdesc = ""	 
24	service_longdesc = ""		 
25	service_category = ""	 
26	service_audience = "" 
27	service_transDays = "" 
28	service_transAmount = ""	 
29	service_transUserCount = "0"	 
30	service_transCount = "0" 
31	service_requirements = "<ul>"	 
32	service_documents = "<ul>"	 
33	service_procedure = "<ul>" 
34	service_modified = ""	 
35	large_industry = "" 
36	small_industry = "" 
37	workShop_industry = "" 
38	plots_contract= "" 
39	online_service = ""			  
40/> 
41<#if transId!=""> 
42 
43<#assign   
44	url = webservice_baseURL+"TransactionProj/Transactions_RS/getTransactionById?transId="+transId 
45	servicedetailjsonget = webLocalService.invokeRestClientGet(url) 
46	servicedetailjson = '['+ servicedetailjsonget +']' 
47		 
48	userTransactionCount_url = webservice_baseURL+"TransactionProj/Transactions_RS/getPortalTempRequests?transId="+transId 
49	userTransactionCountjsonget = webLocalService.invokeRestClientGet(userTransactionCount_url) 
50	userTransactionCountjson = '['+ userTransactionCountjsonget +']' 
51		 
52	userCount_url = webservice_baseURL+"PortalGeneral/PortalGeneral_RS/GetNoOfUsersForTrans?transId="+transId 
53	userjsonget = webLocalService.invokeRestClientGet(userCount_url) 
54	userCountjson = '['+ userjsonget +']' 
55		 
56	requirements_url = webservice_baseURL+"TransactionProj/Transactions_RS/getTransactionWebConditions?transId="+transId 
57	requirementsjsonget = webLocalService.invokeRestClientGet(requirements_url) 
58	requirementsjson = '['+ requirementsjsonget +']'			  
59		 
60	documents_url = webservice_baseURL+"TransactionProj/Transactions_RS/getTransactionsDocs?transId="+transId 
61	documentsjsonget = webLocalService.invokeRestClientGet(documents_url) 
62	documentsjson = '['+ documentsjsonget +']'			 			  
63		 
64	procedure_url = webservice_baseURL+"TransactionProj/Transactions_RS/FlowStepsByTransId?transId="+transId 
65	procedurejsonget = webLocalService.invokeRestClientGet(procedure_url) 
66	procedurejson = '['+ procedurejsonget +']'			  
67/>	 
68	 
69<#if servicedetailjsonget != '{}'>	 
70<#assign servicedetailjsonEval = servicedetailjson?eval /> 
71<#assign userTransactionCountjsonEval = userTransactionCountjson?eval /> 
72<#assign userCountjsonEval = userCountjson?eval /> 
73<#assign requirementsjsonEval = requirementsjson?eval /> 
74<#assign documentsjsonEval = documentsjson?eval /> 
75<#assign procedurejsonEval = procedurejson?eval /> 
76 
77<#list servicedetailjsonEval as entry> 
78	<#assign key_list = entry?keys/> 
79	<#list key_list as key> 
80		<#assign seq_index = key_list?seq_index_of(key) /> 
81		<#if entry?values[seq_index]?has_content> 
82			<#assign value_list = entry?values[seq_index] /> 
83			<#list value_list as val> 
84				<#if categoryType?trim?contains(val.ed_service_category?trim) || categoryType?contains("Most_Used")> 
85					<#assign  
86						service_transId = val.transId  
87						service_transDays = val.transDays  
88						service_transAmount = val.transAmount  
89						service_modified = 	val.UPDATED_DT	 
90						large_industry = val.lIndYn 
91						small_industry = val.sIndYn 
92						workShop_industry = val.wIndYn 
93						plots_contract= val.plotsYn 
94						online_service = val.on_web 
95						service_ecategory = val.ed_service_category 			  
96					/> 
97					<#if local?contains("ar")> 
98						<#assign  
99							service_title = val.aname  
100							service_shortdesc = val.prif_aname 	 
101							service_longdesc = val.long_aname 	 
102							service_category = val.ad_service_category  
103							service_audience = val.a_service_audience  
104						/> 
105					<#else> 
106						<#assign  
107							service_title = val.ename  
108							service_shortdesc = val.prif_ename 	 
109							service_longdesc = val.long_ename 	 
110							service_category = val.ed_service_category  
111							service_audience = val.e_service_audience  
112						/> 
113					</#if>	 
114		 </#if> 
115			</#list> 
116		</#if> 
117	</#list> 
118</#list> 
119 
120<#list userTransactionCountjsonEval as entry> 
121	<#assign key_list = entry?keys/> 
122	<#list key_list as key> 
123		<#assign seq_index = key_list?seq_index_of(key) /> 
124		<#if entry?values[seq_index]?has_content> 
125			<#assign service_transCount = entry?values[seq_index] /> 
126		</#if> 
127	</#list> 
128</#list> 
129 
130<#list userCountjsonEval as entry> 
131	<#assign key_list = entry?keys/> 
132	<#list key_list as key> 
133		<#assign seq_index = key_list?seq_index_of(key) /> 
134		<#if entry?values[seq_index]?has_content> 
135			<#assign service_transUserCount = entry?values[seq_index] /> 
136		</#if> 
137	</#list> 
138</#list> 
139 
140<#list requirementsjsonEval as entry> 
141	<#assign key_list = entry?keys/> 
142	<#list key_list as key> 
143		<#assign seq_index = key_list?seq_index_of(key) /> 
144		<#if entry?values[seq_index]?has_content> 
145			<#assign value_list = entry?values[seq_index] /> 
146			<#list value_list as val> 
147				<#if local?contains("ar")> 
148					<#assign  
149						service_requirements = service_requirements + "<li>" + val.transConditionAname + "</li>"  
150					/> 
151				<#else> 
152					<#assign  
153						service_requirements = service_requirements + "<li>" + val.transConditionEname + "</li>" 
154					/> 
155				</#if> 
156			</#list> 
157		</#if> 
158	</#list> 
159</#list> 
160<#assign service_requirements = service_requirements + "</ul>"	/> 
161	 
162<#list documentsjsonEval as entry> 
163	<#assign key_list = entry?keys/> 
164	<#list key_list as key> 
165		<#assign seq_index = key_list?seq_index_of(key) /> 
166		<#if entry?values[seq_index]?has_content> 
167			<#assign value_list = entry?values[seq_index] /> 
168			<#list value_list as val> 
169				<#if local?contains("ar")> 
170					<#assign  
171						service_documents = service_documents + "<li>" + val.docName + "</li>"  
172					/> 
173				<#else> 
174					<#assign  
175						service_documents = service_documents + "<li>" + val.docName + "</li>" 
176					/> 
177				</#if> 
178			</#list> 
179		</#if> 
180	</#list> 
181</#list> 
182<#assign service_documents = service_documents + "</ul>"	/> 
183	 
184<#list procedurejsonEval as entry> 
185	<#assign key_list = entry?keys/> 
186	<#list key_list as key> 
187		<#assign seq_index = key_list?seq_index_of(key) /> 
188		<#if entry?values[seq_index]?has_content> 
189			<#assign value_list = entry?values[seq_index] /> 
190			<#list value_list as val> 
191				<#if local?contains("ar")> 
192					<#assign  
193						service_procedure = service_procedure + "<li>" + val.STEPS_DESC + "</li>"  
194					/> 
195				<#else> 
196					<#assign  
197						service_procedure = service_procedure + "<li>" + val.STEPS_DESC + "</li>" 
198					/> 
199				</#if> 
200			</#list> 
201		</#if> 
202	</#list> 
203</#list> 
204<#assign service_procedure = service_procedure + "</ul>"	/> 
205	 
206<style> 
207	.service_not_found { display: none !important; } 
208	.pages { display: block; } 
209</style>	 
210<#else>	 
211 
212<style> 
213	.service_not_found { display: block; } 
214	.pages { display: none; } 
215</style>	 
216</#if>	 
217<#else>	 
218 
219<style> 
220	.service_not_found { display: block; } 
221	.pages { display: none; } 
222</style>	 
223</#if>	 
224<div class="contents pages"> 
225 
226	<section class="pt_80"> 
227		<div class="container"> 
228			<div class="row"> 
229				<div class="col-xl-4 col-lg-5 menu_sidebar"> 
230					<div class="menu__item"> 
231						<a class="toggle_btn" data-bs-toggle="collapse" href="#service_overview" role="button" 
232							aria-expanded="true" aria-controls="service_overview"> 
233							<@liferay_ui["message"] key="pai-service-overflow" /> 
234							<i class="fa-regular fa-chevron-down"></i> 
235						</a> 
236						<div class="collapse show" id="service_overview"> 
237							<div class="card card-body"> 
238								<div class="body_item"> 
239									<div class="items_content"> 
240										<div class="block_left"> 
241											<div id="qrcode"></div>	 
242											<@liferay_ui["message"] key="pai-open-service" /> 
243										</div> 
244										<div class="block_right"> 
245											<div class="item"> 
246												<div class="item_head"><@liferay_ui["message"] key="pai-service-category" /></div> 
247												<div class="item_body">${service_category}</div> 
248											</div> 
249											<div class="item"> 
250												<div class="item_head"><@liferay_ui["message"] key="pai-target-audience" /></div> 
251												<div class="item_body">${service_audience}</div> 
252											</div> 
253										</div> 
254									</div> 
255								</div> 
256								<div class="body_item"> 
257									<div class="row"> 
258										<div class="col-6 item"> 
259											<div class="item_head"><@liferay_ui["message"] key="pai-service-fees" /></div> 
260											<div class="item_body">${service_transAmount} <@liferay_ui["message"] key="pai-kwd" /></div> 
261										</div> 
262										<div class="col-6 item"> 
263											<div class="item_head"><@liferay_ui["message"] key="pai-service-time" /></div> 
264											<div class="item_body">${service_transDays} 
265												 <#if service_transDays?has_content> 
266												  <#if (service_transDays?number == 1)> 
267												      <@liferay_ui["message"] key="pai-day" /> 
268														<#elseif local?contains("ar") > 
269															   <#if (service_transDays?number == 2) || (service_transDays?number >10) > 
270															   		<@liferay_ui["message"] key="pai-day" /> 
271																 <#else><@liferay_ui["message"] key="pai-days" />   
272																 </#if> 
273														 
274														<#elseif local?contains("en")  && (service_transDays?number >= 2)> 
275																<@liferay_ui["message"] key="pai-days" /> 
276														 
277													</#if> 
278												</#if> 
279											</div> 
280										</div> 
281									</div> 
282								</div> 
283								<div class="body_item"> 
284									<div class="row"> 
285										<div class="col-6 item"> 
286											<div class="item_head"><@liferay_ui["message"] key="pai-users-no" /></div> 
287											<div class="item_body">${service_transUserCount}</div> 
288										</div> 
289										<div class="col-6 item"> 
290											<div class="item_head"><@liferay_ui["message"] key="pai-transactions-no" /></div> 
291											<div class="item_body">${service_transCount}</div> 
292										</div> 
293									</div> 
294									<div class="row row_item"> 
295										<div class="col-12 item"> 
296											<div class="item_head"><@liferay_ui["message"] key="pai-service-procedure" /></div> 
297											<div class="item_text"> 
298												${service_procedure} 
299											</div> 
300										</div> 
301									</div> 
302								</div> 
303							</div> 
304						</div> 
305					</div> 
306					 
307					<#--  
308							 Customer Service Center Start  
309					-->		 
310						 
311					<#assign customerServiceCenterMap = { "groupId": "${group_id}", "articleId": "75875" } /> 
312					<#assign customerServiceCenterPreferences = freeMarkerPortletPreferences.getPreferences(customerServiceCenterMap) /> 
313 
314					<@liferay_portlet["runtime"] 
315					 defaultPreferences="${customerServiceCenterPreferences}" 
316					 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" 
317					 instanceId="customerServiceCenter" 
318					/> 
319					 
320					<#--  
321							 Customer Service Center End  
322							 Your Service Feedback Start 
323					-->		 
324					<@liferay_portlet["runtime"]  portletName="pai_kw_service_feedback_rating_PaiKwServiceFeedbackRatingPortlet"  instanceId="akkn" /> 
325					 
326					<#assign quickLinksMap = { "groupId": "${group_id}", "articleId": "76013" } /> 
327					<#assign quickLinksPreferences = freeMarkerPortletPreferences.getPreferences(quickLinksMap) /> 
328					<@liferay_portlet["runtime"] 
329					 defaultPreferences="${quickLinksPreferences}" 
330					 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" 
331					 instanceId="quickLinks" 
332					/>	 
333						 
334					<#assign serviceChannelsMap = { "groupId": "${group_id}", "articleId": "76558" } /> 
335					<#assign serviceChannelsPreferences = freeMarkerPortletPreferences.getPreferences(serviceChannelsMap) /> 
336					<@liferay_portlet["runtime"] 
337					 defaultPreferences="${serviceChannelsPreferences}" 
338					 portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" 
339					 instanceId="serviceChannels" 
340					/> 
341					 
342				</div> 
343				<div class="col-xl-8 col-lg-7 service_content"> 
344					<div class="header_wrapper"> 
345						<div class="service_header"> 
346							<div class="service_name"> 
347								<img src="/o/pai-kw-main-theme/assets/images/icons/industrial_services.svg" alt="ico"> 
348								${service_category} 
349							</div> 
350							<div class="status"> 
351								<ul class="mb-0"> 
352									<#if "Y" == online_service> 
353										<li class="online"><@liferay_ui["message"] key="pai-online" /></li> 
354									<#else> 
355										<li class="offline"><@liferay_ui["message"] key="pai-offline" /></li> 
356									</#if> 
357								</ul> 
358							</div> 
359						</div> 
360						<p class="service_head">${service_title}</p> 
361						<div class="updated"> 
362							<@liferay_ui["message"] key="pai-last-updated-on" />&nbsp; 
363							<#if service_modified?has_content> 
364								${service_modified?date("yyyy-MM-dd HH:mm:ss.S")?string("dd/MM/yyyy")}	 
365								<!--Last updated on 19/12/2021--> 
366							</#if> 
367						</div> 
368						<div class="head_text"> 
369							${service_longdesc} 
370						</div> 
371						<#--<a href="javascript:void(0);" class="btn btn-secondary" onclick="goToEservice('${service_transId}','${large_industry}','${small_industry}','${workShop_industry}','${plots_contract}','${online_service}','${service_ecategory}','${licOrConNo}');"><@liferay_ui["message"] key="pai-start-service" /></a>--> 
372					</div> 
373					<div class="service_body"> 
374						<!-- <div class="service_body_item"> 
375							<a class="toggle_btn" data-bs-toggle="collapse" href="#service_procedure" 
376								role="button" aria-expanded="true" aria-controls="service_procedure"> 
377								<@liferay_ui["message"] key="pai-service-procedure" /> 
378								<i class="fa-regular fa-chevron-down"></i> 
379							</a> 
380							<div class="collapse show" id="service_procedure"> 
381								<div class="card card-body"> 
382									 
383								</div> 
384							</div> 
385						</div> --> 
386						<div class="service_body_item"> 
387							<a class="toggle_btn" data-bs-toggle="collapse" href="#requirements" role="button" 
388								aria-expanded="true" aria-controls="requirements"> 
389								<@liferay_ui["message"] key="pai-conditions" /> 
390								<i class="fa-regular fa-chevron-down"></i> 
391							</a> 
392							<div class="collapse show" id="requirements"> 
393								<div class="card card-body"> 
394									${service_requirements} 
395								</div> 
396							</div> 
397						</div> 
398						<div class="service_body_item"> 
399							<a class="toggle_btn" data-bs-toggle="collapse" href="#documents" role="button" 
400								aria-expanded="true" aria-controls="documents"> 
401								<@liferay_ui["message"] key="pai-documents" /> 
402								<i class="fa-regular fa-chevron-down"></i> 
403							</a> 
404							<div class="collapse show" id="documents"> 
405								<div class="card card-body"> 
406									${service_documents} 
407								</div> 
408							</div> 
409						</div> 
410					</div> 
411				</div> 
412			</div> 
413		</div> 
414	</section> 
415 
416</div> 
417 
418<div class="contents 404_page service_not_found"> 
419		<section class="pt_80 fadeInUp wow" data-wow-delay="0.3s"> 
420				<div class="container"> 
421						<div class="row"> 
422							<div class="col-12 page_404 text-center">4 &nbsp; 4 
423									<div class="page_404_text text-center"> 
424										<div class="page_404_text text-center"><@liferay_ui["message"] key="pai-service-not-available" /><!--The service you are looking for is not available--></div> 
425									</div> 
426								</div> 
427								<div class="col-12 page_404_btn"><a class="btn btn-link" href="javascript:history.back()"><@liferay_ui["message"] key="pai-go-back" /><!--Go back--></a></div> 
428						</div> 
429				</div> 
430		</section> 
431</div> 
432 
433<div class="modal_info modal fade licConListView" id="licConListViewId" tabindex="-1" aria-labelledby="licConListViewLabel" 
434	aria-hidden="true"> 
435	<div class="modal-dialog modal-dialog-centered"> 
436		<div class="modal-content"> 
437			<div class="modal-header"> 
438				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 
439			</div> 
440			 
441			<div class="modal-body "> 
442				 <div class="modal_head text-center"> 
443				   <h3 class="pai_only_service_title" style="display:none;margin-top: 10%;color: red;"><@liferay_ui["message"] key="pai-service-not-available"/></h3> 
444					 <h3 class="license_list_title" style="display:none"><@liferay_ui["message"] key="pai-select-license"/></h3> 
445				  <h4 class="license_notapply_title" style="display:none;margin-top: 10%"><@liferay_ui["message"] key="pai-cannot-l-apply-transaction"/></h4> 
446					 <h4 class="license_list_empty_title" style="display:none;margin-top: 10%;color: red;"><@liferay_ui["message"] key="pai-no-license-exist"/></h4> 
447				</div> 
448            <div class="licensefieldgroup" style="display:none;" > 
449							<div class="row documents-tab"> 
450								<div class="col-12 table-responsive company-internal-table">   
451									<table class="table" id="userLicenseTableId" > 
452										<thead> 
453											 <tr> 
454												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-company-name"/></th> 
455												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-license-number"/></th> 
456												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-action"/></th> 
457											</tr> 
458										 </thead> 
459										 <tbody  class="license_body"> 
460										</tbody> 
461									</table> 
462								</div> 
463							</div> 
464				  </div> 
465					<div class="modal_head text-center contract_head" style="display:none;" > 
466						 <h3 class="contract_list_title" style="display:none"><@liferay_ui["message"] key="pai-select-contract"/></h3> 
467						 <h4 class="contract_notapply_title" style="display:none;margin-top: 10%"><@liferay_ui["message"] key="pai-cannot-c-apply-transaction"/></h4> 
468					 	 <h4 class="contract_list_empty_title" style="display:none;margin-top: 10%;color: red;"><@liferay_ui["message"] key="pai-no-contract-exist"/></h4> 
469				 	</div> 
470					<div class="contractfieldgroup" style="display:none;" > 
471							<div class="row documents-tab"> 
472								<div class="col-12 table-responsive company-internal-table">   
473									<table class="table" id="userContractTableId" > 
474										<thead> 
475											 <tr> 
476												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-company-name"/></th> 
477												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-contract-no"/></th> 
478												 <th style="text-align: center;font-weight: bolder;"><@liferay_ui["message"] key="pai-action"/></th> 
479											</tr> 
480										 </thead> 
481										 <tbody  class="contract_body"> 
482										</tbody> 
483									</table> 
484								</div> 
485							</div> 
486				  </div> 
487					<div class="link_btn d-flex justify-content-center"> 
488						<button type="reset" class="btn btn-secondary licConListformcancel" data-bs-dismiss="modal" ><@liferay_ui["message"] key="pai-cancel"/></button> 
489					</div> 
490			</div> 
491		</div> 
492	</div> 
493</div> 
494					 
495<script src="https://cdn.jsdelivr.net/gh/davidshimjs/qrcodejs@gh-pages/qrcode.min.js"></script> 
496 
497<script> 
498 
499$(document).ready(function () {	 
500var qrcode = new QRCode("qrcode"); 
501 
502function makeCode () {     
503  var urlText = window.location.href; 
504  qrcode.makeCode(urlText); 
505}		 
506makeCode();	 
507}); 
508 
509function goToEservice(transactionId , largeIndustry,smallIndustry,workShopIndustry,plotContract, canUseService ,enCategory , licOrConNo){ 
510 console.log('transactionId >>'+transactionId +'largeIndustry='+largeIndustry+'  smallIndustry='+smallIndustry+'  workShopIndustry='+workShopIndustry+'  plotContract='+plotContract); 
511 var signed = '${userSigned_val}'; 
512 console.log('signed >>'+signed); 
513 resetPopup(); 
514 //first check if service available in online or no 
515 if(canUseService != null && canUseService.trim() ==="N"){ 
516 		$('.pai_only_service_title').css('display','block'); 
517 		$('#licConListViewId').modal('show'); 
518 }else{ 
519	 if(signed==="true" ){ 
520		 console.log('licOrConNo'+licOrConNo);   
521		   if("Y" === largeIndustry.trim() || "Y" === smallIndustry.trim() || "Y" === workShopIndustry.trim()){ 
522				if(licOrConNo !== null && licOrConNo !=''){ 
523					goToDiar(licOrConNo,transactionId,"L"); 
524				}else{ 
525					fetchLicenseList(transactionId,largeIndustry,smallIndustry,workShopIndustry); 
526
527			}else{ 
528				console.log('insideelse 22'); 
529				$('.license_notapply_title').css('display','none'); 
530
531 
532			if("Y" === plotContract.trim()){ 
533				if(licOrConNo !== null && licOrConNo !=''){ 
534					goToDiar(licOrConNo,transactionId,"C"); 
535				}else{ 
536					fetchContractList(transactionId,plotContract); 
537
538			}else{ 
539				$('.contract_notapply_title').css('display','block'); 
540
541 
542			$('#licConListViewId').modal('show'); 
543	 }else{ 
544		 console.log('need login'); 
545		 var local_lang = '${themeDisplay.getLocale()}'; 
546		 var local = local_lang.substring(0, 2); 
547		 var getURLPortal = '${themeDisplay.getURLPortal()}'; 
548		 var friendlyURL_new = '${themeDisplay.getScopeGroup().getFriendlyURL()}'; 
549		 var serviceDetail =getURLPortal + "/" + local+"/web"+friendlyURL_new+"/service-details?transId="+transactionId+"%26catType="+enCategory; 
550		 window.location.href=getURLPortal +"/sign-in?redirect="+serviceDetail; 
551
552
553
554 
555function resetPopup(){ 
556 
557	  $('.pai_only_service_title').css('display','none'); 
558		$('.licensefieldgroup').css('display','none'); 
559		$('.license_list_title').css('display','none'); 
560		$('.contract_head').css('display','none'); 
561		$('.contractfieldgroup').css('display','none'); 
562 	  $('.contract_list_title').css('display','none'); 
563		$('.license_notapply_title').css('display','none'); 
564 	  $('.license_list_empty_title').css('display','none'); 
565	  $('.contract_notapply_title').css('display','none'); 
566 	  $('.contract_list_empty_title').css('display','none'); 
567 		$('#licConListViewId').modal('hide'); 
568   
569
570function fetchLicenseList(transactionId,largeIndustry,smallIndustry,workShopIndustry){ 
571 $('.license_list_title').css('display','block'); 
572<#assign uesrLicJsonArray = uesrLicTableService.getUserLicenseByUserId(themeDisplay.getUserId()+"")/> 
573<#if uesrLicJsonArray !=""  && uesrLicJsonArray != '{}'> 
574<#assign uesrLicJsonArrayEval = uesrLicJsonArray?eval	/>	 
575var result=''; 
576var lic_param=''; 
577<#list uesrLicJsonArrayEval as entry> 
578<#assign key_list = entry?keys/> 
579			var row ='<tr>';	 
580	<#list key_list as key> 
581	  <#assign seq_index = key_list?seq_index_of(key) /> 
582		console.log("${key}");		 
583		  <#if entry?values[seq_index]?has_content> 
584				 
585			<#assign val = entry?values[seq_index] /> 
586			row+='<td> ${val}</td>'; 
587			 
588			</#if> 
589			if("${key}" == "licenseId") { 
590				lic_param='${val}'; 
591
592			 
593	</#list> 
594			row+='<td><ul ><li > <a href="javascript:void(0)" class="btn btn-secondary" onclick="goToDiar(\''+lic_param+'\' ,\''+transactionId+'\' , \'L\' );" title="start service" ><@liferay_ui["message"] key="pai-choose"/></a></li></ul></td></tr>';	 
595			console.log('licenseId=='+lic_param); 
596			if(lic_param != null){ 
597				if(("Y" === largeIndustry.trim() && lic_param.startsWith("1")) || 
598					 ("Y" === smallIndustry.trim() && lic_param.startsWith("3")) ||  
599					 ("Y" === workShopIndustry.trim() && lic_param.startsWith("2")) 
600					 ){ 
601						result+=row; 
602
603
604			row =''; 
605			if(result.includes("<tr>")){//at lest one row 
606			  $('.license_list_title').css('display','block'); 
607				$('.licensefieldgroup').css('display','block'); 
608				$('.license_notapply_title').css('display','none'); 
609				document.querySelector(".license_body").innerHTML = result; 
610			}else{ 
611			// there exist license but not used with this transaction 
612				console.log('inside if1111');  
613				$('.license_notapply_title').css('display','block'); 
614				$('#userLicenseTableId').css('display','none'); 
615
616 
617</#list> 
618<#else>//empty license list 
619	$('.license_list_empty_title').css('display','block'); 
620 
621</#if> 
622 
623$('#licConListViewId').modal('show'); 
624
625 
626function fetchContractList(transactionId,plotContract){ 
627 $('.contract_head').css('display','block'); 
628 $('.contract_list_title').css('display','block'); 
629<#assign uesrContractJsonArray = uesrConTableService.getUserContractByUserId(themeDisplay.getUserId()+"")/> 
630<#if uesrContractJsonArray !=""  && uesrContractJsonArray != '{}'> 
631<#assign uesrContractJsonArrayEval = uesrContractJsonArray?eval	/>	 
632 
633var result=''; 
634var con_param=''; 
635<#list uesrContractJsonArrayEval as entry> 
636<#assign key_list = entry?keys/> 
637			var row='<tr>';	 
638	<#list key_list as key> 
639	  <#assign seq_index = key_list?seq_index_of(key) /> 
640		console.log("${key}");		 
641		  <#if entry?values[seq_index]?has_content> 
642				$('.contractfieldgroup').css('display','block'); 
643				$('#licConListViewId').modal('show'); 
644			<#assign common = entry?values[seq_index] /> 
645			row+='<td> ${common}</td>'; 
646			 
647			</#if> 
648			if("${key}" == "contractId") { 
649			con_param='${common}'; 
650
651	</#list> 
652			row+='<td><ul ><li > <a href="javascript:void(0)" class="btn btn-secondary" onclick="goToDiar(\''+con_param+'\' ,\''+transactionId.trim()+'\' , \'C\' );" title="start service" ><@liferay_ui["message"] key="pai-select"/></a></li></ul></td></tr>';	 
653			 
654			var canUseTransOnCon = validateContractByTransId(con_param,transactionId); 
655			console.log('canUseTransOnCon   >'+canUseTransOnCon) 
656			if("true" === canUseTransOnCon.trim()){ 
657			   //console.log('inside if validateContractByTransId'); 
658				 result+=row; 
659
660			 
661			row =''; 
662			if(result.includes("<tr>")){//at lest one row 
663			  //console.log('result' +result); 
664				document.querySelector(".contract_body").innerHTML = result; 
665			  $('.contract_head').css('display','block'); 
666 			  $('.contract_list_title').css('display','block'); 
667				$('.contractfieldgroup').css('display','block'); 
668				$('.contract_notapply_title').css('display','none'); 
669				 
670			}else{ 
671			// there exist license but not used with this transaction 
672				//console.log('contract 1'); 
673				$('.contract_notapply_title').css('display','block'); 
674				$('#userContractTableId').css('display','none'); 
675				 
676
677</#list> 
678	<#else>//empty contract list 
679	$('.contract_list_empty_title').css('display','block'); 
680</#if> 
681
682 
683function goToDiar(licenseConNo , transactionId , type){ 
684<#assign  userId= themeDisplay.getUserId()  
685        url = webservice_baseURL+"DashBoard/DashBoard_RS/GetPortalDiarSession?userId="+userId 
686sessionId = webLocalService.invokeRestClientGet(url) /> 
687var data = JSON.parse(JSON.stringify(${sessionId})); 
688 
689var eservURL = "https://eservices.pai.gov.kw/ElectronicForms.aspx?UserId="+${userId}+"&transId="+transactionId+"&LicenseNo="+licenseConNo+"&SessionID="+data.SessionID+"&type="+type; 
690 
691window.location.href =eservURL; 
692 
693}	 
694	 
695function validateContractByTransId(contractId , transactionId){ 
696   var valid = "false"; 
697	 var serviceurl = 'https://soa-prod.pai.gov.kw/PAI/DashBoard/DashBoard_RS/GetResultByContIDAndTransID?contID='+contractId+'&transID='+transactionId; 
698	 $.ajax({  
699        url: serviceurl, 
700        type: 'GET', 
701				async: false, 
702        success: function(response){ 
703					 valid=response.result; 
704
705    });	 
706	 return valid; 
707}	 
708	 
709</script> 
710<style> 
711#qrcode img { 
712  width:113px; 
713  height:113px; 
714
715.service_content .service_header .status li.online { 
716    animation: blinker 1.5s linear infinite; 
717    color: green; 
718    font-weight: bold; 
719}	 
720</style> 

عرض القائمة