Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.16 KB | None | 0 0
  1. Привет! По задаче https://support2011.mirapolis.ru/browse/PORTAL-41436. А ты не в курсе, можно где-то почитать, как этот плагин работает? Там ситуация такая, что до вызова действий, о которых Дима написал в комменте:
  2.  
  3. 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
  4. а потом
  5. 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
  6.  
  7. было вызвано такое действие
  8.  
  9. 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
  10.  
  11. Во время обработки которого выполнялся код из этого метода:
  12. hr.candidate.CandidateService#includeCandidateInVacancy(java.lang.String, java.lang.String, java.lang.String, hr.candidate.vacancy.CandidateAdmission)
  13.  
  14. А в нем в самом начале из базы получается кандидат:
  15.  
  16. CandidateBean candidate = new CandidateBean();
  17. candidate.setId(candidateId);
  18. EntityManager.load(candidate);
  19.  
  20. Исходя из логов, это происходило в 10:21:34.369:
  21.  
  22. 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
  23. FROM hr$candidate P
  24. LEFT OUTER JOIN hr$candidate_MULTI_pidaccess L0 ON L0.canid = P.canid
  25. LEFT OUTER JOIN pp$person L1 ON L1.personid = L0.personid
  26. LEFT OUTER JOIN dc$file L2 ON L2.fileid = P.resumefileid
  27. LEFT OUTER JOIN pp$person L3 ON L3.personid = P.candidateuserid
  28. LEFT OUTER JOIN dc$file L4 ON L4.fileid = P.canphotofileid
  29. LEFT OUTER JOIN hr$langknowledge L5 ON L5.aeforeignid = P.canid
  30. LEFT OUTER JOIN hr$candidate L6 ON L6.canid = L5.aeforeignid
  31. LEFT OUTER JOIN hr$canatt L6_NF ON L6_NF.canid = L6.canid
  32. LEFT OUTER JOIN vv$rubsection L7 ON L7.rsid = L5.lkforeignlanguage
  33. LEFT OUTER JOIN vv$languagelevel L8 ON L8.rsid = L5.lklanguagelevel
  34. LEFT OUTER JOIN vv$rubsection L8_NF ON L8_NF.rsid = L8.rsid
  35. LEFT OUTER JOIN vv$canstatus L9 ON L9.rsid = P.canstatusid
  36. LEFT OUTER JOIN vv$rubsection L9_NF ON L9_NF.rsid = L9.rsid
  37. LEFT OUTER JOIN pp$person L10 ON L10.personid = P.creatorid
  38. LEFT OUTER JOIN pp$person L11 ON L11.personid = P.updaterid
  39. LEFT OUTER JOIN hr$canatt P12 ON P12.canid = P.canid
  40. LEFT OUTER JOIN hr$canatt_MULTI_canprofareas L13 ON L13.canid = P12.canid
  41. LEFT OUTER JOIN vv$rubsection L14 ON L14.rsid = L13.rsid
  42. LEFT OUTER JOIN vv$rubsection L15 ON L15.rsid = P12.maritalid
  43. LEFT OUTER JOIN vv$rubsection L16 ON L16.rsid = P12.nativelanguageid
  44. LEFT OUTER JOIN vv$educationtype L17 ON L17.rsid = P12.educationid
  45. LEFT OUTER JOIN vv$rubsection L17_NF ON L17_NF.rsid = L17.rsid
  46. LEFT OUTER JOIN hr$canatt_MULTI_nationalityid L18 ON L18.canid = P12.canid
  47. LEFT OUTER JOIN vv$rubsection L19 ON L19.rsid = L18.rsid
  48. LEFT OUTER JOIN hr$canatt_MULTI_canworkpermit L20 ON L20.canid = P12.canid
  49. LEFT OUTER JOIN vv$rubsection L21 ON L21.rsid = L20.rsid
  50. LEFT OUTER JOIN pp$person L22 ON L22.personid = P12.polygraphpersonid
  51. LEFT OUTER JOIN hr$canatt_MULTI_canindustries L23 ON L23.canid = P12.canid
  52. LEFT OUTER JOIN vv$rubsection L24 ON L24.rsid = L23.rsid
  53. LEFT OUTER JOIN hr$canatt_MULTI_cantags L25 ON L25.canid = P12.canid
  54. LEFT OUTER JOIN vv$rubsection L26 ON L26.rsid = L25.rsid
  55. LEFT OUTER JOIN hr$canatt_MULTI_personalcharac L27 ON L27.canid = P12.canid
  56. LEFT OUTER JOIN vv$rubsection L28 ON L28.rsid = L27.rsid
  57. LEFT OUTER JOIN vv$cansource L29 ON L29.rsid = P12.cansourceid
  58. LEFT OUTER JOIN vv$rubsection L29_NF ON L29_NF.rsid = L29.rsid
  59. LEFT OUTER JOIN pp$person L30 ON L30.personid = P12.cansourceempid
  60. LEFT OUTER JOIN vv$canrelocate L31 ON L31.rsid = P12.canrelocationid
  61. LEFT OUTER JOIN vv$rubsection L31_NF ON L31_NF.rsid = L31.rsid
  62. LEFT OUTER JOIN hr$canatt_MULTI_relocationregi L32 ON L32.canid = P12.canid
  63. LEFT OUTER JOIN vv$rubsection L33 ON L33.rsid = L32.rsid
  64. LEFT OUTER JOIN CN$LINK_MULTI_userfield23ff445 L34 ON L34.canid = P12.canid
  65. LEFT OUTER JOIN sy$currency L35 ON L35.crid = L34.crid
  66. LEFT OUTER JOIN hr$cancontact P36 ON P36.canid = P.canid
  67. LEFT OUTER JOIN vv$address L37 ON L37.adid = P36.addressid
  68. LEFT OUTER JOIN vv$rubsection L39 ON L39.rsid = L37.countryrsid
  69. LEFT OUTER JOIN vv$regionrub L40 ON L40.rsid = L37.regionrsid
  70. LEFT OUTER JOIN vv$rubsection L40_NF ON L40_NF.rsid = L40.rsid
  71. LEFT OUTER JOIN vv$cityrub L41 ON L41.rsid = L37.cityrsid
  72. LEFT OUTER JOIN vv$rubsection L41_NF ON L41_NF.rsid = L41.rsid
  73. LEFT OUTER JOIN vv$autosuggestaddress L42 ON L42.asadid = P36.asadid
  74. LEFT OUTER JOIN vv$linkedrub L44 ON L44.rsid = L42.linkedcountry
  75. LEFT OUTER JOIN vv$rubsection L44_NF ON L44_NF.rsid = L44.rsid
  76. LEFT OUTER JOIN vv$linkedrub L45 ON L45.rsid = L42.linkedregion
  77. LEFT OUTER JOIN vv$rubsection L45_NF ON L45_NF.rsid = L45.rsid
  78. LEFT OUTER JOIN vv$linkedrub L46 ON L46.rsid = L42.linkeddistrict
  79. LEFT OUTER JOIN vv$rubsection L46_NF ON L46_NF.rsid = L46.rsid
  80. LEFT OUTER JOIN vv$linkedrub L47 ON L47.rsid = L42.linkedcity
  81. LEFT OUTER JOIN vv$rubsection L47_NF ON L47_NF.rsid = L47.rsid
  82. LEFT OUTER JOIN vv$linkedrub L48 ON L48.rsid = L42.linkedlocality
  83. LEFT OUTER JOIN vv$rubsection L48_NF ON L48_NF.rsid = L48.rsid
  84. LEFT OUTER JOIN vv$linkedrub L49 ON L49.rsid = L42.hrintegrationmetro
  85. LEFT OUTER JOIN vv$rubsection L49_NF ON L49_NF.rsid = L49.rsid
  86. LEFT OUTER JOIN vv$linkedrub L50 ON L50.rsid = L42.linkedstreet
  87. LEFT OUTER JOIN vv$rubsection L50_NF ON L50_NF.rsid = L50.rsid
  88. LEFT OUTER JOIN vv$linkedrub L51 ON L51.rsid = L42.linkedhouse
  89. LEFT OUTER JOIN vv$rubsection L51_NF ON L51_NF.rsid = L51.rsid
  90. LEFT OUTER JOIN vv$linkedrub L52 ON L52.rsid = L42.linkedhousing
  91. LEFT OUTER JOIN vv$rubsection L52_NF ON L52_NF.rsid = L52.rsid
  92. LEFT OUTER JOIN vv$linkedrub L53 ON L53.rsid = L42.linkedbuilding
  93. LEFT OUTER JOIN vv$rubsection L53_NF ON L53_NF.rsid = L53.rsid
  94. LEFT OUTER JOIN hr$canrequirements P54 ON P54.canid = P.canid
  95. LEFT OUTER JOIN hr$canrequirements_MULTI_rid L55 ON L55.canid = P54.canid
  96. LEFT OUTER JOIN vv$regionrub L56 ON L56.rsid = L55.rsid
  97. LEFT OUTER JOIN vv$rubsection L56_NF ON L56_NF.rsid = L56.rsid
  98. LEFT OUTER JOIN hr$canrequirements_MULTI_rspos L57 ON L57.canid = P54.canid
  99. LEFT OUTER JOIN vv$post L58 ON L58.rsid = L57.rsid
  100. LEFT OUTER JOIN vv$rubsection L58_NF ON L58_NF.rsid = L58.rsid
  101. LEFT OUTER JOIN sy$currency L59 ON L59.crid = P54.crdeclsalarycurid
  102. LEFT OUTER JOIN sy$currency L60 ON L60.crid = P54.cractualsalarycurid
  103. LEFT OUTER JOIN ev$event L61 ON L61.evid = P54.evid
  104. LEFT OUTER JOIN vv$eventtype L61_etid_NF ON L61_etid_NF.etid = L61.etid
  105. WHERE P.canid = ?:201##4
  106.  
  107. При этом действие doaction=Save&savetype=candidateresume было вызвано в 10:21:35.210 (что позже момента получения кандидата из базы запросом выше), а завершено в 10:21:41.803
  108.  
  109. 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
  110.  
  111. А обработка действия IncludeSuitableVacancyAction в этот момент еще не была завершена, код
  112.  
  113. if (!VacancyAutoRejectService.getInstance().autoRejectCandidate(bean)) {
  114. //Изменить статус кандидата по подбору
  115. candidate.setRecruitingStatus(CandidateRecruitingStatus.process);
  116. EntityManager.update(candidate, true);
  117. }
  118.  
  119. из метода hr.candidate.CandidateService#includeCandidateInVacancy(java.lang.String, java.lang.String, java.lang.String, hr.candidate.vacancy.CandidateAdmission) выполнялся только в 10:21:44.807, и получилось, что помимо
  120. обновления статуса удалился еще и айди резюме, т.к. при получении из базы он был пустой:
  121.  
  122. 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
  123.  
  124. Мы можем попробовать вместо
  125.  
  126. candidate.setRecruitingStatus(CandidateRecruitingStatus.process);
  127. EntityManager.update(candidate, true);
  128.  
  129. Выполнять UpdateQuery, чтоб ничего, кроме поля со статусом, там не менялось.
  130.  
  131. Но непонятно, как именно было вызвано это действие, как-то из плагина или в самой системе через браузер. Нужно ли в этом разбираться?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement