Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Привет! По задаче https://support2011.mirapolis.ru/browse/PORTAL-41436. А ты не в курсе, можно где-то почитать, как этот плагин работает? Там ситуация такая, что до вызова действий, о которых Дима написал в комменте:
- http-bio-58006-exec-2399#new.sandbox.mirapolis.ru 2018-03-21 10:21:35.120 http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222 DEBUG(DO): action=UploadFileAction: doaction=UploadFileAction
- а потом
- http-bio-58006-exec-2399#new.sandbox.mirapolis.ru 2018-03-21 10:21:35.210 http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222 DEBUG(DO): action=Save: doaction=Save&savetype=candidateresume&_user_now=2018-03-21 10:20:59.224&crcanid=201&crname=resume15&crfileid=5414
- было вызвано такое действие
- http-bio-58006-exec-2394#new.sandbox.mirapolis.ru 2018-03-21 10:21:34.362 [http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222] DEBUG(DO): action=IncludeSuitableVacancyAction: doaction=IncludeSuitableVacancyAction&ptype=can&pid=201&id=9&candidateadmission=1
- Во время обработки которого выполнялся код из этого метода:
- hr.candidate.CandidateService#includeCandidateInVacancy(java.lang.String, java.lang.String, java.lang.String, hr.candidate.vacancy.CandidateAdmission)
- А в нем в самом начале из базы получается кандидат:
- CandidateBean candidate = new CandidateBean();
- candidate.setId(candidateId);
- EntityManager.load(candidate);
- Исходя из логов, это происходило в 10:21:34.369:
- http-bio-58006-exec-2394#new.sandbox.mirapolis.ru 2018-03-21 10:21:34.369 [http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222] DEBUG(DB): Execute SQL(1750773277): SELECT P.canid as canid, P.cancode as cancode, P.autonumber as autonumber, P.canislimitaccess as canislimitaccess, P.resumefileid as resumefileid, P.canresumelinks as canresumelinks, P.canaddinfo as canaddinfo, P.canrecruitingstatus as canrecruitingstatus, P.candidateuserid as candidateuserid, P.canphotofileid as canphotofileid, P.iscriminal as iscriminal, P.criminalcomment as criminalcomment, P.cantype as cantype, P.canstatusid as canstatusid, P.creatorid as creatorid, P.createdate as createdate, P.updaterid as updaterid, P.updatedate as updatedate, L0.personid as pidaccess, ltrim( rtrim( coalesce((L1.plastname||' '::text||L1.pfirstname||' '::text||L1.psurname),(L1.plastname||' '::text||L1.pfirstname),(L1.pfirstname||' '::text||L1.psurname),(L1.plastname),(L1.pfirstname),(L1.psurname)) ) ) as pidaccessname, (L2.filename) as resumefileidname, ltrim( rtrim( coalesce((L3.plastname||' '::text||L3.pfirstname||' '::text||L3.psurname),(L3.plastname||' '::text||L3.pfirstname),(L3.pfirstname||' '::text||L3.psurname),(L3.plastname),(L3.pfirstname),(L3.psurname)) ) ) as candidateuseridname, (L4.filename) as canphotofileidname, L5.aeid as canlangknowledge_aeid, L5.aeforeignid as canlangknowledge_aeforeignid, L5.lkforeignlanguage as canlangknowledge_lkforeignlanguage, L5.lklanguagelevel as canlangknowledge_lklanguagelevel, ltrim( rtrim( coalesce((L6_NF.canlastname||' '::text||L6_NF.canfirstname||' '::text||L6_NF.cansurname),(L6_NF.canlastname||' '::text||L6_NF.canfirstname),(L6_NF.canfirstname||' '::text||L6_NF.cansurname),(L6_NF.canlastname),(L6_NF.canfirstname),(L6_NF.cansurname)) ) ) as canlangknowledge_aeforeignidname, (L7.rsname) as canlangknowledge_lkforeignlanguagename, (L8_NF.rsname) as canlangknowledge_lklanguagelevelname, (L9_NF.rsname) as canstatusidname, ltrim( rtrim( coalesce((L10.plastname||' '::text||L10.pfirstname||' '::text||L10.psurname),(L10.plastname||' '::text||L10.pfirstname),(L10.pfirstname||' '::text||L10.psurname),(L10.plastname),(L10.pfirstname),(L10.psurname)) ) ) as creatoridname, ltrim( rtrim( coalesce((L11.plastname||' '::text||L11.pfirstname||' '::text||L11.psurname),(L11.plastname||' '::text||L11.pfirstname),(L11.pfirstname||' '::text||L11.psurname),(L11.plastname),(L11.pfirstname),(L11.psurname)) ) ) as updateridname, P12.canlastname as canlastname, P12.canfirstname as canfirstname, P12.cansurname as cansurname, P12.cansex as cansex, P12.candatebirth as candatebirth, P12.maritalid as maritalid, P12.nativelanguageid as nativelanguageid, P12.educationid as educationid, P12.canexperience as canexperience, P12.canspeciality as canspeciality, P12.canresume as canresume, P12.canchildren as canchildren, P12.canfamilycomment as canfamilycomment, P12.canpolygraph as canpolygraph, P12.polygraphpersonid as polygraphpersonid, P12.canpolygraphdate as canpolygraphdate, P12.canpolygraphip as canpolygraphip, P12.cansocialprofiles as cansocialprofiles, P12.cansociability as cansociability, P12.cansociabilitycomment as cansociabilitycomment, P12.canprofessionalskils as canprofessionalskils, P12.canpersonalqualities as canpersonalqualities, P12.canhobbies as canhobbies, P12.cansourceid as cansourceid, P12.cansourceempid as cansourceempid, P12.canrelocationid as canrelocationid, L13.rsid as canprofareas, (L14.rsname) as canprofareasname, (L15.rsname) as maritalidname, (L16.rsname) as nativelanguageidname, (L17_NF.rsname) as educationidname, L18.rsid as nationalityid, (L19.rsname) as nationalityidname, L20.rsid as canworkpermit, (L21.rsname) as canworkpermitname, ltrim( rtrim( coalesce((L22.plastname||' '::text||L22.pfirstname||' '::text||L22.psurname),(L22.plastname||' '::text||L22.pfirstname),(L22.pfirstname||' '::text||L22.psurname),(L22.plastname),(L22.pfirstname),(L22.psurname)) ) ) as polygraphpersonidname, L23.rsid as canindustries, (L24.rsname) as canindustriesname, L25.rsid as cantags, (L26.rsname) as cantagsname, L27.rsid as personalcharacteristics, (L28.rsname) as personalcharacteristicsname, (L29_NF.rsname) as cansourceidname, ltrim( rtrim( coalesce((L30.plastname||' '::text||L30.pfirstname||' '::text||L30.psurname),(L30.plastname||' '::text||L30.pfirstname),(L30.pfirstname||' '::text||L30.psurname),(L30.plastname),(L30.pfirstname),(L30.psurname)) ) ) as cansourceempidname, (L31_NF.rsname) as canrelocationidname, L32.rsid as relocationregion, (L33.rsname) as relocationregionname, L34.crid as userfield23ff445c3d90489d98bf, (L35.crname) as field23ff445c3d90489d98bfname, P36.ccemail as ccemail, P36.ccemail2 as ccemail2, P36.ccmobtel as ccmobtel, P36.ccworktel as ccworktel, P36.ccinternaltel as ccinternaltel, P36.ccicq as ccicq, P36.ccskype as ccskype, P36.addressid as addressid, P36.asadid as asadid, L37.adid as adid, L37.countryrsid as countryrsid, L37.regionrsid as regionrsid, L37.cityrsid as cityrsid, L37.adaddress as adaddress, L37.adindex as adindex, L37.adlatitude as adlatitude, L37.adlongitude as adlongitude, (L39.rsname) as countryrsidname, (L40_NF.rsname) as regionrsidname, (L41_NF.rsname) as cityrsidname, L42.linkedcountry as linkedcountry, L42.linkedregion as linkedregion, L42.linkeddistrict as linkeddistrict, L42.linkedcity as linkedcity, L42.linkedlocality as linkedlocality, L42.hrintegrationmetro as hrintegrationmetro, L42.linkedstreet as linkedstreet, L42.linkedhouse as linkedhouse, L42.linkedhousing as linkedhousing, L42.linkedbuilding as linkedbuilding, (L44_NF.rsname) as linkedcountryname, (L45_NF.rsname) as linkedregionname, (L46_NF.rsname) as linkeddistrictname, (L47_NF.rsname) as linkedcityname, (L48_NF.rsname) as linkedlocalityname, (L49_NF.rsname) as hrintegrationmetroname, (L50_NF.rsname) as linkedstreetname, (L51_NF.rsname) as linkedhousename, (L52_NF.rsname) as linkedhousingname, (L53_NF.rsname) as linkedbuildingname, P54.crpost as crpost, P54.crdeclsalary as crdeclsalary, P54.crdeclsalarycurid as crdeclsalarycurid, P54.cractualsalary as cractualsalary, P54.cractualsalarycurid as cractualsalarycurid, P54.cradditionalinfo as cradditionalinfo, P54.evid as evid, L55.rsid as rid, (L56_NF.rsname) as ridname, L57.rsid as rsposts, (L58_NF.rsname) as rspostsname, (L59.crname) as crdeclsalarycuridname, (L60.crname) as cractualsalarycuridname, (L61_etid_NF.ettitle) as evidname
- FROM hr$candidate P
- LEFT OUTER JOIN hr$candidate_MULTI_pidaccess L0 ON L0.canid = P.canid
- LEFT OUTER JOIN pp$person L1 ON L1.personid = L0.personid
- LEFT OUTER JOIN dc$file L2 ON L2.fileid = P.resumefileid
- LEFT OUTER JOIN pp$person L3 ON L3.personid = P.candidateuserid
- LEFT OUTER JOIN dc$file L4 ON L4.fileid = P.canphotofileid
- LEFT OUTER JOIN hr$langknowledge L5 ON L5.aeforeignid = P.canid
- LEFT OUTER JOIN hr$candidate L6 ON L6.canid = L5.aeforeignid
- LEFT OUTER JOIN hr$canatt L6_NF ON L6_NF.canid = L6.canid
- LEFT OUTER JOIN vv$rubsection L7 ON L7.rsid = L5.lkforeignlanguage
- LEFT OUTER JOIN vv$languagelevel L8 ON L8.rsid = L5.lklanguagelevel
- LEFT OUTER JOIN vv$rubsection L8_NF ON L8_NF.rsid = L8.rsid
- LEFT OUTER JOIN vv$canstatus L9 ON L9.rsid = P.canstatusid
- LEFT OUTER JOIN vv$rubsection L9_NF ON L9_NF.rsid = L9.rsid
- LEFT OUTER JOIN pp$person L10 ON L10.personid = P.creatorid
- LEFT OUTER JOIN pp$person L11 ON L11.personid = P.updaterid
- LEFT OUTER JOIN hr$canatt P12 ON P12.canid = P.canid
- LEFT OUTER JOIN hr$canatt_MULTI_canprofareas L13 ON L13.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L14 ON L14.rsid = L13.rsid
- LEFT OUTER JOIN vv$rubsection L15 ON L15.rsid = P12.maritalid
- LEFT OUTER JOIN vv$rubsection L16 ON L16.rsid = P12.nativelanguageid
- LEFT OUTER JOIN vv$educationtype L17 ON L17.rsid = P12.educationid
- LEFT OUTER JOIN vv$rubsection L17_NF ON L17_NF.rsid = L17.rsid
- LEFT OUTER JOIN hr$canatt_MULTI_nationalityid L18 ON L18.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L19 ON L19.rsid = L18.rsid
- LEFT OUTER JOIN hr$canatt_MULTI_canworkpermit L20 ON L20.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L21 ON L21.rsid = L20.rsid
- LEFT OUTER JOIN pp$person L22 ON L22.personid = P12.polygraphpersonid
- LEFT OUTER JOIN hr$canatt_MULTI_canindustries L23 ON L23.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L24 ON L24.rsid = L23.rsid
- LEFT OUTER JOIN hr$canatt_MULTI_cantags L25 ON L25.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L26 ON L26.rsid = L25.rsid
- LEFT OUTER JOIN hr$canatt_MULTI_personalcharac L27 ON L27.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L28 ON L28.rsid = L27.rsid
- LEFT OUTER JOIN vv$cansource L29 ON L29.rsid = P12.cansourceid
- LEFT OUTER JOIN vv$rubsection L29_NF ON L29_NF.rsid = L29.rsid
- LEFT OUTER JOIN pp$person L30 ON L30.personid = P12.cansourceempid
- LEFT OUTER JOIN vv$canrelocate L31 ON L31.rsid = P12.canrelocationid
- LEFT OUTER JOIN vv$rubsection L31_NF ON L31_NF.rsid = L31.rsid
- LEFT OUTER JOIN hr$canatt_MULTI_relocationregi L32 ON L32.canid = P12.canid
- LEFT OUTER JOIN vv$rubsection L33 ON L33.rsid = L32.rsid
- LEFT OUTER JOIN CN$LINK_MULTI_userfield23ff445 L34 ON L34.canid = P12.canid
- LEFT OUTER JOIN sy$currency L35 ON L35.crid = L34.crid
- LEFT OUTER JOIN hr$cancontact P36 ON P36.canid = P.canid
- LEFT OUTER JOIN vv$address L37 ON L37.adid = P36.addressid
- LEFT OUTER JOIN vv$rubsection L39 ON L39.rsid = L37.countryrsid
- LEFT OUTER JOIN vv$regionrub L40 ON L40.rsid = L37.regionrsid
- LEFT OUTER JOIN vv$rubsection L40_NF ON L40_NF.rsid = L40.rsid
- LEFT OUTER JOIN vv$cityrub L41 ON L41.rsid = L37.cityrsid
- LEFT OUTER JOIN vv$rubsection L41_NF ON L41_NF.rsid = L41.rsid
- LEFT OUTER JOIN vv$autosuggestaddress L42 ON L42.asadid = P36.asadid
- LEFT OUTER JOIN vv$linkedrub L44 ON L44.rsid = L42.linkedcountry
- LEFT OUTER JOIN vv$rubsection L44_NF ON L44_NF.rsid = L44.rsid
- LEFT OUTER JOIN vv$linkedrub L45 ON L45.rsid = L42.linkedregion
- LEFT OUTER JOIN vv$rubsection L45_NF ON L45_NF.rsid = L45.rsid
- LEFT OUTER JOIN vv$linkedrub L46 ON L46.rsid = L42.linkeddistrict
- LEFT OUTER JOIN vv$rubsection L46_NF ON L46_NF.rsid = L46.rsid
- LEFT OUTER JOIN vv$linkedrub L47 ON L47.rsid = L42.linkedcity
- LEFT OUTER JOIN vv$rubsection L47_NF ON L47_NF.rsid = L47.rsid
- LEFT OUTER JOIN vv$linkedrub L48 ON L48.rsid = L42.linkedlocality
- LEFT OUTER JOIN vv$rubsection L48_NF ON L48_NF.rsid = L48.rsid
- LEFT OUTER JOIN vv$linkedrub L49 ON L49.rsid = L42.hrintegrationmetro
- LEFT OUTER JOIN vv$rubsection L49_NF ON L49_NF.rsid = L49.rsid
- LEFT OUTER JOIN vv$linkedrub L50 ON L50.rsid = L42.linkedstreet
- LEFT OUTER JOIN vv$rubsection L50_NF ON L50_NF.rsid = L50.rsid
- LEFT OUTER JOIN vv$linkedrub L51 ON L51.rsid = L42.linkedhouse
- LEFT OUTER JOIN vv$rubsection L51_NF ON L51_NF.rsid = L51.rsid
- LEFT OUTER JOIN vv$linkedrub L52 ON L52.rsid = L42.linkedhousing
- LEFT OUTER JOIN vv$rubsection L52_NF ON L52_NF.rsid = L52.rsid
- LEFT OUTER JOIN vv$linkedrub L53 ON L53.rsid = L42.linkedbuilding
- LEFT OUTER JOIN vv$rubsection L53_NF ON L53_NF.rsid = L53.rsid
- LEFT OUTER JOIN hr$canrequirements P54 ON P54.canid = P.canid
- LEFT OUTER JOIN hr$canrequirements_MULTI_rid L55 ON L55.canid = P54.canid
- LEFT OUTER JOIN vv$regionrub L56 ON L56.rsid = L55.rsid
- LEFT OUTER JOIN vv$rubsection L56_NF ON L56_NF.rsid = L56.rsid
- LEFT OUTER JOIN hr$canrequirements_MULTI_rspos L57 ON L57.canid = P54.canid
- LEFT OUTER JOIN vv$post L58 ON L58.rsid = L57.rsid
- LEFT OUTER JOIN vv$rubsection L58_NF ON L58_NF.rsid = L58.rsid
- LEFT OUTER JOIN sy$currency L59 ON L59.crid = P54.crdeclsalarycurid
- LEFT OUTER JOIN sy$currency L60 ON L60.crid = P54.cractualsalarycurid
- LEFT OUTER JOIN ev$event L61 ON L61.evid = P54.evid
- LEFT OUTER JOIN vv$eventtype L61_etid_NF ON L61_etid_NF.etid = L61.etid
- WHERE P.canid = ?:201##4
- При этом действие doaction=Save&savetype=candidateresume было вызвано в 10:21:35.210 (что позже момента получения кандидата из базы запросом выше), а завершено в 10:21:41.803
- http-bio-58006-exec-2399#new.sandbox.mirapolis.ru 2018-03-21 10:21:41.803 [http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222] DEBUG(DO): End---------: 6593ms
- А обработка действия IncludeSuitableVacancyAction в этот момент еще не была завершена, код
- if (!VacancyAutoRejectService.getInstance().autoRejectCandidate(bean)) {
- //Изменить статус кандидата по подбору
- candidate.setRecruitingStatus(CandidateRecruitingStatus.process);
- EntityManager.update(candidate, true);
- }
- из метода hr.candidate.CandidateService#includeCandidateInVacancy(java.lang.String, java.lang.String, java.lang.String, hr.candidate.vacancy.CandidateAdmission) выполнялся только в 10:21:44.807, и получилось, что помимо
- обновления статуса удалился еще и айди резюме, т.к. при получении из базы он был пустой:
- http-bio-58006-exec-2394#new.sandbox.mirapolis.ru 2018-03-21 10:21:44.807 [http://new.sandbox.mirapolis.ru/mira-new 22 95.143.120.222] DEBUG(DB): Execute SQL(1750773277): UPDATE hr$candidate SET canrecruitingstatus=?, resumefileid=? WHERE canid = ?:1##5####4##201##4
- Мы можем попробовать вместо
- candidate.setRecruitingStatus(CandidateRecruitingStatus.process);
- EntityManager.update(candidate, true);
- Выполнять UpdateQuery, чтоб ничего, кроме поля со статусом, там не менялось.
- Но непонятно, как именно было вызвано это действие, как-то из плагина или в самой системе через браузер. Нужно ли в этом разбираться?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement