@@ -124,7 +124,7 @@ public function publication()
124
124
public function grant ()
125
125
{
126
126
return $ this ->hasOne (\App \Event::class)
127
- ->whereCode ( ' GRT ' )->withDefault ();
127
+ ->whereIn ( ' code ' , [ ' GRT ', ' REG ' ] )->withDefault ();
128
128
}
129
129
130
130
public function registration ()
@@ -242,8 +242,8 @@ public static function filter($sortkey = 'id', $sortdir = 'desc', $multi_filter
242
242
'fil.detail AS FilNo ' ,
243
243
'pub.event_date AS Published ' ,
244
244
'pub.detail AS PubNo ' ,
245
- ' grt.event_date AS Granted ' ,
246
- ' grt.detail AS GrtNo ' ,
245
+ DB :: raw ( " COALESCE( grt.event_date, reg.event_date) AS Granted" ) ,
246
+ DB :: raw ( " COALESCE( grt.detail, reg.detail) AS GrtNo" ) ,
247
247
'matter.id ' ,
248
248
'matter.container_id ' ,
249
249
'matter.parent_id ' ,
@@ -256,21 +256,21 @@ public static function filter($sortkey = 'id', $sortdir = 'desc', $multi_filter
256
256
->join ('matter_category ' , 'matter.category_code ' , 'matter_category.code ' )
257
257
->leftJoin (
258
258
DB ::raw ('matter_actor_lnk clilnk
259
- JOIN actor cli ON cli.id = clilnk.actor_id ' ),
259
+ JOIN actor cli ON cli.id = clilnk.actor_id ' ),
260
260
function ($ join ) {
261
261
$ join ->on ('matter.id ' , 'clilnk.matter_id ' )->where ('clilnk.role ' , 'CLI ' );
262
262
}
263
263
)
264
264
->leftJoin (DB ::raw ('matter_actor_lnk cliclnk
265
- JOIN actor clic ON clic.id = cliclnk.actor_id ' ), function ($ join ) {
265
+ JOIN actor clic ON clic.id = cliclnk.actor_id ' ), function ($ join ) {
266
266
$ join ->on ('matter.container_id ' , 'cliclnk.matter_id ' )->where ([
267
267
['cliclnk.role ' , 'CLI ' ],
268
268
['cliclnk.shared ' , 1 ],
269
269
]);
270
270
})
271
271
->leftJoin (
272
272
DB ::raw ('matter_actor_lnk agtlnk
273
- JOIN actor agt ON agt.id = agtlnk.actor_id ' ),
273
+ JOIN actor agt ON agt.id = agtlnk.actor_id ' ),
274
274
function ($ join ) {
275
275
$ join ->on ('matter.id ' , 'agtlnk.matter_id ' )->where ([
276
276
['agtlnk.role ' , 'AGT ' ],
@@ -279,22 +279,22 @@ function ($join) {
279
279
}
280
280
)
281
281
->leftJoin (DB ::raw ('matter_actor_lnk agtclnk
282
- JOIN actor agtc ON agtc.id = agtclnk.actor_id ' ), function ($ join ) {
282
+ JOIN actor agtc ON agtc.id = agtclnk.actor_id ' ), function ($ join ) {
283
283
$ join ->on ('matter.container_id ' , 'agtclnk.matter_id ' )->where ([
284
284
['agtclnk.role ' , 'AGT ' ],
285
285
['agtclnk.shared ' , 1 ],
286
286
]);
287
287
})
288
288
->leftJoin (
289
289
DB ::raw ('matter_actor_lnk applnk
290
- JOIN actor app ON app.id = applnk.actor_id ' ),
290
+ JOIN actor app ON app.id = applnk.actor_id ' ),
291
291
function ($ join ) {
292
292
$ join ->on (DB ::raw ('ifnull(matter.container_id, matter.id) ' ), 'applnk.matter_id ' )->where ('applnk.role ' , 'APP ' );
293
293
}
294
294
)
295
295
->leftJoin (
296
296
DB ::raw ('matter_actor_lnk dellnk
297
- JOIN actor del ON del.id = dellnk.actor_id ' ),
297
+ JOIN actor del ON del.id = dellnk.actor_id ' ),
298
298
function ($ join ) {
299
299
$ join ->on (DB ::raw ('ifnull(matter.container_id, matter.id) ' ), 'dellnk.matter_id ' )->where ('dellnk.role ' , 'DEL ' );
300
300
}
@@ -308,11 +308,14 @@ function ($join) {
308
308
->leftJoin ('event AS grt ' , function ($ join ) {
309
309
$ join ->on ('matter.id ' , 'grt.matter_id ' )->where ('grt.code ' , 'GRT ' );
310
310
})
311
+ ->leftJoin ('event AS reg ' , function ($ join ) {
312
+ $ join ->on ('matter.id ' , 'reg.matter_id ' )->where ('reg.code ' , 'REG ' );
313
+ })
311
314
->leftJoin (DB ::raw ('event status
312
- JOIN event_name ON event_name.code = status.code AND event_name.status_event = 1 ' ), 'matter.id ' , 'status.matter_id ' )
315
+ JOIN event_name ON event_name.code = status.code AND event_name.status_event = 1 ' ), 'matter.id ' , 'status.matter_id ' )
313
316
->leftJoin (
314
317
DB ::raw ('event e2
315
- JOIN event_name en2 ON e2.code= en2.code AND en2.status_event = 1 ' ),
318
+ JOIN event_name en2 ON e2.code = en2.code AND en2.status_event = 1 ' ),
316
319
function ($ join ) {
317
320
$ join ->on ('status.matter_id ' , 'e2.matter_id ' )->whereColumn ('status.event_date ' , '< ' , 'e2.event_date ' );
318
321
}
@@ -423,10 +426,12 @@ function ($join) {
423
426
$ query ->where ('pub.detail ' , 'LIKE ' , "$ value% " );
424
427
break ;
425
428
case 'Granted ' :
426
- $ query ->where ('grt.event_date ' , 'LIKE ' , "$ value% " );
429
+ $ query ->where ('grt.event_date ' , 'LIKE ' , "$ value% " )
430
+ ->orWhere ('reg.event_date ' , 'LIKE ' , "$ value% " );
427
431
break ;
428
432
case 'GrtNo ' :
429
- $ query ->where ('grt.detail ' , 'LIKE ' , "$ value% " );
433
+ $ query ->where ('grt.detail ' , 'LIKE ' , "$ value% " )
434
+ ->orWhere ('reg.detail ' , 'LIKE ' , "$ value% " );
430
435
break ;
431
436
case 'responsible ' :
432
437
$ query ->whereRaw ("' $ value' IN (matter.responsible, del.login) " );
0 commit comments