Changes between Version 5 and Version 6 of AdvancedTopic
- Timestamp:
- 06/12/26 01:57:55 (9 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedTopic
v5 v6 13 13 === fn_suggest_posts_for_worker(p_worker_id, p_limit default 10) 14 14 15 Оваа функција служи за предлагање на соодветни постови за одреден работник врз основа на неговите специјалност и локација. Најпрво се проверува дали работникот има означено дека е достапен за работа од далечина (works_remote), по што се пребаруваат сите активни огласи. Во резултатите се вклучуваат само оние огласи за кои работникот поседува барем една потребна специјалност. Доколку работникот не работи од далечина, дополнително се применува филтер со функцијата ST_DWithin, кој ги ограничува резултатите на огласи што се наоѓаат во зададен радиус од неговата локација. За секој пронајден оглас се пресметува растојанието со функцијата ST_Distance, а резултатите се подредуваат според најблиските огласи. На крај, функцијата враќа ограничен број резултати, со што се добива листа на најрелевантни постови за конкретниот мајстор.15 Оваа функција служи за предлагање на соодветни постови за одреден работник врз основа на неговите специјалности и локација. Најпрво се проверува дали работникот е означен како достапен за работа на далечина (works_remote). Потоа се враќаат само активни постови за кои работникот поседува барем една од потребните специјалности. Доколку работникот не работи на далечина, дополнително се применува просторен филтер со ST_DWithin, кој ги ограничува резултатите на постови во радиус од 1500 метри. За секој резултат се пресметува растојание со ST_Distance и резултатите се подредуваат според најблиските огласи. Оваа функција би се користела во делот каде ќе се прикажува и мапата (QGis) за да се прикажат постовите како картички. 16 16 17 === fn_application_workers_for_post(p_post_id, p_limit) 17 18 18 === fn_suggest_workers_for_post(p_post_id, p_limit default 10) 19 Оваа функција враќа листа на работници кои аплицирале за одреден пост. За секој работник се враќаат основни информации и растојанието од локацијата на постот. Дополнително се применува филтер за специјалности и радиус од 1500 метри доколку работникот не работи од далечина. Резултатите се подредуваат според најблиските работници до локацијата на постот. Оваа функција би се користела во делот каде ќе се прикажува и мапата (QGis) за да се прикажат мајсторите како картички. 19 20 21 === fn_draw_worker_location(p_worker_id) 22 23 Оваа функција ја враќа точната географска локација на одреден работник. Се користи за визуелизација на работникот на мапа, при што се враќа неговиот worker_id и координатите (geom) од табелата location. Се користи во QGis. 20 24 21 25 === fn_draw_active_posts_in_worker_region(p_worker_id, p_limit) 22 26 23 24 === fn_draw_worker_location(p_worker_id) 25 27 Оваа функција ги прикажува сите активни постови во регионот на одреден работник. Се филтрираат само постови за кои работникот ги исполнува потребните специјалности. Доколку работникот не работи од далечина, се применува просторен филтер со радиус од 1500 метри. Се користи во QGis. 26 28 27 29 === fn_draw_worker_to_post_lines(p_worker_id, p_limit) 28 30 31 Оваа функција креира линии помеѓу работникот и постовите на кои одговара. Се користат само активни постови и се применува филтер за специјалности. Ако работникот не работи од далечина, се применува ограничување на растојание од 1500 метри. За секој пост се враќа линија (ST_MakeLine) и растојание помеѓу работникот и постот. Се користи во QGis. 29 32 30 === fn_draw_worker_polygons(p_worker_id) 33 === fn_draw_worker_notRemote_region(p_worker_id) 34 35 Оваа функција ја прикажува работната зона на работникот кој не работи на далечина. Ако работникот не е remote, се креира кружна зона околу неговата локација со радиус од 1500 метри користејќи ST_Buffer. Ако работникот е remote, функцијата не враќа резултат. Се користи во QGis. 31 36 32 37 33 38 === fn_draw_post_location(p_post_id) 34 39 40 Оваа функција ја враќа точната локација на одреден пост. Се користи за визуелизација на мапа и враќа post_id, наслов и геометрија на постот. Се користи во QGis. 41 35 42 36 43 === fn_draw_workers_applied_to_post(p_post_id, p_limit) 37 44 45 Оваа функција ги прикажува сите работници кои аплицирале за одреден пост. За секој работник се враќа неговата локација и растојанието до постот. Резултатите се подредуваат според најблиските работници. Се користи во QGis. 38 46 39 47 === fn_draw_post_to_applicant_lines(p_post_id, p_limit) 40 48 49 Оваа функција креира линии помеѓу постот и сите работници кои аплицирале за него. Се користи за визуелизација на поврзаноста помеѓу огласите и кандидатите. За секоја врска се враќа линија и растојание помеѓу постот и работникот. Се користи во QGis. 50 51 52 == Пример 53 54 На следната слика е прикажана мапа по извршување на функциите fn_draw_worker_location, fn_draw_active_posts_in_worker_region, fn_draw_worker_to_post_lines и fn_draw_worker_notRemote_region за работник кој не работи на далечина. 55 56 [[Image()]] 41 57 42 58
