حصل خطأ عند معالجة القالب.
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" />
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 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>