maindb-procedure-8.sql 575 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007
  1. /****** Object: StoredProcedure [dbo].[procWxMessageSend2ByCaJobCvMatchInsert] Script Date: 2018/12/13 19:12:33 ******/
  2. SET ANSI_NULLS ON
  3. GO
  4. SET QUOTED_IDENTIFIER ON
  5. GO
  6. ------------------------------------------
  7. ---创建人:Peter
  8. ---创建时间:2016-10-19
  9. ---企业简历精确匹配的微信推送计划任务
  10. -----------------------------------------
  11. CREATE PROCEDURE [dbo].[procWxMessageSend2ByCaJobCvMatchInsert]
  12. AS
  13. SET NOCOUNT ON
  14. BEGIN
  15. IF DATEPART(HOUR, GETDATE()) < 10
  16. RETURN
  17. IF DATEPART(HOUR, GETDATE()) > 11
  18. RETURN
  19. SELECT TOP 5000 b.caMainID,c.cpMainID
  20. INTO #T
  21. FROM caJobCvMatch a WITH(NOLOCK)
  22. LEFT JOIN JobPublish b WITH(NOLOCK) ON b.ID = a.JobID
  23. LEFT JOIN CaMain c WITH(NOLOCK) ON b.caMainID = c.ID
  24. WHERE a.WxPushDate IS NULL
  25. AND b.Valid = 1
  26. AND a.AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  27. GROUP BY b.caMainID ,c.cpMainID
  28. INSERT WxMessageSend2(Templatetype, WxFansID, PaMainId, MainTableId, CpMainID, CvMainID, JobId, CaMainId, AddDate)
  29. SELECT 22, b.Id wxFansId, NULL, a.caMainID, a.cpMainID, NULL, NULL, a.caMainID, GETDATE()
  30. FROM #T a, wxFans b
  31. WHERE a.caMainID = b.caMainID
  32. --AND b.Status > 0
  33. AND caBindCancelDate IS NULL
  34. UPDATE caJobCvMatch
  35. SET WxPushDate = GETDATE()
  36. WHERE JobID IN(
  37. SELECT ID
  38. FROM JobPublish WITH(NOLOCK)
  39. WHERE caMainID IN (SELECT caMainID FROM #T)
  40. )
  41. DROP TABLE #T
  42. END
  43. GO
  44. /****** Object: StoredProcedure [dbo].[ProcWxMessageSend2BySendSelect] Script Date: 2018/12/13 19:12:34 ******/
  45. SET ANSI_NULLS ON
  46. GO
  47. SET QUOTED_IDENTIFIER ON
  48. GO
  49. CREATE PROCEDURE [dbo].[ProcWxMessageSend2BySendSelect]
  50. AS
  51. BEGIN
  52. SELECT TOP 500 a.id, a.messagetext, a.ReturnResult, a.ErrorNumber, c.Token, e.ProvinceId, e.AppID, e.AppSecret
  53. FROM wxMessageSend2 a WITH(NOLOCK),
  54. dcWxtoken c WITH(NOLOCK), wxFans d, wxServiceNo e
  55. WHERE ISNULL(a.errornumber, 0) < 3
  56. AND a.SendDate IS NULL
  57. AND MessageText > ''
  58. AND a.wxFansId = d.Id
  59. AND d.wxServiceNoId = e.Id
  60. AND e.ProvinceId = c.dcProvinceId
  61. --and a.templatetype <> 19
  62. ORDER BY a.Id DESC
  63. END
  64. GO
  65. /****** Object: StoredProcedure [dbo].[procWxMessageSendByChatOnlineInsert] Script Date: 2018/12/13 19:12:34 ******/
  66. SET ANSI_NULLS ON
  67. GO
  68. SET QUOTED_IDENTIFIER ON
  69. GO
  70. --功能:个人未读留言发送微信提醒
  71. --创建人:harry
  72. --2015-9-10
  73. CREATE PROCEDURE [dbo].[procWxMessageSendByChatOnlineInsert]
  74. AS
  75. BEGIN
  76. --取出2分钟前未多的数据
  77. SELECT MAX(ID) ID, cvMainId, caMainId INTO #T FROM ChatOnline
  78. WHERE ID > ISNULL((SELECT MAX(ChatOnineId) ID FROM wxChatOnlineTemp), 0)
  79. AND ID IN(SELECT DISTINCT ChatOnlineID
  80. FROM ChatOnlinelog
  81. WHERE SenderType = 1 --企业给个人发送
  82. AND IsViewed = 0 --未查看
  83. AND AddDate BETWEEN DATEADD(MINUTE, -30, GETDATE())
  84. AND DATEADD(MINUTE, -5, GETDATE()))
  85. AND ID NOT IN(SELECT ChatOnineId FROM wxChatOnlineTemp)
  86. GROUP BY cvMainId, caMainId
  87. --将chatonlineid 或(pamainid, camainid)不存在于wxchatonlinetemp的数据插入wxchatonlinetemp
  88. INSERT wxChatOnlineTemp(ChatOnineId, paMainId, cvMainid, caMainId)
  89. SELECT a.ID, b.PaMainId, a.cvMainId, a.caMainId
  90. FROM #T a, cvMain b, wxFans c
  91. WHERE a.cvMainId = b.Id
  92. AND NOT EXISTS(SELECT 'X' FROM wxChatOnlineTemp WHERE paMainId = b.PaMainId AND caMainId = a.caMainId)
  93. AND b.paMainId = c.PamainId
  94. AND c.status>0
  95. --取出未发送的数据
  96. SELECT a.*, b.Id AS WxFansId
  97. INTO #T1
  98. FROM wxChatOnlineTemp a, wxFans b
  99. WHERE a.IsSend = 0
  100. AND a.paMainId = b.paMainId
  101. --插入WxMessageSend2
  102. INSERT WxMessageSend2(Templatetype, WxFansID, PaMainId, cpMainId, AddDate)
  103. SELECT 4, a.WxFansId, a.PamainId, b.cpMainId, GETDATE() FROM #T1 a, caMain b WHERE a.caMainId = b.Id
  104. --SELECT 4, 178509, 25681483, 371108, GETDATE() FROM #T1 a, caMain b WHERE a.caMainId = b.Id
  105. --更新wxchatonlinetemp
  106. UPDATE wxChatOnlineTemp
  107. SET IsSend = 1
  108. WHERE IsSend = 0
  109. END
  110. GO
  111. /****** Object: StoredProcedure [dbo].[procWxMessageSendByMessageUpdate] Script Date: 2018/12/13 19:12:34 ******/
  112. SET ANSI_NULLS ON
  113. GO
  114. SET QUOTED_IDENTIFIER ON
  115. GO
  116. /***********************
  117. ---微信json字符串组合--
  118. ---Harry 2015-8-27-----
  119. ---修改harry 271行:联系方式是否隐藏的处理
  120. ---修改harry 2018-4-10增加23校园招聘会审核
  121. **********************/
  122. CREATE PROCEDURE [dbo].[procWxMessageSendByMessageUpdate]
  123. AS
  124. SET NOCOUNT ON
  125. BEGIN
  126. SET NOCOUNT OFF
  127. DECLARE @ParaValue VARCHAR(2000),
  128. @JsonMessage VARCHAR(1000), --json字符串 
  129. @PaName VARCHAR(50),
  130. @JobName VARCHAR(50),
  131. @CpMainId INT,
  132. @CompanyName NVARCHAR(100),
  133. @InterviewDate NVARCHAR(100),
  134. @InterviewPlace NVARCHAR(100),
  135. @LinkMan NVARCHAR(25),
  136. @Telephone VARCHAR(25),
  137. @Url VARCHAR(1000),
  138. @MinId INT
  139. UPDATE wxmessagesend2
  140. SET ErrorNumber = 9
  141. WHERE AddDate > DATEADD(MINUTE, -10, GETDATE())
  142. AND WxFansId IN(
  143. SELECT Id FROM WxFans WITH(NOLOCK) WHERE WxServiceNoId IN(SELECT ID FROM WxServiceNo WITH(NOLOCK) WHERE Status = 2)
  144. )
  145. AND ErrorNumber < 3
  146. UPDATE wxmessagesend2
  147. SET ErrorNumber = 9
  148. WHERE Id IN(SELECT ID FROM (SELECT Id, ROW_NUMBER() OVER(PARTITION BY PaMainId, TemplateType ORDER BY Id) RowNo
  149. FROM wxMessagesend2 WITH(NOLOCK)
  150. WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) a
  151. WHERE RowNo > 2
  152. AND TemplateType NOT IN(20, 22,23))
  153. AND ErrorNumber < 3
  154. AND Templatetype > 1
  155. SELECT TOP 1 @MinId = ID FROM wxMessagesend2 WITH(NOLOCK)
  156. WHERE Templatetype <> 8
  157. AND (JobID IS NULL OR caMainId IS NULL OR cpMainId IS NULL OR cpMainId = 0)
  158. AND AddDate > GETDATE() - 0.5
  159. ORDER BY ID
  160. IF @MinId > 0
  161. BEGIN
  162. UPDATE a SET a.caMainId = b.caMainId
  163. FROM wxMessagesend2 a WITH(NOLOCK), Job b WITH(NOLOCK)
  164. WHERE a.Jobid = b.Id
  165. AND a.caMainId IS NULL
  166. AND a.JobID > 0
  167. AND a.Id > @MinID
  168. UPDATE a SET a.cpMainId = b.cpMainId
  169. FROM WxMessageSend2 a WITH(NOLOCK), caMain b WITH(NOLOCK)
  170. WHERE a.caMainid = b.Id
  171. AND a.caMainId > 0
  172. AND ISNULL(a.cpMainId, 0) = 0
  173. AND a.Id > @MinID
  174. --AND a.TemplateType <> 20
  175. END
  176. --UPDATE WxMessageSend2 SET wxFansId = 178509 WHERE MessageText IS NULL
  177. --UPDATE WxMessageSend2 SET wxFansId = 178509, MessageText = null --WHERE MessageText IS NULL
  178. --取出待发送的数据
  179. SELECT a.*, b.Name paName, c.OpenId, c.WxServiceNoID, d.ProvinceDomain, d.WebsiteName INTO #T1
  180. FROM WxMessageSend2 a WITH(NOLOCK)
  181. LEFT JOIN PaMain b WITH(NOLOCK) ON a.PaMainID = b.ID
  182. LEFT JOIN WxFans c WITH(NOLOCK) ON a.WxFansID = c.ID
  183. INNER JOIN WxServiceNo e WITH(NOLOCK) ON c.WxServiceNoId = e.Id
  184. INNER JOIN dcprovince d WITH(NOLOCK) ON d.id = e.ProvinceID
  185. WHERE a.MessageText IS NULL
  186. AND ErrorNumber < 3
  187. AND a.AddDate > DATEADD(MINUTE, - 10, GETDATE())
  188. IF @@RowCount = 0
  189. RETURN
  190. --------面试通知开始------ 1
  191. SELECT a.*, b.[NO] AS WxTemplateNo , c.InterviewDate, c.InterViewPlace, c.LinkMan, c.Telephone, d.Name jobName,
  192. d.dcSalaryID, e.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  193. INTO #T01
  194. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Exinterview c WITH(NOLOCK), Job d WITH(NOLOCK), CpMain e WITH(NOLOCK)
  195. WHERE a.Templatetype = 1 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 1 AND a.MainTableId = c.Id AND a.JobID = d.ID AND a.cpMainId = e.id--面试通知
  196. IF @@RowCount > 0
  197. BEGIN
  198. --插入参数数据
  199. SET @ParaValue = ''
  200. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  201. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 1 ORDER BY ID
  202. UPDATE #T01 SET ParaValue = @ParaValue
  203. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  204. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#JobName#', JobName)
  205. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  206. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#InterviewDate#', CONVERT(varchar, InterviewDate, 120 ))
  207. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#InterViewPlace#', InterViewPlace)
  208. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#LinkMan#', LinkMan)
  209. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#Telephone#', Telephone)
  210. UPDATE #T01 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  211. UPDATE #T01 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/jm/InterViewList'
  212. UPDATE #T01 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  213. --更新wxmessagesend中的message
  214. UPDATE WxMessageSend2
  215. SET MessageText = a.JsonMessage FROM #T01 a WHERE a.id = WxMessageSend2.id
  216. END
  217. --------面试通知结束------
  218. ------应聘邀请提醒开始---- 2
  219. SELECT a.*, b.[NO] AS WxTemplateNo, d.Name jobName, d.dcSalaryID, c.Name CompanyName, e.FullName,
  220. f.Adddate AS mainAddDate, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  221. INTO #T02
  222. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain c WITH(NOLOCK), Job d WITH(NOLOCK), dcRegion e WITH(NOLOCK), cacvintention f WITH(NOLOCK)
  223. WHERE a.Templatetype = 2
  224. AND a.WxServiceNoID = b.WxServiceNoID
  225. AND b.WxTemplateId = 2
  226. AND a.cpMainId = c.id
  227. AND a.JobID = d.ID
  228. AND d.dcRegionId = e.id
  229. AND f.id = a.MainTableId --应聘邀请
  230. IF @@RowCount > 0
  231. BEGIN
  232. --插入参数数据
  233. SELECT @ParaValue = ''
  234. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 2 ORDER BY ID
  235. UPDATE #T02 SET ParaValue = @ParaValue
  236. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  237. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#Salary#', (SELECT [Description] FROM dcsalary WITH(NOLOCK) WHERE ID = dcSalaryID))
  238. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#JobName#', JobName)
  239. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#companyname#', CompanyName)
  240. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#address#', FullName)
  241. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#adddate#', CONVERT(varchar, mainAddDate, 120))
  242. UPDATE #T02 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  243. UPDATE #T02 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/jm/CvIntention'
  244. UPDATE #T02 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  245. --更新wxmessagesend中的message
  246. UPDATE WxMessageSend2
  247. SET MessageText = a.JsonMessage FROM #T02 a WHERE a.id = WxMessageSend2.id
  248. END
  249. ------应聘邀请提醒结束----
  250. ------收藏简历通知开始---- 3
  251. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name jobName, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  252. INTO #T03
  253. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Job c WITH(NOLOCK), CpMain d WITH(NOLOCK)
  254. WHERE a.Templatetype = 3 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 3 AND a.JobID = c.ID AND a.cpMainId = d.id--简历收藏通知
  255. IF @@RowCount > 0
  256. BEGIN
  257. --插入参数数据
  258. SELECT @ParaValue = ''
  259. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 3 ORDER BY ID
  260. UPDATE #T03 SET ParaValue = @ParaValue
  261. UPDATE #T03 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  262. UPDATE #T03 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  263. UPDATE #T03 SET ParaValue = REPLACE(ParaValue, '#JobName#', JobName)
  264. UPDATE #T03 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  265. UPDATE #T03 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/Personal/jv/CompanyDetail?cpmainid=' + CONVERT(VARCHAR(30), CpMainId)
  266. UPDATE #T03 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  267. --更新wxmessagesend中的message
  268. UPDATE WxMessageSend2
  269. SET MessageText = a.JsonMessage FROM #T03 a WHERE a.id = WxMessageSend2.id
  270. END
  271. ------收藏简历通知结束----
  272. -----企业留言开始----4
  273. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  274. INTO #T04
  275. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain c WITH(NOLOCK)
  276. WHERE a.Templatetype = 4 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 4 AND a.cpMainId = c.id
  277. IF @@RowCount > 0
  278. BEGIN
  279. --插入参数数据
  280. SELECT @ParaValue = ''
  281. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 4 ORDER BY ID
  282. UPDATE #T04 SET ParaValue = @ParaValue
  283. UPDATE #T04 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  284. UPDATE #T04 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  285. UPDATE #T04 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  286. UPDATE #T04 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/chatonline/palist'
  287. UPDATE #T04 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  288. --更新wxmessagesend中的message
  289. UPDATE WxMessageSend2
  290. SET MessageText = a.JsonMessage FROM #T04 a WHERE a.id = WxMessageSend2.id
  291. END
  292. -----企业留言结束----
  293. ------企业浏览开始----5
  294. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  295. INTO #T05
  296. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain c WITH(NOLOCK)
  297. WHERE a.Templatetype = 5 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 5 AND a.cpMainId = c.id
  298. IF @@RowCount > 0
  299. BEGIN
  300. --插入参数数据
  301. SELECT @ParaValue = ''
  302. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 5 ORDER BY ID
  303. UPDATE #T05 SET ParaValue = @ParaValue
  304. UPDATE #T05 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  305. UPDATE #T05 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  306. UPDATE #T05 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  307. UPDATE #T05 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/jm/CpAttentionList'
  308. UPDATE #T05 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  309. --更新wxmessagesend中的message
  310. UPDATE WxMessageSend2
  311. SET MessageText = a.JsonMessage FROM #T05 a WHERE a.id = WxMessageSend2.id
  312. END
  313. ------企业浏览结束----
  314. ------企业下载简历开始----6
  315. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name CompanyName,c.SecondId, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  316. INTO #T06
  317. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain c WITH(NOLOCK)
  318. WHERE a.Templatetype = 6 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 6 AND a.cpMainId = c.id
  319. IF @@RowCount > 0
  320. BEGIN
  321. --插入参数数据
  322. SELECT @ParaValue = ''
  323. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 6 ORDER BY ID
  324. UPDATE #T06 SET ParaValue = @ParaValue
  325. UPDATE #T06 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  326. UPDATE #T06 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  327. UPDATE #T06 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  328. UPDATE #T06 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/cp' + CONVERT(VARCHAR(30), SecondId )+'.html'
  329. UPDATE #T06 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  330. --更新wxmessagesend中的message
  331. UPDATE WxMessageSend2
  332. SET MessageText = a.JsonMessage FROM #T06 a WHERE a.id = WxMessageSend2.id
  333. END
  334. ------企业下载简历结束----
  335. ------简历审核未通过------7
  336. SELECT a.*, b.[NO] AS WxTemplateNo, c.VerifyDate, d.Mobile, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  337. INTO #T07
  338. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), bsCvVerify c WITH(NOLOCK), PaMain d WITH(NOLOCK)
  339. WHERE a.Templatetype = 7 AND a.WxServiceNoID = b.WxServiceNoID
  340. AND b.WxTemplateId = 7 AND a.MainTableId = c.Id AND a.PaMainId = d.Id
  341. IF @@RowCount > 0
  342. BEGIN
  343. --插入参数数据
  344. SELECT @ParaValue = ''
  345. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 7 ORDER BY ID
  346. UPDATE #T07 SET ParaValue = @ParaValue
  347. UPDATE #T07 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  348. UPDATE #T07 SET ParaValue = REPLACE(ParaValue, '#Tel#', Mobile)
  349. UPDATE #T07 SET ParaValue = REPLACE(ParaValue, '#AddDate#', CONVERT(varchar, VerifyDate, 120 ))
  350. UPDATE #T07 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  351. UPDATE #T07 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/sys/index'
  352. UPDATE #T07 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  353. --更新wxmessagesend中的message
  354. UPDATE WxMessageSend2
  355. SET MessageText = a.JsonMessage FROM #T07 a WHERE a.id = WxMessageSend2.id
  356. END
  357. ------简历审核未通过结束--
  358. ------照片审核未通过------8
  359. SELECT a.*, b.[NO] AS WxTemplateNo, c.CheckDate, d.Mobile, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  360. INTO #T08
  361. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), paPhoto c WITH(NOLOCK), PaMain d WITH(NOLOCK)
  362. WHERE a.Templatetype = 8 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 8 AND a.PaMainId = c.paMainId AND a.PaMainId = d.Id
  363. IF @@RowCount > 0
  364. BEGIN
  365. --插入参数数据
  366. SELECT @ParaValue = ''
  367. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 8 ORDER BY ID
  368. UPDATE #T08 SET ParaValue = @ParaValue
  369. UPDATE #T08 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  370. UPDATE #T08 SET ParaValue = REPLACE(ParaValue, '#Tel#', Mobile)
  371. UPDATE #T08 SET ParaValue = REPLACE(ParaValue, '#AddDate#', CONVERT(varchar, CheckDate, 120 ))
  372. UPDATE #T08 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  373. UPDATE #T08 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/sys/index'
  374. UPDATE #T08 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  375. --更新wxmessagesend中的message
  376. UPDATE WxMessageSend2
  377. SET MessageText = a.JsonMessage FROM #T08 a WHERE a.id = WxMessageSend2.id
  378. END
  379. ------照片审核未通过结束--
  380. ------简历答复开始-------9
  381. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name CompanyName, d.Name jobName, CASE WHEN e.IsPhoneHide = 1 THEN '' ELSE e.Telephone END Telephone, CASE WHEN e.IsMobileHide = 1 THEN '' ELSE e.Mobile END Mobile, f.Reply,
  382. f.ReplyDate, f.IsPassed, f.AddDate AS ApplyAddDate, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  383. INTO #T09
  384. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain c WITH(NOLOCK), Job d WITH(NOLOCK), caMain e WITH(NOLOCK), exJobApply f WITH(NOLOCK)
  385. WHERE a.Templatetype = 9
  386. AND a.WxServiceNoID = b.WxServiceNoID
  387. AND b.WxTemplateId = 9
  388. AND a.cpMainId = c.id
  389. AND a.JobID = d.ID
  390. AND e.id = a.caMainId
  391. AND a.MainTableId = f.id
  392. IF @@RowCount > 0
  393. BEGIN
  394. --插入参数数据
  395. UPDATE #T09
  396. SET ParaValue =
  397. (
  398. SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  399. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'first') +
  400. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  401. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'keyword1') +
  402. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  403. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'keyword2') +
  404. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  405. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'keyword3') +
  406. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  407. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'keyword4') +
  408. (SELECT ' "' + ParaName + '":{ "value":"' + '#KeyWord4#' + ParaValue + '", "color":"' + ParaColor + '"}, '
  409. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'keyword5') +
  410. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  411. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 9 AND ParaName = 'remark'
  412. )
  413. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  414. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#JobName#', JobName)
  415. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  416. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#AddDate#', CONVERT(varchar, ApplyAddDate, 120))
  417. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#VerifyResult#', CASE WHEN reply = 1 THEN '符合要求,近期会联系您' WHEN reply = 2 THEN '暂时不符合要求' ELSE '职位暂时满员,空缺时再联系!'END)
  418. --UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#KeyWord4#', CASE WHEN reply = 1 THEN '符合要求' WHEN reply = 2 THEN '不符合要求' ELSE '以后联系' END)
  419. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#KeyWord4#', '')
  420. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#tel#', CASE WHEN ISNULL(Telephone, '') = ''THEN Mobile ELSE Telephone END)
  421. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#Remark#', CASE WHEN reply = 1 THEN '主动联系公司,效果更好,祝您求职顺利!' WHEN reply = 2 THEN '不怕路远,就怕志短,尽快申请其他岗位,获得更多求职机会!' ELSE '主动联系公司,效果更好,祝您求职顺利!' END)
  422. UPDATE #T09 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  423. UPDATE #T09 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/jm/JobApplyList'
  424. UPDATE #T09 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  425. --更新wxmessagesend中的message
  426. UPDATE WxMessageSend2
  427. SET MessageText = a.JsonMessage FROM #T09 a WHERE a.id = WxMessageSend2.id
  428. END
  429. ------简历答复结束--------
  430. /*
  431. ----微信替代短信开始-------10
  432. SELECT a.*, b.[NO] AS WxTemplateNo, c.*, d.UserName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  433. INTO #T10
  434. FROM #T1 a, WxTemplateNo b, ShortDb..wxMessageTemp c, paMain d
  435. WHERE a.Templatetype = 10 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 10 AND a.MainTableId = c.Id AND d.Id = a.MainTableId
  436. IF @@RowCount > 0
  437. BEGIN
  438. --插入参数数据
  439. UPDATE #T10
  440. SET ParaValue =
  441. (
  442. SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  443. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 10 AND ParaName = 'first') +
  444. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  445. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 10 AND ParaName = 'keyword1') +
  446. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  447. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 10 AND ParaName = 'keyword2') +
  448. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  449. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 10 AND ParaName = 'remark'
  450. )
  451. --前10天注册,最后登陆日期在3天前的,发送登录提醒 6
  452. --前3天注册,简历不完整,登录 = 一次的,发送用户名、密码 7
  453. --前3天注册,简历不完整,登录>一次的,发送简历不完整提醒 8
  454. UPDATE #T10
  455. SET ParaValue = REPLACE(ParaValue, '#InformationValue#',
  456. CASE WHEN SmsType = 6 THEN '您好,您在' + WebsiteName + 'http://www.' + provincedomain + '的用户名:' + UserName + ',欢迎使用'
  457. WHEN SmsType = 7 THEN '您好,您在' + WebsiteName + 'http://www.' + provincedomain + '的用户名:' + UserName + ',欢迎使用'
  458. ELSE '您好,您在' + WebsiteName + 'http://www.' + provincedomain + '的简历不完整,请及时补全。拥有一份完整的简历,您将会拥有更多的求职机会'
  459. END)
  460. UPDATE #T10 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  461. UPDATE #T10 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId
  462. UPDATE #T10 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  463. --更新wxmessagesend中的message
  464. UPDATE WxMessageSend2
  465. SET MessageText = a.JsonMessage FROM #T10 a WHERE a.id = WxMessageSend2.id
  466. END
  467. ----微信替代短信结束-------
  468. */
  469. --你的菜儿开始
  470. SELECT a.*, b.[NO] AS WxTemplateNo, SPACE(1000) ParaValue, c.JobDesc,c.BatchNo, SPACE(200) Url, SPACE(1000) JsonMessage
  471. INTO #T13
  472. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), paYourFoodWeiXin c WITH(NOLOCK)
  473. WHERE a.Templatetype = 13
  474. AND a.WxServiceNoID = b.WxServiceNoID
  475. AND b.WxTemplateId = 13
  476. AND a.paMainId = c.paMainId
  477. IF @@RowCount > 0
  478. BEGIN
  479. --插入参数数据
  480. SELECT @ParaValue = ''
  481. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  482. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 13 ORDER BY ID
  483. UPDATE #T13 SET ParaValue = @ParaValue
  484. UPDATE #T13 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  485. UPDATE #T13 SET ParaValue = REPLACE(ParaValue, '#JobDesc#', JobDesc)
  486. UPDATE #T13 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  487. UPDATE #T13 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/js/yourfood?BatchNo=' + CAST(BatchNo AS VARCHAR(10))
  488. UPDATE #T13 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#000000", "data":{' + ParaValue + '}}'
  489. --更新wxmessagesend中的message
  490. UPDATE WxMessageSend2
  491. SET MessageText = a.JsonMessage FROM #T13 a WHERE a.id = WxMessageSend2.id
  492. END
  493. ------应聘的简历提醒---- 14
  494. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name jobName, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  495. INTO #T14
  496. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Job c WITH(NOLOCK), CpMain d WITH(NOLOCK)
  497. WHERE a.Templatetype = 14 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 14 AND a.JobID = c.ID AND a.cpMainId = d.id
  498. IF @@RowCount > 0
  499. BEGIN
  500. --插入参数数据
  501. SELECT @ParaValue = ''
  502. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 14 ORDER BY ID
  503. UPDATE #T14 SET ParaValue = @ParaValue
  504. UPDATE #T14 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  505. UPDATE #T14 SET ParaValue = REPLACE(ParaValue, '#JobName#', JobName)
  506. UPDATE #T14 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  507. UPDATE #T14 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/cv/applycv'
  508. UPDATE #T14 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  509. --更新wxmessagesend中的message
  510. UPDATE WxMessageSend2
  511. SET MessageText = a.JsonMessage FROM #T14 a WHERE a.id = WxMessageSend2.id
  512. END
  513. ------应聘的简历提醒----
  514. ------面试通知答复提醒---- 15
  515. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name jobName, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  516. INTO #T15
  517. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Job c WITH(NOLOCK), CpMain d WITH(NOLOCK)
  518. WHERE a.Templatetype = 15 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 15 AND a.JobID = c.ID AND a.cpMainId = d.id
  519. IF @@RowCount > 0
  520. BEGIN
  521. --插入参数数据
  522. SELECT @ParaValue = ''
  523. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 15 ORDER BY ID
  524. UPDATE #T15 SET ParaValue = @ParaValue
  525. UPDATE #T15 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  526. UPDATE #T15 SET ParaValue = REPLACE(ParaValue, '#PaName', PaName)
  527. UPDATE #T15 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  528. UPDATE #T15 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/jm/interview'
  529. UPDATE #T15 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  530. --更新wxmessagesend中的message
  531. UPDATE WxMessageSend2
  532. SET MessageText = a.JsonMessage FROM #T15 a WHERE a.id = WxMessageSend2.id
  533. END
  534. ------面试通知答复提醒----
  535. ------应聘邀请答复提醒---- 16
  536. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name jobName, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  537. INTO #T16
  538. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Job c WITH(NOLOCK), CpMain d WITH(NOLOCK)
  539. WHERE a.Templatetype = 16 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 16 AND a.JobID = c.ID AND a.cpMainId = d.id
  540. IF @@RowCount > 0
  541. BEGIN
  542. --插入参数数据
  543. SELECT @ParaValue = ''
  544. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 16 ORDER BY ID
  545. UPDATE #T16 SET ParaValue = @ParaValue
  546. UPDATE #T16 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  547. UPDATE #T16 SET ParaValue = REPLACE(ParaValue, '#PaName', PaName)
  548. UPDATE #T16 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  549. UPDATE #T16 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/jm/cvintention'
  550. UPDATE #T16 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  551. --更新wxmessagesend中的message
  552. UPDATE WxMessageSend2
  553. SET MessageText = a.JsonMessage FROM #T16 a WHERE a.id = WxMessageSend2.id
  554. END
  555. ------应聘邀请答复提醒----
  556. ------文字在线沟通新消息提醒---- 17
  557. SELECT a.*, b.[NO] AS WxTemplateNo, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  558. INTO #T17
  559. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain d WITH(NOLOCK)
  560. WHERE a.Templatetype = 17 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 17 AND a.cpMainId = d.id
  561. IF @@RowCount > 0
  562. BEGIN
  563. --插入参数数据
  564. SELECT @ParaValue = ''
  565. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 17 ORDER BY ID
  566. UPDATE #T17 SET ParaValue = @ParaValue
  567. UPDATE #T17 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  568. UPDATE #T17 SET ParaValue = REPLACE(ParaValue, '#PaName', PaName)
  569. UPDATE #T17 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  570. UPDATE #T17 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/chatonline/cplist'
  571. UPDATE #T17 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  572. --更新wxmessagesend中的message
  573. UPDATE WxMessageSend2
  574. SET MessageText = a.JsonMessage FROM #T17 a WHERE a.id = WxMessageSend2.id
  575. END
  576. ------文字在线沟通新消息提醒----
  577. ------职位过期提醒---- 18
  578. SELECT a.*, b.[NO] AS WxTemplateNo, c.Name jobName, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  579. INTO #T18
  580. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), Job c WITH(NOLOCK), CpMain d WITH(NOLOCK)
  581. WHERE a.Templatetype = 18 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 18 AND a.JobID = c.ID AND a.cpMainId = d.id
  582. IF @@RowCount > 0
  583. BEGIN
  584. --插入参数数据
  585. SELECT @ParaValue = ''
  586. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 18 ORDER BY ID
  587. UPDATE #T18 SET ParaValue = @ParaValue
  588. UPDATE #T18 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  589. UPDATE #T18 SET ParaValue = REPLACE(ParaValue, '#JobName', jobName)
  590. UPDATE #T18 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  591. UPDATE #T18 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/job/jobissue'
  592. UPDATE #T18 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  593. --更新wxmessagesend中的message
  594. UPDATE WxMessageSend2
  595. SET MessageText = a.JsonMessage FROM #T18 a WHERE a.id = WxMessageSend2.id
  596. END
  597. ------职位过期提醒----
  598. ------营业执照审核结果提醒---- 19
  599. SELECT a.*, b.[NO] AS WxTemplateNo, d.HasLicence, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  600. INTO #T19
  601. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), CpMain d WITH(NOLOCK)
  602. WHERE a.Templatetype = 19 AND a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 19 AND a.cpMainId = d.id
  603. IF @@RowCount > 0
  604. BEGIN
  605. --插入参数数据
  606. SELECT @ParaValue = ''
  607. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 19 ORDER BY ID
  608. UPDATE #T19 SET ParaValue = @ParaValue
  609. UPDATE #T19 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  610. UPDATE #T19 SET ParaValue = REPLACE(ParaValue, '#VerifyResult', CASE HasLicence WHEN 1 THEN '已通过' ELSE '未通过' END)
  611. UPDATE #T19 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  612. UPDATE #T19 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/cp/cplicence'
  613. UPDATE #T19 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  614. --更新wxmessagesend中的message
  615. UPDATE WxMessageSend2
  616. SET MessageText = a.JsonMessage FROM #T19 a WHERE a.id = WxMessageSend2.id
  617. END
  618. ------营业执照审核结果提醒----
  619. ------企业精确匹配简历推送----
  620. SELECT a.*, b.[NO] AS WxTemplateNo, SPACE(1000) ParaValue, c.Name caName, SPACE(200) Url, SPACE(1000) JsonMessage,'精确匹配' PushFrequency
  621. INTO #T22
  622. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), caMain c WITH(NOLOCK)
  623. WHERE a.Templatetype = 22
  624. AND a.WxServiceNoID = b.WxServiceNoID
  625. AND b.WxTemplateId = 22
  626. AND c.ID = a.caMainID
  627. IF @@RowCount > 0
  628. BEGIN
  629. --插入参数数据
  630. SELECT @ParaValue = ''
  631. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  632. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 22 ORDER BY ID
  633. UPDATE #T22 SET ParaValue = @ParaValue
  634. UPDATE #T22 SET ParaValue = REPLACE(ParaValue, '#caName#', caName)
  635. UPDATE #T22 SET ParaValue = REPLACE(ParaValue, '#PushFrequency#', PushFrequency)
  636. UPDATE #T22 SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  637. UPDATE #T22 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/cvsearch/Recommend?PushDate=' + CONVERT(VARCHAR(8), GETDATE(), 112)
  638. UPDATE #T22 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#000000", "data":{' + ParaValue + '}}'
  639. --更新wxmessagesend中的message
  640. UPDATE WxMessageSend2
  641. SET MessageText = a.JsonMessage FROM #T22 a WHERE a.id = WxMessageSend2.id
  642. END
  643. ------企业精确匹配简历推送结束----
  644. ------招聘会审核通知开始-------23
  645. SELECT a.*, b.[NO] AS WxTemplateNo, c.CompanyName, d.Name RecruitmentName,
  646. (CONVERT(varchar(2), datepart(mm,d.BeginDate))+'月'+CONVERT(varchar(2), datepart(dd,d.BeginDate))+'日('+replace(datename(weekday,d.BeginDate),'星期','周')+')'+CONVERT(varchar(2), datepart(hh,d.BeginDate))+':'+RIGHT('0'+CONVERT(varchar(2), datepart(mi,d.BeginDate)),2)+
  647. '~'+CONVERT(varchar(2), datepart(hh,d.EndDate))+':'+RIGHT('0'+CONVERT(varchar(2), datepart(mi,d.EndDate)),2)) AS RecruitMentTime,(e.Name+ISNULL(f.Name,'')+ISNULL(d.address,'')) AS RecruitMentAddress,
  648. c.DeskNo AS RecruitMentDeskNo, c.Status AS checkStatus,SPACE(20) RecruitMentVerifyResult, c.description AS RecruitMentRemark,
  649. SPACE(1000) ParaValue, SPACE(1000) JsonMessage
  650. INTO #T23
  651. FROM #T1 a
  652. LEFT JOIN WxTemplateNo b WITH(NOLOCK)
  653. ON a.WxServiceNoID = b.WxServiceNoID
  654. LEFT JOIN marketdb..rmcompany c WITH(NOLOCK)
  655. ON a.MainTableId = c.id
  656. LEFT JOIN wutongguodb..recruitmentSchool d WITH(NOLOCK)
  657. ON c.recruitmentId= d.id*-1
  658. LEFT JOIN wutongguodb..dcSchool e WITH(NOLOCK)
  659. ON d.dcSchoolId = e.id
  660. LEFT JOIN wutongguodb..dcSchoolArea f WITH(NOLOCK)
  661. ON d.dcSchoolAreaId = f.Id
  662. WHERE a.Templatetype = 23
  663. AND b.WxTemplateId = 23
  664. IF @@RowCount > 0
  665. BEGIN
  666. --插入参数数据
  667. UPDATE #T23
  668. SET ParaValue =
  669. (
  670. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  671. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'first') +
  672. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  673. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'keyword1') +
  674. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  675. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'keyword2') +
  676. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  677. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'keyword3') +
  678. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  679. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'keyword4') +
  680. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}, '
  681. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'keyword5') +
  682. (SELECT ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}'
  683. FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 23 AND ParaName = 'remark')
  684. )
  685. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  686. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentName#', RecruitmentName)
  687. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentTime#', RecruitMentTime)
  688. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentAddress#', RecruitMentAddress)
  689. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentVerifyResult#', CASE WHEN checkStatus = 1 THEN '通过' ELSE '不通过'END)
  690. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentDeskNo#', CASE WHEN checkStatus = 1 THEN CASE WHEN ISNULL(RecruitMentDeskNo,'')='' THEN '待分配' ELSE RecruitMentDeskNo END ELSE '不分配' END)
  691. UPDATE #T23 SET ParaValue = REPLACE(ParaValue, '#RecruitMentRemark#', CASE WHEN checkStatus = 1 THEN CASE WHEN ISNULL(RecruitMentRemark,'')='' THEN '请准时到场,如不能到场参加,请提前3天告知校方联系人' ELSE ISNULL(RecruitMentRemark,'')+'。请准时到场,如不能到场参加,请提前3天告知校方联系人' END ELSE '原因:'+ISNULL(RecruitMentRemark,'') END)
  692. --UPDATE #T23 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/jm/JobApplyList'
  693. UPDATE #T23 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  694. --更新wxmessagesend中的message
  695. UPDATE WxMessageSend2
  696. SET MessageText = a.JsonMessage FROM #T23 a WHERE a.id = WxMessageSend2.id
  697. END
  698. ------招聘会审核通知结束--------
  699. ------企业邀请个人测评开始--------
  700. SELECT a.*, b.[NO] AS WxTemplateNo,e.Name AssessTypeName,e.NeedTime,c.EndDate, d.Name CompanyName, SPACE(1000) ParaValue, SPACE(200) Url, SPACE(1000) JsonMessage
  701. INTO #T24
  702. FROM #T1 a, WxTemplateNo b WITH(NOLOCK), AssessCpInvite c WITH(NOLOCK), CpMain d WITH(NOLOCK),AssessType e WITH(NOLOCK)
  703. WHERE a.Templatetype = 24
  704. AND a.WxServiceNoID = b.WxServiceNoID
  705. AND b.WxTemplateId = 24
  706. AND a.MainTableId = c.ID
  707. AND a.cpMainId = d.id
  708. AND c.AssessTypeID = e.ID
  709. IF @@RowCount > 0
  710. BEGIN
  711. --插入参数数据
  712. SELECT @ParaValue = ''
  713. SELECT @ParaValue = @ParaValue + CASE WHEN @ParaValue > '' THEN ', ' ELSE '' END + ' "' + ParaName + '":{ "value":"' + ParaValue + '", "color":"' + ParaColor + '"}' FROM WxTemplatePara WITH(NOLOCK) WHERE WxTemplateID = 24 ORDER BY ID
  714. UPDATE #T24 SET ParaValue = @ParaValue
  715. UPDATE #T24 SET ParaValue = REPLACE(ParaValue, '#CompanyName#', CompanyName)
  716. UPDATE #T24 SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  717. UPDATE #T24 SET ParaValue = REPLACE(ParaValue, '#NeedTime#', CONVERT(VARCHAR,NeedTime) + '分')
  718. UPDATE #T24 SET ParaValue = REPLACE(ParaValue, '#EndDate#', CONVERT(VARCHAR(100), EndDate, 23))
  719. UPDATE #T24 SET Url = 'http://m.' + ProvinceDomain + '/library/WechatOauthPaLogin?opid=' + OpenId + '&urlfile=/personal/assess/cpinvittest'
  720. UPDATE #T24 SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"' + Url + '", "topcolor":"#FF0000", "data":{' + ParaValue + '}}'
  721. --更新wxmessagesend中的message
  722. UPDATE WxMessageSend2
  723. SET MessageText = a.JsonMessage FROM #T24 a WHERE a.id = WxMessageSend2.id
  724. END
  725. ------企业邀请个人测评结束--------
  726. DELETE WxMessageSend2
  727. WHERE Id IN (SELECT MIN(Id) Id
  728. FROM WxMessageSend2 WITH(NOLOCK)
  729. --WHERE AddDate > GETDATE() - 0.1
  730. GROUP BY paMainId, MessageText
  731. HAVING COUNT(*) >1
  732. )
  733. UPDATE WxMessageSend2 SET MessageText = REPLACE(MessageText, '\', ' ')
  734. WHERE ErrorNumber = 0 AND SendDate IS NULL
  735. END
  736. GO
  737. /****** Object: StoredProcedure [dbo].[procWxMessageSendInsert] Script Date: 2018/12/13 19:12:35 ******/
  738. SET ANSI_NULLS ON
  739. GO
  740. SET QUOTED_IDENTIFIER ON
  741. GO
  742. --#####################################################
  743. --创建时间:2015.01.27
  744. --创建人:Nick
  745. --说明:插入消息发送表
  746. --#####################################################
  747. CREATE PROCEDURE [dbo].[procWxMessageSendInsert]
  748. (
  749. @WxFansID INT,
  750. @cpMainID INT,
  751. @Message VARCHAR(1000),
  752. @Status INT,
  753. @MessageType INT,
  754. @WxTemplateNoID INT,
  755. @Remark VARCHAR(200)
  756. )
  757. AS
  758. BEGIN
  759. INSERT INTO WxMessageSend (WxFansID,cpMainID,Message,SendDate,Status,MessageType,WxTemplateNoID,Remark)
  760. VALUES(@WxFansID,@cpMainID,@Message,GETDATE(),1,@MessageType,@WxTemplateNoID,@Remark)
  761. --修改最后接收消息时间
  762. UPDATE WxFans SET LastReceiveDate = GETDATE() WHERE ID = @WxFansID
  763. END
  764. GO
  765. /****** Object: StoredProcedure [dbo].[procWxMessageTemplateBySiteNameSelect] Script Date: 2018/12/13 19:12:35 ******/
  766. SET ANSI_NULLS ON
  767. GO
  768. SET QUOTED_IDENTIFIER ON
  769. GO
  770. -- =============================================
  771. -- Author: <Mice 123>
  772. -- Create date: <2015-4-15>
  773. -- Description: <根据站点名称查询当前站点是否有消息模板>
  774. -- 修改:Harry2017-5-22
  775. -- =============================================
  776. CREATE PROCEDURE [dbo].[procWxMessageTemplateBySiteNameSelect]
  777. (
  778. @UseType INT,
  779. @SiteName VARCHAR(100)
  780. )
  781. AS
  782. SET NOCOUNT ON
  783. BEGIN
  784. SET NOCOUNT ON;
  785. DECLARE @WxServiceNoId INT
  786. DECLARE @WxNo VARCHAR(10)
  787. DECLARE @CapitalCity VARCHAR(10)
  788. SET @WxServiceNoId = 0
  789. SELECT @WxServiceNoId = a.ID,@CapitalCity =b.Abbr FROM Maindb..wxServiceNo a,dcRegion b WHERE a.Name = @SiteName AND a.ProvinceID=b.ParentID AND b.grade=2 AND b.id like'%01'
  790. IF @WxServiceNoId > 0
  791. BEGIN
  792. SET @WxNo = '%,' + CONVERT( VARCHAR(5), @WxServiceNoId ) + ',%'
  793. SELECT TOP 1 *
  794. INTO #t
  795. FROM Maindb..wxMessageTemplate
  796. WHERE UseType = @UseType AND Enddate > GETDATE() AND wxServiceNoId LIKE @WxNo
  797. ORDER BY ID DESC
  798. IF @UseType=1
  799. BEGIN
  800. UPDATE #t SET MessageText = REPLACE(MessageText,'济南', @CapitalCity)
  801. END
  802. SELECT * FROM #t
  803. DROP TABLE #t
  804. END
  805. SET NOCOUNT OFF;
  806. END
  807. GO
  808. /****** Object: StoredProcedure [dbo].[procWxMessageTemplateDelete] Script Date: 2018/12/13 19:12:36 ******/
  809. SET ANSI_NULLS ON
  810. GO
  811. SET QUOTED_IDENTIFIER ON
  812. GO
  813. -- =============================================
  814. -- Author: <Mice 123>
  815. -- Create date: <2015-4-1>
  816. -- Description: <删除微信自定义消息>
  817. -- =============================================
  818. CREATE PROCEDURE [dbo].[procWxMessageTemplateDelete]
  819. (
  820. @ID INT
  821. )
  822. AS
  823. BEGIN
  824. SET NOCOUNT ON;
  825. DECLARE @MsgType AS INT
  826. SELECT @MsgType = MessageType FROM WxMessageTemplate WHERE ID = @ID
  827. IF @MsgType = 2
  828. BEGIN
  829. DELETE FROM Maindb..WxMessageTemplateDetail WHERE WxMessageTemplateId = @ID
  830. END
  831. DELETE FROM Maindb..WxMessageTemplate WHERE ID = @ID
  832. SET NOCOUNT OFF;
  833. END
  834. GO
  835. /****** Object: StoredProcedure [dbo].[procWxMessageTemplateDetailDelete] Script Date: 2018/12/13 19:12:36 ******/
  836. SET ANSI_NULLS ON
  837. GO
  838. SET QUOTED_IDENTIFIER ON
  839. GO
  840. -- =============================================
  841. -- Author: <Mice 123>
  842. -- Create date: <2015-4-1>
  843. -- Description: <删除一条微信自定义消息--图文消息>
  844. -- =============================================
  845. CREATE PROCEDURE [dbo].[procWxMessageTemplateDetailDelete]
  846. (
  847. @ID INT
  848. )
  849. AS
  850. BEGIN
  851. SET NOCOUNT ON;
  852. DELETE FROM Maindb..WxMessageTemplateDetail WHERE ID = @ID
  853. END
  854. GO
  855. /****** Object: StoredProcedure [dbo].[procWxMessageTemplateDetailUpdate] Script Date: 2018/12/13 19:12:36 ******/
  856. SET ANSI_NULLS ON
  857. GO
  858. SET QUOTED_IDENTIFIER ON
  859. GO
  860. -- =============================================
  861. -- Author: <Mice 123>
  862. -- Create date: <2015-4-1>
  863. -- Description: <保存一条微信自定义消息--图文消息>
  864. -- =============================================
  865. CREATE PROCEDURE [dbo].[procWxMessageTemplateDetailUpdate]
  866. (
  867. @ID INT,
  868. @WxMessageTemplateID INT,
  869. @Title NVARCHAR(50),
  870. @Description NVARCHAR(50),
  871. @PicUrl VARCHAR(300),
  872. @Url VARCHAR(300),
  873. @Sort INT
  874. )
  875. AS
  876. BEGIN
  877. SET NOCOUNT ON;
  878. IF @ID > 0
  879. BEGIN
  880. UPDATE WxMessageTemplateDetail
  881. SET WxMessageTemplateID = @WxMessageTemplateID, Title = @Title, Description = @Description ,
  882. PicUrl = @PicUrl ,Url = @Url ,Sort = @Sort , AddDate = GETDATE()
  883. WHERE ID = @ID
  884. END
  885. ELSE
  886. BEGIN
  887. INSERT INTO Maindb..WxMessageTemplateDetail( WxMessageTemplateID,Title, Description ,PicUrl,Url ,Sort,AddDate )
  888. VALUES ( @WxMessageTemplateID, @Title, @Description, @PicUrl, @Url, @Sort,GETDATE() )
  889. END
  890. SET NOCOUNT OFF;
  891. END
  892. GO
  893. /****** Object: StoredProcedure [dbo].[procWxMessageTemplateUpdate] Script Date: 2018/12/13 19:12:36 ******/
  894. SET ANSI_NULLS ON
  895. GO
  896. SET QUOTED_IDENTIFIER ON
  897. GO
  898. -- =============================================
  899. -- Author: <Mice 123>
  900. -- Create date: <2015-4-1>
  901. -- Description: <微信自定义消息模版修改>
  902. -- 修改: 返回ID值
  903. -- =============================================
  904. CREATE PROCEDURE [dbo].[procWxMessageTemplateUpdate]
  905. (
  906. @ID INT,
  907. @wxServiceNoId VARCHAR(100),
  908. @MsgType INT,
  909. @UseType INT,
  910. @msgText TEXT,
  911. @endDate SMALLDATETIME,
  912. @addMan INT
  913. )
  914. AS
  915. BEGIN
  916. SET NOCOUNT ON;
  917. IF @ID > 0
  918. BEGIN
  919. UPDATE Maindb..WxMessageTemplate SET wxServiceNoId = @wxServiceNoId ,MessageType = @MsgType,
  920. UseType = @UseType, MessageText = @msgText,Enddate = @endDate, AddMan = @addMan, AddDate = getDate()
  921. WHERE id = @ID
  922. END
  923. ELSE
  924. BEGIN
  925. INSERT INTO Maindb..WxMessageTemplate(wxServiceNoId ,MessageType,UseType,MessageText,Enddate,AddMan,AddDate )
  926. VALUES ( @wxServiceNoId ,@MsgType,@UseType,@msgText,@endDate,@addMan,getDate() )
  927. SELECT @ID = @@IDENTITY
  928. END
  929. RETURN @ID
  930. SET NOCOUNT OFF;
  931. END
  932. GO
  933. /****** Object: StoredProcedure [dbo].[procWXQrImageByIDSelect] Script Date: 2018/12/13 19:12:37 ******/
  934. SET ANSI_NULLS ON
  935. GO
  936. SET QUOTED_IDENTIFIER ON
  937. GO
  938. --#####################################################
  939. --创建时间:2014.11.10
  940. --创建人:NICK
  941. --说明:根据id获取微信生成记录
  942. --#####################################################
  943. CREATE PROCEDURE [dbo].[procWXQrImageByIDSelect]
  944. (
  945. @ID INT
  946. )
  947. AS
  948. BEGIN
  949. SELECT * FROM WXQrImage WHERE id = @ID
  950. END
  951. GO
  952. /****** Object: StoredProcedure [dbo].[procWXQrImageByIDUpdate] Script Date: 2018/12/13 19:12:37 ******/
  953. SET ANSI_NULLS ON
  954. GO
  955. SET QUOTED_IDENTIFIER ON
  956. GO
  957. --#####################################################
  958. --创建时间:2014.11.10
  959. --创建人:NICK
  960. --说明:
  961. --#####################################################
  962. CREATE PROCEDURE [dbo].[procWXQrImageByIDUpdate]
  963. (
  964. @ID INT,
  965. @Status INT,
  966. @OpenID VARCHAR(100)
  967. )
  968. AS
  969. BEGIN
  970. UPDATE WXQrImage SET status=@Status,paMainID=(
  971. SELECT TOP 1 paMainID
  972. FROM palogincontact WITH(NOLOCK)
  973. WHERE ContactType=4
  974. AND Openid=@OpenID
  975. ORDER BY ID DESC)
  976. ,openid=@OpenID
  977. WHERE ID=@ID
  978. END
  979. GO
  980. /****** Object: StoredProcedure [dbo].[procWXQrImageByIDUpdateNew] Script Date: 2018/12/13 19:12:37 ******/
  981. SET ANSI_NULLS ON
  982. GO
  983. SET QUOTED_IDENTIFIER ON
  984. GO
  985. --#####################################################
  986. --创建时间:2016.4.7
  987. --创建人:Lucifer
  988. --说明:
  989. --#####################################################
  990. CREATE PROCEDURE [dbo].[procWXQrImageByIDUpdateNew]
  991. (
  992. @ID INT,
  993. @Status INT,
  994. @OpenID VARCHAR(100),
  995. @ContactType INT
  996. )
  997. AS
  998. BEGIN
  999. UPDATE WXQrImage SET status=@Status,paMainID=(
  1000. SELECT TOP 1 paMainID
  1001. FROM palogincontact WITH(NOLOCK)
  1002. WHERE ContactType=@ContactType
  1003. AND Openid=@OpenID
  1004. ORDER BY ID DESC)
  1005. ,openid=@OpenID
  1006. WHERE ID=@ID
  1007. END
  1008. GO
  1009. /****** Object: StoredProcedure [dbo].[ProcWXQrImageTicketUpdate] Script Date: 2018/12/13 19:12:38 ******/
  1010. SET ANSI_NULLS ON
  1011. GO
  1012. SET QUOTED_IDENTIFIER ON
  1013. GO
  1014. --#####################################################
  1015. --创建时间:2014.11.5
  1016. --创建人:John
  1017. --说明:更新/删除二维码记录
  1018. --#####################################################
  1019. CREATE PROCEDURE [dbo].[ProcWXQrImageTicketUpdate]
  1020. (
  1021. @Ticket VARCHAR(150),
  1022. @ID INT
  1023. )
  1024. AS
  1025. SET NOCOUNT ON
  1026. --INSERT INTO ProcLog SELECT 'ProcWXQrImageTicketUpdate', '', GETDATE()
  1027. --200tines one minute
  1028. BEGIN
  1029. IF @Ticket <> ''
  1030. BEGIN
  1031. UPDATE WXQrImage SET Ticket = @Ticket WHERE ID = @ID
  1032. END
  1033. ELSE
  1034. BEGIN
  1035. DELETE FROM WXQrImage WHERE ID=@ID
  1036. END
  1037. END
  1038. GO
  1039. /****** Object: StoredProcedure [dbo].[procWXQrImageUpdate] Script Date: 2018/12/13 19:12:38 ******/
  1040. SET ANSI_NULLS ON
  1041. GO
  1042. SET QUOTED_IDENTIFIER ON
  1043. GO
  1044. --#####################################################
  1045. --创建时间:2016.4.7
  1046. --创建人:Lucifer
  1047. --说明:修改 WXQrImage 状态
  1048. --#####################################################
  1049. CREATE PROCEDURE [dbo].[procWXQrImageUpdate]
  1050. (
  1051. @ID INT,
  1052. @Status INT,
  1053. @OpenID VARCHAR(50),
  1054. @ContactType INT
  1055. )
  1056. AS
  1057. SET NOCOUNT ON
  1058. BEGIN
  1059. IF @ContactType > 0
  1060. BEGIN
  1061. UPDATE WXQrImage SET
  1062. Status = @Status,
  1063. OpenID = @OpenID,
  1064. paMainID = (
  1065. SELECT TOP 1 paMainID
  1066. FROM paLoginContact WITH(NOLOCK)
  1067. WHERE ContactType = @ContactType
  1068. AND OpenID = @OpenID
  1069. ORDER BY ID DESC
  1070. )
  1071. WHERE ID = @ID
  1072. END
  1073. ELSE
  1074. BEGIN
  1075. UPDATE WXQrImage SET
  1076. Status = @Status,
  1077. OpenID = @OpenID
  1078. WHERE ID = @ID
  1079. END
  1080. END
  1081. GO
  1082. /****** Object: StoredProcedure [dbo].[procWxSendDataByTypeSelect] Script Date: 2018/12/13 19:12:38 ******/
  1083. SET ANSI_NULLS ON
  1084. GO
  1085. SET QUOTED_IDENTIFIER ON
  1086. GO
  1087. --#####################################################
  1088. --创建时间:2015.01.26
  1089. --创建人:Nick
  1090. --说明:获取等待发送的消息
  1091. --修改:mice 123 2015-4-20 增加type=10(微信代替短息的消息)
  1092. --#####################################################
  1093. CREATE PROCEDURE [dbo].[procWxSendDataByTypeSelect]
  1094. (
  1095. @Type INT --1面试通知 , 2企业给求职者发送应聘邀请, 3 企业收藏简历 4 企业查看简历 5 企业下载简历
  1096. -- 6企业答复求职者简历 7企业留言 8简历审核不通过 9 照片审核不通过
  1097. )
  1098. AS
  1099. BEGIN
  1100. DECLARE @StartTime DATETIME, @EndTime DATETIME
  1101. SELECT @StartTime = DATEADD(ms, 0, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))
  1102. SELECT @EndTime = DATEADD(ms, -3, DATEADD(dd, DATEDIFF(dd, -1, GETDATE()), 0))
  1103. IF @Type = 1 --面试通知
  1104. BEGIN
  1105. SELECT * INTO #1 FROM ExInterView WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='exinterview')
  1106. SELECT a.JobID, a.CvMainID, a.InterviewDate, a.InterViewPlace, a.LinkMan, a.Telephone, a.Remark, b.Name AS JobName,
  1107. f.Name AS PaName, b.CpMainID, e.Name AS CpName, d.WxServiceNoID, a.ID, g.ProvinceDomain, d.ID AS WxFansID, d.OpenID
  1108. FROM #1 a WITH(NOLOCK), Job b WITH(NOLOCK), CvMain c WITH(NOLOCK), WxFans d WITH(NOLOCK), CpMain e WITH(NOLOCK), PaMain f WITH(NOLOCK), dcProvince g WITH(NOLOCK)
  1109. WHERE a.Jobid = b.ID
  1110. AND a.CvmainID = c.ID
  1111. AND c.PaMainID = f.ID
  1112. AND c.PaMainID = d.PaMainID
  1113. AND b.CpMainID = e.ID
  1114. AND f.dcProvinceID = g.ID
  1115. AND d.Status=2
  1116. --更新WxMax表数据
  1117. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM Exinterview WITH(NOLOCK)), UpdateDate = GETDATE()
  1118. WHERE TableName='exinterview'
  1119. RETURN
  1120. END
  1121. ELSE IF @Type = 2 --企业发送应聘邀请
  1122. BEGIN
  1123. SELECT * INTO #2 FROM caCvIntention WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='cacvintention')
  1124. SELECT a.JobID, a.CvMainID, a.AddDate, b.Name AS JobName, d.OpenID, b.dcsalaryid,
  1125. f.Name AS PaName, b.CpMainID, e.Name AS CpName, d.WxServiceNoID, a.ID, g.ProvinceDomain, h.FullName, d.ID AS WxFansID
  1126. FROM #2 a, Job b, CvMain c, WxFans d, CpMain e, PaMain f, dcProvince g, dcRegion h
  1127. WHERE a.Jobid = b.ID
  1128. AND a.CvmainID = c.ID
  1129. AND c.PaMainID = f.ID
  1130. AND c.PaMainID = d.PaMainID
  1131. AND b.CpMainID = e.ID
  1132. AND f.dcProvinceID = g.ID
  1133. AND b.dcRegionID = h.ID
  1134. AND d.Status=2
  1135. --更新WxMax表数据
  1136. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM CaCvIntention), UpdateDate = GETDATE()
  1137. WHERE TableName='cacvintention'
  1138. RETURN
  1139. END
  1140. ELSE IF @Type = 3 --企业收藏简历
  1141. BEGIN
  1142. SELECT * INTO #3 FROM caFavorate WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='cafavorate')
  1143. SELECT a.JobID, a.CvMainID, a.AddDate, b.Name AS JobName,
  1144. f.Name AS PaName, b.CpMainID, e.Name AS CpName, d.WxServiceNoID, a.ID, g.ProvinceDomain, d.OpenID, d.ID AS WxFansID
  1145. FROM #3 a, Job b, CvMain c, WxFans d, CpMain e, PaMain f, dcProvince g
  1146. WHERE a.Jobid = b.ID
  1147. AND a.CvmainID = c.ID
  1148. AND c.PaMainID = f.ID
  1149. AND c.PaMainID = d.PaMainID
  1150. AND b.CpMainID = e.ID
  1151. AND f.dcProvinceID = g.ID
  1152. AND d.Status=2
  1153. --更新WxMax表数据
  1154. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM caFavorate), UpdateDate = GETDATE()
  1155. WHERE TableName='cafavorate'
  1156. RETURN
  1157. END
  1158. ELSE IF @Type = 4 --企业查看简历
  1159. BEGIN
  1160. SELECT * INTO #4 FROM caCvViewlog
  1161. WHERE AddDate > (SELECT MaxID FROM WxMax WHERE TableName='cacvviewlog')
  1162. AND AddDate IN (SELECT MIN(AddDate)
  1163. FROM caCvViewlog
  1164. WHERE AddDate > @StartTime AND AddDate<@EndTime
  1165. GROUP BY CaMainID)
  1166. SELECT a.caMainID, a.CvMainID, a.AddDate, d.OpenID,
  1167. f.Name AS PaName, e.Name AS CpName, b.CpMainID, d.ID AS WxFunID, 0 AS IsDelete, d.WxServiceNoID, g.ProvinceDomain , d.ID AS WxFansID
  1168. INTO #T2
  1169. FROM #4 a, CaMain b, CvMain c, WxFans d, CpMain e, PaMain f, dcProvince g
  1170. WHERE a.caMainID = b.ID
  1171. AND a.CvmainID = c.ID
  1172. AND c.PaMainID = f.ID
  1173. AND c.PaMainID = d.PaMainID
  1174. AND b.CpMainID = e.ID
  1175. AND f.dcProvinceID = g.ID
  1176. AND d.Status=2
  1177. UPDATE a Set a.IsDelete = 1
  1178. FROM #T2 a, WxMessageSend b
  1179. WHERE b.SendDate>@StartTime AND b.SendDate<@EndTime
  1180. AND a.WxFunID = b.WxFansID
  1181. AND a.cpMainID = b.cpMainID
  1182. AND b.MessageType = 3
  1183. AND b.WxTemplateNoID IN (SELECT ID FROM WxTemplateNo WHERE wxTemplateID = 5)
  1184. DELETE FROM #T2 WHERE IsDelete = 1
  1185. SELECT * FROM #T2
  1186. --更新WxMax表数据
  1187. UPDATE WxMax SET MaxID = (SELECT MAX(AddDate) FROM caFavorate), UpdateDate = GETDATE()
  1188. WHERE TableName='cacvviewlog'
  1189. RETURN
  1190. END
  1191. ELSE IF @Type = 5 --企业下载简历
  1192. BEGIN
  1193. SELECT * INTO #51 FROM caActiveLog WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='caactivelog')
  1194. SELECT * INTO #52 FROM caDailyGiftLog WHERE AddDate > (SELECT MaxID FROM WxMax WHERE TableName='cadailygiftlog')
  1195. SELECT a.cpMainID, a.CvMainID, a.AddDate,
  1196. e.Name AS PaName, b.Name AS CpName, b.ID AS CpMainID, d.WxServiceNoID, g.ProvinceDomain , d.OpenID, d.ID AS WxFansID
  1197. FROM #51 a WITH(NOLOCK), CpMain b, CvMain c, WxFans d, PaMain e, dcProvince g
  1198. WHERE a.cpMainID = b.ID
  1199. AND a.CvmainID = c.ID
  1200. AND c.PaMainID = e.ID
  1201. AND e.dcProvinceID = g.ID
  1202. AND c.PaMainID = d.PaMainID
  1203. AND d.Status=2
  1204. UNION
  1205. SELECT a.cpMainID, a.CvMainID, a.AddDate,
  1206. c.Name AS PaName, b.Name AS CpName, b.ID AS CpMainID, d.WxServiceNoID, g.ProvinceDomain , d.OpenID, d.ID AS WxFansID
  1207. FROM #52 a, CpMain b, CvMain c, WxFans d, PaMain e, dcProvince g
  1208. WHERE a.cpMainID = b.ID
  1209. AND a.CvmainID = c.ID
  1210. AND c.PaMainID = d.PaMainID
  1211. AND c.PaMainID = e.ID
  1212. AND e.dcProvinceID = g.ID
  1213. AND d.Status=2
  1214. --更新WxMax表数据
  1215. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM caactivelog), UpdateDate = GETDATE()
  1216. WHERE TableName='caactiveLog'
  1217. UPDATE WxMax SET MaxID = (SELECT MAX(AddDate) FROM cadailygiftlog), UpdateDate = GETDATE()
  1218. WHERE TableName='cadailygiftlog'
  1219. RETURN
  1220. END
  1221. ELSE IF @Type = 6 --企业答复求职者简历
  1222. BEGIN
  1223. SELECT * INTO #6 FROM exJobApply WHERE ReplyDate > (SELECT MaxID FROM WxMax WHERE TableName='exjobapply')
  1224. SELECT a.JobID, a.CvMainID, a.Reply, a.ReplyDate, a.IsPassed, b.Name AS JobName, a.AddDate, h.Telephone, h.Mobile,
  1225. f.Name AS PaName, b.CpMainID, e.Name AS CpName, d.WxServiceNoID, a.ID, g.ProvinceDomain, d.OpenID, d.ID AS WxFansID
  1226. FROM #6 a, Job b, CvMain c, WxFans d, CpMain e, PaMain f, dcProvince g, caMain h
  1227. WHERE a.Jobid = b.ID
  1228. AND a.CvmainID = c.ID
  1229. AND c.PaMainID = f.ID
  1230. AND c.PaMainID = d.PaMainID
  1231. AND b.CpMainID = e.ID
  1232. AND f.dcProvinceID = g.ID
  1233. AND b.CaMainID = h.ID
  1234. AND d.Status=2
  1235. --更新WxMax表数据
  1236. UPDATE WxMax
  1237. SET MaxID = (SELECT MAX(ReplyDate) FROM exJobApply), UpdateDate = GETDATE()
  1238. WHERE TableName='exjobapply'
  1239. RETURN
  1240. END
  1241. ELSE IF @Type = 7 --企业给求职者留言
  1242. BEGIN
  1243. SELECT * INTO #t7 FROM chatonline
  1244. WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='chatonline')
  1245. AND ID IN (SELECT MIN(ID)
  1246. FROM chatonline
  1247. WHERE AddDate>@StartTime --AND AddDate<@EndTime
  1248. GROUP BY CvMainID)
  1249. SELECT ChatOnlineId id INTO #t71 FROM ChatOnlineLog
  1250. WHERE ChatOnlineId IN(SELECT id FROM #t7)
  1251. AND isviewed=0 AND sendertype=1
  1252. AND AddDate < dateadd(minute, -2, getdate())
  1253. DELETE #T7 WHERE ID NOT IN(SELECT ID FROM #T71)
  1254. SELECT a.cvMainID, a.caMainID, a.AddDate,
  1255. f.Name AS PaName, b.CpMainID, e.Name AS CpName, d.ID AS WxFunID, 0 AS IsDelete,
  1256. d.WxServiceNoID, a.ID, g.ProvinceDomain, d.OpenID, d.ID AS WxFansID
  1257. INTO #T
  1258. FROM #t7 a, CaMain b, CvMain c, WxFans d, CpMain e, PaMain f, dcProvince g
  1259. WHERE a.caMainID = b.ID
  1260. AND a.CvmainID = c.ID
  1261. AND c.PamainID = f.ID
  1262. AND c.PaMainID = d.PaMainID
  1263. AND b.CpMainID = e.ID
  1264. AND f.dcProvinceID = g.ID
  1265. AND d.Status=2
  1266. --AND e.ID NOT IN( SELECT CpMainID
  1267. -- FROM WxMessageSend
  1268. -- WHERE SendDate>@StartTime AND SendDate<@EndTime)
  1269. UPDATE a Set a.IsDelete = 1
  1270. FROM #T a, WxMessageSend b
  1271. WHERE b.SendDate>@StartTime AND b.SendDate<@EndTime
  1272. AND a.WxFunID = b.WxFansID
  1273. AND a.cpMainID = b.cpMainID
  1274. AND b.MessageType = 3
  1275. AND b.WxTemplateNoID IN (SELECT ID FROM WxTemplateNo WHERE wxTemplateID = 4)
  1276. DELETE FROM #T WHERE IsDelete = 1
  1277. SELECT * FROM #T
  1278. --更新WxMax表数据
  1279. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM ChatOnline), UpdateDate = GETDATE()
  1280. WHERE TableName='chatonline'
  1281. RETURN
  1282. END
  1283. ELSE IF @Type = 8 --简历审核不通过
  1284. BEGIN
  1285. SELECT * INTO #t8 FROM bsCvVerify WHERE ID > (SELECT MaxID FROM WxMax WHERE TableName='bscvverify') AND VerifyResult = 10
  1286. SELECT a.cvMainID, c.Name AS PaName, d.WxServiceNoID, a.ID, g.ProvinceDomain, d.OpenID, c.Mobile, d.ID AS WxFansID, a.VerifyDate
  1287. FROM #t8 a, CvMain b,PaMain c, WxFans d, dcProvince g
  1288. WHERE a.cvMainID = b.ID
  1289. AND b.PaMainID = c.ID
  1290. AND b.PaMainID = d.PaMainID
  1291. AND c.dcProvinceID = g.ID
  1292. AND d.Status = 2
  1293. --更新WxMax表数据
  1294. UPDATE WxMax SET MaxID = (SELECT MAX(ID) FROM bsCvVerify), UpdateDate = GETDATE()
  1295. WHERE TableName='bscvverify'
  1296. RETURN
  1297. END
  1298. ELSE IF @Type = 9 --照片审核不通过
  1299. BEGIN
  1300. --SELECT * INTO #t9 FROM PaPhoto WHERE CheckDate > (SELECT MaxID FROM WxMax WHERE TableName='paphoto')
  1301. SELECT a.PaMainID, a.CheckDate, b.Name AS PaName, c.WxServiceNoID, g.ProvinceDomain, c.OpenID , b.Mobile, c.ID AS WxFansID
  1302. FROM PaPhoto a, PaMain b, WxFans c, dcProvince g
  1303. WHERE a.PaMainID = b.ID
  1304. AND b.HasPhoto = 2
  1305. AND b.id = c.pamainid
  1306. AND b.dcProvinceID = g.ID
  1307. AND c.Status=2
  1308. AND CheckDate > (SELECT MaxID FROM WxMax WHERE TableName='paphoto')
  1309. --更新WxMax表数据
  1310. UPDATE WxMax SET MaxID = (SELECT MAX(CheckDate) FROM PaPhoto), UpdateDate = GETDATE()
  1311. WHERE TableName='paphoto'
  1312. RETURN
  1313. END
  1314. ELSE IF @Type = 110 --代替短信的消息
  1315. BEGIN
  1316. SELECT a.* , b.ID AS wxFansID, b.OpenID, b.PaMainID , b.WxServiceNoID , c.UserName, c.Name AS PaName , y.ProvinceDomain, y.WebsiteName
  1317. FROM ShortDb..wxMessageTemp a, Maindb..WxFans b , Maindb..PaMain c, Maindb..wxServiceNo x , Maindb..dcProvince y
  1318. WHERE b.paMainID = a.paMainID AND c.id = a.paMainID AND b.WxServiceNoID = x.id AND x.ProvinceID = y.id
  1319. RETURN
  1320. END
  1321. ELSE IF @Type = 12 --微简历消息
  1322. BEGIN
  1323. SELECT a.*, b.Name AS cvName, c.WxServiceNoID, c.id AS wxFansID
  1324. FROM Shortdb..SmallCvNotify a
  1325. LEFT JOIN Shortdb..SmallCv b ON b.id = a.SmallCvId
  1326. LEFT JOIN Maindb..wxFans c ON c.OpenID = a.OpenID
  1327. WHERE a.SendDate IS NULL
  1328. END
  1329. END
  1330. GO
  1331. /****** Object: StoredProcedure [dbo].[ProcWxServiceNoByProvinceIdSelect] Script Date: 2018/12/13 19:12:39 ******/
  1332. SET ANSI_NULLS ON
  1333. GO
  1334. SET QUOTED_IDENTIFIER ON
  1335. GO
  1336. CREATE PROCEDURE [dbo].[ProcWxServiceNoByProvinceIdSelect]
  1337. (
  1338. @ProvinceId INT
  1339. )
  1340. AS
  1341. BEGIN
  1342. SELECT * FROM wxServiceNo WHERE ProvinceId = @ProvinceId
  1343. END
  1344. GO
  1345. /****** Object: StoredProcedure [dbo].[procWxServiceNoByStatusSelect] Script Date: 2018/12/13 19:12:39 ******/
  1346. SET ANSI_NULLS ON
  1347. GO
  1348. SET QUOTED_IDENTIFIER ON
  1349. GO
  1350. --#####################################################
  1351. --创建时间:2015.01.26
  1352. --创建人:Nick
  1353. --说明:获取微信服务号数据
  1354. --#####################################################
  1355. CREATE PROCEDURE [dbo].[procWxServiceNoByStatusSelect]
  1356. (
  1357. @Status INT
  1358. )
  1359. AS
  1360. BEGIN
  1361. IF @Status = 0
  1362. BEGIN
  1363. SELECT * FROM WxServiceNo WITH(NOLOCK)
  1364. END
  1365. ELSE
  1366. BEGIN
  1367. SELECT * FROM WxServiceNo WITH(NOLOCK) WHERE Status = @Status
  1368. END
  1369. END
  1370. GO
  1371. /****** Object: StoredProcedure [dbo].[procWxShareByOpenIDSelect] Script Date: 2018/12/13 19:12:39 ******/
  1372. SET ANSI_NULLS ON
  1373. GO
  1374. SET QUOTED_IDENTIFIER ON
  1375. GO
  1376. --2016-2-17 nick
  1377. --判断是否领取过红包
  1378. create PROCEDURE [dbo].[procWxShareByOpenIDSelect]
  1379. (
  1380. @OpenID VARCHAR(50),
  1381. @TypeID INT
  1382. )
  1383. AS
  1384. BEGIN
  1385. SELECT * FROM wxShare WITH(NOLOCK)
  1386. WHERE OpenID = @OpenID
  1387. AND TypeID = @TypeID
  1388. AND ReceiveDate IS NOT NULL
  1389. END
  1390. GO
  1391. /****** Object: StoredProcedure [dbo].[procWxShareInsert] Script Date: 2018/12/13 19:12:39 ******/
  1392. SET ANSI_NULLS ON
  1393. GO
  1394. SET QUOTED_IDENTIFIER ON
  1395. GO
  1396. --2016-2-17 nick
  1397. --微信分享
  1398. CREATE PROCEDURE [dbo].[procWxShareInsert]
  1399. (
  1400. @OpenID VARCHAR(50),
  1401. @TypeID INT, --1红包
  1402. @SiteUrl VARCHAR(200)
  1403. )
  1404. AS
  1405. BEGIN
  1406. DECLARE @Return INT
  1407. DECLARE @DateTmp DATETIME
  1408. DECLARE @ValidNum INT
  1409. SET @DateTmp = '2016-2-17'
  1410. --是否分享过
  1411. IF EXISTS(SELECT * FROM WxShare WITH(NOLOCK) WHERE OpenID = @OpenID AND TypeID = @TypeID)
  1412. BEGIN
  1413. --判断是否发送过照片
  1414. IF NOT EXISTS(SELECT * FROM WxWish WITH(NOLOCK) WHERE OpenID = @OpenID AND AddDate > @DateTmp) --不存在
  1415. BEGIN
  1416. SET @Return = 1 --请上传照片
  1417. INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'请上传照片',GETDATE())
  1418. END
  1419. --ELSE
  1420. --BEGIN
  1421. --SELECT TOP 1 @ValidNum = IsValid
  1422. --FROM WxWish WITH(NOLOCK)
  1423. --WHERE OpenID = @OpenID
  1424. --AND AddDate > @DateTmp
  1425. --ORDER BY CASE WHEN IsValid = 1 THEN 3 END DESC
  1426. --IF @ValidNum = 2 --审核不通过
  1427. --BEGIN
  1428. -- SET @Return = 2 --您的照片审核不通过,重新上传照片
  1429. --END
  1430. --IF @ValidNum IS NULL OR @ValidNum = 0
  1431. --BEGIN
  1432. -- SET @Return = 3 --您已上传照片,请耐心等待审核哦~
  1433. --END
  1434. --END
  1435. END
  1436. ELSE
  1437. BEGIN
  1438. INSERT INTO WxShare(OpenID,TypeID,AddDate) VALUES(@OpenID,@TypeID,GETDATE())
  1439. --判断是否发送过照片
  1440. IF NOT EXISTS(SELECT * FROM WxWish WITH(NOLOCK) WHERE OpenID = @OpenID AND AddDate > @DateTmp) --不存在
  1441. BEGIN
  1442. SET @Return = 1 -- 请上传照片
  1443. INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'请上传照片',GETDATE())
  1444. END
  1445. ELSE
  1446. BEGIN
  1447. SELECT TOP 1 @ValidNum = IsValid
  1448. FROM WxWish WITH(NOLOCK)
  1449. WHERE OpenID = @OpenID
  1450. AND AddDate > @DateTmp
  1451. ORDER BY CASE WHEN IsValid = 1 THEN 3 END DESC
  1452. --IF @ValidNum = 2 --审核不通过
  1453. --BEGIN
  1454. -- SET @Return = 2 --您的照片审核不通过,重新上传照片
  1455. --END
  1456. --ELSE IF @ValidNum IS NULL OR @ValidNum = 0
  1457. --BEGIN
  1458. -- SET @Return = 3 --您已上传照片,请耐心等待审核哦~
  1459. --END
  1460. IF @ValidNum = 1
  1461. BEGIN
  1462. SET @Return = 2--提醒抢红包
  1463. INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'点击开始<a href='''+@SiteUrl+'&red=1''>领取红包</a>吧',GETDATE())
  1464. END
  1465. END
  1466. END
  1467. RETURN 0
  1468. END
  1469. GO
  1470. /****** Object: StoredProcedure [dbo].[procWxShareUpdate] Script Date: 2018/12/13 19:12:39 ******/
  1471. SET ANSI_NULLS ON
  1472. GO
  1473. SET QUOTED_IDENTIFIER ON
  1474. GO
  1475. --2016-2-17 nick
  1476. --领取微信红包
  1477. CREATE PROCEDURE [dbo].[procWxShareUpdate]
  1478. (
  1479. @OpenID VARCHAR(50),
  1480. @TypeID INT, --1红包
  1481. @ReceivePrice DECIMAL(18,2),--红包金额
  1482. @SiteUrl VARCHAR(200)
  1483. )
  1484. AS
  1485. BEGIN
  1486. DECLARE @Return INT
  1487. --判断是否符合领取红包的条件
  1488. --判断照片是否上传
  1489. IF NOT EXISTS (SELECT * FROM WxWish WITH(NOLOCK) WHERE OpenID = @OpenID AND IsValid = 1)
  1490. BEGIN
  1491. SET @Return = 2 --请上传照片
  1492. --INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'照片未审核或未上传照片',GETDATE())
  1493. END
  1494. ELSE IF NOT EXISTS(SELECT * FROM WxShare WITH(NOLOCK) WHERE OpenID = @OpenID AND TypeID = 1)
  1495. BEGIN
  1496. SET @Return = 3 --请分享朋友圈
  1497. --INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'照片审核通过,<a href='''+@SiteUrl+'''>分享到朋友圈</a>领红包吧',GETDATE())
  1498. END
  1499. ELSE IF EXISTS(SELECT * FROM WxShare WITH(NOLOCK) WHERE OpenID = @OpenID AND TypeID = 1 AND ReceiveDate IS NOT NULL)
  1500. BEGIN
  1501. SET @Return = 4 --已经领取过红包
  1502. END
  1503. ELSE
  1504. BEGIN
  1505. SET @Return = 1 --领取红包
  1506. --UPDATE WxShare SET ReceivePrice = @ReceivePrice WHERE OpenID = @OpenID AND TypeID = @TypeID
  1507. --INSERT INTO wxPhotoMsg(OpenID,Context,AddDate) VALUES(@OpenID,'点击开始<a href='''+@SiteUrl+'&red=1''>领取红包</a>吧',GETDATE())
  1508. END
  1509. RETURN @Return
  1510. END
  1511. GO
  1512. /****** Object: StoredProcedure [dbo].[procWxSmallPrograminfoByPaMainIdUpdate] Script Date: 2018/12/13 19:12:40 ******/
  1513. SET ANSI_NULLS ON
  1514. GO
  1515. SET QUOTED_IDENTIFIER ON
  1516. GO
  1517. --微信小程序绑定个人账号id
  1518. --harry
  1519. --2018-3-7
  1520. CREATE PROCEDURE [dbo].[procWxSmallPrograminfoByPaMainIdUpdate]
  1521. (
  1522. @paMainId INT,
  1523. @thirdSessionId VARCHAR(200)
  1524. )
  1525. AS
  1526. SET NOCOUNT ON
  1527. BEGIN
  1528. IF EXISTS(SELECT 'X' FROM wxSmallPrograminfo WITH(NOLOCK) WHERE thirdSessionId = @thirdSessionId)
  1529. BEGIN
  1530. UPDATE wxSmallPrograminfo
  1531. SET paMainId = @paMainId
  1532. WHERE thirdSessionId= @thirdSessionId
  1533. --更新unionid
  1534. UPDATE wxFans
  1535. SET unionid= (SELECT unionid FROM wxSmallPrograminfo WHERE thirdSessionId= @thirdSessionId )
  1536. WHERE paMainId = @paMainId
  1537. END
  1538. ELSE
  1539. BEGIN
  1540. --多设备登录导致thirdsessionid丢失,此时根据pamainid进行绑定thirdsession
  1541. IF EXISTS(SELECT 'X' FROM wxSmallPrograminfo WITH(NOLOCK) WHERE paMainId = @paMainId)
  1542. BEGIN
  1543. UPDATE wxSmallPrograminfo
  1544. SET thirdSessionId= @thirdSessionId
  1545. WHERE paMainId = @paMainId
  1546. --更新unionid
  1547. UPDATE wxFans
  1548. SET unionid= (SELECT unionid FROM wxSmallPrograminfo WHERE thirdSessionId= @thirdSessionId )
  1549. WHERE paMainId = @paMainId
  1550. END
  1551. ELSE
  1552. BEGIN
  1553. --多设备,但从来未登录的情况,插入一条
  1554. INSERT INTO wxSmallPrograminfo(thirdSessionId,paMainId,adddate,sessionid)
  1555. VALUES(@thirdSessionId,@paMainId,GETDATE(),'')
  1556. END
  1557. END
  1558. END
  1559. SET NOCOUNT OFF
  1560. GO
  1561. /****** Object: StoredProcedure [dbo].[procwxSmallPrograminfoInsert] Script Date: 2018/12/13 19:12:40 ******/
  1562. SET ANSI_NULLS ON
  1563. GO
  1564. SET QUOTED_IDENTIFIER ON
  1565. GO
  1566. --微信小程序插入openid,sessionId
  1567. --harry 2017-7-18
  1568. --harry 2018-3-7
  1569. CREATE PROCEDURE [dbo].[procwxSmallPrograminfoInsert]
  1570. (
  1571. @thirdSessionId VARCHAR(200),
  1572. @openId VARCHAR(50),
  1573. @sessionId VARCHAR(50),
  1574. @unionId VARCHAR(50)
  1575. )
  1576. AS
  1577. SET NOCOUNT ON
  1578. BEGIN
  1579. DECLARE @paMainId INT
  1580. SELECT TOP 1 @paMainId=pamainId FROM wxFans WITH(NOLOCK)
  1581. WHERE UnionId = @unionId
  1582. ORDER BY ID DESC
  1583. IF NOT EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK) WHERE id = @paMainId)
  1584. BEGIN
  1585. SET @paMainId=null
  1586. END
  1587. IF EXISTS(SELECT 'X' FROM wxSmallPrograminfo WITH(NOLOCK) WHERE openId = @openId)
  1588. UPDATE wxSmallPrograminfo
  1589. SET thirdSessionId=@thirdSessionId,
  1590. paMainId = @paMainId,
  1591. sessionId = @sessionId,
  1592. Adddate = GETDATE(),
  1593. unionId = @unionId
  1594. WHERE openId = @openId
  1595. ELSE
  1596. INSERT INTO wxSmallPrograminfo(thirdSessionId,openId,sessionId,paMainId,unionId,adddate)
  1597. VALUES(@thirdSessionId, @openId, @sessionId, @paMainId,@unionId, GETDATE())
  1598. IF @paMainId != null
  1599. UPDATE wxFans
  1600. SET unionid= @unionId
  1601. WHERE paMainId = @paMainId
  1602. END
  1603. SET NOCOUNT OFF
  1604. GO
  1605. /****** Object: StoredProcedure [dbo].[procwxSmallPrograminfoSelect] Script Date: 2018/12/13 19:12:40 ******/
  1606. SET ANSI_NULLS ON
  1607. GO
  1608. SET QUOTED_IDENTIFIER ON
  1609. GO
  1610. --微信小程序根据thirdsessionid获取用户信息
  1611. --获取信息的同时更新一下关联的pamainid
  1612. --harry 2017-7-19
  1613. CREATE PROCEDURE [dbo].[procwxSmallPrograminfoSelect]
  1614. (
  1615. @thirdSessionId VARCHAR(200)
  1616. )
  1617. AS
  1618. SET NOCOUNT ON
  1619. BEGIN
  1620. DECLARE @paMainId INT
  1621. DECLARE @tmppaMainId INT
  1622. DECLARE @unionId VARCHAR(50)
  1623. SELECT @unionId = unionId, @tmppaMainId=pamainId
  1624. FROM wxSmallPrograminfo WITH(NOLOCK)
  1625. WHERE thirdSessionId = @thirdSessionId
  1626. SELECT @paMainId=PaMainID
  1627. FROM wxFans WITH(NOLOCK)
  1628. WHERE unionId= @unionId
  1629. IF EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK) WHERE id = @paMainId)
  1630. BEGIN
  1631. UPDATE wxSmallPrograminfo
  1632. SET pamainId = @paMainId,
  1633. unionId = @unionId
  1634. WHERE thirdSessionId = @thirdSessionId
  1635. END
  1636. ELSE IF EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK) WHERE id = @tmppaMainId)
  1637. BEGIN
  1638. UPDATE wxSmallPrograminfo
  1639. SET unionId = @unionId
  1640. WHERE thirdSessionId = @thirdSessionId
  1641. END
  1642. ELSE
  1643. BEGIN
  1644. UPDATE wxSmallPrograminfo
  1645. SET unionId = @unionId, pamainId =null
  1646. WHERE thirdSessionId = @thirdSessionId
  1647. END
  1648. SELECT a.*
  1649. FROM wxSmallPrograminfo a WITH(NOLOCK)
  1650. WHERE a.thirdSessionId = @thirdSessionId
  1651. END
  1652. SET NOCOUNT OFF
  1653. GO
  1654. /****** Object: StoredProcedure [dbo].[procwxSmallPrograminfoUpdate] Script Date: 2018/12/13 19:12:41 ******/
  1655. SET ANSI_NULLS ON
  1656. GO
  1657. SET QUOTED_IDENTIFIER ON
  1658. GO
  1659. --微信小程序更新pamainid与unionid
  1660. --harry 2017-7-19
  1661. CREATE PROCEDURE [dbo].[procwxSmallPrograminfoUpdate]
  1662. (
  1663. @thirdSessionId VARCHAR(200),
  1664. @unionId VARCHAR(50),
  1665. @openId VARCHAR(50)
  1666. )
  1667. AS
  1668. SET NOCOUNT ON
  1669. BEGIN
  1670. DECLARE @paMainId INT
  1671. SELECT @paMainId=PaMainID
  1672. FROM wxFans WITH(NOLOCK)
  1673. WHERE unionId = @unionId
  1674. IF ISNULL(@paMainId,0)>0
  1675. BEGIN
  1676. UPDATE wxSmallPrograminfo
  1677. SET pamainId = @paMainId,
  1678. unionId = @unionId
  1679. WHERE thirdSessionId = @thirdSessionId
  1680. AND openId = @openId
  1681. END
  1682. ELSE
  1683. BEGIN
  1684. UPDATE wxSmallPrograminfo
  1685. SET unionId = @unionId
  1686. WHERE thirdSessionId = @thirdSessionId
  1687. AND openId = @openId
  1688. END
  1689. SELECT @paMainId AS paMainId
  1690. END
  1691. SET NOCOUNT OFF
  1692. GO
  1693. /****** Object: StoredProcedure [dbo].[procWxTemplateByIDSelect] Script Date: 2018/12/13 19:12:41 ******/
  1694. SET ANSI_NULLS ON
  1695. GO
  1696. SET QUOTED_IDENTIFIER ON
  1697. GO
  1698. --#####################################################
  1699. --创建时间:2015.01.26
  1700. --创建人:Nick
  1701. --说明:获取微信模板信息
  1702. --#####################################################
  1703. CREATE PROCEDURE [dbo].[procWxTemplateByIDSelect]
  1704. (
  1705. @TemplateID INT
  1706. )
  1707. AS
  1708. BEGIN
  1709. SELECT * FROM WxTemplate WHERE ID = @TemplateID
  1710. SELECT * FROM WxTemplatePara WHERE WxTemplateID = @TemplateID
  1711. END
  1712. GO
  1713. /****** Object: StoredProcedure [dbo].[procWxTemplateNoByWxTemplateIDSelect] Script Date: 2018/12/13 19:12:42 ******/
  1714. SET ANSI_NULLS ON
  1715. GO
  1716. SET QUOTED_IDENTIFIER ON
  1717. GO
  1718. --#####################################################
  1719. --创建时间:2015.01.26
  1720. --创建人:Nick
  1721. --说明:获取微信模板编号信息
  1722. --#####################################################
  1723. CREATE PROCEDURE [dbo].[procWxTemplateNoByWxTemplateIDSelect]
  1724. (
  1725. @TemplateID INT,
  1726. @WxServiceNoID INT
  1727. )
  1728. AS
  1729. BEGIN
  1730. IF @WxServiceNoID <> 0
  1731. BEGIN
  1732. SELECT * FROM WxTemplateNo WHERE WxTemplateID = @TemplateID AND WxServiceNoID = @WxServiceNoID
  1733. END
  1734. ELSE
  1735. BEGIN
  1736. SELECT * FROM WxTemplateNo WHERE WxTemplateID = @TemplateID
  1737. END
  1738. END
  1739. GO
  1740. /****** Object: StoredProcedure [dbo].[ProcZipPlaceSelect] Script Date: 2018/12/13 19:12:42 ******/
  1741. SET ANSI_NULLS ON
  1742. GO
  1743. SET QUOTED_IDENTIFIER ON
  1744. GO
  1745. --#####################################################
  1746. --创建时间:2014.10.31
  1747. --创建人:John
  1748. --说明:获取邮编所在地
  1749. --#####################################################
  1750. CREATE PROCEDURE [dbo].[ProcZipPlaceSelect]
  1751. (
  1752. @Zip VARCHAR(6)
  1753. )
  1754. AS
  1755. BEGIN
  1756. SELECT Top 1 * FROM dcZip WHERE Zip <= @Zip ORDER BY ZIP DESC
  1757. END
  1758. GO
  1759. /****** Object: StoredProcedure [dbo].[prodcIndustryCategoryByCvMainIDSelect] Script Date: 2018/12/13 19:12:42 ******/
  1760. SET ANSI_NULLS ON
  1761. GO
  1762. SET QUOTED_IDENTIFIER ON
  1763. GO
  1764. --#####################################################
  1765. --创建时间:2014.10.31
  1766. --创建人:Nick
  1767. --说明:获取行业的类别匹配度
  1768. --#####################################################
  1769. CREATE PROCEDURE [dbo].[prodcIndustryCategoryByCvMainIDSelect]
  1770. (
  1771. @CvMainID VARCHAR(20)
  1772. )
  1773. AS
  1774. BEGIN TRY
  1775. SELECT STUFF((SELECT ',c'+LTRIM(b.CateGoryId)
  1776. FROM cvIndustry a WITH(NOLOCK),dcIndustryCategory b WITH(NOLOCK)
  1777. WHERE a.dcIndustryid = b.dcIndustryid
  1778. AND cvMainid = @CvMainID FOR XML PATH('')),1,1,'') cvIndustryCategory
  1779. END TRY
  1780. BEGIN CATCH
  1781. RETURN 0
  1782. END CATCH
  1783. GO
  1784. /****** Object: StoredProcedure [dbo].[proDoubanMailByIDUpdate] Script Date: 2018/12/13 19:12:42 ******/
  1785. SET ANSI_NULLS ON
  1786. GO
  1787. SET QUOTED_IDENTIFIER ON
  1788. GO
  1789. --#####################################################
  1790. --创建时间:2014.11.03
  1791. --创建人:Nick
  1792. --说明:修改豆瓣的访问状态
  1793. --#####################################################
  1794. CREATE PROCEDURE [dbo].[proDoubanMailByIDUpdate]
  1795. (
  1796. @ID INT
  1797. )
  1798. AS
  1799. BEGIN TRY
  1800. UPDATE doubanmail SET isclick=1 WHERE id = @ID
  1801. RETURN 1
  1802. END TRY
  1803. BEGIN CATCH
  1804. RETURN 0
  1805. END CATCH
  1806. GO
  1807. /****** Object: StoredProcedure [dbo].[proFpHomepageImageByProvinceIDSelect] Script Date: 2018/12/13 19:12:43 ******/
  1808. SET ANSI_NULLS ON
  1809. GO
  1810. SET QUOTED_IDENTIFIER ON
  1811. GO
  1812. --#####################################################
  1813. --创建时间:2014.11.03
  1814. --创建人:Nick
  1815. --说明:校园招聘的头条图片
  1816. --#####################################################
  1817. CREATE PROCEDURE [dbo].[proFpHomepageImageByProvinceIDSelect]
  1818. (
  1819. @ProvinceID INT,
  1820. @ImgType INT
  1821. )
  1822. AS
  1823. BEGIN TRY
  1824. SELECT TOP 1 imagefile,imagetype,alt
  1825. FROM fpHomepageImage WITH(NOLOCK)
  1826. WHERE dcprovinceid=@ProvinceID
  1827. AND imagetype=@ImgType
  1828. ORDER BY AddDate DESC
  1829. END TRY
  1830. BEGIN CATCH
  1831. RETURN 0
  1832. END CATCH
  1833. GO
  1834. /****** Object: StoredProcedure [dbo].[proJobByCaMainIDSELECT] Script Date: 2018/12/13 19:12:43 ******/
  1835. SET ANSI_NULLS ON
  1836. GO
  1837. SET QUOTED_IDENTIFIER ON
  1838. GO
  1839. --根据微信推送内容获取职位id
  1840. --harry
  1841. --2016-11-21
  1842. CREATE PROCEDURE [dbo].[proJobByCaMainIDSELECT]
  1843. (
  1844. @pushdate CHAR(8),
  1845. @caMainid INT
  1846. )
  1847. AS
  1848. SET NOCOUNT ON
  1849. BEGIN
  1850. SELECT TOP 1 id
  1851. FROM job WITH(NOLOCK)
  1852. WHERE (
  1853. SELECT COUNT(1) FROM CaJobCvMatch WITH(NOLOCK) WHERE jobid=job.id AND Convert(char(8),adddate,112) = @pushdate
  1854. ) >0
  1855. AND camainid= @caMainid ORDER BY refreshdate
  1856. END
  1857. SET NOCOUNT OFF
  1858. GO
  1859. /****** Object: StoredProcedure [dbo].[proLinkByCategorySelect] Script Date: 2018/12/13 19:12:43 ******/
  1860. SET ANSI_NULLS ON
  1861. GO
  1862. SET QUOTED_IDENTIFIER ON
  1863. GO
  1864. --#####################################################
  1865. --创建时间:2014.11.03
  1866. --创建人:Nick
  1867. --说明:取友情链接的数据(County IndexNew)
  1868. --#####################################################
  1869. CREATE PROCEDURE [dbo].[proLinkByCategorySelect]
  1870. (
  1871. @ProvinceID INT,
  1872. @Category INT
  1873. )
  1874. AS
  1875. BEGIN TRY
  1876. SELECT TOP 50 *
  1877. FROM Link
  1878. WHERE Category = @Category
  1879. AND VersionId LIKE '' + ltrim(CONVERT(VARCHAR(6),@ProvinceID)) + '%'
  1880. ORDER BY Id DESC
  1881. END TRY
  1882. BEGIN CATCH
  1883. RETURN 0
  1884. END CATCH
  1885. GO
  1886. /****** Object: StoredProcedure [dbo].[proZhaopinRegionToOurIDSelect] Script Date: 2018/12/13 19:12:43 ******/
  1887. SET ANSI_NULLS ON
  1888. GO
  1889. SET QUOTED_IDENTIFIER ON
  1890. GO
  1891. --#####################################################
  1892. --创建时间:2014.10.31
  1893. --创建人:Nick
  1894. --说明:由地区名称获取地区ID
  1895. --#####################################################
  1896. CREATE PROCEDURE [dbo].[proZhaopinRegionToOurIDSelect]
  1897. (
  1898. @RegionNameFull VARCHAR(20)
  1899. )
  1900. AS
  1901. BEGIN TRY
  1902. SELECT dbo.ZhaopinRegionToOurID(@RegionNameFull) ID
  1903. END TRY
  1904. BEGIN CATCH
  1905. RETURN 0
  1906. END CATCH
  1907. GO
  1908. /****** Object: StoredProcedure [dbo].[pTemp] Script Date: 2018/12/13 19:12:43 ******/
  1909. SET ANSI_NULLS ON
  1910. GO
  1911. SET QUOTED_IDENTIFIER ON
  1912. GO
  1913. CREATE PROCEDURE [dbo].[pTemp]
  1914. (
  1915. @d DATETIME
  1916. )
  1917. AS
  1918. BEGIN
  1919. DECLARE @ManagerUserId SMALLINT, @YearMonth INT, @Cnt INT, @BeginTime VARCHAR(50), @EndTime VARCHAR(50),@BeginDay VARCHAR(50),@EndDay VARCHAR(50)
  1920. DECLARE @All NUMERIC(18, 2), @Local NUMERIC(18, 2),@PaRepeat INT,@CpRepeat INT,@PaMobileNumSum INT,@CpMobileNumSum INT
  1921. IF DAY(@D) >= 26
  1922. BEGIN
  1923. SET @YearMonth = YEAR(DATEADD(m, 1, @D)) * 100 + MONTH(DATEADD(m, 1, @D))
  1924. SET @BeginTime = LTRIM(RTRIM(STR(YEAR(@D)))) + '-' + LTRIM(RTRIM(STR(MONTH(@D)))) + '-26 00:00:00'
  1925. SET @EndTime = LTRIM(RTRIM(STR(YEAR(DATEADD(m, 1, @D))))) + '-' + LTRIM(RTRIM(STR(MONTH(DATEADD(m, 1, @D))))) + '-25 23:59:59'
  1926. SET @BeginDay = LTRIM(RTRIM(STR(YEAR(@D)))) + LTRIM(RTRIM(STR(MONTH(@D)))) + '26'
  1927. SET @EndDay = LTRIM(RTRIM(STR(YEAR(DATEADD(m, 1, @D))))) + LTRIM(RTRIM(STR(MONTH(DATEADD(m, 1, @D))))) + '25'
  1928. END
  1929. ELSE
  1930. BEGIN
  1931. SET @YearMonth = YEAR(@D)*100 + MONTH(@D)
  1932. SET @BeginTime = LTRIM(RTRIM(STR(YEAR(DATEADD(m, -1, @D))))) + '-' + LTRIM(RTRIM(STR(MONTH(DATEADD(m, -1, @D))))) + '-26 00:00:00'
  1933. SET @EndTime = LTRIM(RTRIM(STR(YEAR(@D)))) + '-' + LTRIM(RTRIM(STR(MONTH(@D)))) + '-25 23:59:59'
  1934. SET @BeginDay = LTRIM(RTRIM(STR(YEAR(DATEADD(m, -1, @D))))) + LTRIM(RTRIM(STR(MONTH(DATEADD(m, -1, @D))))) + '26'
  1935. SET @EndDay = LTRIM(RTRIM(STR(YEAR(@D)))) + LTRIM(RTRIM(STR(MONTH(@D)))) + '25'
  1936. END
  1937. IF LEN(@BeginDay) <> 8
  1938. SET @BeginDay = LEFT(@BeginDay,4) + '0' + RIGHT(@BeginDay,3)
  1939. IF LEN(@EndDay) <> 8
  1940. SET @EndDay = LEFT(@EndDay,4) + '0' + RIGHT(@EndDay,3)
  1941. DECLARE ManagerUser_Record CURSOR FOR
  1942. SELECT Id FROM ManagerUser WITH(NOLOCK) WHERE DeptId IN(14, 15, 16, 22, 35)
  1943. FOR READ ONLY
  1944. OPEN ManagerUser_Record FETCH NEXT FROM ManagerUser_Record INTO @ManagerUserId
  1945. WHILE @@FETCH_STATUS = 0
  1946. BEGIN
  1947. print(@YearMonth)
  1948. print(@ManagerUserId)
  1949. -- SELECT @Cnt = COUNT(1) FROM InfoAchieve WITH(NOLOCK) WHERE YearMonth = @YearMonth AND infoManager_Id = @ManagerUserId
  1950. -- IF @Cnt = 0
  1951. -- INSERT INTO InfoAchieve(YearMonth, infoManager_Id) VALUES(@YearMonth, @ManagerUserId)
  1952. SELECT @PaMobileNumSum = ISNULL(SUM(mobilenum),0),@CpMobileNumSum = ISNULL(SUM(cpmobilenum),0)
  1953. FROM info_datereport WITH(NOLOCK)
  1954. WHERE countdate >= @BeginDay
  1955. AND countdate <= @EndDay
  1956. AND infomanager_id = @ManagerUserId
  1957. SELECT @PaRepeat = COUNT(1)
  1958. FROM bsmobilespread WITH(NOLOCK)
  1959. WHERE AddDate BETWEEN @BeginTime AND @EndTime
  1960. AND userType = 1
  1961. AND addman = @ManagerUserId
  1962. AND mobileno IN(
  1963. SELECT a.mobile
  1964. FROM paMain a WITH(NOLOCK),cvMain b WITH(NOLOCK)
  1965. WHERE (registermode = 1 or registermode = 11)
  1966. AND a.ID = b.paMainID
  1967. AND b.valid > 0
  1968. AND AddDate BETWEEN @BeginTime AND @EndTime)
  1969. SELECT @CpRepeat = COUNT(1)
  1970. FROM bsmobilespread WITH(NOLOCK)
  1971. WHERE AddDate BETWEEN @BeginTime AND @EndTime
  1972. AND addman = @ManagerUserId
  1973. AND usertype = 0
  1974. AND mobileno IN(
  1975. SELECT mobile
  1976. FROM caMain a WITH(NOLOCK),cpMain b WITH(NOLOCK)
  1977. WHERE a.cpMainID = b.ID
  1978. AND b.HasLicence = 1
  1979. AND AddDate BETWEEN @BeginTime AND @EndTime)
  1980. UPDATE InfoAchieve
  1981. SET paMobileNumSum = @PaMobileNumSum,
  1982. cpMobileNumSum = @CpMobileNumSum,
  1983. paRepeatNum = @PaRepeat,
  1984. cpRepeatNum = @CpRepeat
  1985. WHERE YearMonth = @YearMonth AND infoManager_Id = @ManagerUserId
  1986. FETCH NEXT FROM ManagerUser_Record INTO @ManagerUserId
  1987. END
  1988. CLOSE ManagerUser_Record
  1989. DEALLOCATE ManagerUser_Record
  1990. END
  1991. GO
  1992. /****** Object: StoredProcedure [dbo].[rmCooperationRecruitmentByProvinceIDSelect] Script Date: 2018/12/13 19:12:44 ******/
  1993. SET ANSI_NULLS ON
  1994. GO
  1995. SET QUOTED_IDENTIFIER ON
  1996. GO
  1997. --#####################################################
  1998. --创建时间:2014.11.3
  1999. --创建人:John
  2000. --说明:随机获取既是合作的场馆又是合作的主办方的招聘会的场次,不显示自动生成的招聘会
  2001. --#####################################################
  2002. CREATE PROCEDURE [dbo].[rmCooperationRecruitmentByProvinceIDSelect]
  2003. (
  2004. @ProvinceID VARCHAR(6),
  2005. @intCount INT
  2006. )
  2007. AS
  2008. BEGIN
  2009. SET @ProvinceID = @ProvinceID + '%'
  2010. SELECT TOP (@intCount) *
  2011. FROM RecruitmentTmp
  2012. WHERE CityId LIKE @ProvinceID
  2013. ORDER BY RandNumber
  2014. END
  2015. GO
  2016. /****** Object: StoredProcedure [dbo].[rmCpAttendByRmIDPaMainIDSelect] Script Date: 2018/12/13 19:12:44 ******/
  2017. SET ANSI_NULLS ON
  2018. GO
  2019. SET QUOTED_IDENTIFIER ON
  2020. GO
  2021. --#####################################################
  2022. --创建时间:2014.11.3
  2023. --创建人:John
  2024. --说明:返回招聘会的参会企业
  2025. --#####################################################
  2026. CREATE PROCEDURE [dbo].[rmCpAttendByRmIDPaMainIDSelect]
  2027. (
  2028. @RecruitmentID INT,
  2029. @paMainId INT
  2030. )
  2031. AS
  2032. BEGIN
  2033. SELECT TOP 500 a.AddDate, a.StatusDate, a.cpMainId, a.RecruitmentID, b.Name, b.Address, c.ID, b.secondid,
  2034. (
  2035. SELECT TOP 1 AddDate
  2036. FROM [MarketDb]..[RmPersonInvitation]
  2037. WHERE paMainId = @paMainId
  2038. AND caMainID=c.ID
  2039. AND RecruitmentID = a.RecruitmentID
  2040. ) AS InviteDate
  2041. FROM [MarketDb]..[RmCompany] a, [MainDb]..[cpMain] b, [MainDb]..[caMain] c
  2042. WHERE a.cpMainId = b.id
  2043. AND a.Status <= 1
  2044. AND b.id = c.cpMainId
  2045. AND c.IsPause = 0
  2046. AND c.IsDelete = 0
  2047. AND c.AccountType = 1
  2048. AND a.RecruitmentID = @RecruitmentID
  2049. ORDER BY a.AddDate DESC
  2050. END
  2051. GO
  2052. /****** Object: StoredProcedure [dbo].[rmCpInvitedByRmIDPaMainIDSelect] Script Date: 2018/12/13 19:12:44 ******/
  2053. SET ANSI_NULLS ON
  2054. GO
  2055. SET QUOTED_IDENTIFIER ON
  2056. GO
  2057. --#####################################################
  2058. --创建时间:2014.11.3
  2059. --创建人:John
  2060. --说明:返回招聘会的受邀企业
  2061. --#####################################################
  2062. CREATE PROCEDURE [dbo].[rmCpInvitedByRmIDPaMainIDSelect]
  2063. (
  2064. @RecruitmentID INT,
  2065. @paMainId INT
  2066. )
  2067. AS
  2068. BEGIN
  2069. SELECT TOP 500 a.RecruitmentID, a.AddDate, b.Name AS JobName, y.name AS companyName, y.address, x.cpMainID, y.SecondId,
  2070. (
  2071. SELECT TOP 1 AddDate
  2072. FROM [MarketDb]..[RmPersonInvitation]
  2073. WHERE RecruitmentID = @RecruitmentID
  2074. AND paMainId = @paMainId
  2075. AND caMainID = a.caMainID
  2076. ) AS myInviteDate
  2077. FROM [MarketDb]..[RmPersonInvitation] a, [MainDb]..[Job] b, [MainDb]..[caMain] x, [MainDb]..[cpMain] y
  2078. WHERE a.JobID = b.id
  2079. AND a.caMainID = x.id
  2080. AND x.cpMainID = y.id
  2081. AND RecruitmentID = @RecruitmentID
  2082. AND x.IsPause = 0
  2083. AND x.IsDelete = 0
  2084. AND x.AccountType = 1
  2085. ORDER BY a.AddDate DESC
  2086. END
  2087. GO
  2088. /****** Object: StoredProcedure [dbo].[rmCpJobByCpMainIDSelect] Script Date: 2018/12/13 19:12:44 ******/
  2089. SET ANSI_NULLS ON
  2090. GO
  2091. SET QUOTED_IDENTIFIER ON
  2092. GO
  2093. --#####################################################
  2094. --创建时间:2014.11.3
  2095. --创建人:John
  2096. --说明:获取企业的招聘职位列表
  2097. --#####################################################
  2098. CREATE PROCEDURE [dbo].[rmCpJobByCpMainIDSelect]
  2099. (
  2100. @cpMainID INT
  2101. )
  2102. AS
  2103. BEGIN
  2104. SELECT a.ID, a.caMainID, a.Name AS jobName, b.Name AS companyName
  2105. FROM [MainDb]..[Job] a, [MainDb]..[cpMain] b
  2106. WHERE a.cpMainID = b.id AND a.IsDelete = 0 AND IssueEND > GETDATE() AND cpMainID = @cpMainID
  2107. ORDER BY a.DisplayNo
  2108. END
  2109. GO
  2110. /****** Object: StoredProcedure [dbo].[rmCpViewLogByRmIDPaMainIDSelect] Script Date: 2018/12/13 19:12:45 ******/
  2111. SET ANSI_NULLS ON
  2112. GO
  2113. SET QUOTED_IDENTIFIER ON
  2114. GO
  2115. --#####################################################
  2116. --创建时间:2014.11.3
  2117. --创建人:John
  2118. --说明:返回招聘会的企业浏览记录
  2119. --#####################################################
  2120. CREATE PROCEDURE [dbo].[rmCpViewLogByRmIDPaMainIDSelect]
  2121. (
  2122. @RecruitmentID INT,
  2123. @paMainId INT
  2124. )
  2125. AS
  2126. BEGIN
  2127. SELECT TOP 500 a.AddDate, a.cpMainId, a.RecruitmentID, b.Name, b.Address, c.ID, b.SecondId,
  2128. (
  2129. SELECT TOP 1 AddDate
  2130. FROM [MarketDb]..[RmPersonInvitation]
  2131. WHERE paMainId = @paMainId
  2132. AND caMainID=c.ID
  2133. AND RecruitmentID = a.RecruitmentID
  2134. ) AS InviteDate
  2135. FROM [MarketDb]..[RmCpViewLog] a, [MainDb]..[cpMain] b,[MainDb]..[caMain] c
  2136. WHERE a.cpMainId = b.id
  2137. AND a.RecruitmentID = @RecruitmentID
  2138. AND b.id = c.cpMainId
  2139. AND c.IsPause = 0
  2140. AND c.IsDelete = 0
  2141. AND c.AccountType=1
  2142. ORDER BY a.AddDate DESC
  2143. END
  2144. GO
  2145. /****** Object: StoredProcedure [dbo].[rmExJobApplyInsert] Script Date: 2018/12/13 19:12:45 ******/
  2146. SET ANSI_NULLS ON
  2147. GO
  2148. SET QUOTED_IDENTIFIER ON
  2149. GO
  2150. CREATE PROCEDURE [dbo].[rmExJobApplyInsert]
  2151. (
  2152. @JobID INT,
  2153. @cvMainID INT,
  2154. @Recruitment INT,
  2155. @paMainID INT
  2156. )
  2157. AS
  2158. INSERT INTO ProcLog SELECT 'rmExJobApplyInsert', @cvMainID, GETDATE()
  2159. BEGIN
  2160. DECLARE @MaxID AS INT, @IsFilter AS BIT, @cpMainId INT
  2161. SELECT @cpMainId = cpMainId FROM Job WITH(NOLOCK) WHERE Id = @JobId
  2162. IF (SELECT COUNT(*)
  2163. FROM exJobApply WITH(NOLOCK)
  2164. WHERE JobID IN(SELECT id FROM Job WITH(NOLOCK)WHERE cpMainId = @cpMainId)
  2165. AND AddDate > GETDATE() - 1
  2166. AND recruitmentid > 0) > 1
  2167. RETURN -1
  2168. SET @IsFilter = dbo.IsJobApplyFilter(@JobID, @cvMainID)
  2169. BEGIN TRY
  2170. /*
  2171. IF EXISTS(SELECT * FROM exJobApply a,Job b
  2172. WHERE a.cvMainID = @cvMainID
  2173. AND a.JobID = b.ID
  2174. AND a.AddDate > GETDATE()-1
  2175. AND b.cpMainID IN(SELECT cpMainID FROM Job WHERE ID = @JobID))
  2176. BEGIN
  2177. SET @MaxID = -1
  2178. END
  2179. ELSE
  2180. */
  2181. BEGIN
  2182. IF EXISTS(SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID) --是否是有效简历
  2183. BEGIN
  2184. IF EXISTS(SELECT ID FROM ExJobApply WITH(NOLOCK)
  2185. WHERE JobID=@JobID AND cvMainID = @cvMainID AND AddDate > GETDATE()-30) --是否在30天申请过
  2186. SET @MaxID = -1
  2187. ELSE
  2188. BEGIN
  2189. IF EXISTS(SELECT ID FROM JOB WITH(NOLOCK) WHERE ID = @JobID AND Valid = 0) --是否是有效职位
  2190. SET @MaxID = 0
  2191. ELSE
  2192. BEGIN
  2193. INSERT INTO ExJobApply(JobID, cvMainID, RecruitmentID, IsFilter)
  2194. VALUES(@JobID, @cvMainID, @Recruitment, @IsFilter)
  2195. SET @MaxID = @@IDENTITY
  2196. UPDATE Job SET ApplyNumber = ApplyNumber + 1 WHERE ID = @JobID
  2197. --Harry Begin
  2198. DECLARE @wxFansId INT
  2199. SELECT @wxFansId = id FROM wxFans WITH(NOLOCK) WHERE paMainId = @paMainId AND [Status] = 2
  2200. IF @wxFansId>0
  2201. BEGIN
  2202. --插入到wxMessageSend表中(6. --企业答复求职者简历)
  2203. INSERT WxMessageSend2(Templatetype, WxFansID, PaMainId, MainTableId, CpMainID, CvMainID, JobId, AddDate)
  2204. SELECT 6, @wxFansId, @paMainId, @MaxID, @cpMainId, @cvMainID, @JobID, GETDATE()
  2205. END
  2206. --Harry End
  2207. END
  2208. END
  2209. END
  2210. END
  2211. END TRY
  2212. BEGIN cATCH
  2213. GOTO ERR
  2214. END CATCH
  2215. RETURN @MaxID
  2216. ENd
  2217. ERR:
  2218. BEGIN
  2219. RETURN -2
  2220. END
  2221. GO
  2222. /****** Object: StoredProcedure [dbo].[rmMyBespeakListByPaMainIDSelect] Script Date: 2018/12/13 19:12:46 ******/
  2223. SET ANSI_NULLS ON
  2224. GO
  2225. SET QUOTED_IDENTIFIER ON
  2226. GO
  2227. --#####################################################
  2228. --创建时间:2014.11.3
  2229. --创建人:John
  2230. --说明:招聘会 我的预约列表
  2231. --修改:harry 2018-4-11
  2232. --增加校园招聘会
  2233. --#####################################################
  2234. CREATE PROCEDURE [dbo].[rmMyBespeakListByPaMainIDSelect]
  2235. (
  2236. @paMainId INT
  2237. )
  2238. AS
  2239. BEGIN
  2240. CREATE TABLE #t
  2241. (
  2242. pamainId INT,
  2243. recruitmentId INT,
  2244. recruitmentName NVARCHAR(200),
  2245. beginDate DATETIME,
  2246. endDate DATETIME,
  2247. PlaceName NVARCHAR(200),
  2248. bmDate DATETIME,
  2249. checkInDateTime DATETIME
  2250. )
  2251. /*SELECT TOP 500 a.paMainID, b.id, b.RecruitmentName, b.BeginDate, c.Description AS cityName, d.PlaceName,
  2252. ( SELECT COUNT(id) FROM [MarketDb]..[RmCompany] WHERE RecruitmentID = b.id AND [Status]<=1 ) AS cpNum,
  2253. ( SELECT COUNT(id) FROM [MarketDb]..[RmPersonInvitation] WHERE RecruitmentID = b.id AND paMainID = @paMainID ) AS myInvitCpNum
  2254. FROM [MarketDb]..[RmPerson] a, [MarketDb]..[Recruitment] b, [MainDb]..[dcRegion] c, [MarketDb]..[RmPlace] d
  2255. WHERE a.RecruitmentID = b.id
  2256. AND b.CityID = c.id
  2257. AND b.RecruitmentPlaceId = d.id
  2258. AND a.paMainID = @paMainID
  2259. ORDER BY a.AddDate DESC*/
  2260. INSERT INTO #t
  2261. SELECT TOP 500 a.paMainID, b.id, b.RecruitmentName, b.BeginDate, b.EndDate, c.PlaceName, a.AddDate AS bmDate, a.checkInDateTime
  2262. FROM [MarketDb]..[RmPerson] a, [MarketDb]..[Recruitment] b, [MarketDb]..[RmPlace] c
  2263. WHERE a.RecruitmentID = b.id
  2264. AND b.RecruitmentPlaceId = c.id
  2265. AND a.paMainID = @paMainID
  2266. ORDER BY a.AddDate DESC
  2267. INSERT INTO #t
  2268. SELECT TOP 500 a.paMainID, b.id*-1, b.Name, b.BeginDate, b.EndDate, (c.Name+ ISNULL(d.Name,'')) AS PlaceName, a.AddDate AS bmDate, a.checkInDateTime
  2269. FROM [MarketDb]..[RmPerson] a, [wutongguoDb]..[RecruitmentSchool] b LEFT JOIN wutongguodb..dcSchoolArea d
  2270. ON b.dcschoolAreaId = d.id ,wutongguodb..dcschool c
  2271. WHERE a.RecruitmentID = (b.id*-1)
  2272. AND a.paMainID = @paMainID
  2273. AND b.dcSchoolId = c.Id
  2274. ORDER BY a.AddDate DESC
  2275. SELECT TOP 500 *
  2276. FROM #t
  2277. ORDER BY CASE WHEN bmDate is NULL THEN checkInDateTime END DESC
  2278. END
  2279. GO
  2280. /****** Object: StoredProcedure [dbo].[rmMyInviteCpByRmIDPaMainIDSelect] Script Date: 2018/12/13 19:12:46 ******/
  2281. SET ANSI_NULLS ON
  2282. GO
  2283. SET QUOTED_IDENTIFIER ON
  2284. GO
  2285. --#####################################################
  2286. --创建时间:2014.11.3
  2287. --创建人:John
  2288. --说明:招聘会 我的邀请企业记录
  2289. --#####################################################
  2290. CREATE PROCEDURE [dbo].[rmMyInviteCpByRmIDPaMainIDSelect]
  2291. (
  2292. @RecruitmentID INT,
  2293. @paMainId INT
  2294. )
  2295. AS
  2296. BEGIN
  2297. SELECT TOP 500 a.RecruitmentID, a.ReplyDate, a.AddDate, a.Status, a.JobID, b.Name AS JobName, x.cpMainID, y.name AS companyName, y.SecondId, b.SecondId enjobid,
  2298. ( SELECT TOP 1 DeskNo FROM [MarketDb]..[RmCompany] WHERE RecruitmentID = a.RecruitmentID AND cpMainID = x.cpMainID ) AS DeskNo
  2299. FROM [MarketDb]..[RmPersonInvitation] a, [MainDb]..[Job] b, [MainDb]..[caMain] x, [MainDb]..[cpMain] y
  2300. WHERE a.caMainID = x.id
  2301. AND x.cpMainID = y.id
  2302. AND a.JobID = b.ID
  2303. AND a.RecruitmentID = @RecruitmentID
  2304. AND a.paMainID = @paMainId
  2305. AND x.IsPause = 0
  2306. AND x.IsDelete = 0
  2307. AND x.AccountType = 1
  2308. ORDER BY a.ReplyDate DESC
  2309. END
  2310. GO
  2311. /****** Object: StoredProcedure [dbo].[rmMyReceivedInvitationByPaMainIDSelect] Script Date: 2018/12/13 19:12:46 ******/
  2312. SET ANSI_NULLS ON
  2313. GO
  2314. SET QUOTED_IDENTIFIER ON
  2315. GO
  2316. --#####################################################
  2317. --创建时间:2014.11.3
  2318. --创建人:John
  2319. --说明:招聘会 我收到的邀请
  2320. --#####################################################
  2321. CREATE PROCEDURE [dbo].[rmMyReceivedInvitationByPaMainIDSelect]
  2322. (
  2323. @paMainId INT
  2324. )
  2325. AS
  2326. BEGIN
  2327. SELECT TOP 500 b.IssueEnd JobEndDate,a.id, a.RecruitmentID, a.JobID, b.SecondId enjobid, b.Name AS JobName, c.linkman, c.Mobile, e.companyName, e.cpMainID, e.DeskNo,
  2328. c.RecruitmentName, c.BeginDate, c.EndDate, d.PlaceName, d.Address, a.Description AS xdcl, a.AddDate, a.Status, a.ReplyDate ,f.secondid
  2329. FROM [MarketDb]..[RmCompanyInvitation] a, [MainDb]..[Job] b, [MarketDb]..[Recruitment] c, [MarketDb]..[RmPlace] d, [MarketDb]..[RmCompany] e, maindb..cpmain f
  2330. WHERE a.JobID = b.id
  2331. AND a.RecruitmentID = c.id
  2332. AND c.RecruitmentPlaceId = d.id
  2333. AND a.RecruitmentID = e.RecruitmentID
  2334. AND e.cpMainid = f.id
  2335. AND a.paMainID = @paMainID
  2336. AND a.caMainID = b.caMainID
  2337. AND e.cpMainID=b.cpMainID
  2338. ORDER BY a.AddDate DESC
  2339. END
  2340. GO
  2341. /****** Object: StoredProcedure [dbo].[rmMyReceivedInvitationNoViewByPaMainIDSelect] Script Date: 2018/12/13 19:12:47 ******/
  2342. SET ANSI_NULLS ON
  2343. GO
  2344. SET QUOTED_IDENTIFIER ON
  2345. GO
  2346. --#####################################################
  2347. --创建时间:2014.11.3
  2348. --创建人:John
  2349. --说明:招聘会 我收到的邀请还未查看的
  2350. --#####################################################
  2351. CREATE PROCEDURE [dbo].[rmMyReceivedInvitationNoViewByPaMainIDSelect]
  2352. (
  2353. @paMainId INT
  2354. )
  2355. AS
  2356. BEGIN
  2357. SELECT TOP 1 a.id, a.RecruitmentID, a.JobID, b.SecondId enjobid, b.Name AS JobName, c.linkman, c.Mobile, e.companyName, e.cpMainID, e.DeskNo,
  2358. c.RecruitmentName, c.BeginDate, c.EndDate, d.PlaceName, d.Address, a.Description AS xdcl, a.AddDate, a.Status, a.ReplyDate, f.secondid
  2359. FROM [MarketDb]..[RmCompanyInvitation] a, [MainDb]..[Job] b,[MarketDb]..[Recruitment] c, [MarketDb]..[RmPlace] d, [MarketDb]..[RmCompany] e, maindb..cpmain f
  2360. WHERE a.JobID = b.id
  2361. AND a.RecruitmentID = c.id
  2362. AND c.RecruitmentPlaceId = d.id
  2363. AND a.RecruitmentID = e.RecruitmentID
  2364. AND e.cpMainid = f.id
  2365. AND a.paMainID = @paMainID
  2366. AND a.caMainID = b.caMainID
  2367. AND e.cpMainID = b.cpMainID
  2368. AND a.ViewDate IS NULL
  2369. AND c.begindate > GETDATE()
  2370. ORDER BY a.AddDate DESC
  2371. END
  2372. GO
  2373. /****** Object: StoredProcedure [dbo].[rmPaFavorateSelect] Script Date: 2018/12/13 19:12:47 ******/
  2374. SET ANSI_NULLS ON
  2375. GO
  2376. SET QUOTED_IDENTIFIER ON
  2377. GO
  2378. --#####################################################
  2379. --创建时间:2014.11.3
  2380. --创建人:John
  2381. --说明:获取职位收藏夹列表
  2382. --#####################################################
  2383. CREATE PROCEDURE [dbo].[rmPaFavorateSelect]
  2384. (
  2385. @StrWhere VARCHAR(500),
  2386. @OrderBy VARCHAR(50)
  2387. )
  2388. AS
  2389. BEGIN
  2390. DECLARE @SQL VARCHAR(2000)
  2391. SET @SQL = 'SELECT a.ID,a.paMainID,a.JobID,a.AddDate,a.Remark,b.Name AS JobName,b.IssueDate,b.IssueEND,b.dcRegionID,b.IsDelete, b.caMainID, b.SecondId,
  2392. c.Name AS cpName,c.ID AS cpID,c.HasLicence,c.IsAgent, c.Membertype, b.dcSalaryID , d.Description AS SalaryCount ,
  2393. ISNULL((SELECT IsOnline FROM caOnline WHERE caMainId =b.caMainID), 0) AS IsOnline
  2394. FROM [MainDb]..[paFavorate] a WITH(NOLOCK)
  2395. Inner Join [MainDb]..[Job] b WITH(NOLOCK) ON a.JobID=b.ID
  2396. Inner Join [MainDb]..[cpMain] c WITH(NOLOCK) ON b.cpMainID=c.ID
  2397. Inner Join [MainDb]..[dcSalary] d WITH(NOLOCK) ON b.dcSalaryID = d.id
  2398. WHERE '
  2399. SET @SQL = @SQL + @StrWhere + ' ORDER BY ' + @OrderBy
  2400. EXEC(@SQL)
  2401. END
  2402. GO
  2403. /****** Object: StoredProcedure [dbo].[rmPaIsAttendRmSelect] Script Date: 2018/12/13 19:12:47 ******/
  2404. SET ANSI_NULLS ON
  2405. GO
  2406. SET QUOTED_IDENTIFIER ON
  2407. GO
  2408. --#####################################################
  2409. --创建时间:2014.11.3
  2410. --创建人:John
  2411. --说明:paMainID 是否参加该场招聘会
  2412. --#####################################################
  2413. CREATE PROCEDURE [dbo].[rmPaIsAttendRmSelect]
  2414. (
  2415. @RecruitmentID INT,
  2416. @paMainId INT
  2417. )
  2418. AS
  2419. BEGIN
  2420. SELECT ID FROM [MarketDb]..[RmPerson] WHERE RecruitmentID = @RecruitmentID AND paMainID = @paMainID
  2421. END
  2422. GO
  2423. /****** Object: StoredProcedure [dbo].[RmPaMainByMobileInsert] Script Date: 2018/12/13 19:12:47 ******/
  2424. SET ANSI_NULLS ON
  2425. GO
  2426. SET QUOTED_IDENTIFIER ON
  2427. GO
  2428. CREATE PROCEDURE [dbo].[RmPaMainByMobileInsert]
  2429. (
  2430. @UserName VARCHAR(50),
  2431. @dcProvinceID SMALLINT,
  2432. @Mobile VARCHAR(20),
  2433. @SubSiteUrl VARCHAR(200)
  2434. )
  2435. AS
  2436. BEGIN
  2437. --判断90天内该手机号有无认证过
  2438. IF EXISTS(SELECT 'X' FROM marketdb..RmInvitationCode WHERE Mobile=@Mobile AND AddDate>GETDATE()-90)
  2439. BEGIN
  2440. INSERT INTO SmsMessageLog(SendMan,Mobile,Msg,MsgType,IsCat) VALUES
  2441. (1,@Mobile,'您在90天内参加过简历认证,不能重复参加',199,0)
  2442. RETURN
  2443. END
  2444. --生成邀请码
  2445. DECLARE @Code VARCHAR(6)
  2446. WHILE 1=1
  2447. BEGIN
  2448. SET @Code=CONVERT(VARCHAR(6),RIGHT(CAST(RAND()*1000000 AS INT),6))
  2449. SET @Code=LEFT(@Code,6)
  2450. IF LEN(@Code) = 5
  2451. SET @Code='0'+@Code
  2452. ELSE IF LEN(@Code) = 4
  2453. SET @Code='00'+@Code
  2454. ELSE IF LEN(@Code) = 3
  2455. SET @Code='000'+@Code
  2456. ELSE IF LEN(@Code) = 2
  2457. SET @Code='0000'+@Code
  2458. IF EXISTS(SELECT 'X' FROM marketdb..RmInvitationCode WHERE Code=@Code)
  2459. CONTINUE
  2460. ELSE
  2461. BREAK
  2462. END
  2463. --生成paMainID
  2464. DECLARE @paMainID INT
  2465. EXEC @paMainID=pcPaMainInsert @UserName,'$2a$08$wCjRdWcKgup74i.L3sk6OOlCAQ/qAPmAWE4ZMzpJL7K85N0.x/WIu',@dcProvinceID,'校园简历短信注册',0,0
  2466. IF @paMainID=-2
  2467. SELECT @paMainID=ID,@UserName=UserName FROM paMain WHERE Email=@UserName
  2468. --插入到RmInvitationCode
  2469. DECLARE @MaxId INT
  2470. INSERT INTO marketdb..RmInvitationCode(Mobile,RmProjectID,Code,paMainID) VALUES(@Mobile,1,@Code,@paMainID)
  2471. SET @MaxId = @@IDENTITY
  2472. --更改paMain的信息
  2473. UPDATE paMain Set Mobile=@Mobile,Password='$2a$08$wCjRdWcKgup74i.L3sk6OOlCAQ/qAPmAWE4ZMzpJL7K85N0.x/WIu'
  2474. WHERE ID=@paMainID
  2475. --发送短信
  2476. DECLARE @Msg VARCHAR(200)
  2477. SET @Msg='用户名'+@UserName+'密码123456邀请码'+@Code+'。请登录'+@SubSiteUrl+'完善简历'
  2478. INSERT INTO SmsMessageLog(SendMan,paMainId,Mobile,Msg,MsgType,IsCat) VALUES
  2479. (1,@paMainID,@Mobile,@Msg,117,0)
  2480. END
  2481. GO
  2482. /****** Object: StoredProcedure [dbo].[rmRecommendCvSelect] Script Date: 2018/12/13 19:12:48 ******/
  2483. SET ANSI_NULLS ON
  2484. GO
  2485. SET QUOTED_IDENTIFIER ON
  2486. GO
  2487. CREATE PROCEDURE [dbo].[rmRecommendCvSelect]
  2488. (
  2489. @RecruitmentID INT
  2490. )
  2491. AS
  2492. BEGIN
  2493. SELECT a.ID cvMainID,d.*,a.Degree,a.dcMajorID,e.FullName AtPlace
  2494. FROM cvMain a WITH(NOLOCK)
  2495. INNER JOIN paMain d WITH(NOLOCK) ON a.paMainID=d.ID
  2496. INNER JOIN marketdb..RmInvitationCode b WITH(NOLOCK) ON a.paMainID=b.paMainID AND b.Valid=1
  2497. INNER JOIN marketdb..RmProject c WITH(NOLOCK) ON b.RmProjectID=c.ID
  2498. INNER JOIN dcRegion e WITH(NOLOCK) ON d.LivePlace=e.ID
  2499. WHERE c.RecruitmentID=@RecruitmentID AND a.Valid=1
  2500. END
  2501. GO
  2502. /****** Object: StoredProcedure [dbo].[rmRecruitmentByCpMainIDSelect] Script Date: 2018/12/13 19:12:48 ******/
  2503. SET ANSI_NULLS ON
  2504. GO
  2505. SET QUOTED_IDENTIFIER ON
  2506. GO
  2507. --#####################################################
  2508. --创建时间:2014.10.30
  2509. --创建人:Nick
  2510. --说明:获取个人会员中心首页的招聘会的数据
  2511. --#####################################################
  2512. CREATE PROCEDURE [dbo].[rmRecruitmentByCpMainIDSelect]
  2513. (
  2514. @ProvinceID VARCHAR(4),
  2515. @cpMainID VARCHAR(20)
  2516. )
  2517. AS
  2518. BEGIN TRY
  2519. SELECT TOP 6 a.ID,RecruitmentName,BeginDate,PlaceName ,
  2520. (
  2521. SELECT TOP 1 ltrim(str(status))+'$$'+isnull(deskno,'test')+'$$'+isnull(CONVERT(varchar,StatusDate,120),'test')
  2522. FROM marketdb..RmCompany
  2523. WHERE RecruitmentID = a.Id
  2524. AND cpMainID = @cpMainID
  2525. ) IsAttend
  2526. From marketdb..Recruitment a WITH(NOLOCK),marketdb..RmPlace b WITH(NOLOCK)
  2527. WHERE RecruitmentPlaceID=b.ID
  2528. AND CityID LIKE @ProvinceID+'%'
  2529. AND EndDate > GetDate()
  2530. AND IsPause=0
  2531. ORDER BY IsCompanyTop DESC,orderby, a.BeginDate
  2532. END TRY
  2533. BEGIN CATCH
  2534. RETURN 0
  2535. END CATCH
  2536. GO
  2537. /****** Object: StoredProcedure [dbo].[rmRecruitmentByIDSelect] Script Date: 2018/12/13 19:12:48 ******/
  2538. SET ANSI_NULLS ON
  2539. GO
  2540. SET QUOTED_IDENTIFIER ON
  2541. GO
  2542. --#####################################################
  2543. --创建时间:2014.11.3
  2544. --创建人:John
  2545. --说明:通过招聘会id获取招聘会详细信息
  2546. --#####################################################
  2547. CREATE PROCEDURE [dbo].[rmRecruitmentByIDSelect]
  2548. (
  2549. @RecruitmentID INT
  2550. )
  2551. AS
  2552. BEGIN
  2553. SELECT a.*, c.PlaceName, c.[Address] ,b.[Description] City, c.MapbarID, c.Lng, c.Lat, c.BusLine, CreditRating,
  2554. 'www.' + ProvinceDomain SiteUrl, d.ID ProvinceID, a.RecruitmentDeptId
  2555. FROM Recruitment a, dcRegion b, RecruitmentPlace c ,dcProvince d, recruitmentdept e
  2556. WHERE e.id = a.recruitmentdeptid
  2557. AND b.ID = c.dcRegionID
  2558. AND a.RecruitmentPlaceId = c.id
  2559. AND d.ID = LEFT(a.CityID,2)
  2560. AND a.ID = @RecruitmentID
  2561. END
  2562. GO
  2563. /****** Object: StoredProcedure [dbo].[rmRecruitmentByIsSchoolUpdate] Script Date: 2018/12/13 19:12:49 ******/
  2564. SET ANSI_NULLS ON
  2565. GO
  2566. SET QUOTED_IDENTIFIER ON
  2567. GO
  2568. CREATE PROCEDURE [dbo].[rmRecruitmentByIsSchoolUpdate]
  2569. (
  2570. @ID INT,
  2571. @IsSchool BIT
  2572. )
  2573. AS
  2574. SET NOCOUNT ON
  2575. UPDATE marketdb..Recruitment SET IsSchool = @IsSchool WHERE ID=@ID
  2576. SET NOCOUNT OFF
  2577. GO
  2578. /****** Object: StoredProcedure [dbo].[rmRecruitmentByPlaceIDAndDateSelect] Script Date: 2018/12/13 19:12:49 ******/
  2579. SET ANSI_NULLS ON
  2580. GO
  2581. SET QUOTED_IDENTIFIER ON
  2582. GO
  2583. --#####################################################
  2584. --创建时间:2014.11.3
  2585. --创建人:John
  2586. --说明:判断当天招聘会是否重复
  2587. --#####################################################
  2588. CREATE PROCEDURE [dbo].[rmRecruitmentByPlaceIDAndDateSelect]
  2589. (
  2590. @PlaceID INT,
  2591. @rmDate1 VARCHAR(20),
  2592. @rmDate2 VARCHAR(20)
  2593. )
  2594. AS
  2595. BEGIN
  2596. SELECT *
  2597. FROM Recruitment WITH(NOLOCK)
  2598. WHERE recruitmentplaceid = @PlaceID
  2599. AND enddate BETWEEN @rmDate1 AND @rmDate2
  2600. AND EXISTS(SELECT 'x' FROM RecruitmentDept WITH(NOLOCK) WHERE id = Recruitment.RecruitmentDeptId)
  2601. END
  2602. GO
  2603. /****** Object: StoredProcedure [dbo].[rmRecruitmentCpMainSelect] Script Date: 2018/12/13 19:12:49 ******/
  2604. SET ANSI_NULLS ON
  2605. GO
  2606. SET QUOTED_IDENTIFIER ON
  2607. GO
  2608. CREATE PROCEDURE [dbo].[rmRecruitmentCpMainSelect]
  2609. (
  2610. @RecruitmentID INT
  2611. )
  2612. AS
  2613. BEGIN
  2614. select a.cpmainid,a.adddate,b.name,c.name caname,b.address,c.mobile,c.telephone from recruitmentcpmain a,cpmain b,camain c where a.cpmainid=b.id and b.id=c.cpmainid and c.AccountType=1 and RecruitmentID=@RecruitmentID ORDER BY a.AddDate DESC
  2615. END
  2616. GO
  2617. /****** Object: StoredProcedure [dbo].[rmRecruitmentDelete] Script Date: 2018/12/13 19:12:49 ******/
  2618. SET ANSI_NULLS ON
  2619. GO
  2620. SET QUOTED_IDENTIFIER ON
  2621. GO
  2622. --#####################################################
  2623. --创建时间:2014.11.3
  2624. --创建人:John
  2625. --说明:删除招聘会信息
  2626. --#####################################################
  2627. CREATE PROCEDURE [dbo].[rmRecruitmentDelete]
  2628. (
  2629. @strID INT,
  2630. @strID2 INT,
  2631. @rmID INT
  2632. )
  2633. AS
  2634. BEGIN
  2635. DELETE FROM recruitment WHERE (id = @strID OR MainID = @strID2) AND recruitmentdeptid = @rmID
  2636. END
  2637. GO
  2638. /****** Object: StoredProcedure [dbo].[RmRecruitmentDeptInsert] Script Date: 2018/12/13 19:12:50 ******/
  2639. SET ANSI_NULLS ON
  2640. GO
  2641. SET QUOTED_IDENTIFIER ON
  2642. GO
  2643. CREATE PROCEDURE [dbo].[RmRecruitmentDeptInsert]
  2644. (
  2645. @Username VARCHAR(20),
  2646. @Password VARCHAR(20),
  2647. @DeptName VARCHAR(100),
  2648. @LinkMan VARCHAR(20),
  2649. @Mobile VARCHAR(11),
  2650. @Email VARCHAR(50),
  2651. @QQ VARCHAR(10),
  2652. @dcProvinceID SMALLINT
  2653. )
  2654. AS
  2655. BEGIN TRY
  2656. SET @Username = dbo.TextTrim(@Username)
  2657. SET @DeptName = dbo.TextTrim(@DeptName)
  2658. SET @LinkMan = dbo.TextTrim(@LinkMan)
  2659. SET @Mobile = dbo.TextTrim(@Mobile)
  2660. SET @Email = dbo.TextTrim(@Email)
  2661. SET @QQ = dbo.TextTrim(@QQ)
  2662. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE Username = @Username)
  2663. RETURN -2
  2664. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE Email = @Email)
  2665. RETURN -3
  2666. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE Mobile = @Mobile)
  2667. RETURN -4
  2668. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE QQ = @QQ)
  2669. RETURN -5
  2670. DECLARE @MaxId AS INT
  2671. INSERT INTO RecruitmentDept(dcProvinceID,Username, Password, DeptName, LinkMan, Mobile, Email, QQ)
  2672. VALUES(@dcProvinceID, @Username, @Password, @DeptName, @LinkMan, @Mobile, @Email, @QQ)
  2673. SET @MaxId = @@IDENTITY
  2674. RETURN @MaxID
  2675. END TRY
  2676. BEGIN CATCH
  2677. RETURN -1
  2678. END CATCH
  2679. GO
  2680. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptIsExist] Script Date: 2018/12/13 19:12:50 ******/
  2681. SET ANSI_NULLS ON
  2682. GO
  2683. SET QUOTED_IDENTIFIER ON
  2684. GO
  2685. CREATE PROCEDURE [dbo].[rmRecruitmentDeptIsExist]
  2686. (
  2687. @Account VARCHAR(100),
  2688. @Type TINYINT,
  2689. @ID INT
  2690. )
  2691. AS
  2692. BEGIN
  2693. IF @ID = 0
  2694. BEGIN
  2695. IF @Type = 1
  2696. BEGIN
  2697. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Username = @Account)
  2698. RETURN 1
  2699. ELSE
  2700. RETURN 0
  2701. END
  2702. IF @Type = 2
  2703. BEGIN
  2704. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE DeptName = @Account)
  2705. RETURN 1
  2706. ELSE
  2707. RETURN 0
  2708. END
  2709. IF @Type = 3
  2710. BEGIN
  2711. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Email = @Account)
  2712. RETURN 1
  2713. ELSE
  2714. RETURN 0
  2715. END
  2716. IF @Type = 4
  2717. BEGIN
  2718. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Mobile = @Account)
  2719. RETURN 1
  2720. ELSE
  2721. RETURN 0
  2722. END
  2723. IF @Type = 5
  2724. BEGIN
  2725. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE QQ = @Account)
  2726. RETURN 1
  2727. ELSE
  2728. RETURN 0
  2729. END
  2730. END
  2731. ELSE
  2732. BEGIN
  2733. IF @Type = 1
  2734. BEGIN
  2735. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Username = @Account AND ID <> @ID)
  2736. RETURN 1
  2737. ELSE
  2738. RETURN 0
  2739. END
  2740. IF @Type = 2
  2741. BEGIN
  2742. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE DeptName = @Account AND ID <> @ID)
  2743. RETURN 1
  2744. ELSE
  2745. RETURN 0
  2746. END
  2747. IF @Type = 3
  2748. BEGIN
  2749. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Email = @Account AND ID <> @ID)
  2750. RETURN 1
  2751. ELSE
  2752. RETURN 0
  2753. END
  2754. IF @Type = 4
  2755. BEGIN
  2756. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE Mobile = @Account AND ID <> @ID)
  2757. RETURN 1
  2758. ELSE
  2759. RETURN 0
  2760. END
  2761. IF @Type = 5
  2762. BEGIN
  2763. IF EXISTS(SELECT ID FROM RecruitmentDept WITH(NOLOCK) WHERE QQ = @Account AND ID <> @ID)
  2764. RETURN 1
  2765. ELSE
  2766. RETURN 0
  2767. END
  2768. END
  2769. END
  2770. GO
  2771. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptPasswordUpdate] Script Date: 2018/12/13 19:12:50 ******/
  2772. SET ANSI_NULLS ON
  2773. GO
  2774. SET QUOTED_IDENTIFIER ON
  2775. GO
  2776. CREATE PROCEDURE [dbo].[rmRecruitmentDeptPasswordUpdate]
  2777. (
  2778. @ID INT,
  2779. @Password VARCHAR(20),
  2780. @Old VARCHAR(20)
  2781. )
  2782. AS
  2783. BEGIN TRY
  2784. IF EXISTS(SELECT 'X' FROM rmDept WHERE ID=@ID)
  2785. BEGIN
  2786. DECLARE @OldPwd AS VARCHAR(20)
  2787. SELECT @OldPwd=Password FROM rmDept WHERE ID=@ID
  2788. IF @Old=@OldPwd
  2789. BEGIN
  2790. UPDATE rmDept SET Password=@Password WHERE ID=@ID
  2791. RETURN 1
  2792. END
  2793. ELSE
  2794. RETURN -1
  2795. END
  2796. ELSE
  2797. RETURN -2
  2798. END TRY
  2799. BEGIN CATCH
  2800. RETURN 0
  2801. END CATCH
  2802. GO
  2803. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptSelectByID] Script Date: 2018/12/13 19:12:51 ******/
  2804. SET ANSI_NULLS ON
  2805. GO
  2806. SET QUOTED_IDENTIFIER ON
  2807. GO
  2808. CREATE PROCEDURE [dbo].[rmRecruitmentDeptSelectByID]
  2809. (
  2810. @ID INT
  2811. )
  2812. AS
  2813. BEGIN
  2814. SELECT * FROM RecruitmentDept WHERE ID=@ID
  2815. END
  2816. GO
  2817. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptSelectByLogin] Script Date: 2018/12/13 19:12:51 ******/
  2818. SET ANSI_NULLS ON
  2819. GO
  2820. SET QUOTED_IDENTIFIER ON
  2821. GO
  2822. CREATE PROCEDURE [dbo].[rmRecruitmentDeptSelectByLogin]
  2823. (
  2824. @Username VARCHAR(20),
  2825. @Password VARCHAR(20)
  2826. )
  2827. AS
  2828. BEGIN
  2829. SELECT * FROM RecruitmentDept WHERE Username=@Username AND Password=@Password AND IsPause=0
  2830. END
  2831. GO
  2832. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptUpdate] Script Date: 2018/12/13 19:12:51 ******/
  2833. SET ANSI_NULLS ON
  2834. GO
  2835. SET QUOTED_IDENTIFIER ON
  2836. GO
  2837. CREATE PROCEDURE [dbo].[rmRecruitmentDeptUpdate]
  2838. (
  2839. @ID INT,
  2840. @DeptName VARCHAR(100),
  2841. @LinkMan VARCHAR(20),
  2842. @Mobile VARCHAR(11),
  2843. @Telephone VARCHAR(20),
  2844. @Fax VARCHAR(20),
  2845. @Email VARCHAR(50),
  2846. @QQ VARCHAR(10),
  2847. @LinkAddress VARCHAR(50),
  2848. @Brief NVARCHAR(2000)
  2849. )
  2850. AS
  2851. BEGIN TRY
  2852. SET @DeptName = dbo.TextTrim(@DeptName)
  2853. SET @LinkMan = dbo.TextTrim(@LinkMan)
  2854. SET @Mobile = dbo.TextTrim(@Mobile)
  2855. SET @Telephone = dbo.TextTrim(@Telephone)
  2856. SET @Fax = dbo.TextTrim(@Fax)
  2857. SET @Email = dbo.TextTrim(@Email)
  2858. SET @QQ = dbo.TextTrim(@QQ)
  2859. SET @LinkAddress = dbo.TextTrim(@LinkAddress)
  2860. SET @Brief = dbo.TextTrim(@Brief)
  2861. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE Email = @Email AND ID <> @ID)
  2862. RETURN -3
  2863. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE Mobile = @Mobile AND ID <> @ID)
  2864. RETURN -4
  2865. IF EXISTS(SELECT 'X' FROM RecruitmentDept WITH(NOLOCK) WHERE QQ = @QQ AND ID <> @ID)
  2866. RETURN -5
  2867. UPDATE RecruitmentDept SET DeptName=@DeptName,LinkMan=@LinkMan,Mobile=@Mobile,Telephone=@Telephone,
  2868. Fax=@Fax,Email=@Email,QQ=@QQ,LinkAddress=@LinkAddress,Brief=@Brief
  2869. WHERE ID=@ID
  2870. --2013-05-13 Peter 添加如果修改联系人信息,联动修改现有的招聘会的联系人信息
  2871. UPDATE Recruitment SET LinkMan=@LinkMan,Mobile=@Mobile,Telephone=@Telephone,
  2872. Fax=@Fax,Email=@Email,QQ=@QQ
  2873. WHERE RecruitmentDeptId=@ID
  2874. RETURN @ID
  2875. END TRY
  2876. BEGIN CATCH
  2877. RETURN -1
  2878. END CATCH
  2879. GO
  2880. /****** Object: StoredProcedure [dbo].[rmRecruitmentDeptUsernameUpdate] Script Date: 2018/12/13 19:12:51 ******/
  2881. SET ANSI_NULLS ON
  2882. GO
  2883. SET QUOTED_IDENTIFIER ON
  2884. GO
  2885. CREATE PROCEDURE [dbo].[rmRecruitmentDeptUsernameUpdate]
  2886. (
  2887. @ID INT,
  2888. @Password VARCHAR(20),
  2889. @Username VARCHAR(20)
  2890. )
  2891. AS
  2892. BEGIN TRY
  2893. IF EXISTS(SELECT 'X' FROM rmDept WHERE ID=@ID)
  2894. BEGIN
  2895. IF NOT EXISTS(SELECT 'X' FROM rmDept WHERE Username=@Username)
  2896. BEGIN
  2897. DECLARE @OldPwd AS VARCHAR(20)
  2898. SELECT @OldPwd=Password FROM rmDept WHERE ID=@ID
  2899. IF @Password=@OldPwd
  2900. BEGIN
  2901. UPDATE rmDept SET Username=@Username WHERE ID=@ID
  2902. RETURN 1
  2903. END
  2904. ELSE
  2905. RETURN -1
  2906. END
  2907. ELSE
  2908. RETURN -2
  2909. END
  2910. ELSE
  2911. RETURN -3
  2912. END TRY
  2913. BEGIN CATCH
  2914. RETURN 0
  2915. END CATCH
  2916. GO
  2917. /****** Object: StoredProcedure [dbo].[rmRecruitmentPaMainSelect] Script Date: 2018/12/13 19:12:52 ******/
  2918. SET ANSI_NULLS ON
  2919. GO
  2920. SET QUOTED_IDENTIFIER ON
  2921. GO
  2922. CREATE PROCEDURE [dbo].[rmRecruitmentPaMainSelect]
  2923. (
  2924. @RecruitmentID INT
  2925. )
  2926. AS
  2927. BEGIN
  2928. SELECT b.BirthDay,a.paMainID,b.Name,b.Gender,a.AddDate,c.FullName AtPlace FROM RecruitmentPaMain a,PaMain b,dcRegion c WHERE a.paMainID=b.ID AND a.RecruitmentID=@RecruitmentID AND b.LivePlace=c.ID ORDER BY a.AddDate DESC
  2929. END
  2930. GO
  2931. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceByRegionIDResumeSelect] Script Date: 2018/12/13 19:12:52 ******/
  2932. SET ANSI_NULLS ON
  2933. GO
  2934. SET QUOTED_IDENTIFIER ON
  2935. GO
  2936. --修改harry 修改ptworktypeid=
  2937. --2018-4-9
  2938. --nick 2013-11-25
  2939. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceByRegionIDResumeSelect]
  2940. (
  2941. @RegionID VARCHAR(6)
  2942. )
  2943. AS
  2944. BEGIN
  2945. SELECT RecruitmentID INTO #t1 FROM MarketDb..ptWorkAppoint
  2946. WHERE ptWorkPriceId IN(select Id from MarketDb..ptworkprice where ptworktypeid IN(51,92))
  2947. AND StartDate > GETDATE() - 90
  2948. AND ValidNumber > 0
  2949. SELECT DISTINCT c.Id, c.PlaceName
  2950. FROM #t1 a,
  2951. RecruitMent b,
  2952. RecruitmentPlace c
  2953. WHERE a.Recruitmentid = b.Id
  2954. AND b.RecruitmentPlaceId = c.Id
  2955. AND c.dcRegionId LIKE @RegionID + '%'
  2956. END
  2957. GO
  2958. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceByRegionIDResumeSelect0630] Script Date: 2018/12/13 19:12:52 ******/
  2959. SET ANSI_NULLS ON
  2960. GO
  2961. SET QUOTED_IDENTIFIER ON
  2962. GO
  2963. --nick 2013-11-25
  2964. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceByRegionIDResumeSelect0630]
  2965. (
  2966. @RegionID VARCHAR(6)
  2967. )
  2968. AS
  2969. BEGIN
  2970. SELECT DISTINCT RmProjectID INTO #t1
  2971. FROM marketdb..RmInvitationCode
  2972. WHERE AddDate>GETDATE()-90 AND Valid = 1
  2973. SELECT ID,RecruitmentPlaceId INTO #t2
  2974. FROM Recruitment
  2975. WHERE CityID LIKE @RegionID+'%'
  2976. SELECT ID,PlaceName
  2977. FROM RecruitmentPlace e,(
  2978. SELECT d.id placeid
  2979. FROM #t1 a,
  2980. marketdb..RmProject b ,#t2 c ,RecruitmentPlace d
  2981. WHERE a.RmProjectID=b.ID
  2982. AND b.RecruitmentID = c.ID
  2983. AND c.RecruitmentPlaceId = d.ID and d.dcRegionID LIKE @RegionID+'%'
  2984. GROUP BY d.id
  2985. ) f
  2986. WHERE e.ID=f.Placeid
  2987. AND LEN(e.VerifyMan)>0 AND e.IsCampus=0
  2988. AND (e.isBreak<>1 OR e.isBreak IS NULL)
  2989. ORDER BY e.dcRegionID,e.PlaceName
  2990. END
  2991. GO
  2992. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceByRegionIDSelect] Script Date: 2018/12/13 19:12:52 ******/
  2993. SET ANSI_NULLS ON
  2994. GO
  2995. SET QUOTED_IDENTIFIER ON
  2996. GO
  2997. --修改:harry2018-4-16
  2998. --增加学校显示
  2999. --rmRecruitmentPlaceByRegionIDSelect 3201
  3000. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceByRegionIDSelect]
  3001. (
  3002. @RegionID VARCHAR(6)
  3003. )
  3004. AS
  3005. BEGIN
  3006. /*SELECT *
  3007. FROM SynRecruitmentPlaceTmp WITH(NOLOCK)
  3008. WHERE dcRegionId LIKE @RegionID + '%'
  3009. ORDER BY PlaceName*/
  3010. CREATE TABLE #t
  3011. (
  3012. id INT,
  3013. placeName NVARCHAR(100),
  3014. lng CHAR(20),
  3015. lat CHAR(20),
  3016. Address NVARCHAR(100),
  3017. BusLine NVARCHAR(2000)
  3018. )
  3019. INSERT INTO #t
  3020. SELECT Id,placeName,lng, lat, Address, BusLine
  3021. FROM SynRecruitmentPlaceTmp WITH(NOLOCK)
  3022. WHERE dcRegionId LIKE Convert(varchar(6),@RegionID) + '%'
  3023. INSERT INTO #t
  3024. SELECT b.id*-1, b.Name+ISNULL(c.Name,''), CASE WHEN ISNULL(a.dcSchoolAreaId,0) =0 THEN b.lng ELSE c.Lng END AS lng,
  3025. CASE WHEN ISNULL(a.dcSchoolAreaId,0) =0 THEN b.lat ELSE c.lat END AS lat, CASE WHEN ISNULL(a.dcSchoolAreaId,0)=0 THEN b.address ELSE c.address END AS address,''AS busline
  3026. FROM marketdb..rmDept d WITH(NOLOCK)
  3027. LEFT JOIN (SELECT DISTINCT dcSchoolId, dcSchoolAreaId,recruitmentDeptId FROm wutongguodb..recruitmentSchool GROUP BY dcSchoolId,dcSchoolAreaId,recruitmentDeptId)AS a
  3028. ON d.Id =a.recruitmentDeptId
  3029. LEFT JOIN wutongguodb..dcSchool b WITH(NOLOCK)
  3030. ON a.dcSchoolId=b.Id
  3031. LEFT JOIN wutongguodb..dcSchoolArea c WITH(NOLOCK)
  3032. ON a.dcSchoolAreaId = c.Id
  3033. WHERE d.isSchool =1 AND a.RecruitmentDeptid= d.ID
  3034. AND b.dcRegionId LIKE Convert(varchar(6),@RegionID) + '%'
  3035. SELECT * FROM #t
  3036. drop table #t
  3037. END
  3038. GO
  3039. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceNameByIDSelect] Script Date: 2018/12/13 19:12:53 ******/
  3040. SET ANSI_NULLS ON
  3041. GO
  3042. SET QUOTED_IDENTIFIER ON
  3043. GO
  3044. --#####################################################
  3045. --创建时间:2014.11.3
  3046. --创建人:John
  3047. --说明:根据场馆ID得到场馆名字
  3048. --#####################################################
  3049. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceNameByIDSelect]
  3050. (
  3051. @PlaceID INT
  3052. )
  3053. AS
  3054. BEGIN
  3055. SELECT PlaceName FROM RecruitmentPlace WHERE ID = @PlaceID
  3056. END
  3057. GO
  3058. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceSave] Script Date: 2018/12/13 19:12:53 ******/
  3059. SET ANSI_NULLS ON
  3060. GO
  3061. SET QUOTED_IDENTIFIER ON
  3062. GO
  3063. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceSave]
  3064. (
  3065. @RegionID VARCHAR(6),
  3066. @PlaceName NVARCHAR(50)
  3067. )
  3068. AS
  3069. BEGIN TRY
  3070. DECLARE @MaxID AS INT
  3071. INSERT INTO RecruitmentPlace(dcRegionID,PlaceName) VALUES(@RegionID,@PlaceName)
  3072. SET @MaxId = @@IDENTITY
  3073. RETURN @MaxId
  3074. END TRY
  3075. BEGIN CATCH
  3076. RETURN 0
  3077. END CATCH
  3078. GO
  3079. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceSelectByID] Script Date: 2018/12/13 19:12:53 ******/
  3080. SET ANSI_NULLS ON
  3081. GO
  3082. SET QUOTED_IDENTIFIER ON
  3083. GO
  3084. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceSelectByID]
  3085. (
  3086. @ID INT
  3087. )
  3088. AS
  3089. BEGIN
  3090. SELECT * FROM RecruitmentPlace WHERE ID=@ID
  3091. END
  3092. GO
  3093. /****** Object: StoredProcedure [dbo].[rmRecruitmentPlaceSelectByRegionID] Script Date: 2018/12/13 19:12:53 ******/
  3094. SET ANSI_NULLS ON
  3095. GO
  3096. SET QUOTED_IDENTIFIER ON
  3097. GO
  3098. CREATE PROCEDURE [dbo].[rmRecruitmentPlaceSelectByRegionID]
  3099. (
  3100. @RegionID VARCHAR(6)
  3101. )
  3102. AS
  3103. BEGIN
  3104. SELECT * FROM marketdb..RmPlace
  3105. WHERE dcRegionID like @RegionID + '%'
  3106. AND LEN(VerifyMan) > 0
  3107. AND IsCampus = 0
  3108. AND (isBreak<>1 or isBreak is null)
  3109. END
  3110. GO
  3111. /****** Object: StoredProcedure [dbo].[rmRecruitmentProvinceScriptSelect] Script Date: 2018/12/13 19:12:54 ******/
  3112. SET ANSI_NULLS ON
  3113. GO
  3114. SET QUOTED_IDENTIFIER ON
  3115. GO
  3116. --#####################################################
  3117. --创建时间:2014.11.3
  3118. --创建人:John
  3119. --说明:获取招聘会的那个Script
  3120. --#####################################################
  3121. CREATE PROCEDURE [dbo].[rmRecruitmentProvinceScriptSelect]
  3122. (
  3123. @ProvinceID INT
  3124. )
  3125. AS
  3126. BEGIN
  3127. SELECT ID, ProvinceName, ProvinceDomain
  3128. FROM dcprovince
  3129. ORDER BY
  3130. CASE id
  3131. WHEN @ProvinceID THEN 1
  3132. WHEN 32 THEN 2
  3133. WHEN 10 THEN 3
  3134. WHEN 30 THEN 4
  3135. WHEN 12 THEN 5
  3136. WHEN 11 THEN 6
  3137. WHEN 72 THEN 7
  3138. WHEN 31 THEN 8
  3139. WHEN 35 THEN 9
  3140. WHEN 64 THEN 1000
  3141. WHEN 81 THEN 1001
  3142. ELSE id
  3143. END
  3144. END
  3145. GO
  3146. /****** Object: StoredProcedure [dbo].[rmRecruitmentRecordByRmIDSelect] Script Date: 2018/12/13 19:12:54 ******/
  3147. SET ANSI_NULLS ON
  3148. GO
  3149. SET QUOTED_IDENTIFIER ON
  3150. GO
  3151. --#####################################################
  3152. --创建时间:2014.11.3
  3153. --创建人:John
  3154. --说明:取招聘会标题信息
  3155. --#####################################################
  3156. CREATE PROCEDURE [dbo].[rmRecruitmentRecordByRmIDSelect]
  3157. (
  3158. @RecruitmentID INT
  3159. )
  3160. AS
  3161. BEGIN
  3162. SELECT TOP 1 a.RecruitmentName,a.BeginDate, a.RecruitmentPlaceId, b.PlaceName
  3163. FROM [MarketDb]..[Recruitment] a, [MarketDb]..[RmPlace] b
  3164. WHERE a.RecruitmentPlaceId = b.Id AND a.Id = @RecruitmentID
  3165. END
  3166. GO
  3167. /****** Object: StoredProcedure [dbo].[rmRecruitmentSave] Script Date: 2018/12/13 19:12:54 ******/
  3168. SET ANSI_NULLS ON
  3169. GO
  3170. SET QUOTED_IDENTIFIER ON
  3171. GO
  3172. CREATE PROCEDURE [dbo].[rmRecruitmentSave]
  3173. (
  3174. @ID INT,
  3175. @RecruitmentDeptId INT,
  3176. @RecruitmentName NVARCHAR(100),
  3177. @BeginDate SMALLDATETIME,
  3178. @EndDate SMALLDATETIME,
  3179. @CityID VARCHAR(4),
  3180. @RecruitmentPlaceId INT,
  3181. @LinkMan NVARCHAR(20),
  3182. @Mobile VARCHAR(11),
  3183. @Telephone VARCHAR(20),
  3184. @Fax VARCHAR(20),
  3185. @Email VARCHAR(50),
  3186. @QQ VARCHAR(10),
  3187. @Brief NVARCHAR(2000),
  3188. @ManageruserID INT
  3189. )
  3190. AS
  3191. BEGIN TRY
  3192. DECLARE @MaxId AS INT
  3193. DECLARE @RmNameA AS NVARCHAR(100)
  3194. DECLARE @RmNameB AS NVARCHAR(100)
  3195. DECLARE @RmNameC AS NVARCHAR(100)
  3196. DECLARE @RmNameD AS NVARCHAR(100)
  3197. DECLARE @CityName AS NVARCHAR(100)
  3198. DECLARE @PlaceName AS NVARCHAR(100)
  3199. SET @RecruitmentName = dbo.TextTrim(@RecruitmentName)
  3200. SET @CityID = dbo.TextTrim(@CityID)
  3201. SET @LinkMan = dbo.TextTrim(@LinkMan)
  3202. SET @Mobile = dbo.TextTrim(@Mobile)
  3203. SET @Telephone = dbo.TextTrim(@Telephone)
  3204. SET @Fax = dbo.TextTrim(@Fax)
  3205. SET @Email = dbo.TextTrim(@Email)
  3206. SET @QQ = dbo.TextTrim(@QQ)
  3207. SET @Brief = dbo.TextTrim(@Brief)
  3208. IF @ID = 0
  3209. BEGIN
  3210. IF @ManageruserID = 0
  3211. BEGIN
  3212. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief)
  3213. VALUES(@RecruitmentDeptId,@RecruitmentName,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief)
  3214. SET @MaxId = @@IDENTITY
  3215. END
  3216. ELSE
  3217. BEGIN
  3218. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,ManageruserID)
  3219. VALUES(@RecruitmentDeptId,@RecruitmentName,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@ManageruserID)
  3220. SET @MaxId = @@IDENTITY
  3221. END
  3222. -- Max 2013-06-03 添加两个别名招聘会
  3223. SELECT @PlaceName = PlaceName FROM RecruitmentPlace WHERE ID = @RecruitmentPlaceId
  3224. SELECT @CityName = Description FROM DcRegion WHERE ID = @CityID
  3225. -- 组合名称
  3226. SELECT @RmNameA = CONVERT(NVARCHAR(2),DATEPART(m,@BeginDate)) + '月' + CONVERT(NVARCHAR(2),DATEPART(d,@BeginDate))+ '日' + @PlaceName + '招聘会'
  3227. SELECT @RmNameB = CONVERT(NVARCHAR(2),DATEPART(m,@BeginDate)) + '月' + CONVERT(NVARCHAR(2),DATEPART(d,@BeginDate))+ '日' + @CityName + '人才招聘会(' + @PlaceName + ')'
  3228. SELECT @RmNameC = CONVERT(NVARCHAR(2),DATEPART(m,@BeginDate)) + '月' + CONVERT(NVARCHAR(2),DATEPART(d,@BeginDate))+ '日' + @PlaceName + '交流会'
  3229. SELECT @RmNameD = CONVERT(NVARCHAR(2),DATEPART(m,@BeginDate)) + '月' + CONVERT(NVARCHAR(2),DATEPART(d,@BeginDate))+ '日' + @CityName + '人才交流会(' + @PlaceName + ')'
  3230. /*
  3231. -- 插入表 orderby 为500
  3232. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3233. VALUES(@RecruitmentDeptId,@RmNameA,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,500,500,1)
  3234. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3235. VALUES(@RecruitmentDeptId,@RmNameA,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,501,501,1)
  3236. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3237. VALUES(@RecruitmentDeptId,@RmNameB,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,500,500,1)
  3238. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3239. VALUES(@RecruitmentDeptId,@RmNameB,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,501,501,1)
  3240. -- 插入表 orderby 为502
  3241. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3242. VALUES(@RecruitmentDeptId,@RmNameC,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,502,502,1)
  3243. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3244. VALUES(@RecruitmentDeptId,@RmNameC,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,501,501,1)
  3245. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3246. VALUES(@RecruitmentDeptId,@RmNameD,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,502,502,1)
  3247. INSERT INTO Recruitment(RecruitmentDeptId,RecruitmentName,BeginDate,EndDate,CityID,RecruitmentPlaceId,LinkMan,Mobile,Telephone,Fax,Email,QQ,Brief,MainID,OrderBy,InnerOrderby,IsPause)
  3248. VALUES(@RecruitmentDeptId,@RmNameD,@BeginDate,@EndDate,@CityID,@RecruitmentPlaceId,@LinkMan,@Mobile,@Telephone,@Fax,@Email,@QQ,@Brief,@MaxId,501,501,1)
  3249. */
  3250. END
  3251. ELSE
  3252. BEGIN
  3253. IF @ManageruserID = 0
  3254. BEGIN
  3255. UPDATE Recruitment SET
  3256. BeginDate=@BeginDate,EndDate=@EndDate,
  3257. CityID=@CityID,RecruitmentPlaceId=@RecruitmentPlaceId,
  3258. LinkMan=@LinkMan,Mobile=@Mobile,
  3259. Telephone=@Telephone,Fax=@Fax,
  3260. Email=@Email,QQ=@QQ,Brief=@Brief,ManageruserID=NULL
  3261. WHERE MainID = @ID
  3262. -- Max 2013-06-03 加入,与主表联动更改
  3263. OR ID = @ID
  3264. SET @MaxId = @ID
  3265. END
  3266. ELSE
  3267. BEGIN
  3268. UPDATE Recruitment SET
  3269. BeginDate=@BeginDate,EndDate=@EndDate,
  3270. CityID=@CityID,RecruitmentPlaceId=@RecruitmentPlaceId,
  3271. LinkMan=@LinkMan,Mobile=@Mobile,
  3272. Telephone=@Telephone,Fax=@Fax,
  3273. Email=@Email,QQ=@QQ,Brief=@Brief,ManageruserID=@ManageruserID
  3274. WHERE MainID = @ID
  3275. -- Max 2013-06-03 加入,与主表联动更改
  3276. OR ID = @ID
  3277. SET @MaxId = @ID
  3278. END
  3279. UPDATE Recruitment SET RecruitmentName=@RecruitmentName WHERE ID = @ID
  3280. END
  3281. RETURN @MaxId
  3282. END TRY
  3283. BEGIN CATCH
  3284. RETURN -1
  3285. END CATCH
  3286. GO
  3287. /****** Object: StoredProcedure [dbo].[rmRecruitmentSelect] Script Date: 2018/12/13 19:12:54 ******/
  3288. SET ANSI_NULLS ON
  3289. GO
  3290. SET QUOTED_IDENTIFIER ON
  3291. GO
  3292. CREATE PROCEDURE [dbo].[rmRecruitmentSelect]
  3293. (
  3294. @strWhere VARCHAR(1000)
  3295. )
  3296. AS
  3297. BEGIN
  3298. DECLARE @SQL AS VARCHAR(MAX)
  3299. SET @SQL = 'Select a.ID,a.*,b.Description City,c.* From Recruitment a,
  3300. dcRegion b,RecruitmentPlace c
  3301. Where a.RecruitmentPlaceId=c.id and a.CityID=b.ID and ispause=0'
  3302. IF LEN(@strWhere) > 0
  3303. SET @SQL = @SQL + dbo.SafeSql(@strWhere)
  3304. EXEC(@SQL)
  3305. END
  3306. GO
  3307. /****** Object: StoredProcedure [dbo].[rmRecruitmentSelectByDeptID] Script Date: 2018/12/13 19:12:55 ******/
  3308. SET ANSI_NULLS ON
  3309. GO
  3310. SET QUOTED_IDENTIFIER ON
  3311. GO
  3312. CREATE PROCEDURE [dbo].[rmRecruitmentSelectByDeptID]
  3313. (
  3314. @Where VARCHAR(300)
  3315. )
  3316. AS
  3317. BEGIN
  3318. DECLARE @SQL AS VARCHAR(2000)
  3319. SET @SQL = 'SELECT a.*,b.IsMainSite,b.SubSiteUrl,b.EmailSite FROM Recruitment a,dcSubSite b WHERE a.IsPause=0 AND b.ID=Left(a.CityID,2)'
  3320. SET @SQL = @SQL + dbo.SafeSql(@Where)
  3321. EXEC(@SQL)
  3322. END
  3323. GO
  3324. /****** Object: StoredProcedure [dbo].[rmRecruitmentSelectByID] Script Date: 2018/12/13 19:12:55 ******/
  3325. SET ANSI_NULLS ON
  3326. GO
  3327. SET QUOTED_IDENTIFIER ON
  3328. GO
  3329. CREATE PROCEDURE [dbo].[rmRecruitmentSelectByID]
  3330. (
  3331. @ID INT,
  3332. @rmID INT
  3333. )
  3334. AS
  3335. BEGIN
  3336. SELECT * FROM Recruitment WHERE ID=@ID AND RecruitmentDeptID=@rmID
  3337. END
  3338. GO
  3339. /****** Object: StoredProcedure [dbo].[rmRmCompanyInvitationPaReplyUpdate] Script Date: 2018/12/13 19:12:55 ******/
  3340. SET ANSI_NULLS ON
  3341. GO
  3342. SET QUOTED_IDENTIFIER ON
  3343. GO
  3344. --#####################################################
  3345. --创建时间:2014.11.3
  3346. --创建人:John
  3347. --说明:修改个人答复企业的邀请结果
  3348. --#####################################################
  3349. CREATE PROCEDURE [dbo].[rmRmCompanyInvitationPaReplyUpdate]
  3350. (
  3351. @flag INT,
  3352. @id INT
  3353. )
  3354. AS
  3355. BEGIN
  3356. UPDATE [MarketDb]..[RmCompanyInvitation] SET [Status] = @flag, [ReplyDate] = GETDATE() WHERE id = @id
  3357. END
  3358. GO
  3359. /****** Object: StoredProcedure [dbo].[rmRmInvitationCodeByPaMainIDSelect] Script Date: 2018/12/13 19:12:55 ******/
  3360. SET ANSI_NULLS ON
  3361. GO
  3362. SET QUOTED_IDENTIFIER ON
  3363. GO
  3364. --#####################################################
  3365. --创建时间:2014.11.03
  3366. --创建人:Nick
  3367. --说明:
  3368. --#####################################################
  3369. CREATE PROCEDURE [dbo].[rmRmInvitationCodeByPaMainIDSelect]
  3370. (
  3371. @paMainID INT
  3372. )
  3373. AS
  3374. BEGIN TRY
  3375. SELECT b.BeginDate,b.RecruitmentName
  3376. FROM marketdb..RmInvitationCode a WITH(NOLOCK),recruitment b WITH(NOLOCK),
  3377. marketdb..RmProject c WITH(NOLOCK)
  3378. WHERE c.ID=a.rmProjectID
  3379. AND c.recruitmentid=b.id
  3380. AND a.pamainid=@paMainID
  3381. AND a.valid=1
  3382. AND a.adddate>getdate()-30
  3383. END TRY
  3384. BEGIN CATCH
  3385. RETURN 0
  3386. END CATCH
  3387. GO
  3388. /****** Object: StoredProcedure [dbo].[rmRmPaViewLogTopSelect] Script Date: 2018/12/13 19:12:56 ******/
  3389. SET ANSI_NULLS ON
  3390. GO
  3391. SET QUOTED_IDENTIFIER ON
  3392. GO
  3393. CREATE PROCEDURE [dbo].[rmRmPaViewLogTopSelect]
  3394. @WHERE VARCHAR(1000),
  3395. @cpMainID INT
  3396. AS
  3397. BEGIN
  3398. --BEGIN TRY
  3399. CREATE TABLE #t(
  3400. paMainID INT,
  3401. cvmainid INT,
  3402. RecruitmentID INT,
  3403. Name NVARCHAR(10),
  3404. JobName NVARCHAR(50),
  3405. AddDate SMALLDATETIME,
  3406. Degree NVARCHAR(10),
  3407. RelatedWorkYears TINYINT,
  3408. LivePlace NVARCHAR(20) COLLATE Chinese_PRC_CI_AS,
  3409. Gender BIT,
  3410. paName NVARCHAR(20),
  3411. BirthDay INT,
  3412. HasPhoto TINYINT,
  3413. Attachment VARCHAR(50) COLLATE Chinese_PRC_CI_AS,
  3414. IsNameHidden BIT,
  3415. Valid TINYINT,
  3416. BeginDate SMALLDATETIME,
  3417. PlaceID INT,
  3418. PlaceName NVARCHAR(100),
  3419. InvitationDate SMALLDATETIME
  3420. )
  3421. DECLARE @SQL AS VARCHAR(2000)
  3422. IF @cpMainID>0
  3423. BEGIN
  3424. SET @SQL='
  3425. INSERT INTO #t(paMainID,cvMainID,RecruitmentID,Name,JobName,AddDate,BeginDate,PlaceID,PlaceName,InvitationDate)
  3426. SELECT TOP 10
  3427. c.ID,d.ID,b.ID,c.Name,d.jobname,a.AddDate,b.BeginDate,e.ID,e.PlaceName,
  3428. (SELECT top 1 AddDate FROM RmCompanyInvitation WITH(NOLOCK) WHERE RecruitmentID=b.id and pamainid=c.id and caMainID IN (SELECT id FROM caMain WITH(NOLOCK) WHERE cpMainID='+LTRIM(STR(@cpMainID))+'))
  3429. From RmPaViewLog a WITH(NOLOCK)
  3430. INNER JOIN recruitment b WITH(NOLOCK) ON a.recruitmentid=b.id
  3431. INNER JOIN paMain c WITH(NOLOCK) ON c.ID=a.paMainID
  3432. INNER JOIN cvMain d WITH(NOLOCK) ON d.paMainID=c.ID
  3433. INNER JOIN rmplace e WITH(NOLOCK) ON b.recruitmentplaceid=e.id
  3434. '
  3435. END
  3436. ELSE
  3437. BEGIN
  3438. SET @SQL='
  3439. INSERT INTO #t(paMainID,cvMainID,RecruitmentID,Name,JobName,AddDate,BeginDate,PlaceID,PlaceName)
  3440. SELECT top 10
  3441. c.ID,d.ID,b.ID,c.Name,d.jobname,a.AddDate,b.BeginDate,e.ID,e.PlaceName
  3442. From RmPaViewLog a WITH(NOLOCK)
  3443. INNER JOIN recruitment b WITH(NOLOCK) ON a.recruitmentid=b.id
  3444. INNER JOIN paMain c WITH(NOLOCK) ON c.ID=a.paMainID
  3445. INNER JOIN cvMain d WITH(NOLOCK) ON d.paMainID=c.ID
  3446. INNER JOIN rmplace e WITH(NOLOCK) ON b.recruitmentplaceid=e.id
  3447. '
  3448. END
  3449. SET @SQL=@SQL + '
  3450. WHERE 1=1 '
  3451. IF LEN(@WHERE)>0
  3452. SET @SQL=@SQL + dbo.SafeSql(@WHERE)
  3453. --PRINT @sql
  3454. EXEC(@SQL)
  3455. UPDATE #t SET RelatedWorkYears = a.RelatedWorkYears,Attachment = a.Attachment,
  3456. IsNameHidden = a.IsNameHidden,LivePlace = c.description,Gender = b.Gender,
  3457. BirthDay = b.BirthDay,HasPhoto = b.HasPhoto,Valid = a.Valid,Degree=d.Description
  3458. FROM cvMain a WITH(NOLOCK)
  3459. INNER JOIN paMain b WITH(NOLOCK) ON a.paMainID = b.ID
  3460. INNER JOIN dcregion c WITH(NOLOCK) ON b.liveplace=c.id
  3461. INNER JOIN dceducation d WITH(NOLOCK) ON a.Degree=d.id
  3462. WHERE a.ID = #t.cvMainID
  3463. IF @cpMainID>0
  3464. BEGIN
  3465. UPDATE #t SET jobname= LEFT(maindb.dbo.GetPersonName(cvMainID, @cpMainID), 20)
  3466. END
  3467. SELECT * FROM #t WITH(NOLOCK) ORDER BY AddDate DESC
  3468. DROP TABLE #t
  3469. -- END TRY
  3470. -- BEGIN CATCH
  3471. --
  3472. -- DROP TABLE #t
  3473. -- END CATCH
  3474. END
  3475. GO
  3476. /****** Object: StoredProcedure [dbo].[rmRmPersonInvitationBatchInsert] Script Date: 2018/12/13 19:12:56 ******/
  3477. SET ANSI_NULLS ON
  3478. GO
  3479. SET QUOTED_IDENTIFIER ON
  3480. GO
  3481. --#####################################################
  3482. --创建时间:2014.11.3
  3483. --创建人:John
  3484. --说明:个人批量邀请企业参会
  3485. --#####################################################
  3486. CREATE PROCEDURE [dbo].[rmRmPersonInvitationBatchInsert]
  3487. (
  3488. @StrColumns VARCHAR(100),
  3489. @StrValues VARCHAR(500)
  3490. )
  3491. AS
  3492. BEGIN
  3493. DECLARE @SQL VARCHAR(1000)
  3494. SET @SQL = 'INSERT INTO [MarketDb]..[RmPersonInvitation] ' + @StrColumns + ' VALUES ' + @StrValues
  3495. PRINT(@SQL)
  3496. EXEC(@SQL)
  3497. END
  3498. GO
  3499. /****** Object: StoredProcedure [dbo].[rmRmPlaceByBeginDateSelect] Script Date: 2018/12/13 19:12:56 ******/
  3500. SET ANSI_NULLS ON
  3501. GO
  3502. SET QUOTED_IDENTIFIER ON
  3503. GO
  3504. --#####################################################
  3505. --创建时间:2014.11.3
  3506. --创建人:John
  3507. --说明:返回在指定日期内举办招聘会的场馆
  3508. --#####################################################
  3509. CREATE PROCEDURE [dbo].[rmRmPlaceByBeginDateSelect]
  3510. (
  3511. @StrTime VARCHAR(200),
  3512. @ProvinceID VARCHAR(10)
  3513. )
  3514. AS
  3515. BEGIN
  3516. DECLARE @SQL VARCHAR(1000)
  3517. SET @ProvinceID = @ProvinceID + '%'
  3518. SET @SQL = 'SELECT TOP 500 a.id, b.PlaceName, b.id AS RMplaceID
  3519. FROM [MarketDb]..[Recruitment] a, [MarketDb]..[RmPlace] b
  3520. WHERE a.RecruitmentPlaceId = b.id
  3521. AND a.IsPause=0
  3522. AND b.dcRegionID LIKE ''' + @ProvinceID + '''' + @StrTime
  3523. EXEC(@SQL)
  3524. END
  3525. GO
  3526. /****** Object: StoredProcedure [dbo].[rmRmPlaceByProvinceIDSelect] Script Date: 2018/12/13 19:12:56 ******/
  3527. SET ANSI_NULLS ON
  3528. GO
  3529. SET QUOTED_IDENTIFIER ON
  3530. GO
  3531. --#####################################################
  3532. --创建时间:2014.11.3
  3533. --创建人:John
  3534. --说明:根据省份ID场馆信息
  3535. --#####################################################
  3536. CREATE PROCEDURE [dbo].[rmRmPlaceByProvinceIDSelect]
  3537. (
  3538. @ProvinceID VARCHAR(10)
  3539. )
  3540. AS
  3541. BEGIN
  3542. SET @ProvinceID = @ProvinceID + '%'
  3543. SELECT TOP 500 id, PlaceName, [Address], BusLine, lng, lat
  3544. FROM [MarketDb]..[RmPlace]
  3545. WHERE dcRegionID LIKE @ProvinceID
  3546. END
  3547. GO
  3548. /****** Object: StoredProcedure [dbo].[rmRmPlaceNameByBeginDateSelect] Script Date: 2018/12/13 19:12:57 ******/
  3549. SET ANSI_NULLS ON
  3550. GO
  3551. SET QUOTED_IDENTIFIER ON
  3552. GO
  3553. --#####################################################
  3554. --创建时间:2014.11.7
  3555. --创建人:John
  3556. --说明:返回在指定日期内举办招聘会的场馆
  3557. --#####################################################
  3558. CREATE PROCEDURE [dbo].[rmRmPlaceNameByBeginDateSelect]
  3559. (
  3560. @StrTime VARCHAR(200),
  3561. @ProvinceID VARCHAR(10)
  3562. )
  3563. AS
  3564. BEGIN
  3565. DECLARE @SQL VARCHAR(1000)
  3566. SET @ProvinceID = @ProvinceID + '%'
  3567. SET @SQL = 'SELECT TOP 500 b.id as RMplaceID , b.placename FROM [MarketDb]..[RmPlace] b
  3568. WHERE b.dcRegionID LIKE ''' + @ProvinceID + '''' +
  3569. ' AND b.id IN ( SELECT RecruitmentPlaceId FROM [MarketDb]..[Recruitment] a WHERE a.IsPause=0 ' + @StrTime + ')'
  3570. EXEC(@SQL)
  3571. END
  3572. GO
  3573. /****** Object: StoredProcedure [dbo].[SOLLogInsert] Script Date: 2018/12/13 19:12:57 ******/
  3574. SET ANSI_NULLS ON
  3575. GO
  3576. SET QUOTED_IDENTIFIER ON
  3577. GO
  3578. CREATE PROCEDURE [dbo].[SOLLogInsert]
  3579. (
  3580. @ProcessID INT,
  3581. @Message VARCHAR(5000),
  3582. @Sender TINYINT
  3583. )
  3584. AS
  3585. BEGIN TRY
  3586. INSERT INTO SOLLog(ProcessID,Message,Sender) VALUES(
  3587. @ProcessID,@Message,@Sender)
  3588. RETURN @@IDENTITY
  3589. END TRY
  3590. BEGIN CATCH
  3591. RETURN 0
  3592. END CATCH
  3593. GO
  3594. /****** Object: StoredProcedure [dbo].[SOLProcessInsert] Script Date: 2018/12/13 19:12:57 ******/
  3595. SET ANSI_NULLS ON
  3596. GO
  3597. SET QUOTED_IDENTIFIER ON
  3598. GO
  3599. CREATE PROCEDURE [dbo].[SOLProcessInsert]
  3600. (
  3601. @caMainID INT,
  3602. @ManagerUserID SMALLINT,
  3603. @OfflineType TINYINT
  3604. )
  3605. AS
  3606. BEGIN TRY
  3607. INSERT INTO SOLProcess(caMainID,ManagerUserId,CompanyName,caName,OfflineType)
  3608. SELECT @caMainID,@ManagerUserId,b.Name,a.Name,@OfflineType
  3609. FROM caMain a WITH(NOLOCK),cpMain b WITH(NOLOCK)
  3610. WHERE a.cpMainID=b.ID AND a.ID=@caMainID
  3611. RETURN @@IDENTITY
  3612. END TRY
  3613. BEGIN CATCH
  3614. RETURN 0
  3615. END CATCH
  3616. GO
  3617. /****** Object: StoredProcedure [dbo].[sp_all_run] Script Date: 2018/12/13 19:12:57 ******/
  3618. SET ANSI_NULLS ON
  3619. GO
  3620. SET QUOTED_IDENTIFIER ON
  3621. GO
  3622. create proc [dbo].[sp_all_run]
  3623. as
  3624. SELECT [Spid] = session_Id
  3625. , ecid
  3626. , [Database] = DB_NAME(sp.dbid)
  3627. , [User] = nt_username
  3628. , [Status] = er.status
  3629. , [Wait] = wait_type
  3630. , [Individual Query] = SUBSTRING (qt.text,
  3631. er.statement_start_offset/2,
  3632. (CASE WHEN er.statement_end_offset = -1
  3633. THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
  3634. ELSE er.statement_end_offset END -
  3635. er.statement_start_offset)/2)
  3636. ,[Parent Query] = qt.text
  3637. , Program = program_name
  3638. , Hostname
  3639. , nt_domain
  3640. , start_time
  3641. FROM sys.dm_exec_requests er
  3642. INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid
  3643. CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt
  3644. WHERE session_Id > 50 -- Ignore system spids.
  3645. AND session_Id NOT IN (@@SPID) -- Ignore this current statement.
  3646. ORDER BY 1, 2
  3647. GO
  3648. /****** Object: StoredProcedure [dbo].[spA_blockedInsert] Script Date: 2018/12/13 19:12:57 ******/
  3649. SET ANSI_NULLS ON
  3650. GO
  3651. SET QUOTED_IDENTIFIER ON
  3652. GO
  3653. CREATE PROCEDURE [dbo].[spA_blockedInsert]
  3654. AS
  3655. BEGIN
  3656. WHILE 1 = 1
  3657. BEGIN
  3658. INSERT INTO a_blocked
  3659. SELECT SPID = p.spid,
  3660. DBName = convert(CHAR(20),d.name),
  3661. ProgramName = program_name,
  3662. LoginName = convert(CHAR(20),l.name),
  3663. HostName = convert(CHAR(20),hostname),
  3664. Status = p.status,
  3665. BlockedBy = p.blocked,
  3666. LoginTime = login_time,
  3667. QUERY = CAST(TEXT AS VARCHAR(MAX)),
  3668. GETDATE() AddDate
  3669. FROM MASTER.dbo.sysprocesses p
  3670. INNER JOIN MASTER.dbo.sysdatabases d ON p.dbid = d.dbid
  3671. INNER JOIN MASTER.dbo.syslogins l ON p.sid = l.sid
  3672. CROSS APPLY sys.dm_exec_sql_text(sql_handle)
  3673. WHERE p.blocked = 0
  3674. AND EXISTS(SELECT 1 FROM MASTER..sysprocesses p1 WHERE p1.blocked = p.spid)
  3675. WAITFOR DELAY '0:0:5'
  3676. END
  3677. END
  3678. GO
  3679. /****** Object: StoredProcedure [dbo].[spBaiduXmlRunLogSelect] Script Date: 2018/12/13 19:12:58 ******/
  3680. SET ANSI_NULLS ON
  3681. GO
  3682. SET QUOTED_IDENTIFIER ON
  3683. GO
  3684. CREATE PROCEDURE [dbo].[spBaiduXmlRunLogSelect]
  3685. AS
  3686. SET NOCOUNT ON
  3687. BEGIN
  3688. DELETE FROM LogDb..BaiduXmlRunLog WHERE AddDate < DATEADD(HOUR, - 2, CONVERT(VARCHAR(10), GETDATE(), 120))
  3689. SELECT Id, (SELECT SubSiteUrl FROM dcSubSite WHERE Id = dcProvinceId) SubSiteUrl,
  3690. dcProvinceId, ServerId, PageCount, PageNo, CurrentStatus, LastRunDate, Adddate,
  3691. CASE
  3692. WHEN PageCount > PageNo AND LastRunDate < DATEADD(MINUTe, -2, GETDATE())
  3693. THEN '<a href="http://' + (SELECT SubSiteUrl FROM dcSubSite WHERE Id = dcProvinceId) + '/Xml/GenAllJobXml?ServerID=' + LTRIM(STR(ServerId)) + '" target="_bllank">立刻运行</a>'
  3694. ELSE ''
  3695. END
  3696. RunNow
  3697. INTO #t
  3698. FROM LogDb..BaiduXmlRunLog
  3699. SELECT * FROM #t ORDER BY RunNow DESC, dcProvinceId, ID DESC
  3700. END
  3701. GO
  3702. /****** Object: StoredProcedure [dbo].[spBsManagerMacByLoginDelete] Script Date: 2018/12/13 19:12:58 ******/
  3703. SET ANSI_NULLS ON
  3704. GO
  3705. SET QUOTED_IDENTIFIER ON
  3706. GO
  3707. CREATE PROCEDURE [dbo].[spBsManagerMacByLoginDelete]
  3708. AS
  3709. BEGIN
  3710. SELECT DISTINCT CONVERT(CHAR(3), ManagerId) + '-' + Mac Mac
  3711. INTO #Log
  3712. FROM ManagerLog
  3713. WHERE LoginDate > GETDATE() - 90
  3714. SELECT ID, CONVERT(CHAR(3), ManagerUserId) + '-' + Mac Mac
  3715. INTO #Mac
  3716. FROM BsManagerMac
  3717. WHERE LEN(Mac) > 3
  3718. DELETE FROM #Mac WHERE Mac IN(SELECT Mac FROM #log)
  3719. DELETE FROM bsManagerMac WHERE ID IN(SELECT ID FROM #Mac)
  3720. END
  3721. GO
  3722. /****** Object: StoredProcedure [dbo].[spcaOrderByCount32Select] Script Date: 2018/12/13 19:12:58 ******/
  3723. SET ANSI_NULLS ON
  3724. GO
  3725. SET QUOTED_IDENTIFIER ON
  3726. GO
  3727. CREATE PROCEDURE [dbo].[spcaOrderByCount32Select]
  3728. AS
  3729. SET NOCOUNT ON
  3730. BEGIN
  3731. SELECT CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112) CountMonth,
  3732. CASE WHEN b.dcRegionId LIKE '32%' THEN LEFT(b.dcRegionId, 4) ELSE 32 END dcRegion,
  3733. COUNT(*) Cnt,
  3734. SUM(CASE WHEN Paid > 0 THEN 1 ELSE 0 END) CntPaid,
  3735. SUM(Paid) Paid
  3736. INTO #t
  3737. FROM caOrder a, cpMain b
  3738. WHERE a.cpMainId = b.Id
  3739. AND b.dcProvinceId = 32
  3740. AND a.OpenDate > '2017-12-26'
  3741. GROUP BY CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112),
  3742. CASE WHEN b.dcRegionId LIKE '32%' THEN LEFT(b.dcRegionId, 4) ELSE 32 END
  3743. ORDER BY CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112),
  3744. CASE WHEN b.dcRegionId LIKE '32%' THEN LEFT(b.dcRegionId, 4) ELSE 32 END
  3745. SELECT b.Description, a.CountMonth, a.Cnt, a.CntPaid, a.Paid, b.Id INTO #1 FROM #t a, dcRegion b WHERE a.dcRegion = b.ID ORDER BY a.CountMonth, b.Id
  3746. CREATE TABLE #v(
  3747. CountMonth VARCHAR(6),
  3748. Cnt32 INT,
  3749. CntRate32 DECIMAL(9,4),
  3750. Paid32 Decimal(18, 2),
  3751. PaidRate32 Decimal(9, 4),
  3752. Cnt3201 INT,
  3753. CntRate3201 DECIMAL(9,4),
  3754. Paid3201 Decimal(18, 2),
  3755. PaidRate3201 Decimal(9, 4),
  3756. Cnt3202 INT,
  3757. CntRate3202 DECIMAL(9,4),
  3758. Paid3202 Decimal(18, 2),
  3759. PaidRate3202 Decimal(9, 4),
  3760. Cnt3203 INT,
  3761. CntRate3203 DECIMAL(9,4),
  3762. Paid3203 Decimal(18, 2),
  3763. PaidRate3203 Decimal(9, 4),
  3764. Cnt3204 INT,
  3765. CntRate3204 DECIMAL(9,4),
  3766. Paid3204 Decimal(18, 2),
  3767. PaidRate3204 Decimal(9, 4),
  3768. Cnt3205 INT,
  3769. CntRate3205 DECIMAL(9,4),
  3770. Paid3205 Decimal(18, 2),
  3771. PaidRate3205 Decimal(9, 4),
  3772. Cnt3206 INT,
  3773. CntRate3206 DECIMAL(9,4),
  3774. Paid3206 Decimal(18, 2),
  3775. PaidRate3206 Decimal(9, 4),
  3776. Cnt3207 INT,
  3777. CntRate3207 DECIMAL(9,4),
  3778. Paid3207 Decimal(18, 2),
  3779. PaidRate3207 Decimal(9, 4),
  3780. Cnt3208 INT,
  3781. CntRate3208 DECIMAL(9,4),
  3782. Paid3208 Decimal(18, 2),
  3783. PaidRate3208 Decimal(9, 4),
  3784. Cnt3209 INT,
  3785. CntRate3209 DECIMAL(9,4),
  3786. Paid3209 Decimal(18, 2),
  3787. PaidRate3209 Decimal(9, 4),
  3788. Cnt3210 INT,
  3789. CntRate3210 DECIMAL(9,4),
  3790. Paid3210 Decimal(18, 2),
  3791. PaidRate3210 Decimal(9, 4),
  3792. Cnt3211 INT,
  3793. CntRate3211 DECIMAL(9,4),
  3794. Paid3211 Decimal(18, 2),
  3795. PaidRate3211 Decimal(9, 4),
  3796. Cnt3212 INT,
  3797. CntRate3212 DECIMAL(9,4),
  3798. Paid3212 Decimal(18, 2),
  3799. PaidRate3212 Decimal(9, 4),
  3800. Cnt3213 INT,
  3801. CntRate3213 DECIMAL(9,4),
  3802. Paid3213 Decimal(18, 2),
  3803. PaidRate3213 Decimal(9, 4),
  3804. Cnt3214 INT,
  3805. CntRate3214 DECIMAL(9,4),
  3806. Paid3214 Decimal(18, 2),
  3807. PaidRate3214 Decimal(9, 4),
  3808. Cnt3215 INT,
  3809. CntRate3215 DECIMAL(9,4),
  3810. Paid3215 Decimal(18, 2),
  3811. PaidRate3215 Decimal(9, 4),
  3812. Cnt3216 INT,
  3813. CntRate3216 DECIMAL(9,4),
  3814. Paid3216 Decimal(18, 2),
  3815. PaidRate3216 Decimal(9, 4),
  3816. Cnt3217 INT,
  3817. CntRate3217 DECIMAL(9,4),
  3818. Paid3217 Decimal(18, 2),
  3819. PaidRate3217 Decimal(9, 4),
  3820. CntAll INT,
  3821. PaidAll Decimal(18, 2)
  3822. )
  3823. DECLARE @M INT, @Id INT, @CntAll INT, @paidAll DECIMAL(18, 2), @Cnt INT, @Paid DECIMAL(18, 2), @Sql VARCHAR(MAX)
  3824. SELECT @M = 0, @Id = 0
  3825. WHILE EXISTS(SELECT 'x' FROM #1 WHERE CountMonth > @m)
  3826. BEGIN
  3827. SELECT TOP 1 @M = CountMonth FROM #1 WHERE CountMonth > @m ORDER BY CountMonth, Id
  3828. SELECT @CntAll = SUM(Cnt), @PaidAll = SUM(Paid) FROM #1 WHERE CountMonth = @m
  3829. INSERT INTO #v(CountMonth, CntAll, PaidAll) SELECT @m, @CntAll, @PaidAll
  3830. WHILE EXISTS(SELECT 'x' FROM #1 WHERE CountMonth = @m AND Id > @Id)
  3831. BEGIN
  3832. SELECT TOP 1 @Id = Id, @Cnt = Cnt, @Paid = Paid FROM #1 WHERE CountMonth = @m AND Id > @id ORDER BY Id
  3833. SET @Sql = 'UPDATE #v SET Cnt' + LTRIM(STR(@Id)) + ' = ' + LTRIM(STR(@Cnt))
  3834. + ', CntRate' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Cnt * 100.0 / @CntAll)
  3835. + ', Paid' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Paid)
  3836. + ', PaidRate' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Paid * 100.0 / @PaidAll)
  3837. + ' WHERE CountMonth = ' + LTRIM(STR(@m))
  3838. EXEC(@Sql)
  3839. END
  3840. SET @Id = 0
  3841. END
  3842. SELECT * FROM #1
  3843. SELECT * FROM #v
  3844. END
  3845. GO
  3846. /****** Object: StoredProcedure [dbo].[spcaOrderByCountProvinceSelect] Script Date: 2018/12/13 19:12:59 ******/
  3847. SET ANSI_NULLS ON
  3848. GO
  3849. SET QUOTED_IDENTIFIER ON
  3850. GO
  3851. CREATE PROCEDURE [dbo].[spcaOrderByCountProvinceSelect]
  3852. AS
  3853. SET NOCOUNT ON
  3854. BEGIN
  3855. SELECT CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112) CountMonth,
  3856. b.dcProvinceID dcRegion,
  3857. COUNT(*) Cnt,
  3858. SUM(CASE WHEN Paid > 0 THEN 1 ELSE 0 END) CntPaid,
  3859. SUM(Paid) Paid
  3860. INTO #t
  3861. FROM caOrder a, cpMain b
  3862. WHERE a.cpMainId = b.Id
  3863. AND a.OpenDate > '2017-12-26'
  3864. GROUP BY CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112), b.dcProvinceID
  3865. ORDER BY CONVERT(VARCHAR(6), DATEADD(MONTH, 1, a.OpenDate - 25), 112), b.dcProvinceID
  3866. SELECT b.Description, a.CountMonth, a.Cnt, a.CntPaid, a.Paid, b.Id INTO #1 FROM #t a, dcRegion b WHERE a.dcRegion = b.ID AND b.Id < 99 ORDER BY a.CountMonth, b.Id
  3867. CREATE TABLE #v(
  3868. CountMonth VARCHAR(6),
  3869. Cnt10 INT, CntRate10 DECIMAL(9,4), Paid10 Decimal(18, 2), PaidRate10 Decimal(9, 4),
  3870. Cnt11 INT, CntRate11 DECIMAL(9,4), Paid11 Decimal(18, 2), PaidRate11 Decimal(9, 4),
  3871. Cnt12 INT, CntRate12 DECIMAL(9,4), Paid12 Decimal(18, 2), PaidRate12 Decimal(9, 4),
  3872. Cnt13 INT, CntRate13 DECIMAL(9,4), Paid13 Decimal(18, 2), PaidRate13 Decimal(9, 4),
  3873. Cnt14 INT, CntRate14 DECIMAL(9,4), Paid14 Decimal(18, 2), PaidRate14 Decimal(9, 4),
  3874. Cnt20 INT, CntRate20 DECIMAL(9,4), Paid20 Decimal(18, 2), PaidRate20 Decimal(9, 4),
  3875. Cnt21 INT, CntRate21 DECIMAL(9,4), Paid21 Decimal(18, 2), PaidRate21 Decimal(9, 4),
  3876. Cnt22 INT, CntRate22 DECIMAL(9,4), Paid22 Decimal(18, 2), PaidRate22 Decimal(9, 4),
  3877. Cnt30 INT, CntRate30 DECIMAL(9,4), Paid30 Decimal(18, 2), PaidRate30 Decimal(9, 4),
  3878. Cnt31 INT, CntRate31 DECIMAL(9,4), Paid31 Decimal(18, 2), PaidRate31 Decimal(9, 4),
  3879. Cnt32 INT, CntRate32 DECIMAL(9,4), Paid32 Decimal(18, 2), PaidRate32 Decimal(9, 4),
  3880. Cnt33 INT, CntRate33 DECIMAL(9,4), Paid33 Decimal(18, 2), PaidRate33 Decimal(9, 4),
  3881. Cnt34 INT, CntRate34 DECIMAL(9,4), Paid34 Decimal(18, 2), PaidRate34 Decimal(9, 4),
  3882. Cnt35 INT, CntRate35 DECIMAL(9,4), Paid35 Decimal(18, 2), PaidRate35 Decimal(9, 4),
  3883. Cnt36 INT, CntRate36 DECIMAL(9,4), Paid36 Decimal(18, 2), PaidRate36 Decimal(9, 4),
  3884. Cnt40 INT, CntRate40 DECIMAL(9,4), Paid40 Decimal(18, 2), PaidRate40 Decimal(9, 4),
  3885. Cnt41 INT, CntRate41 DECIMAL(9,4), Paid41 Decimal(18, 2), PaidRate41 Decimal(9, 4),
  3886. Cnt42 INT, CntRate42 DECIMAL(9,4), Paid42 Decimal(18, 2), PaidRate42 Decimal(9, 4),
  3887. Cnt60 INT, CntRate60 DECIMAL(9,4), Paid60 Decimal(18, 2), PaidRate60 Decimal(9, 4),
  3888. Cnt61 INT, CntRate61 DECIMAL(9,4), Paid61 Decimal(18, 2), PaidRate61 Decimal(9, 4),
  3889. Cnt62 INT, CntRate62 DECIMAL(9,4), Paid62 Decimal(18, 2), PaidRate62 Decimal(9, 4),
  3890. Cnt63 INT, CntRate63 DECIMAL(9,4), Paid63 Decimal(18, 2), PaidRate63 Decimal(9, 4),
  3891. Cnt64 INT, CntRate64 DECIMAL(9,4), Paid64 Decimal(18, 2), PaidRate64 Decimal(9, 4),
  3892. Cnt70 INT, CntRate70 DECIMAL(9,4), Paid70 Decimal(18, 2), PaidRate70 Decimal(9, 4),
  3893. Cnt71 INT, CntRate71 DECIMAL(9,4), Paid71 Decimal(18, 2), PaidRate71 Decimal(9, 4),
  3894. Cnt72 INT, CntRate72 DECIMAL(9,4), Paid72 Decimal(18, 2), PaidRate72 Decimal(9, 4),
  3895. Cnt80 INT, CntRate80 DECIMAL(9,4), Paid80 Decimal(18, 2), PaidRate80 Decimal(9, 4),
  3896. Cnt81 INT, CntRate81 DECIMAL(9,4), Paid81 Decimal(18, 2), PaidRate81 Decimal(9, 4),
  3897. Cnt82 INT, CntRate82 DECIMAL(9,4), Paid82 Decimal(18, 2), PaidRate82 Decimal(9, 4),
  3898. Cnt83 INT, CntRate83 DECIMAL(9,4), Paid83 Decimal(18, 2), PaidRate83 Decimal(9, 4),
  3899. Cnt84 INT, CntRate84 DECIMAL(9,4), Paid84 Decimal(18, 2), PaidRate84 Decimal(9, 4),
  3900. CntAll INT,
  3901. PaidAll Decimal(18, 2)
  3902. )
  3903. DECLARE @M INT, @Id INT, @CntAll INT, @paidAll DECIMAL(18, 2), @Cnt INT, @Paid DECIMAL(18, 2), @Sql VARCHAR(MAX)
  3904. SELECT @M = 0, @Id = 0
  3905. WHILE EXISTS(SELECT 'x' FROM #1 WHERE CountMonth > @m)
  3906. BEGIN
  3907. SELECT TOP 1 @M = CountMonth FROM #1 WHERE CountMonth > @m ORDER BY CountMonth, Id
  3908. SELECT @CntAll = SUM(Cnt), @PaidAll = SUM(Paid) FROM #1 WHERE CountMonth = @m
  3909. INSERT INTO #v(CountMonth, CntAll, PaidAll) SELECT @m, @CntAll, @PaidAll
  3910. WHILE EXISTS(SELECT 'x' FROM #1 WHERE CountMonth = @m AND Id > @Id)
  3911. BEGIN
  3912. SELECT TOP 1 @Id = Id, @Cnt = Cnt, @Paid = Paid FROM #1 WHERE CountMonth = @m AND Id > @id ORDER BY Id
  3913. SET @Sql = 'UPDATE #v SET Cnt' + LTRIM(STR(@Id)) + ' = ' + LTRIM(STR(@Cnt))
  3914. + ', CntRate' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Cnt * 100.0 / @CntAll)
  3915. + ', Paid' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Paid)
  3916. + ', PaidRate' + LTRIM(STR(@Id)) + ' = ' + CONVERT(VARCHAR(20), @Paid * 100.0 / @PaidAll)
  3917. + ' WHERE CountMonth = ' + LTRIM(STR(@m))
  3918. EXEC(@Sql)
  3919. END
  3920. SET @Id = 0
  3921. END
  3922. SELECT * FROM #1
  3923. SELECT '月份', '北京', '北京', '北京', '北京', '天津', '天津', '天津', '天津', '河北', '河北', '河北', '河北', '内蒙古', '内蒙古', '内蒙古', '内蒙古', '山西', '山西', '山西', '山西', '辽宁', '辽宁', '辽宁', '辽宁', '吉林', '吉林', '吉林', '吉林', '黑龙江', '黑龙江', '黑龙江', '黑龙江', '上海', '上海', '上海', '上海', '江苏', '江苏', '江苏', '江苏', '山东', '山东', '山东', '山东', '安徽', '安徽', '安徽', '安徽', '福建', '福建', '福建', '福建', '浙江', '浙江', '浙江', '浙江', '江西', '江西', '江西', '江西', '广东', '广东', '广东', '广东', '广西', '广西', '广西', '广西', '海南', '海南', '海南', '海南', '重庆', '重庆', '重庆', '重庆', '四川', '四川', '四川', '四川', '云南', '云南', '云南', '云南', '贵州', '贵州', '贵州', '贵州', '西藏', '西藏', '西藏', '西藏', '河南', '河南', '河南', '河南', '湖北', '湖北', '湖北', '湖北', '湖南', '湖南', '湖南', '湖南', '陕西', '陕西', '陕西', '陕西', '青海', '青海', '青海', '青海', '宁夏', '宁夏', '宁夏', '宁夏', '新疆', '新疆', '新疆', '新疆', '甘肃', '甘肃', '甘肃', '甘肃', '总数量', '总金额'
  3924. SELECT * FROM #v
  3925. END
  3926. GO
  3927. /****** Object: StoredProcedure [dbo].[spChangeInvoiceCompany] Script Date: 2018/12/13 19:12:59 ******/
  3928. SET ANSI_NULLS ON
  3929. GO
  3930. SET QUOTED_IDENTIFIER ON
  3931. GO
  3932. create procedure [dbo].[spChangeInvoiceCompany]
  3933. (
  3934. @caorderId INT,
  3935. @invoiceCompanyId INT
  3936. )
  3937. AS
  3938. update caorder set invoicecompany=@invoiceCompanyId where id = @caorderId
  3939. GO
  3940. /****** Object: StoredProcedure [dbo].[spChangeManagerUser] Script Date: 2018/12/13 19:13:00 ******/
  3941. SET ANSI_NULLS ON
  3942. GO
  3943. SET QUOTED_IDENTIFIER ON
  3944. GO
  3945. create Procedure [dbo].[spChangeManagerUser]
  3946. (
  3947. @OldId int,
  3948. @NewId int
  3949. )
  3950. AS
  3951. BEGIN
  3952. DECLARE @UserNAme VARCHAR(20), @Password VARCHAR(20), @Name VARCHAR(20), @Name_Eng VARCHAR(20), @Status INT, @LoginStatus INT
  3953. SELECT @UserName = UserName,
  3954. @Password = Password,
  3955. @Name_Eng = Name_Eng,
  3956. @Name = Name,
  3957. @Status = Status,
  3958. @LoginStatus = LoginStatus
  3959. FROM ManagerUser
  3960. WHERE Id = @OldId
  3961. UPDATE ManagerUser SET UserName = @UserName + '##',
  3962. Password = @Password + '##',
  3963. Name_Eng = @Name_Eng + '##',
  3964. Name = @Name + '##',
  3965. Status = 3,
  3966. LoginStatus = 2
  3967. WHERE Id = @OldID
  3968. UPDATE ManagerUser SET UserName = @UserName,
  3969. Password = @Password,
  3970. Name_Eng = @Name_Eng,
  3971. Name = @Name,
  3972. Status = @Status,
  3973. LoginStatus = @LoginStatus
  3974. WHERE Id = @NewID
  3975. END
  3976. GO
  3977. /****** Object: StoredProcedure [dbo].[spCheckHomepageRefresh] Script Date: 2018/12/13 19:13:00 ******/
  3978. SET ANSI_NULLS ON
  3979. GO
  3980. SET QUOTED_IDENTIFIER ON
  3981. GO
  3982. CREATE PROCEDURE [dbo].[spCheckHomepageRefresh]
  3983. AS
  3984. BEGIN
  3985. begin try
  3986. drop table #t
  3987. end try
  3988. begin catch
  3989. end catch
  3990. select *
  3991. into #t
  3992. from cpmain where membertype>0
  3993. and refreshdate >getdate()-1
  3994. and valid=1
  3995. delete #t where id in (select cpmainid from searchdb..cpMainHomepageSnapshot)
  3996. select refreshdate r,jobnumber,* from #t order by refreshdate
  3997. END
  3998. GO
  3999. /****** Object: StoredProcedure [dbo].[spCommentsHotUpdate] Script Date: 2018/12/13 19:13:00 ******/
  4000. SET ANSI_NULLS ON
  4001. GO
  4002. SET QUOTED_IDENTIFIER ON
  4003. GO
  4004. CREATE PROCEDURE [dbo].[spCommentsHotUpdate]
  4005. AS
  4006. SET NOCOUNT ON
  4007. BEGIN
  4008. DECLARE curProvince CURSOR FOR
  4009. SELECT ID, IsMainSite FROM dcSubSite WITH(NOLOCK) WHERE IsMainSite = 1 OR ID LIKE '32%' ORDER BY ID
  4010. OPEN curProvince
  4011. DECLARE @dcProvinceID INT, @IsMainSite BIT
  4012. FETCH NEXT FROM curProvince INTO @dcProvinceID, @IsMainSite
  4013. WHILE @@FETCH_STATUS = 0
  4014. BEGIN
  4015. DELETE SearchDb..CommentsHot WHERE dcProvinceID = @dcProvinceID
  4016. --点评最多排行
  4017. INSERT INTO SearchDb..CommentsHot
  4018. SELECT @dcProvinceID, a.SecondID, a.Name, b.CpMainID, 1, 1, b.cnt
  4019. FROM CpMain a, (
  4020. SELECT TOP 10 COUNT(*) cnt, a.CpMainID
  4021. FROM Comments a, CpMain b
  4022. WHERE (a.CommentType = 1 OR a.CommentType = 2)
  4023. AND a.CpMainID = b.ID
  4024. AND b.dcRegionID like '' + CONVERT(VARCHAR(6), @dcProvinceID) + '%'
  4025. AND a.CpMainID IN(
  4026. SELECT TOP 99999 MAX(a.CpmainID)
  4027. FROM Comments a, Cpmain b
  4028. WHERE a.CpMainID = b.ID
  4029. AND IsDirect = 1
  4030. GROUP BY b.Name
  4031. )
  4032. GROUP BY a.CpMainID
  4033. ORDER BY cnt DESC
  4034. )b
  4035. WHERE a.ID = b.CpMainID
  4036. --最佳点评排行
  4037. INSERT INTO SearchDb..CommentsHot
  4038. SELECT @dcProvinceID, a.SecondID, a.Name, b.CpMainID, 1, 2, b.cnt
  4039. FROM CpMain a, (
  4040. SELECT TOP 10 COUNT(*) cnt, a.CpMainID
  4041. FROM Comments a, CpMain b
  4042. WHERE a.CommentType = 2
  4043. AND a.CpMainID = b.ID
  4044. AND b.dcRegionID like ''+CONVERT(VARCHAR(6), dcProvinceID)+'%'
  4045. AND a.CpMainID IN(
  4046. SELECT TOP 99999 MAX(a.CpmainID)
  4047. FROM Comments a, Cpmain b
  4048. WHERE a.CpMainID = b.ID
  4049. AND IsDirect = 1
  4050. GROUP BY b.Name
  4051. )
  4052. GROUP BY a.CpMainID
  4053. ORDER BY cnt DESC
  4054. )b
  4055. WHERE a.ID = b.CpMainID
  4056. --面经最多排行
  4057. INSERT INTO SearchDb..CommentsHot
  4058. SELECT @dcProvinceID, a.SecondID, a.Name, b.CpMainID, 2, 1, b.cnt
  4059. FROM CpMain a, (
  4060. SELECT TOP 10 COUNT(*) cnt, a.CpMainID
  4061. FROM InterView a, CpMain b
  4062. WHERE (a.InterViewType = 1 OR a.InterViewType = 2)
  4063. AND a.CpMainID = b.ID
  4064. AND b.dcRegionID like ''+CONVERT(VARCHAR(6), @dcProvinceID)+'%'
  4065. AND a.CpMainID IN(
  4066. SELECT TOP 99999 MAX(a.CpmainID)
  4067. FROM InterView a, Cpmain b
  4068. WHERE a.CpMainID = b.ID
  4069. AND IsDirect = 1
  4070. GROUP BY b.Name
  4071. )
  4072. GROUP BY a.CpMainID
  4073. ORDER BY cnt DESC
  4074. )b
  4075. WHERE a.ID = b.CpMainID
  4076. --最佳面经排行
  4077. INSERT INTO SearchDb..CommentsHot
  4078. SELECT @dcProvinceID, a.SecondID, a.Name, b.CpMainID, 2, 2, b.cnt
  4079. FROM CpMain a, (SELECT TOP 10 COUNT(*) cnt, a.CpMainID
  4080. FROM InterView a, CpMain b
  4081. WHERE a.InterViewType = 2
  4082. AND a.CpMainID = b.ID
  4083. AND b.dcRegionID like ''+CONVERT(VARCHAR(6), @dcProvinceID)+'%'
  4084. AND a.CpMainID IN(
  4085. SELECT TOP 99999 MAX(a.CpmainID)
  4086. FROM InterView a, Cpmain b
  4087. WHERE a.CpMainID = b.ID
  4088. AND IsDirect = 1
  4089. GROUP BY b.Name
  4090. )
  4091. GROUP BY a.CpMainID
  4092. ORDER BY cnt DESC
  4093. )b
  4094. WHERE a.ID = b.CpMainID
  4095. DELETE SearchDb..Hp_Comments WHERE ProvinceId = @dcProvinceID
  4096. INSERT INTO SearchDb..Hp_Comments
  4097. SELECT TOP 8 @dcProvinceID, *
  4098. FROM (SELECT *
  4099. FROM (SELECT TOP 8 a.ID, a.CpMainID, LEFT(CASE WHEN Relation IN (1, 3) THEN Remark1 ELSE Remark2 END, 60) AS Title,
  4100. a.AddDate, 1 AS CIType, a.CommentType AS IsGood, b.Name, b.SecondID, 1 CommentType
  4101. FROM Comments a WITH(NOLOCK), CpMain b WITH(NOLOCK)
  4102. WHERE a.CommentType IN (1, 2)
  4103. AND a.CpMainID = b.ID
  4104. AND b.dcRegionID like ''+CONVERT(VARCHAR(6), @dcProvinceID)+'%'
  4105. AND a.IsDirect = 1
  4106. AND b.Valid = 1
  4107. AND (SELECT COUNT(1) FROM Job WITH(NOLOCK) WHERE cpMainID = b.id AND Valid = 1) > 0
  4108. ORDER BY a.AddDate DESC
  4109. ) AS tempComment
  4110. UNION
  4111. SELECT *
  4112. FROM (SELECT TOP 8 a.ID, a.CpMainID, a.Title, a.AddDate, 2 AS CIType,
  4113. a.InterviewType AS IsGood, b.Name, b.SecondID, 2 CommentType
  4114. FROM InterView a WITH(NOLOCK), cpmain b WITH(NOLOCK)
  4115. WHERE a.InterviewType IN (1, 2)
  4116. AND a.CpMainID = b.ID
  4117. AND b.dcRegionID like ''+CONVERT(VARCHAR(6), @dcProvinceID)+'%'
  4118. AND a.IsDirect = 1
  4119. AND b.Valid = 1
  4120. AND (SELECT COUNT(1) FROM Job WITH(NOLOCK) WHERE cpMainID = b.id AND Valid = 1) > 0
  4121. ORDER BY a.AddDate DESC
  4122. ) AS tempInterview
  4123. ) AS CIResult
  4124. ORDER BY AddDate DESC
  4125. FETCH NEXT FROM curProvince INTO @dcProvinceID, @IsMainSite
  4126. END
  4127. CLOSE curProvince
  4128. DEALLOCATE curProvince
  4129. END
  4130. GO
  4131. /****** Object: StoredProcedure [dbo].[SPCopyMainDBTOTestDb] Script Date: 2018/12/13 19:13:01 ******/
  4132. SET ANSI_NULLS ON
  4133. GO
  4134. SET QUOTED_IDENTIFIER ON
  4135. GO
  4136. CREATE PROCEDURE [dbo].[SPCopyMainDBTOTestDb]
  4137. (
  4138. @s varchar(10),
  4139. @e varchar(10)
  4140. )
  4141. AS
  4142. BEGIN
  4143. SET NOCOUNT ON
  4144. PRINT 'SET NOCOUNT ON'
  4145. PRINT '
  4146. BEGIN TRY
  4147. DROP TABLE #s
  4148. END TRY
  4149. BEGIN CATCH
  4150. END CATCH
  4151. BEGIN TRY
  4152. DROP TABLE #b
  4153. END TRY
  4154. BEGIN CATCH
  4155. END CATCH
  4156. CREATE TABLE #S(Name VARCHAR(100))
  4157. CREATE TABLE #b(Name VARCHAR(100))'
  4158. SELECT ID, Name
  4159. INTO #t
  4160. FROM testdb..sysObjects
  4161. WHERe xType = 'u'
  4162. AND Name NOT LIKE 'sys%'
  4163. AND Name NOT LIKE 'ms%'
  4164. and name >= @s
  4165. and name < @e
  4166. DECLARE @Name VARCHAR(100), @Id INT, @SQL VARCHAR(MAX), @ColName VARCHAR(MAX), @IIBegin VARCHAR(MAX), @IIEnd VARCHAR(MAX),
  4167. @WHERE VARCHAR(MAX), @Order VARCHAR(MAX)
  4168. SELECT TOP 1 @Name = Name, @Id = ID FROM #t order BY NAME
  4169. WHILE @Name > ''
  4170. BEGIN
  4171. SELECT @ColName = ''
  4172. SELECT @ColName = @ColName + NAME + ', ' FROM SysColumns WHERE ID = @ID AND colstat <> 4
  4173. SELECT @ColName = LTRIM(RTRIM(@ColName))
  4174. SELECT @ColName = LEFT(@ColName, LEN(@ColName) - 1)
  4175. SELECT @IIBegin = '', @IIEND = '', @WHERE = '', @Order = ''
  4176. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'ID' AND ColStat = 1)
  4177. BEGIN
  4178. SELECT @IIBegin = 'SET IDENTITY_INSERT ' + @Name + ' ON', @IIEND = 'SET IDENTITY_INSERT ' + @Name + ' OFF', @Order = ' ORDER BY ID DESC'
  4179. END
  4180. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'paMainID')
  4181. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'paMainID IN(SELECT ID FROM TestDb..TmpPaMain)'
  4182. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'cvMainID')
  4183. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'cvMainID IN(SELECT ID FROM TestDb..TmpcvMain)'
  4184. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'cpMainID')
  4185. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'cpMainID IN(SELECT ID FROM TestDb..TmpcpMain)'
  4186. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'CompanyId')
  4187. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'CompanyId IN(SELECT ID FROM TestDb..TmpcpMain)'
  4188. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'caMainID')
  4189. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'caMainID IN(SELECT ID FROM TestDb..TmpcaMain)'
  4190. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'JobID')
  4191. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'JobID IN(SELECT ID FROM TestDb..TmpJob)'
  4192. SET @SQL =
  4193. 'IF ((SELECT COUNT(*) FROM ' + @NAME + ') > 0 AND (SELECT COUNT(*) FROM ' + @NAME + ') = 0)
  4194. BEGIN TRY
  4195. ' + @IIBegin + '
  4196. INSERT INTO TestDb..' + @Name + '(' + @ColName + ')
  4197. SELECT TOP 10000 ' + @ColName + ' FROM ' + @Name + @Where + + @Order + '
  4198. ' + @IIEnd + '
  4199. PRINT ''' + @Name + ' IS Sucessed!''
  4200. INSERT #s SELECT ''' + @Name + '''
  4201. END TRY
  4202. BEGIN CATCH
  4203. ' + @IIEnd + '
  4204. PRINT ''' + @Name + ' IS BAD!!!!!!!!!!!!!!!!!!!!''
  4205. INSERT #b SELECT ''' + @Name + '''
  4206. END CATCH
  4207. GO
  4208. '
  4209. --PRINT @SQL
  4210. SELECT TOP 1 @Name = Name, @Id = ID FROM #t WHERE Name > @Name ORDER BY NAME
  4211. IF @@ROWCOUNT = 0
  4212. SELECT @Name = ''
  4213. END
  4214. DROP TABLE #t
  4215. PRINT ' SELECT * FROM #b'
  4216. PRINT ' SELECT * FROM #s'
  4217. END
  4218. GO
  4219. /****** Object: StoredProcedure [dbo].[SPCopySearchDbTOTestDb] Script Date: 2018/12/13 19:13:01 ******/
  4220. SET ANSI_NULLS ON
  4221. GO
  4222. SET QUOTED_IDENTIFIER ON
  4223. GO
  4224. CREATE PROCEDURE [dbo].[SPCopySearchDbTOTestDb]
  4225. AS
  4226. BEGIN
  4227. SET NOCOUNT ON
  4228. PRINT 'SET NOCOUNT ON'
  4229. PRINT '
  4230. BEGIN TRY
  4231. DROP TABLE #s
  4232. END TRY
  4233. BEGIN CATCH
  4234. END CATCH
  4235. BEGIN TRY
  4236. DROP TABLE #b
  4237. END TRY
  4238. BEGIN CATCH
  4239. END CATCH
  4240. CREATE TABLE #S(Name VARCHAR(100))
  4241. CREATE TABLE #b(Name VARCHAR(100))'
  4242. SELECT ID, Name
  4243. INTO #t
  4244. FROM testdb..sysObjects
  4245. WHERe xType = 'u'
  4246. AND Name NOT LIKE 'sys%'
  4247. AND Name NOT LIKE 'ms%'
  4248. DECLARE @Name VARCHAR(100), @Id INT, @SQL VARCHAR(MAX), @ColName VARCHAR(MAX), @IIBegin VARCHAR(MAX), @IIEnd VARCHAR(MAX),
  4249. @WHERE VARCHAR(MAX), @Order VARCHAR(MAX)
  4250. SELECT TOP 1 @Name = Name, @Id = ID FROM #t order BY NAME
  4251. WHILE @Name > ''
  4252. BEGIN
  4253. SELECT @ColName = ''
  4254. SELECT @ColName = @ColName + NAME + ', ' FROM SysColumns WHERE ID = @ID AND colstat <> 4
  4255. SELECT @ColName = LTRIM(RTRIM(@ColName))
  4256. SELECT @ColName = LEFT(@ColName, LEN(@ColName) - 1)
  4257. SELECT @IIBegin = '', @IIEND = '', @WHERE = '', @Order = ''
  4258. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'ID' AND ColStat = 1)
  4259. BEGIN
  4260. SELECT @IIBegin = 'SET IDENTITY_INSERT ' + @Name + ' ON', @IIEND = 'SET IDENTITY_INSERT ' + @Name + ' OFF', @Order = ' ORDER BY ID DESC'
  4261. END
  4262. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'paMainID')
  4263. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'paMainID IN(SELECT ID FROM TestDb..TmpPaMain)'
  4264. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'cvMainID')
  4265. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'cvMainID IN(SELECT ID FROM TestDb..TmpcvMain)'
  4266. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'cpMainID')
  4267. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'cpMainID IN(SELECT ID FROM TestDb..TmpcpMain)'
  4268. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'CompanyId')
  4269. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'CompanyId IN(SELECT ID FROM TestDb..TmpcpMain)'
  4270. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'caMainID')
  4271. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'caMainID IN(SELECT ID FROM TestDb..TmpcaMain)'
  4272. IF EXISTS(SELECT 'x' FROM sysColumns WHERE ID = @ID AND NAME = 'JobID')
  4273. SET @WHERE = CASE WHEN @WHERE = '' THEN ' WHERE ' ELSE @WHERE + ' AND ' END + 'JobID IN(SELECT ID FROM TestDb..TmpJob)'
  4274. SET @SQL =
  4275. 'IF ((SELECT COUNT(*) FROM searchdb..' + @NAME + ') > 0 AND (SELECT COUNT(*) FROM ' + @NAME + ') = 0)
  4276. BEGIN TRY
  4277. ' + @IIBegin + '
  4278. INSERT INTO TestDb..' + @Name + '(' + @ColName + ')
  4279. SELECT TOP 10000 ' + @ColName + ' FROM searchdb..' + @Name + @Where + + @Order + '
  4280. ' + @IIEnd + '
  4281. PRINT ''' + @Name + ' IS Sucessed!''
  4282. INSERT #s SELECT ''' + @Name + '''
  4283. END TRY
  4284. BEGIN CATCH
  4285. ' + @IIEnd + '
  4286. PRINT ''' + @Name + ' IS BAD!!!!!!!!!!!!!!!!!!!!''
  4287. INSERT #b SELECT ''' + @Name + '''
  4288. END CATCH
  4289. GO
  4290. '
  4291. --PRINT @SQL
  4292. SELECT TOP 1 @Name = Name, @Id = ID FROM #t WHERE Name > @Name ORDER BY NAME
  4293. IF @@ROWCOUNT = 0
  4294. SELECT @Name = ''
  4295. END
  4296. DROP TABLE #t
  4297. PRINT ' SELECT * FROM #b'
  4298. PRINT ' SELECT * FROM #s'
  4299. END
  4300. GO
  4301. /****** Object: StoredProcedure [dbo].[SPCountyJobRebuild] Script Date: 2018/12/13 19:13:02 ******/
  4302. SET ANSI_NULLS ON
  4303. GO
  4304. SET QUOTED_IDENTIFIER ON
  4305. GO
  4306. CREATE PROCEDURE [dbo].[SPCountyJobRebuild]
  4307. AS
  4308. BEGIN
  4309. IF DATEPART(HOUR, GETDATE()) < 10
  4310. TRUNCATE TABLE SearchDb..CountyJob
  4311. TRUNCATE TABLE SearchDb..CountyJobNumber
  4312. INSERT INTO SearchDb..CountyJobNumber
  4313. SELECT LEFT(dcRegionId, 2), COUNT(*) FROM JobPublish WITH(NOLOCK) WHERE Valid = 1 GROUP BY LEFT(dcRegionId, 2)
  4314. END
  4315. GO
  4316. /****** Object: StoredProcedure [dbo].[SpCpCvPriviByFixSave] Script Date: 2018/12/13 19:13:02 ******/
  4317. SET ANSI_NULLS ON
  4318. GO
  4319. SET QUOTED_IDENTIFIER ON
  4320. GO
  4321. CREATE PROCEDURE [dbo].[SpCpCvPriviByFixSave]
  4322. AS
  4323. SET NOCOUNT ON
  4324. BEGIN
  4325. SELECT TOP 0 * INTO #p FROM cpCvPrivi
  4326. SELECT Id INTO #cp FROM cpMain WHERE Membertype > 1 AND IsLimitLogin IN(0, 1) AND LastLoginDate > GETDATE() - 183
  4327. CREATE TABLE #t(cpMainId INT, paMainId INT)
  4328. INSERT INTO #t
  4329. SELECT a.cpMainId, b.paMainId
  4330. FROM caActiveLog a WITH(NOLOCK INDEX(IX_caActiveLog_cpMainID)),
  4331. cvMain b WITH(NOLOCK)
  4332. WHERE a.cpMainID IN(SELECT Id FROM #cp)
  4333. AND a.AddDate > DATEADD(MINUTE, -120, GETDATE())
  4334. AND a.cvMainId = b.Id
  4335. INSERT INTO #t
  4336. SELECT b.cpMainId, c.paMainId
  4337. FROM ExJobApply a WITH(NOLOCK), Job b, cvMain c
  4338. WHERE a.JobID = b.ID
  4339. AND a.IsPassed = 1
  4340. AND a.cvMainID = c.Id
  4341. AND a.AddDate > DATEADD(MINUTE, -120, GETDATE())
  4342. INSERT INTO #p(cpMainId, cvMainId)
  4343. SELECT DISTINCT a.cpMainId, b.Id
  4344. FROM #t a, cvMain b
  4345. WHERE a.paMainId = b.paMainId
  4346. INSERT INTO #p(cpMainId, cvMainId)
  4347. SELECT cpMainId, cvMainId
  4348. FROM caDailyGiftLog WITH(NOLOCK INDEX(PK_caDailyGiftLog))
  4349. WHERE cpMainID IN(SELECT ID FROM #Cp)
  4350. AND AddDate > DATEADD(MINUTE, -120, GETDATE())
  4351. AND NOT EXISTS(SELECT 'x' FROM #p WHERE #p.cpMainId = caDailyGiftLog.cpMainId AND #p.cvMainId = caDailyGiftLog.cvMainId)
  4352. INSERT INTO #p(cpMainId, cvMainId)
  4353. SELECT cpMainId, cvMainId
  4354. FROM caDailyGiftLog WITH(NOLOCK INDEX(PK_caDailyGiftLog))
  4355. WHERE cpMainID IN(SELECT ID FROM #Cp)
  4356. AND AddDate > DATEADD(MINUTE, -120, GETDATE())
  4357. AND NOT EXISTS(SELECT 'x' FROM #p WHERE #p.cpMainId = caDailyGiftLog.cpMainId AND #p.cvMainId = caDailyGiftLog.cvMainId)
  4358. INSERT INTO cpCvPrivi
  4359. SELECT cpMainId, cvMainId
  4360. FROM #p
  4361. WHERE NOT EXISTS(SELECT 'x' FROM cpCvPrivi WHERE #p.cpMainId = cpCvPrivi.cpMainId AND #p.cvMainId = cpCvPrivi.cvMainId)
  4362. END
  4363. GO
  4364. /****** Object: StoredProcedure [dbo].[SpCpCvPriviSave] Script Date: 2018/12/13 19:13:02 ******/
  4365. SET ANSI_NULLS ON
  4366. GO
  4367. SET QUOTED_IDENTIFIER ON
  4368. GO
  4369. CREATE PROCEDURE [dbo].[SpCpCvPriviSave]
  4370. AS
  4371. SET NOCOUNT ON
  4372. BEGIN
  4373. SELECT Id INTO #cp FROM cpMain WHERE Membertype > 1 AND IsLimitLogin IN(0, 1) AND LastLoginDate > GETDATE() - 183
  4374. CREATE TABLE #t(cpMainId INT, paMainId INT)
  4375. INSERT INTO #t
  4376. SELECT a.cpMainId, b.paMainId
  4377. FROM caActiveLog a WITH(NOLOCK INDEX(IX_caActiveLog_cpMainID)),
  4378. cvMain b WITH(NOLOCK)
  4379. WHERE a.cpMainID IN(SELECT Id FROM #cp)
  4380. AND a.AddDate > GETDATE() - 183
  4381. AND a.cvMainId = b.Id
  4382. INSERT INTO #t
  4383. SELECT b.cpMainId, c.paMainId
  4384. FROM ExJobApply a WITH(NOLOCK), Job b, cvMain c
  4385. WHERE a.JobID = b.ID
  4386. AND a.IsPassed = 1
  4387. AND a.cvMainID = c.Id
  4388. AND a.AddDate > GETDATE() - 183
  4389. TRUNCATE TABLE LogDb..cpCvPrivi
  4390. INSERT INTO cpCvPrivi(cpMainId, cvMainId)
  4391. SELECT DISTINCT a.cpMainId, b.Id
  4392. FROM #t a, cvMain b
  4393. WHERE a.paMainId = b.paMainId
  4394. INSERT INTO cpCvPrivi(cpMainId, cvMainId)
  4395. SELECT cpMainId, cvMainId
  4396. FROM caDailyGiftLog WITH(NOLOCK INDEX(PK_caDailyGiftLog))
  4397. WHERE cpMainID IN(SELECT ID FROM #Cp)
  4398. AND AddDate > GETDATE() - 183
  4399. AND NOT EXISTS(SELECT 'x' FROM cpCvPrivi WHERE cpCvPrivi.cpMainId = caDailyGiftLog.cpMainId AND cpCvPrivi.cvMainId = caDailyGiftLog.cvMainId)
  4400. END
  4401. GO
  4402. /****** Object: StoredProcedure [dbo].[spCpMainByChar0Fix] Script Date: 2018/12/13 19:13:02 ******/
  4403. SET ANSI_NULLS ON
  4404. GO
  4405. SET QUOTED_IDENTIFIER ON
  4406. GO
  4407. CREATE PROCEDURE [dbo].[spCpMainByChar0Fix]
  4408. AS
  4409. BEGIN
  4410. create table #t(id int)
  4411. create table #tt(id int)
  4412. --cpMain
  4413. insert into #t Select id from cpMain where UNICODE(right(Name,1)) = 0
  4414. update cpMain set name=SUBSTRING(name, 1, LEN(name) - 1) where id in (select id from #t)
  4415. DELETE #t
  4416. INSERT INTO #t Select id from cpMain where UNICODE(right(brief,1)) = 0
  4417. update cpMain set brief=SUBSTRING(brief, 1, LEN(brief) - 1) where id in (select id from #t)
  4418. DELETE #t
  4419. --job
  4420. INSERT INTO #t Select id from Job where UNICODE(right(Responsibility,1)) = 0
  4421. update Job set Responsibility=SUBSTRING(Responsibility, 1, LEN(Responsibility) - 1) where id in (select id from #t)
  4422. DELETE #t
  4423. INSERT INTO #t Select id from Job where UNICODE(right(Demand,1)) = 0
  4424. update Job set Demand=SUBSTRING(Demand, 1, LEN(Demand) - 1) where id in (select id from #t)
  4425. DELETE #t
  4426. INSERT INTO #t Select id from Job where UNICODE(right(name,1)) = 0
  4427. update Job set name=SUBSTRING(name, 1, LEN(name) - 1) where id in (select id from #t)
  4428. DELETE #t
  4429. --////////////////////////
  4430. drop table #t
  4431. drop table #tt
  4432. end
  4433. GO
  4434. /****** Object: StoredProcedure [dbo].[SpCpMainByCommentNumberFix] Script Date: 2018/12/13 19:13:03 ******/
  4435. SET ANSI_NULLS ON
  4436. GO
  4437. SET QUOTED_IDENTIFIER ON
  4438. GO
  4439. CREATE PROCEDURE [dbo].[SpCpMainByCommentNumberFix]
  4440. AS
  4441. BEGIN
  4442. UPDATE cpMain set CommentNumber =0 WHERE CommentNumber > 0
  4443. UPDATE cpMain set InterViewNumber = 0 WHERE InterViewNumber > 0
  4444. UPDATE a set a.InterViewNumber = b.Cnt
  4445. from cpmain a,
  4446. (select cpMainId, COUNT(*) Cnt
  4447. from InterView
  4448. where InterViewType <> 3
  4449. group by cpMainId) b
  4450. WHERE a.Id = b.cpMainId
  4451. UPDATE a set a.CommentNumber = b.Cnt
  4452. from cpmain a,
  4453. (select cpMainId, COUNT(*) Cnt
  4454. from Comments
  4455. where CommentType <> 3
  4456. group by cpMainId) b
  4457. WHERE a.Id = b.cpMainId
  4458. END
  4459. GO
  4460. /****** Object: StoredProcedure [dbo].[SpCpMainByConsultantIdFromColdCustomerUpdate] Script Date: 2018/12/13 19:13:03 ******/
  4461. SET ANSI_NULLS ON
  4462. GO
  4463. SET QUOTED_IDENTIFIER ON
  4464. GO
  4465. --修改harry,增加顾问rtx提醒2017-5-17
  4466. --修改Peter,增加顾问RTX冷客户提醒
  4467. --修改:增加推广认证后分配2018-1-3 harry
  4468. --修改:harry 去掉冷客户部门,修改分配过程
  4469. /*
  4470. sean 2018-2-28
  4471. Vicky(762姜乐文) 02-28 08:41:16
  4472. 公司名称:烟台德霖日化科技有限公司 公司编号:10683832
  4473. 765的客户已经产生二次续费,但是该客户是765的置顶广告,多次合作,到期依然要续约的客户,申请保留这个广告客户,谢谢
  4474. */
  4475. CREATE PROCEDURE [dbo].[SpCpMainByConsultantIdFromColdCustomerUpdate]
  4476. AS
  4477. SET NOCOUNT ON
  4478. BEGIN
  4479. CREATE TABLE #t(ConsultantId INT, ID INT, Name VARCHAR(100),RegDate DATETIME, DeptId INT)
  4480. /*
  4481. INSERT INTO #t(ConsultantId, Id, Name,RegDate,DeptId)
  4482. SELECT ConsultantId, Id, Name,RegDate,42 AS DeptId
  4483. FROM cpMain WITH(NOLOCK)
  4484. WHERE MemberType = 3
  4485. AND ConsultantId IN(SELECT ID FROM ManagerUser WITH(NOLOCK) WHERE DeptId = 42)
  4486. AND Id IN(SELECT cpMainId FROM caOrder WITH(NOLOCK) WHERE OrderType = 8 AND OpenDate < GETDATE() - 31 AND IsDeleted = 0 AND Paid > 0 )
  4487. AND Id NOT IN(SELECT cpMainId FROM caOrder WHERE OpenDate > '' AND OrderType = 8 AND IsDeleted = 0 AND BeginDate > GETDATE() - 31)
  4488. AND (select count(1) FROM caOrder WITH(NOLOCK) WHERE OrderType = 8 AND OpenDate>'' AND ManagerUserId =cpMain.ConsultantId AND cpMainId=cpMain.id AND paid>0 )>1
  4489. */
  4490. ---推广的进行分配
  4491. INSERT INTO #t(ConsultantId, Id, Name,RegDate,DeptId)
  4492. SELECT ConsultantId, Id, Name,RegDate,15
  4493. FROM cpMain WITH(NOLOCK)
  4494. WHERE MemberType >1 --认证通过
  4495. AND ConsultantId IN(SELECT ID FROM ManagerUser WITH(NOLOCK) WHERE DeptId = 15) --推广部
  4496. --sean add 2018-2-28
  4497. DELETE FROM #t WHERE Id = 10683832
  4498. DECLARE @deptId INT, @dcProvinceID AS INT, @ManagerUserID AS INT, @ID AS INT, @Name VARCHAR(100), @cpMainId INT, @Sql AS VARCHAR(200), @ConsultantId INT, @RegDate DATETIME, @msg VARCHAR(50)
  4499. SELECT @cpMainId = 0, @dcProvinceID = 32
  4500. WHILE EXISTS(SELECT 'x' FROM #t WHERE Id > @cpMainId)
  4501. BEGIN
  4502. SELECT TOP 1 @cpMainId = Id, @ConsultantId = ConsultantId, @Name = Name, @RegDate=RegDate, @deptId =deptId
  4503. FROM #t WHERE Id > @cpMainId ORDER BY ID
  4504. IF NOT EXISTS(SELECT 'x' FROM Cold_Consultant_Assign WHERE Current_Power < Power)
  4505. UPDATE Cold_Consultant_Assign SET Current_Power = 0
  4506. --提取第一个顾问
  4507. SELECT TOP 1 @ID = ID, @ManagerUserID = ManagerUserID FROM Cold_Consultant_Assign WHERE Current_Power < Power
  4508. IF @ManagerUserID IS NULL
  4509. RETURN
  4510. --修改顾问分配表
  4511. UPDATE Cold_Consultant_Assign SET Current_Power = Current_Power + 1 WHERE ID = @ID
  4512. IF @deptId =42
  4513. SET @msg='冷客户第2次付费后31天重新分配'
  4514. ELSE
  4515. SET @msg='冷客户推广认证通过后重新分配'
  4516. SET @Sql = @msg+'顾问:从' + LTRIM(STR(ISNULL(@ConsultantId, 0))) + '到' + LTRIM(STR(@ManagerUserID))
  4517. INSERT INTO bsManagerUserAction VALUES(@cpMainId, @Sql, '', 112, GETDATE())
  4518. UPDATE cpMain SET ConsultantId = @ManagerUserID, ConsultantDate = GETDATE() WHERE Id = @cpMainId
  4519. SELECT id INTO #company FROM cpmain WHERE Id <> @cpMainId AND Name = @Name AND ConsultantId = @ConsultantId
  4520. DECLARE @cpid INT
  4521. SET @cpid=0
  4522. WHILE EXISTS(select 'x' FROM #company)
  4523. BEGIN
  4524. SELECT TOP 1 @cpid=id FROM #company ORDER BY id
  4525. UPDATE cpMain SET ConsultantId = @ManagerUserID, ConsultantDate = GETDATE() WHERE id = @cpid
  4526. DELETE FROM #company WHERE id= @cpid
  4527. END
  4528. DROP TABLE #company
  4529. INSERT RtxNotifyLog SELECT LTRIM(STR(@ManagerUserID)) + ',' + LTRIM(STR(@ConsultantId)), @msg+'通知', 'http://sysback.51rc.com/newoa/company/cp/cpMainInfo?id=' + LTRIM(STR(@cpMainId))+ '&code=' + LTRIM(STR(DATEPART(HOUR, @RegDate) * 100 + DATEPART(MINUTE, @RegDate))), 0, 0, 0, Null, GETDATE()
  4530. DELETE FROM #t where id=@cpMainId
  4531. DELETE FROM #t where Name = @Name AND ConsultantId = @ConsultantId
  4532. END
  4533. DROP TABLE #t
  4534. END
  4535. SET NOCOUNT OFF
  4536. GO
  4537. /****** Object: StoredProcedure [dbo].[spCpMainByIsprotectUpdate] Script Date: 2018/12/13 19:13:04 ******/
  4538. SET ANSI_NULLS ON
  4539. GO
  4540. SET QUOTED_IDENTIFIER ON
  4541. GO
  4542. CREATE PROCEDURE [dbo].[spCpMainByIsprotectUpdate]
  4543. (
  4544. @cpMainId INT
  4545. )
  4546. AS
  4547. BEGIN
  4548. SET NOCOUNT ON
  4549. UPDATE cpMain SET IsProtect = 0 WHERE Id = @cpMainId
  4550. UPDATE caMain SET SecondPassword = NULL WHERE cpMainId = @cpMainId
  4551. END
  4552. GO
  4553. /****** Object: StoredProcedure [dbo].[spCpMainByReplyrateUpdate] Script Date: 2018/12/13 19:13:04 ******/
  4554. SET ANSI_NULLS ON
  4555. GO
  4556. SET QUOTED_IDENTIFIER ON
  4557. GO
  4558. --创建人harry
  4559. --2017-5-24
  4560. --自动答复应聘的简历计划任务
  4561. --cpCvShield中的简历手动答复为不合适2018-6-11 harry
  4562. CREATE PROCEDURE [dbo].[spCpMainByReplyrateUpdate]
  4563. AS
  4564. SET NOCOUNT ON
  4565. BEGIN
  4566. UPDATE a
  4567. SET a.reply=2,a.replydate=getdate()
  4568. FROM exjobapply a,job b, cpCvShield c
  4569. WHERE a.jobId=b.Id AND c.cpMainId= b.cpMainId AND c.cvMainId=a.cvMainId
  4570. AND ISNULL(a.reply,0)=0
  4571. UPDATE exjobapply
  4572. SET reply=4
  4573. WHERE reply=5
  4574. AND ISNULL(CompanyDeleted,0) = 1
  4575. --vip用户超过20天的自动答复,非vip超过10天的自动答复
  4576. --vip
  4577. UPDATE a
  4578. SET a.reply=5, a.replydate=getdate()
  4579. FROM exjobapply a, job b, cpMain c
  4580. WHERE a.reply=0
  4581. AND c.AutoReplyConfirm < CONVERT(VARCHAR(10), getdate() - 20, 120)
  4582. AND c.MemberType = 3
  4583. AND b.CpMainId = c.id
  4584. AND b.id = a.jobid
  4585. AND a.addDate < CONVERT(VARCHAR(10), getdate() - 20, 120) --在申请20天后自动答复
  4586. AND a.addDate > c.AutoReplyConfirm --只自动答复我知道了之后的
  4587. --非vip
  4588. UPDATE a
  4589. SET a.reply = 5, a.replydate = getdate()
  4590. FROM exjobapply a, job b, cpMain c
  4591. WHERE a.reply = 0
  4592. AND c.AutoReplyConfirm < CONVERT(VARCHAR(10), getdate()-10, 120)
  4593. AND c.MemberType < 3
  4594. AND b.CpMainId = c.id
  4595. AND b.id = a.jobid
  4596. AND a.addDate < CONVERT(VARCHAR(10), getdate() - 10, 120) --在申请10天后自动答复
  4597. AND a.addDate > c.AutoReplyConfirm --只自动答复我知道了之后的
  4598. SELECT a.id, SUM(CASE WHEN c.reply = 5 THEN 1 ELSE 0 END) AS autoreply,
  4599. COUNT(*) AS SumReply
  4600. INTO #t
  4601. FROM cpMain a
  4602. inner join job b on a.id = b.cpmainid
  4603. inner join exjobapply c on c.jobid = b.id AND c.AddDate > a.AutoReplyConfirm
  4604. WHERE a.MemberType = 3
  4605. --AND a.AutoReplyConfirm < CONVERT(VARCHAR(10), getdate() - 20, 120) //跟这个时间无关harry
  4606. AND b.IsDelete = 0
  4607. AND c.Reply > 0
  4608. GROUP BY a.Id
  4609. INSERT INTO #t
  4610. SELECT a.id, SUM(CASE WHEN c.reply = 5 THEN 1 ELSE 0 END) AS autoreply,
  4611. COUNT(*) AS SumReply
  4612. FROM cpMain a
  4613. inner join job b on a.id = b.cpmainid
  4614. inner join exjobapply c on c.jobid = b.id AND c.AddDate > a.AutoReplyConfirm --AND c.AddDate < CONVERT(VARCHAR(10), GETDATE() - 10, 120)
  4615. WHERE a.MemberType <> 3
  4616. --AND a.AutoReplyConfirm < CONVERT(VARCHAR(10), getdate() - 10, 120) //跟这个时间无关harry
  4617. AND b.IsDelete = 0
  4618. AND c.Reply > 0
  4619. GROUP BY a.Id
  4620. --计算更新答复率
  4621. --更新SumReply为0的,有应聘的
  4622. UPDATE cpMain
  4623. SET replyrate = 0
  4624. WHERE id IN (SELECT id FROM #t WHERE SumReply = 0)
  4625. ---无应聘的
  4626. UPDATE cpMain
  4627. SET replyrate = 1
  4628. WHERE id NOT IN (SELECT id FROM #t)
  4629. AND AutoReplyConfirm IS NOT NULL
  4630. --删除
  4631. DELETE FROM #t WHERE SumReply = 0
  4632. --更新其他的
  4633. UPDATE cpMain
  4634. SET replyrate = (b.SumReply - b.autoreply) * 1.0 / b.SumReply
  4635. FROM cpMain a, #t b
  4636. WHERE a.Id = b.Id
  4637. UPDATE a
  4638. SET a.replyrate = b.ReplyRate
  4639. FROM cpMainPublish a, cpMain b
  4640. WHERE a.Id = b.Id
  4641. AND ISNULL(a.replyrate, 0) <> ISNULL(b.replyrate, 0)
  4642. drop table #t
  4643. END
  4644. SET NOCOUNT OFF
  4645. GO
  4646. /****** Object: StoredProcedure [dbo].[SpcpMainPublishByHasEnvironmentUpdate] Script Date: 2018/12/13 19:13:04 ******/
  4647. SET ANSI_NULLS ON
  4648. GO
  4649. SET QUOTED_IDENTIFIER ON
  4650. GO
  4651. CREATE PROCEDURE [dbo].[SpcpMainPublishByHasEnvironmentUpdate]
  4652. AS
  4653. BEGIN
  4654. SET NOCOUNT ON
  4655. SELECT DISTINCT cpMainId ID INTO #1 FROM cpImage WHERE ImgType = 3 AND HasPassed = 1
  4656. SELECT Id, HasEnvironment INTO #2 FROM cpMainPublish WITH(NOLOCK) WHERE HasEnvironment = 1
  4657. SELECT * INTO #3 FROM #2
  4658. DELETE #2 WHERE ID IN(SELECT ID FROM #1)
  4659. DELETE #1 WHERE ID IN(SELECT ID FROM #3)
  4660. UPDATE cpMainPublish SET HasEnvironment = 0 WHERE ID IN(SELECT ID FROM #2)
  4661. UPDATE cpMainPublish SET HasEnvironment = 1 WHERE ID IN(SELECT ID FROM #1)
  4662. END
  4663. GO
  4664. /****** Object: StoredProcedure [dbo].[spCvInfoSave] Script Date: 2018/12/13 19:13:04 ******/
  4665. SET ANSI_NULLS ON
  4666. GO
  4667. SET QUOTED_IDENTIFIER ON
  4668. GO
  4669. CREATE PROCEDURE [dbo].[spCvInfoSave]
  4670. AS
  4671. SET NOCOUNT ON
  4672. BEGIN
  4673. IF DATEPART(HOUR, GETDATE()) = 6 AND (SELECT COUNT(*) FROM cvInfo WHERE ModifyDate > GETDATE() - 0.5) < 50000
  4674. BEGIN
  4675. SELECT TOP 0 * INTO #t1 FROM cvInfo
  4676. INSERT INTO #t1(cvMainId, JobName, Speciality, EduInfo, ExpInfo, ProjectInfo, TrainInfo, ModifyDate)
  4677. SELECT Id cvMainId, JobName, Speciality,
  4678. (
  4679. STUFF(
  4680. (SELECT ',' + GraduateCollage + '@@' + MajorName + '@@' + ISNULL(Details, '')
  4681. FROM cvEducationPublish b
  4682. WHERE b.cvMainId = a.ID
  4683. FOR XML PATH('')),
  4684. 1,
  4685. 1,
  4686. ''
  4687. )
  4688. ) EduInfo,
  4689. (
  4690. STUFF(
  4691. (SELECT ',' + CompanyName + '@@' + JobName + '@@' + ISNULL(Description, '')
  4692. FROM cvExperiencePublish b
  4693. WHERE b.cvMainId = a.ID
  4694. FOR XML PATH('')),
  4695. 1,
  4696. 1,
  4697. ''
  4698. )
  4699. ) ExpInfo,
  4700. (
  4701. STUFF(
  4702. (SELECT ',' + Name + '@@' + ISNULL(Description, '') + '@@' + ISNULL(Responsibilities, '')
  4703. FROM cvProjectPublish b
  4704. WHERE b.cvMainId = a.ID
  4705. FOR XML PATH('')),
  4706. 1,
  4707. 1,
  4708. ''
  4709. )
  4710. ) ProjectInfo,
  4711. (
  4712. STUFF(
  4713. (SELECT ',' + Institution + '@@' + Course + '@@' + ISNULL(Certificate, '') + '@@' + ISNULL(Details, '')
  4714. FROM cvTrainingPublish b
  4715. WHERE b.cvMainId = a.ID
  4716. FOR XML PATH('')),
  4717. 1,
  4718. 1,
  4719. ''
  4720. )
  4721. ) TrainInfo,
  4722. GETDATE()
  4723. FROM cvMainPublish a
  4724. WHERE a.RefreshDate > CONVERT(VARCHAR(10), GETDATE() - 180, 120)
  4725. AND a.Valid > 0
  4726. CREATE TABLE #t2(cvMainId INT, IsDel BIT)
  4727. INSERT INTO #t2 SELECT cvMainId, 0 FROM #T1
  4728. DECLARE @i INT, @Page INT
  4729. SELECT @i = 0, @Page = COUNT(*) / 10000 + 10 FROM #t1
  4730. TRUNCATE TABLE cvInfo
  4731. WHILE @i < @Page
  4732. BEGIN
  4733. SET @i = @i + 1
  4734. UPDATE #t2 SET IsDel = 1 WHERE cvMainId IN(SELECT TOP 10000 cvMainId FROM #t2)
  4735. INSERT INTO cvInfo(cvMainId, JobName, Speciality, EduInfo, ExpInfo, ProjectInfo, TrainInfo, ModifyDate)
  4736. SELECT cvMainId, JobName, Speciality, EduInfo, ExpInfo, ProjectInfo, TrainInfo, GETDATE()
  4737. FROM #t1
  4738. WHERE cvMainId IN(SELECT cvMainId FROM #t2 WHERE IsDel = 1)
  4739. AND cvMainId NOT IN(SELECT cvMainId FROM cvInfo)
  4740. DELETE #t2 WHERE IsDel = 1
  4741. END
  4742. RETURN
  4743. END
  4744. ELSE
  4745. BEGIN
  4746. CREATE TABLE #1(cvMainId INT)
  4747. INSERT INTO #1
  4748. SELECT cvMainId
  4749. FROM bsCvVerify
  4750. WHERE VerifyDate > DATEADD(MINUTE, -20, GETDATE())
  4751. AND cvMainId IN(SELECT Id FROM cvMainPublish)
  4752. AND NOT EXISTS(SELECT 'x' FROM cvInfo WHERE cvInfo.ModifyDate >= bsCvVerify.Verifydate)
  4753. INSERT INTO #1
  4754. SELECT TOP 999 Id FROM cvMainPublish
  4755. WHERE RefreshDate > CONVERT(VARCHAR(10), GETDATE() - 180, 120)
  4756. AND ID NOT IN(SELECT cvMainId FROM cvInfo)
  4757. AND ID NOT IN(SELECT cvMainId FROM #1)
  4758. AND Valid = 1
  4759. SELECT Id cvMainId, JobName, Speciality,
  4760. (
  4761. STUFF(
  4762. (SELECT ',' + GraduateCollage + '@@' + MajorName + '@@' + ISNULL(Details, '')
  4763. FROM cvEducationPublish b
  4764. WHERE b.cvMainId = a.ID
  4765. FOR XML PATH('')),
  4766. 1,
  4767. 1,
  4768. ''
  4769. )
  4770. ) EduInfo,
  4771. (
  4772. STUFF(
  4773. (SELECT ',' + CompanyName + '@@' + JobName + '@@' + ISNULL(Description, '')
  4774. FROM cvExperiencePublish b
  4775. WHERE b.cvMainId = a.ID
  4776. FOR XML PATH('')),
  4777. 1,
  4778. 1,
  4779. ''
  4780. )
  4781. ) ExpInfo,
  4782. (
  4783. STUFF(
  4784. (SELECT ',' + Name + '@@' + ISNULL(Description, '') + '@@' + ISNULL(Responsibilities, '')
  4785. FROM cvProjectPublish b
  4786. WHERE b.cvMainId = a.ID
  4787. FOR XML PATH('')),
  4788. 1,
  4789. 1,
  4790. ''
  4791. )
  4792. ) ProjectInfo,
  4793. (
  4794. STUFF(
  4795. (SELECT ',' + Institution + '@@' + Course + '@@' + ISNULL(Certificate, '') + '@@' + ISNULL(Details, '')
  4796. FROM cvTrainingPublish b
  4797. WHERE b.cvMainId = a.ID
  4798. FOR XML PATH('')),
  4799. 1,
  4800. 1,
  4801. ''
  4802. )
  4803. ) TrainInfo
  4804. INTO #t
  4805. FROM cvMainPublish a
  4806. WHERE a.RefreshDate > CONVERT(VARCHAR(10), GETDATE() - 180, 120)
  4807. AND a.Valid > 0
  4808. AND ID IN(SELECT cvMainId FROM #1)
  4809. DELETE FROM CvInfo WHERE cvMainID IN(SELECT cvMainId FROM #1)
  4810. INSERT INTO cvInfo (cvMainId) SELECT DISTINCT cvMainId FROM #1
  4811. UPDATE a SET a.JobName = b.JobName,
  4812. a.Speciality = b.Speciality,
  4813. a.EduInfo = b.EduInfo,
  4814. a.ExpInfo = b.ExpInfo,
  4815. a.ProjectInfo = b.ProjectInfo,
  4816. a.TrainInfo = b.TrainInfo,
  4817. a.ModifyDate = GETDATE()
  4818. FROM cvInfo a, #t b
  4819. WHERE a.cvMainId = b.cvMainId
  4820. DELETE FROM cvInfo WHERE cvMainId NOT IN(SELECT Id FROM cvMainPublish WHERE RefreshDate > CONVERT(VARCHAR(10), GETDATE() - 180, 120) AND Valid = 1)
  4821. END
  4822. END
  4823. GO
  4824. /****** Object: StoredProcedure [dbo].[spCvMainByChar0Fix] Script Date: 2018/12/13 19:13:05 ******/
  4825. SET ANSI_NULLS ON
  4826. GO
  4827. SET QUOTED_IDENTIFIER ON
  4828. GO
  4829. CREATE PROCEDURE [dbo].[spCvMainByChar0Fix]
  4830. AS
  4831. BEGIN
  4832. create table #t(id int)
  4833. create table #tt(id int)
  4834. --cveducation
  4835. insert into #t Select id from cveducation where UNICODE(right(GraduateCollage,1)) = 0
  4836. update cveducation set GraduateCollage=SUBSTRING(GraduateCollage, 1, LEN(GraduateCollage) - 1) where id in (select id from #t)
  4837. DELETE #t
  4838. INSERT INTO #t Select id from cveducation where UNICODE(right(MajorName,1)) = 0
  4839. update cveducation set MajorName=SUBSTRING(MajorName, 1, LEN(MajorName) - 1) where id in (select id from #t)
  4840. DELETE #t
  4841. INSERT INTO #t Select id from cveducation where UNICODE(right(details,1)) = 0
  4842. update cveducation set details=SUBSTRING(details, 1, LEN(details) - 1) where id in (select id from #t)
  4843. DELETE #t
  4844. --update cveducation set details=dbo.RemoveNullChars(details) where id in (select id from #t)
  4845. -- select * from #t
  4846. -- select * from cveducation where id=8030162
  4847. --cvexperience
  4848. IF(SELECT COUNT(*) FROM #tt) =0
  4849. INSERT INTO #t Select id from cvexperience where UNICODE(right(CompanyName,1)) = 0
  4850. ELSE
  4851. INSERT INTO #t Select id from cvexperience where UNICODE(right(CompanyName,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4852. DELETE #tt
  4853. INSERT #tt SELECT * FROM #t
  4854. update cvexperience set CompanyName=SUBSTRING(CompanyName, 1, LEN(CompanyName) - 1) where id in (select id from #t)
  4855. DELETE #t
  4856. IF(SELECT COUNT(*) FROM #tt) =0
  4857. INSERT INTO #t Select id from cvexperience where UNICODE(right(JobName,1)) = 0
  4858. ELSE
  4859. INSERT INTO #t Select id from cvexperience where UNICODE(right(JobName,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4860. DELETE #tt
  4861. INSERT #tt SELECT * FROM #t
  4862. update cvexperience set JobName=SUBSTRING(JobName, 1, LEN(JobName) - 1) where id in (select id from #t)
  4863. DELETE #t
  4864. IF(SELECT COUNT(*) FROM #tt) =0
  4865. INSERT INTO #t Select id from cvexperience where UNICODE(right(Description,1)) = 0
  4866. ELSE
  4867. INSERT INTO #t Select id from cvexperience where UNICODE(right(Description,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4868. DELETE #tt
  4869. INSERT #tt SELECT * FROM #t
  4870. update cvexperience set Description=SUBSTRING(Description, 1, LEN(Description) - 1) where id in (select id from #t)
  4871. --update cvexperience set Description=dbo.RemoveNullChars(Description) where id in (select id from #t)
  4872. DELETE #t
  4873. IF(SELECT COUNT(*) FROM #tt) =0
  4874. INSERT INTO #t Select id from cvexperience where UNICODE(right(Dept,1)) = 0
  4875. ELSE
  4876. INSERT INTO #t Select id from cvexperience where UNICODE(right(Dept,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4877. DELETE #tt
  4878. INSERT #tt SELECT * FROM #t
  4879. update cvexperience set Dept=SUBSTRING(Dept, 1, LEN(Dept) - 1) where id in (select id from #t)
  4880. DELETE #t
  4881. IF(SELECT COUNT(*) FROM #tt) =0
  4882. INSERT INTO #t Select id from cvexperience where UNICODE(right(UpperPost,1)) = 0
  4883. ELSE
  4884. INSERT INTO #t Select id from cvexperience where UNICODE(right(UpperPost,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4885. DELETE #tt
  4886. INSERT #tt SELECT * FROM #t
  4887. update cvexperience set UpperPost=SUBSTRING(UpperPost, 1, LEN(UpperPost) - 1) where id in (select id from #t)
  4888. DELETE #t
  4889. --///////////////////////////
  4890. IF(SELECT COUNT(*) FROM #tt) =0
  4891. INSERT INTO #t Select id from cvmain where UNICODE(right(Speciality,1)) = 0
  4892. ELSE
  4893. INSERT INTO #t Select id from cvmain where UNICODE(right(Speciality,1)) = 0 AND ID IN(SELECT ID FROM #tt)
  4894. DELETE #tt
  4895. INSERT #tt SELECT * FROM #t
  4896. update cvmain set Speciality=SUBSTRING(Speciality, 1, LEN(Speciality) - 1) where id in (select id from #t)
  4897. --update cvmain set Speciality=dbo.RemoveNullChars(Speciality) where id in (select id from #t)
  4898. DELETE #t
  4899. --////////////////////////
  4900. drop table #t
  4901. drop table #tt
  4902. end
  4903. GO
  4904. /****** Object: StoredProcedure [dbo].[spCvMainByCvLevelCheck] Script Date: 2018/12/13 19:13:05 ******/
  4905. SET ANSI_NULLS ON
  4906. GO
  4907. SET QUOTED_IDENTIFIER ON
  4908. GO
  4909. CREATE PROCEDURE [dbo].[spCvMainByCvLevelCheck]
  4910. AS
  4911. BEGIN
  4912. select count(*) from cvmain with(nolock) where cvlevel like '1111_1%' and verifyresult=1 and iscvhidden=0 and valid=0
  4913. select count(*) from cvmain with(nolock) where cvleveleng like '1111_1%' and verifyresulteng=1 and iscvhidden=0 and valid<2
  4914. select count(*) from cvmain with(nolock) where iscvhidden=1 and valid>0
  4915. select count(*) from cvmain with(nolock) where substring(cvlevel,3,1)='0' and id in(select cvmainid from cveducation with(nolock) where GraduateCollage>'')
  4916. select count(*) from cvmain with(nolock) where substring(cvleveleng,3,1)='0' and id in(select cvmainid from cveducation with(nolock) where GraduateCollageeng>'')
  4917. select count(*) from cvmain with(nolock) where substring(cvleveleng,4,1)='0' and id in(select cvmainid from cvexperience with(nolock) where companynameeng>'' and jobnameeng>'')
  4918. select count(*) from cvmain with(nolock) where substring(cvlevel,4,1)='0' and id in(select cvmainid from cvexperience with(nolock) where companyname>'' and jobname>'')
  4919. select count(*) from cvmain with(nolock) where substring(cvlevel,5,1)='0' and len(Speciality)>10 and refreshdate>getdate()-100
  4920. select count(*) from cvmain with(nolock) where substring(cvleveleng,5,1)='0' and len(Specialityeng)>10 and refreshdate>getdate()-100
  4921. select id,cvlevel,cvleveleng,refreshdate,dcsalaryid from cvmain with(nolock)
  4922. where substring(cvlevel,6,1)='0' and left(cvlevel,2)='11'
  4923. and dcsalaryid>0
  4924. and id in(select cvmainid from cvjobtype with(nolock))
  4925. and id in(select cvmainid from cvjobplace with(nolock))
  4926. and refreshdate >getdate()-60
  4927. order by refreshdate desc
  4928. END
  4929. GO
  4930. /****** Object: StoredProcedure [dbo].[spcvMainByCvLevelFix] Script Date: 2018/12/13 19:13:06 ******/
  4931. SET ANSI_NULLS ON
  4932. GO
  4933. SET QUOTED_IDENTIFIER ON
  4934. GO
  4935. CREATE PROCEDURE [dbo].[spcvMainByCvLevelFix]
  4936. AS
  4937. BEGIN
  4938. CREATE TABLE #tt(ID INT)
  4939. SELECT a.Id, a.cvLevel, a.cvLevelEng INTO #t
  4940. FROM cvMain a WITH(NOLOCK)
  4941. INNER JOIN paMain b WITH(NOLOCK) ON a.paMainId = b.Id
  4942. WHERE b.LastLoginDate > DATEADD(MINUTE, -120, GETDATE())
  4943. OR a.RefreshDate > DATEADD(MINUTE, -120, GETDATE())
  4944. INSERT INTO #tt(ID)
  4945. SELECT ID FROM #T
  4946. WHERE SUBSTRING(cvLevel, 2, 1) = 0
  4947. AND ID IN(SELECT a.ID FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK) WHERE a.paMainId = b.ID AND b.Name > '' AND b.BirthDay > 0 AND Mobile >'')
  4948. UPDATE cvMain SET cvLevel = '11' + RIGHT(cvLevel, 8)
  4949. WHERE ID IN(SELECT ID FROM #tt)
  4950. TRUNCATE TABLE #tt
  4951. INSERT #tt SELECT ID FROM #T
  4952. WHERE SUBSTRING(cvLevelEng, 2, 1) = 0
  4953. AND ID IN(SELECT a.ID FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK) WHERE a.paMainId = b.ID AND b.NameEng > '' AND b.BirthDay > 0 AND Mobile >'')
  4954. UPDATE cvMain SET cvLevelEng = '11' + RIGHT(cvLevelEng, 8)
  4955. WHERE ID IN(SELECT ID FROM #tt)
  4956. TRUNCATE TABLE #tt
  4957. INSERT #tt SELECT ID FROM #T
  4958. WHERE SUBSTRING(cvLevel, 3, 1) = 0
  4959. AND ID IN(SELECT cvMainId FROM cvEducation WITH(NOLOCK) WHERE GraduateCollage>'')
  4960. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 2) + '1' + RIGHT(cvLevel, 7)
  4961. WHERE Id IN(SELECT Id FROM #tt)
  4962. AND SUBSTRING(cvLevel, 3, 1) = '0'
  4963. TRUNCATE TABLE #tt
  4964. INSERT #tt SELECT ID FROM #T
  4965. WHERE SUBSTRING(cvLevelEng, 3, 1) = 0
  4966. AND ID IN(SELECT cvMainId FROM cvEducation WITH(NOLOCK) WHERE GraduateCollageEng>'')
  4967. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 2) + '1' + RIGHT(cvLevelEng, 7)
  4968. WHERE Id IN(SELECT Id FROM #tt)
  4969. AND SUBSTRING(cvLevelEng, 3, 1) = '0'
  4970. ----------------
  4971. TRUNCATE TABLE #tt
  4972. INSERT #tt SELECT ID FROM #T
  4973. WHERE SUBSTRING(cvLevel, 4, 1) = 0
  4974. AND (ID IN(SELECT cvMainId FROM cvExperience WITH(NOLOCK) WHERE CompanyName>'')
  4975. OR ID IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE cvType = 1)
  4976. )
  4977. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 3) + '1' + RIGHT(cvLevel, 6)
  4978. WHERE Id IN(SELECT Id FROM #tt)
  4979. AND SUBSTRING(cvLevel, 4, 1) = '0'
  4980. TRUNCATE TABLE #tt
  4981. INSERT #tt SELECT ID FROM #T
  4982. WHERE SUBSTRING(cvLevelEng, 4, 1) = 0
  4983. AND (ID IN(SELECT cvMainId FROM cvExperience WITH(NOLOCK) WHERE CompanyNameEng>'')
  4984. OR (ID IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE cvType = 1)
  4985. AND LEFT(cvLevelEng, 2) = '11')
  4986. )
  4987. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 3) + '1' + RIGHT(cvLevelEng, 6)
  4988. WHERE Id IN(SELECT Id FROM #tt)
  4989. AND SUBSTRING(cvLevelEng, 4, 1) = '0'
  4990. -----------------
  4991. TRUNCATE TABLE #tt
  4992. INSERT #tt SELECT ID FROM #T
  4993. WHERE SUBSTRING(cvLevel, 5, 1) = 0
  4994. AND ID IN(SELECT Id FROM cvMain WITH(NOLOCK) WHERE LEN(Speciality)>4)
  4995. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 4) + '1' + RIGHT(cvLevel, 5)
  4996. WHERE Id IN(SELECT Id FROM #tt)
  4997. AND SUBSTRING(cvLevel, 5, 1) = '0'
  4998. TRUNCATE TABLE #tt
  4999. INSERT #tt SELECT ID FROM #T
  5000. WHERE SUBSTRING(cvLevelEng, 5, 1) = 0
  5001. AND ID IN(SELECT Id FROM cvMain WITH(NOLOCK) WHERE LEN(SpecialityEng)>4)
  5002. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 4) + '1' + RIGHT(cvLevelEng, 5)
  5003. WHERE Id IN(SELECT Id FROM #tt)
  5004. AND SUBSTRING(cvLevelEng, 5, 1) = '0'
  5005. ---------------------
  5006. TRUNCATE TABLE #tt
  5007. INSERT #tt SELECT ID FROM #T
  5008. WHERE SUBSTRING(cvLevel, 6, 1) = 0
  5009. AND ID IN(SELECT Id FROM cvMain WITH(NOLOCK) WHERE dcSalaryID>0)
  5010. AND ID IN(SELECT cvMainID FROM cvJobType WITH(NOLOCK))
  5011. AND ID IN(SELECT cvMainID FROM cvJobPlace WITH(NOLOCK))
  5012. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 5) + '1' + RIGHT(cvLevel, 4)
  5013. WHERE Id IN(SELECT Id FROM #tt)
  5014. AND SUBSTRING(cvLevel, 6, 1) = '0'
  5015. TRUNCATE TABLE #tt
  5016. INSERT #tt SELECT ID FROM #T
  5017. WHERE SUBSTRING(cvLevelEng, 6, 1) = 0
  5018. AND LEFT(cvLevelEng, 2) = '11'
  5019. AND ID IN(SELECT Id FROM cvMain WITH(NOLOCK) WHERE dcSalaryID>0)
  5020. AND ID IN(SELECT cvMainID FROM cvJobType WITH(NOLOCK))
  5021. AND ID IN(SELECT cvMainID FROM cvJobPlace WITH(NOLOCK))
  5022. UPDATE cvMain SET cvLevelEng = LEFT(cvLevelEng, 5) + '1' + RIGHT(cvLevelEng, 4)
  5023. WHERE Id IN(SELECT Id FROM #tt)
  5024. AND SUBSTRING(cvLevelEng, 6, 1) = '0'
  5025. AND LEFT(cvLevelEng, 2) = '11'
  5026. ----------------
  5027. TRUNCATE TABLE #tt
  5028. INSERT #tt SELECT ID FROM #T
  5029. WHERE SUBSTRING(cvLevel, 7, 1) = 0
  5030. AND LEFT(cvLevel, 2) = '11'
  5031. AND ID IN(SELECT cvMainId FROM cvLanguage WITH(NOLOCK))
  5032. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 6) + '1' + RIGHT(cvLevel, 3)
  5033. WHERE Id IN(SELECT Id FROM #tt)
  5034. AND SUBSTRING(cvLevel, 7, 1) = '0'
  5035. TRUNCATE TABLE #tt
  5036. INSERT #tt SELECT ID FROM #T
  5037. WHERE SUBSTRING(cvLevelEng, 7, 1) = 0
  5038. AND LEFT(cvLevelEng, 2) = '11'
  5039. AND ID IN(SELECT cvMainId FROM cvLanguage WITH(NOLOCK))
  5040. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 6) + '1' + RIGHT(cvLevelEng, 3)
  5041. WHERE Id IN(SELECT Id FROM #tt)
  5042. AND SUBSTRING(cvLevelEng, 7, 1) = '0'
  5043. ----------------
  5044. TRUNCATE TABLE #tt
  5045. INSERT #tt SELECT ID FROM #T
  5046. WHERE SUBSTRING(cvLevel, 8, 1) = 0
  5047. AND ID IN(SELECT cvMainId FROM cvTraining WITH(NOLOCK) WHERE Institution > '')
  5048. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 7) + '1' + RIGHT(cvLevel, 2)
  5049. WHERE Id IN(SELECT Id FROM #tt)
  5050. AND SUBSTRING(cvLevel, 8, 1) = '0'
  5051. TRUNCATE TABLE #tt
  5052. INSERT #tt SELECT ID FROM #T
  5053. WHERE SUBSTRING(cvLevelEng, 8, 1) = 0
  5054. AND ID IN(SELECT cvMainId FROM cvTraining WITH(NOLOCK) WHERE InstitutionEng > '')
  5055. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 7) + '1' + RIGHT(cvLevelEng, 2)
  5056. WHERE Id IN(SELECT Id FROM #tt)
  5057. AND SUBSTRING(cvLevelEng, 8, 1) = '0'
  5058. ----------------
  5059. TRUNCATE TABLE #tt
  5060. INSERT #tt SELECT ID FROM #T
  5061. WHERE SUBSTRING(cvLevel, 9, 1) = 0
  5062. AND ID IN(SELECT cvMainId FROM cvProject WITH(NOLOCK) WHERE Name > '')
  5063. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 8) + '1' + RIGHT(cvLevel, 1)
  5064. WHERE Id IN(SELECT Id FROM #tt)
  5065. AND SUBSTRING(cvLevel, 9, 1) = '0'
  5066. TRUNCATE TABLE #tt
  5067. INSERT #tt SELECT ID FROM #T
  5068. WHERE SUBSTRING(cvLevelEng, 9, 1) = 0
  5069. AND ID IN(SELECT cvMainId FROM cvProject WITH(NOLOCK) WHERE NameEng > '')
  5070. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 8) + '1' + RIGHT(cvLevelEng, 1)
  5071. WHERE Id IN(SELECT Id FROM #tt)
  5072. AND SUBSTRING(cvLevelEng, 9, 1) = '0'
  5073. ----------------
  5074. TRUNCATE TABLE #tt
  5075. INSERT #tt SELECT ID FROM #T
  5076. WHERE RIGHT(cvLevel, 1) = '0'
  5077. AND LEFT(cvLevel, 2) = '11'
  5078. AND ID IN(SELECT cvMainId FROM cvAppendix WITH(NOLOCK))
  5079. UPDATE cvMain SET cvLevel = LEFt(cvLevel, 9) + '1'
  5080. WHERE Id IN(SELECT Id FROM #tt)
  5081. AND RIGHT(cvLevel, 1) = '0'
  5082. AND LEFT(cvLevel, 2) = '11'
  5083. TRUNCATE TABLE #tt
  5084. INSERT #tt SELECT ID FROM #T
  5085. WHERE RIGHT(cvLevelEng, 1) = '0'
  5086. AND LEFT(cvLevelEng, 2) = '11'
  5087. AND ID IN(SELECT cvMainId FROM cvAppendix WITH(NOLOCK))
  5088. UPDATE cvMain SET cvLevelEng = LEFt(cvLevelEng, 9) + '1'
  5089. WHERE Id IN(SELECT Id FROM #tt)
  5090. AND RIGHT(cvLevelEng, 1) = '0'
  5091. AND LEFT(cvLevelEng, 2) = '11'
  5092. TRUNCATE TABLE #tt
  5093. DROP TABLE #t
  5094. -----------
  5095. ------------------
  5096. UPDATE paMain SET RegisterType = 102 WHERE RegisterMode = 11 AND RegisterType = 101 AND LastLoginDate > GETDATE() - 1
  5097. CREATE TABLE #1(id INT IDENTITY(1, 1), cvMainId INT)
  5098. INSERT INTO #1(cvMainId)
  5099. SELECT a.Id
  5100. FROM cvMain a, paMain b
  5101. WHERE a.paMainId = b.Id
  5102. AND b.BlockCount = 0
  5103. AND b.VerifyCount > 0
  5104. AND b.LastLoginDate > GETDATE() - 3
  5105. AND (b.RegisterMode = 1 OR b.RegisterType = 101)
  5106. AND b.AddMan >= 112
  5107. AND a.VerifyResult = 1
  5108. AND a.cvLevel LIKE '1111_1%'
  5109. DECLARE @Id INT, @cvMainId INT
  5110. SET @Id = 0
  5111. WHILE EXISTS(SELECT 'x' FROM #1 WHERE Id > @Id)
  5112. BEGIN
  5113. SELECT TOP 1 @Id = Id, @cvMainId = cvMainId FROM #1 WHERE Id > @id ORDER BY ID
  5114. UPDATE cvMain SET VerifyResult = VerifyResult WHERE Id = @cvMainId
  5115. END
  5116. DROP TABLE #1
  5117. ENd
  5118. GO
  5119. /****** Object: StoredProcedure [dbo].[spCvMainByIsOpenUpdate] Script Date: 2018/12/13 19:13:06 ******/
  5120. SET ANSI_NULLS ON
  5121. GO
  5122. SET QUOTED_IDENTIFIER ON
  5123. GO
  5124. CREATE PROCEDURE [dbo].[spCvMainByIsOpenUpdate]
  5125. AS
  5126. BEGIN
  5127. --1--按条件把状态改为开放
  5128. UPDATE a SET a.IsOpen = 1
  5129. FROM cvMain a WITH(NOLOCK)
  5130. INNER JOIN paMain b WITH(NOLOCK) ON a.paMainId = b.Id AND b.LastLoginDate > GETDATE()- 2
  5131. INNER JOIN dcCvOpenSET c WITH(NOLOCK) ON a.Degree = c.dcEducation
  5132. AND b.LivePlace LIKE CONVERT(VARCHAR(2), c.dcProvinceId) + '%'
  5133. WHERE (ISNULL(b.BirthDay, 999999) > dbo.AgeToBirth(c.Age))
  5134. AND a.IsOpen = 0
  5135. AND (
  5136. (a.VerifyResult = 1 AND a.cvLevel LIKE '111__1%')
  5137. OR (a.VerifyResultEng = 1 AND a.cvLevelEng LIKE '111__1%')
  5138. )
  5139. --2--按条件把状态改为不开放
  5140. UPDATE a SET a.IsOpen = 0
  5141. FROM cvMain a WITH(NOLOCK)
  5142. INNER JOIN paMain b WITH(NOLOCK) ON a.paMainId = b.Id AND b.LastLoginDate > GETDATE()- 2
  5143. INNER JOIN dcCvOpenSET c WITH(NOLOCK) ON a.Degree = c.dcEducation
  5144. AND b.LivePlace LIKE CONVERT(VARCHAR(2), c.dcProvinceId) + '%'
  5145. WHERE b.BirthDay <= dbo.AgeToBirth(c.Age)
  5146. AND a.IsOpen = 1
  5147. AND IsNull(b.Mobile, '') <> '' --Richard 2011.8.21增加,避免反复修改
  5148. AND (
  5149. (a.VerifyResult = 1 AND a.cvLevel LIKE '111__1%')
  5150. OR (a.VerifyResultEng = 1 AND a.cvLevelEng LIKE '111__1%')
  5151. )
  5152. --3--初中学历都是开放简历
  5153. UPDATE cvMain SET IsOpen = 1
  5154. WHERE degree = 1
  5155. AND IsOpen = 0
  5156. --4--没有手机的账号 一定是开放简历
  5157. UPDATE cvMain SET IsOpen = 1
  5158. WHERE IsOpen = 0
  5159. AND Attachment IS NULL
  5160. AND paMainID IN(
  5161. SELECT ID FROM paMain a WITH(NOLOCK)
  5162. WHERE IsNull(Mobile, '') = ''
  5163. AND LastLoginDate > GETDATE()- 2
  5164. )
  5165. --5--附件简历都不开放
  5166. UPDATE cvMain SET IsOpen = 0
  5167. WHERE IsOpen = 1
  5168. AND NOT (
  5169. (VerifyResult = 1 AND cvLevel LIKE '111__1%')
  5170. OR (VerifyResultEng = 1 AND cvLevelEng LIKE '111__1%')
  5171. )
  5172. AND Attachment IS NOT NULL
  5173. AND paMainID IN (SELECT ID FROM paMain WITH(NOLOCK)
  5174. WHERE LastLoginDate > GETDATE()- 2)
  5175. --6--无效简历都是开放
  5176. UPDATE cvMain SET IsOpen = 1
  5177. WHERE IsOpen = 0
  5178. AND NOT (
  5179. (VerifyResult = 1 AND cvLevel LIKE '111__1%')
  5180. OR (VerifyResultEng = 1 AND cvLevelEng LIKE '111__1%')
  5181. )
  5182. AND Attachment IS NULL
  5183. AND paMainID IN (SELECT ID FROM paMain WITH(NOLOCK)
  5184. WHERE LastLoginDate > GETDATE()- 2)
  5185. END
  5186. GO
  5187. /****** Object: StoredProcedure [dbo].[spCvMainByJobNameFix] Script Date: 2018/12/13 19:13:07 ******/
  5188. SET ANSI_NULLS ON
  5189. GO
  5190. SET QUOTED_IDENTIFIER ON
  5191. GO
  5192. CREATE PROCEDURE [dbo].[spCvMainByJobNameFix]
  5193. AS
  5194. SET NOCOUNT ON
  5195. BEGIN
  5196. CREATE TABLE #t(Id INT IDENTITY(1, 1), cvMainId INT, JobName VARCHAR(50))
  5197. INSERT #t SELECT Id, NULL FROM cvMain WHERE SecondId = JobName AND Valid > 0
  5198. UPDATE #t SET JobName = (SELECT TOP 1 Jobname FROM cvExperience WHERE cvExperience.cvMainId = #t.cvMainId ORDER BY BeginDate desc)
  5199. UPDATE a SET a.JobName = b.JobName FROM cvMain a, #t b WHERE a.id = b.cvmainid AND b.JobName >''
  5200. DELETE FROM #t WHERE JobName > ''
  5201. DELETE FROM #t
  5202. INSERT #t SELECT Id, NULL FROM cvMain WHERE SecondId = JobName AND Valid > 0
  5203. AND paMainId IN(SELECT id FROM paMain WHERE BirthDay > CONVERT(VARCHAR(6), DATEADD(YEAR, -25, GETDATE()), 112) AND LastLoginDate > GETDATE() - 3)
  5204. ------------------------------------
  5205. CREATE TABLE #jn(cvMainId INT, dcJobTypeId INT, JobName NVARCHAR(20))
  5206. INSERT INTO #jn(cvMainID)
  5207. SELECT ID
  5208. FROM cvMain
  5209. WHERE JobName IS NULL
  5210. AND Valid > 0
  5211. AND paMainId IN(SELECT id FROM paMain WHERE BirthDay <= CONVERT(VARCHAR(6), DATEADD(YEAR, -25, GETDATE()), 112) AND LastLoginDate > GETDATE() - 3)
  5212. INSERT INTO #jn(cvMainID) SELECT cvMainId FROM #t WHERE cvMainId NOT IN(SELECT cvMainId FROM #Jn)
  5213. UPDATE #jn SET dcJobTypeId = (SELECT TOP 1 dcJobTypeId FROM cvJobType WHERE cvJobType.cvMainId = #jn.cvMainId)
  5214. UPDATE a SET a.JobName = '期望' + b.Description FROM #jn a, dcJobType b WHERE a.dcjobTypeId = b.Id
  5215. DELETE FROM #jn WHERE JobName IS NULL
  5216. UPDATE a SET a.JobName = b.JobName FROM cvMain a, #jn b WHERE a.Id = b.cvMainId AND a.JobName IS NULL
  5217. UPDATE a SET a.JobName = b.JobName FROM cvMain a, #jn b WHERE a.Id = b.cvMainId AND a.Secondid = a.JobName
  5218. UPDATE a SET a.JobName = b.JobName FROM cvMainPublish a, #jn b WHERE a.Id = b.cvMainId AND a.JobName IS NULL
  5219. AND a.Id IN(SELECT TOP 9999 a.ID FROM cvMainPublish a, #jn b WHERE a.Id = b.cvMainId AND a.JobName IS NULL)
  5220. UPDATE a SET a.JobName = b.JobName FROM cvMainPublish a, cvMain b
  5221. WHERE a.Id = b.Id AND a.Id IN(SELECT TOP 3000 a.Id FROM cvMainPublish a WITH(NOLOCK), cvMain b WITH(NOLOCK) WHERE a.Id = b.Id AND ISNULL(a.JobName, '') <> b.JobName)
  5222. -------------------------------
  5223. SELECT a.Id paMainId, b.Id cvMainId
  5224. INTO #pc
  5225. FROM paMain a, cvMain b
  5226. WHERE a.Id = b.paMainId
  5227. AND a.LastLoginDate >= CONVERT(VARCHAR(10), GETDATE() -365, 120)
  5228. AND b.Valid > 0
  5229. CREATE TABLE #delp(id INT, HasDel BIT)
  5230. INSERT INTO #Delp SELECT ID, 0 FROM paMainPublish WHERE Id NOT IN(SELECT paMainId FROM #pc)
  5231. UPDATE #delp SET HasDel = 1 WHERE Id IN(SELECT TOP 3999 ID FROM #Delp)
  5232. DELETE FROM paMainPublish WHERE Id IN(SELECT ID FROM #delp WHERE HasDel = 1)
  5233. DELETE #delp WHERE HasDel = 1
  5234. INSERT INTO paMainPublish(ID, Gender, BirthDay, LivePlace, AccountPlace, GrowPlace, Height, HasPhoto, LastLoginDate, LastModifyDate, MobileRegion, dcProvinceID)
  5235. SELECT TOP 2000 ID, Gender, BirthDay, LivePlace, AccountPlace, GrowPlace, Height, HasPhoto, LastLoginDate, LastModifyDate, MobileRegion, dcProvinceID
  5236. FROM paMain WHERE ID IN(SELECT paMainId FROM #pc WHERE paMainId NOT IN(SELECT Id FROM paMainPublish))
  5237. INSERT INTO cvMainPublish(ID, paMainID, Degree, dcMajorID, LastJobTypeID, LastIndustryID, JobName, SubNodeNum,
  5238. RelatedWorkYears, dcSalaryID, IsNegotiable, Speciality, SpecialityEng, Attachment, Valid, RefreshDate, EmployType)
  5239. SELECT TOP 2000 ID, paMainID, Degree, dcMajorID, LastJobTypeID, LastIndustryID, JobName, SubNodeNum,
  5240. RelatedWorkYears, dcSalaryID, IsNegotiable, Speciality, SpecialityEng, Attachment, Valid, RefreshDate, EmployType
  5241. FROM cvMain
  5242. WHERE ID IN(SELECT cvMainId FROM #pc WHERE cvMainId NOT IN(SELECT Id FROM cvMainPublish))
  5243. ORDER BY ID
  5244. -- SELECT (SELECT COUNT(DISTINCT paMainId) FROM #pc) pnum,
  5245. -- (SELECT COUNT(DISTINCT cvMainId) FROM #pc) cnum,
  5246. -- (SELECT COUNT(*) FROM cvMainPublish WHERE Id NOT IN(SELECT cvMainId FROM #pc)) cnumnotin,
  5247. -- (SELECT COUNT(*) FROM cvMainPublish WHERE Id IN(SELECT cvMainId FROM #pc)) cnumin,
  5248. -- (SELECT COUNT(*) FROM paMainPublish WHERE Id NOT IN(SELECT paMainId FROM #pc)) pnumnotin,
  5249. -- (SELECT COUNT(*) FROM paMainPublish WHERE Id IN(SELECT paMainId FROM #pc)) pnumin
  5250. -- DROP TABLE #pc
  5251. -- DROP TABLE #Delp
  5252. END
  5253. GO
  5254. /****** Object: StoredProcedure [dbo].[SpCvMainByJobNameUpdate] Script Date: 2018/12/13 19:13:07 ******/
  5255. SET ANSI_NULLS ON
  5256. GO
  5257. SET QUOTED_IDENTIFIER ON
  5258. GO
  5259. CREATE PROCEDURE [dbo].[SpCvMainByJobNameUpdate]
  5260. AS
  5261. BEGIN
  5262. create table #t(id int)
  5263. insert into #t
  5264. select id
  5265. from cvmain
  5266. where pamainid in (
  5267. select id from pamain
  5268. where lastlogindate between getdate()-180 and getdate() - 0.2
  5269. and birthday<=convert(varchar(6), dateadd(year,-25,getdate()), 112))
  5270. and valid = 0
  5271. and cvlevel like '1110_1%'
  5272. and cvtype=0
  5273. --and pamainid not in(select pamainid from cvmain where valid>0)
  5274. update cvmain set cvtype=1, cvlevel = '1111' + right(cvlevel, 6) where id in(select id from #t)
  5275. update cvmain set jobname=id where id in(select id from #t) and jobname is null
  5276. --------
  5277. truncate table #t
  5278. insert into #t
  5279. select id
  5280. from cvmain
  5281. where pamainid in (
  5282. select id from pamain
  5283. where lastlogindate between getdate()-180 and getdate() - 0.2
  5284. and birthday>convert(varchar(6), dateadd(year,-25,getdate()), 112))
  5285. and valid = 0
  5286. and cvlevel like '1110_1%'
  5287. and cvtype=0
  5288. --and pamainid not in(select pamainid from cvmain where valid>0)
  5289. update cvmain set cvtype=1, cvlevel = '1111' + right(cvlevel, 6) where id in(select id from #t)
  5290. update cvmain set jobname='应届毕业生' where id in(select id from #t) and jobname is null
  5291. ---------------
  5292. update cvmain set jobname=id
  5293. where pamainid in (select id from pamain where lastlogindate > getdate()-180 and birthday<=convert(varchar(6), dateadd(year,-25,getdate()), 112))
  5294. and valid > 0
  5295. and jobname='应届毕业生'
  5296. update cvmain set jobname='应届毕业生'
  5297. where pamainid in (select id from pamain where lastlogindate > getdate()-180 and birthday>convert(varchar(6), dateadd(year,-25,getdate()), 112))
  5298. and valid > 0
  5299. and jobname = SecondId
  5300. END
  5301. GO
  5302. /****** Object: StoredProcedure [dbo].[spCvMainByNameFix] Script Date: 2018/12/13 19:13:07 ******/
  5303. SET ANSI_NULLS ON
  5304. GO
  5305. SET QUOTED_IDENTIFIER ON
  5306. GO
  5307. CREATE PROCEDURE [dbo].[spCvMainByNameFix]
  5308. AS
  5309. BEGIN
  5310. CREATE TABLE #t(
  5311. ID INT,
  5312. JobType SMALLINT,
  5313. JobPlace VARCHAR(6),
  5314. JobTypeDesc NVARCHAR(30),
  5315. JobPlaceDesc NVARCHAR(20),
  5316. cvName NVARCHAR(50)
  5317. )
  5318. INSERT INTO #t(ID)
  5319. SELECT a.Id FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK)
  5320. WHERE (a.RefreshDate > DATEADD(MINUTE, -70, GETDATE())
  5321. OR b.LastLoginDate > DATEADD(MINUTE, -70, GETDATE()))
  5322. AND a.paMainId = b.ID
  5323. AND a.dcSalaryId > 0
  5324. AND a.ID IN(SELECT cvMainID FROM cvJobType)
  5325. AND a.ID IN(SELECT cvMainID FROM cvJobPlace)
  5326. AND a.Name = '未完成简历'
  5327. UPDATE #t SET JobType = (SELECT TOP 1 dcJobTypeID FROM cvJobType WITH(NOLOCK) WHERE cvJobType.cvMainId = #t.ID)
  5328. UPDATE #t SET JobPlace = (SELECT TOP 1 dcRegionId FROM cvJobPlace WITH(NOLOCK) WHERE cvJobPlace.cvMainId = #t.ID)
  5329. UPDATE #t SET JobTypeDesc = (SELECT TOP 1 Description FROM dcJobType WITH(NOLOCK) WHERE dcJobType.ID = #t.JobType)
  5330. UPDATE #t SET JobPlaceDesc = (SELECT TOP 1 Description FROM dcRegion WITH(NOLOCK) WHERE dcRegion.ID = #t.JobPlace)
  5331. UPDATE #t SET cvName = JobPlaceDesc + '+' + JobTypeDesc WHERE JobPlaceDesc IS NOT NULL AND JobTypeDesc IS NOT NULL
  5332. DELETE FROM #t WHERE cvName IS NULL
  5333. UPDATE a
  5334. SET a.Name = b.cvName
  5335. FROM cvMain a WITH(NOLOCK), #t b
  5336. WHERE a.id = b.id
  5337. DROP TABLE #t
  5338. END
  5339. GO
  5340. /****** Object: StoredProcedure [dbo].[spCvMainByValidFix] Script Date: 2018/12/13 19:13:07 ******/
  5341. SET ANSI_NULLS ON
  5342. GO
  5343. SET QUOTED_IDENTIFIER ON
  5344. GO
  5345. CREATE PROCEDURE [dbo].[spCvMainByValidFix]
  5346. AS
  5347. SET NOCOUNT ON
  5348. BEGIN
  5349. SELECT a.ID INTO #t FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK)
  5350. WHERE a.paMainID = b.ID AND (b.LastLoginDate > GETDATE() - 2 OR a.RefreshDate > GETDATE() - 2)
  5351. UPDATE cvMain SET Valid = 0 WHERE IsCvHidden = 1 AND Valid > 0 AND ID IN(SELECT ID FROM #T)
  5352. UPDATE cvMain SET Attachment = NULL WHERE Attachment = '' AND ID IN(SELECT ID FROM #T)
  5353. UPDATE cvMain SET Valid = 0
  5354. WHERE NOT (cvLevel LIKE '1111_1%' AND VerifyResult = 1)
  5355. AND NOT (cvLevelEng LIKE '1111_1%' AND VerifyResultEng = 1)
  5356. AND Valid > 0
  5357. AND IsCvHidden = 0
  5358. AND Attachment IS NULL
  5359. AND ID IN(SELECT ID FROM #T)
  5360. UPDATE cvMain SET Valid = 1
  5361. WHERE cvLevel LIKE '1111_1%'
  5362. AND VerifyResult = 1
  5363. AND NOT (cvLevelEng LIKE '1111_1%' AND VerifyResultEng = 1)
  5364. AND IsCvHidden = 0
  5365. AND Valid <> 1
  5366. AND ID IN(SELECT ID FROM #T)
  5367. UPDATE cvMain SET Valid = 2
  5368. WHERE cvLevel LIKE '1111_1%'
  5369. AND VerifyResult = 1
  5370. AND cvLevelEng LIKE '1111_1%'
  5371. AND VerifyResultEng = 1
  5372. AND Valid <> 2
  5373. AND IsCvHidden = 0
  5374. AND ID IN(SELECT ID FROM #T)
  5375. UPDATE cvMain SET Valid = 3
  5376. WHERE NOT (cvLevel LIKE '1111_1%' AND VerifyResult = 1)
  5377. AND cvLevelEng LIKE '1111_1%'
  5378. AND VerifyResultEng = 1
  5379. AND Valid <> 3
  5380. AND IsCvHidden = 0
  5381. AND ID IN(SELECT ID FROM #T)
  5382. UPDATE cvMain SET Valid = 1
  5383. WHERE cvLevel NOT LIKE '1111_1%'
  5384. AND cvLevelEng NOT LIKE '1111_1%'
  5385. AND VerifyResult = 1
  5386. AND VerifyResultEng = 1
  5387. AND Attachment > ''
  5388. AND Valid <> 1
  5389. AND IsCvHidden = 0
  5390. AND ID IN(SELECT ID FROM #T)
  5391. -----------------------------------------------------------
  5392. CREATE TABLE #t2(Seq INT IDENTITY(1, 1), Id INT)
  5393. INSERT INTO #t2
  5394. SELECT Id FROM cvMain WITH(NOLOCK)
  5395. WHERE cvLevel LIKE '1111_1%'
  5396. AND VerifyResult = 1
  5397. AND IsCvHidden = 0
  5398. AND Valid=0
  5399. AND Id IN(SELECT ID FROM #t)
  5400. ORDER BY ID DESC
  5401. INSERT INTO #t2
  5402. SELECT ID
  5403. FROM cvMain WITH(NOLOCK)
  5404. WHERE Attachment > ''
  5405. AND Valid = 0
  5406. AND IsCvHidden = 0
  5407. AND VerifyResult != 10
  5408. AND VerifyResultEng != 10
  5409. AND Id IN(SELECT ID FROM #t)
  5410. DECLARE @S VARCHAR(MAX), @I INT, @All INT
  5411. SELECT @All = MAX(Seq) FROM #t2
  5412. SET @i = 1
  5413. WHILE (@i < @All)
  5414. BEGIN
  5415. SELECT @s = 'UPDATE cvMain SET cvLevel = cvLevel WHERE Id = ' + LTRIM(STR(ID)) FROM #t2 WHERE Seq = @i
  5416. EXEC(@s)
  5417. SET @i = @i + 1
  5418. END
  5419. DROP TABLE #t2
  5420. DROP TABLE #t
  5421. END
  5422. GO
  5423. /****** Object: StoredProcedure [dbo].[SpCvMainByYingJieShengFix] Script Date: 2018/12/13 19:13:08 ******/
  5424. SET ANSI_NULLS ON
  5425. GO
  5426. SET QUOTED_IDENTIFIER ON
  5427. GO
  5428. CREATE PROCEDURE [dbo].[SpCvMainByYingJieShengFix]
  5429. AS
  5430. SET NOCOUNT ON
  5431. BEGIN
  5432. SELECT Id, LastJobTypeId JobTypeId, SPACE(6) RegionId,
  5433. SPACE(50) JobTypeName, SPACE(20) RegionName, JobName
  5434. INTO #t
  5435. FROM cvMain WITH(NOLOCK)
  5436. WHERE (JobName = '应届毕业生' OR JobName = '附件简历' OR JobName = SecondId)
  5437. AND paMainId IN(SELECT Id FROM paMain WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 3)
  5438. AND cvLevel LIKE '1111_1%'
  5439. ORDER BY ID DESC
  5440. UPDATE #t SET JobTypeId = (SELECT TOP 1 dcJobTypeId FROM cvJobType WITH(NOLOCK) WHERE cvJobType.cvMainId = #t.Id)
  5441. UPDATE #t SET RegionId = (SELECT TOP 1 dcRegionId FROM cvJobPlace WITH(NOLOCK) WHERE cvJobPlace.cvMainId = #t.Id)
  5442. UPDATE #t SET JobTypeName = (SELECT Description FROM dcJobType WITH(NOLOCK) WHERE dcJobType.Id = JobTypeId)
  5443. UPDATE #t SET JobTypeName = LEFT(JobTypeName, CHARINDEX('/', JobTypeName) -1) WHERE CHARINDEX('/', JobTypeName) > 2
  5444. UPDATE #t SET RegionName = (SELECT Description FROM dcRegion WITH(NOLOCK) WHERE dcRegion.Id = RegionId)
  5445. UPDATE #t SET RegionName = LEFT(RegionName, LEN(RegionName) - 1) WHERE LEN(RegionName) > 2 AND RIGHT(RegionName, 1) IN('省', '市', '县', '区', '旗')
  5446. UPDATE #t SET JobName = LEFT(JobTypeName + ' ' + RegionName, 20)
  5447. SELECT COUNT(*) FROM #t
  5448. UPDATE a
  5449. SET a.JobName = b.JobName
  5450. FROM cvMain a, #t b
  5451. WHERE a.id = b.id
  5452. --AND a.JobName = '应届毕业生'
  5453. UPDATE a
  5454. SET a.JobName = b.JobName
  5455. FROM cvMainPublish a, cvmain b
  5456. WHERE ISNULL(a.JobName, '') <> ISNULL(b.JobName, '')
  5457. AND a.Id = b.Id
  5458. END
  5459. GO
  5460. /****** Object: StoredProcedure [dbo].[spcvMainClear] Script Date: 2018/12/13 19:13:08 ******/
  5461. SET ANSI_NULLS ON
  5462. GO
  5463. SET QUOTED_IDENTIFIER ON
  5464. GO
  5465. CREATE PROCEDURE [dbo].[spcvMainClear]
  5466. AS
  5467. BEGIN
  5468. DECLARE @ID AS INT, @PaMainID AS INT
  5469. CREATE TABLE #Id(ID INT)
  5470. SELECT @ID = MIN(ID) FROM paMain WITH(NOLOCK) WHERE AddDate > DATEADD(DAY, - 1, GETDATE())
  5471. SELECT ID INTO #t FROM cvMain WITH(NOLOCK) WHERE paMainID IN(SELECT ID FROM PaMain WITH(NOLOCK) WHERE NAME = '王蓓' AND ID > @ID)
  5472. IF (SELECT COUNT(*) FROM #t) > 0
  5473. BEGIN
  5474. INSERT #ID
  5475. SELECT ID FROM cvMain WITH(NOLOCK)
  5476. WHERE ID IN(SELECT ID FROM #t)
  5477. AND (Speciality LIKE '%冰毒%'
  5478. OR Speciality LIKE '%戚慧丽%'
  5479. OR Speciality LIKE '%58585528%'
  5480. OR Speciality LIKE '%王敏昌%'
  5481. )
  5482. INSERT #Id
  5483. SELECT cvMainID FROM cvExperience WITH(NOLOCK)
  5484. WHERE cvMainID IN(SELECT ID FROM #t)
  5485. AND (DESCRIPTION LIKE '%冰毒%'
  5486. OR DESCRIPTION LIKE '%戚慧丽%'
  5487. OR DESCRIPTION LIKE '%58585528%'
  5488. OR DESCRIPTION LIKE '%王敏昌%'
  5489. )
  5490. INSERT #Id
  5491. SELECT cvMainID FROM cvEducation WITH(NOLOCK)
  5492. WHERE cvMainID IN(SELECT ID FROM #t)
  5493. AND (DETAILS LIKE '%冰毒%'
  5494. OR DETAILS LIKE '%戚慧丽%'
  5495. OR DETAILS LIKE '%58585528%'
  5496. OR DETAILS LIKE '%王敏昌%'
  5497. )
  5498. IF(SELECT COUNT(*) FROM #Id) > 0
  5499. BEGIN
  5500. DELETE ExJobApply WHERE cvMainID IN(SELECT ID FROM #ID)
  5501. UPDATE cvMain SET IsCvHidden = 1 WHERE ID IN(SELECT ID FROM #t)
  5502. UPDATE cvMain SET VerifyResult = 10 WHERE ID IN(SELECT ID FROM #t)
  5503. END
  5504. END
  5505. END
  5506. GO
  5507. /****** Object: StoredProcedure [dbo].[spdcCpMainIdTempinsert] Script Date: 2018/12/13 19:13:08 ******/
  5508. SET ANSI_NULLS ON
  5509. GO
  5510. SET QUOTED_IDENTIFIER ON
  5511. GO
  5512. CREATE PROCEDURE [dbo].[spdcCpMainIdTempinsert]
  5513. as
  5514. begin
  5515. SELECT a.LoginCookies, COUNT(DISTINCT b.CpMainId) Cnt
  5516. INTO #t2
  5517. FROM caLoginLog a, caMain b
  5518. WHERE a.AddDate > GETDATE() - 130
  5519. AND a.caMainId = b.Id
  5520. AND LEN(a.LoginCookies) > 10
  5521. GROUP BY a.LoginCookies
  5522. HAVING COUNT(DISTINCT b.CpMainId) > 10
  5523. SELECT CONVERT(varchar(10), a.adddate, 120) d, a.Loginip, COUNT(DISTINCT b.CpMainId) Cnt
  5524. INTO #t1
  5525. FROM caLoginLog a, caMain b
  5526. WHERE a.AddDate > GETDATE() - 130
  5527. AND a.caMainId = b.Id
  5528. AND LEN(a.LoginCookies) > 10
  5529. GROUP BY CONVERT(varchar(10), a.adddate, 120), a.Loginip
  5530. HAVING COUNT(DISTINCT b.CpMainId) > 10
  5531. DELETE a
  5532. from #t1 a, ip_white b
  5533. where a.loginip like b.ip + '%'
  5534. SELECT Distinct caMainId INTO #ca FROM caLoginLog WHERE LoginCookies IN(SELECT LoginCookies FROM #t2)
  5535. insert into #ca
  5536. SELECT Distinct caMainId FROM caLoginLog a, #t1 b
  5537. WHERE a.Loginip=b.LoginIp
  5538. and CONVERT(varchar(10), a.adddate, 120) = b.d
  5539. SELECT DISTINCT cpMainId INTO #cp FROM caMain WHERE ID IN(SELECT caMainId FROM #ca)
  5540. --select * from #t2 order by cnt desc
  5541. --select * from #ca
  5542. drop table dcCpMainIdTemp
  5543. select * into dcCpMainIdTemp from #cp
  5544. end
  5545. GO
  5546. /****** Object: StoredProcedure [dbo].[spDcIpPlaceByInternationalUpdate] Script Date: 2018/12/13 19:13:09 ******/
  5547. SET ANSI_NULLS ON
  5548. GO
  5549. SET QUOTED_IDENTIFIER ON
  5550. GO
  5551. CREATE PROCEDURE [dbo].[spDcIpPlaceByInternationalUpdate]
  5552. AS
  5553. BEGIN
  5554. SELECT DISTINCT City
  5555. INTO #t
  5556. FROM dcIpPlace WITH(NOLOCK)
  5557. DELETE #t WHERE LEFT(City, 2) IN(SELECT LEFT(SubSiteCity, 2) FROM dcSubSite WITH(NOLOCK))
  5558. OR LEFT(City, 2) IN('华南','全国','清华','东北','东华','华东','华中','西北','首都','长江','集美','纯真','黄河','西华','对外')
  5559. OR City LIKE '中%'
  5560. OR City LIKE '%中国%'
  5561. OR City LIKE '%香港%'
  5562. OR City LIKE '%台湾%'
  5563. OR City LIKE '%澳门%'
  5564. OR City LIKE '%大学%'
  5565. OR City LIKE '%局域网%'
  5566. OR City LIKE '%s246%'
  5567. OR City LIKE '%本机%'
  5568. OR City LIKE '%网络%'
  5569. OR City LIKE '%UCWEB%'
  5570. UPDATE dcIpPlace SET International = NULL WHERE International = 1
  5571. UPDATE dcIpPlace SET International = 1 WHERE City NOT IN(SELECT City FROM #t)
  5572. END
  5573. GO
  5574. /****** Object: StoredProcedure [dbo].[spdcJobTypeMajorMapUpdate] Script Date: 2018/12/13 19:13:09 ******/
  5575. SET ANSI_NULLS ON
  5576. GO
  5577. SET QUOTED_IDENTIFIER ON
  5578. GO
  5579. CREATE PROCEDURE [dbo].[spdcJobTypeMajorMapUpdate]
  5580. AS
  5581. BEGIN
  5582. CREATE TABLE #t(Id INT IDENTITY(1, 1), dcJobTypeId INT, MajorName NVARCHAR(50), Cnt INT)
  5583. INSERT INTO #t
  5584. SELECT y.dcJobTypeid, x.MajorName, COUNT(*) Cnt
  5585. FROM cveducation x WITH(NOLOCK)
  5586. INNER JOIN cvJobtype y WITH(NOLOCK) ON x.cvMainId = y.cvMainId
  5587. WHERE EXISTS(SELECT 'x' FROM cvMain WHERE Id = x.cvMainId AND RefreshDate > '2016-1-1')
  5588. GROUP BY y.dcJobTypeid, x.MajorName
  5589. ORDER BY y.dcJobTypeid, COUNT(*) DESC
  5590. DELETE #t WHERE MajorName = '无'
  5591. DELETE #t WHERE MajorName IS NULL
  5592. DELETE #t WHERE MajorName = ''
  5593. DELETE #t WHERE MajorName = '所学专业未填写'
  5594. SELECT TOP 0 * INTO #1 FROM dcJobTypeMajorMap
  5595. INSERT INTO #1
  5596. SELECT *
  5597. FROM (SELECT a.dcJobTypeId, a.MajorName, b.dcMajorId, ROW_NUMBER() OVER(PARTITION BY dcJobTypeId ORDER BY ID) RowNo,
  5598. b.PinYin, b.JianPin
  5599. FROM #t a, dcMajorKeyword b
  5600. WHERE a.MajorName = b.MajorName) a
  5601. WHERE RowNo = 1
  5602. ORDER BY dcjobTypeId
  5603. UPDATE a SET a.Description = b.Description FROM #1 a, dcMajor b WHERE a.dcMajorId = b.Id
  5604. TRUNCATE TABLE ShortDb..dcJobTypeMajorMap
  5605. INSERT INTO dcJobTypeMajorMap
  5606. SELECT dcJobTypeID, MajorName, dcMajorId, Description, PinYin, JianPin
  5607. FROM #1
  5608. END
  5609. GO
  5610. /****** Object: StoredProcedure [dbo].[spDcRegionByNameUpdate] Script Date: 2018/12/13 19:13:09 ******/
  5611. SET ANSI_NULLS ON
  5612. GO
  5613. SET QUOTED_IDENTIFIER ON
  5614. GO
  5615. CREATE PROCEDURE [dbo].[spDcRegionByNameUpdate](
  5616. @ID VARCHAR(6),
  5617. @OldName NVARCHAR(100),
  5618. @NewName NVARCHAR(100)
  5619. )
  5620. AS
  5621. BEGIN
  5622. UPDATE dcREgion
  5623. SET Description = REPLACE(Description, @OldName, @NewName),
  5624. DescriptionEng = REPLACE(DescriptionEng, @OldName, @NewName),
  5625. FullName = REPLACE(FullName, @OldName, @NewName)
  5626. WHERE ID = @ID
  5627. END
  5628. GO
  5629. /****** Object: StoredProcedure [dbo].[spDeleteCpImageFileSample] Script Date: 2018/12/13 19:13:09 ******/
  5630. SET ANSI_NULLS ON
  5631. GO
  5632. SET QUOTED_IDENTIFIER ON
  5633. GO
  5634. --lambo 20110120
  5635. --删除logo,Visual的sql自动计划任务
  5636. --删除审核不通过的超过30天的logo,Visual。不用修改cpMain里的hasLog,hasVisual的值。因为未审核通过hasLog也是0
  5637. CREATE PROCEDURE [dbo].[spDeleteCpImageFileSample]
  5638. AS
  5639. BEGIN
  5640. SET NOCOUNT ON
  5641. DECLARE cur_cpImage CURSOR
  5642. FOR
  5643. SELECT cpMainID,ImgFile,ImgType FROM cpImage WHERE HasPassed=0 AND CheckDate < GETDATE()-30
  5644. OPEN cur_cpImage
  5645. DECLARE @cpMainID INT,@ImgFile VARCHAR(150),@imgType INT,@cmdStr VARCHAR(500),@path VARCHAR(500)
  5646. FETCH NEXT FROM cur_cpImage INTO @cpMainID,@imgFile,@imgType
  5647. BEGIN TRY
  5648. EXEC SP_CONFIGURE 'show advanced options', 1
  5649. RECONFIGURE
  5650. EXEC SP_CONFIGURE 'xp_cmdshell', 1
  5651. RECONFIGURE
  5652. WHILE @@FETCH_STATUS = 0
  5653. BEGIN
  5654. IF @ImgType = 1
  5655. BEGIN
  5656. SET @path = (SELECT dbo.photoPath(@cpMainID,4))
  5657. SET @cmdStr = 'del D:\hosting\qlrc.com\imagefolder\Logo\' + @path + '\' + @imgFile --删除Logo目录
  5658. END
  5659. ELSE IF @ImgType = 2
  5660. BEGIN
  5661. SET @path = (SELECT dbo.photoPath(@cpMainID,4))
  5662. SET @cmdStr = 'del D:\hosting\qlrc.com\imagefolder\Visual\' + @path + '\' + @imgFile --删除Visual目录
  5663. END
  5664. EXEC master.dbo.xp_cmdshell @cmdStr
  5665. DELETE FROM cpImage WHERE cpMainID = @cpMainID AND ImgType = @ImgType
  5666. FETCH NEXT FROM cur_cpImage INTO @cpMainID,@imgFile,@imgType
  5667. END
  5668. EXEC SP_CONFIGURE 'xp_cmdshell', 0
  5669. RECONFIGURE
  5670. EXEC SP_CONFIGURE 'show advanced options', 0
  5671. RECONFIGURE
  5672. END TRY
  5673. BEGIN CATCH
  5674. END CATCH
  5675. CLOSE cur_cpImage
  5676. DEALLOCATE cur_cpImage
  5677. END
  5678. GO
  5679. /****** Object: StoredProcedure [dbo].[spDeleteFileSample] Script Date: 2018/12/13 19:13:10 ******/
  5680. SET ANSI_NULLS ON
  5681. GO
  5682. SET QUOTED_IDENTIFIER ON
  5683. GO
  5684. CREATE PROCEDURE [dbo].[spDeleteFileSample]
  5685. AS
  5686. BEGIN
  5687. EXEC SP_CONFIGURE 'show advanced options', 1
  5688. RECONFIGURE
  5689. EXEC SP_CONFIGURE 'xp_cmdshell', 1
  5690. RECONFIGURE
  5691. DECLARE cur_paPhoto CURSOR
  5692. FOR
  5693. SELECT p.paMainID, p.PhotoProcessed Photo FROM paPhoto AS p INNER JOIN paMain AS m ON m.ID = p.paMainID
  5694. WHERE m.hasPhoto = 2 AND CheckDate < GETDATE()-30
  5695. OPEN cur_paPhoto
  5696. DECLARE @id INT,@photo VARCHAR(150),@cmdStr VARCHAR(500),@path VARCHAR(500)
  5697. FETCH NEXT FROM cur_paPhoto INTO @id, @photo
  5698. BEGIN TRY
  5699. WHILE @@FETCH_STATUS = 0
  5700. BEGIN
  5701. -- SET @path = '@echo del D:\hosting\qlrc.com\imagefolder\photo\'+@path+' >>d:\delfile.bat'
  5702. -- EXEC master.dbo.xp_cmdshell @path
  5703. -- SET @cmdStr = '@echo del D:\hosting\qlrc.com\imagefolder\photo\'+@cmdStr+' >>d:\delfile.bat' --新建一个bat执行文件,点击删除
  5704. -- EXEC master.dbo.xp_cmdshell @cmdStr
  5705. SET @path = (SELECT dbo.photoPath(@id,1))
  5706. SET @cmdStr = 'del D:\hosting\qlrc.com\imagefolder\photo\' + @path + '\processed\' + @photo --删除processed目录
  5707. EXEC master.dbo.xp_cmdshell @cmdStr
  5708. SET @cmdStr = 'del D:\hosting\qlrc.com\imagefolder\photo\' + @path + '\photo\' + @photo --删除phOTO目录
  5709. EXEC master.dbo.xp_cmdshell @cmdStr
  5710. DELETE FROM paPhoto WHERE paMainID = @ID
  5711. UPDATE paMain SET HasPhoto = NULL WHERE ID = @ID
  5712. FETCH NEXT FROM cur_paPhoto INTO @id,@photo
  5713. END
  5714. END TRY
  5715. BEGIN CATCH
  5716. END CATCH
  5717. CLOSE cur_paPhoto
  5718. DEALLOCATE cur_paPhoto
  5719. EXEC SP_CONFIGURE 'xp_cmdshell', 0
  5720. RECONFIGURE
  5721. EXEC SP_CONFIGURE 'show advanced options', 0
  5722. RECONFIGURE
  5723. END
  5724. GO
  5725. /****** Object: StoredProcedure [dbo].[spDeleteOrder] Script Date: 2018/12/13 19:13:10 ******/
  5726. SET ANSI_NULLS ON
  5727. GO
  5728. SET QUOTED_IDENTIFIER ON
  5729. GO
  5730. CREATE PROCEDURE [dbo].[spDeleteOrder]
  5731. (
  5732. @Id INT
  5733. )
  5734. AS
  5735. BEGIN
  5736. DECLARE @OrderStatus INT
  5737. SELECT @OrderStatus = OrderStatus FROM caOrder WHERE ID = @Id
  5738. IF @OrderStatus > 6
  5739. UPDATE caORder SET OrderStatus = 6 WHERE ID = @Id
  5740. IF @OrderStatus = 6
  5741. UPDATE caORder SET ReceiveDate = NULL WHERE ID = @Id
  5742. UPDATE caORder SET OpenDate = NULL, IsDeleted = 1 WHERE ID = @Id
  5743. UPDATE caORder SET OpenDate = NULL, IsDeleted = 1 WHERE MainOrderID = @Id
  5744. SELECT isDeleted, * FROM caOrder WHERE Id = @id
  5745. END
  5746. GO
  5747. /****** Object: StoredProcedure [dbo].[spEmailCheck] Script Date: 2018/12/13 19:13:10 ******/
  5748. SET ANSI_NULLS ON
  5749. GO
  5750. SET QUOTED_IDENTIFIER ON
  5751. GO
  5752. CREATE PROCEDURE [dbo].[spEmailCheck]
  5753. (
  5754. @DeptID AS INT
  5755. )
  5756. AS
  5757. BEGIN
  5758. DECLARE @ManageruserId INT,
  5759. @count INT,
  5760. @RAND INT,
  5761. @i INT,
  5762. @time INT,
  5763. @minute INT,
  5764. @WorkDate int
  5765. SELECT @WorkDate = COUNT(1)
  5766. FROM Sales_WorkDate WITH(NOLOCK)
  5767. WHERE WorkDate = CONVERT(VARCHAR(8), GETDate(), 112)
  5768. IF @WorkDate = 1
  5769. BEGIN
  5770. ----deptId=10 客户服务部
  5771. SELECT TOP 1 @ManageruserId = ID
  5772. FROM ManagerUser WITH(NOLOCK)
  5773. WHERE DeptId = @DeptId
  5774. AND Status IN (1, 2)
  5775. AND Type IN (1, 5)
  5776. AND LEN(LTRIM(RTRIM(Email))) > 0
  5777. ORDER BY NEWID()
  5778. SET @time = CAST(RAND() * 8 AS INT) + 9
  5779. --PRINT @TIME
  5780. SET @minute = CAST(RAND() * 60 AS INT)
  5781. IF @time = 12
  5782. SET @time=13
  5783. IF @ManageruserId IS NOT NULL
  5784. INSERT INTO emailcheck (testDate, planhour, planminute, ManageruserId)
  5785. VALUES (CONVERT(VARCHAR(8), GETDate(), 112), @time, @minute, @ManageruserId)
  5786. END
  5787. END
  5788. GO
  5789. /****** Object: StoredProcedure [dbo].[spEndOrder] Script Date: 2018/12/13 19:13:10 ******/
  5790. SET ANSI_NULLS ON
  5791. GO
  5792. SET QUOTED_IDENTIFIER ON
  5793. GO
  5794. CREATE PROCEDURE [dbo].[spEndOrder]
  5795. (
  5796. @Id INT
  5797. )
  5798. AS
  5799. BEGIN
  5800. UPDATE caOrder SET EndDate = GETDATE() WHERE Id = @Id
  5801. End
  5802. GO
  5803. /****** Object: StoredProcedure [dbo].[spFindForeignCompany] Script Date: 2018/12/13 19:13:11 ******/
  5804. SET ANSI_NULLS ON
  5805. GO
  5806. SET QUOTED_IDENTIFIER ON
  5807. GO
  5808. CREATE PROCEDURE [dbo].[spFindForeignCompany]
  5809. AS
  5810. BEGIN
  5811. CREATE TABLE #t(
  5812. ID int NOT NULL,
  5813. RegisterIP varchar(31) NULL,
  5814. r1 varchar(31) NULL,
  5815. r2 varchar(31) NULL,
  5816. ip1 varchar(31) NULL,
  5817. ip2 varchar(31) NULL,
  5818. ip3 varchar(31) NULL,
  5819. ip4 varchar(31) NULL,
  5820. IP bigint NULL,
  5821. IsForeign tinyint NULL,
  5822. LoginDate DATETIME
  5823. )
  5824. INSERT INTO #t
  5825. SELECT ID, RegisterIP,RegisterIP r1, RegisterIP r2, SPACE(30) ip1, SPACE(30) ip2, SPACE(30) ip3, SPACE(30) ip4, CONVERT(BIGINT, 0) IP, CONVERT(TINYINT, 0) IsForeign, RegDate
  5826. FROM cpMain WITH(NOLOCK)
  5827. WHERE RegisterIp LIKE '%.%.%.%'
  5828. AND RegDate > '2014-11-1' --GETDATE() - 730
  5829. And dcProvinceId = 10
  5830. AND id in(select cpmainid from cplicence where haspassed=1 and checkdate > '2014-11-1')
  5831. INSERT INTO #t
  5832. SELECT DISTINCT b.cpMainId, a.LoginIp, a.LoginIp, a.LoginIp, a.LoginIp, SPACE(30) ip2, SPACE(30) ip3, SPACE(30) ip4, CONVERT(BIGINT, 0) IP, CONVERT(TINYINT, 0) IsForeign, AddDate
  5833. FROM caloginLog a WITH(NOLOCK), caMain b WITH(NOLOCK)
  5834. WHERE a.caMainId = b.Id
  5835. AND a.LoginIp LIKE '%.%.%.%'
  5836. AND a.AddDate > '2014-8-1' --GETDATE() - 730
  5837. AND b.cpMainId IN(SELECT ID FROM cpMain WITH(NOLOCK) WHERE dcProvinceID = 10)
  5838. AND b.cpmainid in(select cpmainid from cplicence where haspassed=1 and checkdate > '2014-11-1')
  5839. UPDATE #t SET ip1 = LEFT(RegisterIp, CHARINDEX('.', RegisterIP)-1)
  5840. UPDATE #t SET r1 = RIGHT(RegisterIp, LEN(RegisterIp) - CHARINDEX('.', RegisterIP))
  5841. UPDATE #t SET ip2 = LEFT(r1, CHARINDEX('.', r1)-1)
  5842. UPDATE #t SET r2 = RIGHT(r1, LEN(r1) - CHARINDEX('.', r1))
  5843. UPDATE #t SET ip3 = LEFT(r2, CHARINDEX('.', r2)-1)
  5844. UPDATE #t SET ip4 = RIGHT(r2, LEN(r2) - CHARINDEX('.', r2))
  5845. UPDATE #t SET ip4 = 0 where Ip4 Like '%.%'
  5846. DElete from #t where registerip like 'u%'
  5847. UPDATE #t SET IP = CONVERT(BIGINT, Ip1) * 256 * 256 * 256 + CONVERT(BIGINT, Ip2) * 256 * 256 + CONVERT(BIGINT, Ip3) * 256 + CONVERT(BIGINT, Ip4)
  5848. UPDATE a SET IsForeign = 1
  5849. FROM #t a WITH(NOLOCK), dcIpPlace b WITH(NOLOCK)
  5850. WHERE a.Ip >= b.IpStart AND a.Ip <= b.IpEnd
  5851. AND b.InterNational = 1
  5852. TRUNCATE TABLE bsForeign
  5853. INSERT INTO bsForeign(id, LoginIp, LoginDate)
  5854. SELECT DISTINCT ID, RegisterIP, LoginDate FROM #t WITH(NOLOCK) WHERE IsForeign = 1
  5855. UPDATE a
  5856. SET a.CompanyName = b.Name
  5857. FROM bsForeign a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  5858. WHERE a.ID = b.Id
  5859. UPDATE a
  5860. SET a.LinkMan = b.Name, a.TelePhone = b.TelePhone, a.Mobile = b.Mobile
  5861. FROM bsForeign a WITH(NOLOCK), caMain b WITH(NOLOCK)
  5862. WHERE a.ID = b.cpMainId
  5863. AND b.AccountType = 1
  5864. UPDATE bsForeign SET ipAddress = dbo.IpPlace(LoginIp)
  5865. SELECT * FROM bsForeign WITH(NOLOCK) ORDER BY Id, LoginDate DESC
  5866. END
  5867. GO
  5868. /****** Object: StoredProcedure [dbo].[spGenInsert] Script Date: 2018/12/13 19:13:11 ******/
  5869. SET ANSI_NULLS ON
  5870. GO
  5871. SET QUOTED_IDENTIFIER ON
  5872. GO
  5873. CREATE PROCEDURE [dbo].[spGenInsert]
  5874. (
  5875. @tb varchar(100)
  5876. )
  5877. as
  5878. BEGIN
  5879. declare @i int, @s varchar(max), @n varchar(100), @cn varchar(max), @objid int
  5880. declare @t as table (name varchar(100), status int)
  5881. select * into #t from sysobjects where xtype='u' and name like @tb + '%'
  5882. set @s = ''
  5883. set nocount on
  5884. while (select count(*) from #t) > 0
  5885. begin
  5886. select top 1 @n = name FROM #t
  5887. select @objid = id, @cn='' from sysobjects where name=@n and xtype='u'
  5888. insert @t select name,status FROM syscolumns where id = @objid
  5889. select @cn=@cn + case when @cn='' then '' else ',' end + name from @t
  5890. print 'if (select count(*) from ' + @n +') =0
  5891. begin'
  5892. if (select count(*) FROM @t where name='id' and status=128 and status<>64)>0
  5893. print
  5894. ' set identity_insert ' + @n + ' on
  5895. insert into ' + @n + '(' + @cn + ')
  5896. select ' + @cn + ' from maindb..' + @n + ' with(nolock)
  5897. set identity_insert ' + @n + ' off'
  5898. else
  5899. print
  5900. ' insert into ' + @n + '(' + @cn + ')
  5901. select ' + @cn + ' from maindb..' + @n + ' with(nolock)'
  5902. print 'end
  5903. go
  5904. '
  5905. delete #t where name=@n
  5906. delete @t
  5907. end
  5908. drop table #t
  5909. --PRINT @s
  5910. END
  5911. GO
  5912. /****** Object: StoredProcedure [dbo].[spGenInsertSQL] Script Date: 2018/12/13 19:13:11 ******/
  5913. SET ANSI_NULLS ON
  5914. GO
  5915. SET QUOTED_IDENTIFIER ON
  5916. GO
  5917. CREATE PROCEDURE [dbo].[spGenInsertSQL]
  5918. (
  5919. @tablename varchar(256)
  5920. )
  5921. as
  5922. begin
  5923. declare @sql varchar(max)
  5924. declare @sqlValues varchar(max)
  5925. set @sql =' ('
  5926. set @sqlValues = 'values (''+'
  5927. select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],'
  5928. from
  5929. (select case
  5930. when xtype in (48,52,56,59,60,62,104,106,108,122,127)
  5931. then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'
  5932. when xtype in (58,61)
  5933. then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'
  5934. when xtype in (167)
  5935. then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
  5936. when xtype in (231)
  5937. then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'
  5938. when xtype in (175)
  5939. then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'
  5940. when xtype in (239)
  5941. then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'
  5942. else '''NULL'''
  5943. end as Cols,name
  5944. from syscolumns
  5945. where id = object_id(@tablename)
  5946. ) T
  5947. create table #t(id int, s varchar(max))
  5948. set @sql ='insert #t select 2,''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+') ' + left(@sqlValues,len(@sqlValues)-4) + ')'' from '+@tablename
  5949. insert #t select 1,'set identity_insert ' + @tablename + ' on'
  5950. --PRINT @sql
  5951. exec (@sql)
  5952. insert #t select 3,'set identity_insert ' + @tablename + ' off'
  5953. select * from #t order by id
  5954. end
  5955. GO
  5956. /****** Object: StoredProcedure [dbo].[spGenNormalPassword] Script Date: 2018/12/13 19:13:12 ******/
  5957. SET ANSI_NULLS ON
  5958. GO
  5959. SET QUOTED_IDENTIFIER ON
  5960. GO
  5961. CREATE PROCEDURE [dbo].[spGenNormalPassword]
  5962. AS
  5963. BEGIN
  5964. DECLARE @s VARCHAR(45), @r INT, @i INT, @Res VARCHAR(20)
  5965. SET @s = '0123456789qwertyuioplkjhgfdsazxcvbnm.!@#$%*_+'
  5966. SELECT @i = 0, @Res = ''
  5967. WHILE @i < 20
  5968. BEGIN
  5969. SET @r = RAND() * 45
  5970. IF @r < 1
  5971. SET @r = 20
  5972. IF @r > 44
  5973. SET @r = 20
  5974. SET @r = @r + 1
  5975. SELECT @Res = @Res + SUBSTRING(@s, @r, 1), @i = @I + 1
  5976. END
  5977. SELECT @Res
  5978. END
  5979. GO
  5980. /****** Object: StoredProcedure [dbo].[spGenPassword] Script Date: 2018/12/13 19:13:12 ******/
  5981. SET ANSI_NULLS ON
  5982. GO
  5983. SET QUOTED_IDENTIFIER ON
  5984. GO
  5985. CREATE PROCEDURE [dbo].[spGenPassword]
  5986. AS
  5987. SET NOCOUNT ON
  5988. BEGIN
  5989. DECLARE @Pass INT, @p VARCHAR(20)
  5990. SELECT @Pass = CAST(FLOOR(RAND() * 10) AS INT)
  5991. IF @Pass = 0
  5992. SET @Pass = 1
  5993. IF @Pass > 9
  5994. SET @Pass = 9
  5995. SET @p = LTRIM(STR(@Pass))
  5996. SELECT @Pass = CAST(FLOOR(RAND() * 9000 + 1000) AS INT)
  5997. IF @Pass > 9999
  5998. SET @Pass = 9999
  5999. SET @p = @p + LTRIM(STR(@Pass))
  6000. SELECT @Pass = CAST(FLOOR(RAND() * 900 + 100) AS INT)
  6001. IF @Pass > 999
  6002. SET @Pass = 999
  6003. SET @p = @p + LTRIM(STR(@Pass))
  6004. SELECT @Pass = CAST(FLOOR(RAND() * 90000 + 10000) AS INT)
  6005. IF @Pass > 99999
  6006. SET @Pass = 99999
  6007. SET @p = @p + LTRIM(STR(@Pass))
  6008. SELECT @Pass = CAST(FLOOR(RAND() * 90 + 10) AS INT)
  6009. IF @Pass > 99
  6010. SET @Pass = 99
  6011. SET @p = @p + LTRIM(STR(@Pass))
  6012. SET @p = SUBSTRING(@p, 3, 8)
  6013. IF LEFT(@p, 1) = '0'
  6014. SET @P = '1' + LEFT(@p, 7)
  6015. SELECT @p
  6016. END
  6017. GO
  6018. /****** Object: StoredProcedure [dbo].[spGenRandChar] Script Date: 2018/12/13 19:13:12 ******/
  6019. SET ANSI_NULLS ON
  6020. GO
  6021. SET QUOTED_IDENTIFIER ON
  6022. GO
  6023. CREATE PROCEDURE [dbo].[spGenRandChar]
  6024. (
  6025. @Len INT = 12
  6026. )
  6027. AS
  6028. BEGIN
  6029. DECLARE @i INT, @rnd INT, @Output VARCHAR(50), @c CHAR(1), @Text VARCHAR(118)
  6030. SET @Text = '~!0123456789#$%abcdefghijklmnopqrstuvwxyz&()*+-.0123456789:;=@abcdefghijklmnopqrstuvwxyz^abcdefghijklmnopqrstuvwxyz{|}'
  6031. SELECT @I = 0, @Output = ''
  6032. WHILE @I < @Len
  6033. BEGIN
  6034. SET @Rnd = 117 * RAND() + 1
  6035. SET @c = SUBSTRING(@Text, @Rnd, 1)
  6036. SET @Output = @Output + @c
  6037. SET @I = @I + 1
  6038. END
  6039. SELECT LOWER(@Output)
  6040. END
  6041. GO
  6042. /****** Object: StoredProcedure [dbo].[spGenUserName] Script Date: 2018/12/13 19:13:12 ******/
  6043. SET ANSI_NULLS ON
  6044. GO
  6045. SET QUOTED_IDENTIFIER ON
  6046. GO
  6047. --######################################3
  6048. --创建:Sean 2010-12-2
  6049. --生成推广时可用的企业用户名
  6050. --######################################3
  6051. create PROCEDURE [dbo].[spGenUserName]
  6052. (
  6053. @UserName VARCHAR(50),
  6054. @UserNameOut VARCHAR(50) OUTPUT
  6055. )
  6056. AS
  6057. BEGIN
  6058. DECLARE @u AS VARCHAR(50)
  6059. DECLARE @s AS VARCHAR(50)
  6060. DECLARE @i AS INT
  6061. DECLARE @r AS BIT
  6062. SET @s = '2356789'
  6063. SET @u = LTRIM(RTRIM(@UserName))
  6064. SET @r = dbo.ExistUserName(@u)
  6065. WHILE @r = 1
  6066. BEGIN
  6067. SET @i = CAST(FLOOR(RAND() * 7) AS INT)
  6068. SET @u = @u + SUBSTRING(@s, @i + 1, 1)
  6069. SET @r = dbo.ExistUserName(@u)
  6070. END
  6071. SET @UserNameOut = @u
  6072. END
  6073. GO
  6074. /****** Object: StoredProcedure [dbo].[spGetCamainOld] Script Date: 2018/12/13 19:13:13 ******/
  6075. SET ANSI_NULLS ON
  6076. GO
  6077. SET QUOTED_IDENTIFIER ON
  6078. GO
  6079. CREATE PROCEDURE [dbo].[spGetCamainOld]
  6080. (
  6081. @dcProvinceID INT,
  6082. @MemberType INT
  6083. )
  6084. AS
  6085. SELECT * FROM camain WHERE cpmainid in(
  6086. SELECT top 100 id FROM cpmain
  6087. where Valid = 1
  6088. And dcProvinceId = @dcProvinceID
  6089. AND MemberType = @Membertype)
  6090. GO
  6091. /****** Object: StoredProcedure [dbo].[spHomePageTableRebuild] Script Date: 2018/12/13 19:13:13 ******/
  6092. SET ANSI_NULLS ON
  6093. GO
  6094. SET QUOTED_IDENTIFIER ON
  6095. GO
  6096. /**
  6097. *Peter 2014-02-19 修改,添加山东二级站数据
  6098. *2016-09-28 Peter修改,将点评title内容进行了修改
  6099. */
  6100. CREATE PROCEDURE [dbo].[spHomePageTableRebuild]
  6101. AS
  6102. SET NOCOUNT ON
  6103. BEGIN
  6104. IF DATEPART(HOUR, GETDATE())<8 OR DATEPART(HOUR, GETDATE()) > 17 --OR DATEPART(HOUR, GETDATE()) = 12
  6105. RETURN
  6106. DECLARE @t AS TABLE(ID INT, Num INT)
  6107. DECLARE @i INT, @N INT
  6108. INSERT @t SELECT 1, 5
  6109. INSERT @t SELECT 3, 3
  6110. INSERT @t SELECT 5, 3
  6111. INSERT @t SELECT 7, 5
  6112. INSERT @t SELECT 8, 3
  6113. INSERT @t SELECT 9, 3
  6114. INSERT @t SELECT 10, 3
  6115. INSERT @t SELECT 11, 3
  6116. INSERT @t SELECT 12, 3
  6117. INSERT @t SELECT 13, 3
  6118. SET NOCOUNT ON;
  6119. DECLARE @D DATETIME, @UR BIT, @UN BIT, @UI BIT, @UL BIT, @Uc BIt, @csp BIT
  6120. SELECT @D = MAX(ModifyDate) FROM RecruitMent WITH(NOLOCK)
  6121. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6122. SET @UR = 1
  6123. SELECT @D = MAX(RefreshDate) FROM QlrcNews WITH(NOLOCK)
  6124. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6125. SET @UN = 1
  6126. --SET @UN = 1
  6127. SELECT @D = MAX(AddDate) FROM ivgt_investigation WITH(NOLOCK)
  6128. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6129. SET @UI = 1
  6130. SELECT @D = RefreshDate FROM LogDb..HomePageTableRefresh WITH(NOLOCK) WHERE TAbleName = 'link'
  6131. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6132. SET @UL = 1
  6133. SELECT @D = MAX(AddDate) FROM WutongguoDb..CpPreach WITH(NOLOCK)
  6134. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6135. SET @Uc = 1
  6136. IF (DATEPART(HOUR, GETDATE()) BETWEEN 8 AND 21) AND (DATEPART(MINUTE, GETDATE()) % 30 < 10)
  6137. BEGIN
  6138. SET @uc = 1
  6139. END
  6140. IF DATEPART(HOUR, GETDATE()) IN(3, 4, 8, 9, 10, 14, 15) AND DATEPART(MINUTE, GETDATE()) < 10
  6141. BEGIN
  6142. SELECT @Ur = 1, @Un = 1, @Ui = 1, @Ul = 1, @Uc = 1
  6143. END
  6144. SELECT @D = MAX(crDate) FROM SearchDb..CampusSchoolPartner12 WITH(NOLOCK)
  6145. IF @D > DATEADD(MINUTE, -15, GETDATE())
  6146. SET @csp = 1
  6147. IF NOT EXISTS(SELECT 'x' FROM SearchDb..CampusSchoolPartner12 WITH(NOLOCK) WHERE crDate > DATEADD(HOUR, -3, GETDATE()))
  6148. BEGIN
  6149. SELECT @csp = 1
  6150. END
  6151. DECLARE curProvince CURSOR FOR
  6152. SELECT ID, IsMainSite FROM dcSubSite WITH(NOLOCK) WHERE IsMainSite = 1 OR ID LIKE '32%' ORDER BY ID
  6153. OPEN curProvince
  6154. DECLARE @dcProvinceID INT, @IsMainSite BIT
  6155. FETCH NEXT FROM curProvince INTO @dcProvinceID, @IsMainSite
  6156. WHILE @@FETCH_STATUS = 0
  6157. BEGIN
  6158. --招聘会
  6159. IF @UR = 1
  6160. BEGIN
  6161. DELETE SearchDb..HpRecruitmeetingDay WHERE ProvinceID LIKE LTRIM(STR(@dcProvinceID)) + '%'
  6162. INSERT INTO SearchDb..HpRecruitmeetingDay (PreID,ProvinceID,Title,AddDate,WeekDay,MonthDay,startDate)
  6163. SELECT TOP 15 a.Id,CASE @dcProvinceID WHEN 3202 THEN 3202 ELSE @dcProvinceID END,
  6164. RecruitmentName, b.ModifyDate, '', '', Replace(CONVERT(VARCHAR(10),Begindate,102),'.','-')
  6165. FROM RecruitMent a WITH(NOLOCK), RecruitMentDept b WITH(NOLOCK)
  6166. WHERE a.RecruitMentDeptID=b.ID AND b.ID<>1767 AND CityID LIKE LTRIM(STR(@dcProvinceID)) + '%'
  6167. AND EndDate > GETDATE() AND a.IsPause=0 AND b.IsPause=0
  6168. AND LEN(ManagerUserId) > 0
  6169. ORDER BY a.BeginDate
  6170. END
  6171. IF @IsMainSite = 1
  6172. BEGIN
  6173. IF @UN = 1
  6174. BEGIN
  6175. --政府招考
  6176. DELETE SearchDb..HpQlrcGovDay WHERE VersionId = @dcProvinceID
  6177. IF @dcProvinceID < 99
  6178. BEGIN
  6179. INSERT INTO SearchDb..HpQlrcGovDay (PreID,versionid,Title,announcedate ,content,type,refreshdate)
  6180. SELECT TOP 15 id, @dcProvinceID,title, announcedate ,content,type,refreshdate
  6181. FROM QlrcNews WITH(NOLOCK)
  6182. WHERE versionid = @dcProvinceID --or versionid=0)
  6183. AND NewsType = 2
  6184. AND detailtype like '%,2,%'
  6185. ORDER BY refreshdate DESC
  6186. END
  6187. ELSE
  6188. BEGIN
  6189. INSERT INTO SearchDb..HpQlrcGovDay (PreID,versionid,Title,announcedate ,content,type,refreshdate)
  6190. SELECT TOP 15 id, @dcProvinceID,title, announcedate ,content,type,refreshdate
  6191. FROM QlrcNews WITH(NOLOCK)
  6192. WHERE Versionid = LEFT(@dcProvinceID, 2)-- OR Versionid = 0)
  6193. AND CHARINDEX((SELECT Abbr FROM dcRegion WHERE ID = @dcProvinceID),Title) <> 0
  6194. AND NewsType = 2
  6195. AND detailtype like '%,2,%'
  6196. ORDER BY refreshdate DESC
  6197. END
  6198. --职场新闻
  6199. DELETE SearchDb..HpQlrcNewsDay WHERE dcSubSiteId = @dcProvinceID
  6200. INSERT INTO SearchDb..HpQlrcNewsDay (PreID, dcSubSiteId, versionid,Title,announcedate ,content,type,refreshdate)
  6201. SELECT TOP 15 id, @dcProvinceID, versionid, title, announcedate ,content,type,refreshdate
  6202. FROM QlrcNews WITH(NOLOCK)
  6203. WHERE versionid = @dcProvinceID --or versionid=0)
  6204. AND NewsType = 2
  6205. AND detailtype not like '%,2,%'
  6206. ORDER BY refreshdate DESC
  6207. END
  6208. IF @dcProvinceID < 100
  6209. BEGIN
  6210. --用户调查
  6211. IF @UI = 1
  6212. BEGIN
  6213. DELETE SearchDb..HPInvestigationDay WHERE ProvinceID = @dcProvinceID
  6214. INSERT INTO SearchDb..HPInvestigationDay (Preid,ProvinceID, title, description, reporturl, type, reporttitle, addDate, ExLink)
  6215. SELECT TOP 15 id, @dcProvinceID, title, description, reporturl, type, reporttitle, addDate, ExLink
  6216. FROM ivgt_investigation WITH(NOLOCK)
  6217. WHERE EndDate < GETDATE()
  6218. AND province LIKE '%' + CAST(@dcProvinceID AS CHAR(2)) + '%'
  6219. AND homepagesee = 1
  6220. ORDER BY EndDate DESC
  6221. DECLARE @HasOne INT, @Id INT, @Title NVARCHAR(50), @DescrIption NVARCHAR(MAX), @AddDate SMALLDATETIME, @Exlink VARCHAR(100)
  6222. SELECT TOP 1 @HasOne = 1, @Id = id, @Title = title,
  6223. @DescrIption = description, @AddDate = AddDate, @ExLink = ExLink
  6224. FROM ivgt_investigation WITH(NOLOCK)
  6225. WHERE Type = 2
  6226. AND ENDdate > GETDATE()
  6227. AND Province LIKE '%' + LTRIM(STR(@dcProvinceID)) + '%'
  6228. AND AnswerAfterLogin = 0
  6229. ORDER BY Id DESC
  6230. IF(@HasOne = 1)
  6231. BEGIN
  6232. DELETE SearchDb..ivgt_investigationDay WHERE ProvinceId = @dcProvinceID
  6233. INSERT SearchDb..ivgt_investigationDay(Id, Provinceid, Title, Description, adddate,exLink)
  6234. SELECT @Id, @dcProvinceID, @Title, @Description, @adddate, @ExLink
  6235. END
  6236. END
  6237. ---------------------------------------------
  6238. IF @UN = 1
  6239. BEGIN
  6240. DELETE SearchDb..HpJobNews WHERE VersionId = @dcProvinceID
  6241. SET @i = 0
  6242. WHILE(@i < 13)
  6243. BEGIN
  6244. SELECT TOP 1 @I = Id, @n = Num FROM @t WHERE ID > @I
  6245. INSERT INTO SearchDb..HpJobNews (ID, VersionId, DetailType, NewsType, Title, [Content], RefreshDate)
  6246. SELECT TOP (@N) ID, @dcProvinceID, LTRIM(STR(@I)), NewsType, Title, [Content], RefreshDate
  6247. FROM QlrcNews WITH(NOLOCK)
  6248. WHERE DetailType LIKE '%,' + LTRIM(STR(@I)) + ',%' AND VersionId = @dcProvinceID --Or VersionId = 0)
  6249. ORDER BY RefreshDate DESC
  6250. END
  6251. END
  6252. END
  6253. --友情连接
  6254. IF @UL = 1
  6255. BEGIN
  6256. DELETE SearchDb..hplinkDay WHERE ProvinceID LIKE CONVERT(VARCHAR(2),@dcProvinceID) + '%'
  6257. INSERT INTO SearchDb..hplinkDay (ProvinceID,text, link,nofollow, category)
  6258. SELECT versionid,text, link, nofollow, category
  6259. FROM link WITH(NOLOCK)
  6260. WHERE versionid like CONVERT(VARCHAR(2), @dcProvinceID)+'%'
  6261. AND type=1
  6262. AND valid=1
  6263. AND orderby<100
  6264. AND deleted=0
  6265. ORDER BY orderby,ID
  6266. END
  6267. --校园招聘 宣讲会
  6268. IF @Uc = 1
  6269. BEGIN
  6270. DELETE SearchDb..HpCampus WHERE ProvinceID = @dcProvinceID
  6271. INSERT INTO SearchDb..HpCampus (ProvinceID, PresentationID, CompanyID, CompanyName, RegionName, SchoolName, BeginTime, HomePage, cpSecondId)
  6272. SELECT TOP 15 @dcProvinceID, a.Id, b.ID, b.Name, d.Description, c.Name, a.BeginDate, '', b.SecondId
  6273. FROM WutongguoDb..CpPreach a, WutongguoDb..cpMain b, WutongguoDb..dcSchool c, WutongguoDb..dcRegion d
  6274. WHERE a.cpMainID = b.ID AND a.dcSchoolID = c.ID AND a.dcRegionID = d.ID AND a.EndDate > GETDATE()
  6275. ORDER BY CASE CHARINDEX(LTRIM(STR(@dcProvinceID)), a.dcRegionID) WHEN 1 THEN 1 ELSE 2 END ,
  6276. a.BeginDate, a.AddDate DESC
  6277. END
  6278. END
  6279. ELSE
  6280. BEGIN
  6281. --政府招考
  6282. IF @Un = 1
  6283. BEGIN
  6284. DELETE SearchDb..HpQlrcGovDay WHERE versionid = @dcProvinceID
  6285. INSERT INTO SearchDb..HpQlrcGovDay (PreID,versionid,Title,announcedate ,content,type,refreshdate)
  6286. SELECT TOP 15 id, @dcProvinceID,title, announcedate ,content,type,refreshdate
  6287. FROM QlrcNews WITH(NOLOCK)
  6288. WHERE (Versionid = 32 OR Versionid=0)
  6289. AND CHARINDEX((SELECT Abbr FROM dcRegion WHERE ID = @dcProvinceID),Title) <> 0
  6290. AND NewsType = 2
  6291. AND detailtype like '%,2,%'
  6292. ORDER BY refreshdate DESC
  6293. END
  6294. END
  6295. FETCH NEXT FROM curProvince INTO @dcProvinceID, @IsMainSite
  6296. END
  6297. CLOSE curProvince
  6298. DEALLOCATE curProvince
  6299. IF @UN = 1
  6300. UPDATE SearchDb..HpJobNews SET [CONTENT] = '' WHERE DetailType NOT IN(1, 7)
  6301. IF @csp = 1
  6302. BEGIN
  6303. TRUNCATE TABLE SearchDb..CampusSchoolPartner12
  6304. INSERT INTO SearchDb..CampusSchoolPartner12
  6305. SELECT *
  6306. FROM (SELECT a.*, GETDATE() crDate, LEFT(dcRegionID, 2) dcProvinceId, ROW_NUMBER() OVER(PARTITION BY LEFT(dcRegionID, 2) ORDER BY OrderBy, AddDate DESC) RowNo
  6307. FROM MarketDB..CampusSchool a WITH(NOLOCK)
  6308. WHERE EXISTS(SELECT 'x' FROM marketdb..CampusPresentation b WITH(NOLOCK)
  6309. WHERE SchoolID = a.id)) b
  6310. WHERE b.RowNo < 13
  6311. END
  6312. IF @UN = 1
  6313. BEGIN
  6314. DELETE SearchDb..HpQlrcNewsDay WHERE VersionId = 0
  6315. INSERT INTO SearchDb..HpQlrcNewsDay (PreID, dcSubSiteId, versionid, Title, announcedate, content, type, refreshdate)
  6316. SELECT TOP 1 id, 0, versionid, title, announcedate, content, type, refreshdate
  6317. FROM QlrcNews WITH(NOLOCK)
  6318. WHERE versionid = 0
  6319. AND NewsType = 2
  6320. AND detailtype not like '%,2,%'
  6321. ORDER BY refreshdate DESC
  6322. END
  6323. END
  6324. GO
  6325. /****** Object: StoredProcedure [dbo].[sphpHighSalaryCompanyNewRebuild] Script Date: 2018/12/13 19:13:13 ******/
  6326. SET ANSI_NULLS ON
  6327. GO
  6328. SET QUOTED_IDENTIFIER ON
  6329. GO
  6330. CREATE PROCEDURE [dbo].[sphpHighSalaryCompanyNewRebuild]
  6331. AS
  6332. SET NOCOUNT ON
  6333. BEGIN
  6334. SELECT TOP 0 * INTO #t FROM hpHighSalaryCompanyNew
  6335. INSERT INTO #t(dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate, RowNo)
  6336. SELECT dcProvinceId, JobId, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, GETDATE(), RowNo
  6337. FROM (SELECT b.dcProvinceId, a.ID JobId, a.SecondID JobSecondID, a.Name JobName, b.ID CpMainID,
  6338. b.SecondID CpSecondID, b.Name CpName, a.dcSalaryID, b.RefreshDate, '' LogoUrl,
  6339. ROW_NUMBER() OVER(PARTITION BY b.Id ORDER BY a.dcSalaryId DESC) RowNo
  6340. FROM JobPublish a WITH(NOLOCK)
  6341. INNER JOIN CpMain b WITH(NOLOCK) ON b.id = a.CpMainID
  6342. WHERE a.Valid = 1
  6343. AND b.Valid = 1
  6344. AND (
  6345. (b.dcProvinceId IN(32, 30, 10, 31, 40, 71, 61)
  6346. AND a.DcSalaryID BETWEEN 11 AND 17
  6347. )
  6348. OR
  6349. (b.dcProvinceId NOT IN(32, 30, 10, 31, 40, 71, 61)
  6350. AND a.DcSalaryID BETWEEN 9 AND 17
  6351. )
  6352. )
  6353. ) a
  6354. WHERE RowNo < 4
  6355. --DELETE FROM #t WHERE JobId NOT IN(SELECT MAX(JobId) FROM #t GROUP BY cpMainId)
  6356. DELETE FROM #t WHERE cpMainId IN(5654050) AND JobID NOT IN(3990967)
  6357. UPDATE #t SET LogoUrl = (SELECT TOP 1 ImgFile FROM cpImage b WITH(NOLOCK) WHERE #t.cpMainId = b.cpMainId AND b.HasPassed = 1 AND b.ImgType = 1 AND b.AddDate > '2016-11-16')
  6358. DELETE FROM #t WHERE LogoUrl IS NULL
  6359. TRUNCATE TABLE hpHighSalaryCompanyNew
  6360. INSERT INTO hpHighSalaryCompanyNew(dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate)
  6361. SELECT dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate FROM #t
  6362. END
  6363. GO
  6364. /****** Object: StoredProcedure [dbo].[spHpHighSalaryCompanyRebuild] Script Date: 2018/12/13 19:13:14 ******/
  6365. SET ANSI_NULLS ON
  6366. GO
  6367. SET QUOTED_IDENTIFIER ON
  6368. GO
  6369. CREATE PROCEDURE [dbo].[spHpHighSalaryCompanyRebuild]
  6370. AS
  6371. SET NOCOUNT ON
  6372. BEGIN
  6373. SELECT TOP 0 * INTO #t FROM hpHighSalaryCompany
  6374. INSERT INTO #t(dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate, RowNo)
  6375. SELECT dcProvinceId, JobId, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, GETDATE(), 0
  6376. FROM (SELECT b.dcProvinceId, a.ID JobId, a.SecondID JobSecondID, a.Name JobName, b.ID CpMainID,
  6377. b.SecondID CpSecondID, b.Name CpName, a.dcSalaryID, b.RefreshDate, '' LogoUrl,
  6378. ROW_NUMBER() OVER(PARTITION BY b.dcProvinceId ORDER BY a.RefreshDate DESC, b.Id DESC, a.Id DESC) RowNo
  6379. FROM JobPublish a WITH(NOLOCK)
  6380. INNER JOIN CpMain b WITH(NOLOCK) ON b.id = a.CpMainID
  6381. WHERE a.Valid = 1
  6382. AND b.Valid = 1
  6383. AND a.DcSalaryID BETWEEN 9 AND 12) a
  6384. DELETE FROM #t WHERE JobId NOT IN(SELECT MAX(JobId) FROM #t GROUP BY cpMainId)
  6385. UPDATE #t SET LogoUrl = (SELECT TOP 1 ImgFile FROM cpImage b WITH(NOLOCK) WHERE #t.cpMainId = b.cpMainId AND b.HasPassed = 1 AND b.ImgType = 1)
  6386. TRUNCATE TABLE hpHighSalaryCompany
  6387. INSERT INTO hpHighSalaryCompany(dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate)
  6388. SELECT dcRegionID, JobID, JobSecondID, JobName, CpMainID, CpSecondID, CpName, dcSalaryID, RefreshDate, LogoUrl, AddDate FROM #t
  6389. END
  6390. GO
  6391. /****** Object: StoredProcedure [dbo].[spJobByRefreshBatchUpdate] Script Date: 2018/12/13 19:13:14 ******/
  6392. SET ANSI_NULLS ON
  6393. GO
  6394. SET QUOTED_IDENTIFIER ON
  6395. GO
  6396. CREATE PROCEDURE [dbo].[spJobByRefreshBatchUpdate]
  6397. AS
  6398. SET NOCOUNT ON
  6399. BEGIN
  6400. DECLARE @d VARCHAR(14), @r varchar(20), @d2 VARCHAR(14)
  6401. SET @d = CONVERT(VARCHAR(14), GETDATE(), 120)
  6402. SET @d2 = CONVERT(VARCHAR(14), GETDATE() - 1, 120)
  6403. SET @r = '2016-09-08 14:01:00'
  6404. CREATE TABLE #t(Id INT IDENTITY(1, 1), RefreshDate DATETIME, Cnt INT)
  6405. INSERT INTO #t
  6406. SELECT TOP 5 a.Refreshdate, COUNT(*)
  6407. FROM Job a, cpMain b
  6408. WHERE a.cpMainId = b.id
  6409. AND a.Refreshdate > GETDATE() - 1
  6410. GROUP BY a.Refreshdate
  6411. HAVING COUNT (*) > 900
  6412. ORDER BY COUNT(*) DESC
  6413. DECLARE @Id INT
  6414. SET @Id = 0
  6415. WHILE EXISTS(SELECT 'x' FROM #t WHERE Id > @Id)
  6416. BEGIN
  6417. SELECT TOP 1 @Id = Id, @r = RefreshDate FROM #t WHERE Id > @Id ORDER BY ID
  6418. UPDATE a SET a.Refreshdate = @d + LTRIM(STR(DATEPART(MINUTE, b.LastLogindate)))
  6419. FROM Job a, cpMain b
  6420. WHERE a.cpMainId = b.Id
  6421. AND a.RefreshDate = @r
  6422. AND DATEPART(MINUTE, b.LastLogindate) < DATEPART(MINUTE, GETDATE())
  6423. AND a.Valid = 1
  6424. UPDATE a SET a.Refreshdate = @d + LTRIM(STR(DATEPART(MINUTE, b.LastLogindate)))
  6425. FROM Job a, cpMain b
  6426. WHERE a.cpMainId = b.Id
  6427. AND a.RefreshDate = @r
  6428. AND DATEPART(MINUTE, b.LastLogindate) >= DATEPART(MINUTE, GETDATE())
  6429. AND a.Valid = 1
  6430. END
  6431. SELECT * FROM #t
  6432. END
  6433. GO
  6434. /****** Object: StoredProcedure [dbo].[spJobDateReport] Script Date: 2018/12/13 19:13:14 ******/
  6435. SET ANSI_NULLS ON
  6436. GO
  6437. SET QUOTED_IDENTIFIER ON
  6438. GO
  6439. --********************************************
  6440. --创建人:Lambo
  6441. --创建时间:2013-01-31
  6442. --用途:用于每日记录职位发布效果统计的数据
  6443. --********************************************
  6444. CREATE PROCEDURE [dbo].[spJobDateReport]
  6445. AS
  6446. BEGIN
  6447. --取昨天
  6448. DECLARE @yesterday VARCHAR(10)
  6449. SET @yesterday = CONVERT(VARCHAR(10), GETDATE()-1, 120)
  6450. -- 将昨天一天的数据填充到表里
  6451. INSERT INTO Reportdb..jobReportData( JobID,CountDate,applyCount,viewCount,interview,interviewreply,interviewresult)
  6452. SELECT id ,dbo.DateToReportDay(GETDATE()),
  6453. (SELECT COUNT(1) FROM exjobapply WITH(NOLOCK) WHERE JobID=a.id AND adddate >@yesterday AND adddate<@yesterday+' 23:59' ),
  6454. (SELECT COUNT(1) FROM pajobviewlog WITH(NOLOCK) WHERE JobID=a.id AND adddate >@yesterday AND adddate<@yesterday+' 23:59' ),
  6455. (SELECT COUNT(1) FROM exinterview WITH(NOLOCK) WHERE JobID=a.id AND adddate >@yesterday AND adddate<@yesterday+' 23:59' ),
  6456. (SELECT COUNT(1) FROM exinterview WITH(NOLOCK) WHERE JobID=a.id AND replydate is not null AND adddate >@yesterday AND adddate<@yesterday+' 23:59' ),
  6457. (SELECT COUNT(1) FROM exinterview WITH(NOLOCK) WHERE JobID=a.id AND replydate is not null AND result=1 AND adddate >@yesterday AND adddate<@yesterday+' 23:59')
  6458. FROM job a WITH(NOLOCK)
  6459. WHERE isdelete=0
  6460. AND AddDate < @yesterday+' 23:59'
  6461. AND IssueEnd > @yesterday
  6462. --删除全部是0的数据
  6463. DELETE FROM Reportdb..JobReportData WHERE applyCount=0 AND viewCount=0 AND interview=0 AND interviewreply=0 AND interviewresult=0
  6464. --vip删除780天以前的数据
  6465. DELETE a FROM Reportdb..jobReportData a, Job b, cpMain c
  6466. WHERE a.JobId = b.ID AND b.cpMainID = c.ID AND a.CountDate < dbo.ReportDayToDate(780) AND MemberType>=3
  6467. --普通会员以下的删除14个月前的数据
  6468. DELETE a FROM Reportdb..jobReportData a, Job b, cpMain c
  6469. WHERE a.JobId = b.ID AND b.cpMainID = c.ID AND a.CountDate< dbo.ReportDayToDate(440) AND MemberType<3
  6470. AND NOT EXISTS(SELECT 'x' FROM caOrder WHERE cpMainID = c.ID AND OrderType in (1,2,8) AND EndDate<GETDATE()-92 AND OpenDate IS NOT NULL AND IsDeleted=0)
  6471. --过期收费会员删除780天前的数据
  6472. DELETE a FROM Reportdb..jobReportData a, Job b, cpMain c
  6473. WHERE a.JobId = b.ID AND b.cpMainID = c.ID
  6474. AND a.CountDate< dbo.ReportDayToDate(780) AND MemberType<3
  6475. AND EXISTS(SELECT 'x' FROM caOrder WHERE cpMainID = c.ID AND OrderType in (1,2,8) AND EndDate>=GETDATE()-92 AND OpenDate IS NOT NULL AND IsDeleted=0)
  6476. END
  6477. GO
  6478. /****** Object: StoredProcedure [dbo].[spJobDateReportDetail] Script Date: 2018/12/13 19:13:14 ******/
  6479. SET ANSI_NULLS ON
  6480. GO
  6481. SET QUOTED_IDENTIFIER ON
  6482. GO
  6483. --********************************************
  6484. --创建人:Lambo
  6485. --创建时间:2013-01-31
  6486. --用途:用于每日记录应聘简历分析数据
  6487. --********************************************
  6488. CREATE PROCEDURE [dbo].[spJobDateReportDetail]
  6489. AS
  6490. BEGIN
  6491. DECLARE @Yesterday VARCHAR(10)
  6492. DECLARE @Today VARCHAR(8)
  6493. SELECT @Yesterday = CONVERT(VARCHAR(10),GETDATE()-1,120),@Today = dbo.DateToReportDay(GETDATE())
  6494. --首先填充表
  6495. INSERT INTO Reportdb..JobReportDetailData (JobId,CountDate)
  6496. SELECT id,@Today
  6497. FROM JOB a WITH(NOLOCK)
  6498. WHERE IsDelete=0
  6499. AND EXISTS(SELECT 'x' FROM exJobapply x WITH(NOLOCK) WHERE x.JobID=a.ID AND x.AddDate >@yesterday AND x.AddDate<@yesterday+' 23:59')
  6500. DECLARE @t TABLE(
  6501. JobID INT,
  6502. cvMainID INT
  6503. )
  6504. INSERT INTO @t SELECT JobID,cvMainID FROM exJobapply WITH(NOLOCK) WHERE AddDate >@Yesterday AND AddDate<@Yesterday+' 23:59'
  6505. --更新工作经验
  6506. UPDATE a
  6507. SET WorkYears1 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND (RelatedWorkYears=0 OR EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK) WHERE Name IS NOT NULL AND Mobile IS NULL AND Attachment IS NOT NULL AND ID = y.PaMainID )) AND cvMainID = y.id) ,
  6508. WorkYears2 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND RelatedWorkYears>=1 AND RelatedWorkYears<=2 AND cvMainID = y.id) ,
  6509. WorkYears3 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND RelatedWorkYears>=3 AND RelatedWorkYears<=5 AND cvMainID = y.id) ,
  6510. WorkYears4 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND RelatedWorkYears>=6 AND RelatedWorkYears<=10 AND cvMainID = y.id) ,
  6511. WorkYears5 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND RelatedWorkYears>10 AND cvMainID = y.id)
  6512. FROM Reportdb..JobReportDetailData a
  6513. WHERE a.CountDate=@Today
  6514. --更新年龄
  6515. UPDATE a
  6516. SET Age1 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND dbo.birthtoage(z.birthday)<=22 AND z.birthday IS NOT NULL AND cvMainID = y.id AND y.pamainid = z.id) ,
  6517. Age2 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND dbo.birthtoage(z.birthday)>=23 AND dbo.birthtoage(z.birthday)<=25 AND cvMainID = y.id AND y.pamainid = z.id) ,
  6518. Age3 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND dbo.birthtoage(z.birthday)>=26 AND dbo.birthtoage(z.birthday)<=29 AND cvMainID = y.id AND y.pamainid = z.id) ,
  6519. Age4 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND dbo.birthtoage(z.birthday)>=30 AND dbo.birthtoage(z.birthday)<=35 AND cvMainID = y.id AND y.pamainid = z.id) ,
  6520. Age5 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND dbo.birthtoage(z.birthday)>35 AND cvMainID = y.id AND y.pamainid = z.id) ,
  6521. Age6 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND z.birthday IS NULL AND cvMainID = y.id AND y.pamainid = z.id)
  6522. FROM Reportdb..JobReportDetailData a
  6523. WHERE a.CountDate=@Today
  6524. --更新学历
  6525. UPDATE a
  6526. SET Degree1 = (SELECT COUNT(1) FROM exJobapply x WITH(NOLOCK),cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=1 AND cvMainID = y.id) ,
  6527. Degree2 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=2 AND cvMainID = y.id) ,
  6528. Degree3 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=3 AND cvMainID = y.id) ,
  6529. Degree4 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=4 AND cvMainID = y.id) ,
  6530. Degree5 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=5 AND cvMainID = y.id) ,
  6531. Degree6 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=6 AND cvMainID = y.id) ,
  6532. Degree7 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=7 AND cvMainID = y.id) ,
  6533. Degree8 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND Degree=8 AND cvMainID = y.id),
  6534. Degree9 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND (Degree=0 OR Degree IS NULL OR EXISTS(SELECT 'x' FROM paMain(NOLOCK) WHERE Name IS NOT NULL AND Mobile IS NULL AND Attachment IS NOT NULL AND ID = y.PaMainID )) AND cvMainID = y.id)
  6535. FROM Reportdb..JobReportDetailData a
  6536. WHERE a.CountDate=@Today
  6537. --更新性别
  6538. UPDATE a
  6539. SET Male = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND z.Gender=0 AND cvMainID = y.id AND y.pamainid = z.id),
  6540. Female = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK), paMain z WITH(NOLOCK) WHERE JobID=a.JobID AND z.Gender=1 AND cvMainID = y.id AND y.pamainid = z.id)
  6541. FROM Reportdb..JobReportDetailData a
  6542. WHERE a.CountDate=@Today
  6543. --更新期望月薪
  6544. UPDATE a
  6545. SET Salary1 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=2 AND cvMainID = y.id) ,
  6546. Salary2 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=3 AND cvMainID = y.id) ,
  6547. Salary3 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=4 AND cvMainID = y.id) ,
  6548. Salary4 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=5 AND cvMainID = y.id) ,
  6549. Salary5 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=6 AND cvMainID = y.id) ,
  6550. Salary6 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID=7 AND cvMainID = y.id) ,
  6551. Salary7 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND dcSalaryID>=8 AND cvMainID = y.id) ,
  6552. Salary8 = (SELECT COUNT(1) FROM @t,cvMain y WITH(NOLOCK) WHERE JobID=a.JobID AND (dcSalaryID=0 OR dcSalaryID IS NULL OR EXISTS(SELECT 'x' FROM paMain(NOLOCK) WHERE Name IS NOT NULL AND Mobile IS NULL AND Attachment IS NOT NULL AND ID = y.PaMainID )) AND cvMainID = y.id)
  6553. FROM Reportdb..JobReportDetailData a
  6554. WHERE a.CountDate=@Today
  6555. --删除过期数据
  6556. --收费会员删除半年前的数据
  6557. DELETE a FROM Reportdb..JobReportDetailData a, Job b, cpMain c
  6558. WHERE a.JobId = b.ID AND b.cpMainID = c.ID AND a.CountDate< dbo.ReportDayToDate(183) AND MemberType>=3
  6559. --普通会员以下的删除2个月前的数据
  6560. DELETE a FROM Reportdb..JobReportDetailData a, Job b, cpMain c
  6561. WHERE a.JobId = b.ID AND b.cpMainID = c.ID AND a.CountDate< dbo.ReportDayToDate(62) AND MemberType<2
  6562. AND NOT EXISTS(SELECT 'x' FROM caOrder WHERE cpMainID = c.ID AND OrderType in (1,2,8) AND EndDate<GETDATE()-62 AND OpenDate IS NOT NULL AND IsDeleted=0)
  6563. --过期收费会员删除半年前的数据
  6564. DELETE a FROM Reportdb..JobReportDetailData a, Job b, cpMain c
  6565. WHERE a.JobId = b.ID AND b.cpMainID = c.ID AND a.CountDate< dbo.ReportDayToDate(183) AND MemberType<3
  6566. AND EXISTS(SELECT 'x' FROM caOrder WHERE cpMainID = c.ID AND OrderType in (1,2,8) AND EndDate>=GETDATE()-62 AND OpenDate IS NOT NULL AND IsDeleted=0)
  6567. END
  6568. GO
  6569. /****** Object: StoredProcedure [dbo].[spJobNameCopySave] Script Date: 2018/12/13 19:13:16 ******/
  6570. SET ANSI_NULLS ON
  6571. GO
  6572. SET QUOTED_IDENTIFIER ON
  6573. GO
  6574. CREATE PROCEDURE [dbo].[spJobNameCopySave]
  6575. AS
  6576. BEGIN
  6577. TRUNCATE TABLE JobNameCopy
  6578. INSERT INTO JobNameCopy
  6579. SELECT a.dcProvinceId, b.Name, '', COUNT(*), GETDATE()
  6580. FROM cpMainPublish a WITH(NOLOCK), jobPublish b WITH(NOLOCK)
  6581. WHERE a.Id = b.cpMainId
  6582. AND a.Valid = 1
  6583. AND b.Valid = 1
  6584. GROUP BY a.dcProvinceId, b.Name
  6585. UPDATE JobNameCopy SET Pinyin = dbo.ToPinYin(JobName)
  6586. END
  6587. GO
  6588. /****** Object: StoredProcedure [dbo].[spKpi_OcByTestSelect] Script Date: 2018/12/13 19:13:16 ******/
  6589. SET ANSI_NULLS ON
  6590. GO
  6591. SET QUOTED_IDENTIFIER ON
  6592. GO
  6593. CREATE PROCEDURE [dbo].[spKpi_OcByTestSelect]
  6594. (
  6595. @SuperiorId int,
  6596. @YearMonth VARCHAR(6)
  6597. )
  6598. AS
  6599. BEGIN
  6600. SELECT DISTINCT ManagerUserID ID INTO #t
  6601. FROM kpi_oc
  6602. WHERE yearmonth = @YearMonth
  6603. AND ManagerUserId IN(SELECT Id FROM ManagerUser WHERE Superior = @SuperiorId)
  6604. DECLARE @t AS TABLE(ID INT, AllScore INT, HasObjHigher INT, OrderRight INT, SignRight INT, FormatRight INT)
  6605. DECLARE @Id INT, @AllScore INT, @HasObjHigher BIT, @OrderRight BIT, @SignRight BIT, @FormatRight BIT
  6606. SET @Id = 0
  6607. WHILE EXISTS(SELECT 'x' FROM #t WHERE ID > @Id)
  6608. BEGIN
  6609. SELECT TOP 1 @Id = ID FROM #t WHERE ID > @Id ORDER BY ID
  6610. SELECT @AllScore = SUM(Score) FROM Kpi_Oc WHERE YearMonth = @YearMonth AND ManagerUserId = @Id
  6611. SELECT @AllScore = ISNULL(@AllScore, 0), @HasObjHigher = 1, @OrderRight = 1, @SignRight = 1, @FormatRight = 1
  6612. SELECT @HasObjHigher = 0 FROM Kpi_Oc WHERE YearMonth = @YearMonth AND ManagerUserId = @Id AND ISNULL(Obj_Higher, '') = ''
  6613. IF EXISTS(SELECT 'x' FROM Kpi_Oc a, Kpi_Oc b WHERE a.YearMonth = @YearMonth AND a.ManagerUserId = @Id
  6614. AND b.YearMonth = @YearMonth AND b.ManagerUserId = @Id AND a.Score > b.Score AND A.Kpi_Power > b.Kpi_Power)
  6615. SET @OrderRight = 0
  6616. IF EXISTS(SELECT 'x' FROM Kpi_Oc WHERE YearMonth = @YearMonth AND ManagerUserId = @Id
  6617. AND (CHARINDEX('《', [Standard]) > 0 OR CHARINDEX('》', [Standard]) > 0
  6618. OR CHARINDEX('《', Obj_Self) > 0 OR CHARINDEX('》', Obj_Self) > 0
  6619. OR CHARINDEX('《', Obj_Higher) > 0 OR CHARINDEX('》', Obj_Higher) > 0))
  6620. SET @SignRight = 0
  6621. IF EXISTS(SELECT 'x' FROM Kpi_Oc WHERE YearMonth = @YearMonth
  6622. AND ManagerUserId = @Id AND WorkPlan NOT LIKE '完成%作业%')
  6623. SET @FormatRight = 0
  6624. IF @AllScore <> 91 OR @HasObjHigher = 0 OR @OrderRight = 0 OR @SignRight = 0 OR @FormatRight = 0
  6625. INSERT INTO @t
  6626. SELECT @ID, @AllScore, @HasObjHigher, @OrderRight, @SignRight, @FormatRight
  6627. END
  6628. SELECT * FROM @t
  6629. END
  6630. GO
  6631. /****** Object: StoredProcedure [dbo].[spMakeVarJobTypeJs] Script Date: 2018/12/13 19:13:17 ******/
  6632. SET ANSI_NULLS ON
  6633. GO
  6634. SET QUOTED_IDENTIFIER ON
  6635. GO
  6636. CREATE PROCEDURE [dbo].[spMakeVarJobTypeJs]
  6637. AS
  6638. SET NOCOUNT ON
  6639. BEGIN
  6640. SELECT a.CategoryId, LEFT(b.Id, 2) JobTypeId, b.Id, b.Description, b.OrderNo
  6641. INTO #t
  6642. FROM dcJobTypeMap a, dcJobType b
  6643. WHERE a.JobtypeId = LEFT(b.Id, 2)
  6644. ORDER BY a.CategoryId, b.Id
  6645. INSERT INTO #t
  6646. SELECT a.CategoryId, b.ParentId2, b.Id, b.Description, b.OrderNo
  6647. FROM dcJobTypeMap a, dcJobType b
  6648. WHERE a.JobTypeId = b.ParentId2
  6649. ORDER BY a.CategoryId, b.ParentId2
  6650. UPDATE #t SET OrderNo = 10000 + OrderNo WHERE Description LIKE '其他%'
  6651. UPDATE #t SET OrderNo = 1000 + OrderNo WHERE ID > 100 AND LEFT(Id, 2) <> JobTypeId
  6652. --SELECT * FROM #t WHERE Id > 100 ORDER BY CategoryId, JobtypeID, OrderNo
  6653. DELETE #t WHERE JobTypeId = 56
  6654. ---------------
  6655. DECLARE @Id INT, @Sql VARCHAR(MAX), @CategoryId INT, @JobTypeId INT, @PreCategoryId INT
  6656. SELECT @Id = 0, @Sql = '', @CategoryId = 0, @JobTypeId = 0, @PreCategoryId = 0
  6657. WHILE EXISTS(SELECT 'x' FROM #t WHERE CategoryId > @CategoryId)
  6658. BEGIN
  6659. SELECT TOP 1 @CategoryId = CategoryId, @JobTypeId = 0 FROM #t WHERE CategoryId > @CategoryId ORDER BY CategoryId
  6660. WHILE EXISTS(SELECT 'x' FROM #t WHERE CategoryId = @CategoryId AND JobTypeId > @JobTypeId AND JobTypeId < 100)
  6661. BEGIN
  6662. SELECT TOP 1 @JobTypeId = JobTypeId FROM #t WHERE CategoryId = @CategoryId AND JobTypeId > @JobTypeId AND JobTypeId < 100 ORDER BY JobTypeId
  6663. PRINT 'jsJobTypeL2[' + LTRIM(STR(@Id)) + '] = new Array();'
  6664. PRINT 'jsJobTypeL2ID[' + LTRIM(STR(@Id)) + '] = new Array();'
  6665. SET @Sql = ''
  6666. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + Description + '"' FROM #t WHERE JobTypeId = @JobTypeId AND Id > 99 ORDER BY OrderNo
  6667. SET @Sql = 'jsJobTypeL2[' + LTRIM(STR(@Id)) + ']=[' + @Sql + '];'
  6668. PRINT @sql
  6669. SET @Sql = ''
  6670. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + LTRIM(STR(ID)) + '"' FROM #t WHERE JobTypeId = @JobTypeId AND Id > 99 ORDER BY OrderNo
  6671. SET @Sql = 'jsJobTypeL2ID[' + LTRIM(STR(@Id)) + ']=[' + @Sql + '];'
  6672. PRINT @sql
  6673. SET @Id = @Id + 1
  6674. END
  6675. END
  6676. SET @Sql = ''
  6677. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + b.Description + '"'
  6678. FROM dcJobTypeMap a, dcJobType b
  6679. WHERE a.JobTypeId = b.ID
  6680. AND b.Id < 99
  6681. AND b.Id <> 56
  6682. ORDER BY CategoryId, JobTypeID
  6683. SET @Sql = 'jsJobTypeL1=[' + @Sql + '];'
  6684. PRINT @sql
  6685. SET @Sql = ''
  6686. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + LTRIM(STR(b.Id)) + '"'
  6687. FROM dcJobTypeMap a, dcJobType b
  6688. WHERE a.JobTypeId = b.ID
  6689. AND b.Id < 99
  6690. AND b.Id <> 56
  6691. ORDER BY CategoryId, JobTypeID
  6692. SET @Sql = 'jsJobTypeL1ID=[' + @Sql + '];'
  6693. PRINT @sql
  6694. END
  6695. GO
  6696. /****** Object: StoredProcedure [dbo].[spMakeVarJobTypeJsLagre] Script Date: 2018/12/13 19:13:17 ******/
  6697. SET ANSI_NULLS ON
  6698. GO
  6699. SET QUOTED_IDENTIFIER ON
  6700. GO
  6701. CREATE PROCEDURE [dbo].[spMakeVarJobTypeJsLagre]
  6702. AS
  6703. SET NOCOUNT ON
  6704. BEGIN
  6705. SELECT a.CategoryId, LEFT(b.Id, 2) JobTypeId, b.Id, b.Description, b.OrderNo
  6706. INTO #t
  6707. FROM dcJobTypeMap a, dcJobType b
  6708. WHERE a.JobtypeId = LEFT(b.Id, 2)
  6709. AND b.Id < 100
  6710. ORDER BY a.CategoryId, b.Id
  6711. ---------------
  6712. DECLARE @Id INT, @Sql VARCHAR(MAX), @SqlId VARCHAR(MAX), @CategoryId INT, @JobTypeId INT, @PreCategoryId INT
  6713. SELECT @Id = 0, @Sql = '', @CategoryId = 0, @JobTypeId = 0, @PreCategoryId = 0
  6714. WHILE EXISTS(SELECT 'x' FROM #t WHERE CategoryId > @CategoryId)
  6715. BEGIN
  6716. SELECT TOP 1 @CategoryId = CategoryId, @JobTypeId = 0 FROM #t WHERE CategoryId > @CategoryId ORDER BY CategoryId
  6717. PRINT 'jsJobTypeL2[' + LTRIM(STR(@CategoryId-1)) + '] = new Array();'
  6718. PRINT 'jsJobTypeL2ID[' + LTRIM(STR(@CategoryId-1)) + '] = new Array();'
  6719. SET @Sql = ''
  6720. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + Description + '"'
  6721. FROM #t
  6722. WHERE CategoryId = @CategoryId
  6723. ORDER BY JobtypeId
  6724. PRINT 'jsJobTypeL2[' + LTRIM(STR(@CategoryId-1)) + ']=[' + @Sql + '];'
  6725. SET @Sql = ''
  6726. SELECT @SQl = @Sql + CASE WHEN @Sql = '' THEN '"' ELSE ',"' END + LTRIM(STR(ID)) + '"'
  6727. FROM #t
  6728. WHERE CategoryId = @CategoryId
  6729. ORDER BY JobtypeId
  6730. PRINT 'jsJobTypeL2ID[' + LTRIM(STR(@CategoryId-1)) + ']=[' + @Sql + '];'
  6731. PRINT ''
  6732. END
  6733. END
  6734. GO
  6735. /****** Object: StoredProcedure [dbo].[spMakeVarJobTypeJson] Script Date: 2018/12/13 19:13:17 ******/
  6736. SET ANSI_NULLS ON
  6737. GO
  6738. SET QUOTED_IDENTIFIER ON
  6739. GO
  6740. CREATE PROCEDURE [dbo].[spMakeVarJobTypeJson]
  6741. AS
  6742. SET NOCOUNT ON
  6743. BEGIN
  6744. SELECT a.CategoryId, LEFT(b.Id, 2) JobTypeId, b.Id, b.Description, b.OrderNo
  6745. INTO #t
  6746. FROM dcJobTypeMap a, dcJobType b
  6747. WHERE a.JobtypeId = LEFT(b.Id, 2)
  6748. ORDER BY a.CategoryId, b.Id
  6749. INSERT INTO #t
  6750. SELECT a.CategoryId, b.ParentId2, b.Id, b.Description, b.OrderNo
  6751. FROM dcJobTypeMap a, dcJobType b
  6752. WHERE a.JobTypeId = b.ParentId2
  6753. ORDER BY a.CategoryId, b.ParentId2
  6754. UPDATE #t SET OrderNo = 10000 + OrderNo WHERE Description LIKE '其他%'
  6755. UPDATE #t SET OrderNo = 1000 + OrderNo WHERE ID > 100 AND LEFT(Id, 2) <> JobTypeId
  6756. DELETE #t WHERE JobTypeId = 56
  6757. ---------------
  6758. Print 'var jobTypeData = ['
  6759. DECLARE @Id INT, @Sql VARCHAR(MAX), @CategoryId INT, @JobTypeId INT, @PreCategoryId INT, @desc VARCHAR(50)
  6760. SELECT @Id = 0, @Sql = '', @CategoryId = 0, @JobTypeId = 0, @PreCategoryId = 0
  6761. WHILE EXISTS(SELECT 'x' FROM #t WHERE CategoryId > @CategoryId)
  6762. BEGIN
  6763. SELECT TOP 1 @CategoryId = CategoryId, @JobTypeId = 0 FROM #t WHERE CategoryId > @CategoryId ORDER BY CategoryId
  6764. WHILE EXISTS(SELECT 'x' FROM #t WHERE CategoryId = @CategoryId AND JobTypeId > @JobTypeId AND JobTypeId < 100)
  6765. BEGIN
  6766. SELECT TOP 1 @desc = ''
  6767. SELECT TOP 1 @JobTypeId = JobTypeId, @desc = Description FROM #t WHERE CategoryId = @CategoryId AND JobTypeId > @JobTypeId AND Id < 100 ORDER BY JobTypeId
  6768. SET @Sql = '{"value": "' + LTRIM(STR(@JobTypeId)) + '", "text": "' + @desc + '", "children":['
  6769. SELECT @SQl = @Sql + '{"value": "' + LTRIM(Str(Id)) + '", "text": "' + Description + '", "children": []},' FROM #t WHERE JobTypeId = @JobTypeId AND Id > 99 ORDER BY OrderNo
  6770. SET @Sql = LEFT(@Sql, LEN(@sql) - 1) + ']},'
  6771. PRINT @sql
  6772. SET @Id = @Id + 1
  6773. END
  6774. END
  6775. Print '{"value": "56", "text": "其他", "children": []}
  6776. ]'
  6777. END
  6778. GO
  6779. /****** Object: StoredProcedure [dbo].[spManageruserByLeaveUpdate] Script Date: 2018/12/13 19:13:17 ******/
  6780. SET ANSI_NULLS ON
  6781. GO
  6782. SET QUOTED_IDENTIFIER ON
  6783. GO
  6784. CREATE procedure [dbo].[spManageruserByLeaveUpdate]
  6785. as
  6786. BEGIN
  6787. IF NOT EXISTS(SELECT 'x' FROM ManagerUser WHERE Name != '空岗' AND Status = 3)
  6788. RETURN
  6789. update manageruser set name='空岗', loginstatus=2,photo=null where status=3
  6790. create table #t(id int identity(1, 1), p varchar(8))
  6791. insert #t
  6792. select top 999 substring(password, 10, 8) from pamain order by id desc
  6793. update a set a.password=b.p
  6794. from manageruser a, #t b
  6795. where a.id = b.id
  6796. and a.status=3
  6797. and a.name = '空岗'
  6798. END
  6799. GO
  6800. /****** Object: StoredProcedure [dbo].[spManageruserByMoveUpdate] Script Date: 2018/12/13 19:13:17 ******/
  6801. SET ANSI_NULLS ON
  6802. GO
  6803. SET QUOTED_IDENTIFIER ON
  6804. GO
  6805. --spManageruserByMoveUpdate 601, 104
  6806. create procedure [dbo].[spManageruserByMoveUpdate]
  6807. (
  6808. @oldId INT,
  6809. @NewId INT
  6810. )
  6811. AS
  6812. BEGIN
  6813. print 'UPDATE LoginOtpInfo SET ManagerUSerId = 0 where ManagerUserId = ' + LTRIM(STR(@NewID))
  6814. print 'UPDATE LoginOtpInfo SET ManagerUSerId = ' + LTRIM(STR(@NewID)) + ' where ManagerUserId = ' + LTRIM(STR(@OldId))
  6815. SELECT * FROM LoginOtpInfo WHERE ManagerUserId IN(@OldId, @NewId)
  6816. select id, UserName, Password, name, name_eng, OpenName, superior,
  6817. title, roleid, deptid, adddate, logincount, lastlogindate, type, email,
  6818. status, loginstatus, localrate, kpi_manager, km, km_score, ie, mobile, ec,
  6819. HRKpiPostId, HRKpiPostGrade, office, CompanyQQ, SalesLevel, WeiXinNo
  6820. INTO #t
  6821. FROM Manageruser
  6822. WHERE ID = @OldId
  6823. UPDATE ManagerUser SET UserName = LEFT(NEWID(), 10), Password = LEFT(NEWID(), 10),
  6824. Name = LEFT(NEWID(), 10), Name_Eng = LEFT(NEWID(), 10), Status = 3, LoginStatus = 2
  6825. WHERE ID = @OldId
  6826. UPDATE a
  6827. SET a.UserName = b.UserName,
  6828. a. Password = b. Password,
  6829. a. name = b. name,
  6830. a. name_eng = b. name_eng,
  6831. a. OpenName = b. OpenName,
  6832. a. superior = b. superior,
  6833. a.title = b.title,
  6834. a. roleid = b. roleid,
  6835. a. deptid = b. deptid,
  6836. a. adddate = b. adddate,
  6837. a. logincount = b. logincount,
  6838. a. lastlogindate = b. lastlogindate,
  6839. a. type = b. type,
  6840. a. email = b. email,
  6841. a.status = b.status,
  6842. a. loginstatus = b. loginstatus,
  6843. a. localrate = b. localrate,
  6844. a. kpi_manager = b. kpi_manager,
  6845. a. km = b. km,
  6846. a. km_score = b. km_score,
  6847. a. ie = b. ie,
  6848. a. mobile = b. mobile,
  6849. a. ec = b. ec,
  6850. a.HRKpiPostId = b.HRKpiPostId,
  6851. a. HRKpiPostGrade = b. HRKpiPostGrade,
  6852. a. office = b. office,
  6853. a. CompanyQQ = b. CompanyQQ,
  6854. a. SalesLevel = b. SalesLevel,
  6855. a. WeiXinNo = b. WeiXinNo
  6856. FROM ManagerUser a,
  6857. #t b
  6858. WHERE a.Id = @NewId
  6859. AND b.ID = @OldId
  6860. SELECT * FROM ManagerUser WHERE Id IN(@OldId, @NewId)
  6861. END
  6862. GO
  6863. /****** Object: StoredProcedure [dbo].[spManageruserByPasswordUpdate] Script Date: 2018/12/13 19:13:18 ******/
  6864. SET ANSI_NULLS ON
  6865. GO
  6866. SET QUOTED_IDENTIFIER ON
  6867. GO
  6868. CREATE PROCEDURE [dbo].[spManageruserByPasswordUpdate]
  6869. AS
  6870. BEGIN
  6871. CREATE TABLE #t(id INT, Pass INT)
  6872. DECLARE @Pass INT, @id INT
  6873. SET @id = 0
  6874. WHILE EXISTS(SELECT 'x' FROM ManagerUser WHERE id > @id)
  6875. BEGIN
  6876. SELECT TOP 1 @id = id FROM ManagerUser WHERE id > @id ORDER BY id
  6877. SELECT @Pass = cASt( floor(rand()*89999999)+10000000 AS INT)
  6878. IF @Pass LIKE '%4%'
  6879. SELECT @Pass = cASt( floor(rand()*89999999)+10000000 AS INT)
  6880. IF @Pass LIKE '%4%'
  6881. SELECT @Pass = cASt( floor(rand()*89999999)+10000000 AS INT)
  6882. IF @Pass LIKE '%4%'
  6883. SELECT @Pass = cASt( floor(rand()*89999999)+10000000 AS INT)
  6884. INSERT INTO #t SELECT @id, @Pass
  6885. END
  6886. UPDATE a SET a.Password = b.Pass FROM ManagerUser a, #t b WHERE a.id = b.id
  6887. INSERT INTO rtxnotIFylog(receiver, rtxtitle, rtxmessage, sENDtype, delaytime, showtype)
  6888. SELECT id, '后台密码修改通知',
  6889. '您的后台密码已经修改为' + LTRIM(STR(Pass)) + ',敬请注意。RTX、邮箱密码、呼叫中心密码没有修改,请你立刻自行修改RTX密码、邮箱密码、呼叫中心密码,与后台密码保持一致。邮箱密码修改可以通过“后台-->工作台-->公司邮箱”进行;RTX密码修改可以通过“RTX-->个人设置”进行;呼叫中心密码可以登录呼叫中心修改。', 1, 0, 0
  6890. FROM #t
  6891. WHERE Id IN(SELECT Id FROM ManagerUser WHERE Status <> 3)
  6892. END
  6893. GO
  6894. /****** Object: StoredProcedure [dbo].[spManagerUserByRtxStateUpdate] Script Date: 2018/12/13 19:13:18 ******/
  6895. SET ANSI_NULLS ON
  6896. GO
  6897. SET QUOTED_IDENTIFIER ON
  6898. GO
  6899. CREATE PROCEDURE [dbo].[spManagerUserByRtxStateUpdate]
  6900. (
  6901. @UserData VARCHAR(MAX)
  6902. )
  6903. AS
  6904. SET NOCOUNT ON
  6905. BEGIN
  6906. DECLARE @t AS TABLE(data VARCHAR(MAX))
  6907. DECLARE @T_RtxState AS TABLE(Id INT, RtxName VARCHAR(20), CurState TINYINT, CrDate DATETIME,
  6908. PreStatus TINYINT, PreTime DateTime, StaySecond INT)
  6909. INSERT INTO @t
  6910. SELECT REPLACE(a, '|', '') FROM dbo.fnSplit(@UserData, '||')
  6911. DECLARE @online VARCHAR(MAX), @offline VARCHAR(MAX), @away VARCHAR(MAX)
  6912. SELECT @Online = REPLACE(data, 'online=', '') FROM @t WHERE data LIKE 'online=%'
  6913. SELECT @offline = REPLACE(data, 'offline=', '') FROM @t WHERE data LIKE 'offline=%'
  6914. SELECT @away = REPLACE(data, 'away=', '') FROM @t WHERE data LIKE 'away=%'
  6915. INSERT INTO @T_RtxState(Id, RtxName, CurState, CrDate, PreStatus, PreTime)
  6916. SELECT ID, Name_Eng, 0, GETDATE(), RtxStatus, RtxTime
  6917. FROM ManagerUser
  6918. WHERE Status < 3
  6919. UPDATE @T_RtxState SET CurState = 0 WHERE RtxName IN(SELECT a FROM dbo.fnsplit(@offline, ';'))
  6920. UPDATE @T_RtxState SET CurState = 1 WHERE RtxName IN(SELECT a FROM dbo.fnsplit(@online, ';'))
  6921. UPDATE @T_RtxState SET CurState = 2 WHERE RtxName IN(SELECT a FROM dbo.fnsplit(@away, ';'))
  6922. UPDATE a SET a.PreStatus = b.RtxStatus, a.PreTime = b.RtxTime, a.Id = b.Id
  6923. FROM @T_RtxState a, ManagerUser b
  6924. WHERE a.RtxName = b.Name_Eng
  6925. AND b.Status < 3
  6926. UPDATE @T_RtxState SET PreTime = CrDate WHERE PreTime < DATEADD(MINUTE, -60, GETDATE())
  6927. UPDATE @T_RtxState SET StaySecond = DATEDIFF(SECOND, PreTime, CrDate)
  6928. DELETE FROM @T_RtxState WHERE Id IS NULL
  6929. UPDATE a SET a.RtxStatus = b.CurState, a.RtxTime = b.crDate
  6930. FROM ManagerUser a, @T_RtxState b
  6931. WHERE a.Id = b.Id
  6932. UPDATE a SET a.PreRtxStatus = b.PreStatus, a.RtxStatus = b.CurState,
  6933. a.OnlineSecond = a.OnLineSecond + b.StaySecond * 1000,
  6934. a.AllOnlineTime = a.AllOnlineTime + b.StaySecond * 1000,
  6935. a.CheckTime = b.crDate
  6936. FROM bsRtxStatus a, @T_RtxState b
  6937. WHERE a.CheckDay = CONVERT(VARCHAR(8), GETDATE(), 112)
  6938. AND a.ManagerUserId = b.Id
  6939. AND b.PreStatus = 1
  6940. UPDATE a SET a.PreRtxStatus = b.PreStatus, a.RtxStatus = b.CurState,
  6941. a.OfflineSecond = a.OffLineSecond + b.StaySecond * 1000,
  6942. a.CheckTime = b.crDate
  6943. FROM bsRtxStatus a, @T_RtxState b
  6944. WHERE a.CheckDay = CONVERT(VARCHAR(8), GETDATE(), 112)
  6945. AND a.ManagerUserId = b.Id
  6946. AND b.PreStatus = 0
  6947. UPDATE a SET a.PreRtxStatus = b.PreStatus, a.RtxStatus = b.CurState,
  6948. a.LeaveSecond = a.LeaveSecond + b.StaySecond * 1000,
  6949. a.CheckTime = b.crDate
  6950. FROM bsRtxStatus a, @T_RtxState b
  6951. WHERE a.CheckDay = CONVERT(VARCHAR(8), GETDATE(), 112)
  6952. AND a.ManagerUserId = b.Id
  6953. AND b.PreStatus = 2
  6954. INSERT bsRtxStatusLog(ManagerUserID, RtxStatus)
  6955. SELECT Id, CurState
  6956. FROM @T_RtxState
  6957. WHERE PreStatus <> CurState
  6958. SELECT Id, CurState
  6959. FROM @T_RtxState
  6960. WHERE PreStatus <> CurState
  6961. SELECT Count(*) FROM @T_RtxState
  6962. END
  6963. GO
  6964. /****** Object: StoredProcedure [dbo].[spMarketNeedSave] Script Date: 2018/12/13 19:13:18 ******/
  6965. SET ANSI_NULLS ON
  6966. GO
  6967. SET QUOTED_IDENTIFIER ON
  6968. GO
  6969. /*
  6970. 1、山东省十七地市企业数量、发布岗位数量、求职简历数量,分季度。
  6971. 2、按行业份,山东省各行业企业数量、发布岗位数量、求职简历数量,分季度。
  6972. 3、山东省岗位薪酬排行,分季度
  6973. 4、山东省热门岗位数量,分季度
  6974. 5、山东省热门岗位薪酬,分季度
  6975. */
  6976. CREATE PROCEDURE [dbo].[spMarketNeedSave]
  6977. AS
  6978. SET NOCOUNT ON
  6979. BEGIN
  6980. DECLARE @Month AS VARCHAR(8), @BeginDate AS DATETIME
  6981. SELECT @Month = CONVERT(VARCHAR(6), GETDATE(), 112), @BeginDate = GETDATE()
  6982. DELETE FROM ReportDb..MarketData WHERE CountMonth = @Month
  6983. --山东省十七地市
  6984. --企业数量
  6985. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, CountNumber)
  6986. SELECT @Month, 1, LEFT(dcRegionId, 4) dcRegionId, COUNT(*) Cnt FROM cpMain WHERE Regdate < @BeginDate GROUP BY Left(dcRegionId, 4)
  6987. --发布岗位数量
  6988. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, CountNumber)
  6989. SELECT @Month, 2, LEFT(dcRegionId, 4) dcRegionId, COUNT(*) Cnt FROM Job WHERE IssueDate < @BeginDate GROUP BY Left(dcRegionId, 4)
  6990. --求职简历数量
  6991. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, CountNumber)
  6992. SELECT @Month, 3, LEFT(LivePlace, 4) dcRegionId, COUNT(*) * 1.1 Cnt FROM paMain WHERE AddDate < @BeginDate GROUP BY Left(LivePlace, 4)
  6993. --按行业份,山东省各行业
  6994. --企业数量
  6995. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, dcIndustryId, CountNumber)
  6996. SELECT @Month, 11, LEFT(a.dcRegionId, 2), b.dcIndustryId, COUNT(*) Cnt FROM cpMain a, cpIndustry b WHERE a.Id = b.cpMainId AND a.RegDate < @BeginDate GROUP BY LEFT(a.dcRegionId, 2), b.dcIndustryId
  6997. --发布岗位数量
  6998. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, dcIndustryId, CountNumber)
  6999. SELECT @Month, 12, LEFT(a.dcRegionId, 2), b.dcIndustryId, COUNT(*) Cnt FROM cpMain a, cpIndustry b, Job c WHERE a.Id = b.cpMainId AND c.cpMainId = a.Id AND a.RegDate < @BeginDate GROUP BY LEFT(a.dcRegionId, 2), b.dcIndustryId
  7000. --求职简历数量
  7001. INSERT INTO ReportDb..MarketData(CountMonth, CountType, dcRegionId, dcIndustryId, CountNumber)
  7002. SELECT @Month, 13, LEFT(a.LivePlace, 2), c.dcIndustryId, COUNT(*) Cnt FROM paMain a, cvMain b, cvIndustry c WHERE a.Id = b.paMainId AND b.Id = c.cvMainId AND a.AddDate < @BeginDate GROUP BY LEFT(a.LivePlace, 2), c.dcIndustryId
  7003. END
  7004. GO
  7005. /****** Object: StoredProcedure [dbo].[spMergeJobType] Script Date: 2018/12/13 19:13:18 ******/
  7006. SET ANSI_NULLS ON
  7007. GO
  7008. SET QUOTED_IDENTIFIER ON
  7009. GO
  7010. CREATE procedure [dbo].[spMergeJobType]
  7011. (
  7012. @OldJobtype VARCHAR(4),
  7013. @NewJobtype VARCHAR(4)
  7014. )
  7015. AS
  7016. SET NOCOUNT ON
  7017. BEGIN
  7018. print @OldJobtype
  7019. --####################################33
  7020. DELETE caJobResumePreJobType WHERE dcJobTypeId = @OldJobtype AND cvMainId IN(SELECT cvMainId FROM caJobResumePreJobType WHERE dcJobTypeId = @NewJobtype)
  7021. UPDATE caJobResumePreJobType SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7022. ------------------------
  7023. UPDATE cvExperience SET dcJobtypeID = @NewJobtype WHERE dcJobtypeID = @OldJobtype
  7024. UPDATE cvExperiencePublish SET dcJobtypeID = @NewJobtype WHERE dcJobtypeID = @OldJobtype
  7025. ------------------------
  7026. SELECT Distinct cvMainId INTO #t1 FROM cvJobType WITH(NOLOCK) WHERE dcJobTypeId = @OldJobtype OR dcJobTypeId = @NewJobtype
  7027. DELETE FROM cvJobType WHERE (dcJobTypeId = @OldJobtype OR dcJobTypeId = @NewJobtype) AND cvMainId IN(SELECT cvMainId FROM #t1)
  7028. INSERT cvJobType (cvMainId, dcJobTypeId) SELECT cvMainId, @NewJobtype FROM #t1
  7029. SELECT Distinct cvMainId INTO #t2 FROM cvJobTypePublish WITH(NOLOCK) WHERE dcJobTypeId = @OldJobtype OR dcJobTypeId = @NewJobtype
  7030. DELETE FROM cvJobTypePublish WHERE (dcJobTypeId = @OldJobtype OR dcJobTypeId = @NewJobtype) AND cvMainId IN(SELECT cvMainId FROM #t2)
  7031. INSERT cvJobTypePublish (cvMainId, dcJobTypeId) SELECT cvMainId, @NewJobtype FROM #t2
  7032. ------------------------------------------
  7033. UPDATE cvMain SET LastJobTypeID = @NewJobtype WHERE LastJobTypeID = @OldJobtype
  7034. UPDATE cvMainPublish SET LastJobTypeID = @NewJobtype WHERE LastJobTypeID = @OldJobtype
  7035. -------------------------------
  7036. DELETE dcJobName WHERE dcJobTypeId = @OldJobtype AND Name IN(SELECT Name FROM dcJobName WHERE dcJobTypeId = @NewJobtype)
  7037. UPDATE dcJobName SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7038. -------------------------------------
  7039. DELETE dcJobTypeMap WHERE JobTypeId = @OldJobtype
  7040. -------------------------------------
  7041. DELETE dcJobTypeTemplate WHERE dcJobTypeId = @OldJobtype
  7042. -----------------------------
  7043. UPDATE hpJobTypeCpLogo SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7044. -----------------------------
  7045. UPDATE Job SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7046. UPDATE Job SET dcJobTypeIDMinor = @NewJobtype WHERE dcJobTypeIDMinor = @OldJobtype
  7047. UPDATE JobPublish SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7048. UPDATE JobPublish SET dcJobTypeIDMinor = @NewJobtype WHERE dcJobTypeIDMinor = @OldJobtype
  7049. UPDATE JobTemplate SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7050. UPDATE JobTemplate SET dcJobTypeIDMinor = @NewJobtype WHERE dcJobTypeIDMinor = @OldJobtype
  7051. UPDATE JobSimilar SET dcJobTypeId = @NewJobtype WHERE dcJobTypeId = @OldJobtype
  7052. UPDATE caCvFinder SET dcJobTypeId = REPLACE(dcJobTypeId, @OldJobtype, @NewJobtype) WHERE dcJobTypeId LIKE '%' + @OldJobtype + '%'
  7053. UPDATE paJobFinder SET dcJobTypeId = REPLACE(dcJobTypeId, @OldJobtype, @NewJobtype) WHERE dcJobTypeId LIKE '%' + @OldJobtype + '%'
  7054. DELETE FROM dcJobType WHERE id = @OldJobtype
  7055. ----dcJobTypeHot
  7056. END
  7057. GO
  7058. /****** Object: StoredProcedure [dbo].[spMergeRegion] Script Date: 2018/12/13 19:13:18 ******/
  7059. SET ANSI_NULLS ON
  7060. GO
  7061. SET QUOTED_IDENTIFIER ON
  7062. GO
  7063. --########################################
  7064. --转换数据,从@OldRegion转到@NewRegion
  7065. --########################################
  7066. CREATE PROCEDURE [dbo].[spMergeRegion]
  7067. (
  7068. @OldRegion VARCHAR(6),
  7069. @NewRegion VARCHAR(6)
  7070. )
  7071. AS
  7072. SET NOCOUNT OFF
  7073. BEGIN TRY
  7074. BEGIN TRAN
  7075. --####################################33
  7076. UPDATE dcBusinessCircle SET dcRegionId = @NewRegion WHERE dcRegionId = @OldRegion
  7077. UPDATE Job SET dcRegionId = @NewRegion WHERE dcRegionId = @OldRegion
  7078. UPDATE JobPublish SET dcRegionId = @NewRegion WHERE dcRegionId = @OldRegion
  7079. UPDATE JobTemplate SET dcRegionId = @NewRegion WHERE dcRegionId = @OldRegion
  7080. UPDATE paMain SET LivePlace = @NewRegion WHERE LivePlace = @OldRegion
  7081. UPDATE paMain SET GrowPlace = @NewRegion WHERE GrowPlace = @OldRegion
  7082. UPDATE paMain SET AccountPlace = @NewRegion WHERE AccountPlace = @OldRegion
  7083. UPDATE cvexperience SET WorkPlace = @NewRegion WHERE WorkPlace = @OldRegion
  7084. UPDATE caCvFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId = @OldRegion
  7085. UPDATE caCvFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like @OldRegion + ',%'
  7086. UPDATE caCvFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like '%,' + @OldRegion + ',%'
  7087. UPDATE caCvFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like '%,' + @OldRegion
  7088. UPDATE paJobFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId = @OldRegion
  7089. UPDATE paJobFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like @OldRegion + ',%'
  7090. UPDATE paJobFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like '%,' + @OldRegion + ',%'
  7091. UPDATE paJobFinder SET dcRegionId = REPLACE(dcRegionId, @OldRegion, @NewRegion) WHERE dcRegionId like '%,' + @OldRegion
  7092. --####################################33
  7093. DECLARE curCpMain CURSOR FOR
  7094. SELECT ID FROM cpMain WITH(NOLOCK)
  7095. WHERE dcRegionId = @OldRegion
  7096. OPEN curCpMain
  7097. DECLARE @Id INT
  7098. FETCH NEXT FROM curCpMain INTO @Id
  7099. WHILE(@@FETCH_STATUS =0)
  7100. BEGIN
  7101. UPDATE cpMain SET dcRegionId = @NewRegion WHERE id = @Id
  7102. FETCH NEXT FROM curCpMain INTO @Id
  7103. END
  7104. CLOSE curCpMain
  7105. DEALLOCATE curCpMain
  7106. --####################################33
  7107. DECLARE curCpMainPublish CURSOR FOR
  7108. SELECT ID FROM cpMainPublish WITH(NOLOCK)
  7109. WHERE dcRegionId = @OldRegion
  7110. OPEN curCpMainPublish
  7111. FETCH NEXT FROM curCpMainPublish INTO @Id
  7112. WHILE(@@FETCH_STATUS =0)
  7113. BEGIN
  7114. UPDATE cpMainPublish SET dcRegionId = @NewRegion WHERE id = @Id
  7115. FETCH NEXT FROM curCpMainPublish INTO @Id
  7116. END
  7117. CLOSE curCpMainPublish
  7118. DEALLOCATE curCpMainPublish
  7119. --####################################33
  7120. SELECT Distinct cvMainId INTO #t FROM cvJobplace WITH(NOLOCK) WHERE dcRegionId = @OldRegion OR dcRegionId = @NewRegion
  7121. DELETE FROM cvJobplace WHERE (dcRegionId = @OldRegion OR dcRegionId = @NewRegion) AND cvMainId IN(SELECT cvMainId FROM #t)
  7122. INSERT cvJobplace (cvMainId, dcRegionId) SELECT cvMainId, @NewRegion FROM #t
  7123. --####################################33
  7124. SELECT Distinct cvMainId INTO #tt FROM cvJobplacePublish WITH(NOLOCK) WHERE dcRegionId = @OldRegion OR dcRegionId = @NewRegion
  7125. DELETE FROM cvJobplacePublish WHERE (dcRegionId = @OldRegion OR dcRegionId = @NewRegion) AND cvMainId IN(SELECT cvMainId FROM #tt)
  7126. INSERT cvJobplacePublish (cvMainId, dcRegionId) SELECT cvMainId, @NewRegion FROM #tt
  7127. --####################################33
  7128. DELETE FROM dcregion WHERE id = @OldRegion
  7129. COMMIT
  7130. END TRY
  7131. BEGIN CATCH
  7132. PRINT ERROR_MESSAGE()
  7133. ROLLBACK TRAN
  7134. END CATCH
  7135. GO
  7136. /****** Object: StoredProcedure [dbo].[spNewJobRelatedInsert] Script Date: 2018/12/13 19:13:19 ******/
  7137. SET ANSI_NULLS ON
  7138. GO
  7139. SET QUOTED_IDENTIFIER ON
  7140. GO
  7141. CREATE PROCEDURE [dbo].[spNewJobRelatedInsert]
  7142. AS
  7143. BEGIN
  7144. SELECT a.id JobId, a.SecondId, a.Name, LEFT(a.dcRegionId, 2) dcRegionId, LEFT(a.dcJobTypeId, 2) dcJobTypeId,
  7145. ROW_NUMBER() OVER(PARTITION BY LEFT(a.dcRegionId, 2), LEFT(a.dcJobTypeId, 2) ORDER BY a.RefreshDate) RowNo
  7146. INTO #t
  7147. FROM JobPublish a WITH(NOLOCK),
  7148. cpMain b WITH(NOLOCK)
  7149. WHERE a.cpMainId = b.Id
  7150. AND a.Valid = 1
  7151. AND b.Valid = 1
  7152. AND a.dcRegionId LIKE LTRIM(STR(b.dcProvinceId)) + '%'
  7153. DELETE #t WHERE RowNo > 100
  7154. CREATE TABLE #r(JobId INT, RowNo INT IDENTITY(1, 1))
  7155. INSERT INTO #r SELECT JobId FROM #t ORDER BY NEWID()
  7156. TRUNCATE TABLE ShortDb..NewJobRelated
  7157. INSERT INTO NewJobRelated(JobId, SecondId, Name, dcRegionId, dcJobTypeId, RowNo)
  7158. SELECT a.JobId, a.SecondId, a.Name, a.dcRegionId, a.dcJobTypeID, b.RowNo
  7159. FROM #t a, #r b
  7160. WHERE a.JobId = b.JobId
  7161. END
  7162. GO
  7163. /****** Object: StoredProcedure [dbo].[spOrderAnalysis] Script Date: 2018/12/13 19:13:19 ******/
  7164. SET ANSI_NULLS ON
  7165. GO
  7166. SET QUOTED_IDENTIFIER ON
  7167. GO
  7168. CREATE PROCEDURE [dbo].[spOrderAnalysis]
  7169. (
  7170. @Year INT,
  7171. @ProvinceId INT
  7172. )
  7173. AS
  7174. BEGIN
  7175. IF @Year > DATEPART(Year, getdate())
  7176. RETURN
  7177. IF @Year < 2002
  7178. SET @Year = 0
  7179. IF @ProvinceId > 0 AND NOT EXISTS(SELECT 'x' FROM dcProvince WHERE ID=@ProvinceId)
  7180. RETURN
  7181. DECLARE @Sql AS VARCHAR(MAX)
  7182. IF ISNULL((SELECT TOP 1 CountDate FROM OrderAnalysis), '') <> CONVERT(VARCHAR(10), GETDATE(), 120)
  7183. BEGIN
  7184. TRUNCATE TABLE OrderAnalysis
  7185. SET @Sql = 'INSERT INTO OrderAnalysis SELECT Row_Number() OVER(order by cpMainid, begindate) ID, ID OrderId, cpMainid, ProvinceId, paid, opendate, begindate, enddate,
  7186. Paid Paid2, OpenDate OpenDate2, BeginDate BeginDate2, EndDate EndDate2, ID NextId, Id DiffDay, Id DiffMonth, 0, '''', CONVERT(VARCHAR(10), GETDATE(), 120)
  7187. from caorder with(nolock)
  7188. where ordertype in(1,2,8)
  7189. and paid>0
  7190. and opendate IS NOT NULL
  7191. and enddate IS NOT NULL'
  7192. EXEC(@Sql)
  7193. UPDATE OrderAnalysis SET Paid2 = NULL, OpenDate2 = NULL, BeginDate2 = NULL, EndDate2 = NULL, NextId = NULL, DiffDay = NULL, DiffMonth = NULL
  7194. UPDATE a
  7195. SET a.NextID = (SELECT Min(ID) FROM OrderAnalysis WHERE OrderAnalysis.cpMainID = a.cpMainId AND OrderAnalysis.Id > a.Id)
  7196. FROM OrderAnalysis a
  7197. UPDATE a
  7198. SET a.BeginDate2 = (SELECT BeginDate FROM OrderAnalysis WHERE OrderAnalysis.ID = a.NextId),
  7199. a.Paid2 = (SELECT Paid FROM OrderAnalysis WHERE OrderAnalysis.ID = a.NextId),
  7200. a.EndDate2 = (SELECT EndDate FROM OrderAnalysis WHERE OrderAnalysis.ID = a.NextId),
  7201. a.OpenDate2 = (SELECT OpenDate FROM OrderAnalysis WHERE OrderAnalysis.ID = a.NextId)
  7202. FROM OrderAnalysis a
  7203. WHERE NextId > 0
  7204. UPDATE OrderAnalysis SET DiffDay = DATEDIFF(DAY, EndDate, OpenDate2), DiffMonth = DATEDIFF(MONTH, EndDate, OpenDate)
  7205. UPDATE OrderAnalysis SET DiffDay = 0, DiffMonth = 0 WHERE DiffDay < 0
  7206. UPDATE OrderAnalysis SET Interval = 1, IntervalRemark = '0~7天' WHERE DiffDay <=7
  7207. UPDATE OrderAnalysis SET Interval = 2, IntervalRemark = '8~30天' WHERE DiffDay > 7 AND DiffDay <= 30
  7208. UPDATE OrderAnalysis SET Interval = 3, IntervalRemark = '31~91天' WHERE DiffDay > 31 AND DiffDay <= 91
  7209. UPDATE OrderAnalysis SET Interval = 4, IntervalRemark = '92~183天' WHERE DiffDay > 91 AND DiffDay <= 183
  7210. UPDATE OrderAnalysis SET Interval = 5, IntervalRemark = '184~365天' WHERE DiffDay > 183 AND DiffDay <= 365
  7211. UPDATE OrderAnalysis SET Interval = 6, IntervalRemark = '366~730天' WHERE DiffDay > 365 AND DiffDay <= 730
  7212. UPDATE OrderAnalysis SET Interval = 7, IntervalRemark = '>730天' WHERE DiffDay > 731
  7213. END
  7214. SELECT TOP 0 * INTO #Order FROM OrderAnalysis WITH(NOLOCK)
  7215. IF @Year = 0
  7216. IF ISNULL(@ProvinceId, 0) = 0
  7217. INSERT INTO #Order SELECT * FROM OrderAnalysis WITH(NOLOCK)
  7218. ELSE
  7219. INSERT INTO #Order SELECT * FROM OrderAnalysis WITH(NOLOCK) WHERE ProvinceId LIKE LTRIM(STR(@ProvinceID)) + '%'
  7220. ELSE
  7221. IF ISNULL(@ProvinceId, 0) = 0
  7222. INSERT INTO #Order SELECT * FROM OrderAnalysis WITH(NOLOCK) WHERE DATEPART(YEAR, OpenDate) <> @Year
  7223. ELSE
  7224. INSERT INTO #Order SELECT * FROM OrderAnalysis WITH(NOLOCK) WHERE DATEPART(YEAR, OpenDate) <> @Year AND ProvinceId LIKE LTRIM(STR(@ProvinceID)) + '%'
  7225. DECLARE @t AS TABLE(
  7226. ID INT IDENTITY(1,1),
  7227. Title VARCHAR(100),
  7228. Cnt DECIMAL(18,2),
  7229. Rate DECIMAL(18, 2)
  7230. )
  7231. DECLARE @S AS DECIMAL(18, 0)
  7232. SELECT @S = COUNT(*) FROM #Order
  7233. INSERT INTO @t VALUES('<font color=red>总订单数</font>', @S, 100.00)
  7234. INSERT INTO @t
  7235. SELECT '交费' + LTRIM(STR(Cnt)) + '次', COUNT(*), SUM(Cnt)*100.0 / @S
  7236. FROM (SELECT cpMainId, COUNT(*) Cnt FROM #Order GROUP BY cpMainID) a
  7237. GROUP BY Cnt
  7238. ORDER BY Cnt
  7239. DECLARE @Total AS INT
  7240. SET @Total = @S
  7241. SELECT @S = COUNT(*) FROM #Order WHERE NextID > 0
  7242. INSERT INTO @t VALUES('<font color=red>续费订单数</font>', @S, @S * 100.00 / @Total)
  7243. INSERT INTO @t
  7244. SELECT IntervalRemark, COUNT(*), COUNT(*) * 100.0/@s
  7245. FROM #Order
  7246. WHERE Interval > 0
  7247. GROUP BY Interval, IntervalRemark ORDER BY Interval
  7248. SELECT ID 序号, Title 类型, Cnt 数量, Rate 比例 FROM @t
  7249. END
  7250. GO
  7251. /****** Object: StoredProcedure [dbo].[spPaMainByRegisterModeFix] Script Date: 2018/12/13 19:13:19 ******/
  7252. SET ANSI_NULLS ON
  7253. GO
  7254. SET QUOTED_IDENTIFIER ON
  7255. GO
  7256. CREATE PROCEDURE [dbo].[spPaMainByRegisterModeFix]
  7257. AS
  7258. BEGIN
  7259. CREATE TABLE #t(Id INT)
  7260. INSERT INTO #t
  7261. SELECT a.id
  7262. FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK)
  7263. WHERE a.paMainId = b.ID
  7264. AND (
  7265. ((a.cvLevel LIKE '1111_1%' AND a.VerifyResult = 1)
  7266. OR (a.cvLevelEng LIKE '1111_1%' AND a.VerifyResultEng = 1)
  7267. )
  7268. AND (b.RegisterMode = 1 OR b.RegisterType = 101)
  7269. AND (b.addDate > GETDATE()-1.1
  7270. OR a.RefreshDate > GETDATE()-1.1
  7271. OR B.LastModifyDate > GETDATE()-1.1
  7272. )
  7273. AND b.AddMan > 1
  7274. AND a.ID NOT IN(select cvMainID FROM bsCvModify WITH(NOLOCK) WHERE cvmainid>0)
  7275. )
  7276. INSERT INTO #t
  7277. SELECT a.id
  7278. FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK)
  7279. WHERE a.paMainId = b.ID
  7280. AND b.RegisterMode = 1
  7281. AND a.Valid > 0
  7282. AND (b.AddDate > GETDATE() - 90 OR b.LastLoginDate > GETDATE() - 3)
  7283. DECLARE c CURSOR
  7284. FOR SELECT id FROM #t
  7285. FOR READ ONLY
  7286. OPEN c
  7287. IF @@FETCH_STATUS >= 0
  7288. BEGIN
  7289. DECLARE @cvMainID INT
  7290. FETCH NEXT FROM c INTO @cvMainID
  7291. WHILE(@@FETCH_STATUS = 0)
  7292. BEGIN
  7293. UPDATE cvMain SET VerifyResult = VerifyResult, VerifyResultEng = VerifyResultEng WHERE ID = @cvMainID
  7294. --PRINT @cvMainID
  7295. FETCH NEXT FROM c INTO @cvMainID
  7296. END
  7297. END
  7298. CLOSE c
  7299. DEALLOCATE c
  7300. END
  7301. GO
  7302. /****** Object: StoredProcedure [dbo].[spPaPublishByFixUpdate] Script Date: 2018/12/13 19:13:20 ******/
  7303. SET ANSI_NULLS ON
  7304. GO
  7305. SET QUOTED_IDENTIFIER ON
  7306. GO
  7307. --2013-3-22 sean fix pamainpublish cvmainpublish..................
  7308. CREATE PROCEDURE [dbo].[spPaPublishByFixUpdate]
  7309. AS
  7310. SET NOCOUNT ON
  7311. BEGIN
  7312. SELECT a.id paMainId, b.Id cvMainId
  7313. INTO #tmp
  7314. FROM paMain a, cvMain b
  7315. WHERE a.Id = b.paMainId
  7316. AND a.Verifycount = 0
  7317. AND b.VerifyResult = 1
  7318. AND a.LastLogindate > GETDATE() - 183
  7319. AND a.Id IN(SELECT Id FROM paMainPublish)
  7320. AND b.Id IN(SELECT Id FROM cvMainPublish)
  7321. DELETE cvMainPublish WHERE Id IN(SELECT cvMainId FROM #tmp)
  7322. --------------------------------------
  7323. CREATE TABLE #t(id INT, Col TINYINT)
  7324. DECLARE @d AS DATETIME, @cn AS INT, @H AS INT, @i AS INT
  7325. SELECT @D = CONVERT(VARCHAR(10), GETDATE() - 365, 120), @H = DATEPART(HOUR, GETDATE()), @cn = 6
  7326. IF @h % 4 = 1 --OR 1=1
  7327. BEGIN
  7328. INSERT #t(id)
  7329. SELECT id FROM cvmain WITH(NOLOCK)
  7330. WHERE EXISTS(SELECT 'x' FROM pamain WITH(NOLOCK) WHERE lastlogindate > @D AND pamain.id = cvmain.pamainid AND VerifyCount > 0)
  7331. AND valid>0
  7332. AND NOT EXISTS (SELECT id FROM cvmainpublish WITH(NOLOCK) WHERE cvmainpublish.id = cvmain.id)
  7333. INSERT #t(id)
  7334. SELECT id FROM cvMainPublish WITH(NOLOCK)
  7335. WHERE NOT EXISTS (SELECT id FROM cvMain WITH(NOLOCK) WHERE cvMain.id = cvMainPublish.id AND cvMain.valid = cvmainpublish.valid)
  7336. DECLARE @id AS INT, @Mid AS INT
  7337. SELECT @id = 0, @mid = max(id) FROM #t
  7338. WHILE @id < @mid
  7339. BEGIN
  7340. SELECT @id = mIN(id) FROM #t WHERE id > @id
  7341. UPDATE cvmain set refreshdate = refreshdate WHERE id = @id
  7342. END
  7343. TRUNCATE TABLE #t
  7344. INSERT #t(ID)
  7345. SELECT ID FROM paMain WHERE DATEADD(DAY, 1, LastLoginDate) < LastModifyDate AND LastLoginDate > GETDATE() - 365 AND VerifyCount > 0
  7346. SELECT @id = 0, @mid = max(id) FROM #t
  7347. WHILE @id < @mid
  7348. BEGIN
  7349. SELECT @id = mIN(id) FROM #t WHERE id > @id
  7350. UPDATE pamain set LastLoginDate = LastModifyDate WHERE id = @id
  7351. END
  7352. TRUNCATE TABLE #t
  7353. END
  7354. INSERT #t SELECT a.id, 3 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.JobName<> b.JobName
  7355. INSERT #t SELECT a.id, 6 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.RefreshDate<> b.RefreshDate
  7356. IF @h % @cn = 0 --OR 1=1
  7357. INSERT #t SELECT a.id,1 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Degree<> b.Degree
  7358. IF @h % @cn = 1 --OR 1=1
  7359. INSERT #t SELECT a.id,2 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.dcMajorID<> b.dcMajorID
  7360. IF @h % @cn = 2 --OR 1=1
  7361. INSERT #t SELECT a.id,4 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.RelatedWorkYears<> b.RelatedWorkYears
  7362. IF @h % @cn = 3 --OR 1=1
  7363. INSERT #t SELECT a.id,5 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.dcSalaryID<> b.dcSalaryID
  7364. IF @h % @cn = 4 --OR 1=1
  7365. INSERT #t SELECT a.id,7 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.LastJobTypeID<> b.LastJobTypeID
  7366. IF @h % @cn = 5 --OR 1=1
  7367. INSERT #t SELECT a.id,8 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.LastIndustryID<> b.LastIndustryID
  7368. IF @h % @cn = 0 --OR 1=1
  7369. INSERT #t SELECT a.id,9 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.SubNodeNum<> b.SubNodeNum
  7370. IF @h % @cn = 1 --OR 1=1
  7371. INSERT #t SELECT a.id,10 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.IsNegotiable<> b.IsNegotiable
  7372. IF @h % @cn = 2 --OR 1=1
  7373. INSERT #t SELECT a.id,11 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Attachment<> b.Attachment
  7374. IF @h % @cn = 3 --OR 1=1
  7375. INSERT #t SELECT a.id,12 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Valid<> b.Valid
  7376. IF @h % @cn = 4 --OR 1=1
  7377. INSERT #t SELECT a.id,13 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Speciality<> b.Speciality
  7378. IF @h % @cn = 5 --OR 1=1
  7379. BEGIN
  7380. INSERT #t SELECT a.id,14 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.SpecialityEng<> b.SpecialityEng
  7381. INSERT #t SELECT a.id,15 FROM cvmain a WITH(NOLOCK),cvmainpublish b WITH(NOLOCK) WHERE a.id = b.id AND ISNULL(a.EmployType, 10) <> ISNULL(b.EmployType, 10)
  7382. END
  7383. UPDATE a set a.Degree = b.Degree FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7384. UPDATE a set a.dcMajorID = b.dcMajorID FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7385. UPDATE a set a.JobName = b.JobName FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 3)
  7386. UPDATE a set a.RelatedWorkYears = b.RelatedWorkYears FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 4)
  7387. UPDATE a set a.dcSalaryID = b.dcSalaryID FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 5)
  7388. UPDATE a set a.RefreshDate = b.RefreshDate FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 6)
  7389. UPDATE a set a.LastJobTypeID = b.LastJobTypeID FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 7)
  7390. UPDATE a set a.LastIndustryID = b.LastIndustryID FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 8)
  7391. UPDATE a set a.SubNodeNum = b.SubNodeNum FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 9)
  7392. UPDATE a set a.IsNegotiable = b.IsNegotiable FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 10)
  7393. UPDATE a set a.Attachment = b.Attachment FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 11)
  7394. UPDATE a set a.Valid = b.Valid FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 12)
  7395. UPDATE a set a.Speciality = b.Speciality FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 13)
  7396. UPDATE a set a.SpecialityEng = b.SpecialityEng FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 14)
  7397. UPDATE a set a.EmployType = b.EmployType FROM cvmainpublish a, cvmain b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 15)
  7398. ----SELECT a.id,c.lastlogindate,a.refreshdate,b.refreshdate FROM cvmain a,cvmainpublish b,pamain c WHERE a.pamainid = c.id AND a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 6) order by c.lastlogindate
  7399. IF @H = 7
  7400. BEGIN
  7401. TRUNCATE TABLE #t
  7402. INSERT #t SELECT a.id,1 FROM cvappendix a WITH(NOLOCK), cvappendixpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Description <> b.Description
  7403. INSERT #t SELECT a.id,2 FROM cvappendix a WITH(NOLOCK), cvappendixpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Name <> b.Name
  7404. UPDATE a SET a.Description = b.Description FROM cvappendixpublish a, cvappendix b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7405. UPDATE a SET a.Name = b.Name FROM cvappendixpublish a, cvappendix b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7406. TRUNCATE TABLE #t
  7407. INSERT #t SELECT a.id,1 FROM cvLanguage a WITH(NOLOCK), cvLanguagepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.LanguageType <> b.LanguageType
  7408. UPDATE a SET a.LanguageType = b.LanguageType FROM cvLanguagepublish a, cvLanguage b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7409. TRUNCATE TABLE #t
  7410. INSERT #t SELECT a.id,1 FROM cvProject a WITH(NOLOCK), cvProjectpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Description <> b.Description
  7411. INSERT #t SELECT a.id,2 FROM cvProject a WITH(NOLOCK), cvProjectpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Name <> b.Name
  7412. INSERT #t SELECT a.id,3 FROM cvProject a WITH(NOLOCK), cvProjectpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Responsibilities <> b.Responsibilities
  7413. UPDATE a SET a.Description = b.Description FROM cvProjectpublish a, cvProject b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7414. UPDATE a SET a.Name = b.Name FROM cvProjectpublish a, cvProject b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7415. UPDATE a SET a.Responsibilities = b.Responsibilities FROM cvProjectpublish a, cvProject b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 3)
  7416. TRUNCATE TABLE #t
  7417. INSERT #t SELECT a.id,1 FROM cvTraining a WITH(NOLOCK), cvTrainingpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Certificate <> b.Certificate
  7418. INSERT #t SELECT a.id,2 FROM cvTraining a WITH(NOLOCK), cvTrainingpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Course <> b.Course
  7419. INSERT #t SELECT a.id,3 FROM cvTraining a WITH(NOLOCK), cvTrainingpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Details <> b.Details
  7420. INSERT #t SELECT a.id,4 FROM cvTraining a WITH(NOLOCK), cvTrainingpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Institution <> b.Institution
  7421. UPDATE a SET a.Certificate = b.Certificate FROM cvTrainingpublish a, cvTraining b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7422. UPDATE a SET a.Course = b.Course FROM cvTrainingpublish a, cvTraining b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7423. UPDATE a SET a.Details = b.Details FROM cvTrainingpublish a, cvTraining b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 3)
  7424. UPDATE a SET a.Institution = b.Institution FROM cvTrainingpublish a, cvTraining b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 4)
  7425. TRUNCATE TABLE #t
  7426. INSERT #t SELECT a.id,1 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.dcMajorID <> b.dcMajorID
  7427. INSERT #t SELECT a.id,2 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Degree <> b.Degree
  7428. INSERT #t SELECT a.id,3 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Details <> b.Details
  7429. INSERT #t SELECT a.id,4 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.EduType <> b.EduType
  7430. INSERT #t SELECT a.id,5 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.GraduateCollage <> b.GraduateCollage
  7431. INSERT #t SELECT a.id,6 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.GraduateCollageEng <> b.GraduateCollageEng
  7432. INSERT #t SELECT a.id,7 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Graduation <> b.Graduation
  7433. INSERT #t SELECT a.id,8 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.MajorName <> b.MajorName
  7434. INSERT #t SELECT a.id,9 FROM cvEducation a WITH(NOLOCK), cvEducationpublish b WITH(NOLOCK) WHERE a.id = b.id AND a.MajorNameEng <> b.MajorNameEng
  7435. UPDATE a SET a.dcMajorID = b.dcMajorID FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7436. UPDATE a SET a.Degree = b.Degree FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7437. UPDATE a SET a.Details = b.Details FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 3)
  7438. UPDATE a SET a.EduType = b.EduType FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 4)
  7439. UPDATE a SET a.GraduateCollage = b.GraduateCollage FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 5)
  7440. UPDATE a SET a.GraduateCollageEng = b.GraduateCollageEng FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 6)
  7441. UPDATE a SET a.Graduation = b.Graduation FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 7)
  7442. UPDATE a SET a.MajorName = b.MajorName FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 8)
  7443. UPDATE a SET a.MajorNameEng = b.MajorNameEng FROM cvEducationpublish a, cvEducation b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 9)
  7444. TRUNCATE TABLE #t
  7445. INSERT #t SELECT a.id,1 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.CompanyName <> b.CompanyName
  7446. INSERT #t SELECT a.id,2 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.dcIndustryID <> b.dcIndustryID
  7447. INSERT #t SELECT a.id,3 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.dcJobtypeID <> b.dcJobtypeID
  7448. INSERT #t SELECT a.id,4 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.Description <> b.Description
  7449. INSERT #t SELECT a.id,5 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.JobName <> b.JobName
  7450. INSERT #t SELECT a.id,6 FROM cvExperience a WITH(NOLOCK), cvExperiencepublish b WITH(NOLOCK) WHERE a.id = b.id AND a.SubNodeNum <> b.SubNodeNum
  7451. UPDATE a SET a.CompanyName = b.CompanyName FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 1)
  7452. UPDATE a SET a.dcIndustryID = b.dcIndustryID FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 2)
  7453. UPDATE a SET a.dcJobtypeID = b.dcJobtypeID FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 3)
  7454. UPDATE a SET a.Description = b.Description FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 4)
  7455. UPDATE a SET a.JobName = b.JobName FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 5)
  7456. UPDATE a SET a.SubNodeNum = b.SubNodeNum FROM cvExperiencepublish a, cvExperience b WHERE a.id = b.id AND a.id IN(SELECT id FROM #t WHERE col = 6)
  7457. DELETE FROM cvIndustryPublish
  7458. WHERE NOT EXISTS
  7459. (
  7460. SELECT 'x'
  7461. FROM cvIndustry WITH(NOLOCK)
  7462. WHERE cvIndustry.cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7463. AND cvIndustry.cvMainID = cvIndustryPublish.cvMainID
  7464. AND cvIndustry.dcIndustryId = cvIndustryPublish.dcIndustryId
  7465. )
  7466. INSERT cvIndustryPublish(cvMainId, dcIndustryID)
  7467. SELECT cvMainId, dcIndustryID
  7468. FROM cvIndustry WITH(NOLOCK)
  7469. WHERE cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7470. AND NOT EXISTS
  7471. (
  7472. SELECT 'x'
  7473. FROM cvIndustryPublish WITH(NOLOCK)
  7474. WHERE cvIndustry.cvMainID = cvIndustryPublish.cvMainID
  7475. AND cvIndustry.dcIndustryId = cvIndustryPublish.dcIndustryId
  7476. )
  7477. DELETE FROM cvJobTypePublish
  7478. WHERE NOT EXISTS
  7479. (
  7480. SELECT 'x'
  7481. FROM cvJobType WITH(NOLOCK)
  7482. WHERE cvJobType.cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7483. AND cvJobType.cvMainID = cvJobTypePublish.cvMainID
  7484. AND cvJobType.dcJobTypeId = cvJobTypePublish.dcJobTypeId
  7485. )
  7486. INSERT cvJobTypePublish(cvMainId, dcJobTypeId)
  7487. SELECT * FROM cvJobType WITH(NOLOCK)
  7488. WHERE cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7489. AND NOT EXISTS
  7490. (
  7491. SELECT 'x'
  7492. FROM cvJobTypePublish WITH(NOLOCK)
  7493. WHERE cvJobType.cvMainID = cvJobTypePublish.cvMainID
  7494. AND cvJobType.dcJobTypeId = cvJobTypePublish.dcJobTypeId
  7495. )
  7496. DELETE FROM cvJobPlacePublish
  7497. WHERE NOT EXISTS
  7498. (
  7499. SELECT 'x'
  7500. FROM cvJobPlace WITH(NOLOCK)
  7501. WHERE cvJobPlace.cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7502. AND cvJobPlace.cvMainID = cvJobPlacePublish.cvMainID
  7503. AND cvJobPlace.dcRegionId = cvJobPlacePublish.dcRegionId
  7504. )
  7505. INSERT cvJobPlacePublish(cvMainId, dcRegionId)
  7506. SELECT * FROM cvJobPlace WITH(NOLOCK)
  7507. WHERE cvMainID IN(SELECT ID FROM cvMainPublish WITH(NOLOCK))
  7508. AND NOT EXISTS
  7509. (
  7510. SELECT 'x'
  7511. FROM cvJobPlacePublish WITH(NOLOCK)
  7512. WHERE cvJobPlace.cvMainID = cvJobPlacePublish.cvMainID
  7513. AND cvJobPlace.dcRegionId = cvJobPlacePublish.dcRegionId
  7514. )
  7515. END
  7516. DROP TABLE #t
  7517. update b set b.secondid = a.secondid from cvmain a, cvmainpublish b where a.id=b.id and b.secondid is null
  7518. update b set b.secondid = a.secondid from cvmain a, cvmainpublish b where a.id=b.id and b.secondid != a.secondid
  7519. END
  7520. GO
  7521. /****** Object: StoredProcedure [dbo].[spPaRemindLogInsert] Script Date: 2018/12/13 19:13:21 ******/
  7522. SET ANSI_NULLS ON
  7523. GO
  7524. SET QUOTED_IDENTIFIER ON
  7525. GO
  7526. --#####################################################
  7527. --创建时间:2015.2.26
  7528. --创建人:Lambo
  7529. --说明:插入提醒信息
  7530. --#####################################################
  7531. CREATE PROCEDURE [dbo].[spPaRemindLogInsert]
  7532. AS
  7533. BEGIN
  7534. DELETE FROM PaAttention WHERE paMainid NOT IN(SELECT Id FROM paMain)
  7535. --1 关注的企业新发布职位
  7536. INSERT INTO PaRemindLog(PaMainID,Contenttext,RemindStatus,AddDate,RemainID,RemainType)
  7537. SELECT PaMainID,'您关注的 '+b.Name+' 新发布'+(SELECT LTRIM(STR(COUNT(*))) FROM Job n WITH(NOLOCK) WHERE n.CpMainID = b.ID AND n.IssueDate>a.AddDate AND n.IssueDate >GETDATE()-1 AND IsDelete=0)+'个职位,请及时登录查看…',
  7538. 0,GETDATE(),AttentionID,1
  7539. FROM PaAttention a WITH(NOLOCK),CpMain b WITH(NOLOCK)
  7540. WHERE a.AttentionID = b.ID
  7541. AND AttentionType =1
  7542. AND EXISTS(SELECT TOP 1 'x' FROM Job n WHERE n.CpMainID = b.ID AND n.IssueEnd>a.AddDate AND n.IssueDate >GETDATE()-1 AND IsDelete=0)
  7543. --2 关注的企业新发布点评
  7544. INSERT INTO PaRemindLog(PaMainID,Contenttext,RemindStatus,AddDate,RemainID,RemainType)
  7545. SELECT PaMainID,'您关注的 '+b.Name+' 新发布'+(SELECT LTRIM(STR(COUNT(*))) FROM comments m WITH(NOLOCK) WHERE m.CpMainID = b.ID AND m.VerifyDate>a.AddDate AND m.CommentType <> 3 AND m.VerifyDate >GETDATE()-1)+'条点评信息,请及时登录查看',
  7546. 0,GETDATE(),AttentionID,2
  7547. FROM PaAttention a WITH(NOLOCK),CpMain b WITH(NOLOCK)
  7548. WHERE a.AttentionID = b.ID
  7549. AND AttentionType =1
  7550. AND EXISTS(SELECT TOP 1 'x' FROM comments m WITH(NOLOCK) WHERE m.CpMainID = b.ID AND m.VerifyDate>a.AddDate AND m.CommentType <> 3 AND m.VerifyDate >GETDATE()-1)
  7551. --3 关注的企业新发布面经
  7552. INSERT INTO PaRemindLog(PaMainID,Contenttext,RemindStatus,AddDate,RemainID,RemainType)
  7553. SELECT PaMainID,'您关注的 '+b.Name+' 新发布'+(SELECT LTRIM(STR(COUNT(*))) FROM InterView m WITH(NOLOCK) WHERE m.CpMainID = b.ID
  7554. AND m.VerifyDate>a.AddDate
  7555. AND m.InterViewType <> 3
  7556. AND m.VerifyDate >GETDATE()-1)+'条面经信息,请及时登录查看',
  7557. 0,GETDATE(),AttentionID,3
  7558. FROM PaAttention a WITH(NOLOCK),CpMain b WITH(NOLOCK)
  7559. WHERE a.AttentionID = b.ID
  7560. AND AttentionType =1
  7561. AND EXISTS(SELECT TOP 1 'x' FROM InterView m WITH(NOLOCK) WHERE m.CpMainID = b.ID AND m.InterViewType <> 3 AND m.VerifyDate>a.AddDate AND m.VerifyDate >GETDATE()-1)
  7562. --4 职位24小时到期
  7563. INSERT INTO PaRemindLog(PaMainID,Contenttext,RemindStatus,AddDate,RemainID,RemainType)
  7564. SELECT a.ID,'您关注的职位中有'+(SELECT LTRIM(STR(COUNT(*))) FROM PaAttention m WITH(NOLOCK),Job n WITH(NOLOCK) WHERE m.AttentionID = n.ID AND m.AttentionType =2 AND m.PaMainID = a.ID AND n.IssueEnd BETWEEN GETDATE() AND GETDATE()+1 AND n.IsDelete = 0)+'职位即将截止,如果目前您还没有申请,请尽快完成申请。',
  7565. 0,GETDATE(),a.ID,4
  7566. FROM PaMain a WITH(NOLOCK)
  7567. WHERE EXISTS(SELECT TOP 1 'x' FROM PaAttention m WITH(NOLOCK),Job n WITH(NOLOCK) WHERE m.AttentionID = n.ID AND m.AttentionType =2 AND m.PaMainID = a.ID AND n.IssueEnd BETWEEN GETDATE() AND GETDATE()+1 AND n.IsDelete = 0)
  7568. END
  7569. GO
  7570. /****** Object: StoredProcedure [dbo].[spPaYourFoodByPaJobCompareInsert] Script Date: 2018/12/13 19:13:21 ******/
  7571. SET ANSI_NULLS ON
  7572. GO
  7573. SET QUOTED_IDENTIFIER ON
  7574. GO
  7575. --#####################################################
  7576. --创建时间:20160825
  7577. --创建人:Peter
  7578. --说明:新版你的菜儿推送
  7579. --#####################################################
  7580. CREATE PROCEDURE [dbo].[spPaYourFoodByPaJobCompareInsert]
  7581. AS
  7582. SET NOCOUNT ON
  7583. BEGIN
  7584. INSERT INTO paYourFood(paMainId,cvMainId,JobId,AddDate)
  7585. SELECT PaMainID,(
  7586. SELECT TOP 1 ID
  7587. FROM CvMain WITH(NOLOCK)
  7588. WHERE PaMainID = PaJobCompare.PaMainID
  7589. ORDER BY Valid DESC),CompareJobID,GETDATE()
  7590. FROM PaJobCompare WITH(NOLOCK)
  7591. WHERE PushDate IS NULL
  7592. AND BatchNo = (
  7593. SELECT MAX(BatchNo)
  7594. FROM PaJobCompare WITH(NOLOCK)
  7595. WHERE PaMainID = PaJobCompare.PaMainID)
  7596. UPDATE PaJobCompare
  7597. SET PushDate = GETDATE()
  7598. WHERE PushDate IS NULL
  7599. AND BatchNo = (
  7600. SELECT MAX(BatchNo)
  7601. FROM PaJobCompare WITH(NOLOCK)
  7602. WHERE PaMainID = PaJobCompare.PaMainID)
  7603. END
  7604. GO
  7605. /****** Object: StoredProcedure [dbo].[sppaYourFoodInsert] Script Date: 2018/12/13 19:13:21 ******/
  7606. SET ANSI_NULLS ON
  7607. GO
  7608. SET QUOTED_IDENTIFIER ON
  7609. GO
  7610. CREATE PROCEDURE [dbo].[sppaYourFoodInsert]
  7611. AS
  7612. RETURN
  7613. SET NOCOUNT ON
  7614. BEGIN
  7615. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE IsPaid = 1 AND WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112))
  7616. RETURN
  7617. IF DATEPART(HOUR, GETDATE()) < 10
  7618. RETURN
  7619. DELETE FROM paYourFood WHERE AddDate < GETDATE() - 62
  7620. DECLARE @ThisMonth INT
  7621. SET @ThisMonth = CONVERT(VARCHAR(6), GETDATE(), 112)
  7622. IF NOT EXISTS(SELECT 'x' FROM paYourFoodIndex WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120))
  7623. BEGIN
  7624. TRUNCATE TABLE paYourFoodIndex
  7625. TRUNCATE TABLE paYourFoodWeiXin
  7626. TRUNCATE TABLE ShortDB..paYourFoodEmail
  7627. INSERT INTO paYourFoodIndex
  7628. SELECT b.paMainId, b.Id cvMainId, a.LastLoginDate, (@ThisMonth - a.BirthDay) / 100 Age,
  7629. b.dcSalaryID, b.EmployType, b.Degree, b.RelatedWorkYears, 0, GETDATE()
  7630. FROM paMain a WITH(NOLOCK), cvMain b WITH(NOLOCK)
  7631. WHERE a.LastLoginDate > CONVERT(VARCHAR(10), GETDATE() - 14)
  7632. AND a.Id = b.paMainId
  7633. AND b.dcSalaryId IS NOT NULL
  7634. AND a.BirthDay IS NOT NULL
  7635. AND b.Degree IS NOT NULL
  7636. AND b.RelatedWorkYears IS NOT NULL
  7637. AND a.IsUseYourFood = 1
  7638. AND (a.Id % 2 = DATEPART(Day, GETDATE()) % 2
  7639. OR a.Id IN(SELECT paMainId FROM wxFans WHERE Status > 0)
  7640. )
  7641. ORDER BY b.paMainId DESC, b.Id DESC
  7642. select distinct pamainid
  7643. into #tq from paloginlog
  7644. where browser<>'weixin'
  7645. and adddate > getdate() - 16
  7646. delete from payourfoodindex where pamainid not in(select pamainid from #tq)
  7647. END
  7648. IF NOT EXISTS(SELECT 'x' FROM paYourFoodIndex WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120) AND HasRun = 0)
  7649. RETURN
  7650. CREATE TABLE #Job(
  7651. Id INT,
  7652. cpMainId INT,
  7653. dcRegionId VARCHAR(6),
  7654. dcJobTypeId VARCHAR(4),
  7655. dcSalaryId INT,
  7656. EmployType INT,
  7657. dcEducationId INT,
  7658. MinExperience INT,
  7659. MinAge INT,
  7660. MaxAge INT,
  7661. AgeScore INT,
  7662. EduScore INT,
  7663. ExpScore INt,
  7664. SizeScore INT
  7665. )
  7666. DECLARE @paMainId INT, @CvMainID INT, @dcSalaryId INT, @EmployType INT, @Degree INT, @Exp INT, @Age INT, @Id INT
  7667. DECLARE @JobPlace AS TABLE(Id INT IDENTITY(1, 1), dcRegionId VARCHAR(6))
  7668. DECLARE @JobType AS TABLE(Id INT IDENTITY(1, 1), dcJobTypeId VARCHAR(4))
  7669. DECLARE @t1 AS TABLE(dcRegionId VARCHAR(6))
  7670. DECLARE @t2 AS TABLE(dcJobTypeId VARCHAR(4))
  7671. SELECT @Id = 0
  7672. WHILE EXISTS(SELECT 'x' FROM paYourFoodIndex WHERE HasRun = 0 AND Id > @Id) --@id < 10
  7673. BEGIN
  7674. SELECT TOP 1 @id = Id, @cvMainId = cvMainId, @paMainId = paMainId, @Age = Age,
  7675. @dcSalaryId = dcSalaryID, @EmployType = EmployType, @Degree = Degree, @Exp = RelatedWorkYears
  7676. FROM paYourFoodIndex
  7677. WHERE Id > @Id
  7678. AND HasRun = 0
  7679. ORDER BY Id
  7680. DELETE FROM @JobPlace
  7681. DELETE FROM @JobType
  7682. DELETE FROM @t1
  7683. DELETE FROM @t2
  7684. INSERT INTO @JobPlace(dcRegionId)
  7685. SELECT dcRegionId FROM cvJobPlace WITH(NOLOCK)
  7686. WHERE cvMainId = @cvMainId
  7687. INSERT INTO @JobType(dcJobTypeId)
  7688. SELECT dcJobTypeId FROM cvJobType WITH(NOLOCK)
  7689. WHERE cvMainId = @cvMainId
  7690. DELETE a FROM @JobPlace a, @JobPlace b WHERE a.id <> b.Id AND a.dcRegionID <> b.dcRegionId AND b.dcRegionId LIKE a.dcRegionId + '%'
  7691. DELETE a FROM @JobType a, @JobType b WHERE a.id <> b.Id AND a.dcJobTypeId <> b.dcJobTypeId AND b.dcJobTypeId LIKE a.dcJobTypeId + '%'
  7692. INSERT INTO @t2
  7693. SELECT Id FROM dcJobType WHERE ID IN(SELECT dcJobTypeId FROM @JobType) OR ParentID IN(SELECT dcJobTypeId FROM @JobType)
  7694. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE ID IN(SELECT dcRegionId FROM @JobPlace)
  7695. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 4) IN(SELECT dcRegionId FROM @JobPlace)
  7696. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 2) IN(SELECT dcRegionId FROM @JobPlace)
  7697. --===========================================
  7698. TRUNCATE TABLE #Job
  7699. INSERT INTO #Job(Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge)
  7700. SELECT TOP 200 Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge
  7701. FROM jobPublish WITH(NOLOCK)
  7702. WHERE EmployType = @EmployType
  7703. AND dcRegionID IN(SELECT dcRegionId FROM @t1)
  7704. AND dcJobTypeId IN(SELECT dcJobTypeId FROM @t2)
  7705. AND dcSalaryId IN(100, @dcSalaryId)
  7706. AND EXISTS(SELECT 'x' FROM cpMainPublish WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 31 AND cpMainPublish.Id = cpMainId)
  7707. ORDER BY RefreshDate DESC
  7708. DELETE #Job WHERE Id IN(SELECT JobId FROM paYourFood WITH(NOLOCK) WHERE paMainId = @pamainId)
  7709. DELETE #Job WHERE Id IN(SELECT JobId FROM ExJobApply WITH(NOLOCK) WHERE cvMainID IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @pamainId))
  7710. IF(SELECT COUNT(*) FROM #Job) > 3
  7711. BEGIN
  7712. UPDATE a SET a.SizeScore = b.dcCompanySizeId * -1, EduScore = 0, AgeScore = 0, ExpScore = 0 FROM #Job a, cpMainPublish b WHERE a.cpMainId = b.ID
  7713. UPDATE #Job SET EduScore = dcEducationId - @Degree WHERE dcEducationId > @Degree AND dcEducationId < 100
  7714. UPDATE #Job SET EduScore = @Degree - dcEducationId WHERE dcEducationId < @Degree AND dcEducationId < 100
  7715. UPDATE #Job SET MinAge = 16 WHERE MinAge = 99
  7716. UPDATE #Job SET MaxAge = 60 WHERE MaxAge = 99
  7717. UPDATE #Job SET AgeScore = (MinAge - @Age) / 5 + 1 WHERE MinAge > @Age
  7718. UPDATE #Job SET AgeScore = (@Age - MaxAge) / 5 + 1 WHERE MaxAge < @Age
  7719. IF @Exp = 0
  7720. SET @Exp = 1
  7721. ELSE IF @Exp IN(1, 2)
  7722. SET @Exp = 2
  7723. ELSE IF @Exp IN(3,4,5)
  7724. SET @Exp = 3
  7725. ELSE IF @Exp IN(6,7,8,9,10)
  7726. SET @Exp = 4
  7727. ELSE IF @Exp > 10
  7728. SET @Exp = 5
  7729. ELSE
  7730. SET @Exp = 0
  7731. UPDATE #Job SET MinExperience = CASE WHEN MinExperience = 5 THEN 1 ELSE MinExperience + 1 END WHERE MinExperience > 0
  7732. UPDATE #Job SET ExpScore = MinExperience - @Exp WHERE MinExperience > @Exp
  7733. UPDATE #Job SET ExpScore = @Exp - MinExperience WHERE MinExperience < @Exp AND MinExperience > 0
  7734. END
  7735. INSERT INTO paYourFood(Jobid, paMainId, cvMainId, AddDate)
  7736. SELECT TOP 3 Id, @paMainId, @cvMainId, GETDATE() FROM #job ORDER BY EduScore, ExpScore + SizeScore + AgeScore
  7737. DELETE FROM paYourFood
  7738. WHERE paMainId = @PaMainId
  7739. AND AddDate > DATEADD(MINUTE, -10, GETDATE())
  7740. AND Id NOT IN(SELECT TOP 3 ID FROM paYourFood WHERE paMainId = @PaMainId AND AddDate > DATEADD(MINUTE, -10, GETDATE()))
  7741. UPDATE paYourFoodIndex SET HasRun = 1 WHERE Id = @Id
  7742. END
  7743. --=================================
  7744. /*TRUNCATE TABLE paYourFoodWeiXin
  7745. SELECT a.*, ROW_NUMBER() OVER(PARTITION BY paMainId ORDER BY JobId DESC) RowNo,
  7746. b.Name JobName, c.Name CompanyName, b.caMainId, b.cpMainId
  7747. INTO #t
  7748. FROM paYourFood a, Job b, cpMain c
  7749. WHERE a.AddDate > GETDATE() - 1
  7750. AND a.JobId = b.Id
  7751. AND b.cpMainid = c.Id
  7752. AND a.paMainId IN(SELECT paMainId FROM wxFans WHERE Status > 0)
  7753. INSERT INTO paYourFoodWeiXin(paMainId, cvMainId, JobDesc, cpMainId, caMainId)
  7754. SELECT paMainId, cvMainId, '', cpMainId, caMainId
  7755. FROM #t
  7756. WHERE AddDate > GETDATE() - 1
  7757. AND RowNo = 1
  7758. UPDATE a
  7759. SET a.JobDesc = b.JobName + '[' + b.CompanyName + ']'
  7760. FROM paYourFoodWeiXin a, #t b
  7761. WHERE a.paMainId = b.paMainId
  7762. AND b.RowNo = 1
  7763. UPDATE a
  7764. SET a.JobDesc = a.JobDesc + '、' + b.JobName + '[' + b.CompanyName + ']'
  7765. FROM paYourFoodWeiXin a, #t b
  7766. WHERE a.paMainId = b.paMainId
  7767. AND b.RowNo = 2
  7768. UPDATE a
  7769. SET a.JobDesc = a.JobDesc + '、' + b.JobName + '[' + b.CompanyName + ']'
  7770. FROM paYourFoodWeiXin a, #t b
  7771. WHERE a.paMainId = b.paMainId
  7772. AND b.RowNo = 3
  7773. DELETE paYourFoodWeiXin WHERE ISNULL(JobDesc, '') = ''
  7774. DROP TABLE #t
  7775. ------------------------------
  7776. TRUNCATE TABLE ShortDb..paYourFoodEmail
  7777. SELECT a.*, ROW_NUMBER() OVER(PARTITION BY paMainId ORDER BY JobId DESC) RowNo,
  7778. b.Name JobName, c.Name CompanyName, b.caMainId, b.cpMainId, b.SecondId JobId2, c.SecondId cpMainId2,
  7779. (SELECT Description FROM dcRegion WHERE Id = b.dcRegionId) Region,
  7780. ISNULL((SELECT Description FROM dcSalary WHERE Id = b.dcSalaryId), '面议') Salary,
  7781. ISNULL((SELECT Description FROM dcEducation WHERE Id = b.dcEducationId), '不限') Education,
  7782. (SELECT 'www.' + ProvinceDomain FROM dcProvince WHERE Id = LEFT(b.dcRegionId, 2)) SiteUrl
  7783. INTO #TEmail
  7784. FROM paYourFood a, Job b, cpMain c
  7785. WHERE a.AddDate > GETDATE() - 1
  7786. AND a.JobId = b.Id
  7787. AND b.cpMainid = c.Id
  7788. INSERT INTO paYourFoodEmail(paMainId, Email, paName, dcProvinceId, AddDate, UserName)
  7789. SELECT b.Id, b.Email, b.Name, b.dcProvinceID, GETDATE(), b.UserNameLower
  7790. FROM #TEmail a, paMain b
  7791. WHERE a.RowNo = 1
  7792. AND a.paMainId = b.Id
  7793. SELECT paMainId, '
  7794. <table>
  7795. <tr style="FONT-WEIGHT: bold; background-color:#f7b666;"> <td>招聘职位</td> <td>公司名称</td> <td>工作地点</td> <td>职位月薪</td> <td>最低学历</td> </tr>
  7796. <tr>
  7797. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7798. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7799. <td>' + Region + '</td>
  7800. <td>' + Salary + '</td>
  7801. <td>' + Education + '</td>
  7802. </tr>' JobList
  7803. INTO #e1
  7804. FROM #TEmail
  7805. WHERE RowNo = 1
  7806. SELECT paMainId, '
  7807. <tr>
  7808. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7809. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7810. <td>' + Region + '</td>
  7811. <td>' + Salary + '</td>
  7812. <td>' + Education + '</td>
  7813. </tr>' JobList
  7814. INTO #e2
  7815. FROM #TEmail
  7816. WHERE RowNo = 2
  7817. SELECT paMainId, '
  7818. <tr>
  7819. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7820. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7821. <td>' + Region + '</td>
  7822. <td>' + Salary + '</td>
  7823. <td>' + Education + '</td>
  7824. </tr>' JobList
  7825. INTO #e3
  7826. FROM #TEmail
  7827. WHERE RowNo = 3
  7828. SELECT a.paMainId, a.JobList + ISNULL(b.JobList, '') + ISNULL(c.JobList, '') + '
  7829. </table>' JobList
  7830. INTO #e4
  7831. FROM #e1 a
  7832. LEFT JOIN #e2 b on a.pamainid = b.pamainid
  7833. LEFT JOIN #e3 c on a.pamainid = c.pamainid
  7834. UPDATE a
  7835. SET a.JobList = b.JobList
  7836. FROM paYourFoodEmail a, #e4 b
  7837. WHERE a.paMainId = b.paMainId
  7838. DROP TABLE #TEmail
  7839. */
  7840. END
  7841. GO
  7842. /****** Object: StoredProcedure [dbo].[spPaYourFoodWeixinInsert] Script Date: 2018/12/13 19:13:21 ******/
  7843. SET ANSI_NULLS ON
  7844. GO
  7845. SET QUOTED_IDENTIFIER ON
  7846. GO
  7847. CREATE PROCEDURE [dbo].[spPaYourFoodWeixinInsert]
  7848. AS
  7849. SET NOCOUNT ON
  7850. BEGIN
  7851. IF DATEPART(HOUR, GETDATE()) < 17
  7852. RETURN
  7853. IF NOT EXISTS(SELECT 'x' FROM paYourFoodWeiXin WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120))
  7854. TRUNCATE TABLE paYourFoodWeiXin
  7855. IF NOT EXISTS(SELECT 'x' FROM paYourFoodEmail WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120))
  7856. TRUNCATE TABLE ShortDb..paYourFoodEmail
  7857. SELECT a.*, ROW_NUMBER() OVER(PARTITION BY paMainId ORDER BY CompareJobId DESC) RowNo,
  7858. b.Name JobName, c.Name CompanyName, b.caMainId, b.cpMainId
  7859. INTO #t
  7860. FROM PaJobCompare a, Job b, cpMain c
  7861. WHERE a.AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  7862. AND a.PushDate IS NULL
  7863. AND a.CompareJobId = b.Id
  7864. AND b.cpMainid = c.Id
  7865. AND a.paMainId IN(SELECT paMainId FROM wxFans WHERE Status > 0)
  7866. AND a.paMainId IN(SELECT Id FROM paMain WHERE IsUseYourFood = 1)
  7867. INSERT INTO paYourFoodWeiXin(paMainId, cvMainId, JobDesc, cpMainId, caMainId,BatchNo)
  7868. SELECT paMainId,(
  7869. SELECT TOP 1 ID
  7870. FROM CvMain WITH(NOLOCK)
  7871. WHERE PaMainID = #t.PaMainID
  7872. ORDER BY Valid DESC), '', cpMainId, caMainId,BatchNo
  7873. FROM #t
  7874. WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  7875. AND RowNo = 1
  7876. UPDATE PaJobCompare
  7877. SET PushDate = GETDATE()
  7878. WHERE EXISTS(
  7879. SELECT 'x' FROM #t WHERE ID = PaJobCompare.ID
  7880. )
  7881. UPDATE a
  7882. SET a.JobDesc = b.JobName + '[' + b.CompanyName + ']'
  7883. FROM paYourFoodWeiXin a, #t b
  7884. WHERE a.paMainId = b.paMainId
  7885. AND b.RowNo = 1
  7886. UPDATE a
  7887. SET a.JobDesc = a.JobDesc + '、' + b.JobName + '[' + b.CompanyName + ']'
  7888. FROM paYourFoodWeiXin a, #t b
  7889. WHERE a.paMainId = b.paMainId
  7890. AND b.RowNo = 2
  7891. UPDATE a
  7892. SET a.JobDesc = a.JobDesc + '、' + b.JobName + '[' + b.CompanyName + ']'
  7893. FROM paYourFoodWeiXin a, #t b
  7894. WHERE a.paMainId = b.paMainId
  7895. AND b.RowNo = 3
  7896. DELETE paYourFoodWeiXin WHERE ISNULL(JobDesc, '') = ''
  7897. DROP TABLE #t
  7898. ------------------------------
  7899. SELECT a.*, ROW_NUMBER() OVER(PARTITION BY paMainId ORDER BY CompareJobId DESC) RowNo,
  7900. b.Name JobName, c.Name CompanyName, b.caMainId, b.cpMainId, b.SecondId JobId2, c.SecondId cpMainId2,
  7901. (SELECT Description FROM dcRegion WHERE Id = b.dcRegionId) Region,
  7902. ISNULL((SELECT Description FROM dcSalary WHERE Id = b.dcSalaryId), '面议') Salary,
  7903. ISNULL((SELECT Description FROM dcEducation WHERE Id = b.dcEducationId), '不限') Education,
  7904. (SELECT 'www.' + ProvinceDomain FROM dcProvince WHERE Id = LEFT(b.dcRegionId, 2)) SiteUrl
  7905. INTO #TEmail
  7906. FROM PaJobCompare a, Job b, cpMain c
  7907. WHERE a.AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  7908. AND a.PushDate IS NULL
  7909. AND a.CompareJobId = b.Id
  7910. AND b.cpMainid = c.Id
  7911. INSERT INTO paYourFoodEmail(paMainId, Email, paName, dcProvinceId, AddDate, UserName)
  7912. SELECT b.Id, b.Email, b.Name, b.dcProvinceID, GETDATE(), b.UserNameLower
  7913. FROM #TEmail a, paMain b
  7914. WHERE a.RowNo = 1
  7915. AND a.paMainId = b.Id
  7916. UPDATE PaJobCompare
  7917. SET PushDate = GETDATE()
  7918. WHERE EXISTS(
  7919. SELECT 'x' FROM #TEmail WHERE ID = PaJobCompare.ID
  7920. )
  7921. SELECT paMainId, '
  7922. <table>
  7923. <tr style="FONT-WEIGHT: bold; background-color:#f7b666;">
  7924. <td>招聘职位</td>
  7925. <td>公司名称</td>
  7926. <td>工作地点</td>
  7927. <td>职位月薪</td>
  7928. <td>最低学历</td>
  7929. </tr>
  7930. <tr>
  7931. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7932. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7933. <td>' + Region + '</td>
  7934. <td>' + Salary + '</td>
  7935. <td>' + Education + '</td>
  7936. </tr>' JobList
  7937. INTO #e1
  7938. FROM #TEmail
  7939. WHERE RowNo = 1
  7940. SELECT paMainId, '
  7941. <tr>
  7942. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7943. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7944. <td>' + Region + '</td>
  7945. <td>' + Salary + '</td>
  7946. <td>' + Education + '</td>
  7947. </tr>' JobList
  7948. INTO #e2
  7949. FROM #TEmail
  7950. WHERE RowNo = 2
  7951. SELECT paMainId, '
  7952. <tr>
  7953. <td><a target="_blank" href="http://' + SiteUrl + '/personal/jb' + JobId2 + '.html">' + JobName + '</a></td>
  7954. <td><a target="_blank" href="http://' + SiteUrl + '/personal/cp' + cpMainId2 + '.html">' + CompanyName + '</a></td>
  7955. <td>' + Region + '</td>
  7956. <td>' + Salary + '</td>
  7957. <td>' + Education + '</td>
  7958. </tr>' JobList
  7959. INTO #e3
  7960. FROM #TEmail
  7961. WHERE RowNo = 3
  7962. SELECT a.paMainId, a.JobList + ISNULL(b.JobList, '') + ISNULL(c.JobList, '') + '
  7963. </table>' JobList
  7964. INTO #e4
  7965. FROM #e1 a
  7966. LEFT JOIN #e2 b on a.pamainid = b.pamainid
  7967. LEFT JOIN #e3 c on a.pamainid = c.pamainid
  7968. UPDATE a
  7969. SET a.JobList = b.JobList
  7970. FROM paYourFoodEmail a, #e4 b
  7971. WHERE a.paMainId = b.paMainId
  7972. DROP TABLE #TEmail
  7973. END
  7974. GO
  7975. /****** Object: StoredProcedure [dbo].[SpQlrcNewsNearSave] Script Date: 2018/12/13 19:13:22 ******/
  7976. SET ANSI_NULLS ON
  7977. GO
  7978. SET QUOTED_IDENTIFIER ON
  7979. GO
  7980. CREATE PROCEDURE [dbo].[SpQlrcNewsNearSave]
  7981. AS
  7982. SET NOCOUNT ON
  7983. BEGIN
  7984. SELECT VersionId, id, Title, ROW_NUMBER() OVER(PARTITION BY VersionId ORDER BY Id) RowNo
  7985. INTO #t
  7986. FROM QlrcNews WITH(NOLOCK)
  7987. WHERE NewsType = 2
  7988. AND Id > 1
  7989. CREATE TABLE #Tmp(VersionId INT, Id INT, NearId INT, NearTitle NVARCHAR(60), RowNo INT, NearRowNo INT, PageType INT)
  7990. INSERT INTO #Tmp
  7991. SELECT a.VersionId, a.Id, b.ID, b.Title, a.RowNo, b.RowNo, 2
  7992. FROM #t a, #t b
  7993. WHERE a.VersionId = b.VersionId
  7994. AND a.RowNo = b.RowNo + 1
  7995. INSERT INTO #Tmp
  7996. SELECT a.VersionId, a.Id, b.ID, b.Title, a.RowNo, b.RowNo, 1
  7997. FROM #t a, #t b
  7998. WHERE a.VersionId = b.VersionId
  7999. AND a.RowNo = b.RowNo - 1
  8000. SELECT * INTO #Tmp1 FROM #Tmp
  8001. DELETE a
  8002. FROM #Tmp1 a, ShortDb..QlrcNewsNear b
  8003. WHERE a.Id = b.Id
  8004. AND a.NearId = b.NearId
  8005. AND a.PageType = b.PageType
  8006. SELECT * INTO #News FROM #Tmp WHERE ID IN(SELECT ID FROM #Tmp1)
  8007. DELETE FROM ShortDb..QlrcNewsNear WHERE Id IN(SELECT ID FROM #News)
  8008. INSERT INTO ShortDb..QlrcNewsNear
  8009. SELECT Id, PageType, NearId, NearTitle FROM #News
  8010. END
  8011. GO
  8012. /****** Object: StoredProcedure [dbo].[spReceiveOrder] Script Date: 2018/12/13 19:13:22 ******/
  8013. SET ANSI_NULLS ON
  8014. GO
  8015. SET QUOTED_IDENTIFIER ON
  8016. GO
  8017. create proc [dbo].[spReceiveOrder]
  8018. (
  8019. @caOrderID INT,
  8020. @ReceiveMan INT
  8021. )
  8022. AS
  8023. SET NOCOUNT ON
  8024. BEGIN
  8025. UPDATE caOrder SET ReceiveDate = GETDATE(), ReceiveMan = @receiveMan WHERE Id = @caOrderId
  8026. SELECT ReceiveDate, REceiveMAn, * FROM caOrder WHERE Id = @caOrderId
  8027. END
  8028. GO
  8029. /****** Object: StoredProcedure [dbo].[spReCheckVipMember] Script Date: 2018/12/13 19:13:22 ******/
  8030. SET ANSI_NULLS ON
  8031. GO
  8032. SET QUOTED_IDENTIFIER ON
  8033. GO
  8034. CREATE PROCEDURE [dbo].[spReCheckVipMember]
  8035. AS
  8036. BEGIN
  8037. DECLARE @ID AS INT
  8038. DECLARE c CURSOR FOR
  8039. SELECT id FROM cpMain WITH(NOLOCK)
  8040. WHERE MemberType = 2
  8041. AND Id IN(
  8042. SELECT cpMainId FROM caORder WITH(NOLOCK)
  8043. WHERE OpenDate > ''
  8044. AND OrderType = 8
  8045. AND IsDeleted = 0
  8046. AND BeginDate < GETDATE()
  8047. AND EndDate > GETDATE()
  8048. )
  8049. FOR READ ONLY
  8050. OPEN c
  8051. FETCH c INTO @ID
  8052. WHILE @@fetch_status >= 0
  8053. BEGIN
  8054. EXEC spRedifinePrivilage @ID
  8055. FETCH NEXT FROM c INTO @ID
  8056. END
  8057. CLOSE c
  8058. DEALLOCATE c
  8059. END
  8060. GO
  8061. /****** Object: StoredProcedure [dbo].[spRedifinePrivilage] Script Date: 2018/12/13 19:13:22 ******/
  8062. SET ANSI_NULLS ON
  8063. GO
  8064. SET QUOTED_IDENTIFIER ON
  8065. GO
  8066. --######################################################3
  8067. --cpMain权限检查
  8068. --1、JobNumber不超标
  8069. --2、Count(Valid caMain) 不超标
  8070. --3、修改MemberType, MaxJobNumber,MaxUserNumber
  8071. --说明:
  8072. --资料不完整 MemberType=0 职位数=0 用户数=1
  8073. --未认证会员 MemberType=1 职位数=5, 用户数=1
  8074. --普通会员 MemberType=2 职位数=10, 用户数=1
  8075. --贵宾会员 MemberType=3 职位数=SUM(caOrder.JobNumber), 用户数=SUM(caOrder.UserNumber)
  8076. --无限制会员 MemberType=10 职位数=cpMain.MaxJobNumber, 用户数=cpMain.MaxUserNumber
  8077. --储值会员 MemberType=11 职位数=cpMain.MaxJobNumber, 用户数=cpMain.MaxUserNumber
  8078. --######################################################3
  8079. CREATE PROCEDURE [dbo].[spRedifinePrivilage]
  8080. (
  8081. @cpMainID INT
  8082. )
  8083. AS
  8084. BEGIN TRY
  8085. SET NOCOUNT ON;
  8086. DECLARE @MemberType AS INT, @MaxJobNumber AS INT, @MaxUserNumber AS INT, @ExceedNumber AS INT, @JobNumber AS INT
  8087. DECLARE @I AS INT, @ActiveUserNumber AS INT, @DailyGiftQuota AS INT
  8088. SET @MemberType = dbo.GetMemberTypeWithRealName(@cpMainID)
  8089. IF @MemberType = 0 --资料不完整 MemberType=0 职位数=0 用户数=1
  8090. BEGIN
  8091. SET @MaxJobNumber = 0
  8092. SET @MaxUserNumber = 1
  8093. SET @DailyGiftQuota = 0
  8094. END
  8095. ELSE IF @MemberType = 1 --未认证会员 MemberType=1 职位数=1, 用户数=1
  8096. BEGIN
  8097. SET @MaxJobNumber = 3
  8098. SET @MaxUserNumber = 1
  8099. SET @DailyGiftQuota = 0
  8100. END
  8101. ELSE IF @MemberType = 2 --普通会员 realname = 1 MemberType=2 职位数=3, 用户数=1
  8102. BEGIN
  8103. SET @MaxJobNumber = 5
  8104. SET @MaxUserNumber = 1
  8105. SET @DailyGiftQuota = 2
  8106. END
  8107. ELSE IF @MemberType = 21 --普通会员 MemberType=2 职位数=3, 用户数=1
  8108. BEGIN
  8109. SET @MaxJobNumber = 10
  8110. SET @MaxUserNumber = 1
  8111. SET @DailyGiftQuota = 4
  8112. END
  8113. ELSE IF @MemberType = 3 --贵宾会员 MemberType=3 职位数=SUM(caOrder.JobNumber), 用户数=SUM(caOrder.UserNumber)
  8114. BEGIN
  8115. SET @MaxJobNumber = dbo.VipJobNumber(@cpMainID)
  8116. SET @MaxUserNumber = dbo.VipUserNumber(@cpMainID)
  8117. IF EXISTS (SELECT 'x' FROM caOrder WITH(NOLOCK)
  8118. WHERE cpMainId = @cpMainID AND OrderType = 8
  8119. AND ID < 412870
  8120. AND GETDATE() BETWEEN BeginDate AND EndDate)
  8121. SET @DailyGiftQuota = 5
  8122. ELSE
  8123. SET @DailyGiftQuota = 2
  8124. END
  8125. ELSE IF @MemberType = 31 --贵宾会员 MemberType=3 职位数=SUM(caOrder.JobNumber), 用户数=SUM(caOrder.UserNumber)
  8126. BEGIN
  8127. SET @MaxJobNumber = dbo.VipJobNumber(@cpMainID)
  8128. SET @MaxUserNumber = dbo.VipUserNumber(@cpMainID)
  8129. IF EXISTS (SELECT 'x' FROM caOrder WITH(NOLOCK)
  8130. WHERE cpMainId = @cpMainID AND OrderType = 8
  8131. AND ID < 412870
  8132. AND GETDATE() BETWEEN BeginDate AND EndDate)
  8133. SET @DailyGiftQuota = 5
  8134. ELSE
  8135. SET @DailyGiftQuota = 4
  8136. END
  8137. /*ELSE --无限制、储值会员 MemberType=10 职位数=cpMain.MaxJobNumber, 用户数=cpMain.MaxUserNumber
  8138. BEGIN
  8139. SELECT @MaxJobNumber = MaxJobNumber, @MaxUserNumber = MaxUserNumber
  8140. FROM cpMain WITH(NOLOCK)
  8141. WHERE ID = @cpMainID
  8142. SET @DailyGiftQuota = 0
  8143. IF @MaxJobNumber < 15
  8144. SELECT @MaxJobNumber = 15
  8145. END
  8146. */
  8147. ----如果活动的的用户数大于最大用户数量,则自动停止超出的用户,停止建立时间最晚的非管理员用户
  8148. WHILE (SELECT COUNT(1) FROM caMain WITH(NOLOCK)
  8149. WHERE cpMainID = @cpMainID AND IsDelete = 0 AND IsPause = 0) > @MaxUserNumber
  8150. BEGIN
  8151. UPDATE caMain SET IsPause = 1 --一个一个的停止
  8152. WHERE ID IN(SELECT TOP 1 ID
  8153. FROM caMain WITH(NOLOCK)
  8154. WHERE cpMainID = @cpMainID
  8155. AND IsPause = 0
  8156. AND IsDelete = 0
  8157. AND AccountType = 2
  8158. ORDER BY ID DESC)
  8159. END
  8160. UPDATE Job SET Valid = 0, IssueEnd = DATEADD(MINUTE, -1, GETDATE())
  8161. WHERE cpMainID = @cpMainID
  8162. AND caMainID IN(SELECT Id FROM caMain WITH(NOLOCK) WHERE IsDelete = 1 OR IsPause =1 AND cpMainID = @cpMainID)
  8163. AND (Valid = 1 OR IssueEnd > GETDATE())
  8164. SELECT @ActiveUserNumber = COUNT(1)
  8165. FROM caMain WITH(NOLOCK)
  8166. WHERE cpMainID = @cpMainID AND IsDelete = 0 AND IsPause = 0
  8167. ----如果已经发布的职位数大于最大职位数量,则自动停止超出的职位数,停止发布时间最早的
  8168. DECLARE @ID AS INT
  8169. DECLARE @IssueEnd AS SMALLDATETIME
  8170. DECLARE @IssueDate AS SMALLDATETIME
  8171. WHILE (SELECT COUNT(1)
  8172. FROM Job WITH(NOLOCK)
  8173. WHERE cpMainID = @cpMainID AND IssueEnd > GETDATE() AND IsDelete = 0) > @MaxJobNumber
  8174. BEGIN
  8175. --一个一个的停止
  8176. SELECT TOP 1 @ID = ID, @IssueDate = IssueDate, @IssueEnd = IssueEnd FROM Job WITH(NOLOCK)
  8177. WHERE cpMainID = @cpMainID
  8178. AND IssueEnd > GETDATE()
  8179. AND IsDelete = 0
  8180. ORDER BY IssueDate, ID
  8181. UPDATE Job SET IssueDate = CASE WHEN IssueDate > DATEADD(MINUTE, -1, GETDATE()) THEN DATEADD(MINUTE, -1, GETDATE()) ELSE IssueDate END,
  8182. IssueEnd = DATEADD(MINUTE, -1, GETDATE()), Valid = 0
  8183. WHERE ID = @ID
  8184. END
  8185. SELECT @JobNumber = COUNT(1)
  8186. FROM Job WITH(NOLOCK)
  8187. WHERE cpMainID = @cpMainID AND Valid = 1
  8188. IF @MemberType = 21
  8189. SET @MemberType = 2
  8190. IF @MemberType = 31
  8191. SET @MemberType = 3
  8192. UPDATE cpMain
  8193. SET MemberType = @MemberType,
  8194. MaxUserNumber = @MaxUserNumber,
  8195. MaxJobNumber = @MaxJobNumber,
  8196. JobNumber = @JobNumber,
  8197. DailyGiftQuota = @DailyGiftQuota
  8198. WHERE ID = @cpMainID
  8199. AND (MemberType <> @MemberType
  8200. OR MaxUserNumber <> @MaxUserNumber
  8201. OR MaxJobNumber <> @MaxJobNumber
  8202. OR JobNumber <> @JobNumber
  8203. )
  8204. UPDATE cpMainPublish
  8205. SET MemberType = @MemberType
  8206. WHERE ID = @cpMainID
  8207. AND MemberType <> @MemberType
  8208. END TRY
  8209. BEGIN CATCH
  8210. END CATCH
  8211. GO
  8212. /****** Object: StoredProcedure [dbo].[spRedifinePrivilage2] Script Date: 2018/12/13 19:13:23 ******/
  8213. SET ANSI_NULLS ON
  8214. GO
  8215. SET QUOTED_IDENTIFIER ON
  8216. GO
  8217. CREATE PROCEDURE [dbo].[spRedifinePrivilage2]
  8218. (
  8219. @cpMainID INT
  8220. )
  8221. AS
  8222. return
  8223. BEGIN TRY
  8224. SET NOCOUNT ON;
  8225. DECLARE @MemberType AS INT, @MaxJobNumber AS INT, @MaxUserNumber AS INT, @ExceedNumber AS INT, @JobNumber AS INT
  8226. DECLARE @I AS INT, @ActiveUserNumber AS INT, @DailyGiftQuota AS INT
  8227. SET @MemberType = dbo.MemberType(@cpMainID)
  8228. IF @MemberType = 0 --资料不完整 MemberType=0 职位数=0 用户数=1
  8229. BEGIN
  8230. SET @MaxJobNumber = 0
  8231. SET @MaxUserNumber = 1
  8232. SET @DailyGiftQuota = 0
  8233. END
  8234. ELSE IF @MemberType = 1 --未认证会员 MemberType=1 职位数=1, 用户数=1
  8235. BEGIN
  8236. SET @MaxJobNumber = 5
  8237. SET @MaxUserNumber = 1
  8238. SET @DailyGiftQuota = 0
  8239. END
  8240. ELSE IF @MemberType = 2 --普通会员 MemberType=2 职位数=3, 用户数=1
  8241. BEGIN
  8242. SET @MaxJobNumber = 10
  8243. SET @MaxUserNumber = 1
  8244. SET @DailyGiftQuota = 2
  8245. END
  8246. ELSE IF @MemberType = 3 --贵宾会员 MemberType=3 职位数=SUM(caOrder.JobNumber), 用户数=SUM(caOrder.UserNumber)
  8247. BEGIN
  8248. SET @MaxJobNumber = dbo.VipJobNumber(@cpMainID)
  8249. SET @MaxUserNumber = dbo.VipUserNumber(@cpMainID)
  8250. IF EXISTS (SELECT 'x' FROM caOrder WITH(NOLOCK)
  8251. WHERE cpMainId = @cpMainID AND OrderType = 8
  8252. AND ID < 412870
  8253. AND GETDATE() BETWEEN BeginDate AND EndDate)
  8254. SET @DailyGiftQuota = 5
  8255. ELSE
  8256. SET @DailyGiftQuota = 2
  8257. END
  8258. /*ELSE --无限制、储值会员 MemberType=10 职位数=cpMain.MaxJobNumber, 用户数=cpMain.MaxUserNumber
  8259. BEGIN
  8260. SELECT @MaxJobNumber = MaxJobNumber, @MaxUserNumber = MaxUserNumber
  8261. FROM cpMain WITH(NOLOCK)
  8262. WHERE ID = @cpMainID
  8263. SET @DailyGiftQuota = 0
  8264. IF @MaxJobNumber < 15
  8265. SELECT @MaxJobNumber = 15
  8266. END
  8267. */
  8268. ----如果活动的的用户数大于最大用户数量,则自动停止超出的用户,停止建立时间最晚的非管理员用户
  8269. WHILE (SELECT COUNT(1) FROM caMain WITH(NOLOCK)
  8270. WHERE cpMainID = @cpMainID AND IsDelete = 0 AND IsPause = 0) > @MaxUserNumber
  8271. BEGIN
  8272. UPDATE caMain SET IsPause = 1 --一个一个的停止
  8273. WHERE ID IN(SELECT TOP 1 ID
  8274. FROM caMain WITH(NOLOCK)
  8275. WHERE cpMainID = @cpMainID
  8276. AND IsPause = 0
  8277. AND IsDelete = 0
  8278. AND AccountType = 2
  8279. ORDER BY ID DESC)
  8280. END
  8281. UPDATE Job SET Valid = 0, IssueEnd = DATEADD(MINUTE, -1, GETDATE())
  8282. WHERE cpMainID = @cpMainID
  8283. AND caMainID IN(SELECT Id FROM caMain WITH(NOLOCK) WHERE IsDelete = 1 OR IsPause =1 AND cpMainID = @cpMainID)
  8284. SELECT @ActiveUserNumber = COUNT(1)
  8285. FROM caMain WITH(NOLOCK)
  8286. WHERE cpMainID = @cpMainID AND IsDelete = 0 AND IsPause = 0
  8287. ----如果已经发布的职位数大于最大职位数量,则自动停止超出的职位数,停止发布时间最早的
  8288. DECLARE @ID AS INT
  8289. DECLARE @IssueEnd AS SMALLDATETIME
  8290. DECLARE @IssueDate AS SMALLDATETIME
  8291. WHILE (SELECT COUNT(1)
  8292. FROM Job WITH(NOLOCK)
  8293. WHERE cpMainID = @cpMainID AND IssueEnd > GETDATE() AND IsDelete = 0) > @MaxJobNumber
  8294. BEGIN
  8295. --一个一个的停止
  8296. SELECT TOP 1 @ID = ID, @IssueDate = IssueDate, @IssueEnd = IssueEnd FROM Job WITH(NOLOCK)
  8297. WHERE cpMainID = @cpMainID
  8298. AND IssueEnd > GETDATE()
  8299. AND IsDelete = 0
  8300. ORDER BY IssueDate, ID
  8301. UPDATE Job SET IssueDate = CASE WHEN IssueDate > DATEADD(MINUTE, -1, GETDATE()) THEN DATEADD(MINUTE, -1, GETDATE()) ELSE IssueDate END,
  8302. IssueEnd = DATEADD(MINUTE, -1, GETDATE()), Valid = 0
  8303. WHERE ID = @ID
  8304. END
  8305. SELECT @JobNumber = COUNT(1)
  8306. FROM Job WITH(NOLOCK)
  8307. WHERE cpMainID = @cpMainID AND Valid = 1
  8308. UPDATE cpMain
  8309. SET MemberType = @MemberType,
  8310. MaxUserNumber = @MaxUserNumber,
  8311. MaxJobNumber = @MaxJobNumber,
  8312. JobNumber = @JobNumber,
  8313. DailyGiftQuota = @DailyGiftQuota
  8314. WHERE ID = @cpMainID
  8315. AND (MemberType <> @MemberType
  8316. OR MaxUserNumber <> @MaxUserNumber
  8317. OR MaxJobNumber <> @MaxJobNumber
  8318. OR JobNumber <> @JobNumber
  8319. )
  8320. UPDATE cpMainPublish
  8321. SET MemberType = @MemberType
  8322. WHERE ID = @cpMainID
  8323. AND MemberType <> @MemberType
  8324. END TRY
  8325. BEGIN CATCH
  8326. END CATCH
  8327. GO
  8328. /****** Object: StoredProcedure [dbo].[spRemoveBr] Script Date: 2018/12/13 19:13:23 ******/
  8329. SET ANSI_NULLS ON
  8330. GO
  8331. SET QUOTED_IDENTIFIER ON
  8332. GO
  8333. CREATE PROCEDURE [dbo].[spRemoveBr]
  8334. (
  8335. @Table VARCHAR(100),
  8336. @Column VARCHAR(100)
  8337. )
  8338. AS
  8339. BEGIN
  8340. DECLARE @sql AS VARCHAR(MAX)
  8341. SELECT @Sql = 'UPDATE ' + @Table + ' SET ' + @Column + ' = dbo.Removebr(' + @Column +')
  8342. WHERE ' + @Column + ' LIKE ''%<br>%''
  8343. OR ' + @Column + ' LIKE ''%&nbsp;%'''
  8344. EXEC(@Sql)
  8345. END
  8346. GO
  8347. /****** Object: StoredProcedure [dbo].[spSalaryByCountSelect] Script Date: 2018/12/13 19:13:24 ******/
  8348. SET ANSI_NULLS ON
  8349. GO
  8350. SET QUOTED_IDENTIFIER ON
  8351. GO
  8352. CREATE PROCEDURE [dbo].[spSalaryByCountSelect]
  8353. AS
  8354. SET NOCOUNT ON
  8355. BEGIN
  8356. CREATE TABLE #s(Id int, Salary INT)
  8357. INSERT INTO #s SELECT 1, 750
  8358. INSERT INTO #s SELECT 2, 1250
  8359. INSERT INTO #s SELECT 3, 1750
  8360. INSERT INTO #s SELECT 4, 2500
  8361. INSERT INTO #s SELECT 5, 3500
  8362. INSERT INTO #s SELECT 6, 4500
  8363. INSERT INTO #s SELECT 7, 5500
  8364. INSERT INTO #s SELECT 8, 7000
  8365. INSERT INTO #s SELECT 9, 9000
  8366. INSERT INTO #s SELECT 10, 12500
  8367. INSERT INTO #s SELECT 11, 17500
  8368. INSERT INTO #s SELECT 12, 22500
  8369. SELECT SPACE(60) Region, dcRegionId, dcSalaryID, 99999 Salary INTO #t FROM JobPublish WITH(NOLOCK) WHERE dcREgionId LIKE '32____'
  8370. DELETE FROM #t WHERE dcSalaryId > 12
  8371. UPDATE a SET a.Salary = b.Salary FROM #t a, #s b WHERE a.dcSalaryId = b.ID
  8372. UPDATE a SET a.Region = b.FullName FROM #t a, dcRegion b WHERE a.dcRegionId = b.ID
  8373. SELECT Region, Avg(Salary) FROM #t GROUP BY Region ORDER BY Avg(Salary) DESC
  8374. END
  8375. GO
  8376. /****** Object: StoredProcedure [dbo].[spSchMailPrev3Insert] Script Date: 2018/12/13 19:13:24 ******/
  8377. SET ANSI_NULLS ON
  8378. GO
  8379. SET QUOTED_IDENTIFIER ON
  8380. GO
  8381. /*
  8382. -- sean 2016-10-21
  8383. */
  8384. CREATE PROCEDURE [dbo].[spSchMailPrev3Insert]
  8385. AS
  8386. SET NOCOUNT ON
  8387. BEGIN
  8388. IF ISNULL((SELECT TOP 1 CONVERT(VARCHAR(8), AddDate, 112) FROM schMailPrev3), '') = CONVERT(VARCHAR(8), GETDATE(), 112)
  8389. RETURN
  8390. TRUNCATE TABLE schMailPrev3
  8391. --需要推荐简历的职位
  8392. CREATE TABLE #caSend(CaMainID INT)
  8393. DECLARE @t AS TABLE(EMailSendFreq INT)
  8394. DECLARE @num INT
  8395. SET @Num = 0
  8396. WHILE @Num < 128
  8397. BEGIN
  8398. SET @Num = @Num + 1
  8399. IF SUBSTRING(RIGHT('0000000' + dbo.Int2Bin(@Num), 7), DATEPART(WEEKDAY, GETDATE() - 1), 1) = '1'
  8400. INSERT INTO @t SELECT @Num
  8401. END
  8402. INSERT INTO #caSend
  8403. SELECT DISTINCT caMainID
  8404. FROM Job WITH(NOLOCK)
  8405. WHERE EMailSendFreq IN(SELECT EMailSendFreq FROM @t)
  8406. AND valid = 1
  8407. AND cpMainId IN(SELECT ID FROM cpMain WHERE IsLimitLogin < 9)
  8408. INSERT INTO schMailPrev3
  8409. SELECT 1,ISNULL(c.dcProvinceID,0),a.caMainID,ISNULL(b.Name,''),ISNULL(b.UserName,''),ISNULL(b.cpMainID,0),ISNULL(b.Name,'')+'您好,您发布的职位推荐简历',0,CASE LEN(c.dcsubsiteid) WHEN 2 THEN '' ELSE ISNULL(d.eMailsite,'') END,ISNULL(b.EMail,''),ISNULL(d.SubsiteName,''),NULL,0,GETDATE(),NULL,NULL,NULL,c.dcRegionID,NULL,NULL
  8410. FROM #caSend a
  8411. LEFT JOIN caMain b WITH(NOLOCK) ON b.id = a.caMainID
  8412. LEFT JOIN cpMain c WITH(NOLOCK) ON c.id = b.cpMainID
  8413. LEFT JOIN dcSubsite d WITH(NOLOCK) ON d.id = c.dcSubsiteID
  8414. DELETE FROM schMailPrev3 WHERE EMail LIKE '%qq.com'
  8415. SELECT ResumeId cvMainId, paMainId, SecondId, LastLoginDate, '
  8416. <tr>
  8417. <td>' + ISNULL( Name, ' ') + '[<a href="http://##SiteUrl##/Company/resume/cvview?id=##ResumeNo##" target="_blank">##ResumeNo##</a>]</td>
  8418. <td>' + (CASE ISNULL( Sex, 0) WHEN 0 THEN '男' WHEN 1 THEN '女' END) + '</td>
  8419. <td>' + CONVERT(VARCHAR, ISNULL( Age, 30)) + '</td>
  8420. <td>' + ISNULL( JobType, ' ') + '</td>
  8421. <td>' + ISNULL( AtPlaceDesc, ' ') + '</td>
  8422. </tr>' MailText
  8423. INTO #cvMail
  8424. FROM caJobResumePre WITH(NOLOCK)
  8425. WHERE ResumeId IN(SELECT MatchCvMainId FROM caJobCvMatch WITH(NOLOCK) WHERE PushDate IS NULL)
  8426. AND AddDate > GETDATE() - 7
  8427. --drop #JobMail
  8428. CREATE TABLE #JobMail(caMainId INT, JobId INT, MailText NVARCHAR(MAX), JobName NVARCHAR(50), SecondId VARCHAR(12))
  8429. CREATE TABLE #JobTemp(JobId INT, cvMainId INT, LastLoginDate DATETIME, JobName NVARCHAR(50), SecondId VARCHAR(12), cvText NVARCHAR(MAX), paMainId VARCHAR(10), cvSecondId VARCHAR(10), cpMainId VARCHAR(10), RegisterIp VARCHAR(39))
  8430. CREATE TABLE #caMail(caMainId INT, MailBody NVARCHAR(MAX))
  8431. INSERT INTO #JobTemp(JobId, cvMainId, LastLoginDate, cvText, paMainId, cvSecondId)
  8432. SELECT a.JobId, b.cvMainId, b.LastLoginDate, b.MailText, b.paMainId, b.SecondId
  8433. FROM caJobCvMatch a, #cvMail b
  8434. WHERE a.MatchCvMainId = b.cvMainId
  8435. AND a.AddDate > GETDATE() - 7
  8436. AND a.PushDate IS NULL
  8437. DELETE #JobTemp WHERE JobId IN(SELECT Id FROM Job WHERE Valid = 0)
  8438. DELETE #JobTemp WHERE JobId IN(SELECT Id FROM Job WHERE caMainId IN(SELECT ID FROM CaMain WHERE EMail LIKE '%qq.com'))
  8439. UPDATE a SET a.cpMainId = b.cpMainId FROM #JobTemp a, Job b WHERE a.JobId = b.Id
  8440. UPDATE a SET a.RegisterIp = b.RegisterIp FROM #JobTemp a, cpMain b WHERE a.cpMainId = b.Id
  8441. UPDATE #JobTemp SET cvText = REPLACE(cvText, '##ResumeNo##', LOWER(cvSecondId + SUBSTRING(SYS.Fn_VarbinToHexStr(HASHBYTES('SHA1', paMainId + '-' + cpMainId + '#' + RegisterIp + '*')), 13, 10)))
  8442. INSERT #JobMail(JobId, MailText)
  8443. SELECT a.JobId, MailText = STUFF((SELECT '<aa>' + b.cvText + '<aa>' FROM #JobTemp b WHERE a.JobId = b.JobId ORDER BY b.LastLoginDate DESC FOR XML PATH('')), 1, 0, '')
  8444. FROM #JobTemp a
  8445. GROUP BY a.JobId
  8446. --UPDATE #JobMail SET MailText = REPLACE(REPLACE(REPLACE(MailText, '&lt;aa&gt;', ''), '&lt;', '<'), '&gt;', '')
  8447. UPDATE a SET a.caMainId = b.caMainId, a.JobName = b.Name, a.SecondId = b.SecondId FROM #JobMail a, Job b WHERE a.JobId = b.Id
  8448. UPDATE #JobMail SET MailText = '
  8449. <tr>
  8450. <td colspan = "5" style="FONT-WEIGHT: bold; background-color:#ff6;"><a href="http://##SiteUrl##/personal/jb' + SecondID + '.html" target="_blank">' + JobName + '</a></td>
  8451. </tr>' + MailText
  8452. INSERT INTO #caMail
  8453. SELECT a.caMainId, MailBody = STUFF((SELECT '<aa>' + b.MailText + '<aa>' FROM #JobMail b WHERE a.caMainId = b.caMainId FOR XML PATH('')), 1, 0, '')
  8454. FROM #JobMail a
  8455. GROUP BY a.caMainId
  8456. UPDATE #caMail SET MailBody = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(MailBody, '&amp;', '&'), '&lt;aa&gt;', ''), '&lt;', '<'), '&gt;', '>'), '&#x0D;', '')
  8457. UPDATE #caMail SET MailBody = '以下是贵单位招聘职位推荐的部分简历。<br>
  8458. <table style="font-size:12px">
  8459. <tr style="FONT-WEIGHT: bold; background-color:#f7b666;">
  8460. <td>求职者</td>
  8461. <td>性别</td>
  8462. <td>年龄</td>
  8463. <td>求职意向</td>
  8464. <td>所在地</td>
  8465. </tr>' + MailBody + '
  8466. </table>
  8467. 详细情况请登录网站后使用“简历搜索”-->“<a href="http://##SiteUrl##/Company/cvSearch/Search" target="_blank">搜索简历</a>”-->点击“更多搜索条件”-->输入“简历编号”搜索。'
  8468. UPDATE a SET a.MailBody = b.MailBody FROM SchMailPrev3 a, #caMail b
  8469. WHERE a.AccountId = b.caMainId
  8470. --UPDATE schMailPrev3 SET MailBody = '<br>&nbsp; 符合您招聘职位的推荐简历已经全部发送,暂时没有新的简历出现。您可以登录网站后使用“职位管理”-->“发布中的职位”,修改给你推荐的频率。<br>&nbsp; '
  8471. --WHERE MailBody IS NULL
  8472. DELETE schMailPrev3 WHERE MailBody IS NULL
  8473. UPDATE a
  8474. SET a.MailBody = REPLACE(a.MailBody, '##SiteUrl##', 'www.' + b.ProvinceDomain)
  8475. FROM schMailPrev3 a, dcProvince b
  8476. WHERE a.dcProvinceId = b.Id
  8477. UPDATE caJobCvMatch
  8478. SET PushDate = GETDATE()
  8479. WHERE JobId IN(SELECT Id FROM Job WHERE caMainId IN(SELECT caMainId FROM #caSend))
  8480. AND PushDate IS NULL
  8481. DROP TABLE #cvMail
  8482. DROP TABLE #JobMail
  8483. DROP TABLE #caMail
  8484. DROP TABLE #JobTemp
  8485. DROP TABLE #caSend
  8486. END
  8487. GO
  8488. /****** Object: StoredProcedure [dbo].[spShowForeignKeys] Script Date: 2018/12/13 19:13:25 ******/
  8489. SET ANSI_NULLS ON
  8490. GO
  8491. SET QUOTED_IDENTIFIER ON
  8492. GO
  8493. CREATE PROCEDURE [dbo].[spShowForeignKeys]
  8494. (
  8495. @Table VARCHAR(50)
  8496. )
  8497. AS
  8498. BEGIN
  8499. IF dbo.TrimNull(@Table) IS NOT NULL
  8500. SELECT DISTINCT b.Name AS Key_Name, a.Name AS Name, d.Name AS f_Name, c.rKey
  8501. FROM SysObjects a JOIN SysObjects b ON a.Id = b.Parent_Obj
  8502. JOIN SysForeignKeys c ON b.Id = c.constId
  8503. JOIN SysObjects d ON c.rKeyId = d.Id
  8504. JOIN SysIndexKeys e ON d.Id = e.Id
  8505. JOIN SysColumns f ON a.Id = f.Id
  8506. AND e.colId = f.colId
  8507. WHERE b.xtype = 'F'
  8508. AND d.Name = @Table
  8509. ORDER BY Key_Name
  8510. ELSE
  8511. SELECT DISTINCT b.Name AS Key_Name, a.Name AS Name, d.Name AS f_Name, c.rKey
  8512. FROM SysObjects a JOIN SysObjects b ON a.Id = b.Parent_Obj
  8513. JOIN SysForeignKeys c ON b.Id = c.constId
  8514. JOIN SysObjects d ON c.rKeyId = d.Id
  8515. JOIN SysIndexKeys e ON d.Id = e.Id
  8516. JOIN SysColumns f ON a.Id = f.Id
  8517. AND e.colId = f.colId
  8518. WHERE b.xtype = 'F'
  8519. ORDER By f_Name
  8520. END
  8521. GO
  8522. /****** Object: StoredProcedure [dbo].[spShowTableStruct] Script Date: 2018/12/13 19:13:25 ******/
  8523. SET ANSI_NULLS ON
  8524. GO
  8525. SET QUOTED_IDENTIFIER ON
  8526. GO
  8527. CREATE PROCEDURE [dbo].[spShowTableStruct]
  8528. (
  8529. @Table AS VARCHAR(50),
  8530. @Column AS VARCHAR(50)
  8531. )
  8532. AS
  8533. BEGIN
  8534. DECLARE @SQL AS VARCHAR(1000)
  8535. SET @Table = dbo.TrimNull(@Table)
  8536. SET @Column = dbo.TrimNull(@Column)
  8537. SET @SQL = '
  8538. SELECT SysObjects.Name AS TABLEName,
  8539. SysColumns.Name as ColName,
  8540. SysTypes.Name VType,
  8541. SysColumns.LENGTH,
  8542. SysColumns.XPREC,
  8543. SysColumns.XSCALE,
  8544. IsNullable,
  8545. cDefault
  8546. FROM SysColumns, SysObjects, SysTypes
  8547. WHERE SysColumns.Id = SysObjects.Id
  8548. AND SysColumns.xType = SysTypes.xType
  8549. AND SysObjects.Type = ''U'''
  8550. IF @Table IS NOT NULL
  8551. SET @SQL = @SQL + '
  8552. AND SysObjects.Name = ''' + @Table + ''''
  8553. IF @Column IS NOT NULL
  8554. SET @SQL = @SQL + '
  8555. AND SysColumns.Name = ''' + @Column + ''''
  8556. SET @SQL = @SQL + '
  8557. ORDER BY SysObjects.Name, SysColumns.Name'
  8558. EXEC(@SQL)
  8559. END
  8560. GO
  8561. /****** Object: StoredProcedure [dbo].[spSmsEmailCountInsert] Script Date: 2018/12/13 19:13:25 ******/
  8562. SET ANSI_NULLS ON
  8563. GO
  8564. SET QUOTED_IDENTIFIER ON
  8565. GO
  8566. CREATE PROCEDURE [dbo].[spSmsEmailCountInsert]
  8567. AS
  8568. BEGIN
  8569. DECLARE @d AS DATETIME
  8570. SELECT @D = CONVERT(VARCHAR(10), GETDATE(), 120)
  8571. INSERT SmsEmailCount
  8572. SELECT CONVERT(VARCHAR(8), AddDate, 112), 1, MsgType, COUNT(*), SendStatus
  8573. FROM SmsMessageLog
  8574. WHERE AddDate >= @d - 1 AND AddDate < @d
  8575. GROUP BY CONVERT(VARCHAR(8), AddDate, 112), MsgType, SendStatus
  8576. INSERT SmsEmailCount
  8577. SELECT CONVERT(VARCHAR(8), AddDate, 112), 2, msEmailTypeId, COUNT(*), Status
  8578. FROM msEmailSend
  8579. WHERE AddDate >= @d - 1 AND AddDate < @d
  8580. GROUP BY CONVERT(VARCHAR(8), AddDate, 112), msEmailTypeId, Status
  8581. --select * from SmsEmailCount
  8582. --sp_help SmsEmailCount
  8583. --select * from #t where sendstatus>255
  8584. END
  8585. GO
  8586. /****** Object: StoredProcedure [dbo].[spSmsMessageLogByReceiveUpdate] Script Date: 2018/12/13 19:13:25 ******/
  8587. SET ANSI_NULLS ON
  8588. GO
  8589. SET QUOTED_IDENTIFIER ON
  8590. GO
  8591. CREATE PROCEDURE [dbo].[spSmsMessageLogByReceiveUpdate]
  8592. AS
  8593. BEGIN
  8594. SELECT * INTO #1 FROM SmsMessageLog WHERE SmsType=2 AND SendMan = 0 AND Msg = 'n'
  8595. IF (SELECT COUNT(*) FROM #1) > 0
  8596. BEGIN
  8597. INSERT INTO MarketDb..NoSendSms SELECT DISTINCT Mobile, GETDATE() FROM #1 WHERE Mobile NOT IN(SELECT Mobile FROM MarketDb..NoSendSms)
  8598. UPDATE SmsMessageLog SET SendMan = 2 WHERE Id IN(SELECT Id FROM #1)
  8599. END
  8600. SELECT Id, Mobile, Msg, ManagerUserId, paMainId, caMainId, SendMan, MsgType
  8601. INTO #2
  8602. FROM SmsMessageLog WHERE SmsType = 2 AND SendMan = 0
  8603. IF (SELECT COUNT(*) FROM #1) > 0
  8604. BEGIN
  8605. UPDATE #2 SET SendMan = ISNULL((SELECT TOP 1 SendMan FROM SmsMessageLog a WHERE a.Mobile = #2.Mobile AND SendMan > 2 ORDER BY ID DESC), 0)
  8606. UPDATE #2 SET SendMan = ISNULL((SELECT TOP 1 a.ConsultantId FROM cpMain a WITH(NOLOCK), caMain b WITH(NOLOCK)
  8607. WHERE a.Id = b.cpMainId AND b.Mobile = #2.Mobile AND a.ConsultantId > 0 ORDER BY a.LastLoginDate DESC), 0)
  8608. WHERE SendMan = 0
  8609. UPDATE #2 SET SendMan = 180 WHERE SendMan = 0
  8610. UPDATE a
  8611. SET a.SendMan = b.SendMan
  8612. FROM SmsMessageLog a, #2 b
  8613. WHERE a.Id = b.Id
  8614. INSERT INTO RtxNotifyLog(Receiver, RtxTitle, RtxMessage, SendType, DelayTime, ShowType)
  8615. SELECT DISTINCT SendMan, '收到短信',
  8616. '您有新的短信,请及时处理!' + CASE SendMan WHEN 180 THEn '' ELSE '内容:' + Msg END,
  8617. 1, 0, 0
  8618. From #2
  8619. END
  8620. END
  8621. GO
  8622. /****** Object: StoredProcedure [dbo].[spSmsMessageLogSelect] Script Date: 2018/12/13 19:13:25 ******/
  8623. SET ANSI_NULLS ON
  8624. GO
  8625. SET QUOTED_IDENTIFIER ON
  8626. GO
  8627. CREATE PROCEDURE [dbo].[spSmsMessageLogSelect]
  8628. AS
  8629. BEGIN
  8630. DECLARE @Day7 AS DATETIME, @Day1 AS DATETIME
  8631. SET @Day7 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 7, 120))
  8632. SET @Day1 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 1, 120))
  8633. DECLARE @t AS TABLE(
  8634. ID int,
  8635. SendMan smallint,
  8636. ManagerUserId smallint,
  8637. paMainId int,
  8638. caMainId int,
  8639. Mobile varchar(20),
  8640. Msg nvarchar(210),
  8641. IsCat bit,
  8642. AddDate smalldatetime,
  8643. PortNo tinyint,
  8644. SendDate datetime,
  8645. SendStatus bit,
  8646. SmsType tinyint,
  8647. MsgType tinyint,
  8648. IsDelete BIT
  8649. )
  8650. DECLARE @c AS TABLE(
  8651. caMainId INT,
  8652. MsgType tinyint,
  8653. AddDate DATETIME,
  8654. Cnt INT
  8655. )
  8656. INSERT INTO @t
  8657. SELECT TOP 10 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  8658. WHERE SendDate IS NULL
  8659. AND IsCat = 0
  8660. AND SmsType = 1
  8661. AND AddDate > @Day7
  8662. ORDER BY AddDate
  8663. INSERT INTO @c
  8664. SELECT caMainID, MsgType, Max(AddDate), COUNT(*)
  8665. FROM SmsMessageLog WITH(NOLOCK)
  8666. WHERE AddDate > @Day7
  8667. AND SmsType = 1
  8668. AND ID NOT IN(SELECT ID FROM @t)
  8669. AND caMainID IN(SELECT caMainId FROM @t)
  8670. GROUP BY caMainID, MsgType
  8671. UPDATE @t SET IsDelete = 1
  8672. WHERE MsgType IN(1,3,5)
  8673. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType IN(1,3,5) AND AddDate > @Day1)
  8674. UPDATE @t SET IsDelete = 1
  8675. WHERE MsgType IN(2,4,19)
  8676. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType IN(2,4,19) AND AddDate > @Day1)
  8677. UPDATE @t SET IsDelete = 1
  8678. WHERE MsgType = 7
  8679. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType = 7 AND AddDate > @Day1)
  8680. UPDATE @t SET IsDelete = 1
  8681. WHERE MsgType = 8
  8682. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType = 8 AND AddDate > @Day1)
  8683. UPDATE @t SET IsDelete = 1
  8684. WHERE MsgType = 9
  8685. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  8686. UPDATE @t SET IsDelete = 1
  8687. WHERE MsgType = 20
  8688. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType = 20 AND AddDate > @Day1)
  8689. UPDATE @t SET IsDelete = 1
  8690. WHERE MsgType = 10
  8691. AND caMainId IN(SELECT caMainId FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  8692. UPDATE @t SET IsDelete = 1
  8693. WHERE MsgType IN(12,13,14,15)
  8694. AND caMainId IN(SELECT caMainId FROM @c)
  8695. UPDATE @t SET IsDelete = 1
  8696. WHERE MsgType = 11
  8697. AND caMainId IN(SELECT caMainId FROM @c WHERE AddDate > @Day1)
  8698. UPDATE SmsMessageLog SET SmsType = 3 WHERE ID IN(SELECT ID FROM @t WHERE IsDelete = 1)
  8699. SELECT * FROM @t WHERE IsDelete = 0
  8700. INSERT INTO ServiceRunLog(ServiceId, RunRows, RunId, RunStatus, RunMessage)
  8701. SELECT 1, @@RowCount, 0, 1, '提取短信数据'
  8702. END
  8703. GO
  8704. /****** Object: StoredProcedure [dbo].[spStartOrder] Script Date: 2018/12/13 19:13:26 ******/
  8705. SET ANSI_NULLS ON
  8706. GO
  8707. SET QUOTED_IDENTIFIER ON
  8708. GO
  8709. CREATE PROCEDURE [dbo].[spStartOrder]
  8710. (
  8711. @Id INT
  8712. )
  8713. AS
  8714. BEGIN
  8715. DECLARE @M INT
  8716. SELECT @m = DATEDIFF(Month, Begindate, Enddate) FROM caOrder WHERE Id = @Id
  8717. UPDATE caOrder SET BeginDate = GETDATE(), EndDate = DATEADD(MONTH, @m, GETDATE()) WHERE Id = @Id
  8718. UPDATE caOrder SET BeginDate = GETDATE(), EndDate = DATEADD(MONTH, @m, GETDATE()) WHERE MainOrderId = @Id
  8719. SELECT @m, BeginDate, EndDate, * FROM caORder WHERE Id = @Id
  8720. End
  8721. GO
  8722. /****** Object: StoredProcedure [dbo].[spTableByRowNumberSelect] Script Date: 2018/12/13 19:13:26 ******/
  8723. SET ANSI_NULLS ON
  8724. GO
  8725. SET QUOTED_IDENTIFIER ON
  8726. GO
  8727. CREATE PROCEDURE [dbo].[spTableByRowNumberSelect]
  8728. AS
  8729. BEGIN
  8730. SET NOCOUNT ON
  8731. DECLARE @t as TABLE(Id INT IDENTITY(1, 1), dbId INT, tabName VARCHAR(50))
  8732. INSERT INTO @t SELECT 3, 'BsCvVerifySnap'
  8733. INSERT INTO @t SELECT 1, 'caCvRemark'
  8734. INSERT INTO @t SELECT 1, 'caCvViewLog'
  8735. INSERT INTO @t SELECT 1, 'CaOnline'
  8736. INSERT INTO @t SELECT 1, 'cpIndustry'
  8737. INSERT INTO @t SELECT 1, 'cpMainPublish'
  8738. INSERT INTO @t SELECT 1, 'cvAppendixPublish'
  8739. INSERT INTO @t SELECT 1, 'cvEducationPublish'
  8740. INSERT INTO @t SELECT 1, 'cvExperiencePublish'
  8741. INSERT INTO @t SELECT 1, 'cvIndustryPublish'
  8742. INSERT INTO @t SELECT 1, 'cvInfo'
  8743. INSERT INTO @t SELECT 1, 'cvJobPlacePublish'
  8744. INSERT INTO @t SELECT 1, 'cvJobTypePublish'
  8745. INSERT INTO @t SELECT 1, 'cvLanguagePublish'
  8746. INSERT INTO @t SELECT 1, 'cvMainPublish'
  8747. INSERT INTO @t SELECT 1, 'cvProjectPublish'
  8748. INSERT INTO @t SELECT 1, 'cvTrainingPublish'
  8749. INSERT INTO @t SELECT 1, 'dcCompanySize'
  8750. INSERT INTO @t SELECT 1, 'dcEducation'
  8751. INSERT INTO @t SELECT 1, 'dcIndustry'
  8752. INSERT INTO @t SELECT 1, 'dcJobType'
  8753. INSERT INTO @t SELECT 1, 'dcMapPlace'
  8754. INSERT INTO @t SELECT 1, 'dcOthers'
  8755. INSERT INTO @t SELECT 1, 'dcRegion'
  8756. INSERT INTO @t SELECT 1, 'dcSalary'
  8757. INSERT INTO @t SELECT 1, 'dcSubSite'
  8758. INSERT INTO @t SELECT 1, 'Ip_Black'
  8759. INSERT INTO @t SELECT 1, 'Ip_White'
  8760. INSERT INTO @t SELECT 1, 'JobPublish'
  8761. INSERT INTO @t SELECT 1, 'JobSimilar'
  8762. INSERT INTO @t SELECT 1, 'PaAttention'
  8763. INSERT INTO @t SELECT 1, 'paMainPublish'
  8764. INSERT INTO @t SELECT 1, 'PaOnline'
  8765. INSERT INTO @t SELECT 1, 'SearchJobTop'
  8766. INSERT INTO @t SELECT 1, 'WxFans'
  8767. INSERT INTO @t SELECT 2, 'CpBrandPublish'
  8768. INSERT INTO @t SELECT 2, 'CpBrochurePublish'
  8769. INSERT INTO @t SELECT 2, 'cpDeptPublish'
  8770. INSERT INTO @t SELECT 2, 'CpImage'
  8771. INSERT INTO @t SELECT 2, 'CpIndustry'
  8772. INSERT INTO @t SELECT 2, 'CpMainPublish'
  8773. INSERT INTO @t SELECT 2, 'CpOrder'
  8774. INSERT INTO @t SELECT 2, 'CpPreach'
  8775. INSERT INTO @t SELECT 2, 'DcCompanyKind'
  8776. INSERT INTO @t SELECT 2, 'DcEducation'
  8777. INSERT INTO @t SELECT 2, 'DcIndustry'
  8778. INSERT INTO @t SELECT 2, 'DcMajor'
  8779. INSERT INTO @t SELECT 2, 'DcRegion'
  8780. INSERT INTO @t SELECT 2, 'JobMajor'
  8781. INSERT INTO @t SELECT 2, 'JobMajorPublish'
  8782. INSERT INTO @t SELECT 2, 'JobPublish'
  8783. INSERT INTO @t SELECT 2, 'JobRegion'
  8784. INSERT INTO @t SELECT 2, 'JobRegionPublish'
  8785. INSERT INTO @t SELECT 2, 'JobRegionShot'
  8786. DECLARE @r AS TABLE(
  8787. [NAMEINFO] [varchar](50) NULL,
  8788. [ROWSINFO] [int] NULL,
  8789. [RESERVED] [varchar](20) NULL,
  8790. [DATAINFO] [varchar](20) NULL,
  8791. [INDEX_SIZE] [varchar](20) NULL,
  8792. [UNUSED] [varchar](20) NULL,
  8793. [AddDate] [smalldatetime] NULL
  8794. )
  8795. CREATE TABLE #t(id INT IDENTITY(1, 1), dbId INT, tabName VARCHAR(50), rowNum int)
  8796. DECLARE @Id INT, @dbId INT, @tabName VARCHAR(50)
  8797. SET @Id = 0
  8798. WHILE EXISTS(SELECT 'x' FROM @t WHERE Id > @Id)
  8799. BEGIN
  8800. SELECT TOP 1 @Id = Id, @dbId = dbId, @tabName = tabName FROM @t WHERE Id > @Id ORDER BY Id
  8801. IF @dbId = 1
  8802. INSERT INTO @r(NAMEINFO, ROWSINFO, RESERVED, DATAINFO, INDEX_SIZE, UNUSED)
  8803. EXEC SP_SPACEUSED @tabName
  8804. IF @dbId = 2
  8805. INSERT INTO @r(NAMEINFO, ROWSINFO, RESERVED, DATAINFO, INDEX_SIZE, UNUSED)
  8806. EXEC WuTongGuoDb..SP_SPACEUSED @tabName
  8807. IF @dbId = 3
  8808. INSERT INTO @r(NAMEINFO, ROWSINFO, RESERVED, DATAINFO, INDEX_SIZE, UNUSED)
  8809. EXEC ShortDb..SP_SPACEUSED @tabName
  8810. INSERT INTO #t SELECT @dbId, @tabName, ROWSINFO FROM @r
  8811. DELETE FROM @r
  8812. END
  8813. SELECT * FROM #t
  8814. END
  8815. GO
  8816. /****** Object: StoredProcedure [dbo].[spTableSpaceInfoInsert] Script Date: 2018/12/13 19:13:26 ******/
  8817. SET ANSI_NULLS ON
  8818. GO
  8819. SET QUOTED_IDENTIFIER ON
  8820. GO
  8821. CREATE PROCEDURE [dbo].[spTableSpaceInfoInsert]
  8822. AS
  8823. BEGIN
  8824. DECLARE MYCURSOR CURSOR FOR
  8825. SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U'
  8826. OPEN MYCURSOR
  8827. DECLARE @NAME VARCHAR(100)
  8828. FETCH NEXT FROM MYCURSOR INTO @NAME
  8829. WHILE(@@FETCH_STATUS =0)
  8830. BEGIN
  8831. INSERT INTO TABLESPACEINFO(NAMEINFO, ROWSINFO, RESERVED, DATAINFO, INDEX_SIZE, UNUSED)
  8832. EXEC SP_SPACEUSED @NAME
  8833. FETCH NEXT FROM MYCURSOR INTO @NAME
  8834. END
  8835. CLOSE MYCURSOR
  8836. DEALLOCATE MYCURSOR
  8837. END
  8838. GO
  8839. /****** Object: StoredProcedure [dbo].[spTmpCheckFileByCanDeleteUpdate] Script Date: 2018/12/13 19:13:27 ******/
  8840. SET ANSI_NULLS ON
  8841. GO
  8842. SET QUOTED_IDENTIFIER ON
  8843. GO
  8844. /*
  8845. 1、照片;2、证书;3、word附件;4处理的照片;10、营业执照;11、logo;12、形象图;
  8846. 20:order.RemittanceFile;21:Order.ContractFile;22:FaxFile
  8847. 40:adverproject;
  8848. 51、OaDb..LeaveAttchment;52:文档管理
  8849. */
  8850. CREATE PROCEDURE [dbo].[spTmpCheckFileByCanDeleteUpdate]
  8851. AS
  8852. BEGIN
  8853. declare @i int
  8854. set @i = 0
  8855. WHILE @I < 14673225
  8856. BEGIN
  8857. update tmpcheckfile set filetype=0, fileid=999 where id BETWEEN @i AND @i + 30000
  8858. set @i = @i + 30000
  8859. END
  8860. CREATE TABLE #t(Id INT, FileName VARCHAR(200))
  8861. --UPDATE tmpCheckFile SET FileType = 0
  8862. --delete from tmpcheckfile where fullname like 'D:\hosting\down.51rc.com\imagefolder\adimage\%'
  8863. --100、照片;
  8864. UPDATE tmpCheckFile SET FileType = 1
  8865. WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\photo\%\photo\%'
  8866. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 1 AND FileName IN(SELECT photo FROM paPhoto WHERE photo > '')
  8867. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 1 AND FileName IN(SELECT photoProcessed FROM paPhoto WHERE photoProcessed > '')
  8868. --4处理的照片;
  8869. UPDATE tmpCheckFile SET FileType = 4
  8870. WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\photo\%\processed\%'
  8871. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 4 AND FileName IN(SELECT photo FROM paPhoto WHERE photo > '')
  8872. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 4 AND FileName IN(SELECT photoProcessed FROM paPhoto WHERE photoProcessed > '')
  8873. --2、证书
  8874. --UPDATE tmpCheckFile SET FileType = 2 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\appendix\L%'
  8875. --UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 2 AND FileName IN(SELECT FileName FROM cvAppendix WHERE FileName > '')
  8876. --3、word附件;
  8877. UPDATE tmpCheckFile SET FileType = 3 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\attachment\L%'
  8878. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 3 AND FileName IN(SELECT Attachment FROM cvMain WHERE Attachment > '')
  8879. --10、营业执照;
  8880. UPDATE tmpCheckFile SET FileType = 10 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Licence\%'
  8881. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 10 AND FileName IN(SELECT ImgFile FROM cpLicence)
  8882. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 10 AND FileId= 0 AND FileName IN(SELECT FileNameOld FROM cpLicenceChangeLog)
  8883. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 10 AND FileId= 0 AND FileName IN(SELECT FileNameNew FROM cpLicenceChangeLog)
  8884. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 10 AND FileId= 0 AND FileName IN(SELECT OldFileName FROM cpLicenceLog)
  8885. --11、logo;
  8886. UPDATE tmpCheckFile SET FileType = 11 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Logo\%'
  8887. --12、形象图;
  8888. UPDATE tmpCheckFile SET FileType = 12 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\visual\%'
  8889. UPDATE tmpCheckFile SET FileType = 13 WHERE fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\operational\Environment\%'
  8890. SELECT Id, cpMainId, ImgFile, ImgFile FileName INTO #i FROM cpImage
  8891. UPDATE #i SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8892. UPDATE #i SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8893. UPDATE #i SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8894. UPDATE #i SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8895. UPDATE #i SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8896. TRUNCATE TABLE #t
  8897. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 11
  8898. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 11
  8899. DELETE FROM #t WHERE FileName IN(SELECT FileName FROM #i WHERE FileName > '')
  8900. UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  8901. TRUNCATE TABLE #t
  8902. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 12
  8903. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 12
  8904. DELETE FROM #t WHERE FileName IN(SELECT FileName FROM #i WHERE FileName > '')
  8905. UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  8906. TRUNCATE TABLE #t
  8907. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 13
  8908. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 13
  8909. DELETE FROM #t WHERE FileName IN(SELECT FileName FROM #i WHERE FileName > '')
  8910. UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  8911. UPDATE tmpCheckFile SET FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Logo\Default\%'
  8912. --20:order.RemittanceFile;
  8913. UPDATE tmpCheckFile SET FileType = 20 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Remit\%'
  8914. TRUNCATE TABLE #t
  8915. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 20
  8916. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 20
  8917. DELETE FROM #t WHERE FileName IN(SELECT RemittanceFile FROM caOrder WHERE RemittanceFile > '')
  8918. UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  8919. update tmpCheckFile set pamainid = left(filename, charindex('_', filename) - 1) where charindex('_', filename) > 1 and filetype = 20 and FileId = 999
  8920. update a set a.fileid = 1 from tmpCheckFile a, caorder b
  8921. where a.filetype = 20 and a.FileId = 999 and a.pamainid = b.id and charindex(a.filename, b.remittancefile) > 0
  8922. --21:Order.ContractFile;
  8923. UPDATE tmpCheckFile SET FileType = 21 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Sales\contract\L%'
  8924. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 21 AND FileName IN(SELECT ContractFile FROM caOrder WHERE ContractFile > '')
  8925. --22:FaxFile
  8926. UPDATE tmpCheckFile SET FileType = 22, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Fax%'
  8927. --orderupload
  8928. UPDATE tmpCheckFile SET FileType = 23, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\orderupload%'
  8929. --29:GdFixed
  8930. UPDATE tmpCheckFile SET FileType = 29, FileId = 1WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\OA\Goods\%'
  8931. --40:adverproject;
  8932. UPDATE tmpCheckFile SET FileType = 40, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\hpimage\%'
  8933. TRUNCATE TABLE #t
  8934. --UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 40
  8935. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 40
  8936. select id, imagefile FileName INTO #a from AdverProject WHERE imagefile > ''
  8937. UPDATE #a SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8938. UPDATE #a SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8939. UPDATE #a SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8940. UPDATE #a SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8941. UPDATE #a SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('/', FileName, 0)) WHERE FileName LIKE '%/%'
  8942. DELETE FROM #t WHERE FileName IN(select FileName from #a WHERE FileName > '')
  8943. --?? UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  8944. UPDATE tmpCheckFile SET FileType = 41 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\adimage\%'
  8945. --45:manageruser_photo
  8946. UPDATE tmpCheckFile SET FileType = 45, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\manageruser_photo\%'
  8947. --51、OaDb..LeaveAttchment;
  8948. UPDATE tmpCheckFile SET FileType = 51, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\Leave\%'
  8949. --52:文档管理
  8950. UPDATE tmpCheckFile SET FileType = 52, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\Archive\%'
  8951. UPDATE tmpCheckFile SET FileType = 52, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\Doc\%'
  8952. select id, FileName INTO #h from oadb..hrdoc
  8953. UPDATE #h SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  8954. UPDATE #h SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  8955. UPDATE #h SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  8956. UPDATE #h SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  8957. UPDATE #h SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  8958. TRUNCATE TABLE #t
  8959. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 52
  8960. DELETE FROM #t WHERE FileName IN(SELECT FileName FROM #h)
  8961. UPDATE tmpCheckFile SET FileId = 999 WHERE ID IN(SELECT Id FROM #t)
  8962. --53:OaAdvertising
  8963. UPDATE tmpCheckFile SET FileType = 53, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\Advertising\%'
  8964. TRUNCATE TABLE #t
  8965. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 53
  8966. SELECT TOP 0 * INTO #adv FROM #t
  8967. insert into #adv select Id, FileName1 from Oadb..Advertising WHERE FileName1 > ''
  8968. insert into #adv select Id, FileName2 from Oadb..Advertising WHERE FileName2 > ''
  8969. DELETE from #t WHERE FileName in (SELECT FileName FROM #Adv)
  8970. UPDATE tmpCheckFile SET FileId = 999 WHERE ID IN(SELECT Id FROM #t)
  8971. --55:OaAdvertising
  8972. UPDATE tmpCheckFile SET FileType = 55, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\Project\%'
  8973. --56:OaAdvertising
  8974. UPDATE tmpCheckFile SET FileType = 56, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\TrainCourse\%'
  8975. --57:OaAdvertising
  8976. UPDATE tmpCheckFile SET FileType = 57, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Oa\TrainPlan\%'
  8977. --61:Campus
  8978. UPDATE tmpCheckFile SET FileType = 61, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\Campus\%'
  8979. --62:Campus
  8980. UPDATE tmpCheckFile SET FileType = 62, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\CampusNew\%'
  8981. --63:ChongSoft
  8982. --64:Coorperation
  8983. UPDATE tmpCheckFile SET FileType = 64, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Market\Coorperation\%'
  8984. --65:FnBankCheck
  8985. UPDATE tmpCheckFile SET FileType = 65, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Finance\FnBankCheck\%'
  8986. --66:FnBankCheck
  8987. UPDATE tmpCheckFile SET FileType = 66, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Finance\FnBankDaybook\%'
  8988. --67:FnCash
  8989. UPDATE tmpCheckFile SET FileType = 67, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Finance\FnCash\%'
  8990. --68:FnPICDaybook
  8991. UPDATE tmpCheckFile SET FileType = 68, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Finance\FnPICDaybook\%'
  8992. --69:门贴
  8993. UPDATE tmpCheckFile SET FileType = 69, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Market\%'
  8994. --70:KPI
  8995. UPDATE tmpCheckFile SET FileType = 70, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\KPI\%'
  8996. --71:linkimage
  8997. --72:music
  8998. --73:newsimage
  8999. UPDATE tmpCheckFile SET FileType = 73, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\newsimage\%'
  9000. --74:nianhui
  9001. --75:picture
  9002. UPDATE tmpCheckFile SET FileType = 75, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\picture\%'
  9003. --76:productBulletin
  9004. UPDATE tmpCheckFile SET FileType = 76, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\productBulletin\%'
  9005. --77:qlrcnews
  9006. --78:Recruitment
  9007. UPDATE tmpCheckFile SET FileType = 78, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\Recruitment\%'
  9008. truncate table #t
  9009. insert #t select id, fileName from tmpCheckFile where filetype = 78 order by crdate desc
  9010. select id, uploadfile filename into #pcv from marketdb..ptCvInvitation
  9011. UPDATE #pcv SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  9012. UPDATE #pcv SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  9013. UPDATE #pcv SET FileName = RIGHT(FileName, LEN(FileName) - CHARINDEX('\', FileName, 0)) WHERE FileName LIKE '%\%'
  9014. DELETE FROM #t WHERE FileName IN(SELECT FileName FROM #pcv)
  9015. DELETE #t WHERE FullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\Recruitment\RmPlacePhoto%'
  9016. UPDATE tmpCheckFile SET FileId = 999 WHERE ID IN(SELECT Id FROM #t) AND fullName LIKE'D:\hosting\down.51rc.com\ImageFolder\Recruitment\RmPlacePhoto%'
  9017. --80:slide
  9018. UPDATE tmpCheckFile SET FileType = 80, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\slide\%'
  9019. --81:topics
  9020. UPDATE tmpCheckFile SET FileType = 81, FileId = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\imagefolder\operational\topics\%'
  9021. --82:topics
  9022. UPDATE tmpCheckFile SET FileType = 30 WHERE fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\RecordFile\%'
  9023. update tmpCheckFile set pamainid = left(filename, 7) where filetype = 30
  9024. update tmpCheckFile set fileid = 1 where filetype = 30 and pamainid in(select id from ivrlist)
  9025. select * from tmpCheckFile where filetype = 30 and FileId = 999
  9026. TRUNCATE TABLE #t
  9027. UPDATE tmpCheckFile SET FileId = 1 WHERE FileType = 30
  9028. INSERT INTO #t SELECT Id, FileName FROM tmpCheckFile WHERE FileType = 30
  9029. UPDATE #t SET FileName = LEFT(FileName, 7)
  9030. DELETE FROM #t WHERE FileName IN(SELECT Id FROM IvrList)
  9031. UPDATE a SET a.FileId = 999 FROM tmpCheckFile a, #t b WHERE a.Id = b.Id
  9032. --
  9033. UPDATE tmpCheckFile SET FileType = 90, fileid = 1 WHERE fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\wutongguo\%'
  9034. UPDATE tmpCheckFile SET FileType = 91, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\operational\%'
  9035. UPDATE tmpCheckFile SET FileType = 92, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\OA\Spread\PicCheck\%'
  9036. UPDATE tmpCheckFile SET FileType = 93, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\OA\Car\%'
  9037. UPDATE tmpCheckFile SET FileType = 94, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\CHAT\%'
  9038. SELECT ID, FileName, REPLACE(FullName, 'D:\hosting\down.51rc.com\ImageFolder\Chat\', '') FullName, 0 IsExists INTO #c FROM tmpCheckFile WHERE FileType = 94
  9039. UPDATE #c SET FullName = REPLACE(Fullname, '\', '/')
  9040. UPDATE #c SET IsExists = 1 WHERE EXISTS(SELECT 'x' FROM ChatOnlineLog b WHERE b.Message = #c.FileName)
  9041. DELETE #c WHERE Isexists = 1
  9042. UPDATE #c SET IsExists = 1 WHERE EXISTS(SELECT 'x' FROM ChatOnlineLog b WHERE b.Message = #c.FullName)
  9043. DELETE #c WHERE Isexists = 1
  9044. UPDATE tmpCheckFile SET FileId = 999 WHERE ID IN(SELECT ID FROM #c)
  9045. UPDATE tmpCheckFile SET FileType = 95, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\spreadcall\%'
  9046. SELECT ID, RIGHT(FileName, 18) FileName, 0 IsExists INTO #s FROM tmpCheckFile WHERE FileType = 95
  9047. UPDATE #s SET IsExists = 1 WHERE EXISTS(SELECT 'x' FROM SpreadCallLog b WHERE b.FileName LIKE '%' + #s.FileName)
  9048. DELETE #s WHERE Isexists = 1
  9049. UPDATE tmpCheckFile SET FileId = 999 WHERE ID IN(SELECT ID FROM #s)
  9050. UPDATE tmpCheckFile SET FileType = 96, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\OA\ColdCustomer\%'
  9051. UPDATE tmpCheckFile SET FileType = 97, fileid = 1 WHERE filetype=0 AND fullName LIKE 'D:\hosting\down.51rc.com\ImageFolder\WxMessageTemplate\%'
  9052. update tmpCheckFile set CanDelete = 1 where candelete = 0 and FileId = 999 and FileType > 0
  9053. END
  9054. GO
  9055. /****** Object: StoredProcedure [dbo].[spTmpCheckFileInsert] Script Date: 2018/12/13 19:13:27 ******/
  9056. SET ANSI_NULLS ON
  9057. GO
  9058. SET QUOTED_IDENTIFIER ON
  9059. GO
  9060. CREATE PROCEDURE [dbo].[spTmpCheckFileInsert]
  9061. AS
  9062. BEGIN
  9063. delete from tmpcheckfile
  9064. where filename in(select photofile from marketdb..RmInvitationCode
  9065. where uploaddate> getdate()-60
  9066. or adddate > getdate() -60
  9067. or verifydate > getdate()-60)
  9068. or crdate > getdate()-60
  9069. END
  9070. GO
  9071. /****** Object: StoredProcedure [dbo].[spTransCustom] Script Date: 2018/12/13 19:13:28 ******/
  9072. SET ANSI_NULLS ON
  9073. GO
  9074. SET QUOTED_IDENTIFIER ON
  9075. GO
  9076. CREATE proc [dbo].[spTransCustom]
  9077. (
  9078. @from char(3),
  9079. @to char(3)
  9080. )
  9081. as
  9082. begin
  9083. select 'Update cpmain set consultantid=' + @to + ' Where id = '+ltrim(str(id)) from cpmain where consultantid=@from
  9084. select 'Update caorder set manageruserid=' + @to + ' Where id='+ltrim(str(id)) from caorder where manageruserid=@from and opendate is null
  9085. select 'update contact set manageruserid=' + @to + ' where manageruserid=' + @from
  9086. end
  9087. GO
  9088. /****** Object: StoredProcedure [dbo].[spWxmessageSendByTempInsert] Script Date: 2018/12/13 19:13:28 ******/
  9089. SET ANSI_NULLS ON
  9090. GO
  9091. SET QUOTED_IDENTIFIER ON
  9092. GO
  9093. create procedure [dbo].[spWxmessageSendByTempInsert]
  9094. AS
  9095. BEGIN
  9096. --DROP TABLE #t
  9097. --drop table #wx
  9098. SELECT DISTINCT b.Id paMainId INTO #t
  9099. from maindb..wxfans a with(nolock),maindb..pamain b with(nolock) ,maindb..cvmain c with(nolock),
  9100. maindb..cveducation d with(nolock)
  9101. where a.pamainid=b.id and b.id=c.pamainid and c.id= d.cvmainid
  9102. and status=2
  9103. and d.graduation>201606
  9104. --AND b.dcProvinceId = 32
  9105. --update #t SET pamainid = 26974069
  9106. CREATE TABLE #wx(Id INT IDENTITY(1, 1), paMainId INT, Msg NVARCHAR(210),
  9107. WxFansId INT, OpenId VARCHAR(50), WxServiceNoID INT, paName NVARCHAR(6),
  9108. WebsiteName NVARCHAR(10), WxTemplateNo VARCHAR(100),
  9109. ParaValue VARCHAR(1000), JsonMessage VARCHAR(1000))
  9110. INSERT INTO #wx(paMainId, Msg, WxFansId, OpenId, wxServiceNoId)
  9111. SELECT a.paMainId, '你好,今日软通动力正在发放终面名额,这是一个进名企的捷径,赶紧抓住机会吧。软通动力是上市公司,智慧城市与产业互联网建设的领导者,创新型技术服务提供商', b.Id WxFansId, b.OpenId, b.wxServiceNoId
  9112. FROM #t a, WxFans b WITH(NOLOCK)
  9113. WHERE a.paMainId = b.paMainId
  9114. AND b.Status > 0
  9115. AND a.PaMainId > 0
  9116. UPDATE a SET a.paName = b.Name FROM #wx a, paMain b WITH(NOLOCK) WHERE a.paMainId = b.Id
  9117. UPDATE a SET a.WebsiteName = c.WebsiteName FROM #wx a, WxServiceNo b WITH(NOLOCK), dcprovince c WITH(NOLOCK) WHERE a.WxServiceNoId = b.Id AND b.ProvinceID = c.Id
  9118. UPDATE a SET a.WxTemplateNo = b.[no] FROM #wx a, WxTemplateNo b WITH(NOLOCK) WHERE a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 13
  9119. --插入参数数据
  9120. UPDATE #wx SET ParaValue = '"first":{ "value":"软通动力正在发放2017校招终面名额", "color":"#000000"}, "keyword1":{ "value":"直通终面", "color":"#004694"}, "keyword2":{ "value":"终面提醒", "color":"#004694"}, "remark":{ "value":"#JobDesc#", "color":"#004694"}'
  9121. --UPDATE #wx SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  9122. UPDATE #wx SET ParaValue = REPLACE(ParaValue, '#JobDesc#', Msg)
  9123. --UPDATE #wx SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  9124. UPDATE #wx SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"http://zhaopin.baidu.com/m/ztzm", "topcolor":"#000000", "data":{' + ParaValue + '}}'
  9125. --更新wxmessagesend中的message
  9126. -- INSERT INTO wxMessageSend2(TemplateType, WxfansId, paMainId, MessageText, ErrorNumber, AddDate)
  9127. SELECT 10, WxFansId, paMainId, JsonMessage, 0, GETDATE() FROM #wx
  9128. -- select * from wxmessagesend2 where TemplateType = 10 order by id desc
  9129. -- select * from #wx
  9130. -- select count(*) from wxmessagesend2 where TemplateType = 10 and senddate is null
  9131. END
  9132. GO
  9133. /****** Object: StoredProcedure [dbo].[synBeisenJobApplyByBeiSenResumeUpdate] Script Date: 2018/12/13 19:13:28 ******/
  9134. SET ANSI_NULLS ON
  9135. GO
  9136. SET QUOTED_IDENTIFIER ON
  9137. GO
  9138. CREATE PROCEDURE [dbo].[synBeisenJobApplyByBeiSenResumeUpdate]
  9139. (
  9140. @id INT,
  9141. @BeiSenResumeID VARCHAR(50),
  9142. @BeiSenResumeSyncId VARCHAR(50)
  9143. )
  9144. AS
  9145. SET NOCOUNT ON
  9146. BEGIN
  9147. UPDATE BeisenJobApply
  9148. SET BeiSenResumeID = @BeiSenResumeID,
  9149. BeiSenResumeSyncId = @BeiSenResumeSyncId,
  9150. BeisenHasApply = 1,
  9151. LastGetDate = GETDATE()
  9152. WHERE ID = @id
  9153. END
  9154. SET NOCOUNT OFF
  9155. GO
  9156. /****** Object: StoredProcedure [dbo].[tmpViewTableSIzeGrow] Script Date: 2018/12/13 19:13:29 ******/
  9157. SET ANSI_NULLS ON
  9158. GO
  9159. SET QUOTED_IDENTIFIER ON
  9160. GO
  9161. CREATE PROCEDURE [dbo].[tmpViewTableSIzeGrow]
  9162. AS
  9163. BEGIN
  9164. create table #t(
  9165. Name varchar(100),
  9166. Rows0810 int,
  9167. Rows0811 int,
  9168. Rows0812 int,
  9169. Rows0813 int,
  9170. Rows0814 int
  9171. )
  9172. INSERT #t(Name) SELECT DISTINCt TABLENAME FROM bsTableSizeLog
  9173. DECLARE @I int, @SQL VARCHAR(1000)
  9174. SET @i = 0
  9175. WHILE @I<5
  9176. BEGIN
  9177. SET @Sql = '
  9178. UPDATE a SET a.Rows081' + LTRIM(STR(@I)) + ' = b.Rows
  9179. FROM #t a, bsTableSizeLog b
  9180. WHERE a.Name=b.TableName
  9181. And b.coutDate = 2011081' + LTRIM(STR(@I))
  9182. Exec( @Sql)
  9183. SET @I=@I+1
  9184. END
  9185. select *, rows0814*1.0/rows0810
  9186. from #t
  9187. where rows0814>100000
  9188. order by rows0814*1.0/rows0810 desc
  9189. DROP TABle #t
  9190. END
  9191. GO
  9192. /****** Object: StoredProcedure [dbo].[updateDeleteFile] Script Date: 2018/12/13 19:13:29 ******/
  9193. SET ANSI_NULLS ON
  9194. GO
  9195. SET QUOTED_IDENTIFIER ON
  9196. GO
  9197. CREATE PROCEDURE [dbo].[updateDeleteFile]
  9198. @listID VARCHAR(1024)
  9199. as
  9200. begin
  9201. declare @i INT,@ID VARCHAR(50)
  9202. set @i = CHARINDEX(',',@listID)
  9203. while @i > 0
  9204. begin
  9205. set @ID = substring(@listID,1,@i-1)
  9206. update bsDeleteFile set IsDelete = 0
  9207. set @listID = substring(@listID,@i+1,len(@listID))
  9208. set @i = CHARINDEX(',',@listID)
  9209. end
  9210. end
  9211. GO
  9212. /****** Object: StoredProcedure [dbo].[v2018_ccCaMainByLastLoginDateUpdate] Script Date: 2018/12/13 19:13:29 ******/
  9213. SET ANSI_NULLS ON
  9214. GO
  9215. SET QUOTED_IDENTIFIER ON
  9216. GO
  9217. --#####################################################
  9218. --创建时间:2018-10-15
  9219. --创建人:Lucifer
  9220. --说明:更新企业登陆时间
  9221. --当天第一次登陆,更新DateReport.CompanyLoginNum_Net
  9222. --20是PC站回收 如果不是当天第一次登陆,不记录登陆时间
  9223. --#####################################################
  9224. CREATE PROCEDURE [dbo].[v2018_ccCaMainByLastLoginDateUpdate]
  9225. (
  9226. @caMainId INT,
  9227. @dcProvinceId INT,
  9228. @IP VARCHAR(31),
  9229. @LoginCookies VARCHAR(16),
  9230. @Browser VARCHAR(500),
  9231. @LoginFrom TINYINT
  9232. )
  9233. AS
  9234. SET NOCOUNT ON
  9235. BEGIN
  9236. DECLARE @cpMainId INT
  9237. SELECT @cpMainId = b.ID FROM cpMain a WITH(NOLOCK), caMain b WITH(NOLOCK) WHERE a.ID = b.cpMainId AND b.ID = @caMainId
  9238. IF @cpMainId IS NULL
  9239. RETURN
  9240. SET @IP = dbo.SafeSQL(@IP)
  9241. SET @Browser = dbo.SafeSQL(@Browser)
  9242. DECLARE @LoginTodayFirst BIT
  9243. SET @LoginTodayFirst = 0
  9244. --当天第一次登陆,更新DateReport.CompanyLoginNum_Net
  9245. IF NOT EXISTS(SELECT 'X' FROM caLoginLog WITH(NOLOCK) WHERE caMainID = @caMainID AND AddDate >= CONVERT(VARCHAR(10), GETDATE(), 120))
  9246. BEGIN
  9247. UPDATE DateReport
  9248. SET CompanyLoginNum_Net = CompanyLoginNum_Net + 1
  9249. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  9250. AND Province_Id = @dcProvinceId
  9251. SET @LoginTodayFirst = 1
  9252. END
  9253. --不是回收的或者第一次登陆的,插入登陆记录
  9254. IF @LoginFrom NOT IN(20) OR @LoginTodayFirst = 1
  9255. BEGIN
  9256. INSERT INTO caLoginLog(caMainID, cpMainName, caMainName, LoginIP, LoginCookies, Browser, LoginFrom)
  9257. SELECT b.ID, a.[Name], b.[Name], @IP, @LoginCookies, @Browser, @LoginFrom FROM cpMain a WITH(NOLOCK), caMain b WITH(NOLOCK)
  9258. WHERE a.ID = b.cpMainID AND b.ID = @caMainID
  9259. --更新cpMain的登陆时间
  9260. UPDATE cpMain SET
  9261. LastLoginDate = GETDATE(),
  9262. LastLoginIp = @IP,
  9263. LoginCount = ISNULL(LoginCount, 0) + 1
  9264. WHERE ID = @cpMainId
  9265. END
  9266. END
  9267. SET NOCOUNT OFF
  9268. GO
  9269. /****** Object: StoredProcedure [dbo].[v2018_ccCaMainByLoginUpdate] Script Date: 2018/12/13 19:13:29 ******/
  9270. SET ANSI_NULLS ON
  9271. GO
  9272. SET QUOTED_IDENTIFIER ON
  9273. GO
  9274. --#####################################################
  9275. --创建时间:2018.9.25
  9276. --创建人:Lucifer
  9277. --说明:企业用户登陆
  9278. -- -1 登陆次数超过限制
  9279. -- 0 数据错误
  9280. --#####################################################
  9281. CREATE PROCEDURE [dbo].[v2018_ccCaMainByLoginUpdate]
  9282. (
  9283. @caMainID INT,
  9284. @IP VARCHAR(31),
  9285. @LoginCookies VARCHAR(16),
  9286. @Browser VARCHAR(500),
  9287. @LoginFrom INT
  9288. )
  9289. AS
  9290. SET NOCOUNT ON
  9291. BEGIN TRAN
  9292. DECLARE
  9293. @cpMainID INT,
  9294. @dcProvinceID SMALLINT,
  9295. @DayLoginNumber INT,
  9296. @RefreshDate SMALLDATETIME,
  9297. @MemberType TINYINT,
  9298. @TodayLoginNumber INT
  9299. BEGIN TRY
  9300. IF @caMainID <>0
  9301. BEGIN
  9302. SELECT
  9303. @cpMainID = a.cpMainID,
  9304. @MemberType = b.MemberType,
  9305. @RefreshDate = b.RefreshDate,
  9306. @dcProvinceID = b.dcProvinceID
  9307. FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  9308. WHERE a.ID = @caMainID AND a.cpMainID = b.ID
  9309. END
  9310. --判断是否为死客户,如果为死客户,则激活
  9311. UPDATE bsDeadCompany SET ActiveDate = GETDATE() WHERE cpMainID = @cpMainID AND ActiveDate IS NULL
  9312. --VIP每天最大登陆次数30次,普通用户15次
  9313. IF @MemberType = 3
  9314. SET @DayLoginNumber = 30
  9315. ELSE
  9316. SET @DayLoginNumber = 15
  9317. SELECT @TodayLoginNumber = COUNT(1)
  9318. FROM caLoginLog WITH(NOLOCK)
  9319. WHERE caMainID = @caMainID
  9320. AND AddDate >= CONVERT(VARCHAR(10), GETDATE(), 120)
  9321. IF @TodayLoginNumber >= @DayLoginNumber
  9322. GOTO ERRMAX
  9323. --刷新今天未刷新的职位
  9324. UPDATE Job SET
  9325. RefreshDate = GETDATE()
  9326. WHERE caMainID = @caMainID
  9327. AND RefreshDate < CONVERT(VARCHAR(10), GETDATE(), 120)
  9328. AND Valid = 1
  9329. UPDATE cpMain SET
  9330. LoginCount = LoginCount + 1,
  9331. LastLoginDate = GETDATE(),
  9332. LastLoginIp = @IP
  9333. WHERE ID = @cpMainID
  9334. --更新企业刷新时间,间隔时间1小时
  9335. IF DATEDIFF(MINUTE, @RefreshDate, GETDATE()) > 59 --刷新时间如果超过1个小时,更新为当前时间
  9336. BEGIN TRY
  9337. UPDATE cpMain SET RefreshDate = GETDATE() WHERE ID = @cpMainID
  9338. IF @MemberType >= 2 OR (
  9339. @dcProvinceID NOT IN(32, 30, 31, 35, 10, 11, 12, 40) AND @MemberType = 1
  9340. )
  9341. BEGIN
  9342. --删除旧的,添加新的Snapshot
  9343. DELETE FROM SearchDB..cpMainHomepageSnapshot WHERE RealCpMainID = @cpMainID
  9344. DECLARE @LastJobIssueDate SMALLDATETIME, @LastJobId VARCHAR(20)
  9345. --获取最新发布的职位信息
  9346. SELECT TOP 1 @LastJobIssueDate = IssueDate, @LastJobId = SecondId
  9347. FROM Job WITH(NOLOCK)
  9348. WHERE cpMainID = @cpMainID AND Valid = 1
  9349. ORDER BY IssueDate DESC
  9350. INSERT SearchDB..cpMainHomepageSnapshot(dcSubsiteID, dcRegionID, cpMainID, [Name], IsAgent, JobNumber, JobID, JobName, LastJobIssueDate, LastJobId, MemberType, RealCpMainId, RefreshDate)
  9351. SELECT dcProvinceId, LEFT(dcRegionId, 4), SecondId, [Name], IsAgent, JobNumber, dbo.GetJobSecondIds(ID), dbo.GetJobNames(ID), @LastJobIssueDate, @LastJobId, MemberType, ID, RefreshDate
  9352. FROM cpMain WITH(NOLOCK)
  9353. WHERE ID = @cpMainID
  9354. END
  9355. END TRY
  9356. BEGIN CATCH
  9357. END CATCH
  9358. --记录每日登录数据
  9359. IF @TodayLoginNumber = 0
  9360. BEGIN
  9361. UPDATE DateReport SET
  9362. CompanyLoginNum_Net = CompanyLoginNum_Net + 1
  9363. WHERE Province_ID = @dcProvinceID
  9364. AND CountDate = CONVERT(VARCHAR(10), GETDATE(), 112)
  9365. END
  9366. --插入登陆日志
  9367. INSERT INTO caLoginLog(caMainID, cpMainName, caMainName, LoginIP, LoginCookies, Browser, LoginFrom)
  9368. SELECT b.ID, a.[Name], b.[Name], @IP, @LoginCookies, @Browser, @LoginFrom FROM cpMain a WITH(NOLOCK), caMain b WITH(NOLOCK)
  9369. WHERE a.ID = b.cpMainID AND b.ID = @caMainID
  9370. END TRY
  9371. BEGIN CATCH
  9372. GOTO ERR
  9373. END CATCH
  9374. COMMIT TRAN
  9375. RETURN 1
  9376. ERR:
  9377. BEGIN
  9378. ROLLBACK TRAN
  9379. RETURN 0
  9380. END
  9381. ERRMAX:
  9382. BEGIN
  9383. ROLLBACK TRAN
  9384. RETURN -1
  9385. END
  9386. SET NOCOUNT OFF
  9387. GO
  9388. /****** Object: StoredProcedure [dbo].[v2018_ccCaMainEmailCheck] Script Date: 2018/12/13 19:13:29 ******/
  9389. SET ANSI_NULLS ON
  9390. GO
  9391. SET QUOTED_IDENTIFIER ON
  9392. GO
  9393. --#####################################################
  9394. --创建: Lucifer
  9395. --检查: 2018-10-16
  9396. --检查邮箱是否可以注册
  9397. --0: 可以注册
  9398. --1: 重复
  9399. --2: 黑名单
  9400. --#####################################################
  9401. CREATE PROCEDURE [dbo].[v2018_ccCaMainEmailCheck]
  9402. (
  9403. @Email VARCHAR(50)
  9404. )
  9405. AS
  9406. SET NOCOUNT ON
  9407. BEGIN
  9408. UPDATE Company_Black SET
  9409. RefuseCount = RefuseCount + 1
  9410. WHERE Email = @Email
  9411. IF @@ROWCOUNT > 0
  9412. RETURN 2 --邮件在黑名单
  9413. --Email不可以和主用户的Email重复
  9414. IF EXISTS(
  9415. SELECT 'X' FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  9416. WHERE (b.RegisterMode = 0 Or b.RegisterMode = 11)
  9417. AND a.cpMainID = b.ID AND a.Email = @Email
  9418. AND b.IsDelete = 0 AND a.IsDelete = 0 AND a.AccountType = 1
  9419. )
  9420. BEGIN
  9421. RETURN 1
  9422. END
  9423. RETURN 0
  9424. END
  9425. GO
  9426. /****** Object: StoredProcedure [dbo].[v2018_ccCaMainUsernameCheck] Script Date: 2018/12/13 19:13:30 ******/
  9427. SET ANSI_NULLS ON
  9428. GO
  9429. SET QUOTED_IDENTIFIER ON
  9430. GO
  9431. --#####################################################
  9432. --创建: Lucifer
  9433. --检查: 2018-10-16
  9434. --检查用户名是否可以注册
  9435. --0: 可以注册
  9436. --1: 重复
  9437. --#####################################################
  9438. CREATE PROCEDURE [dbo].[v2018_ccCaMainUsernameCheck]
  9439. (
  9440. @Username VARCHAR(20)
  9441. )
  9442. AS
  9443. SET NOCOUNT ON
  9444. BEGIN
  9445. IF EXISTS(SELECT 'X' FROM caMain WITH(NOLOCK) WHERE UserNameLower = @Username)
  9446. RETURN 1
  9447. IF EXISTS(SELECT 'X' FROM Company_Xinxi WITH(NOLOCK) WHERE UserNameLower = @Username)
  9448. RETURN 1
  9449. RETURN 0
  9450. END
  9451. GO
  9452. /****** Object: StoredProcedure [dbo].[v2018_ccCaVerifyLogInsert] Script Date: 2018/12/13 19:13:30 ******/
  9453. SET ANSI_NULLS ON
  9454. GO
  9455. SET QUOTED_IDENTIFIER ON
  9456. GO
  9457. --####################################################
  9458. --添加人:Lucifer
  9459. --添加时间:2018-6-27
  9460. --描述:获取短信/邮件验证码
  9461. --返回值 -1 一天同一IP验证超过10次
  9462. -- -2 一天同一手机号验证超过5次
  9463. -- -3 5分钟内同一手机号超过3次
  9464. -- -4 手机号黑名单
  9465. --####################################################
  9466. CREATE PROCEDURE [dbo].[v2018_ccCaVerifyLogInsert]
  9467. (
  9468. @Mobile VARCHAR(11),
  9469. @IP VARCHAR(31),
  9470. @caMainID INT
  9471. )
  9472. AS
  9473. SET NOCOUNT ON
  9474. BEGIN
  9475. SET @Mobile = dbo.v2018_SetVarcharNull(@Mobile)
  9476. IF EXISTS(SELECT 'X' FROM Company_Black WITH(NOLOCK) WHERE Mobile = @Mobile)
  9477. RETURN -4
  9478. IF EXISTS(SELECT 'X' FROM tmp_LimitMobile WITH(NOLOCK) WHERE Mobile = @Mobile)
  9479. RETURN -4
  9480. IF CHARINDEX(', ', @IP) > 0
  9481. SET @IP = RIGHT(@IP, LEN(@IP) - CHARINDEX(', ', @IP))
  9482. DECLARE @VerifyCount SMALLINT
  9483. SELECT @VerifyCount = COUNT(1) FROM caVerifyLog WITH(NOLOCK)
  9484. WHERE [IP] = @IP
  9485. AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  9486. IF @VerifyCount >= 10 AND @IP <> '60.215.144.163' --一天同一IP验证超过10次
  9487. RETURN -1
  9488. SELECT @VerifyCount = COUNT(1) FROM caVerifyLog WITH(NOLOCK)
  9489. WHERE Mobile = @Mobile
  9490. AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  9491. IF @VerifyCount >= 5 --一天同一手机号验证超过5次
  9492. RETURN -2
  9493. SELECT @VerifyCount = COUNT(1) FROM caVerifyLog WITH(NOLOCK)
  9494. WHERE Mobile = @Mobile
  9495. AND AddDate > DATEADD(MINUTE, -5, GETDATE())
  9496. IF @VerifyCount >= 3 --5分钟内同一手机号超过3次
  9497. RETURN -3
  9498. DECLARE @VerifyCode VARCHAR(6)
  9499. SELECT @VerifyCode = RAND() * 899999 + 100000
  9500. INSERT INTO caVerifyLog(caMainID, Mobile, VerifyCode, VerifyDate, AddDate, [IP])
  9501. VALUES(@caMainID, @Mobile, @VerifyCode, NULL, GETDATE(), @IP)
  9502. RETURN @VerifyCode
  9503. END
  9504. SET NOCOUNT OFF
  9505. GO
  9506. /****** Object: StoredProcedure [dbo].[v2018_ccCaVerifyLogUpdate] Script Date: 2018/12/13 19:13:30 ******/
  9507. SET ANSI_NULLS ON
  9508. GO
  9509. SET QUOTED_IDENTIFIER ON
  9510. GO
  9511. --####################################################
  9512. --添加人:Lucifer
  9513. --添加时间:2018-10-16
  9514. --描述:验证企业认证码,并做相应操作
  9515. --CerType 1 手机号认证 UPDATE caMain
  9516. -- 2 手机号注册
  9517. --返回值 -1 认证失败
  9518. -- >=0 返回caMainID
  9519. --####################################################
  9520. CREATE PROCEDURE [dbo].[v2018_ccCaVerifyLogUpdate]
  9521. (
  9522. @Mobile VARCHAR(11),
  9523. @CerCode VARCHAR(6),
  9524. @CerType TINYINT
  9525. )
  9526. AS
  9527. SET NOCOUNT ON
  9528. BEGIN
  9529. SET @Mobile = dbo.v2018_SetVarcharNull(@Mobile)
  9530. IF @Mobile IS NULL
  9531. BEGIN
  9532. RETURN -1
  9533. END
  9534. DECLARE @caMainID INT
  9535. DECLARE @caVerifyLogID INT
  9536. SELECT TOP 1 @caMainID = caMainID, @caVerifyLogID = ID
  9537. FROM caVerifyLog WITH(NOLOCK)
  9538. WHERE Mobile = @Mobile
  9539. AND VerifyCode = @CerCode
  9540. AND VerifyDate IS NULL
  9541. AND AddDate > DATEADD(HOUR, -1, GETDATE())
  9542. ORDER BY ID DESC
  9543. IF @caVerifyLogID IS NULL --验证码错误
  9544. BEGIN
  9545. RETURN -1
  9546. END
  9547. UPDATE caVerifyLog SET
  9548. VerifyDate = GETDATE()
  9549. WHERE ID = @caVerifyLogID
  9550. IF @CerType = 1 --手机号认证
  9551. BEGIN
  9552. UPDATE caMain SET
  9553. Mobile = @Mobile,
  9554. MobileVerifyDate = GETDATE()
  9555. WHERE ID = @caMainID
  9556. END
  9557. RETURN @caMainID
  9558. END
  9559. SET NOCOUNT OFF
  9560. GO
  9561. /****** Object: StoredProcedure [dbo].[v2018_ccCpMainInsert] Script Date: 2018/12/13 19:13:30 ******/
  9562. SET ANSI_NULLS ON
  9563. GO
  9564. SET QUOTED_IDENTIFIER ON
  9565. GO
  9566. --#####################################################
  9567. --创建: Lucifer
  9568. --检查: 2018-10-16
  9569. --注册企业用户
  9570. --ERR: IP在黑名单
  9571. --ERR1:企业名称在黑名单
  9572. --ERR2:邮箱在黑名单
  9573. --ERR3:用户名重复
  9574. --ERR4:注册频繁
  9575. --ERR5:邮箱不可以和主用户的邮箱重复
  9576. --#####################################################
  9577. CREATE PROCEDURE [dbo].[v2018_ccCpMainInsert]
  9578. (
  9579. @Name VARCHAR(100),
  9580. @Email VARCHAR(50),
  9581. @Username VARCHAR(20),
  9582. @Password VARCHAR(60),
  9583. @PlainPassword VARCHAR(20),
  9584. @CaName NVARCHAR(6),
  9585. @Mobile VARCHAR(11),
  9586. @Telephone VARCHAR(25),
  9587. @dcProvinceID TINYINT,
  9588. @RegisterIP VARCHAR(31),
  9589. @Url_ID INT,
  9590. @cpMainID INT OUTPUT,
  9591. @caMainID INT OUTPUT
  9592. )
  9593. AS
  9594. SET NOCOUNT ON
  9595. BEGIN
  9596. SET @cpMainID = 0
  9597. SET @caMainID = 0
  9598. --IP在黑名单
  9599. IF EXISTS(SELECT 'X' FROM Ip_Black WITH(NOLOCK) WHERE [IP] = @RegisterIP)
  9600. GOTO ERR
  9601. --在IP限制名单里
  9602. IF EXISTS(SELECT 'X' FROM Tmp_LimitIP WITH(NOLOCK) WHERE LastLoginIp = @RegisterIP)
  9603. GOTO ERR
  9604. UPDATE Company_Black SET
  9605. RefuseCount = RefuseCount + 1
  9606. WHERE CHARINDEX(LTRIM(RTRIM(CompanyName)), @Name) > 0
  9607. IF @@ROWCOUNT > 0
  9608. GOTO ERR1 --企业名称在黑名单
  9609. DECLARE @Return INT
  9610. EXEC @Return = v2018_ccCaMainEmailCheck @Email
  9611. IF @Return = 2
  9612. GOTO ERR2 --邮箱在黑名单
  9613. ELSE IF @Return = 1
  9614. GOTO ERR5 --邮箱不可以和主用户的邮箱重复
  9615. EXEC @Return = v2018_ccCaMainUsernameCheck @Username
  9616. IF @Return = 1
  9617. GOTO ERR3 --用户名重复
  9618. --如果是非工作时间,则检查是否有重复注册
  9619. IF(DATEPART(HOUR, GETDATE()) > 17 OR DATEPART(HOUR, GETDATE()) < 8)
  9620. BEGIN
  9621. --10分钟内企业名称重复,认为是恶意注册
  9622. IF EXISTS(SELECT 'X' FROM cpMain WITH(NOLOCK) WHERE RegDate > DATEADD(MINUTE, -10, GETDATE()) AND [Name] LIKE '%' + @Name + '%')
  9623. GOTO ERR4
  9624. --3分钟内注册Ip重复,认为是恶意注册
  9625. IF EXISTS(SELECT 'X' FROM cpMain WITH(NOLOCK) WHERE RegDate > DATEADD(MINUTE, -3, GETDATE()) AND LastLoginIp = @RegisterIP)
  9626. GOTO ERR4
  9627. END
  9628. --3分钟内同一IP注册数量超过3个
  9629. IF (SELECT COUNT(*) FROM cpMain WITH(NOLOCK) WHERE RegDate > DATEADD(MINUTE, -3, GETDATE()) AND LastLoginIp = @RegisterIP) > 3
  9630. GOTO ERR4
  9631. --检查通过,增加到企业表
  9632. BEGIN TRAN
  9633. --企业表
  9634. INSERT INTO cpMain(dcProvinceID, dcRegionID, dcSubSiteID, RegisterIP, [Name], RegDate, RegisterMode, RefreshDate, LoginCount, LastLoginDate, LastLoginIP)
  9635. VALUES(@dcProvinceID, @dcProvinceID, @dcProvinceID, @RegisterIP, @Name, GETDATE(), 0 , GETDATE(), 1, GETDATE(), @RegisterIP)
  9636. SET @cpMainID = SCOPE_IDENTITY()
  9637. --账号表
  9638. INSERT INTO caMain(cpMainID, Email, AccountType, UserName, [Password], [Name], Mobile, Telephone)
  9639. VALUES(@cpMainID, @Email, 1, @UserName, @Password, @CaName, @Mobile, @Telephone)
  9640. SET @caMainID = SCOPE_IDENTITY()
  9641. --记录原密码
  9642. INSERT INTO caPlainPassword(caMainId, PlainPassWord) SELECT @caMainID, @PlainPassword
  9643. --更新手机号认证
  9644. UPDATE caMain SET
  9645. MobileVerifyDate = GETDATE()
  9646. WHERE ID = @caMainID AND EXISTS(SELECT TOP 1 'X' FROM caVerifyLog WHERE VerifyDate > DATEAdd(n, -1, GETDATE()) AND Mobile = caMain.Mobile)
  9647. ----Company_Xinxi处理, 160天内计算工作量,超过160天不计算工作量
  9648. DECLARE @Company_XinxiID INT,
  9649. @AddMan SMALLINT,
  9650. @RegDate SMALLDATETIME,
  9651. @Resume_Xinxi_ProvinceID TINYINT,
  9652. @IsHistory BIT
  9653. SELECT @Company_XinxiID = ID, @AddMan = AddMan, @RegDate = RegDate,
  9654. @IsHistory = IsHistory
  9655. FROM Company_Xinxi WITH(NOLOCK)
  9656. WHERE Email = @Email
  9657. AND Province_ID = @dcProvinceID
  9658. ORDER BY IsHistory, RegDate DESC
  9659. --日报表, 信息员推广注册,IsHistory = 0的作为推广ValidCompany
  9660. IF @Company_XinxiID IS NOT NULL AND @AddMan > 1 AND @Ishistory = 0
  9661. BEGIN
  9662. UPDATE cpMain SET AddMan = @AddMan, RegisterMode = 1 WHERE ID = @cpMainID
  9663. --记录信息员工作量
  9664. --判断是否有该行记录,没有则增加
  9665. IF NOT EXISTS(
  9666. SELECT 'X' FROM Info_DateReport WITH(NOLOCK)
  9667. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND Province_ID = @dcProvinceID AND InfoManager_ID = @AddMan
  9668. )
  9669. BEGIN
  9670. INSERT INTO Info_DateReport(Province_ID, InfoManager_ID, CountDate)
  9671. VALUES(@dcProvinceID, @AddMan, CONVERT(VARCHAR(8), GETDATE(), 112))
  9672. END
  9673. --记录数据,信息员工作量 + 1
  9674. UPDATE Info_DateReport SET
  9675. ValidCompany = ValidCompany + 1
  9676. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  9677. AND Province_ID = @dcProvinceID
  9678. AND InfoManager_ID = @AddMan
  9679. --推广的企业数量+1
  9680. UPDATE DateReport SET
  9681. ValidCompany = ValidCompany + 1
  9682. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  9683. AND Province_ID = @dcProvinceID
  9684. END
  9685. ELSE
  9686. BEGIN
  9687. --企业注册数量+1
  9688. UPDATE DateReport SET
  9689. CompanyRegNum = CompanyRegNum + 1
  9690. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  9691. AND Province_ID = @dcProvinceID
  9692. END
  9693. --来源注册
  9694. IF @Url_ID > 0
  9695. BEGIN
  9696. UPDATE Url
  9697. SET AllCompany = AllCompany + 1, TodayCompany = TodayCompany + 1
  9698. WHERE ID = @Url_ID
  9699. UPDATE cpMain SET RegisterSourceId = @Url_Id WHERE ID = @cpMainID
  9700. END
  9701. --后台审核
  9702. INSERT INTO bsCpModify (cpMainID, caMainID, [Location], ColValue) VALUES(@cpMainID, @caMainID, 'a1', @Name)
  9703. --顾问分配
  9704. EXEC ccCpMainByConsultantAssignUpdate @cpMainID, @dcProvinceID
  9705. COMMIT TRAN
  9706. RETURN 1
  9707. END
  9708. ERR: --IP在黑名单
  9709. BEGIN
  9710. RETURN 0
  9711. END
  9712. ERR1: --企业名称在黑名单
  9713. BEGIN
  9714. RETURN -1
  9715. END
  9716. ERR2: --邮箱在黑名单
  9717. BEGIN
  9718. RETURN -2
  9719. END
  9720. ERR3: --用户名重复
  9721. BEGIN
  9722. RETURN -3
  9723. END
  9724. ERR4: --注册频繁
  9725. BEGIN
  9726. RETURN -4
  9727. END
  9728. ERR5: --邮箱不可以和主用户的邮箱重复
  9729. BEGIN
  9730. RETURN -5
  9731. END
  9732. GO
  9733. /****** Object: StoredProcedure [dbo].[v2018_ccCpModifyInsert] Script Date: 2018/12/13 19:13:31 ******/
  9734. SET ANSI_NULLS ON
  9735. GO
  9736. SET QUOTED_IDENTIFIER ON
  9737. GO
  9738. --#########################################################
  9739. --添加人 Lucifer
  9740. --添加时间 2018-6-25
  9741. --用途 企业待审核数据插入
  9742. --#########################################################
  9743. CREATE PROCEDURE [dbo].[v2018_ccCpModifyInsert]
  9744. (
  9745. @cpMainID INT,
  9746. @caMainID INT,
  9747. @SubID INT,
  9748. @Value VARCHAR(MAX),
  9749. @ValueOld VARCHAR(MAX),
  9750. @ColType VARCHAR(5)
  9751. )
  9752. AS
  9753. SET NOCOUNT ON
  9754. BEGIN
  9755. SET @Value = dbo.v2018_SetVarcharNull(@Value)
  9756. SET @ValueOld = dbo.v2018_SetVarcharNull(@ValueOld)
  9757. --插入待审核记录
  9758. DELETE FROM bsCpModify WHERE cpMainID = @cpMainID AND caMainID = @caMainID AND ISNULL(SubID, 0) = ISNULL(@SubID, 0) AND [Location] = @ColType
  9759. IF @Value <> ISNULL(@ValueOld, '') AND @Value IS NOT NULL
  9760. BEGIN
  9761. INSERT INTO bsCpModify(cpMainID, caMainID, SubID, [Location], ColValue) VALUES(@cpMainID, @caMainID, @SubID, @ColType, @Value)
  9762. END
  9763. END
  9764. SET NOCOUNT OFF
  9765. GO
  9766. /****** Object: StoredProcedure [dbo].[v2018_ccJobIssue] Script Date: 2018/12/13 19:13:31 ******/
  9767. SET ANSI_NULLS ON
  9768. GO
  9769. SET QUOTED_IDENTIFIER ON
  9770. GO
  9771. --#########################################################
  9772. --添加人 Lucifer
  9773. --添加时间 2018-11-6
  9774. --用途 职位发布
  9775. --返回 0 发布成功
  9776. -- 1 发布失败
  9777. --#########################################################
  9778. CREATE PROCEDURE [dbo].[v2018_ccJobIssue]
  9779. (
  9780. @cpMainID INT,
  9781. @JobID INT,
  9782. @IssueEnd SMALLDATETIME,
  9783. @IP VARCHAR(50)
  9784. )
  9785. AS
  9786. SET NOCOUNT ON
  9787. --BEGIN TRAN
  9788. --BEGIN TRY
  9789. IF NOT EXISTS(SELECT 'X' FROM Job WITH(NOLOCK) WHERE ID = @JobID AND cpMainID = @cpMainID)
  9790. GOTO ERR
  9791. DECLARE @IssueDate SMALLDATETIME
  9792. SET @IssueDate = DATEADD(MINUTE, -1, GETDATE())
  9793. IF @IssueEnd < GETDATE()
  9794. BEGIN
  9795. SET @IssueEnd = DATEADD(MONTH, 2, GETDATE())
  9796. END
  9797. SET @IssueEnd = CONVERT(VARCHAR(10), @IssueEnd, 120) + ' 23:59'
  9798. DECLARE @CurrentIssueEnd SMALLDATETIME
  9799. SELECT @CurrentIssueEnd = ISNULL(IssueEnd, @IssueDate) FROM Job WITH(NOLOCK) WHERE ID = @JobID
  9800. --现在正在发布的,直接修改不用判断
  9801. IF @CurrentIssueEnd > GETDATE()
  9802. BEGIN
  9803. UPDATE Job SET
  9804. IssueDate = @IssueDate,
  9805. IssueEnd = @IssueEnd
  9806. WHERE ID = @JobID
  9807. END
  9808. ELSE
  9809. BEGIN
  9810. --不是正在发布的,需要先判断是否超过最大职位数
  9811. IF EXISTS(SELECT 'X' FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID AND MaxJobNumber <= JobNumber)
  9812. BEGIN
  9813. RETURN 0
  9814. END
  9815. UPDATE Job SET
  9816. IssueDate = @IssueDate,
  9817. IssueEnd = @IssueEnd
  9818. WHERE ID = @JobID
  9819. --插入发布的操作日志
  9820. INSERT INTO caOperationLog(caMainID, Operation, Details, [IP])
  9821. SELECT TOP 1 caMainID, 40, '发布职位:编号<' + LTRIM(STR(ID)) + '>职位名称<' + [Name] +'>,有效期至' + CONVERT(VARCHAR(19), @IssueEnd, 120) + '。', @IP
  9822. FROM Job WITH(NOLOCK)
  9823. WHERE ID = @JobID
  9824. --插入APP推送日志
  9825. INSERT INTO paPushLog(paMainID, PushMessage, PushType, DetailID)
  9826. SELECT PaMainID, '亲,您关注的企业发布新职位啦!', 6, @JobID FROM paAttention
  9827. WHERE AttentionType = 1 AND AttentionID = @cpMainId AND EXISTS(
  9828. SELECT 'X' FROM paIosBind WHERE paMainID = paAttention.paMainID
  9829. )
  9830. END
  9831. --END TRY
  9832. --BEGIN CATCH
  9833. -- GOTO ERR
  9834. --END CATCH
  9835. --COMMIT TRAN
  9836. RETURN 1
  9837. ERR:
  9838. BEGIN
  9839. --ROLLBACK TRAN
  9840. RETURN 0
  9841. END
  9842. SET NOCOUNT OFF
  9843. GO
  9844. /****** Object: StoredProcedure [dbo].[v2018_ccJobSave] Script Date: 2018/12/13 19:13:31 ******/
  9845. SET ANSI_NULLS ON
  9846. GO
  9847. SET QUOTED_IDENTIFIER ON
  9848. GO
  9849. --#####################################################
  9850. --创建时间:2018.11.6
  9851. --创建人:Lucifer
  9852. --说明:保存职位信息
  9853. --返回值: -1 职位名称重复
  9854. -- -2 发布失败
  9855. -- 0 操作人不是自己或管理员
  9856. -- >0 保存成功
  9857. --#####################################################
  9858. CREATE PROCEDURE [dbo].[v2018_ccJobSave]
  9859. (
  9860. @OperatorID INT,
  9861. @ID INT,
  9862. @cpMainID INT,
  9863. @caMainID INT,
  9864. @Name VARCHAR(50),
  9865. @dcJobTypeID INT,
  9866. @dcJobTypeIDMinor INT,
  9867. @NeedNumber SMALLINT,
  9868. @dcSalaryID TINYINT,
  9869. @dcSalaryMaxID TINYINT,
  9870. @Negotiable BIT,
  9871. @EmployType TINYINT,
  9872. @dcRegionID VARCHAR(6),
  9873. @Lng DECIMAL(8, 5),
  9874. @Lat DECIMAL(8, 5),
  9875. @Responsibility VARCHAR(MAX),
  9876. @Demand VARCHAR(MAX),
  9877. @dcEducationID TINYINT,
  9878. @MinExperience TINYINT,
  9879. @MinAge TINYINT,
  9880. @MaxAge TINYINT,
  9881. @EMailSendFreq INT,
  9882. @EMailSendNumber TINYINT,
  9883. @IssueEnd SMALLDATETIME,
  9884. @FilterMaxDegree TINYINT,
  9885. @FilterMinDegree TINYINT,
  9886. @FilterMaxWorkYear TINYINT,
  9887. @FilterMinWorkYear TINYINT,
  9888. @FilterMaxAge TINYINT,
  9889. @FilterMinAge TINYINT,
  9890. @FilterGender VARCHAR(1),
  9891. @FilterJobRegion VARCHAR(6),
  9892. @ForwardEmail VARCHAR(100),
  9893. @JobTags VARCHAR(MAX),
  9894. @Promotion NVARCHAR(100),
  9895. @Welfare VARCHAR(100),
  9896. @IP VARCHAR(50)
  9897. )
  9898. AS
  9899. SET NOCOUNT ON
  9900. --BEGIN TRAN
  9901. --操作人不是自己或管理员
  9902. IF @OperatorID <> (SELECT ID FROM caMain WITH(NOLOCK) WHERE cpMainID = @cpMainID AND AccountType = 1) AND @OperatorID <> @caMainID
  9903. RETURN 0
  9904. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  9905. --同一公司同一地区 职位名称不能重复
  9906. IF EXISTS(SELECT TOP 1 'X' FROM Job WITH(NOLOCK)
  9907. WHERE [Name] = @Name
  9908. AND dcRegionId = @dcRegionID
  9909. AND cpMainId = @cpMainID
  9910. AND ID <> @ID
  9911. AND IsDelete = 0
  9912. )
  9913. BEGIN
  9914. RETURN -1
  9915. END
  9916. SET @Demand = dbo.v2018_SetVarcharNull(@Demand)
  9917. SET @Responsibility = dbo.v2018_SetVarcharNull(@Responsibility)
  9918. SET @FilterJobRegion = dbo.v2018_SetVarcharNull(@FilterJobRegion)
  9919. SET @ForwardEmail = dbo.v2018_SetVarcharNull(@ForwardEmail)
  9920. SET @JobTags = dbo.v2018_SetVarcharNull(@JobTags)
  9921. SET @Promotion = dbo.v2018_SetVarcharNull(@Promotion)
  9922. SET @Welfare = dbo.v2018_SetVarcharNull(@Welfare)
  9923. SET @dcJobTypeIDMinor = dbo.v2018_SetIntNull(@dcJobTypeIDMinor)
  9924. SET @MinAge = dbo.v2018_SetIntNull(@MinAge)
  9925. SET @MaxAge = dbo.v2018_SetIntNull(@MaxAge)
  9926. SET @EMailSendNumber = dbo.v2018_SetIntNull(@EMailSendNumber)
  9927. SET @FilterMaxDegree = dbo.v2018_SetIntNull(@FilterMaxDegree)
  9928. SET @FilterMinDegree = dbo.v2018_SetIntNull(@FilterMinDegree)
  9929. SET @FilterMaxWorkYear = dbo.v2018_SetIntNull(@FilterMaxWorkYear)
  9930. SET @FilterMinWorkYear = dbo.v2018_SetIntNull(@FilterMinWorkYear)
  9931. SET @FilterMaxAge = dbo.v2018_SetIntNull(@FilterMaxAge)
  9932. SET @FilterMinAge = dbo.v2018_SetIntNull(@FilterMinAge)
  9933. SET @FilterGender = dbo.v2018_SetIntNull(@FilterGender)
  9934. DECLARE @NameOld NVARCHAR(60), @ResponsibilityOld VARCHAR(MAX), @DemandOld VARCHAR(MAX)
  9935. --BEGIN TRY
  9936. IF @ID > 0
  9937. BEGIN
  9938. SELECT
  9939. @NameOld = [Name],
  9940. @ResponsibilityOld = Responsibility,
  9941. @DemandOld = Demand
  9942. FROM Job WITH(NOLOCK)
  9943. WHERE ID = @ID
  9944. UPDATE Job SET
  9945. [Name] = @Name,
  9946. dcJobTypeID = @dcJobTypeID,
  9947. dcJobTypeIDMinor = @dcJobTypeIDMinor,
  9948. NeedNumber = @NeedNumber,
  9949. dcSalaryID = @dcSalaryID,
  9950. dcSalaryIdMax = @dcSalaryMaxID,
  9951. Negotiable = @Negotiable,
  9952. EmployType = @EmployType,
  9953. dcRegionID = @dcRegionID,
  9954. Lng = @Lng,
  9955. Lat = @Lat,
  9956. Responsibility = @Responsibility,
  9957. Demand = @Demand,
  9958. dcEducationID = @dcEducationID,
  9959. MinExperience = @MinExperience,
  9960. MinAge = @MinAge,
  9961. MaxAge = @MaxAge,
  9962. EMailSendFreq = @EMailSendFreq,
  9963. RefreshDate = GETDATE(),
  9964. LastModifyDate = GETDATE(),
  9965. FilterMaxDegree = @FilterMaxDegree,
  9966. FilterMinDegree = @FilterMinDegree,
  9967. FilterMaxWorkYear = @FilterMaxWorkYear,
  9968. FilterMinWorkYear = @FilterMinWorkYear,
  9969. FilterMaxAge = @FilterMaxAge,
  9970. FilterMinAge = @FilterMinAge,
  9971. FilterGender = @FilterGender,
  9972. FilterJobRegion = @FilterJobRegion,
  9973. ForwardEmail = @ForwardEmail,
  9974. Promotion = @Promotion
  9975. WHERE ID = @ID
  9976. END
  9977. ELSE
  9978. BEGIN
  9979. INSERT INTO Job
  9980. (
  9981. cpMainID, caMainID, Name, dcJobTypeID, dcJobTypeIDMinor,
  9982. NeedNumber, dcSalaryID, EmployType, dcRegionID, Lng, Lat,
  9983. Responsibility, Demand, dcEducationID, MinExperience,
  9984. MinAge, MaxAge, EMailSendFreq,
  9985. AddDate, LastModifyDate, RefreshDate, IssueDate, IssueEnd,
  9986. FilterMaxDegree, FilterMinDegree, FilterMaxWorkYear, FilterMinWorkYear,
  9987. FilterMaxAge, FilterMinAge, FilterGender, FilterJobRegion,
  9988. ForwardEmail, dcSalaryIdMax, Negotiable, Promotion
  9989. )
  9990. VALUES
  9991. (
  9992. @cpMainID, @caMainID, @Name, @dcJobTypeID, @dcJobTypeIDMinor,
  9993. @NeedNumber, @dcSalaryID, @EmployType, @dcRegionID, @Lng, @Lat,
  9994. @Responsibility, @Demand, @dcEducationID, @MinExperience,
  9995. @MinAge, @MaxAge, dbo.BinToINT(@EMailSendFreq),
  9996. GETDATE(), GETDATE(), GETDATE(), DATEADD(MINUTE, -1, GETDATE()), DATEADD(MINUTE, -1, GETDATE()),
  9997. @FilterMaxDegree, @FilterMinDegree, @FilterMaxWorkYear, @FilterMinWorkYear,
  9998. @FilterMaxAge, @FilterMinAge, @FilterGender, @FilterJobRegion,
  9999. @ForwardEmail, @dcSalaryMaxID, @Negotiable, @Promotion
  10000. )
  10001. SET @ID = SCOPE_IDENTITY()
  10002. END
  10003. --添加审核记录
  10004. EXEC v2018_ccCpModifyInsert @cpMainID, @caMainID, @ID, @Name, @NameOld, 'c1'
  10005. EXEC v2018_ccCpModifyInsert @cpMainID, @caMainID, @ID, @Responsibility, @ResponsibilityOld, 'c2'
  10006. EXEC v2018_ccCpModifyInsert @cpMainID, @caMainID, @ID, @Demand, @DemandOld, 'c3'
  10007. --更新福利待遇
  10008. CREATE TABLE #Welfare
  10009. (
  10010. ID INT IDENTITY,
  10011. Welfare CHAR(1)
  10012. )
  10013. INSERT INTO #Welfare(Welfare)
  10014. SELECT a FROM dbo.Split(@Welfare,'@')
  10015. UPDATE Job SET
  10016. Welfare1 = (SELECT Welfare FROM #Welfare WHERE ID = 1),
  10017. Welfare2 = (SELECT Welfare FROM #Welfare WHERE ID = 2),
  10018. Welfare3 = (SELECT Welfare FROM #Welfare WHERE ID = 3),
  10019. Welfare4 = (SELECT Welfare FROM #Welfare WHERE ID = 4),
  10020. Welfare5 = (SELECT Welfare FROM #Welfare WHERE ID = 5),
  10021. Welfare6 = (SELECT Welfare FROM #Welfare WHERE ID = 6),
  10022. Welfare7 = (SELECT Welfare FROM #Welfare WHERE ID = 7),
  10023. Welfare8 = (SELECT Welfare FROM #Welfare WHERE ID = 8),
  10024. Welfare9 = (SELECT Welfare FROM #Welfare WHERE ID = 9),
  10025. Welfare10 = (SELECT Welfare FROM #Welfare WHERE ID = 10),
  10026. Welfare11 = (SELECT Welfare FROM #Welfare WHERE ID = 11),
  10027. Welfare12 = (SELECT Welfare FROM #Welfare WHERE ID = 12),
  10028. Welfare13 = (SELECT Welfare FROM #Welfare WHERE ID = 13),
  10029. Welfare14 = (SELECT Welfare FROM #Welfare WHERE ID = 14),
  10030. Welfare15 = (SELECT Welfare FROM #Welfare WHERE ID = 15),
  10031. Welfare16 = (SELECT Welfare FROM #Welfare WHERE ID = 16),
  10032. Welfare17 = (SELECT Welfare FROM #Welfare WHERE ID = 17),
  10033. Welfare18 = (SELECT Welfare FROM #Welfare WHERE ID = 18),
  10034. Welfare19 = (SELECT Welfare FROM #Welfare WHERE ID = 19)
  10035. WHERE ID = @ID
  10036. DROP TABLE #Welfare
  10037. --更新职位诱惑
  10038. DELETE FROM JobTags WHERE JobID = @ID
  10039. IF LEN(@JobTags) > 0
  10040. BEGIN
  10041. CREATE TABLE #Tags
  10042. (
  10043. ID INT IDENTITY,
  10044. Tags NVARCHAR(10),
  10045. VerifyDate SMALLDATETIME
  10046. )
  10047. INSERT INTO #Tags(Tags)
  10048. SELECT a FROM dbo.Split(@JobTags,'@')
  10049. --最多5个
  10050. DELETE FROM #Tags WHERE ID > 5
  10051. --审核过的不再重新审核
  10052. UPDATE #Tags SET
  10053. VerifyDate = GETDATE()
  10054. WHERE EXISTS(
  10055. SELECT TOP 1 'X'
  10056. FROM JobTags WITH(NOLOCK)
  10057. WHERE Tags = #Tags.Tags
  10058. AND VerifyDate IS NOT NULL
  10059. ORDER BY ID
  10060. )
  10061. --插入
  10062. INSERT INTO JobTags(JobID, Tags, VerifyDate)
  10063. SELECT @ID, Tags, VerifyDate FROM #Tags
  10064. DROP TABLE #Tags
  10065. END
  10066. --END TRY
  10067. --BEGIN CATCH
  10068. -- GOTO ERR
  10069. --END CATCH
  10070. --COMMIT TRAN
  10071. --发布职位
  10072. BEGIN
  10073. DECLARE @Return INT
  10074. EXEC @Return = v2018_ccJobIssue @cpMainID, @ID, @IssueEnd, @IP
  10075. IF @Return = 0
  10076. RETURN -2
  10077. END
  10078. RETURN @ID
  10079. ERR:
  10080. BEGIN
  10081. --ROLLBACK TRAN
  10082. RETURN 0
  10083. END
  10084. SET NOCOUNT OFF
  10085. GO
  10086. /****** Object: StoredProcedure [dbo].[v2018_ccJobTemplateSave] Script Date: 2018/12/13 19:13:31 ******/
  10087. SET ANSI_NULLS ON
  10088. GO
  10089. SET QUOTED_IDENTIFIER ON
  10090. GO
  10091. --#####################################################
  10092. --创建时间:2018.11.6
  10093. --创建人:Lucifer
  10094. --说明:保存职位模板
  10095. --返回值: 0 保存失败
  10096. -- >0 保存成功
  10097. --#####################################################
  10098. CREATE PROCEDURE [dbo].[v2018_ccJobTemplateSave]
  10099. (
  10100. @ID INT,
  10101. @cpMainID INT,
  10102. @caMainID INT,
  10103. @Name VARCHAR(50),
  10104. @dcJobTypeID INT,
  10105. @dcJobTypeIDMinor INT,
  10106. @NeedNumber SMALLINT,
  10107. @dcSalaryID TINYINT,
  10108. @dcSalaryMaxID TINYINT,
  10109. @Negotiable BIT,
  10110. @EmployType TINYINT,
  10111. @dcRegionID VARCHAR(6),
  10112. @Lng DECIMAL(8, 5),
  10113. @Lat DECIMAL(8, 5),
  10114. @Responsibility VARCHAR(MAX),
  10115. @Demand VARCHAR(MAX),
  10116. @dcEducationID TINYINT,
  10117. @MinExperience TINYINT,
  10118. @MinAge TINYINT,
  10119. @MaxAge TINYINT,
  10120. @EMailSendFreq INT,
  10121. @EMailSendNumber TINYINT,
  10122. @Promotion NVARCHAR(100),
  10123. @JobTags VARCHAR(MAX),
  10124. @Welfare VARCHAR(100)
  10125. )
  10126. AS
  10127. SET NOCOUNT ON
  10128. --BEGIN TRAN
  10129. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  10130. SET @Demand = dbo.v2018_SetVarcharNull(@Demand)
  10131. SET @Responsibility = dbo.v2018_SetVarcharNull(@Responsibility)
  10132. SET @Promotion = dbo.v2018_SetVarcharNull(@Promotion)
  10133. SET @Welfare = dbo.v2018_SetVarcharNull(@Welfare)
  10134. SET @dcJobTypeIDMinor = dbo.v2018_SetIntNull(@dcJobTypeIDMinor)
  10135. SET @MinAge = dbo.v2018_SetIntNull(@MinAge)
  10136. SET @MaxAge = dbo.v2018_SetIntNull(@MaxAge)
  10137. SET @EMailSendNumber = dbo.v2018_SetIntNull(@EMailSendNumber)
  10138. --BEGIN TRY
  10139. IF @ID > 0
  10140. BEGIN
  10141. UPDATE JobTemplate SET
  10142. [Name] = @Name,
  10143. dcJobTypeID = @dcJobTypeID,
  10144. dcJobTypeIDMinor = @dcJobTypeIDMinor,
  10145. NeedNumber = @NeedNumber,
  10146. dcSalaryID = @dcSalaryID,
  10147. dcSalaryIdMax = @dcSalaryMaxID,
  10148. Negotiable = @Negotiable,
  10149. EmployType = @EmployType,
  10150. dcRegionID = @dcRegionID,
  10151. Lng = @Lng,
  10152. Lat = @Lat,
  10153. Responsibility = @Responsibility,
  10154. Demand = @Demand,
  10155. dcEducationID = @dcEducationID,
  10156. MinExperience = @MinExperience,
  10157. MinAge = @MinAge,
  10158. MaxAge = @MaxAge,
  10159. EMailSendFreq = @EMailSendFreq,
  10160. LastModifyDate = GETDATE(),
  10161. Promotion = @Promotion,
  10162. JobTags = @JobTags
  10163. WHERE ID = @ID
  10164. END
  10165. ELSE
  10166. BEGIN
  10167. INSERT INTO JobTemplate
  10168. (
  10169. cpMainID, caMainID, Name, dcJobTypeID, dcJobTypeIDMinor,
  10170. NeedNumber, dcSalaryID, EmployType, dcRegionID, Lng, Lat,
  10171. Responsibility, Demand, dcEducationID, MinExperience,
  10172. MinAge, MaxAge, EMailSendFreq,
  10173. AddDate, LastModifyDate,
  10174. dcSalaryIdMax, Negotiable, Promotion, JobTags
  10175. )
  10176. VALUES
  10177. (
  10178. @cpMainID, @caMainID, @Name, @dcJobTypeID, @dcJobTypeIDMinor,
  10179. @NeedNumber, @dcSalaryID, @EmployType, @dcRegionID, @Lng, @Lat,
  10180. @Responsibility, @Demand, @dcEducationID, @MinExperience,
  10181. @MinAge, @MaxAge, dbo.BinToINT(@EMailSendFreq),
  10182. GETDATE(), GETDATE(),
  10183. @dcSalaryMaxID, @Negotiable, @Promotion, @JobTags
  10184. )
  10185. SET @ID = SCOPE_IDENTITY()
  10186. END
  10187. --更新福利待遇
  10188. CREATE TABLE #Welfare
  10189. (
  10190. ID INT IDENTITY,
  10191. Welfare CHAR(1)
  10192. )
  10193. INSERT INTO #Welfare(Welfare)
  10194. SELECT a FROM dbo.Split(@Welfare,'@')
  10195. UPDATE JobTemplate SET
  10196. Welfare1 = (SELECT Welfare FROM #Welfare WHERE ID = 1),
  10197. Welfare2 = (SELECT Welfare FROM #Welfare WHERE ID = 2),
  10198. Welfare3 = (SELECT Welfare FROM #Welfare WHERE ID = 3),
  10199. Welfare4 = (SELECT Welfare FROM #Welfare WHERE ID = 4),
  10200. Welfare5 = (SELECT Welfare FROM #Welfare WHERE ID = 5),
  10201. Welfare6 = (SELECT Welfare FROM #Welfare WHERE ID = 6),
  10202. Welfare7 = (SELECT Welfare FROM #Welfare WHERE ID = 7),
  10203. Welfare8 = (SELECT Welfare FROM #Welfare WHERE ID = 8),
  10204. Welfare9 = (SELECT Welfare FROM #Welfare WHERE ID = 9),
  10205. Welfare10 = (SELECT Welfare FROM #Welfare WHERE ID = 10),
  10206. Welfare11 = (SELECT Welfare FROM #Welfare WHERE ID = 11),
  10207. Welfare12 = (SELECT Welfare FROM #Welfare WHERE ID = 12),
  10208. Welfare13 = (SELECT Welfare FROM #Welfare WHERE ID = 13),
  10209. Welfare14 = (SELECT Welfare FROM #Welfare WHERE ID = 14),
  10210. Welfare15 = (SELECT Welfare FROM #Welfare WHERE ID = 15),
  10211. Welfare16 = (SELECT Welfare FROM #Welfare WHERE ID = 16),
  10212. Welfare17 = (SELECT Welfare FROM #Welfare WHERE ID = 17),
  10213. Welfare18 = (SELECT Welfare FROM #Welfare WHERE ID = 18),
  10214. Welfare19 = (SELECT Welfare FROM #Welfare WHERE ID = 19)
  10215. WHERE ID = @ID
  10216. DROP TABLE #Welfare
  10217. --END TRY
  10218. --BEGIN CATCH
  10219. -- GOTO ERR
  10220. --END CATCH
  10221. --COMMIT TRAN
  10222. RETURN 1
  10223. ERR:
  10224. BEGIN
  10225. --ROLLBACK TRAN
  10226. RETURN 0
  10227. END
  10228. SET NOCOUNT OFF
  10229. GO
  10230. /****** Object: StoredProcedure [dbo].[v2018_ColdCustomerSaveQlrc] Script Date: 2018/12/13 19:13:32 ******/
  10231. SET ANSI_NULLS ON
  10232. GO
  10233. SET QUOTED_IDENTIFIER ON
  10234. GO
  10235. --###############################################
  10236. --添加人:Alen
  10237. --添加时间:2018-10-9
  10238. --描述:插入冷客户采集(齐鲁人才网 2年未登录、已上传营业执照、无顾问)
  10239. --1周执行1次
  10240. --###############################################
  10241. CREATE PROCEDURE [dbo].[v2018_ColdCustomerSaveQlrc]
  10242. AS
  10243. BEGIN INSERT INTO precoldcustomer(SourceType,State,CompanyName,LinkMan,Phone,Email,SourceLink,[Address],QQ, AddDate,Tel,IsSpread)
  10244. SELECT 8,0,a.name,b.Name,b.Mobile,b.EMail, LTRIM(STR(a.id)),a.Address,b.qq,getdate(),b.Telephone,1
  10245. FROM cpmain a WITH(NOLOCK),camain b WITH(NOLOCK)
  10246. WHERE a.id=b.cpmainid AND a.id IN(
  10247. SELECT TOP 2500 id FROM (
  10248. SELECT *,ROW_NUMBER() over( partition by Name order by LastLoginDate desc) row
  10249. FROM cpmain b WITH(NOLOCK)
  10250. WHERE HasLicence=1
  10251. AND ConsultantID IS NULL
  10252. AND LastLoginDate < dateadd(year,-2,getdate())
  10253. AND NOT EXISTS (
  10254. SELECT 'X'
  10255. FROM cpmain WITH(NOLOCK)
  10256. WHERE dcProvinceID=b.dcProvinceID
  10257. AND name = b.name
  10258. AND LastLoginDate > dateadd(year,-2,getdate())
  10259. )
  10260. AND NOT EXISTS(
  10261. SELECT 'X'
  10262. FROM preColdCustomer WITH(NOLOCK)
  10263. WHERE SourceType=8
  10264. AND CompanyName=b.Name
  10265. )
  10266. AND dcprovinceid=32
  10267. ) t WHERE row=1 ) AND b.AccountType = 1 END
  10268. GO
  10269. /****** Object: StoredProcedure [dbo].[v2018_mblAssessTestAnswerUpdateByAnswer] Script Date: 2018/12/13 19:13:32 ******/
  10270. SET ANSI_NULLS ON
  10271. GO
  10272. SET QUOTED_IDENTIFIER ON
  10273. GO
  10274. --####################################################
  10275. --添加人:Peter
  10276. --添加时间:2018-8-20
  10277. --描述:修改个人回答记录
  10278. --####################################################
  10279. CREATE PROCEDURE [dbo].[v2018_mblAssessTestAnswerUpdateByAnswer]
  10280. (
  10281. @PaMainID INT,
  10282. @AnswerID INT,
  10283. @OptionsID INT,
  10284. @AnswerChoice VARCHAR(5)
  10285. )
  10286. AS
  10287. BEGIN
  10288. DECLARE @AssessTestLogID INT
  10289. SELECT @AssessTestLogID = AssessTestLogID
  10290. FROM AssessTestAnswer WITH(NOLOCK)
  10291. WHERE ID = @AnswerID
  10292. IF NOT EXISTS(
  10293. SELECT 'x' FROM AssessTestLog WITH(NOLOCK)
  10294. WHERE PaMainID = @PaMainID
  10295. AND ID = @AssessTestLogID
  10296. )
  10297. BEGIN
  10298. RETURN -1
  10299. END
  10300. UPDATE AssessTestAnswer
  10301. SET AssessOptionsID = @OptionsID,AnswerDate = GETDATE(),Choice = @AnswerChoice
  10302. WHERE ID = @AnswerID
  10303. IF NOT EXISTS(
  10304. SELECT 'x' FROM AssessTestAnswer WITH(NOLOCK)
  10305. WHERE AssessOptionsID IS NULL
  10306. AND AssessTestLogID = @AssessTestLogID
  10307. ) --测评问题全部回答完毕
  10308. BEGIN
  10309. EXEC v2018_mblAssessTestLogUpdateByFinish @AssessTestLogID
  10310. RETURN 0
  10311. END
  10312. ELSE
  10313. BEGIN
  10314. RETURN @AssessTestLogID
  10315. END
  10316. END
  10317. GO
  10318. /****** Object: StoredProcedure [dbo].[v2018_mblAssessTestLogByAnalysisSelect] Script Date: 2018/12/13 19:13:32 ******/
  10319. SET ANSI_NULLS ON
  10320. GO
  10321. SET QUOTED_IDENTIFIER ON
  10322. GO
  10323. --####################################################
  10324. --添加人:Peter
  10325. --添加时间:2018-8-20
  10326. --描述:获取个人测评的详情
  10327. --####################################################
  10328. CREATE PROCEDURE [dbo].[v2018_mblAssessTestLogByAnalysisSelect]
  10329. (
  10330. @PaMainID INT,
  10331. @TestLogID INT
  10332. )
  10333. AS
  10334. BEGIN
  10335. IF NOT EXISTS(SELECT 'x' FROM AssessTestLog WITH(NOLOCK) WHERE ID = @TestLogID AND PaMainID = @PaMainID AND(TextResult IS NOT NULL OR ScoreResult IS NOT NULL))
  10336. BEGIN
  10337. RETURN
  10338. END
  10339. DECLARE @ResultType TINYINT
  10340. SELECT @ResultType = ResultType
  10341. FROM AssessType WITH(NOLOCK)
  10342. WHERE ID = (
  10343. SELECT AssessTypeID
  10344. FROM AssessTestLog WITH(NOLOCK)
  10345. WHERE ID = @TestLogID
  10346. )
  10347. IF @ResultType = 1
  10348. BEGIN
  10349. SELECT a.*,b.ReportHtml,CONVERT(NVARCHAR(MAX),'') ReportHtmlSecond,b.AttachmentFile,b.Title,c.NeedTime
  10350. INTO #T
  10351. FROM AssessTestLog a WITH(NOLOCK)
  10352. LEFT JOIN AssessTypeResult b WITH(NOLOCK) ON b.TextResult = a.TextResult AND b.AssessTypeID = a.AssessTypeID
  10353. LEFT JOIN AssessType c WITH(NOLOCK) ON c.id = a.AssessTypeID
  10354. WHERE a.ID = @TestLogID
  10355. UPDATE a
  10356. SET a.ReportHtmlSecond = b.ReportHtml
  10357. FROM #T a,AssessTypeResult b WITH(NOLOCK)
  10358. WHERE b.TextResult = LEFT(a.TextResult,1)
  10359. AND b.AssessTypeID = a.AssessTypeID
  10360. AND a.AssessTypeID = 3
  10361. AND LEN(a.TextResult)>1
  10362. SELECT * FROM #T
  10363. DROP TABLE #T
  10364. END
  10365. SELECT a.*,c.ShortName,b.Score,d.AssessDimensionGroupID,e.Shortname GroupShortName,e.Name GroupName
  10366. FROM AssessTestAnswer a WITH(NOLOCK)
  10367. LEFT JOIN AssessOptions b WITH(NOLOCK) ON b.ID = a.AssessOptionsID
  10368. LEFT JOIN AssessDimension c WITH(NOLOCK) ON c.ID = b.AssessDimensionID
  10369. LEFT JOIN AssessQuestion d WITH(NOLOCK) ON d.ID = a.AssessQuestionID
  10370. LEFT JOIN AssessDimensionGroup e WITH(NOLOCK) ON e.id = d.AssessDimensionGroupID
  10371. WHERE a.AssessTestLogID = @TestLogID
  10372. END
  10373. GO
  10374. /****** Object: StoredProcedure [dbo].[v2018_mblAssessTestLogInsert] Script Date: 2018/12/13 19:13:33 ******/
  10375. SET ANSI_NULLS ON
  10376. GO
  10377. SET QUOTED_IDENTIFIER ON
  10378. GO
  10379. --####################################################
  10380. --添加人:Peter
  10381. --添加时间:2018-8-17
  10382. --描述:根据CpInviteID和AssessTypeID 插入一条测试记录
  10383. --####################################################
  10384. CREATE PROCEDURE [dbo].[v2018_mblAssessTestLogInsert]
  10385. (
  10386. @PaMainID INT,
  10387. @CpInviteID INT,
  10388. @AssessTypeID INT
  10389. )
  10390. AS
  10391. BEGIN
  10392. IF @PaMainID = 0
  10393. RETURN 0
  10394. DECLARE @AssessTestLogID INT
  10395. IF @CpInviteID > 0
  10396. BEGIN
  10397. SELECT @AssessTestLogID = ISNULL(ID,0)
  10398. FROM AssessTestLog WITH(NOLOCK)
  10399. WHERE AssessCpInviteID = @CpInviteID
  10400. AND PaMainID = @PaMainID
  10401. IF @AssessTestLogID > 0
  10402. BEGIN
  10403. RETURN @AssessTestLogID
  10404. END
  10405. SELECT @AssessTypeID = ISNULL(AssessTypeID,0)
  10406. FROM AssessCpInvite WITH(NOLOCK)
  10407. WHERE ID = @CpInviteID
  10408. AND PaMainID = @PaMainID
  10409. END
  10410. ELSE
  10411. BEGIN
  10412. IF EXISTS(SELECT 'x' FROM AssessTestLog WITH(NOLOCK) WHERE PaMainID = @PaMainID AND AssessCpInviteID IS NULL AND AssessTypeID = @AssessTypeID) AND @CpInviteID = 0
  10413. BEGIN
  10414. DECLARE @ReMainDays INT,@Status TINYINT,@TestLogIDBefore INT
  10415. SELECT TOP 1 @Status = Status,@ReMainDays = DATEDIFF(DAY,BeginTime,GETDATE()),@TestLogIDBefore=ID
  10416. FROM AssessTestLog WITH(NOLOCK)
  10417. WHERE PaMainID = @PaMainID
  10418. AND AssessCpInviteID IS NULL
  10419. AND AssessTypeID = @AssessTypeID
  10420. ORDER BY BeginTime DESC
  10421. IF @Status = 1
  10422. BEGIN
  10423. RETURN @TestLogIDBefore
  10424. END
  10425. IF @ReMainDays < (SELECT TOP 1 ReTestDay FROM AssessType WITH(NOLOCK) WHERE ID = @AssessTypeID)
  10426. BEGIN
  10427. RETURN -2
  10428. END
  10429. END
  10430. END
  10431. IF @AssessTypeID = 0
  10432. RETURN -1
  10433. --权限判断 是否可以进行测评。
  10434. IF dbo.v2018_CheckHasCompleteCv(@PaMainID) = 0
  10435. RETURN -3
  10436. IF @CpInviteID = 0
  10437. SET @CpInviteID = NULL
  10438. INSERT INTO AssessTestLog(PaMainID,AssessTypeID,AssessCpInviteID,BeginTime,RemainSeconds,LeaveTimes,IsOpen,Status)
  10439. SELECT @PaMainID,@AssessTypeID,@CpInviteID,GETDATE(),NeedTime*60,-1,1,1
  10440. FROM AssessType WITH(NOLOCK)
  10441. WHERE ID = @AssessTypeID
  10442. SELECT @AssessTestLogID = @@IDENTITY
  10443. CREATE TABLE #T(
  10444. AssessQuestionID INT,
  10445. AssessDimensionGroupID INT,
  10446. AssessThemeID INT,
  10447. SortNo INT,
  10448. RowNo INT
  10449. )
  10450. DECLARE @AssessThemeID INT,@AssessThemeSortType INT
  10451. DECLARE cur_AssessTheme CURSOR FOR
  10452. SELECT ID,SortType
  10453. FROM AssessTheme WITH(NOLOCK)
  10454. WHERE AssessTypeID = @AssessTypeID
  10455. FOR READ ONLY
  10456. OPEN cur_AssessTheme
  10457. FETCH NEXT FROM cur_AssessTheme INTO @AssessThemeID,@AssessThemeSortType
  10458. WHILE @@FETCH_STATUS = 0
  10459. BEGIN
  10460. IF @AssessThemeSortType = 1 --随机排序
  10461. BEGIN
  10462. SELECT ID,AssessDimensionGroupID,AssessThemeID,SortNo
  10463. ,ROW_NUMBER () OVER (PARTITION BY AssessDimensionGroupID ORDER BY NEWID() ASC) RowNo
  10464. INTO #TQuestion
  10465. FROM AssessQuestion WITH(NOLOCK)
  10466. WHERE AssessThemeID = @AssessThemeID
  10467. IF @AssessTypeID = 1 --MBTI特殊处理,因为分组1数量少10个
  10468. BEGIN
  10469. UPDATE #TQuestion
  10470. SET RowNo = RowNo*2-1
  10471. WHERE AssessDimensionGroupID = 1
  10472. END
  10473. INSERT INTO #T
  10474. SELECT * FROM #TQuestion
  10475. ORDER BY RowNo ASC,AssessDimensionGroupID ASC
  10476. DROP TABLE #TQuestion
  10477. END
  10478. ELSE
  10479. BEGIN
  10480. INSERT INTO #T
  10481. SELECT ID,AssessDimensionGroupID,AssessThemeID,SortNo
  10482. ,ROW_NUMBER () OVER (PARTITION BY AssessDimensionGroupID ORDER BY SortNo ASC,ID ASC)
  10483. FROM AssessQuestion WITH(NOLOCK)
  10484. WHERE AssessThemeID = @AssessThemeID
  10485. END
  10486. FETCH NEXT FROM cur_AssessTheme INTO @AssessThemeID,@AssessThemeSortType
  10487. END
  10488. CLOSE cur_AssessTheme
  10489. DEALLOCATE cur_AssessTheme
  10490. INSERT INTO AssessTestAnswer(AssessTestLogID,AssessQuestionID)
  10491. SELECT @AssessTestLogID,AssessQuestionID
  10492. FROM #T
  10493. DROP TABLE #T
  10494. RETURN @AssessTestLogID
  10495. END
  10496. GO
  10497. /****** Object: StoredProcedure [dbo].[v2018_mblAssessTestLogUpdateByFinish] Script Date: 2018/12/13 19:13:33 ******/
  10498. SET ANSI_NULLS ON
  10499. GO
  10500. SET QUOTED_IDENTIFIER ON
  10501. GO
  10502. --####################################################
  10503. --添加人:Peter
  10504. --添加时间:2018-8-20
  10505. --描述:结束测评并且打分
  10506. --####################################################
  10507. CREATE PROCEDURE [dbo].[v2018_mblAssessTestLogUpdateByFinish]
  10508. (
  10509. @TestLogID INT
  10510. )
  10511. AS
  10512. BEGIN
  10513. --根据不同的测评类型进行评分
  10514. DECLARE @ResultType INT,@AssessTypeID INT
  10515. DECLARE @FinishStatus TINYINT
  10516. SELECT @AssessTypeID = AssessTypeID
  10517. FROM AssessTestLog WITH(NOLOCK)
  10518. WHERE ID = @TestLogID
  10519. SELECT @ResultType = ResultType
  10520. FROM AssessType WITH(NOLOCK)
  10521. WHERE ID = @AssessTypeID
  10522. IF @ResultType = 1 --文本式计分规则
  10523. BEGIN
  10524. IF EXISTS( --是否正常完成了所有的问题
  10525. SELECT 'x' FROM AssessTestAnswer a WITH(NOLOCK)
  10526. LEFT JOIN AssessQuestion b WITH(NOLOCK) ON b.id = a.AssessquestionID
  10527. LEFT JOIN AssessDimensionGroup c WITH(NOLOCK) ON c.id = b.AssessDimensionGroupid
  10528. WHERE a.AssessOptionsID IS NOT NULL
  10529. GROUP BY c.id
  10530. HAVING COUNT(1) = 0
  10531. )
  10532. BEGIN
  10533. SET @FinishStatus = 3
  10534. END
  10535. ELSE
  10536. BEGIN
  10537. SET @FinishStatus = 2
  10538. DECLARE @Result VARCHAR(10)
  10539. SET @Result = ''
  10540. IF @AssessTypeID = 1 --MBTI计算规则。
  10541. BEGIN
  10542. --分组查询到临时表中
  10543. SELECT AssessDimensionGroupID,ID DimensionID,ShortName,
  10544. (
  10545. SELECT COUNT(1)
  10546. FROM AssessTestAnswer WITH(NOLOCK)
  10547. WHERE AssessOptionsID IS NOT NULL
  10548. AND AssessOptionsID IN(
  10549. SELECT ID
  10550. FROM AssessOptions WITH(NOLOCK)
  10551. WHERE AssessDimensionID = AssessDimension.ID
  10552. )
  10553. AND AssessTestLogID = @TestLogID
  10554. ) AnswerCount
  10555. INTO #T
  10556. FROM AssessDimension WITH(NOLOCK)
  10557. WHERE AssessDimensionGroupID IN(
  10558. SELECT ID
  10559. FROM AssessDimensionGroup WITH(NOLOCK)
  10560. WHERE AssessTypeID = @AssessTypeID
  10561. )
  10562. SELECT *,ROW_NUMBER() OVER(PARTITION BY AssessDimensionGroupID ORDER BY AnswerCount DESC,DimensionID ASC) RowNum
  10563. INTO #T2
  10564. FROM #T
  10565. --拼接结果
  10566. SELECT @Result = @Result + ShortName
  10567. FROM #T2
  10568. WHERE RowNum = 1
  10569. DROP TABLE #T
  10570. DROP TABLE #T2
  10571. END
  10572. ELSE IF @AssessTypeID = 2 --霍兰德计分规则
  10573. BEGIN
  10574. SELECT a.*,b.Score,d.shortname
  10575. INTO #T3
  10576. FROM AssessTestAnswer a WITH(NOLOCK)
  10577. LEFT JOIN AssessOptions b WITH(NOLOCK) ON b.id = a.AssessOptionsID
  10578. LEFT JOIN AssessQuestion c WITH(NOLOCK) ON c.id = a.AssessQuestionID
  10579. LEFT JOIN AssessDimensionGroup d WITH(NOLOCK) ON d.id = c.AssessDimensionGroupID
  10580. WHERE AssessTestLogID = @TestLogID
  10581. SELECT ShortName,SUM(Score) Score,0 AScoreCnt,0 BScoreCnt,0 ShortOrder
  10582. INTO #T4
  10583. FROM #T3
  10584. GROUP BY ShortName
  10585. DELETE FROM #T4
  10586. WHERE Score < (SELECT MAX(Score) FROM #T4)
  10587. IF(SELECT COUNT(1) FROM #T4) = 1
  10588. BEGIN
  10589. SELECT @Result = ShortName
  10590. FROM #T4
  10591. END
  10592. ELSE
  10593. BEGIN
  10594. UPDATE #T4
  10595. SET AScoreCnt = (
  10596. SELECT COUNT(1)
  10597. FROM #T3
  10598. WHERE Choice = 'A'
  10599. AND Score = 1
  10600. AND shortname = #T4.ShortName
  10601. ),
  10602. BScoreCnt = (
  10603. SELECT COUNT(1)
  10604. FROM #T3
  10605. WHERE Choice = 'B'
  10606. AND Score = 1
  10607. AND shortname = #T4.ShortName
  10608. ),
  10609. ShortOrder =
  10610. CASE ShortName
  10611. WHEN 'C' THEN 0
  10612. WHEN 'R' THEN 1
  10613. WHEN 'I' THEN 2
  10614. WHEN 'E' THEN 3
  10615. WHEN 'S' THEN 4
  10616. WHEN 'A' THEN 5
  10617. ELSE 99
  10618. END
  10619. SELECT TOP 1 @Result = ShortName
  10620. FROM #T4
  10621. ORDER BY AScoreCnt ASC,BScoreCnt DESC,ShortOrder ASC
  10622. END
  10623. DROP TABLE #T3
  10624. DROP TABLE #T4
  10625. END
  10626. ELSE IF @AssessTypeID = 3 --DISC计分规则
  10627. BEGIN
  10628. SELECT a.*,c.ShortName
  10629. INTO #T5
  10630. FROM AssessTestAnswer a WITH(NOLOCK)
  10631. LEFT JOIN AssessOptions b WITH(NOLOCK) ON b.id = a.AssessOptionsID
  10632. LEFT JOIN AssessDimension c WITH(NOLOCK) ON c.id = b.AssessDimensionID
  10633. WHERE AssessTestLogID = @TestLogID
  10634. AND a.AssessOptionsID IS NOT NULL
  10635. SELECT ShortName,COUNT(1) Cnt
  10636. INTO #T6
  10637. FROM #T5
  10638. GROUP BY ShortName
  10639. SELECT TOP 1 @Result = a.ShortName
  10640. FROM #T6 a
  10641. LEFT JOIN AssessDimension b WITH(NOLOCK) ON b.ShortName = a.ShortName AND AssessDimensionGroupID = 11
  10642. ORDER BY Cnt DESC,b.ID ASC
  10643. IF NOT EXISTS(SELECT 'x' FROM #T6 WHERE Cnt >= 10)
  10644. BEGIN
  10645. SET @FinishStatus = 3
  10646. END
  10647. ELSE
  10648. BEGIN
  10649. DELETE FROM #T6
  10650. WHERE Cnt < 10 OR ShortName = @Result
  10651. SELECT @Result = @Result + a.ShortName
  10652. FROM #T6 a
  10653. LEFT JOIN AssessDimension b WITH(NOLOCK) ON b.ShortName = a.ShortName AND AssessDimensionGroupID = 11
  10654. ORDER BY b.ID ASC
  10655. END
  10656. DROP TABLE #T5
  10657. DROP TABLE #T6
  10658. END
  10659. UPDATE Assesstestlog
  10660. SET TextResult = @Result
  10661. WHERE ID = @TestLogID
  10662. END
  10663. END
  10664. --修改测评状态
  10665. UPDATE Assesstestlog
  10666. SET Status = @FinishStatus,EndTime = GETDATE()
  10667. WHERE ID = @TestLogID
  10668. RETURN 1
  10669. END
  10670. GO
  10671. /****** Object: StoredProcedure [dbo].[v2018_pcCaCvIntentionSelect] Script Date: 2018/12/13 19:13:34 ******/
  10672. SET ANSI_NULLS ON
  10673. GO
  10674. SET QUOTED_IDENTIFIER ON
  10675. GO
  10676. --################################################################
  10677. --创建人:Lucifer
  10678. --创建时间:2018-7-23
  10679. --描述:获取个人应聘邀请列表
  10680. --################################################################
  10681. CREATE PROCEDURE [dbo].[v2018_pcCaCvIntentionSelect]
  10682. (
  10683. @Where VARCHAR(1000),
  10684. @Order VARCHAR(100)
  10685. )
  10686. AS
  10687. SET NOCOUNT ON
  10688. BEGIN
  10689. SET @Where = dbo.SafeSQL(@Where)
  10690. SET @Order = dbo.SafeSQL(@Order)
  10691. DECLARE @SQL AS VARCHAR(2000)
  10692. SET @SQL = 'SELECT JobID, cvMainID, a.AddDate, b.Name as JobName, b.IssueDate, b.IssueEnd, Reply, ReplyDate, d.Name cvName,
  10693. b.dcRegionID, b.IsDelete, c.Name as cpName, c.ID as cpID, c.HasLicence, c.IsAgent, c.MemberType, a.ID,
  10694. b.dcSalaryId, b.dcSalaryIdMax, b.SecondId EnJobID, c.SecondId EnCpMainID, dbo.GetCaOnlineStatus(b.caMainID) AS IsOnline,
  10695. b.Welfare1, b.Welfare2, b.Welfare3, b.Welfare4, b.Welfare5, b.Welfare6, b.Welfare7, b.Welfare8,
  10696. b.Welfare9, b.Welfare10, b.Welfare11, b.Welfare12, b.Welfare13, b.Welfare14, b.Welfare15, b.Welfare16,
  10697. b.Welfare17, b.Welfare18, b.Welfare19, c.ReplyRate, c.LogoFile LogoUrl, b.CaMainID, b.Valid JobValid,
  10698. dbo.GetCvMatch(a.cvMainID, a.JobID) cvMatch,
  10699. (SELECT COUNT(1) FROM exJobApply WHERE cvMainId = a.cvMainId AND JobId = a.JobId) IsApply
  10700. FROM caCvIntention a WITH(NOLOCK)
  10701. INNER JOIN Job b WITH(NOLOCK) ON a.JobID = b.ID
  10702. INNER JOIN cpMain c WITH(NOLOCK) ON b.cpMainID = c.ID
  10703. INNER JOIN cvMain d WITH(NOLOCK) ON a.cvMainID = d.ID
  10704. WHERE PersonDeleted = 0'
  10705. IF LEN(@Where) > 0
  10706. SET @SQL = @SQL + ' AND ' + @Where
  10707. IF LEN(@Order) > 0
  10708. SET @SQL = @SQL + ' ORDER BY '+@Order
  10709. EXEC(@SQL)
  10710. END
  10711. SET NOCOUNT OFF
  10712. GO
  10713. /****** Object: StoredProcedure [dbo].[v2018_pcCaCvViewLogSelect] Script Date: 2018/12/13 19:13:34 ******/
  10714. SET ANSI_NULLS ON
  10715. GO
  10716. SET QUOTED_IDENTIFIER ON
  10717. GO
  10718. --################################################################
  10719. --创建人:Lucifer
  10720. --创建时间:2018-7-23
  10721. --描述:谁在关注我
  10722. --################################################################
  10723. CREATE PROCEDURE [dbo].[v2018_pcCaCvViewLogSelect]
  10724. (
  10725. @cvMainIds VARCHAR(1000),
  10726. @Page SMALLINT
  10727. )
  10728. AS
  10729. SET NOCOUNT ON
  10730. BEGIN
  10731. IF @cvMainIds = ''
  10732. RETURN
  10733. SET @cvMainIds = dbo.FormatIDS(@cvMainIds)
  10734. SELECT ROW_NUMBER() OVER(ORDER BY AddDate DESC) TitleID, caMainId, cvMainId, AddDate, NULL JobId , 0 IsApply
  10735. INTO #1
  10736. FROM caCvviewLog WITH(NOLOCK INDEX(IX_caCvViewLog_cvMainID))
  10737. WHERE cvMainId IN(SELECT a FROM dbo.fnSplit(@cvMainIds, ','))
  10738. AND EXISTS(SELECT TOP 1 'X' FROM JobPublish WITH(NOLOCK) WHERE caMainID = caCvviewLog.caMainID)
  10739. SELECT * INTO #T
  10740. FROM #1
  10741. WHERE TitleID > (@Page - 1) * 20 AND TitleID <= @Page * 20
  10742. UPDATE #T SET IsApply = 1
  10743. WHERE EXISTS(
  10744. SELECT TOP 1 'X' FROM exJobApply a WITH(NOLOCK), JobPublish b WITH(NOLOCK)
  10745. WHERE a.JobID = b.ID AND a.cvMainID = #T.cvMainID AND b.caMainID = #T.caMainID
  10746. )
  10747. UPDATE #T SET JobId = (SELECT TOP 1 a.ID FROM JobPublish a WITH(NOLOCK), caMain b WITH(NOLOCK), cpMainPublish c WITH(NOLOCK)
  10748. WHERE a.cpMainId = b.cpMainID AND b.cpMainID = c.ID AND a.dcJobTypeId IN(SELECT dcJobTypeID FROM cvJobType WITH(NOLOCK) WHERE cvMainId = #T.cvMainId)
  10749. AND b.Id = #T.caMainID ORDER BY a.RefreshDate DESC)
  10750. UPDATE #T SET JobId = (SELECT TOP 1 a.ID FROM JobPublish a WITH(NOLOCK), caMain b WITH(NOLOCK), cpMainPublish c WITH(NOLOCK)
  10751. WHERE a.cpMainId = b.cpMainID AND b.cpMainID = c.ID AND LEFT(a.dcJobTypeId, 2) IN(SELECT dcJobTypeID FROM cvJobType WITH(NOLOCK) WHERE cvMainId = #T.cvMainId)
  10752. AND b.Id = #T.caMainID ORDER BY a.RefreshDate DESC) WHERE JobId IS NULL
  10753. UPDATE #T SET JobId = (SELECT TOP 1 a.ID FROM JobPublish a WITH(NOLOCK), caMain b WITH(NOLOCK), cpMainPublish c WITH(NOLOCK)
  10754. WHERE a.cpMainId = b.cpMainID AND b.cpMainID = c.ID
  10755. AND b.Id = #T.caMainID ORDER BY a.RefreshDate DESC) WHERE JobId IS NULL
  10756. SELECT a.caMainId, a.cvMainId, a.AddDate, b.Name as caName, d.*, d.Id JobId, d.Name JobName,
  10757. d.SecondId EnJobId, d.Valid JobValid,
  10758. b.Email, b.Mobile, b.Telephone, b.Gender, b.IsPhoneHide, b.IsNameHide, b.IsMobileHide,
  10759. c.Name cpName, c.Address, c.ID cpID, c.HasLicence, c.IsAgent, e.Name cvName,
  10760. c.Membertype, c.dcRegionId, c.SecondId EnCpMainID, c.LogoFile LogoUrl, dbo.GetCaOnlineStatus(b.ID) IsOnline,
  10761. (SELECT COUNT(1) FROM exJobApply WHERE cvMainId = a.cvMainId AND JobId = a.JobId) IsApply
  10762. FROM #T a WITH(NOLOCK)
  10763. INNER JOIN caMain b WITH(NOLOCK) ON a.caMainID = b.ID
  10764. INNER JOIN cpMain c WITH(NOLOCK) ON c.ID = b.cpMainId
  10765. INNER JOIN cvMain e WITH(NOLOCK) ON a.cvMainId = e.Id
  10766. INNER JOIN JobPublish d WITH(NOLOCK) ON a.JobId = d.Id
  10767. SELECT COUNT(1) FROM #1
  10768. END
  10769. SET NOCOUNT OFF
  10770. GO
  10771. /****** Object: StoredProcedure [dbo].[v2018_pcChatOnLineByPaMainIDSelect] Script Date: 2018/12/13 19:13:34 ******/
  10772. SET ANSI_NULLS ON
  10773. GO
  10774. SET QUOTED_IDENTIFIER ON
  10775. GO
  10776. --####################################
  10777. --添加人:Lucifer
  10778. --添加时间:2018-7-12
  10779. --描述:获取个人聊天列表,显示最新聊天记录
  10780. --####################################
  10781. CREATE PROCEDURE [dbo].[v2018_pcChatOnLineByPaMainIDSelect]
  10782. (
  10783. @PaMainID INT --求职者的ID
  10784. )
  10785. AS
  10786. SET NOCOUNT ON
  10787. BEGIN
  10788. CREATE TABLE #ChatLog
  10789. (
  10790. caMainID INT,
  10791. cvMainID INT,
  10792. LastMessage VARCHAR(MAX),
  10793. LastReceiverDate SMALLDATETIME,
  10794. Initiative TINYINT
  10795. )
  10796. INSERT INTO #ChatLog
  10797. SELECT
  10798. a.caMainID,
  10799. a.cvMainID,
  10800. (SELECT TOP 1 CASE MessageType
  10801. WHEN 1 THEN [Message]
  10802. WHEN 2 THEN '[表情]'
  10803. WHEN 3 THEN '[图片]'
  10804. WHEN 4 THEN '[职位]'
  10805. WHEN 5 THEN '[面试通知]'
  10806. ELSE '' END FROM ChatOnlineLog WITH(NOLOCK) WHERE ChatOnlineID = MAX(a.ID) ORDER BY ID DESC),
  10807. MAX(b.Adddate),
  10808. (SELECT Initiative FROM ChatOnline WITH(NOLOCK) WHERE ID = MIN(a.ID))
  10809. FROM ChatOnline a WITH(NOLOCK), ChatOnlineLog b WITH(NOLOCK)
  10810. WHERE a.ID = b.ChatOnlineID
  10811. AND a.cvMainId IN (SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @PaMainID) --当前个人用户
  10812. GROUP BY a.caMainID, a.cvMainID
  10813. SELECT
  10814. a.*,
  10815. dbo.GetCaName(b.ID) CaName,
  10816. c.Name CpName,
  10817. d.Name CvName,
  10818. c.SecondID EnCpMainID,
  10819. c.HasLicence,
  10820. c.MemberType,
  10821. c.IsAgent,
  10822. dbo.GetCpLogo(c.ID) CpLogo
  10823. FROM #ChatLog a WITH(NOLOCK), caMain b WITH(NOLOCK), cpMain c WITH(NOLOCK), cvMain d WITH(NOLOCK)
  10824. WHERE a.caMainID = b.ID AND b.cpMainID = c.ID AND a.cvMainID = d.ID
  10825. ORDER BY LastReceiverDate DESC
  10826. END
  10827. SET NOCOUNT OFF
  10828. GO
  10829. /****** Object: StoredProcedure [dbo].[v2018_pcCvAppendixDelete] Script Date: 2018/12/13 19:13:34 ******/
  10830. SET ANSI_NULLS ON
  10831. GO
  10832. SET QUOTED_IDENTIFIER ON
  10833. GO
  10834. --#####################################################
  10835. --创建时间:2018.6.27
  10836. --创建人:Lucifer
  10837. --说明:删除证书
  10838. --#####################################################
  10839. CREATE PROCEDURE [dbo].[v2018_pcCvAppendixDelete]
  10840. @ID INT,
  10841. @paMainID INT
  10842. AS
  10843. SET NOCOUNT ON
  10844. BEGIN TRAN
  10845. BEGIN TRY
  10846. DECLARE @cvMainID AS INT
  10847. SELECT @cvMainID = cvMainID FROM cvAppendix WITH(NOLOCK INDEX(PK_cvAppendix)) WHERE ID = @ID
  10848. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  10849. GOTO ERR
  10850. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'c%'
  10851. DELETE FROM cvAppendix WHERE ID = @ID
  10852. IF (SELECT COUNT(1) FROM cvAppendix WITH(NOLOCK INDEX(PK_cvAppendix)) WHERE cvMainID = @cvMainID) = 0
  10853. BEGIN
  10854. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 10, 0
  10855. END
  10856. ELSE
  10857. BEGIN
  10858. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  10859. END
  10860. END TRY
  10861. BEGIN CATCH
  10862. GOTO ERR
  10863. END CATCH
  10864. COMMIT TRAN
  10865. RETURN 1
  10866. ERR:
  10867. BEGIN
  10868. ROLLBACK TRAN
  10869. RETURN 0
  10870. END
  10871. SET NOCOUNT OFF
  10872. GO
  10873. /****** Object: StoredProcedure [dbo].[v2018_pcCvAppendixSave] Script Date: 2018/12/13 19:13:35 ******/
  10874. SET ANSI_NULLS ON
  10875. GO
  10876. SET QUOTED_IDENTIFIER ON
  10877. GO
  10878. --####################################################
  10879. --添加人:Lucifer
  10880. --添加时间:2018-6-27
  10881. --描述:保存证书
  10882. --返回值 0 失败 >0成功 -1超过最大限制
  10883. --####################################################
  10884. CREATE PROCEDURE [dbo].[v2018_pcCvAppendixSave]
  10885. (
  10886. @ID INT,
  10887. @cvMainID INT,
  10888. @dcAppendixID INT,
  10889. @Name VARCHAR(200),
  10890. @NameEng VARCHAR(250),
  10891. @Description NVARCHAR(200),
  10892. @DescriptionEng VARCHAR(1000),
  10893. @AccessDate SMALLINT,
  10894. @paMainID INT,
  10895. @IP VARCHAR(31)
  10896. )
  10897. AS
  10898. SET NOCOUNT ON
  10899. BEGIN TRAN
  10900. --检查是否是该账号的简历
  10901. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  10902. GOTO ERR
  10903. --检查是否是该简历的证书
  10904. IF @ID > 0
  10905. BEGIN
  10906. IF NOT EXISTS(SELECT 'X' FROM CvAppendix WITH(NOLOCK INDEX(PK_CvAppendix)) WHERE ID = @ID AND cvMainID = @cvMainID)
  10907. BEGIN
  10908. GOTO ERR
  10909. END
  10910. END
  10911. IF EXISTS(SELECT 'X' FROM CvAppendix WITH(NOLOCK INDEX(PK_CvAppendix)) WHERE ID <> @ID AND cvMainID = @cvMainID AND dcAppendixID = @dcAppendixID AND @dcAppendixID <> 999)
  10912. GOTO ERR
  10913. BEGIN TRY
  10914. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  10915. SET @NameEng = dbo.v2018_SetVarcharNull(@NameEng)
  10916. SET @Description = dbo.v2018_SetVarcharNull(@Description)
  10917. SET @DescriptionEng = dbo.v2018_SetVarcharNull(@DescriptionEng)
  10918. DECLARE @NameOld VARCHAR(200)
  10919. DECLARE @NameEngOld VARCHAR(250)
  10920. DECLARE @DescriptionOld NVARCHAR(200)
  10921. DECLARE @DescriptionEngOld VARCHAR(1000)
  10922. IF @ID = 0
  10923. BEGIN
  10924. --证书最多10个
  10925. IF (SELECT COUNT(1) FROM CvAppendix WITH(NOLOCK INDEX(PK_CvAppendix)) WHERE cvMainID = @cvMainID) >= 10
  10926. GOTO ERRMAX
  10927. INSERT INTO CvAppendix(cvMainID, dcAppendixID, [Name], NameEng, [Description], DescriptionEng, AccessDate)
  10928. VALUES(@cvMainID, @dcAppendixID, @Name, @NameEng, @Description, @DescriptionEng, @AccessDate)
  10929. SET @ID = @@IDENTITY
  10930. END
  10931. ELSE
  10932. BEGIN
  10933. SELECT @NameOld = [Name], @NameEngOld = NameEng,
  10934. @DescriptionOld = [Description], @DescriptionEngOld = DescriptionEng
  10935. FROM CvAppendix WITH(NOLOCK INDEX(PK_CvAppendix)) WHERE ID = @ID
  10936. UPDATE CvAppendix SET
  10937. dcAppendixID = @dcAppendixID,
  10938. [Name] = @Name,
  10939. NameEng = @NameEng,
  10940. [Description] = @Description,
  10941. DescriptionEng = @DescriptionEng,
  10942. AccessDate = @AccessDate
  10943. WHERE ID = @ID
  10944. END
  10945. --添加审核记录
  10946. IF @dcAppendixID = 999
  10947. BEGIN
  10948. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Name, @NameOld, 'cc1', @IP
  10949. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @NameEng, @NameEngOld, 'ce1', @IP
  10950. END
  10951. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Description, @DescriptionOld, 'cc2', @IP
  10952. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DescriptionEng, @DescriptionEngOld, 'ce2', @IP
  10953. --更新证书的CvLevel
  10954. IF @Name IS NOT NULL
  10955. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 10, 1
  10956. IF @NameEng IS NOT NULL
  10957. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 10, 1
  10958. END TRY
  10959. BEGIN CATCH
  10960. GOTO ERR
  10961. END CATCH
  10962. COMMIT TRAN
  10963. RETURN @ID
  10964. ERR:
  10965. BEGIN
  10966. ROLLBACK TRAN
  10967. RETURN 0
  10968. END
  10969. ERRMAX:
  10970. BEGIN
  10971. ROLLBACK TRAN
  10972. RETURN -1
  10973. END
  10974. SET NOCOUNT OFF
  10975. GO
  10976. /****** Object: StoredProcedure [dbo].[v2018_pcCvEducationDelete] Script Date: 2018/12/13 19:13:35 ******/
  10977. SET ANSI_NULLS ON
  10978. GO
  10979. SET QUOTED_IDENTIFIER ON
  10980. GO
  10981. --#####################################################
  10982. --创建时间:2018.6.27
  10983. --创建人:Lucifer
  10984. --说明:删除教育背景
  10985. --#####################################################
  10986. CREATE PROCEDURE [dbo].[v2018_pcCvEducationDelete]
  10987. @ID INT,
  10988. @paMainID INT
  10989. AS
  10990. SET NOCOUNT ON
  10991. BEGIN TRAN
  10992. BEGIN TRY
  10993. DECLARE @cvMainID AS INT
  10994. SELECT @cvMainID = cvMainID FROM cvEducation WITH(NOLOCK INDEX(PK_cvEducation)) WHERE ID = @ID
  10995. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  10996. GOTO ERR
  10997. --教育背景至少保留一个,不能够全部删除
  10998. IF (SELECT COUNT(1) FROM cvEducation WITH(NOLOCK INDEX(PK_cvEducation)) WHERE cvMainID = @cvMainID) = 1
  10999. GOTO ERRNEED
  11000. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'd%'
  11001. DELETE FROM cvEducation WHERE ID = @ID
  11002. --更新cvMain中的最高学历和专业
  11003. EXEC v2018_pcCvMainByDegreeUpdate @cvMainID
  11004. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  11005. END TRY
  11006. BEGIN CATCH
  11007. GOTO ERR
  11008. END CATCH
  11009. COMMIT TRAN
  11010. RETURN 1
  11011. ERR:
  11012. BEGIN
  11013. ROLLBACK TRAN
  11014. RETURN 0
  11015. END
  11016. ERRNEED:
  11017. BEGIN
  11018. ROLLBACK TRAN
  11019. RETURN -1
  11020. END
  11021. SET NOCOUNT OFF
  11022. GO
  11023. /****** Object: StoredProcedure [dbo].[v2018_pcCvEducationSave] Script Date: 2018/12/13 19:13:35 ******/
  11024. SET ANSI_NULLS ON
  11025. GO
  11026. SET QUOTED_IDENTIFIER ON
  11027. GO
  11028. --####################################################
  11029. --添加人:Lucifer
  11030. --添加时间:2018-6-27
  11031. --描述:保存教育背景
  11032. --返回值 0 失败 >0成功 -1超过最大限制
  11033. --####################################################
  11034. CREATE PROCEDURE [dbo].[v2018_pcCvEducationSave]
  11035. (
  11036. @ID INT,
  11037. @cvMainID INT,
  11038. @GraduateCollage NVARCHAR(50),
  11039. @GraduateCollageEng VARCHAR(250),
  11040. @Graduation INT,
  11041. @dcMajorID SMALLINT,
  11042. @MajorName NVARCHAR(20),
  11043. @MajorNameEng VARCHAR(100),
  11044. @Degree TINYINT,
  11045. @EduType TINYINT,
  11046. @Details NVARCHAR(1000),
  11047. @DetailsEng VARCHAR(2000),
  11048. @paMainID INT,
  11049. @IP VARCHAR(31)
  11050. )
  11051. AS
  11052. SET NOCOUNT ON
  11053. BEGIN TRAN
  11054. --检查是否是该账号的简历
  11055. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  11056. GOTO ERR
  11057. --检查是否是该简历的教育背景
  11058. IF @ID > 0
  11059. IF NOT EXISTS(SELECT 'X' FROM cvEducation WITH(NOLOCK INDEX(PK_cvEducation)) WHERE ID = @ID AND cvMainID = @cvMainID)
  11060. GOTO ERR
  11061. --BEGIN TRY
  11062. SET @GraduateCollage = dbo.v2018_SetVarcharNull(@GraduateCollage)
  11063. SET @GraduateCollageEng = dbo.v2018_SetVarcharNull(@GraduateCollageEng)
  11064. SET @MajorName = dbo.v2018_SetVarcharNull(@MajorName)
  11065. SET @MajorNameEng = dbo.v2018_SetVarcharNull(@MajorNameEng)
  11066. SET @Details = dbo.v2018_SetVarcharNull(@Details)
  11067. SET @DetailsEng = dbo.v2018_SetVarcharNull(@DetailsEng)
  11068. DECLARE @GraduateCollageOld NVARCHAR(50)
  11069. DECLARE @GraduateCollageEngOld VARCHAR(250)
  11070. DECLARE @MajorNameOld NVARCHAR(20)
  11071. DECLARE @MajorNameEngOld VARCHAR(100)
  11072. DECLARE @DetailsOld NVARCHAR(1000)
  11073. DECLARE @DetailsEngOld VARCHAR(2000)
  11074. IF @ID = 0
  11075. BEGIN
  11076. --教育背景最多5个
  11077. IF (SELECT COUNT(1) FROM cvEducation WITH(NOLOCK INDEX(PK_cvEducation)) WHERE cvMainID = @cvMainID) >= 5
  11078. GOTO ERRMAX
  11079. INSERT INTO cvEducation(cvMainID, GraduateCollage, GraduateCollageEng, Graduation, dcMajorID, MajorName, MajorNameEng, Degree, EduType, Details, DetailsEng)
  11080. VALUES(@cvMainID, @GraduateCollage, @GraduateCollageEng, @Graduation, @dcMajorID, @MajorName, @MajorNameEng, @Degree, @EduType, @Details, @DetailsEng)
  11081. SET @ID = @@IDENTITY
  11082. END
  11083. ELSE
  11084. BEGIN
  11085. SELECT @GraduateCollageOld = GraduateCollage, @GraduateCollageEngOld = GraduateCollageEng,
  11086. @MajorNameOld = MajorName, @MajorNameEngOld = MajorNameEng,
  11087. @DetailsOld = Details, @DetailsEngOld = DetailsEng
  11088. FROM cvEducation WITH(NOLOCK INDEX(PK_cvEducation)) WHERE ID = @ID
  11089. UPDATE cvEducation SET
  11090. GraduateCollage = @GraduateCollage,
  11091. GraduateCollageEng = @GraduateCollageEng,
  11092. Graduation = @Graduation,
  11093. dcMajorID = @dcMajorID,
  11094. MajorName = @MajorName,
  11095. MajorNameEng = @MajorNameEng,
  11096. Degree = @Degree,
  11097. EduType = @EduType,
  11098. Details = @Details,
  11099. DetailsEng = @DetailsEng
  11100. WHERE ID = @ID
  11101. END
  11102. --添加审核记录
  11103. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @GraduateCollage, @GraduateCollageOld, 'dc1', @IP
  11104. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @GraduateCollageEng, @GraduateCollageEngOld, 'de1', @IP
  11105. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @MajorName, @MajorNameOld, 'dc2', @IP
  11106. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @MajorNameEng, @MajorNameEngOld, 'de2', @IP
  11107. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Details, @DetailsOld, 'dc3', @IP
  11108. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DetailsEng, @DetailsEngOld, 'de3', @IP
  11109. --更新cvMain中的最高学历和专业
  11110. EXEC v2018_pcCvMainByDegreeUpdate @cvMainID
  11111. --更新教育背景的CvLevel
  11112. IF @GraduateCollage IS NOT NULL
  11113. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 3, 1
  11114. IF @GraduateCollageEng IS NOT NULL
  11115. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 3, 1
  11116. --END TRY
  11117. --BEGIN CATCH
  11118. -- GOTO ERR
  11119. --END CATCH
  11120. COMMIT TRAN
  11121. RETURN @ID
  11122. ERR:
  11123. BEGIN
  11124. ROLLBACK TRAN
  11125. RETURN 0
  11126. END
  11127. ERRMAX:
  11128. BEGIN
  11129. ROLLBACK TRAN
  11130. RETURN -1
  11131. END
  11132. SET NOCOUNT OFF
  11133. GO
  11134. /****** Object: StoredProcedure [dbo].[v2018_pcCvExperienceDelete] Script Date: 2018/12/13 19:13:35 ******/
  11135. SET ANSI_NULLS ON
  11136. GO
  11137. SET QUOTED_IDENTIFIER ON
  11138. GO
  11139. --#####################################################
  11140. --创建时间:2018.6.27
  11141. --创建人:Lucifer
  11142. --说明:删除工作经历
  11143. --#####################################################
  11144. CREATE PROCEDURE [dbo].[v2018_pcCvExperienceDelete]
  11145. @ID INT,
  11146. @paMainID INT
  11147. AS
  11148. SET NOCOUNT ON
  11149. BEGIN TRAN
  11150. BEGIN TRY
  11151. DECLARE @cvMainID AS INT
  11152. SELECT @cvMainID = cvMainID FROM cvExperience WITH(NOLOCK INDEX(PK_cvExperience)) WHERE ID = @ID
  11153. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  11154. GOTO ERR
  11155. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'e%'
  11156. DELETE FROM cvExperience WHERE ID = @ID
  11157. --如果没有工作经历,更新cvLevel
  11158. IF (SELECT COUNT(1) FROM cvExperience WITH(NOLOCK INDEX(PK_cvExperience)) WHERE cvMainID = @cvMainID) = 0
  11159. BEGIN
  11160. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 4, 0
  11161. END
  11162. ELSE
  11163. BEGIN
  11164. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  11165. END
  11166. END TRY
  11167. BEGIN CATCH
  11168. GOTO ERR
  11169. END CATCH
  11170. COMMIT TRAN
  11171. RETURN 1
  11172. ERR:
  11173. BEGIN
  11174. ROLLBACK TRAN
  11175. RETURN 0
  11176. END
  11177. SET NOCOUNT OFF
  11178. GO
  11179. /****** Object: StoredProcedure [dbo].[v2018_pcCvExperienceSave] Script Date: 2018/12/13 19:13:35 ******/
  11180. SET ANSI_NULLS ON
  11181. GO
  11182. SET QUOTED_IDENTIFIER ON
  11183. GO
  11184. --####################################################
  11185. --添加人:Lucifer
  11186. --添加时间:2018-6-27
  11187. --描述:保存工作经历
  11188. --返回值 0 失败 >0成功 -1超过最大限制
  11189. --####################################################
  11190. CREATE PROCEDURE [dbo].[v2018_pcCvExperienceSave]
  11191. (
  11192. @ID INT,
  11193. @cvMainID INT,
  11194. @CompanyName NVARCHAR(30),
  11195. @CompanyNameEng VARCHAR(100),
  11196. @dcIndustryID SMALLINT,
  11197. @dcCompanySizeID SMALLINT,
  11198. @dcJobtypeID SMALLINT,
  11199. @JobName NVARCHAR(20),
  11200. @JobNameEng VARCHAR(100),
  11201. @BeginDate INT,
  11202. @EndDate INT,
  11203. @SubNodeNum TINYINT,
  11204. @Description VARCHAR(MAX),
  11205. @DescriptionEng VARCHAR(MAX),
  11206. @dcCompanyKindID SMALLINT,
  11207. @WorkPlace VARCHAR(6),
  11208. @Dept NVARCHAR(20),
  11209. @DeptEng VARCHAR(100),
  11210. @UpperPost NVARCHAR(20),
  11211. @UpperPostEng VARCHAR(100),
  11212. @dcLeaveResonID TINYINT,
  11213. @paMainID INT,
  11214. @IP VARCHAR(31)
  11215. )
  11216. AS
  11217. SET NOCOUNT ON
  11218. BEGIN TRAN
  11219. ----检查是否是该账号的简历
  11220. IF NOT EXISTS(SELECT 'x' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  11221. GOTO ERR
  11222. ----检查是否是该简历的工作经历
  11223. IF @ID > 0
  11224. IF NOT EXISTS(SELECT 'x' FROM cvExperience WITH(NOLOCK INDEX(PK_cvExperience)) WHERE ID = @ID AND cvMainID = @cvMainID)
  11225. GOTO ERR
  11226. BEGIN TRY
  11227. SET @CompanyName = dbo.v2018_SetVarcharNull(@CompanyName)
  11228. SET @CompanyNameEng = dbo.v2018_SetVarcharNull(@CompanyNameEng)
  11229. SET @JobName = dbo.v2018_SetVarcharNull(@JobName)
  11230. SET @JobNameEng = dbo.v2018_SetVarcharNull(@JobNameEng)
  11231. SET @Description = dbo.v2018_SetVarcharNull(@Description)
  11232. SET @DescriptionEng = dbo.v2018_SetVarcharNull(@DescriptionEng)
  11233. SET @Dept = dbo.v2018_SetVarcharNull(@Dept)
  11234. SET @DeptEng = dbo.v2018_SetVarcharNull(@DeptEng)
  11235. SET @UpperPost = dbo.v2018_SetVarcharNull(@UpperPost)
  11236. SET @UpperPostEng = dbo.v2018_SetVarcharNull(@UpperPostEng)
  11237. SET @dcCompanyKindID = dbo.v2018_SetIntNull(@dcCompanyKindID)
  11238. SET @WorkPlace = dbo.v2018_SetVarcharNull(@WorkPlace)
  11239. SET @dcLeaveResonID = dbo.v2018_SetIntNull(@dcLeaveResonID)
  11240. SET @dcCompanySizeID = dbo.v2018_SetIntNull(@dcCompanySizeID)
  11241. DECLARE @CompanyNameOld NVARCHAR(30)
  11242. DECLARE @CompanyNameEngOld VARCHAR(100)
  11243. DECLARE @JobNameOld NVARCHAR(20)
  11244. DECLARE @JobNameEngOld VARCHAR(100)
  11245. DECLARE @DescriptionOld NVARCHAR(MAX)
  11246. DECLARE @DescriptionEngOld VARCHAR(MAX)
  11247. DECLARE @DeptOld NVARCHAR(20)
  11248. DECLARE @DeptEngOld VARCHAR(100)
  11249. DECLARE @UpperPostOld NVARCHAR(20)
  11250. DECLARE @UpperPostEngOld VARCHAR(100)
  11251. IF @ID = 0
  11252. BEGIN
  11253. --工作经历最多20个
  11254. IF (SELECT COUNT(1) FROM cvExperience WITH(NOLOCK INDEX(PK_cvExperience)) WHERE cvMainID = @cvMainID) >= 20
  11255. GOTO ERRMAX
  11256. INSERT INTO cvExperience(cvMainID, CompanyName, CompanyNameEng, dcIndustryID, dcCompanySizeID, dcJobtypeID, JobName, JobNameEng, BeginDate, EndDate, SubNodeNum, [Description], DescriptionEng, dcCompanyKindID, WorkPlace, Dept, DeptEng, UpperPost, UpperPostEng, dcLeaveResonID)
  11257. VALUES(@cvMainID, @CompanyName, @CompanyNameEng, @dcIndustryID, @dcCompanySizeID, @dcJobtypeID, @JobName, @JobNameEng, @BeginDate, @EndDate, @SubNodeNum, @Description, @DescriptionEng, @dcCompanyKindID, @WorkPlace, @Dept, @DeptEng, @UpperPost, @UpperPostEng, @dcLeaveResonID)
  11258. SET @ID = @@IDENTITY
  11259. END
  11260. ELSE
  11261. BEGIN
  11262. SELECT @CompanyNameOld = CompanyName, @CompanyNameEngOld = CompanyNameEng,
  11263. @JobNameOld = JobName, @JobNameEngOld = JobNameEng,
  11264. @DescriptionOld = [Description], @DescriptionEngOld = DescriptionEng,
  11265. @DeptOld = Dept, @DeptEngOld = DeptEng,
  11266. @UpperPostOld = UpperPost, @UpperPostEngOld = UpperPostEng
  11267. FROM cvExperience WITH(NOLOCK INDEX(PK_cvExperience)) WHERE ID = @ID
  11268. UPDATE cvExperience SET
  11269. CompanyName = @CompanyName,
  11270. CompanyNameEng = @CompanyNameEng,
  11271. dcIndustryID = @dcIndustryID,
  11272. dcCompanySizeID = @dcCompanySizeID,
  11273. dcJobtypeID = @dcJobtypeID,
  11274. JobName = @JobName,
  11275. JobNameEng = @JobNameEng,
  11276. BeginDate = @BeginDate,
  11277. EndDate = @EndDate,
  11278. SubNodeNum = @SubNodeNum,
  11279. [Description] = @Description,
  11280. DescriptionEng = @DescriptionEng,
  11281. dcCompanyKindID = @dcCompanyKindID,
  11282. WorkPlace = @WorkPlace,
  11283. Dept = @Dept,
  11284. DeptEng = @DeptEng,
  11285. UpperPost = @UpperPost,
  11286. UpperPostEng = @UpperPostEng,
  11287. dcLeaveResonID = @dcLeaveResonID
  11288. WHERE ID = @ID
  11289. END
  11290. --添加审核记录
  11291. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @CompanyName, @CompanyNameOld, 'ec1', @IP
  11292. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @CompanyNameEng, @CompanyNameEngOld, 'ee1', @IP
  11293. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @JobName, @JobNameOld, 'ec2', @IP
  11294. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @JobNameEng, @JobNameEngOld, 'ee2', @IP
  11295. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Description, @DescriptionOld, 'ec3', @IP
  11296. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DescriptionEng, @DescriptionEngOld, 'ee3', @IP
  11297. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Dept, @DeptOld, 'ec4', @IP
  11298. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DeptEng, @DeptEngOld, 'ee4', @IP
  11299. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @UpperPost, @UpperPostOld, 'ec5', @IP
  11300. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @UpperPostEng, @UpperPostEngOld, 'ee5', @IP
  11301. --更新工作经历的CvLevel
  11302. IF @CompanyName IS NOT NULL
  11303. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 4, 1
  11304. IF @CompanyNameEng IS NOT NULL
  11305. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 4, 1
  11306. --更新简历类型
  11307. UPDATE cvMain SET cvType = 0 WHERE ID = @cvMainID
  11308. END TRY
  11309. BEGIN CATCH
  11310. GOTO ERR
  11311. END CATCH
  11312. COMMIT TRAN
  11313. RETURN @ID
  11314. ERR:
  11315. BEGIN
  11316. ROLLBACK TRAN
  11317. RETURN 0
  11318. END
  11319. ERRMAX:
  11320. BEGIN
  11321. ROLLBACK TRAN
  11322. RETURN -1
  11323. END
  11324. SET NOCOUNT OFF
  11325. GO
  11326. /****** Object: StoredProcedure [dbo].[v2018_pcCvLanguageDelete] Script Date: 2018/12/13 19:13:36 ******/
  11327. SET ANSI_NULLS ON
  11328. GO
  11329. SET QUOTED_IDENTIFIER ON
  11330. GO
  11331. --#####################################################
  11332. --创建时间:2018.6.27
  11333. --创建人:Lucifer
  11334. --说明:删除语言能力
  11335. --#####################################################
  11336. CREATE PROCEDURE [dbo].[v2018_pcCvLanguageDelete]
  11337. @ID INT,
  11338. @paMainID INT
  11339. AS
  11340. SET NOCOUNT ON
  11341. BEGIN TRAN
  11342. BEGIN TRY
  11343. DECLARE @cvMainID AS INT
  11344. SELECT @cvMainID = cvMainID FROM cvLanguage WITH(NOLOCK INDEX(PK_cvLanguage)) WHERE ID = @ID
  11345. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  11346. GOTO ERR
  11347. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'h%'
  11348. DELETE FROM cvLanguage WHERE ID = @ID
  11349. --如果没有语言能力,修改cvLevel
  11350. IF (SELECT COUNT(1) FROM cvLanguage WITH(NOLOCK INDEX(PK_cvLanguage)) WHERE cvMainID = @cvMainID) = 0
  11351. BEGIN
  11352. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 7, 0
  11353. END
  11354. ELSE
  11355. BEGIN
  11356. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  11357. END
  11358. END TRY
  11359. BEGIN CATCH
  11360. GOTO ERR
  11361. END CATCH
  11362. COMMIT TRAN
  11363. RETURN 1
  11364. ERR:
  11365. BEGIN
  11366. ROLLBACK TRAN
  11367. RETURN 0
  11368. END
  11369. SET NOCOUNT OFF
  11370. GO
  11371. /****** Object: StoredProcedure [dbo].[v2018_pcCvLanguageSave] Script Date: 2018/12/13 19:13:36 ******/
  11372. SET ANSI_NULLS ON
  11373. GO
  11374. SET QUOTED_IDENTIFIER ON
  11375. GO
  11376. --####################################################
  11377. --添加人:Lucifer
  11378. --添加时间:2018-6-27
  11379. --描述:保存语言能力
  11380. --返回值 0 失败 >0成功 -1超过最大限制
  11381. --####################################################
  11382. CREATE PROCEDURE [dbo].[v2018_pcCvLanguageSave]
  11383. (
  11384. @ID INT,
  11385. @cvMainID INT,
  11386. @LanguageType TINYINT,
  11387. @Mastery TINYINT,
  11388. @ReadWrite TINYINT,
  11389. @Spoken TINYINT,
  11390. @Score NVARCHAR(30),
  11391. @ScoreEng VARCHAR(100),
  11392. @paMainID INT,
  11393. @IP VARCHAR(31)
  11394. )
  11395. AS
  11396. SET NOCOUNT ON
  11397. BEGIN TRAN
  11398. ----检查是否是该账号的简历
  11399. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  11400. GOTO ERR
  11401. ----检查是否是该简历的语言能力
  11402. IF @ID > 0
  11403. IF NOT EXISTS(SELECT 'X' FROM cvLanguage WITH(NOLOCK INDEX(PK_cvLanguage)) WHERE ID = @ID AND cvMainID = @cvMainID)
  11404. GOTO ERR
  11405. BEGIN TRY
  11406. SET @Score = dbo.v2018_SetVarcharNull(@Score)
  11407. SET @ScoreEng = dbo.v2018_SetVarcharNull(@ScoreEng)
  11408. DECLARE @ScoreOld NVARCHAR(30)
  11409. DECLARE @ScoreEngOld VARCHAR(100)
  11410. IF @ID = 0
  11411. BEGIN
  11412. --语言能力最多5个
  11413. IF (SELECT COUNT(1) FROM cvLanguage WITH(NOLOCK INDEX(PK_cvLanguage)) WHERE cvMainID = @cvMainID) >= 5
  11414. GOTO ERRMAX
  11415. INSERT INTO cvLanguage(cvMainID, LanguageType, Mastery, [ReadWrite], Spoken, Score, ScoreEng)
  11416. VALUES(@cvMainID, @LanguageType, @Mastery, @ReadWrite, @Spoken, @Score, @ScoreEng)
  11417. SET @ID = @@IDENTITY
  11418. END
  11419. ELSE
  11420. BEGIN
  11421. SELECT @ScoreOld = Score, @ScoreEngOld = ScoreEng
  11422. FROM cvLanguage WITH(NOLOCK INDEX(PK_cvLanguage)) WHERE ID = @ID
  11423. UPDATE cvLanguage SET
  11424. LanguageType = @LanguageType,
  11425. Mastery = @Mastery,
  11426. [ReadWrite] = @ReadWrite,
  11427. Spoken = @Spoken,
  11428. Score = @Score,
  11429. ScoreEng = @ScoreEng
  11430. WHERE ID = @ID
  11431. END
  11432. --添加审核记录
  11433. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Score, @ScoreOld, 'hc1', @IP
  11434. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @ScoreEng, @ScoreEngOld, 'he1', @IP
  11435. --更新语言能力的CvLevel
  11436. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 7, 1
  11437. END TRY
  11438. BEGIN CATCH
  11439. GOTO ERR
  11440. END CATCH
  11441. COMMIT TRAN
  11442. RETURN @ID
  11443. ERR:
  11444. BEGIN
  11445. ROLLBACK TRAN
  11446. RETURN 0
  11447. END
  11448. ERRMAX:
  11449. BEGIN
  11450. ROLLBACK TRAN
  11451. RETURN -1
  11452. END
  11453. SET NOCOUNT OFF
  11454. GO
  11455. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainByCvLevelUpdate] Script Date: 2018/12/13 19:13:37 ******/
  11456. SET ANSI_NULLS ON
  11457. GO
  11458. SET QUOTED_IDENTIFIER ON
  11459. GO
  11460. --##########################################
  11461. --添加人 Lucifer
  11462. --添加时间 2018-6-25
  11463. --用途 更新cvLevel
  11464. --备注 如果是修改基本信息,则该用户所有简历都更新cvLevel
  11465. -- @Type = 2 针对的是多份的无数据的,这样只执行一次该方法即可,不然要执行中英文两次,cvMain触发器也要执行两次
  11466. --##########################################
  11467. CREATE PROCEDURE [dbo].[v2018_pcCvMainByCvLevelUpdate]
  11468. (
  11469. @Type INT,
  11470. @cvMainID INT,
  11471. @Pos INT,
  11472. @cvLevel CHAR(1)
  11473. )
  11474. AS
  11475. SET NOCOUNT ON
  11476. BEGIN
  11477. IF @Type = 0
  11478. BEGIN
  11479. IF @Pos = 1
  11480. UPDATE a SET cvLevel = '11' + RIGHT(cvLevel, 8) FROM cvMain a, paMain b WHERE a.paMainID = b.ID AND a.ID = @cvMainID
  11481. ELSE
  11482. UPDATE cvMain SET cvLevel = LEFT(cvLevel, @Pos - 1) + @cvLevel + RIGHT(cvLevel, 10 - @Pos) WHERE ID = @cvMainID
  11483. END
  11484. ELSE IF @Type = 1
  11485. BEGIN
  11486. IF @Pos = 1
  11487. UPDATE a SET cvLevelEng = '11' + RIGHT(cvLevelEng, 8) FROM cvMain a, paMain b WHERE a.paMainID = b.ID AND a.ID = @cvMainID
  11488. ELSE
  11489. UPDATE cvMain SET cvLevelEng = LEFT(cvLevelEng, @Pos - 1) + @cvLevel + RIGHT(cvLevelEng, 10 - @Pos) WHERE ID = @cvMainID
  11490. END
  11491. ELSE IF @Type = 2
  11492. BEGIN
  11493. UPDATE cvMain SET
  11494. cvLevel = LEFT(cvLevel, @Pos - 1) + @cvLevel + RIGHT(cvLevel, 10 - @Pos),
  11495. cvLevelEng = LEFT(cvLevelEng, @Pos - 1) + @cvLevel + RIGHT(cvLevelEng, 10 - @Pos)
  11496. WHERE ID = @cvMainID
  11497. END
  11498. UPDATE cvMain SET RefreshDate = GETDATE() WHERE ID = @cvMainID AND DATEADD(HOUR, 1, RefreshDate) < GETDATE()
  11499. END
  11500. SET NOCOUNT OFF
  11501. GO
  11502. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainByDegreeUpdate] Script Date: 2018/12/13 19:13:37 ******/
  11503. SET ANSI_NULLS ON
  11504. GO
  11505. SET QUOTED_IDENTIFIER ON
  11506. GO
  11507. --#####################################################
  11508. --创建时间:2018.6.27
  11509. --创建人:Lucifer
  11510. --说明:更新cvMain中的最高学历
  11511. --#####################################################
  11512. CREATE PROCEDURE [dbo].[v2018_pcCvMainByDegreeUpdate]
  11513. @cvMainID INT
  11514. AS
  11515. SET NOCOUNT ON
  11516. BEGIN TRY
  11517. DECLARE @dcMajorID SMALLINT
  11518. DECLARE @Degree TINYINT
  11519. SELECT TOP 1 @Degree = Degree, @dcMajorID = dcMajorID FROM cvEducation WITH(NOLOCK)
  11520. WHERE cvMainID = @cvMainID AND Degree = (
  11521. SELECT MAX(Degree) FROM cvEducation WITH(NOLOCK) WHERE cvMainID = @cvMainID
  11522. ) ORDER BY ID DESC
  11523. UPDATE cvMain SET Degree = @Degree, dcMajorID = @dcMajorID WHERE ID = @cvMainID
  11524. END TRY
  11525. BEGIN CATCH
  11526. END CATCH
  11527. SET NOCOUNT OFF
  11528. GO
  11529. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainCreate] Script Date: 2018/12/13 19:13:37 ******/
  11530. SET ANSI_NULLS ON
  11531. GO
  11532. SET QUOTED_IDENTIFIER ON
  11533. GO
  11534. --####################################################
  11535. --添加人:Lucifer
  11536. --添加时间:2018-7-11
  11537. --描述:新建简历
  11538. --####################################################
  11539. CREATE PROCEDURE [dbo].[v2018_pcCvMainCreate]
  11540. (
  11541. @paMainID INT,
  11542. @IP VARCHAR(39)
  11543. )
  11544. AS
  11545. SET NOCOUNT ON
  11546. BEGIN TRY
  11547. --已经有3份简历
  11548. IF (SELECT COUNT(*) FROM cvMain WITH(NOLOCK INDEX(IX_cvMain_paMainID)) WHERE paMainID = @paMainID) > 2
  11549. BEGIN
  11550. RETURN 0
  11551. END
  11552. ELSE
  11553. BEGIN
  11554. DECLARE @Mobile VARCHAR(13), @Name VARCHAR(20), @cvLevel AS CHAR(10), @cvLevelEng AS CHAR(10)
  11555. SELECT @cvLevel = '1000000000', @cvLevelEng = '1000000000'
  11556. SELECT @Name = ISNULL([Name], ''), @Mobile = ISNULL(Mobile, '') FROM paMain WITH(NOLOCK INDEX(PK_paMain)) WHERE ID = @paMainID
  11557. IF (LEN(@Mobile) > 0 AND LEN(@Name) > 0)
  11558. BEGIN
  11559. SELECT @cvLevel = '1100000000', @cvLevelEng = '1100000000'
  11560. END
  11561. BEGIN TRAN
  11562. DECLARE @cvMainID AS INT
  11563. INSERT INTO cvMain(paMainID, [Name], cvLevel, cvLevelEng)
  11564. VALUES(@paMainID, '未完成简历', @cvLevel, @cvLevelEng)
  11565. SET @cvMainID = @@IDENTITY
  11566. INSERT INTO paOperationLog (paMainID,Operation,Details,IP)
  11567. VALUES(@paMainID, 14, '创建简历,编号' + RTRIM(CONVERT(VARCHAR(10),@cvMainID)), @IP)
  11568. UPDATE dcSystemData SET Value = Value + RAND() * 5.4 WHERE ID = 1
  11569. COMMIT
  11570. RETURN @cvMainID
  11571. END
  11572. END TRY
  11573. BEGIN CATCH
  11574. PRINT ''
  11575. ROLLBACK TRAN
  11576. RETURN 0
  11577. END CATCH
  11578. GO
  11579. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainDelete] Script Date: 2018/12/13 19:13:37 ******/
  11580. SET ANSI_NULLS ON
  11581. GO
  11582. SET QUOTED_IDENTIFIER ON
  11583. GO
  11584. --################################################################
  11585. --创建人:Lucifer
  11586. --创建时间:2018-7-30
  11587. --描述:删除简历
  11588. --################################################################
  11589. CREATE PROCEDURE [dbo].[v2018_pcCvMainDelete]
  11590. @ID INT,
  11591. @paMainID INT,
  11592. @IP VARCHAR(30)
  11593. AS
  11594. SET NOCOUNT ON
  11595. BEGIN TRAN
  11596. BEGIN TRY
  11597. DELETE FROM cvMain WHERE ID = @ID AND paMainID = @paMainID
  11598. IF @@ROWCOUNT > 0
  11599. BEGIN
  11600. INSERT INTO paOperationLog(paMainID, Operation, Details, [IP])
  11601. VALUES(@paMainID, 15, '删除简历,编号' + RTRIM(CONVERT(VARCHAR(10), @ID)), @IP)
  11602. END
  11603. END TRY
  11604. BEGIN CATCH
  11605. GOTO ERR
  11606. END CATCH
  11607. COMMIT TRAN
  11608. RETURN 1
  11609. ERR:
  11610. BEGIN
  11611. ROLLBACK TRAN
  11612. RETURN 0
  11613. END
  11614. GO
  11615. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainSelect] Script Date: 2018/12/13 19:13:37 ******/
  11616. SET ANSI_NULLS ON
  11617. GO
  11618. SET QUOTED_IDENTIFIER ON
  11619. GO
  11620. --#####################################################
  11621. --创建时间:2018.6.21
  11622. --创建人:Lucifer
  11623. --说明:获取用户及简历信息
  11624. --#####################################################
  11625. CREATE PROCEDURE [dbo].[v2018_pcCvMainSelect]
  11626. (
  11627. @paMainId INT,
  11628. @cvMainId INT
  11629. )
  11630. AS
  11631. SET NOCOUNT ON
  11632. BEGIN
  11633. SELECT a.*, b.[Name] MapPlace, dbo.BirthToAge(a.BirthDay) Age FROM paMain a WITH(NOLOCK)
  11634. LEFT JOIN dcMapPlace b WITH(NOLOCK) ON a.dcMapPlaceID = b.ID
  11635. WHERE a.ID = @paMainId
  11636. SELECT * FROM paPhoto WITH(NOLOCK) WHERE paMainId = @paMainId
  11637. SELECT a.*,
  11638. (
  11639. SELECT DISTINCT (SELECT CONVERT(VARCHAR(6), dcJobTypeID) + ' ' FROM cvJobType WHERE cvMainId = b.cvMainId FOR XML PATH(''))
  11640. FROM cvJobType b WHERE b.cvMainId = a.Id
  11641. ) cvJobTypeId,
  11642. (
  11643. SELECT DISTINCT (SELECT CONVERT(VARCHAR(6), dcRegionID) + ' ' FROM cvJobPlace WHERE cvMainId = b.cvMainId FOR XML PATH(''))
  11644. FROM cvJobPlace b WHERE b.cvMainId = a.Id
  11645. ) cvJobPlaceId,
  11646. (
  11647. SELECT DISTINCT (SELECT CONVERT(VARCHAR(6), dcIndustryID) + ' ' FROM cvIndustry WHERE cvMainId = b.cvMainId FOR XML PATH(''))
  11648. FROM cvIndustry b WHERE b.cvMainId = a.Id
  11649. ) cvIndustryId
  11650. FROM cvMain a WITH(NOLOCK) WHERE a.Id = @cvMainId
  11651. SELECT * FROM cvEducation WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11652. SELECT * FROM cvExperience WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11653. SELECT * FROM cvLanguage WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11654. SELECT * FROM cvTraining WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11655. SELECT * FROM cvProject WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11656. SELECT * FROM cvAppendix WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11657. SELECT * FROM cvAttachment WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11658. SELECT * FROM cvTags WITH(NOLOCK) WHERE cvMainId = @cvMainId
  11659. END
  11660. SET NOCOUNT OFF
  11661. GO
  11662. /****** Object: StoredProcedure [dbo].[v2018_pcCvMainUpdate] Script Date: 2018/12/13 19:13:38 ******/
  11663. SET ANSI_NULLS ON
  11664. GO
  11665. SET QUOTED_IDENTIFIER ON
  11666. GO
  11667. --#####################################################
  11668. --创建时间:2018.6.21
  11669. --创建人:Lucifer
  11670. --说明:保存简历信息
  11671. --@ModifyType 1、修改简历姓名 2、修改简历/姓名开放 3、修改工作能力 4、修改求职意向
  11672. --#####################################################
  11673. CREATE PROCEDURE [dbo].[v2018_pcCvMainUpdate]
  11674. (
  11675. @cvMainID INT,
  11676. @paMainID INT,
  11677. @Name VARCHAR(30),
  11678. @IsNameHidden BIT,
  11679. @IsCvHidden BIT,
  11680. @Speciality VARCHAR(MAX),
  11681. @SpecialityEng VARCHAR(MAX),
  11682. @RelatedWorkYears TINYINT,
  11683. @EmployType TINYINT,
  11684. @dcSalaryID TINYINT,
  11685. @IsNegotiable TINYINT,
  11686. @JobType VARCHAR(100),
  11687. @JobPlace VARCHAR(100),
  11688. @Industry VARCHAR(100),
  11689. @IP VARCHAR(39),
  11690. @ModifyType TINYINT
  11691. )
  11692. AS
  11693. SET NOCOUNT ON
  11694. BEGIN TRAN
  11695. IF NOT EXISTS(SELECT TOP 1 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  11696. GOTO ERR
  11697. --BEGIN TRY
  11698. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  11699. IF @ModifyType = 1 --修改简历姓名
  11700. BEGIN
  11701. UPDATE cvMain SET
  11702. [Name] = @Name
  11703. WHERE ID = @cvMainID
  11704. END
  11705. ELSE IF @ModifyType = 2 --修改简历/姓名开放
  11706. BEGIN
  11707. UPDATE cvMain SET
  11708. IsCvHidden = @IsCvHidden,
  11709. IsNameHidden = @IsNameHidden
  11710. WHERE ID = @cvMainID
  11711. END
  11712. ELSE IF @ModifyType = 3 --修改工作能力
  11713. BEGIN
  11714. DECLARE @SpecialityOld VARCHAR(MAX)
  11715. DECLARE @SpecialityEngOld VARCHAR(MAX)
  11716. --获得原始数据
  11717. SELECT @SpecialityOld = Speciality, @SpecialityEngOld = SpecialityEng
  11718. FROM cvMain WITH(NOLOCK)
  11719. WHERE ID = @cvMainID
  11720. --选填没填置空
  11721. SET @Speciality = dbo.v2018_SetVarcharNull(@Speciality)
  11722. SET @SpecialityEng = dbo.v2018_SetVarcharNull(@SpecialityEng)
  11723. UPDATE cvMain SET
  11724. Speciality = @Speciality,
  11725. SpecialityEng = @SpecialityEng
  11726. WHERE ID = @cvMainID
  11727. --添加审核记录
  11728. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @Speciality, @SpecialityOld, 'bc2', @IP
  11729. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @SpecialityEng, @SpecialityEngOld, 'be2', @IP
  11730. END
  11731. ELSE IF @ModifyType = 4 --修改求职意向
  11732. BEGIN
  11733. UPDATE cvMain SET
  11734. RelatedWorkYears = @RelatedWorkYears,
  11735. EmployType = @EmployType,
  11736. dcSalaryID = @dcSalaryID,
  11737. IsNegotiable = @IsNegotiable
  11738. WHERE ID = @cvMainID
  11739. DELETE FROM cvJobPlace WHERE cvMainID = @cvMainID
  11740. INSERT INTO cvJobPlace(cvMainID, dcRegionID)
  11741. SELECT TOP 5 @cvMainID, a FROM dbo.fnSplit(@JobPlace, ' ')
  11742. DELETE FROM cvJobType WHERE cvMainID = @cvMainID
  11743. INSERT INTO cvJobType(cvMainID, dcJobTypeID)
  11744. SELECT TOP 5 @cvMainID, a FROM dbo.fnSplit(@JobType, ' ')
  11745. DELETE FROM cvIndustry WHERE cvMainID = @cvMainID
  11746. INSERT INTO cvIndustry(cvMainID, dcIndustryID)
  11747. SELECT @cvMainID, a FROM dbo.fnSplit(@Industry, ' ')
  11748. IF ISNULL(@Name, '未完成简历') = '未完成简历'
  11749. BEGIN
  11750. SELECT TOP 1 @Name = [Description]
  11751. FROM cvJobPlace a WITH(NOLOCK), dcRegion b WITH(NOLOCK)
  11752. WHERE a.dcRegionID = b.ID AND a.cvMainID = @cvMainID
  11753. SELECT TOP 1 @Name = @Name + '+' + [Description]
  11754. FROM cvJobType a WITH(NOLOCK), dcJobType b WITH(NOLOCK)
  11755. WHERE a.dcJobTypeID = b.ID AND a.cvMainID = @cvMainID
  11756. UPDATE cvMain SET
  11757. [Name] = @Name
  11758. WHERE ID = @cvMainID
  11759. END
  11760. --更新求职意向的cvLevel
  11761. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 6, 1
  11762. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 6, 1
  11763. IF @RelatedWorkYears = 0
  11764. BEGIN
  11765. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 4, 1
  11766. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 4, 1
  11767. END
  11768. ELSE
  11769. BEGIN
  11770. IF NOT EXISTS(SELECT TOP 1 'X' FROM cvExperience WITH(NOLOCK) WHERE cvMainId = @cvMainID)
  11771. BEGIN
  11772. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 4, 0
  11773. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 4, 0
  11774. END
  11775. END
  11776. END
  11777. --END TRY
  11778. --BEGIN CATCH
  11779. -- GOTO ERR
  11780. --END CATCH
  11781. COMMIT TRAN
  11782. RETURN 1
  11783. ERR:
  11784. BEGIN
  11785. ROLLBACK TRAN
  11786. RETURN 0
  11787. END
  11788. SET NOCOUNT OFF
  11789. GO
  11790. /****** Object: StoredProcedure [dbo].[v2018_pcCvModifyInsert] Script Date: 2018/12/13 19:13:38 ******/
  11791. SET ANSI_NULLS ON
  11792. GO
  11793. SET QUOTED_IDENTIFIER ON
  11794. GO
  11795. --#########################################################
  11796. --添加人 Lucifer
  11797. --添加时间 2018-6-25
  11798. --用途 简历待审核数据插入
  11799. --#########################################################
  11800. CREATE PROCEDURE [dbo].[v2018_pcCvModifyInsert]
  11801. (
  11802. @paMainID INT,
  11803. @cvMainID INT,
  11804. @SubID INT,
  11805. @Value VARCHAR(MAX),
  11806. @ValueOld VARCHAR(MAX),
  11807. @ColType VARCHAR(5),
  11808. @IP VARCHAR(31)
  11809. )
  11810. AS
  11811. SET NOCOUNT ON
  11812. BEGIN
  11813. SET @Value = dbo.v2018_SetVarcharNull(@Value)
  11814. SET @ValueOld = dbo.v2018_SetVarcharNull(@ValueOld)
  11815. --修改的是paMain信息,将cvMainID置空
  11816. IF LEFT(@ColType, 1) = 'a'
  11817. BEGIN
  11818. SET @cvMainID = NULL
  11819. END
  11820. --插入待审核记录
  11821. DELETE FROM bsCvModify WHERE paMainID = @paMainID AND ISNULL(cvMainID, 0) = ISNULL(@cvMainID, 0) AND ISNULL(SubID, 0) = ISNULL(@SubID, 0) AND [Location] = @ColType
  11822. IF @Value <> ISNULL(@ValueOld, '') AND @Value IS NOT NULL
  11823. BEGIN
  11824. INSERT INTO bsCvModify(paMainID, cvMainID, SubID, [Location], ColValue) VALUES(@paMainID, @cvMainID, @SubID, @ColType, @Value)
  11825. IF @ColType = 'ac1'
  11826. BEGIN
  11827. INSERT INTO paOperationLog (paMainID, Operation, Details, [IP])
  11828. VALUES(@paMainID, 30, '更新姓名,原姓名:<' + ISNULL(@ValueOld, '') + '>;新姓名:<' + @Value + '>', @IP)
  11829. END
  11830. ELSE IF @ColType = 'ae1'
  11831. BEGIN
  11832. INSERT INTO paOperationLog (paMainID, Operation, Details, [IP])
  11833. VALUES(@paMainID, 30, '更新英文名,原英文名:<' + ISNULL(@ValueOld, '') + '>;新英文名:<' + @Value + '>', @IP)
  11834. END
  11835. END
  11836. END
  11837. SET NOCOUNT OFF
  11838. GO
  11839. /****** Object: StoredProcedure [dbo].[v2018_pcCvProjectDelete] Script Date: 2018/12/13 19:13:38 ******/
  11840. SET ANSI_NULLS ON
  11841. GO
  11842. SET QUOTED_IDENTIFIER ON
  11843. GO
  11844. --#####################################################
  11845. --创建时间:2018.6.27
  11846. --创建人:Lucifer
  11847. --说明:删除项目经历
  11848. --#####################################################
  11849. CREATE PROCEDURE [dbo].[v2018_pcCvProjectDelete]
  11850. @ID INT,
  11851. @paMainID INT
  11852. AS
  11853. SET NOCOUNT ON
  11854. BEGIN TRAN
  11855. BEGIN TRY
  11856. DECLARE @cvMainID AS INT
  11857. SELECT @cvMainID = cvMainID FROM cvProject WITH(NOLOCK INDEX(PK_cvProject)) WHERE ID = @ID
  11858. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  11859. GOTO ERR
  11860. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'f%'
  11861. DELETE FROM cvProject WHERE ID = @ID
  11862. IF (SELECT COUNT(1) FROM cvProject WITH(NOLOCK INDEX(PK_cvProject)) WHERE cvMainID = @cvMainID) = 0
  11863. BEGIN
  11864. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 9, 0
  11865. END
  11866. ELSE
  11867. BEGIN
  11868. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  11869. END
  11870. END TRY
  11871. BEGIN CATCH
  11872. GOTO ERR
  11873. END CATCH
  11874. COMMIT TRAN
  11875. RETURN 1
  11876. ERR:
  11877. BEGIN
  11878. ROLLBACK TRAN
  11879. RETURN 0
  11880. END
  11881. SET NOCOUNT OFF
  11882. GO
  11883. /****** Object: StoredProcedure [dbo].[v2018_pcCvProjectSave] Script Date: 2018/12/13 19:13:38 ******/
  11884. SET ANSI_NULLS ON
  11885. GO
  11886. SET QUOTED_IDENTIFIER ON
  11887. GO
  11888. --####################################################
  11889. --添加人:Lucifer
  11890. --添加时间:2018-6-27
  11891. --描述:保存项目经历
  11892. --返回值 0 失败 >0成功 -1超过最大限制
  11893. --####################################################
  11894. CREATE PROCEDURE [dbo].[v2018_pcCvProjectSave]
  11895. (
  11896. @ID INT,
  11897. @cvMainID INT,
  11898. @Name NVARCHAR(50),
  11899. @NameEng VARCHAR(250),
  11900. @StartDate INT,
  11901. @EndDate INT,
  11902. @Description NVARCHAR(1000),
  11903. @DescriptionEng VARCHAR(MAX),
  11904. @Responsibilities NVARCHAR(200),
  11905. @ResponsibilitiesEng VARCHAR(1000),
  11906. @paMainID INT,
  11907. @IP VARCHAR(31)
  11908. )
  11909. AS
  11910. SET NOCOUNT ON
  11911. BEGIN TRAN
  11912. ----检查是否是该账号的简历
  11913. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  11914. GOTO ERR
  11915. ----检查是否是该简历的项目经历
  11916. IF @ID > 0
  11917. IF NOT EXISTS(SELECT 'X' FROM cvProject WITH(NOLOCK INDEX(PK_cvProject)) WHERE ID = @ID AND cvMainID = @cvMainID)
  11918. GOTO ERR
  11919. BEGIN TRY
  11920. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  11921. SET @NameEng = dbo.v2018_SetVarcharNull(@NameEng)
  11922. SET @Description = dbo.v2018_SetVarcharNull(@Description)
  11923. SET @DescriptionEng = dbo.v2018_SetVarcharNull(@DescriptionEng)
  11924. SET @Responsibilities = dbo.v2018_SetVarcharNull(@Responsibilities)
  11925. SET @ResponsibilitiesEng = dbo.v2018_SetVarcharNull(@ResponsibilitiesEng)
  11926. DECLARE @NameOld NVARCHAR(50)
  11927. DECLARE @NameEngOld VARCHAR(250)
  11928. DECLARE @DescriptionOld NVARCHAR(1000)
  11929. DECLARE @DescriptionEngOld VARCHAR(MAX)
  11930. DECLARE @ResponsibilitiesOld NVARCHAR(200)
  11931. DECLARE @ResponsibilitiesEngOld VARCHAR(1000)
  11932. IF @ID = 0
  11933. BEGIN
  11934. --项目经历最多10个
  11935. IF (SELECT COUNT(1) FROM cvProject WITH(NOLOCK INDEX(PK_cvProject)) WHERE cvMainID = @cvMainID) >= 10
  11936. GOTO ERRMAX
  11937. INSERT INTO cvProject(cvMainID, [Name], NameEng, StartDate, EndDate, [Description], DescriptionEng, Responsibilities, ResponsibilitiesEng)
  11938. VALUES(@cvMainID, @Name, @NameEng, @StartDate, @EndDate, @Description, @DescriptionEng, @Responsibilities, @ResponsibilitiesEng)
  11939. SET @ID = @@IDENTITY
  11940. END
  11941. ELSE
  11942. BEGIN
  11943. SELECT @NameOld = [Name], @NameEngOld = NameEng,
  11944. @DescriptionOld = [Description], @DescriptionEngOld = DescriptionEng,
  11945. @ResponsibilitiesOld = Responsibilities, @ResponsibilitiesEngOld = ResponsibilitiesEng
  11946. FROM cvProject WITH(NOLOCK INDEX(PK_cvProject)) WHERE ID = @ID
  11947. UPDATE cvProject SET
  11948. [Name] = @Name,
  11949. NameEng = @NameEng,
  11950. StartDate = @StartDate,
  11951. EndDate = @EndDate,
  11952. [Description] = @Description,
  11953. DescriptionEng = @DescriptionEng,
  11954. Responsibilities = @Responsibilities,
  11955. ResponsibilitiesEng = @ResponsibilitiesEng
  11956. WHERE ID = @ID
  11957. END
  11958. --添加审核记录
  11959. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Name, @NameOld, 'fc1', @IP
  11960. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @NameEng, @NameEngOld, 'fe1', @IP
  11961. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Description, @DescriptionOld, 'fc2', @IP
  11962. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DescriptionEng, @DescriptionEngOld, 'fe2', @IP
  11963. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Responsibilities, @ResponsibilitiesOld, 'fc3', @IP
  11964. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @ResponsibilitiesEng, @ResponsibilitiesEngOld, 'fe3', @IP
  11965. --更新项目经历的CvLevel
  11966. IF @Name IS NOT NULL
  11967. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 9, 1
  11968. IF @NameEng IS NOT NULL
  11969. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 9, 1
  11970. END TRY
  11971. BEGIN CATCH
  11972. GOTO ERR
  11973. END CATCH
  11974. COMMIT TRAN
  11975. RETURN @ID
  11976. ERR:
  11977. BEGIN
  11978. ROLLBACK TRAN
  11979. RETURN 0
  11980. END
  11981. ERRMAX:
  11982. BEGIN
  11983. ROLLBACK TRAN
  11984. RETURN -1
  11985. END
  11986. SET NOCOUNT OFF
  11987. GO
  11988. /****** Object: StoredProcedure [dbo].[v2018_pcCvTrainingDelete] Script Date: 2018/12/13 19:13:39 ******/
  11989. SET ANSI_NULLS ON
  11990. GO
  11991. SET QUOTED_IDENTIFIER ON
  11992. GO
  11993. --#####################################################
  11994. --创建时间:2018.6.27
  11995. --创建人:Lucifer
  11996. --说明:删除培训经历
  11997. --#####################################################
  11998. CREATE PROCEDURE [dbo].[v2018_pcCvTrainingDelete]
  11999. @ID INT,
  12000. @paMainID INT
  12001. AS
  12002. SET NOCOUNT ON
  12003. BEGIN TRAN
  12004. BEGIN TRY
  12005. DECLARE @cvMainID AS INT
  12006. SELECT @cvMainID = cvMainID FROM cvTraining WITH(NOLOCK INDEX(PK_cvTraining)) WHERE ID = @ID
  12007. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID AND ID = @cvMainID)
  12008. GOTO ERR
  12009. DELETE FROM bsCvModify WHERE SubID = @ID AND Location LIKE 'g%'
  12010. DELETE FROM cvTraining WHERE ID = @ID
  12011. IF (SELECT COUNT(1) FROM cvTraining WITH(NOLOCK INDEX(PK_cvTraining)) WHERE cvMainID = @cvMainID) = 0
  12012. BEGIN
  12013. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 8, 0
  12014. END
  12015. ELSE
  12016. BEGIN
  12017. UPDATE cvMain SET cvLevel = cvLevel WHERE ID = @cvMainID
  12018. END
  12019. END TRY
  12020. BEGIN CATCH
  12021. GOTO ERR
  12022. END CATCH
  12023. COMMIT TRAN
  12024. RETURN 1
  12025. ERR:
  12026. BEGIN
  12027. ROLLBACK TRAN
  12028. RETURN 0
  12029. END
  12030. SET NOCOUNT OFF
  12031. GO
  12032. /****** Object: StoredProcedure [dbo].[v2018_pcCvTrainingSave] Script Date: 2018/12/13 19:13:39 ******/
  12033. SET ANSI_NULLS ON
  12034. GO
  12035. SET QUOTED_IDENTIFIER ON
  12036. GO
  12037. --####################################################
  12038. --添加人:Lucifer
  12039. --添加时间:2018-6-27
  12040. --描述:保存培训经历
  12041. --返回值 0 失败 >0成功 -1超过最大限制
  12042. --####################################################
  12043. CREATE PROCEDURE [dbo].[v2018_pcCvTrainingSave]
  12044. (
  12045. @ID INT,
  12046. @cvMainID INT,
  12047. @StartDate INT,
  12048. @TimeLength TINYINT,
  12049. @TimeUnit TINYINT,
  12050. @Institution NVARCHAR(30),
  12051. @InstitutionEng VARCHAR(150),
  12052. @Course NVARCHAR(50),
  12053. @CourseEng VARCHAR(250),
  12054. @City NVARCHAR(10),
  12055. @CityEng VARCHAR(50),
  12056. @Certificate NVARCHAR(50),
  12057. @CertificateEng VARCHAR(250),
  12058. @Details NVARCHAR(500),
  12059. @DetailsEng VARCHAR(2500),
  12060. @paMainID INT,
  12061. @IP VARCHAR(31)
  12062. )
  12063. AS
  12064. SET NOCOUNT ON
  12065. BEGIN TRAN
  12066. ----检查是否是该账号的简历
  12067. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  12068. GOTO ERR
  12069. ----检查是否是该简历的培训经历
  12070. IF @ID > 0
  12071. IF NOT EXISTS(SELECT 'X' FROM cvTraining WITH(NOLOCK INDEX(PK_cvTraining)) WHERE ID = @ID AND cvMainID = @cvMainID)
  12072. GOTO ERR
  12073. BEGIN TRY
  12074. SET @Institution = dbo.v2018_SetVarcharNull(@Institution)
  12075. SET @InstitutionEng = dbo.v2018_SetVarcharNull(@InstitutionEng)
  12076. SET @Course = dbo.v2018_SetVarcharNull(@Course)
  12077. SET @CourseEng = dbo.v2018_SetVarcharNull(@CourseEng)
  12078. SET @City = dbo.v2018_SetVarcharNull(@City)
  12079. SET @CityEng = dbo.v2018_SetVarcharNull(@CityEng)
  12080. SET @Certificate = dbo.v2018_SetVarcharNull(@Certificate)
  12081. SET @CertificateEng = dbo.v2018_SetVarcharNull(@CertificateEng)
  12082. SET @Details = dbo.v2018_SetVarcharNull(@Details)
  12083. SET @DetailsEng = dbo.v2018_SetVarcharNull(@DetailsEng)
  12084. DECLARE @InstitutionOld NVARCHAR(30)
  12085. DECLARE @InstitutionEngOld VARCHAR(150)
  12086. DECLARE @CourseOld NVARCHAR(50)
  12087. DECLARE @CourseEngOld VARCHAR(250)
  12088. DECLARE @CityOld NVARCHAR(10)
  12089. DECLARE @CityEngOld VARCHAR(50)
  12090. DECLARE @CertificateOld NVARCHAR(50)
  12091. DECLARE @CertificateEngOld VARCHAR(250)
  12092. DECLARE @DetailsOld NVARCHAR(500)
  12093. DECLARE @DetailsEngOld VARCHAR(2500)
  12094. IF @ID = 0
  12095. BEGIN
  12096. --培训经历最多10个
  12097. IF (SELECT COUNT(1) FROM cvTraining WITH(NOLOCK INDEX(PK_cvTraining)) WHERE cvMainID = @cvMainID) >= 10
  12098. GOTO ERRMAX
  12099. INSERT INTO cvTraining(cvMainID, StartDate, TimeLength, TimeUnit, Institution, InstitutionEng, Course, CourseEng, City, CityEng, [Certificate], CertificateEng, Details, DetailsEng)
  12100. VALUES(@cvMainID, @StartDate, @TimeLength, @TimeUnit, @Institution, @InstitutionEng, @Course, @CourseEng, @City, @CityEng, @Certificate, @CertificateEng, @Details, @DetailsEng)
  12101. SET @ID = @@IDENTITY
  12102. END
  12103. ELSE
  12104. BEGIN
  12105. SELECT @InstitutionOld = Institution, @InstitutionEngOld = InstitutionEng,
  12106. @CourseOld = Course, @CourseEngOld = CourseEng,
  12107. @CityOld = City, @CityEngOld = CityEng,
  12108. @CertificateOld = [Certificate], @CertificateEngOld = CertificateEng,
  12109. @DetailsOld = Details, @DetailsEngOld = DetailsEng
  12110. FROM cvTraining WITH(NOLOCK INDEX(PK_cvTraining)) WHERE ID = @ID
  12111. UPDATE cvTraining SET
  12112. StartDate = @StartDate,
  12113. TimeLength = @TimeLength,
  12114. TimeUnit = @TimeUnit,
  12115. Institution = @Institution,
  12116. InstitutionEng =InstitutionEng,
  12117. Course = @Course,
  12118. CourseEng = @CourseEng,
  12119. City = @City,
  12120. CityEng = @CityEng,
  12121. [Certificate] = @Certificate,
  12122. CertificateEng = @CertificateEng,
  12123. Details = @Details,
  12124. DetailsEng = @DetailsEng
  12125. WHERE ID = @ID
  12126. END
  12127. --添加审核记录
  12128. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Institution, @InstitutionOld, 'gc1', @IP
  12129. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @InstitutionEng, @InstitutionEngOld, 'ge1', @IP
  12130. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Course, @CourseOld, 'gc2', @IP
  12131. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @CourseEng, @CourseEngOld, 'ge2', @IP
  12132. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @City, @CityOld, 'gc3', @IP
  12133. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @CityEng, @CityEngOld, 'ge3', @IP
  12134. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Certificate, @CertificateOld, 'gc4', @IP
  12135. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @CertificateEng, @CertificateEngOld, 'ge4', @IP
  12136. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @Details, @DetailsOld, 'gc5', @IP
  12137. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, @ID, @DetailsEng, @DetailsEngOld, 'ge5', @IP
  12138. --更新培训经历的CvLevel
  12139. IF @Institution IS NOT NULL
  12140. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 8, 1
  12141. IF @InstitutionEng IS NOT NULL
  12142. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 8, 1
  12143. END TRY
  12144. BEGIN CATCH
  12145. GOTO ERR
  12146. END CATCH
  12147. COMMIT TRAN
  12148. RETURN @ID
  12149. ERR:
  12150. BEGIN
  12151. ROLLBACK TRAN
  12152. RETURN 0
  12153. END
  12154. ERRMAX:
  12155. BEGIN
  12156. ROLLBACK TRAN
  12157. RETURN -1
  12158. END
  12159. SET NOCOUNT OFF
  12160. GO
  12161. /****** Object: StoredProcedure [dbo].[v2018_pcDcAutoEmailSelect] Script Date: 2018/12/13 19:13:39 ******/
  12162. SET ANSI_NULLS ON
  12163. GO
  12164. SET QUOTED_IDENTIFIER ON
  12165. GO
  12166. --#####################################################
  12167. --创建时间:2018.6.21
  12168. --创建人:Lucifer
  12169. --说明:获取随机邮箱
  12170. --#####################################################
  12171. CREATE PROCEDURE [dbo].[v2018_pcDcAutoEmailSelect]
  12172. AS
  12173. BEGIN
  12174. IF NOT EXISTS(SELECT TOP 1 'X' FROM dcAutoEmail WITH(NOLOCK) ORDER BY ID)
  12175. BEGIN
  12176. SELECT TOP 0 * INTO #t FROM dcAutoEmail
  12177. INSERT #t
  12178. SELECT TOP 10000 LEFT(NEWID(), 3) + '_' + LEFT(NEWID(), 2) + '@your_email.com' FROM cpMain
  12179. UPDATE #t SET Email = CHAR(65 + id % 26) + Email
  12180. DELETE a
  12181. FROM #t a, dcAutoEmail b
  12182. WHERE a.Email = b.Email
  12183. DELETE a
  12184. FROM #t a, paMain b
  12185. WHERE a.Email = b.Email
  12186. DELETE a
  12187. FROM #t a, Resume_XinXi b
  12188. WHERE a.Email = b.Email
  12189. INSERT INTO dcAutoEmail SELECT DISTINCT Email FROM #t
  12190. END
  12191. DECLARE @Email VARCHAR(50)
  12192. SELECT TOP 1 @Email = Email FROM dcAutoEmail ORDER BY ID
  12193. DELETE FROM dcAutoEmail WHERE Email = @Email
  12194. SELECT @Email
  12195. END
  12196. GO
  12197. /****** Object: StoredProcedure [dbo].[v2018_pcExImageInsert] Script Date: 2018/12/13 19:13:40 ******/
  12198. SET ANSI_NULLS ON
  12199. GO
  12200. SET QUOTED_IDENTIFIER ON
  12201. GO
  12202. --####################################################
  12203. --添加人:Lucifer
  12204. --添加时间:2018-6-27
  12205. --描述:上传照片中转
  12206. --####################################################
  12207. CREATE PROCEDURE [dbo].[v2018_pcExImageInsert]
  12208. (
  12209. @OutID INT,
  12210. @OutType INT,
  12211. @UID VARCHAR(20) OUTPUT
  12212. )
  12213. AS
  12214. BEGIN
  12215. DECLARE @T AS VARCHAR(20)
  12216. SET @T = CONVERT(VARCHAR(20), CONVERT(DECIMAL(18,12),GETDATE()))
  12217. SET @T = RTRIM(CONVERT(VARCHAR(12), @OutID)) + '_' + RIGHT(@T,8)
  12218. Insert Into exImage(OutID,OutType,UniqueID)
  12219. Values(@OutID,@OutType,@T)
  12220. SET @UID = @T
  12221. END
  12222. GO
  12223. /****** Object: StoredProcedure [dbo].[v2018_pcExInterViewSelect] Script Date: 2018/12/13 19:13:40 ******/
  12224. SET ANSI_NULLS ON
  12225. GO
  12226. SET QUOTED_IDENTIFIER ON
  12227. GO
  12228. --################################################################
  12229. --创建人:Lucifer
  12230. --创建时间:2018-7-23
  12231. --描述:个人面试通知
  12232. CREATE PROCEDURE [dbo].[v2018_pcExInterViewSelect]
  12233. (
  12234. @Where VARCHAR(1000),
  12235. @Order VARCHAR(100)
  12236. )
  12237. AS
  12238. SET NOCOUNT ON
  12239. BEGIN
  12240. SET @Where = dbo.SafeSQL(@Where)
  12241. SET @Order = dbo.SafeSQL(@Order)
  12242. DECLARE @SQL VARCHAR(2000)
  12243. SET @SQL = 'SELECT a.ID, a.JobID, a.cvMainID, a.InterviewDate, a.InterViewPlace, a.LinkMan, a.Telephone, a.Remark,
  12244. a.AddDate, a.Reply, a.ReplyMessage, a.Replydate, a.Result, a.ResultDate, a.CompanyDeleted, a.CompanyDeleteDate,
  12245. a.PersonDeleted, a.PersonDeleteDate, a.ViewDate, b.*, b.Name JobName, c.Name cpName, c.ID cpID, c.HasLicence,
  12246. c.IsAgent, d.Name cvName, c.Membertype, b.SecondId EnJobID, c.SecondId EnCpMainID,
  12247. dbo.GetCaOnlineStatus(b.caMainID) IsOnline, b.CaMainID, c.LogoFile LogoUrl, b.Valid JobValid
  12248. FROM exInterView a WITH(NOLOCK)
  12249. INNER JOIN Job b WITH(NOLOCK) ON b.ID = a.JobID
  12250. INNER JOIN cpMain c WITH(NOLOCK) ON b.cpMainID = c.ID
  12251. INNER JOIN cvMain d WITH(NOLOCK) ON a.cvMainID = d.ID
  12252. WHERE PersonDeleted=0'
  12253. IF LEN(@Where) > 0
  12254. SET @SQL = @SQL + ' AND ' + @Where
  12255. IF LEN(@Order) > 0
  12256. SET @SQL = @SQL + ' ORDER BY ' + @Order
  12257. EXEC(@SQL)
  12258. END
  12259. SET NOCOUNT OFF
  12260. GO
  12261. /****** Object: StoredProcedure [dbo].[v2018_pcExInterViewUpdate] Script Date: 2018/12/13 19:13:40 ******/
  12262. SET ANSI_NULLS ON
  12263. GO
  12264. SET QUOTED_IDENTIFIER ON
  12265. GO
  12266. --################################################################
  12267. --创建人:Lucifer
  12268. --创建时间:2018-7-23
  12269. --描述:答复面试通知
  12270. --################################################################
  12271. CREATE PROCEDURE [dbo].[v2018_pcExInterViewUpdate]
  12272. (
  12273. @ID INT,
  12274. @Reply TINYINT,
  12275. @ReplyMessage VARCHAR(500),
  12276. @paMainId INT
  12277. )
  12278. AS
  12279. SET NOCOUNT ON
  12280. BEGIN
  12281. UPDATE exInterView SET
  12282. Reply = @Reply,
  12283. ReplyMessage = dbo.v2018_SetVarcharNull(@ReplyMessage),
  12284. ReplyDate = GETDATE()
  12285. WHERE ID = @ID
  12286. AND cvMainId IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @paMainId)
  12287. IF @@ROWCOUNT = 0
  12288. BEGIN
  12289. SELECT '0' Result
  12290. RETURN
  12291. END
  12292. DECLARE @ReplyInfo NVARCHAR(20)
  12293. IF @Reply = 1
  12294. BEGIN
  12295. SET @ReplyInfo = '赴约'
  12296. END
  12297. ELSE
  12298. BEGIN
  12299. SET @ReplyInfo = '不赴约'
  12300. END
  12301. INSERT INTO paPushLog(paMainID, PushMessage, PushType)
  12302. SELECT a.caMainID, e.[Name] + '回复' + @ReplyInfo, 13
  12303. FROM caIOSBind a WITH(NOLOCK)
  12304. INNER JOIN Job b WITH(NOLOCK) ON a.caMainID = b.caMainID
  12305. INNER JOIN exInterview c WITH(NOLOCK) ON b.ID = c.JobID
  12306. INNER JOIN cvMain d WITH(NOLOCK) ON c.cvMainId = d.ID
  12307. INNER JOIN paMain e WITH(NOLOCK) ON d.paMainId = e.ID
  12308. WHERE c.ID = @ID
  12309. INSERT wxMessageSend2(TemplateType, WxFansID, PaMainId, CvMainId, CpMainID, CaMainId, JobId, AddDate)
  12310. SELECT 15, b.ID, @paMainID, d.cvMainID, c.cpMainID, c.caMainID, c.ID, GETDATE()
  12311. FROM paLoginContact a WITH(NOLOCK)
  12312. INNER JOIN wxFans b WITH(NOLOCK) ON a.OpenID = b.OpenID
  12313. INNER JOIN Job c WITH(NOLOCK) ON c.caMainID = a.paMainID
  12314. INNER JOIN exInterview d WITH(NOLOCK) ON d.JobID = c.ID
  12315. WHERE a.ContactType = 101 AND d.ID = @ID
  12316. SELECT TOP 1 '1' Result, a.[Name] CompanyName, b.[Name] JobName, a.ConsultantId, c.Email, a.ID, d.Reply, d.cvMainID
  12317. FROM cpMain a WITH(NOLOCK), Job b WITH(NOLOCK), caMain c WITH(NOLOCK), exInterview d WITH(NOLOCK)
  12318. WHERE a.ID = b.cpMainID
  12319. AND b.caMainID = c.ID
  12320. AND b.ID = d.JobId
  12321. AND d.ID = @ID
  12322. END
  12323. SET NOCOUNT OFF
  12324. GO
  12325. /****** Object: StoredProcedure [dbo].[v2018_pcExJobApplyByRemindDateUpdate] Script Date: 2018/12/13 19:13:41 ******/
  12326. SET ANSI_NULLS ON
  12327. GO
  12328. SET QUOTED_IDENTIFIER ON
  12329. GO
  12330. --#####################################################
  12331. --创建时间:2018.7.26
  12332. --创建人:Lucifer
  12333. --说明:申请的职位求答复
  12334. --#####################################################
  12335. CREATE PROCEDURE [dbo].[v2018_pcExJobApplyByRemindDateUpdate]
  12336. (
  12337. @ID INT,
  12338. @paMainID INT
  12339. )
  12340. AS
  12341. SET NOCOUNT ON
  12342. BEGIN
  12343. UPDATE exJobApply SET
  12344. RemindDate = GETDATE()
  12345. WHERE cvMainID IN (SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainID)
  12346. AND ID = @ID
  12347. INSERT INTO paPushLog(paMainID, PushMessage, PushType)
  12348. SELECT a.caMainid, '有求职者求答复TA的简历&#10084;',10
  12349. FROM caIOSBind a WITH(NOLOCK), Job b WITH(NOLOCK), exJobApply c WITH(NOLOCK)
  12350. WHERE a.caMainId = b.caMainId AND b.ID = c.JobID AND c.ID = @ID
  12351. END
  12352. SET NOCOUNT OFF
  12353. GO
  12354. /****** Object: StoredProcedure [dbo].[v2018_pcExJobApplyInsert] Script Date: 2018/12/13 19:13:41 ******/
  12355. SET ANSI_NULLS ON
  12356. GO
  12357. SET QUOTED_IDENTIFIER ON
  12358. GO
  12359. --################################################################
  12360. --创建人:Lucifer
  12361. --创建时间:2018-9-5
  12362. --描述:申请职位
  12363. --################################################################
  12364. CREATE PROCEDURE [dbo].[v2018_pcExJobApplyInsert]
  12365. (
  12366. @JobId INT,
  12367. @cvMainId INT,
  12368. @paMainId INT
  12369. )
  12370. AS
  12371. SET NOCOUNT ON
  12372. BEGIN
  12373. BEGIN TRY
  12374. IF NOT EXISTS(SELECT 'X' FROM cvMain WITH(NOLOCK) WHERE paMainID = @paMainId AND ID = @cvMainId)
  12375. BEGIN
  12376. RETURN 0
  12377. END
  12378. --30天内同一简历同一职位不能重复申请
  12379. IF EXISTS(SELECT 'X' FROM exJobApply WITH(NOLOCK) WHERE JobID = @JobId AND cvMainID = @cvMainId AND AddDate > GETDATE() - 30)
  12380. BEGIN
  12381. RETURN 0
  12382. END
  12383. --职位无效
  12384. IF NOT EXISTS(SELECT 'X' FROM Job WITH(NOLOCK) WHERE ID = @JobId AND Valid = 1)
  12385. BEGIN
  12386. RETURN 0
  12387. END
  12388. DECLARE @MaxID INT
  12389. DECLARE @IsFilter BIT
  12390. SET @IsFilter = dbo.IsJobApplyFilter(@JobId, @cvMainId)
  12391. INSERT INTO exJobApply(JobID, cvMainID, IsTempInsert, IsFilter)
  12392. VALUES(@JobId, @cvMainId, 1, @IsFilter)
  12393. SET @MaxID = @@IDENTITY
  12394. --批量申请的未浏览过该职位的,插入浏览记录
  12395. IF NOT EXISTS(SELECT 'X' FROM paJobViewLog WITH(NOLOCK) WHERE paMainId = @paMainId AND JobId = @JobId)
  12396. BEGIN
  12397. INSERT INTO paJobViewLog(JobId, paMainId, AddDate) VALUES(@JobId, @paMainId, GETDATE())
  12398. UPDATE Job SET ViewNumber = ISNULL(ViewNumber, 0) + 1 WHERE ID = @JobId
  12399. END
  12400. --有应聘邀请的,更新Reply = 1
  12401. UPDATE caCvIntention SET Reply = 1, ReplyDate = GETDATE() WHERE cvMainID = @cvMainId AND JobId = @JobId
  12402. --微信推送
  12403. INSERT wxMessageSend2(Templatetype, WxFansID, PaMainId, CvMainId, CpMainID, CaMainId, JobId, AddDate)
  12404. SELECT 14, b.ID, @paMainId, @cvMainId, c.cpMainID, c.caMainID, c.ID, GETDATE()
  12405. FROM paLoginContact a WITH(NOLOCK), wxFans b WITH(NOLOCK), Job c WITH(NOLOCK)
  12406. WHERE a.OpenID = b.OpenID AND c.caMainID = a.paMainID AND a.ContactType = 101 AND c.ID = @JobId
  12407. --APP推送
  12408. INSERT INTO paPushLog(paMainID, PushMessage, PushType)
  12409. SELECT TOP 1 b.caMainID, '亲,有求职者投递简历啦', 9
  12410. FROM exJobApply a WITH(NOLOCK), Job b WITH(NOLOCK), caIOSBind c WITH(NOLOCK)
  12411. WHERE a.JobId = b.ID AND b.caMainId = c.caMainId AND a.ID = @MaxID
  12412. END TRY
  12413. BEGIN CATCH
  12414. GOTO ERR
  12415. END CATCH
  12416. RETURN @MaxID
  12417. END
  12418. ERR:
  12419. BEGIN
  12420. RETURN 0
  12421. END
  12422. SET NOCOUNT OFF
  12423. GO
  12424. /****** Object: StoredProcedure [dbo].[v2018_pcExJobApplySelect] Script Date: 2018/12/13 19:13:41 ******/
  12425. SET ANSI_NULLS ON
  12426. GO
  12427. SET QUOTED_IDENTIFIER ON
  12428. GO
  12429. --################################################################
  12430. --创建人:Lucifer
  12431. --创建时间:2018-7-23
  12432. --描述:获取个人申请的职位列表
  12433. --################################################################
  12434. CREATE PROCEDURE [dbo].[v2018_pcExJobApplySelect]
  12435. (
  12436. @Where VARCHAR(1000),
  12437. @Order VARCHAR(100)
  12438. )
  12439. AS
  12440. SET NOCOUNT ON
  12441. BEGIN
  12442. SET @Where = REPLACE(dbo.SafeSQL(@Where), '''', '')
  12443. SET @Order = REPLACE(dbo.SafeSQL(@Order), '''', '')
  12444. SET @Where = REPLACE(@Where, 'LIKE %', 'LIKE ''%')
  12445. SET @Where = REPLACE(@Where, '% OR ', '%'' OR ')
  12446. SET @Where = REPLACE(@Where, '%)', '%'')')
  12447. DECLARE @SQL VARCHAR(2000)
  12448. SET @SQL='SELECT a.ID, a.JobID, b.SecondId EnJobID, c.SecondId EnCpMainID, a.cvMainID, a.ApplyMessage, a.AddDate,
  12449. a.CompanyDeleted, a.CompanyDeleteDate, a.PersonDeleted, a.Reply, a.ReplyDate, a.ViewDate, b.Name JobName,
  12450. b.caMainID, b.dcRegionID, c.Name cpName, c.ID cpID, b.Welfare1, b.Welfare2, b.Welfare3, b.Welfare4,
  12451. b.Welfare5, b.Welfare6, b.Welfare7, b.Welfare8, b.Welfare9, b.Welfare10, b.Welfare11, b.Welfare12, b.Welfare13,
  12452. b.Welfare14, b.Welfare15, b.Welfare16, b.Welfare17, b.Welfare18, b.Welfare19, b.Valid JobValid, c.LogoFile LogoUrl,
  12453. c.HasLicence, c.IsAgent, c.MemberType, b.IssueDate, b.IssueEND, b.IsDelete, d.Name cvName,
  12454. dbo.GetCvMatch(a.cvMainID, a.JobID) cvMatch, dbo.GetCaOnlineStatus(b.caMainID) IsOnline, a.RemindDate,
  12455. a.ReplyReason, c.ReplyRate, b.dcSalaryId, b.dcSalaryIdMax,
  12456. (SELECT TOP 1 Adddate FROM exInterview WITH(NOLOCK) WHERE a.cvMainId = cvMainId AND b.ID = JobId) InterviewDate
  12457. FROM exJobApply a WITH(NOLOCK)
  12458. INNER JOIN Job b WITH(NOLOCK) On b.ID = a.JobID
  12459. INNER JOIN cpMain c WITH(NOLOCK) ON b.cpMainID = c.ID
  12460. INNER JOIN cvMain d WITH(NOLOCK) ON a.cvMainID = d.ID
  12461. WHERE 1 = 1'
  12462. IF LEN(@Where) > 0
  12463. SET @SQL = @SQL + ' AND ' + @Where
  12464. IF LEN(@Order) > 0
  12465. SET @SQL = @SQL + ' ORDER BY ' + @Order
  12466. EXEC(@SQL)
  12467. END
  12468. SET NOCOUNT OFF
  12469. GO
  12470. /****** Object: StoredProcedure [dbo].[v2018_pcJobSearchByPaSpread] Script Date: 2018/12/13 19:13:41 ******/
  12471. SET ANSI_NULLS ON
  12472. GO
  12473. SET QUOTED_IDENTIFIER ON
  12474. GO
  12475. --###########################################
  12476. --添加人:Lucifer
  12477. --添加时间:2018-10-22
  12478. --备注:用于推广竞价页面RegisterSpread
  12479. --###########################################
  12480. CREATE PROCEDURE [dbo].[v2018_pcJobSearchByPaSpread]
  12481. (
  12482. @Keyword NVARCHAR(50)
  12483. )
  12484. AS
  12485. BEGIN
  12486. CREATE TABLE #T
  12487. (
  12488. ID INT IDENTITY(1,1),
  12489. JobId INT
  12490. )
  12491. INSERT INTO #T(JobId)
  12492. SELECT a.ID FROM JobPublish a WITH(NOLOCK), cpMainPublish b WITH(NOLOCK)
  12493. WHERE a.cpMainId = b.ID
  12494. AND b.dcProvinceId = 32
  12495. AND a.dcSalaryIdMax != 100
  12496. AND CHARINDEX(@Keyword, a.Name) > 0
  12497. ORDER BY a.RefreshDate DESC, a.dcSalaryIdMax DESC
  12498. IF NOT EXISTS(SELECT TOP 1 'X' FROM #T)
  12499. BEGIN
  12500. INSERT INTO #T(JobId)
  12501. SELECT TOP 10 a.ID FROM JobPublish a WITH(NOLOCK), cpMainPublish b WITH(NOLOCK)
  12502. WHERE a.cpMainId = b.ID
  12503. AND b.dcProvinceId = 32
  12504. AND a.dcSalaryIdMax != 100
  12505. ORDER BY a.dcSalaryIdMax DESC, a.RefreshDate DESC
  12506. END
  12507. SELECT TOP 10 b.[Name] JobName, b.dcSalaryId, b.dcSalaryIdMax, c.[Name] CompanyName
  12508. FROM #T a WITH(NOLOCK), JobPublish b WITH(NOLOCK), cpMainPublish c WITH(NOLOCK)
  12509. WHERE a.JobId = b.ID AND b.cpMainId = c.ID
  12510. ORDER BY a.ID
  12511. SELECT COUNT(1) FROM #T
  12512. END
  12513. GO
  12514. /****** Object: StoredProcedure [dbo].[v2018_pcMobileFollowUpInsert] Script Date: 2018/12/13 19:13:42 ******/
  12515. SET ANSI_NULLS ON
  12516. GO
  12517. SET QUOTED_IDENTIFIER ON
  12518. GO
  12519. --##############################################
  12520. --添加人:Lucifer
  12521. --添加时间:2018-8-5
  12522. --描述:追踪手机号,如果注册了,就删除
  12523. --##############################################
  12524. CREATE PROCEDURE [dbo].[v2018_pcMobileFollowUpInsert] (
  12525. @Mobile VARCHAR(11),
  12526. @SessionId VARCHAR(100)
  12527. )
  12528. AS
  12529. SET NOCOUNT ON
  12530. BEGIN
  12531. IF EXISTS(SELECT TOP 1 'X' FROM paMobileFollowUp WITH(NOLOCK) WHERE ContactDate IS NOT NULL AND Mobile = @Mobile)
  12532. RETURN
  12533. IF EXISTS(SELECT TOP 1 'X' FROM paMain WITH(NOLOCK) WHERE Mobile = @Mobile)
  12534. RETURN
  12535. DELETE FROM paMobileFollowUp WHERE Mobile = @Mobile OR SessionId = @SessionId
  12536. INSERT INTO paMobileFollowUp(Mobile, SessionId) VALUES (@Mobile, @SessionId)
  12537. END
  12538. SET NOCOUNT OFF
  12539. GO
  12540. /****** Object: StoredProcedure [dbo].[v2018_pcPaAttentionSelect] Script Date: 2018/12/13 19:13:42 ******/
  12541. SET ANSI_NULLS ON
  12542. GO
  12543. SET QUOTED_IDENTIFIER ON
  12544. GO
  12545. --################################################################
  12546. --创建人:Lucifer
  12547. --创建时间:2018-7-23
  12548. --描述:获取个人关注列表
  12549. --@AttentionType 1、企业 2、职位
  12550. --################################################################
  12551. CREATE PROCEDURE [dbo].[v2018_pcPaAttentionSelect]
  12552. (
  12553. @paMainID INT,
  12554. @AttentionType TINYINT
  12555. )
  12556. AS
  12557. SET NOCOUNT ON
  12558. BEGIN
  12559. IF @AttentionType = 1 --企业
  12560. BEGIN
  12561. SELECT a.PaMainID, a.ID, a.AddDate, b.ID CpMainID, b.SecondID CpSecondID, b.Name, b.DcCompanyKindID, b.DcCompanySizeID,
  12562. a.AddDate SortDate, dbo.GetCpIndustry(b.ID) Industry, b.LogoFile LogoUrl, b.RealName, b.MemberType INTO #tcp
  12563. FROM PaAttention a WITH(NOLOCK), CpMain b WITH(NOLOCK)
  12564. WHERE a.AttentionType = 1
  12565. AND a.AttentionID = b.ID
  12566. AND a.PaMainID = @paMainID
  12567. AND b.IsDelete = 0
  12568. ORDER BY a.AddDate DESC
  12569. --企业职位最近更新时间
  12570. UPDATE d SET d.SortDate = c.JobAddDate
  12571. FROM #tcp d,
  12572. (SELECT a.CpMainID, MAX(a.LastModifyDate) JobAddDate
  12573. FROM Job a WITH(NOLOCK)
  12574. WHERE a.CpMainID IN (SELECT CpMainID FROM #tcp)
  12575. GROUP BY a.CpMainID) c
  12576. WHERE d.CpMainID = c.CpMainID AND d.SortDate < c.JobAddDate
  12577. SELECT * FROM #tcp ORDER BY SortDate DESC
  12578. SELECT TOP 200 a.*, a.Valid JobValid, a.ID JobID, a.[Name] JobName, a.SecondId EnJobId, dbo.GetCaOnlineStatus(a.caMainId) IsOnline,
  12579. (SELECT COUNT(1) FROM exJobApply WITH(NOLOCK) WHERE CvMainID IN (
  12580. SELECT ID FROM CvMain WITH(NOLOCK) WHERE PaMainID = @paMainID
  12581. ) AND JobId = a.ID) IsApply, a.IssueDate
  12582. FROM Job a WITH(NOLOCK), #tcp b WITH(NOLOCK)
  12583. WHERE a.cpMainID = b.cpMainId AND a.IssueDate > b.AddDate ORDER BY a.IssueDate DESC
  12584. END
  12585. ELSE IF @AttentionType = 2 --职位
  12586. BEGIN
  12587. SELECT a.PaMainID, a.ID AttentionId, a.AddDate AttentionDate, b.*, b.ID JobID, b.SecondID EnJobId, b.Name JobName, d.SecondID CpSecondID, d.Name CpName, 0 IsApply, b.Valid JobValid, dbo.GetCaOnlineStatus(b.caMainID) IsOnline, d.LogoFile
  12588. INTO #TJob
  12589. FROM paAttention a WITH(NOLOCK), Job b WITH(NOLOCK), CpMain d WITH(NOLOCK)
  12590. WHERE a.AttentionType = 2
  12591. AND a.AttentionID = b.ID
  12592. AND a.PaMainID = @paMainID
  12593. AND b.CpMainID = d.ID
  12594. ORDER BY a.AddDate DESC
  12595. UPDATE #TJob
  12596. SET IsApply = 1
  12597. WHERE JobID IN(
  12598. SELECT JobID
  12599. FROM exJobApply WITH(NOLOCK)
  12600. WHERE CvMainiD IN (
  12601. SELECT ID FROM CvMain WITH(NOLOCK)
  12602. WHERE PaMainID = @paMainID
  12603. )
  12604. )
  12605. --职位
  12606. SELECT * FROM #TJob
  12607. END
  12608. END
  12609. SET NOCOUNT OFF
  12610. GO
  12611. /****** Object: StoredProcedure [dbo].[v2018_pcPaCvTagsSave] Script Date: 2018/12/13 19:13:42 ******/
  12612. SET ANSI_NULLS ON
  12613. GO
  12614. SET QUOTED_IDENTIFIER ON
  12615. GO
  12616. --###########################################
  12617. --添加人:Lucifer
  12618. --添加时间:2018-7-17
  12619. --描述:保存个人标签
  12620. --###########################################
  12621. CREATE PROCEDURE [dbo].[v2018_pcPaCvTagsSave]
  12622. (
  12623. @paMainID INT,
  12624. @cvMainID INT,
  12625. @Tags NVARCHAR(1000)
  12626. )
  12627. AS
  12628. SET NOCOUNT OFF
  12629. BEGIN
  12630. IF NOT EXISTS(SELECT 'X' FROM cvMain WHERE paMainID = @paMainID AND ID = @cvMainID)
  12631. BEGIN
  12632. RETURN -1
  12633. END
  12634. CREATE TABLE #T (
  12635. ID INT IDENTITY(1, 1),
  12636. cvMainID INT,
  12637. Tag NVARCHAR(20),
  12638. VerifyDate SMALLDATETIME
  12639. )
  12640. INSERT INTO #T(cvMainID, Tag)
  12641. SELECT @cvMainID, REPLACE(REPLACE(a, CHAR(10), ''), CHAR(13), '')
  12642. FROM dbo.fnSplit(@Tags,'@')
  12643. DELETE FROM #T WHERE ID > 10
  12644. DELETE FROM cvTags WHERE cvMainID = @cvMainID
  12645. UPDATE #T
  12646. SET VerifyDate = GETDATE()
  12647. WHERE EXISTS(SELECT 'x' FROM paTagsMain WHERE Tag = #T.Tag)
  12648. INSERT INTO cvTags(cvMainID, Tags, VerifyDate)
  12649. SELECT cvMainID, Tag, VerifyDate
  12650. FROM #T
  12651. DROP TABLE #T
  12652. --更新CvLevel
  12653. EXEC v2018_pcCvMainByCvLevelUpdate 2, @cvMainID, 5, 1
  12654. RETURN 1
  12655. END
  12656. SET NOCOUNT ON
  12657. GO
  12658. /****** Object: StoredProcedure [dbo].[v2018_pcPaGetPasswordLogInsert] Script Date: 2018/12/13 19:13:42 ******/
  12659. SET ANSI_NULLS ON
  12660. GO
  12661. SET QUOTED_IDENTIFIER ON
  12662. GO
  12663. --######################################
  12664. --添加人:Lucifer
  12665. --添加时间:2018-7-13
  12666. --描述:插入取回密码记录
  12667. --返回值:-1 同一IP找回不能超过20次
  12668. -- -2 手机号找回密码每天不超过3次
  12669. -- -3 用户名/邮箱找回密码每天不超过5次
  12670. -- 0 查无此号
  12671. -- 1 成功
  12672. --######################################
  12673. CREATE PROCEDURE [dbo].[v2018_pcPaGetPasswordLogInsert]
  12674. (
  12675. @Username VARCHAR(50),
  12676. @IP VARCHAR(15)
  12677. )
  12678. AS
  12679. SET NOCOUNT ON
  12680. BEGIN
  12681. --同一IP找回不能超过20次
  12682. IF (SELECT COUNT(1) FROM paGetPasswordLog WITH(NOLOCK) WHERE IP = @IP AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) >= 20
  12683. BEGIN
  12684. SELECT -1 Result
  12685. RETURN
  12686. END
  12687. DECLARE @AskNo AS VARCHAR(40)
  12688. DECLARE @ActivateCode AS VARCHAR(6)
  12689. SET @AskNo = REPLACE(NEWID(), '-', '')
  12690. SET @ActivateCode = RAND() * 899999 + 100000
  12691. DECLARE @T TABLE(
  12692. ID INT,
  12693. Username VARCHAR(50),
  12694. Email VARCHAR(50),
  12695. Mobile VARCHAR(11)
  12696. )
  12697. IF dbo.IsMobile(@Username) = 1
  12698. BEGIN
  12699. --手机号找回密码每天不超过3次
  12700. IF (SELECT COUNT(1) FROM paGetPasswordLog WITH(NOLOCK) WHERE UserNameIn = @Username AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) >= 3
  12701. BEGIN
  12702. SELECT -2 Result
  12703. RETURN
  12704. END
  12705. INSERT INTO @T
  12706. SELECT ID, UserName, Email, Mobile
  12707. FROM paMain WITH(NOLOCK INDEX(IX_PaMain_Mobile))
  12708. WHERE Mobile = @Username
  12709. AND MobileVerifyDate IS NOT NULL
  12710. ORDER BY Lastlogindate DESC
  12711. END
  12712. ELSE
  12713. BEGIN
  12714. --用户名/邮箱找回密码每天不超过5次
  12715. IF (SELECT COUNT(1) FROM paGetPasswordLog WITH(NOLOCK) WHERE UserNameIn = @Username AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) >= 5
  12716. BEGIN
  12717. SELECT -3 Result
  12718. RETURN
  12719. END
  12720. IF dbo.IsEmail(@Username) = 1
  12721. BEGIN
  12722. INSERT INTO @T
  12723. SELECT ID, UserName, Email, Mobile
  12724. FROM paMain WITH(NOLOCK INDEX(IX_paMain_Email))
  12725. WHERE Email = @Username
  12726. ORDER BY LastLoginDate DESC
  12727. END
  12728. ELSE
  12729. BEGIN
  12730. INSERT INTO @T
  12731. SELECT ID, UserName, Email, Mobile
  12732. FROM paMain WITH(NOLOCK INDEX(IX_PaMain_UserNameLower))
  12733. WHERE UserNameLower = @Username
  12734. ORDER BY LastLoginDate DESC
  12735. END
  12736. END
  12737. --插入找回密码记录
  12738. IF (SELECT COUNT(1) FROM @T) = 0
  12739. BEGIN
  12740. SELECT 0 Result
  12741. END
  12742. ELSE
  12743. BEGIN
  12744. INSERT INTO paGetPasswordLog(paMainID, UserNameIn, [IP], VerifyCode, UserName, Email, Mobile, UniqueId, ActivateCode, AskNo)
  12745. SELECT ID, @UserName, @IP, '0000', UserName, Email, Mobile, REPLACE(NEWID(), '-', ''), @ActivateCode, @AskNo
  12746. FROM @T
  12747. SELECT 1 Result, ActivateCode, UniqueId, AskNo, UserName, Email
  12748. FROM paGetPasswordLog WITH(NOLOCK)
  12749. WHERE AskNo = @AskNo
  12750. END
  12751. END
  12752. SET NOCOUNT OFF
  12753. GO
  12754. /****** Object: StoredProcedure [dbo].[v2018_pcPaHeaderInfoSelect] Script Date: 2018/12/13 19:13:43 ******/
  12755. SET ANSI_NULLS ON
  12756. GO
  12757. SET QUOTED_IDENTIFIER ON
  12758. GO
  12759. --#####################################################
  12760. --创建时间:2018.6.29
  12761. --创建人:Lucifer
  12762. --说明:获取个人公告
  12763. --#####################################################
  12764. CREATE PROCEDURE [dbo].[v2018_pcPaHeaderInfoSelect]
  12765. (
  12766. @paMainID INT
  12767. )
  12768. AS
  12769. SET NOCOUNT ON
  12770. BEGIN
  12771. DECLARE @T AS TABLE(
  12772. [Type] INT,
  12773. [Count] INT
  12774. )
  12775. --取未答复的面试通知
  12776. INSERT INTO @T
  12777. SELECT 1, COUNT(1)
  12778. FROM exInterView a WITH(NOLOCK)
  12779. INNER JOIN cvMain b WITH(NOLOCK) ON a.cvMainID = b.ID
  12780. WHERE a.PersonDeleted = 0 AND b.paMainID = @paMainID AND a.Reply = 0
  12781. --取未答复的应聘邀请
  12782. INSERT INTO @T
  12783. SELECT 2, COUNT(1)
  12784. FROM caCvIntention a WITH(NOLOCK)
  12785. INNER JOIN cvMain b WITH(NOLOCK) ON a.cvMainID = b.ID
  12786. WHERE PersonDeleted = 0 AND paMainID = @paMainID AND Reply IS NULL
  12787. --取未查看的网站消息
  12788. INSERT INTO @T
  12789. SELECT 3, COUNT(1)
  12790. FROM PaNotify WITH(NOLOCK)
  12791. WHERE paMainID = @paMainID
  12792. AND (
  12793. (NotifyType = 1 AND IsViewed = 0) OR --一次性消息,看过就不再通知了
  12794. (NotifyType = 2 AND EndDate > GETDATE()) --即时消息,到期前(EndDate)一直通知
  12795. )
  12796. --取未查看的投诉
  12797. INSERT INTO @T
  12798. SELECT 4, COUNT(1)
  12799. FROM CaPlaint a WITH(NOLOCK INDEX(IX_caPlaint_cvMainID)), cvMain b WITH(NOLOCK INDEX(IX_cvMain_paMainID))
  12800. WHERE a.cvMainID = b.ID AND b.PaMainID = @PaMainID AND a.IsViewed = 0 AND a.ReplyType = 1
  12801. SELECT * FROM @T
  12802. SELECT TOP 1 ID, Title, AnnounceDate, Content, [Type], Refreshdate
  12803. FROM QlrcNews WITH(NOLOCK)
  12804. WHERE (VersionId = (SELECT dcProvinceId FROM paMain WITH(NOLOCK) WHERE ID = @paMainID) OR VersionId = 0)
  12805. AND NewsType = 1
  12806. ORDER BY refreshdate DESC
  12807. OPTION (KEEPFIXED PLAN)
  12808. END
  12809. SET NOCOUNT OFF
  12810. GO
  12811. /****** Object: StoredProcedure [dbo].[v2018_pcPaJobClickLogInsert] Script Date: 2018/12/13 19:13:43 ******/
  12812. SET ANSI_NULLS ON
  12813. GO
  12814. SET QUOTED_IDENTIFIER ON
  12815. GO
  12816. --#####################################################
  12817. --创建时间:2018.8.20
  12818. --创建人:Lucifer
  12819. --说明:插入查看联系方式记录
  12820. --#####################################################
  12821. CREATE PROCEDURE [dbo].[v2018_pcPaJobClickLogInsert]
  12822. (
  12823. @paMainId INT,
  12824. @JobId INT,
  12825. @IP VARCHAR(31)
  12826. )
  12827. AS
  12828. SET NOCOUNT ON
  12829. BEGIN
  12830. --在黑名单,不让看
  12831. IF EXISTS(SELECT 'X' FROM paJobClickCount WITH(NOLOCK) WHERE [IP] = @IP)
  12832. BEGIN
  12833. RETURN 0
  12834. END
  12835. --未申请过该职位,不让看
  12836. IF NOT EXISTS(
  12837. SELECT TOP 1 'X' FROM exJobApply WITH(NOLOCK) WHERE JobId = @JobId AND cvMainId IN(
  12838. SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @paMainId
  12839. )
  12840. )
  12841. BEGIN
  12842. RETURN 0
  12843. END
  12844. IF NOT EXISTS(
  12845. SELECT 'X' FROM paJobClickLog WITH(NOLOCK)
  12846. WHERE JobId = @JobId AND [IP] = @IP AND AddDate > DATEADD(SECOND, -5, GETDATE())
  12847. )
  12848. BEGIN
  12849. INSERT INTO paJobClickLog(JobId, paMainId, [IP], AddDate)
  12850. VALUES(@JobId, @paMainId, @IP, GETDATE())
  12851. END
  12852. RETURN 1
  12853. END
  12854. GO
  12855. /****** Object: StoredProcedure [dbo].[v2018_PcPaJobCompareInsert] Script Date: 2018/12/13 19:13:43 ******/
  12856. SET ANSI_NULLS ON
  12857. GO
  12858. SET QUOTED_IDENTIFIER ON
  12859. GO
  12860. --####################################################
  12861. --添加人:Lucifer
  12862. --添加时间:2018-6-27
  12863. --描述:生成你的菜儿
  12864. --修改:将今天推荐过了就不推荐的判断去掉,因为新建简历完善后,都会推荐你的菜儿 Lucifer
  12865. --####################################################
  12866. CREATE PROCEDURE [dbo].[v2018_PcPaJobCompareInsert]
  12867. (
  12868. @PaMainID INT
  12869. )
  12870. AS
  12871. SET NOCOUNT ON
  12872. BEGIN
  12873. --今天推荐过了就不推荐了
  12874. --IF EXISTS(SELECT 'x' FROM PaJobCompare WITH(NOLOCK) WHERE PaMainID = @PaMainID AND AddDate > CONVERT(CHAR(10), GETDATE(), 120))
  12875. -- RETURN
  12876. CREATE TABLE #T(
  12877. JobID INT,
  12878. SimilarJobID INT,
  12879. JobCount INT,
  12880. Pecentage FLOAT,
  12881. SimilarCount INT,
  12882. Source VARCHAR(15)
  12883. )
  12884. DECLARE @BatchNo SMALLINT, @LastRecommenedNo TINYINT, @JobID INT, @JobCount INT, @PushCount INT, @Top INT
  12885. SELECT @BatchNo = ISNULL(MAX(BatchNo), 0), @LastRecommenedNo = ISNULL(MIN(LastRecommenedNo), 6), @Top = 0
  12886. FROM PaJobCompare WITH(NOLOCK)
  12887. WHERE PaMainID = @PaMainID
  12888. --如果最后一次登录时间为昨天那么剩余推送次数设置为6次
  12889. IF (SELECT LastLoginDate FROM PaMain WITH(NOLOCK) WHERE ID = @PaMainID) > CONVERT(CHAR(10), GETDATE() - 1, 120)
  12890. BEGIN
  12891. SELECT @LastRecommenedNo = 6
  12892. END
  12893. IF ISNULL(@LastRecommenedNo, 0) = 0
  12894. SET @LastRecommenedNo = 6
  12895. SELECT jobID, COUNT(1) cnt
  12896. INTO #TJobSimilar
  12897. FROM exJobApplyMonthTemp WITH(NOLOCK)
  12898. WHERE JobID IN(
  12899. SELECT JobID
  12900. FROM exJobApplyMonthTemp
  12901. WHERE CvMainID IN (
  12902. SELECT ID
  12903. FROM CvMain WITH(NOLOCK)
  12904. WHERE PaMainID = @PaMainID
  12905. )
  12906. )
  12907. GROUP BY jobID
  12908. HAVING COUNT(1) > 1
  12909. WHILE EXISTS(SELECT jobID FROM #TJobSimilar)
  12910. BEGIN
  12911. SELECT TOP 1 @JobID = jobID, @JobCount = cnt
  12912. FROM #TJobSimilar
  12913. INSERT INTO #T (JobID, SimilarJobID, JobCount, Pecentage, SimilarCount)
  12914. SELECT @JobID, JobID, @JobCount, CAST(COUNT(1) AS FLOAT)*100/@JobCount, COUNT(1)
  12915. FROM exJobApplyMonthTemp
  12916. WHERE cvmainid IN(
  12917. SELECT cvMainID
  12918. FROM exJobApplyMonthTemp
  12919. WHERE jobid = @JobID)
  12920. AND jobid <> @JobID
  12921. AND EXISTS( --职位必须有效且没被删除
  12922. SELECT 'X'
  12923. FROM Job WITH(NOLOCK)
  12924. WHERE id = exJobApplyMonthTemp.JobID
  12925. AND Valid = 1
  12926. AND IsDelete = 0
  12927. AND IssueEnd > GETDATE())
  12928. AND NOT EXISTS(--已经申请过的不再推荐
  12929. SELECT 'X'
  12930. FROM exJobApply WITH(NOLOCK)
  12931. WHERE CvMainID IN (
  12932. SELECT ID
  12933. FROM CvMain WITH(NOLOCK)
  12934. WHERE PaMainID = @PaMainID
  12935. )
  12936. AND JobID = exJobApplyMonthTemp.JobID
  12937. )
  12938. GROUP BY JobID
  12939. HAVING COUNT(1) > 1
  12940. ORDER BY COUNT(1) desc
  12941. DELETE FROM #TJobSimilar WHERE jobID = @JobID
  12942. END
  12943. UPDATE #t SET Source = 'J' + LTRIM(STR(JobId))
  12944. DROP TABLE #TJobSimilar
  12945. INSERT INTO #T (SimilarJobID, JobCount)
  12946. SELECT TOP 10 JobID, COUNT(1)
  12947. FROM exJobApplyMonthTemp
  12948. WHERE cvMainID IN(
  12949. SELECT TOP 10 CvMainID
  12950. FROM exJobApplyMonthTemp
  12951. WHERE JobID IN(
  12952. SELECT JobID
  12953. FROM exJobApplyMonthTemp
  12954. WHERE CvMainID IN (
  12955. SELECT ID
  12956. FROM CvMain WITH(NOLOCK)
  12957. WHERE PaMainID = @PaMainID
  12958. )
  12959. )
  12960. AND NOT EXISTS(SELECT 'x' FROM CvMain WHERE PaMainID = @PaMainID AND id = exJobApplyMonthTemp.cvMainID)
  12961. GROUP BY CvMainID
  12962. ORDER BY COUNT(1) DESC
  12963. )
  12964. AND NOT EXISTS(SELECT 'x' FROM CvMain WHERE PaMainID = @PaMainID AND id = exJobApplyMonthTemp.cvMainID)
  12965. AND EXISTS( --职位必须有效且没被删除
  12966. SELECT 'X'
  12967. FROM Job WITH(NOLOCK)
  12968. WHERE id = exJobApplyMonthTemp.JobID
  12969. AND Valid = 1
  12970. AND IsDelete = 0
  12971. AND IssueEnd > GETDATE())
  12972. AND NOT EXISTS(--已经申请过的不再推荐
  12973. SELECT 'X'
  12974. FROM exJobApply WITH(NOLOCK)
  12975. WHERE CvMainID IN (
  12976. SELECT ID
  12977. FROM CvMain WITH(NOLOCK)
  12978. WHERE PaMainID = @PaMainID
  12979. )
  12980. AND JobID = exJobApplyMonthTemp.JobID
  12981. )
  12982. GROUP BY JobID
  12983. HAVING COUNT(1) > 1
  12984. ORDER BY COUNT(1) desc
  12985. UPDATE #t SET Source = 'from cvMain' WHERE Source IS NULL
  12986. DECLARE @t AS TABLE(Id INT IDENTITY(1,1 ), SimilarJobID INT, Source VARCHAR(15))
  12987. INSERT INTO @t(SimilarJobID)
  12988. SELECT SimilarJobID
  12989. FROM #T
  12990. GROUP BY SimilarJobID
  12991. ORDER BY COUNT(1) DESC
  12992. UPDATE a SET a.Source = (SELECT TOP 1 Source FROM #t WHERE a.SimilarJobID = #t.SimilarJobID ORDER BY Source DESC)
  12993. FROM @t a
  12994. DELETE FROM @t WHERE SimilarJobID IN(SELECT a.SimilarJobID FROM @t a, Job b, cpMain c WHERE a.SimilarJobID = b.ID AND b.cpMainID = c.ID AND c.Name LIKE '%保险%')
  12995. IF @BatchNo = 0
  12996. BEGIN
  12997. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  12998. SELECT TOP 10 @BatchNo + 1, @PaMainID, SimilarJobID, 5, Source
  12999. FROM @t
  13000. ORDER BY Id
  13001. SELECT @PushCount = COUNT(1)
  13002. FROM PaJobCompare WITH(NOLOCK)
  13003. WHERE PaMainID = @PaMainID
  13004. AND BatchNO = @BatchNo + 1
  13005. AND LastRecommenedNo = 5
  13006. IF @PushCount < 10
  13007. SET @Top = 10 - @PushCount
  13008. END
  13009. ELSE
  13010. BEGIN
  13011. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  13012. SELECT TOP 5 @BatchNo + 1, @PaMainID, SimilarJobID, @LastRecommenedNo-1, Source
  13013. FROM @T a
  13014. WHERE NOT EXISTS( --推荐过的就不再推荐了
  13015. SELECT 'X'
  13016. FROM PaJobCompare WITH(NOLOCK)
  13017. WHERE PaMainID = @PaMainID
  13018. AND CompareJobID = a.SimilarJobID
  13019. )
  13020. ORDER BY Id
  13021. --推荐不足10个 从原你的菜儿继续推荐
  13022. SELECT @PushCount = COUNT(1)
  13023. FROM PaJobCompare WITH(NOLOCK)
  13024. WHERE PaMainID = @PaMainID
  13025. AND BatchNO = @BatchNo + 1
  13026. AND LastRecommenedNo = @LastRecommenedNo-1
  13027. IF @PushCount < 5
  13028. SET @Top = 10 - @PushCount
  13029. END
  13030. IF @Top > 0
  13031. BEGIN
  13032. DECLARE @Job AS TABLE(
  13033. Id INT,
  13034. cpMainId INT,
  13035. dcRegionId VARCHAR(6),
  13036. dcJobTypeId VARCHAR(4),
  13037. dcSalaryId INT,
  13038. EmployType INT,
  13039. dcEducationId INT,
  13040. MinExperience INT,
  13041. MinAge INT,
  13042. MaxAge INT,
  13043. AgeScore INT,
  13044. EduScore INT,
  13045. ExpScore INt,
  13046. SizeScore INT
  13047. )
  13048. DECLARE @JobPlace AS TABLE(Id INT IDENTITY(1, 1), dcRegionId VARCHAR(6))
  13049. DECLARE @JobType AS TABLE(Id INT IDENTITY(1, 1), dcJobTypeId VARCHAR(4))
  13050. DECLARE @t1 AS TABLE(dcRegionId VARCHAR(6))
  13051. DECLARE @t2 AS TABLE(dcJobTypeId VARCHAR(4))
  13052. DECLARE @CvMainID INT, @dcSalaryId INT, @EmployType INT, @Degree INT, @Exp INT, @Age INT, @ThisMonth INT
  13053. SET @ThisMonth = CONVERT(VARCHAR(6), GETDATE(), 112)
  13054. SELECT TOP 1 @cvMainId = b.Id, @Age = (@ThisMonth - a.BirthDay) / 100,
  13055. @dcSalaryId = dcSalaryID, @EmployType = EmployType,
  13056. @Degree = Degree, @Exp = RelatedWorkYears
  13057. FROM paMain a WITH(NOLOCK), cvMain b WITH(NOLOCK)
  13058. WHERE a.Id = b.paMainId
  13059. AND a.Id = @paMainId
  13060. INSERT INTO @JobPlace(dcRegionId)
  13061. SELECT dcRegionId FROM cvJobPlace WITH(NOLOCK)
  13062. WHERE cvMainId = @cvMainId
  13063. INSERT INTO @JobType(dcJobTypeId)
  13064. SELECT dcJobTypeId FROM cvJobType WITH(NOLOCK)
  13065. WHERE cvMainId = @cvMainId
  13066. DELETE a FROM @JobPlace a, @JobPlace b WHERE a.id <> b.Id AND a.dcRegionID <> b.dcRegionId AND b.dcRegionId LIKE a.dcRegionId + '%'
  13067. DELETE a FROM @JobType a, @JobType b WHERE a.id <> b.Id AND a.dcJobTypeId <> b.dcJobTypeId AND b.dcJobTypeId LIKE a.dcJobTypeId + '%'
  13068. INSERT INTO @t2
  13069. SELECT Id FROM dcJobType WHERE ID IN(SELECT dcJobTypeId FROM @JobType) OR ParentID IN(SELECT dcJobTypeId FROM @JobType)
  13070. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE ID IN(SELECT dcRegionId FROM @JobPlace)
  13071. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 4) IN(SELECT dcRegionId FROM @JobPlace)
  13072. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 2) IN(SELECT dcRegionId FROM @JobPlace)
  13073. --===========================================
  13074. INSERT INTO @Job(Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge)
  13075. SELECT TOP 200 Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge
  13076. FROM jobPublish WITH(NOLOCK)
  13077. WHERE EmployType = @EmployType
  13078. AND dcRegionID IN(SELECT dcRegionId FROM @t1)
  13079. AND dcJobTypeId IN(SELECT dcJobTypeId FROM @t2)
  13080. AND dcSalaryId IN(100, @dcSalaryId)
  13081. AND EXISTS(SELECT 'x' FROM cpMainPublish WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 31 AND cpMainPublish.Id = cpMainId)
  13082. ORDER BY RefreshDate DESC
  13083. DELETE @Job WHERE Id IN(SELECT CompareJobId FROM paJobCompare WITH(NOLOCK) WHERE paMainId = @pamainId)
  13084. DELETE @Job WHERE Id IN(SELECT JobId FROM paYourFood WITH(NOLOCK) WHERE paMainId = @pamainId)
  13085. DELETE @Job WHERE Id IN(SELECT JobId FROM ExJobApply WITH(NOLOCK) WHERE cvMainID IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @pamainId))
  13086. IF(SELECT COUNT(*) FROM @Job) > 3
  13087. BEGIN
  13088. UPDATE a SET a.SizeScore = b.dcCompanySizeId * -1, EduScore = 0, AgeScore = 0, ExpScore = 0 FROM @Job a, cpMainPublish b WHERE a.cpMainId = b.ID
  13089. UPDATE @Job SET EduScore = dcEducationId - @Degree WHERE dcEducationId > @Degree AND dcEducationId < 100
  13090. UPDATE @Job SET EduScore = @Degree - dcEducationId WHERE dcEducationId < @Degree AND dcEducationId < 100
  13091. UPDATE @Job SET MinAge = 16 WHERE MinAge = 99
  13092. UPDATE @Job SET MaxAge = 60 WHERE MaxAge = 99
  13093. UPDATE @Job SET AgeScore = (MinAge - @Age) / 5 + 1 WHERE MinAge > @Age
  13094. UPDATE @Job SET AgeScore = (@Age - MaxAge) / 5 + 1 WHERE MaxAge < @Age
  13095. IF @Exp = 0
  13096. SET @Exp = 1
  13097. ELSE IF @Exp IN(1, 2)
  13098. SET @Exp = 2
  13099. ELSE IF @Exp IN(3,4,5)
  13100. SET @Exp = 3
  13101. ELSE IF @Exp IN(6,7,8,9,10)
  13102. SET @Exp = 4
  13103. ELSE IF @Exp > 10
  13104. SET @Exp = 5
  13105. ELSE
  13106. SET @Exp = 0
  13107. UPDATE @Job SET MinExperience = CASE WHEN MinExperience = 5 THEN 1 ELSE MinExperience + 1 END WHERE MinExperience > 0
  13108. UPDATE @Job SET ExpScore = MinExperience - @Exp WHERE MinExperience > @Exp
  13109. UPDATE @Job SET ExpScore = @Exp - MinExperience WHERE MinExperience < @Exp AND MinExperience > 0
  13110. END
  13111. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  13112. SELECT TOP (@Top) @BatchNo + 1, @PaMainID, Id, 5, 'Expect'
  13113. FROM @Job ORDER BY EduScore, ExpScore + SizeScore + AgeScore
  13114. END
  13115. DROP TABLE #T
  13116. END
  13117. SET NOCOUNT OFF
  13118. GO
  13119. /****** Object: StoredProcedure [dbo].[v2018_pcPaJobCompareSelect] Script Date: 2018/12/13 19:13:44 ******/
  13120. SET ANSI_NULLS ON
  13121. GO
  13122. SET QUOTED_IDENTIFIER ON
  13123. GO
  13124. --################################################################
  13125. --创建人:Lucifer
  13126. --创建时间:2018-7-23
  13127. --描述:获取你的菜儿
  13128. --@BatchNo 推荐批次,0、最新 大于0、指定 -1、全部
  13129. --################################################################
  13130. CREATE PROCEDURE [dbo].[v2018_pcPaJobCompareSelect]
  13131. (
  13132. @PaMainID INT,
  13133. @BatchNo SMALLINT
  13134. )
  13135. AS
  13136. SET NOCOUNT ON
  13137. BEGIN
  13138. IF @BatchNo > 0
  13139. BEGIN
  13140. SELECT a.*, b.*, c.Name CpName, c.HasLicence, c.SecondID EnCpMainID, b.ID JobID, b.SecondID EnJobID,
  13141. b.Name JobName, b.Valid JobValid, a.AddDate RecommenedDate, dbo.GetCaOnlineStatus(b.caMainID) IsOnline,
  13142. c.LogoFile LogoUrl, c.RealName, (SELECT COUNT(1) FROM exJobApply WITH(NOLOCK) WHERE CvMainID IN (
  13143. SELECT ID FROM CvMain WITH(NOLOCK) WHERE PaMainID = @paMainID
  13144. ) AND JobId = a.CompareJobID) IsApply
  13145. FROM PaJobCompare a WITH(NOLOCK)
  13146. LEFT JOIN Job b WITH(NOLOCK) ON b.ID = a.CompareJobID
  13147. LEFT JOIN CpMain c WITH(NOLOCK) ON c.ID = b.CpMainID
  13148. WHERE PaMainID = @PaMainID
  13149. AND BatchNo = @BatchNo
  13150. ORDER BY a.AddDate DESC
  13151. END
  13152. ELSE IF @BatchNo = 0
  13153. BEGIN
  13154. SELECT a.*, b.*, c.Name CpName, c.HasLicence, c.SecondID EnCpMainID, b.ID JobID, b.SecondID EnJobID,
  13155. b.Name JobName, b.Valid JobValid, a.AddDate RecommenedDate, dbo.GetCaOnlineStatus(b.caMainID) IsOnline,
  13156. c.LogoFile LogoUrl, c.RealName, (SELECT COUNT(1) FROM exJobApply WITH(NOLOCK) WHERE CvMainID IN (
  13157. SELECT ID FROM CvMain WITH(NOLOCK) WHERE PaMainID = @paMainID
  13158. ) AND JobId = a.CompareJobID) IsApply
  13159. FROM PaJobCompare a WITH(NOLOCK)
  13160. LEFT JOIN Job b WITH(NOLOCK) ON b.ID = a.CompareJobID
  13161. LEFT JOIN CpMain c WITH(NOLOCK) ON c.ID = b.CpMainID
  13162. WHERE PaMainID = @PaMainID
  13163. AND b.Valid = 1
  13164. AND BatchNo = (
  13165. SELECT MAX(BatchNo)
  13166. FROM PaJobCompare WITH(NOLOCK)
  13167. WHERE PaMainID = @PaMainID
  13168. )
  13169. ORDER BY a.AddDate DESC
  13170. END
  13171. ELSE
  13172. BEGIN
  13173. SELECT a.*, b.*, c.Name CpName, c.HasLicence, c.SecondID EnCpMainID, b.ID JobID, b.SecondID EnJobID,
  13174. b.Name JobName, b.Valid JobValid, a.AddDate RecommenedDate, dbo.GetCaOnlineStatus(b.caMainID) IsOnline,
  13175. c.LogoFile LogoUrl, c.RealName, (SELECT COUNT(1) FROM exJobApply WITH(NOLOCK) WHERE CvMainID IN (
  13176. SELECT ID FROM CvMain WITH(NOLOCK) WHERE PaMainID = @paMainID
  13177. ) AND JobId = a.CompareJobID) IsApply
  13178. FROM PaJobCompare a WITH(NOLOCK)
  13179. LEFT JOIN Job b WITH(NOLOCK) ON b.ID = a.CompareJobID
  13180. LEFT JOIN CpMain c WITH(NOLOCK) ON c.ID = b.CpMainID
  13181. WHERE PaMainID = @PaMainID
  13182. AND b.Valid = 1
  13183. ORDER BY a.AddDate DESC
  13184. END
  13185. END
  13186. SET NOCOUNT OFF
  13187. GO
  13188. /****** Object: StoredProcedure [dbo].[v2018_pcPaLoginContactInsert] Script Date: 2018/12/13 19:13:44 ******/
  13189. SET ANSI_NULLS ON
  13190. GO
  13191. SET QUOTED_IDENTIFIER ON
  13192. GO
  13193. --#####################################################
  13194. --创建时间:2018.6.21
  13195. --创建人:Lucifer
  13196. --说明:关联第三方登陆
  13197. --ContactType 1、QQ登陆 2、人人登陆 3、微博登陆 4、微信登陆 5、百度登陆
  13198. --#####################################################
  13199. CREATE PROCEDURE [dbo].[v2018_pcPaLoginContactInsert]
  13200. (
  13201. @paMainID INT,
  13202. @OpenID VARCHAR(100),
  13203. @ContactType TINYINT,
  13204. @LoginType TINYINT
  13205. )
  13206. AS
  13207. BEGIN
  13208. DELETE FROM paLoginContact WHERE Openid = @OpenID AND ContactType = @ContactType
  13209. INSERT INTO paLoginContact(paMainID, Openid, ContactType, LoginType, AddDate)
  13210. VALUES(@paMainID, @OpenID, @ContactType, @LoginType, GETDATE())
  13211. IF @ContactType = 4
  13212. BEGIN
  13213. UPDATE wxFans SET PaMainID = @PaMainID WHERE OpenID = @OpenID
  13214. END
  13215. END
  13216. GO
  13217. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainByLastLoginDateUpdate] Script Date: 2018/12/13 19:13:44 ******/
  13218. SET ANSI_NULLS ON
  13219. GO
  13220. SET QUOTED_IDENTIFIER ON
  13221. GO
  13222. --#####################################################
  13223. --创建时间:2018-6-5
  13224. --创建人:Lucifer
  13225. --说明:更新个人登陆时间
  13226. --当天第一次登陆,更新DateReport.PersonLoginNum_Net
  13227. --19是PC站回收,42是M站回收 如果不是当天第一次登陆,不记录登陆时间
  13228. --#####################################################
  13229. CREATE PROCEDURE [dbo].[v2018_pcPaMainByLastLoginDateUpdate]
  13230. (
  13231. @paMainId INT,
  13232. @dcProvinceId INT,
  13233. @IP VARCHAR(31),
  13234. @Browser VARCHAR(500),
  13235. @LoginFrom TINYINT
  13236. )
  13237. AS
  13238. SET NOCOUNT ON
  13239. BEGIN
  13240. SET @IP = dbo.SafeSQL(@IP)
  13241. SET @Browser = dbo.SafeSQL(@Browser)
  13242. DECLARE @LoginTodayFirst BIT
  13243. SET @LoginTodayFirst = 0
  13244. --当天第一次登陆,更新DateReport.PersonLoginNum_Net
  13245. IF NOT EXISTS(SELECT 'x' FROM paLoginLog WITH(NOLOCK) WHERE paMainID = @paMainId AND AddDate >= CONVERT(VARCHAR(10), GETDATE(), 120))
  13246. BEGIN
  13247. UPDATE DateReport
  13248. SET PersonLoginNum_Net = PersonLoginNum_Net + 1
  13249. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  13250. AND Province_Id = @dcProvinceId
  13251. SET @LoginTodayFirst = 1
  13252. END
  13253. --不是回收的或者第一次登陆的,插入登陆记录
  13254. IF @LoginFrom NOT IN(19, 42) OR @LoginTodayFirst = 1
  13255. BEGIN
  13256. INSERT INTO paLoginLog(paMainID, LoginIP, Browser, LoginFrom) VALUES(@paMainId, @IP, ISNULL(@Browser, 'Null'), @LoginFrom)
  13257. UPDATE PaMain SET
  13258. LastLoginDate = GETDATE(),
  13259. TotalLoginNum = ISNULL(TotalLoginNum, 0) + 1
  13260. WHERE ID = @paMainId
  13261. END
  13262. END
  13263. SET NOCOUNT OFF
  13264. GO
  13265. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainByLoginUpdate] Script Date: 2018/12/13 19:13:45 ******/
  13266. SET ANSI_NULLS ON
  13267. GO
  13268. SET QUOTED_IDENTIFIER ON
  13269. GO
  13270. --------------------------------------------------
  13271. --添加人:Lucifer
  13272. --添加日期:2018-6-6
  13273. --说明:个人用户登陆
  13274. --------------------------------------------------
  13275. CREATE PROCEDURE [dbo].[v2018_pcPaMainByLoginUpdate]
  13276. (
  13277. @IP VARCHAR(31),
  13278. @dcProvinceId SMALLINT,
  13279. @Browser VARCHAR(500),
  13280. @paMainId INT,
  13281. @LoginFrom TINYINT
  13282. )
  13283. AS
  13284. SET NOCOUNT ON
  13285. BEGIN
  13286. --超过登陆次数,每天限制登录次数为20次
  13287. IF (SELECT COUNT(1) FROM paLoginLog WITH(NOLOCK) WHERE paMainID = @paMainId AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) > 19
  13288. RETURN -2
  13289. --应届生网站抓取生成的个人用户,简历默认隐藏,第一次登陆的时候,将简历公开
  13290. IF EXISTS (SELECT 'X' FROM paMain WITH(NOLOCK) WHERE RegisterType = 200 AND Id = @paMainId AND TotalLoginNum = 1)
  13291. BEGIN
  13292. UPDATE cvMain SET IsCvHidden = 0 WHERE paMainId = @paMainId
  13293. END
  13294. --登陆日志
  13295. EXEC v2018_pcPaMainByLastLoginDateUpdate @paMainId, @dcProvinceId, @IP, @Browser, @LoginFrom
  13296. RETURN @paMainId
  13297. END
  13298. SET NOCOUNT OFF
  13299. GO
  13300. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainByMobileUpdate] Script Date: 2018/12/13 19:13:45 ******/
  13301. SET ANSI_NULLS ON
  13302. GO
  13303. SET QUOTED_IDENTIFIER ON
  13304. GO
  13305. --#####################################################
  13306. --添加时间 20180622
  13307. --添加人 Lucifer
  13308. --用途 修改手机号+认证
  13309. --注意 当验证码为000000,是百度百聘注册账号的,百度过来的手机号默认为认证通过的--修改harry 出现号码为空,联系不到情况
  13310. --返回值 0 验证码错误
  13311. -- -1 邮箱黑名单
  13312. --#####################################################
  13313. CREATE PROCEDURE [dbo].[v2018_pcPaMainByMobileUpdate]
  13314. (
  13315. @paMainId INT,
  13316. @Mobile VARCHAR(13),
  13317. @IP VARCHAR(31),
  13318. @VerifyCode VARCHAR(6)
  13319. )
  13320. AS
  13321. BEGIN
  13322. IF EXISTS(SELECT 'x' FROM Person_BLACK WITH(NOLOCK) WHERE Mobile = @Mobile)
  13323. BEGIN
  13324. ----有黑名单,则增加拒绝次数
  13325. UPDATE Person_Black SET RefuseCount = RefuseCount + 1 WHERE Mobile = @Mobile
  13326. RETURN -1
  13327. END
  13328. ----验证验证码是否正确
  13329. DECLARE @paVerifyLogID INT
  13330. SET @paVerifyLogID = 0
  13331. SELECT @paVerifyLogID = ID FROM paVerifyLog WITH(NOLOCK)
  13332. WHERE Mobile = @Mobile AND VerifyCode = @VerifyCode AND AddDate > DATEADD(HOUR, -1, GETDATE())
  13333. IF @paVerifyLogID = 0 AND @VerifyCode <> '000000'
  13334. RETURN 0
  13335. DECLARE @MobileOld VARCHAR(13)
  13336. SELECT @MobileOld = ISNULL(Mobile ,'') FROM paMain WITH(NOLOCK INDEX(PK_paMain))
  13337. WHERE ID = @paMainId AND MobileVerifyDate IS NOT NULL
  13338. IF NOT EXISTS(SELECT 'X' FROM PaMain WITH(NOLOCK) WHERE ID = @paMainId AND MobileVerifyDate IS NOT NULL AND Mobile = @Mobile)
  13339. BEGIN
  13340. UPDATE paVerifyLog SET VerifyDate = GETDATE() WHERE ID = @paVerifyLogID
  13341. --把该手机号的其他账号状态修改为未认证
  13342. UPDATE paMain SET MobileVerifyDate = NULL WHERE Mobile = @Mobile
  13343. IF @VerifyCode <> '000000'
  13344. UPDATE paMain SET Mobile = @Mobile, LastModifyDate = GETDATE(), MobileVerifyDate = GETDATE() WHERE ID = @paMainId
  13345. IF LEN(ISNULL(@MobileOld, '')) > 0
  13346. BEGIN
  13347. INSERT INTO paOperationLog (paMainID, Operation, Details, [IP])
  13348. VALUES(@paMainId, 35, '更新手机号码,原号码:<' + ISNULL(@MobileOld, '') + '>;新手机号码:<' + @Mobile + '>', @IP)
  13349. END
  13350. END
  13351. RETURN 1
  13352. END
  13353. GO
  13354. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainByPasswordUpdate] Script Date: 2018/12/13 19:13:45 ******/
  13355. SET ANSI_NULLS ON
  13356. GO
  13357. SET QUOTED_IDENTIFIER ON
  13358. GO
  13359. --###########################################
  13360. --添加人:Lucifer
  13361. --添加时间:2018-7-17
  13362. --描述:修改密码
  13363. --###########################################
  13364. CREATE PROCEDURE [dbo].[v2018_pcPaMainByPasswordUpdate]
  13365. (
  13366. @ID INT,
  13367. @Password VARCHAR(60),
  13368. @PlainPassword VARCHAR(60),
  13369. @IP VARCHAR(31)
  13370. )
  13371. AS
  13372. SET NOCOUNT OFF
  13373. BEGIN
  13374. IF dbo.IsAccount(@PlainPassword) = 0
  13375. BEGIN
  13376. RETURN 0
  13377. END
  13378. UPDATE paMain SET [Password] = @Password, IsDefaultPassword = 0 WHERE ID = @ID
  13379. --插入操作日志
  13380. INSERT INTO paOperationLog (paMainID, Operation, Details, IP)
  13381. VALUES(@ID, 21, '重置密码,新密码:<' + LEFT(@PlainPassword, 3) + '****>', @IP)
  13382. --如果有找回密码记录,更新IsReset
  13383. UPDATE paGetPasswordLog SET
  13384. IsReset = 1
  13385. WHERE AskNo IN(
  13386. SELECT AskNo FROM paGetPasswordLog WITH(NOLOCK)
  13387. WHERE paMainID = @ID
  13388. AND AddDate > DATEADD(MINUTE, -60, GETDATE())
  13389. AND IsReset IS NULL
  13390. )
  13391. RETURN 1
  13392. END
  13393. SET NOCOUNT ON
  13394. GO
  13395. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainByUsernameUpdate] Script Date: 2018/12/13 19:13:46 ******/
  13396. SET ANSI_NULLS ON
  13397. GO
  13398. SET QUOTED_IDENTIFIER ON
  13399. GO
  13400. --###########################################
  13401. --添加人:Lucifer
  13402. --添加时间:2018-7-17
  13403. --描述:修改个人用户名
  13404. --返回值:-1 邮件黑名单
  13405. -- -2 邮件格式错误
  13406. -- 0 邮箱重复
  13407. --###########################################
  13408. CREATE PROCEDURE [dbo].[v2018_pcPaMainByUsernameUpdate]
  13409. (
  13410. @ID INT,
  13411. @Username VARCHAR(50),
  13412. @IP VARCHAR(31)
  13413. )
  13414. AS
  13415. SET NOCOUNT OFF
  13416. --有黑名单,则增加拒绝次数
  13417. IF EXISTS(SELECT 'x' FROM Person_Black WITH(NOLOCK) WHERE Email = @Username)
  13418. BEGIN
  13419. UPDATE Person_Black SET RefuseCount = ISNULL(RefuseCount, 0) + 1 WHERE Email = @Username
  13420. RETURN -1
  13421. END
  13422. --用户名不是邮箱格式
  13423. IF dbo.IsEmail(@Username) = 0
  13424. BEGIN
  13425. RETURN -2
  13426. END
  13427. --用户名重复
  13428. IF EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK INDEX(IX_paMain_UserNameLower)) WHERE UserNameLower = @Username)
  13429. BEGIN
  13430. RETURN 0
  13431. END
  13432. BEGIN TRY
  13433. DECLARE @UsernameOld AS VARCHAR(50)
  13434. SELECT @UsernameOld = UsernameLower
  13435. FROM paMain WITH(NOLOCK INDEX(PK_paMain)) WHERE ID = @ID
  13436. UPDATE paMain SET Username = @Username WHERE ID = @ID
  13437. INSERT INTO paOperationLog (paMainID, Operation, Details, IP)
  13438. VALUES(@ID, 20, '更新用户名,原用户名:<' + @UsernameOld + '>;新用户名:<' + @Username + '>', @IP)
  13439. RETURN 1
  13440. END TRY
  13441. BEGIN CATCH
  13442. RETURN 0
  13443. END CATCH
  13444. SET NOCOUNT ON
  13445. GO
  13446. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainInsert] Script Date: 2018/12/13 19:13:46 ******/
  13447. SET ANSI_NULLS ON
  13448. GO
  13449. SET QUOTED_IDENTIFIER ON
  13450. GO
  13451. --#####################################################
  13452. --添加时间 20180614
  13453. --添加人 Lucifer
  13454. --用途 个人注册
  13455. --返回值 0 IP黑名单
  13456. -- -1 邮箱黑名单
  13457. -- -2 邮箱已存在
  13458. -- -3 注册失败
  13459. -- -4 10分钟之内注册超过10个(@RegisterType = 200的不考虑,属于应届生网站抓取的简历注册)
  13460. --#####################################################
  13461. CREATE PROCEDURE [dbo].[v2018_pcPaMainInsert]
  13462. (
  13463. @Email VARCHAR(50),
  13464. @Password VARCHAR(60),
  13465. @dcProvinceID SMALLINT,
  13466. @RegisterIP VARCHAR(50),
  13467. @RegisterFrom TINYINT,
  13468. @RegisterType TINYINT,
  13469. @UrlID INT,
  13470. @InfoID INT,
  13471. @Referer VARCHAR(500)
  13472. )
  13473. AS
  13474. SET NOCOUNT ON
  13475. BEGIN TRY
  13476. --IP黑名单
  13477. IF EXISTS(SELECT 'X' FROM IP_Black WITH(NOLOCK) WHERE [IP] = @RegisterIP)
  13478. BEGIN
  13479. RETURN 0
  13480. END
  13481. --10分钟之内注册超过10个(@RegisterType = 200的不考虑,属于应届生网站抓取的简历注册)
  13482. IF (
  13483. SELECT COUNT(*) FROM paMain WITH(NOLOCK)
  13484. WHERE RegisterIp = @RegisterIp AND AddDate > DATEADD(MINUTE, -10, GETDATE()) AND @RegisterType <> 200
  13485. ) > 10
  13486. BEGIN
  13487. RETURN -4
  13488. END
  13489. --邮箱黑名单
  13490. IF EXISTS(SELECT 'X' FROM Person_Black WITH(NOLOCK) WHERE Email = @Email)
  13491. BEGIN
  13492. UPDATE Person_black SET RefuseCount = ISNULL(RefuseCount, 0) + 1 WHERE Email = @Email
  13493. RETURN -1
  13494. END
  13495. --邮箱已存在
  13496. IF EXISTS(SELECT 'X' FROM paMain WITH(NOLOCK) WHERE Email = @Email)
  13497. BEGIN
  13498. RETURN -2
  13499. END
  13500. DECLARE @MaxId INT
  13501. BEGIN TRAN
  13502. INSERT INTO paMain
  13503. (Username, [Password], dcProvinceID, dcSubSiteID, Email, RegisterIP, LastLoginDate, TotalLoginNum, RegisterFrom, RegisterType)
  13504. VALUES(@Email, @Password, @dcProvinceID, @dcProvinceID, @Email, @RegisterIP, GETDATE(), 1, @RegisterFrom, @RegisterType)
  13505. SET @MaxId = @@IDENTITY
  13506. --应届生网站抓取的简历注册 不计入DateReport
  13507. UPDATE DateReport SET PersonRegNum = ISNULL(PersonRegNum, 0) + 1, PersonLoginNum_Net = ISNULL(PersonLoginNum_Net, 0) + 1
  13508. WHERE province_id = @dcProvinceID AND CountDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND @RegisterType <> 200
  13509. --操作日志
  13510. INSERT INTO paOperationLog (paMainID, Operation, Details, [IP]) VALUES(@MaxID, 10, '注册个人账号成功。', @RegisterIP)
  13511. COMMIT
  13512. END TRY
  13513. BEGIN CATCH
  13514. ROLLBACK TRAN
  13515. INSERT INTO LogDb..RegisterErrorLog SELECT @MaxId, '10|' + @RegisterIP+'|'+@RegisterFrom, @Email + ' ' + @Password, GETDATE()
  13516. RETURN -3
  13517. END CATCH
  13518. BEGIN TRY
  13519. IF @UrlID > 0
  13520. BEGIN
  13521. UPDATE [Url] SET AllResume = ISNULL(AllResume, 0) + 1, TodayResume = ISNULL(TodayResume, 0) + 1 WHERE ID = @UrlID
  13522. IF EXISTS(SELECT 'X' FROM [Url] WHERE ID = @UrlID AND [Description] LIKE '%百度竞价%')
  13523. BEGIN
  13524. INSERT INTO UrlAccount VALUES(@UrlID, @MaxID, NULL, GETDATE())
  13525. END
  13526. END
  13527. IF @InfoID > 0
  13528. BEGIN
  13529. IF NOT EXISTS(
  13530. SELECT TOP 1 'X'
  13531. FROM Info_DateReport WITH(NOLOCK)
  13532. WHERE Countdate = CONVERT(VARCHAR(8), GETDATE(), 112)
  13533. AND Province_Id = @dcProvinceID
  13534. AND InfoManager_Id = @InfoID
  13535. )
  13536. BEGIN
  13537. INSERT INTO Info_DateReport (Province_Id, InfoManager_Id, CountDate)
  13538. VALUES(@dcProvinceID, @InfoID, CONVERT(VARCHAR(8), GETDATE(), 112))
  13539. END
  13540. UPDATE Info_DateReport
  13541. SET AllResume = ISNULL(AllResume, 0) + 1
  13542. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  13543. AND Province_ID = @dcProvinceID
  13544. AND InfoManager_ID = @InfoID
  13545. INSERT INTO InfoLog(InfoManager_Id, [IP], Referer, paMainId)
  13546. VALUES(@InfoID, @RegisterIp, '', @MaxID)
  13547. END
  13548. IF LEN(@Referer) > 0
  13549. BEGIN
  13550. INSERT INTO paReferer(paMainId, Referer)
  13551. VALUES(@MaxID, @Referer)
  13552. END
  13553. END TRY
  13554. BEGIN CATCH
  13555. END CATCH
  13556. RETURN @MaxID
  13557. SET NOCOUNT OFF
  13558. GO
  13559. /****** Object: StoredProcedure [dbo].[v2018_pcPaMainUpdate] Script Date: 2018/12/13 19:13:46 ******/
  13560. SET ANSI_NULLS ON
  13561. GO
  13562. SET QUOTED_IDENTIFIER ON
  13563. GO
  13564. --#####################################################
  13565. --创建时间:2018.6.21
  13566. --创建人:Lucifer
  13567. --说明:保存基本信息
  13568. --@ModifyType 1、修改基本信息 2、修改求职状态 3、修改屏蔽词
  13569. --#####################################################
  13570. CREATE PROCEDURE [dbo].[v2018_pcPaMainUpdate]
  13571. (
  13572. @paMainID INT,
  13573. @cvMainID INT,
  13574. @Name NVARCHAR(6),
  13575. @NameEng VARCHAR(30),
  13576. @Gender BIT,
  13577. @BirthDay INT,
  13578. @LivePlace VARCHAR(6),
  13579. @MapPlace INT,
  13580. @AccountPlace VARCHAR(6),
  13581. @GrowPlace VARCHAR(6),
  13582. @OnlineContact TINYINT,
  13583. @OnlineContactNo VARCHAR(50),
  13584. @Homepage VARCHAR(200),
  13585. @Marriage TINYINT,
  13586. @Nation TINYINT,
  13587. @Height TINYINT,
  13588. @IsReceiveSms BIT,
  13589. @CareerStatus TINYINT,
  13590. @HideConditions NVARCHAR(500),
  13591. @IP VARCHAR(39),
  13592. @ModifyType TINYINT
  13593. )
  13594. AS
  13595. SET NOCOUNT ON
  13596. BEGIN TRAN
  13597. IF NOT EXISTS(SELECT TOP 1 'X' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  13598. GOTO ERR
  13599. BEGIN TRY
  13600. IF @ModifyType = 1 --修改基本信息
  13601. BEGIN
  13602. DECLARE @NameOld NVARCHAR(6)
  13603. DECLARE @NameEngOld VARCHAR(30)
  13604. DECLARE @OnlineContactNoOld VARCHAR(50)
  13605. DECLARE @HomepageOld VARCHAR(200)
  13606. DECLARE @IsReceiveSmsOld BIT
  13607. --检查在线联系方式和号码
  13608. IF @OnlineContact = 0
  13609. SET @OnlineContactNo = NULL
  13610. --取消不正确的主页格式
  13611. SET @Homepage = REPLACE(@Homepage, 'http%3A//', 'http://')
  13612. SET @Homepage = REPLACE(@Homepage, 'http://', '')
  13613. --获得原始数据
  13614. SELECT @NameOld = [Name], @NameEngOld = NameEng, @OnlineContactNoOld = OnlineContactNo,
  13615. @HomepageOld = Homepage, @IsReceiveSmsOld = IsReceiveSms
  13616. FROM paMain WITH(NOLOCK INDEX(PK_paMain))
  13617. WHERE ID = @paMainID
  13618. --选填没填置空
  13619. SET @Name = dbo.v2018_SetVarcharNull(@Name)
  13620. SET @NameEng = dbo.v2018_SetVarcharNull(@NameEng)
  13621. SET @OnlineContact = dbo.v2018_SetIntNull(@OnlineContact)
  13622. SET @Homepage = dbo.v2018_SetVarcharNull(@Homepage)
  13623. SET @Marriage = dbo.v2018_SetIntNull(@Marriage)
  13624. SET @Nation = dbo.v2018_SetIntNull(@Nation)
  13625. SET @Height = dbo.v2018_SetIntNull(@Height)
  13626. UPDATE paMain SET
  13627. [Name] = @Name,
  13628. NameEng = @NameEng,
  13629. Gender = @Gender,
  13630. BirthDay = @BirthDay,
  13631. LivePlace = @LivePlace,
  13632. AccountPlace = @AccountPlace,
  13633. GrowPlace = @GrowPlace,
  13634. OnlineContact = @OnlineContact,
  13635. OnlineContactNo = @OnlineContactNo,
  13636. Homepage = @Homepage,
  13637. Marriage = @Marriage,
  13638. Nation = @Nation,
  13639. Height = @Height,
  13640. dcMapPlaceId = @MapPlace,
  13641. IsReceiveSms = @IsReceiveSms,
  13642. LastModifyDate = GETDATE()
  13643. WHERE ID = @paMainID
  13644. --添加审核记录
  13645. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @Name, @NameOld, 'ac1', @IP
  13646. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @NameEng, @NameEngOld, 'ae1', @IP
  13647. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @OnlineContactNo, @OnlineContactNoOld, 'ac2', @IP
  13648. EXEC v2018_pcCvModifyInsert @paMainID, @cvMainID, NULL, @Homepage, @HomepageOld, 'ac3', @IP
  13649. --接收短信设置添加操作日志
  13650. IF @IsReceiveSmsOld <> @IsReceiveSms
  13651. BEGIN
  13652. INSERT INTO paOperationLog(paMainID, Operation, Details, IP)
  13653. VALUES(@paMainID, 60, '更改接收短信设置为' + CASE @IsReceiveSms WHEN 1 THEN '<接收短信>' ELSE '<不接收短信>' END, @IP)
  13654. END
  13655. ----修改cvMain.cvLevel
  13656. IF @Name IS NOT NULL
  13657. BEGIN
  13658. EXEC v2018_pcCvMainByCvLevelUpdate 0, @cvMainID, 1, 1
  13659. END
  13660. IF @NameEng IS NOT NULL
  13661. BEGIN
  13662. EXEC v2018_pcCvMainByCvLevelUpdate 1, @cvMainID, 1, 1
  13663. END
  13664. ----12小时内只保留一次修改记录
  13665. DELETE FROM paOperationLog WHERE paMainID = @paMainID AND Operation = 11 AND AddDate > GETDATE() - 0.5
  13666. INSERT INTO paOperationLog (paMainID, Operation, Details, IP) VALUES(@paMainID, 11, '更新基本信息成功。', @IP)
  13667. END
  13668. ELSE IF @ModifyType = 2 --修改求职状态
  13669. BEGIN
  13670. UPDATE paMain SET
  13671. dcCareerStatus = @CareerStatus
  13672. WHERE ID = @paMainID
  13673. UPDATE cvMain SET
  13674. RefreshDate = GETDATE()
  13675. WHERE ID = @cvMainID AND DATEADD(HOUR, 1, RefreshDate) < GETDATE()
  13676. END
  13677. ELSE IF @ModifyType = 3 --修改屏蔽词
  13678. BEGIN
  13679. UPDATE paMain SET
  13680. HideConditions = @HideConditions
  13681. WHERE ID = @paMainID
  13682. INSERT INTO paOperationLog (paMainID, Operation, Details, IP) VALUES(@paMainID, 50, '更新屏蔽设置成功。', @IP)
  13683. END
  13684. END TRY
  13685. BEGIN CATCH
  13686. GOTO ERR
  13687. END CATCH
  13688. COMMIT TRAN
  13689. RETURN 1
  13690. ERR:
  13691. BEGIN
  13692. ROLLBACK TRAN
  13693. RETURN 0
  13694. END
  13695. SET NOCOUNT OFF
  13696. GO
  13697. /****** Object: StoredProcedure [dbo].[v2018_pcPaPageViewLogUpdate] Script Date: 2018/12/13 19:13:47 ******/
  13698. SET ANSI_NULLS ON
  13699. GO
  13700. SET QUOTED_IDENTIFIER ON
  13701. GO
  13702. --################################################################
  13703. --创建人:Lucifer
  13704. --创建时间:2018-7-23
  13705. --描述:更新个人动态
  13706. --@ViewPageType 1、面试邀请 2、应聘邀请 3、谁在关注我 4、我的关注 5、你的菜 6、申请的职位 7、聊天记录
  13707. --################################################################
  13708. CREATE PROCEDURE [dbo].[v2018_pcPaPageViewLogUpdate]
  13709. (
  13710. @paMainId INT,
  13711. @ViewPageType TINYINT
  13712. )
  13713. AS
  13714. SET NOCOUNT ON
  13715. BEGIN
  13716. IF NOT EXISTS(SELECT 'X' FROM paPageViewLog WITH(NOLOCK) WHERE paMainId = @paMainId)
  13717. BEGIN
  13718. INSERT INTO paPageViewLog(paMainId, addDate, InterviewDate, IntentionDate, ViewLogDate,
  13719. AttentionDate, YourFoodDate, ApplyReplyDate)
  13720. VALUES(@paMainId, GETDATE() - 10, GETDATE() - 10, GETDATE() - 10, GETDATE() - 10,
  13721. GETDATE() - 10, GETDATE() - 10, GETDATE() - 10)
  13722. END
  13723. IF @ViewPageType = 1
  13724. UPDATE paPageViewLog SET InterviewDate = GETDATE(), InterviewCount = 0 WHERE paMainId = @paMainId
  13725. IF @ViewPageType = 2
  13726. UPDATE paPageViewLog SET IntentionDate = GETDATE(), CpInvitationCount = 0 WHERE paMainId = @paMainId
  13727. IF @ViewPageType = 3
  13728. UPDATE paPageViewLog SET ViewLogDate = GETDATE(), CvViewLogCount = 0 WHERE paMainId = @paMainId
  13729. IF @ViewPageType = 4
  13730. UPDATE paPageViewLog SET AttentionDate = GETDATE(), MyAttentionCount = 0 WHERE paMainId = @paMainId
  13731. IF @ViewPageType = 5
  13732. UPDATE paPageViewLog SET YourFoodDate = GETDATE(), YourFoodCount = 0 WHERE paMainId = @paMainId
  13733. IF @ViewPageType = 6
  13734. UPDATE paPageViewLog SET ApplyReplyDate = GETDATE(), JobAppliedCount = 0 WHERE paMainId = @paMainId
  13735. IF @ViewPageType = 7
  13736. UPDATE paPageViewLog SET ChatCount = 0 WHERE paMainId = @paMainId
  13737. END
  13738. SET NOCOUNT OFF
  13739. GO
  13740. /****** Object: StoredProcedure [dbo].[v2018_pcPaPlaintSelect] Script Date: 2018/12/13 19:13:47 ******/
  13741. SET ANSI_NULLS ON
  13742. GO
  13743. SET QUOTED_IDENTIFIER ON
  13744. GO
  13745. --################################################################
  13746. --创建人:Lucifer
  13747. --创建时间:2018-7-23
  13748. --描述:获取企业投诉个人记录,更新为已查看
  13749. --################################################################
  13750. CREATE PROCEDURE [dbo].[v2018_pcPaPlaintSelect]
  13751. (
  13752. @paMainID INT
  13753. )
  13754. AS
  13755. SET NOCOUNT ON
  13756. BEGIN
  13757. UPDATE PaPlaint SET
  13758. IsViewed = 1
  13759. WHERE paMainID = @paMainID
  13760. SELECT a.*, c.Name CompanyName,c.SecondID
  13761. FROM PaPlaint a WITH(NOLOCK)
  13762. LEFT JOIN caMain b WITH(NOLOCK) ON a.caMainID = b.ID
  13763. LEFT JOIN cpMain c WITH(NOLOCK) ON b.cpMainID = c.ID
  13764. WHERE paMainID = @paMainID
  13765. ORDER BY ID DESC
  13766. END
  13767. SET NOCOUNT OFF
  13768. GO
  13769. /****** Object: StoredProcedure [dbo].[v2018_pcPaVerifyLogInsert] Script Date: 2018/12/13 19:13:47 ******/
  13770. SET ANSI_NULLS ON
  13771. GO
  13772. SET QUOTED_IDENTIFIER ON
  13773. GO
  13774. --####################################################
  13775. --添加人:Lucifer
  13776. --添加时间:2018-6-27
  13777. --描述:获取短信/邮件验证码
  13778. --返回值 -1 邮件已认证
  13779. -- -2 一天同一IP验证超过10次
  13780. -- -3 一天同一手机号/邮件验证超过5次
  13781. -- -4 5分钟内同一手机号/邮件超过3次
  13782. -- -5 手机号黑名单
  13783. --####################################################
  13784. CREATE PROCEDURE [dbo].[v2018_pcPaVerifyLogInsert]
  13785. (
  13786. @Mobile VARCHAR(11),
  13787. @Email VARCHAR(50),
  13788. @IP VARCHAR(31),
  13789. @paMainID INT
  13790. )
  13791. AS
  13792. SET NOCOUNT ON
  13793. BEGIN
  13794. SET @Mobile = dbo.v2018_SetVarcharNull(@Mobile)
  13795. SET @Email = dbo.v2018_SetVarcharNull(@Email)
  13796. IF @Mobile IS NOT NULL
  13797. BEGIN
  13798. IF LEFT(@Mobile, 7) = '1713075' --该号段都是骗子
  13799. RETURN -2
  13800. IF EXISTS(SELECT 'X' FROM Person_Black WITH(NOLOCK) WHERE Mobile = @Mobile)
  13801. RETURN -5
  13802. IF EXISTS(SELECT 'X' FROM tmp_LimitMobile WITH(NOLOCK) WHERE Mobile = @Mobile)
  13803. RETURN -5
  13804. END
  13805. ELSE
  13806. BEGIN
  13807. IF EXISTS(SELECT 'X' FROM Person_Black WITH(NOLOCK) WHERE Email = @Email)
  13808. RETURN -5
  13809. END
  13810. IF CHARINDEX(', ', @IP) > 0
  13811. SET @IP = RIGHT(@IP, LEN(@IP) - CHARINDEX(', ', @IP))
  13812. DECLARE @VerifyCount SMALLINT
  13813. SELECT @VerifyCount = COUNT(1) FROM paVerifyLog WITH(NOLOCK)
  13814. WHERE [IP] = @IP
  13815. AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  13816. IF @VerifyCount >= 10 AND @IP <> '60.215.144.163' --一天同一IP验证超过10次
  13817. RETURN -2
  13818. SELECT @VerifyCount = COUNT(1) FROM paVerifyLog WITH(NOLOCK)
  13819. WHERE (Mobile = @Mobile OR Email = @Email)
  13820. AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  13821. IF @VerifyCount >= 5 --一天同一手机号或邮箱验证超过5次
  13822. RETURN -3
  13823. SELECT @VerifyCount = COUNT(1) FROM paVerifyLog WITH(NOLOCK)
  13824. WHERE (Mobile = @Mobile OR Email = @Email)
  13825. AND AddDate > DATEADD(MINUTE, -5, GETDATE())
  13826. IF @VerifyCount >= 3 --5分钟内同一手机号或邮箱超过3次
  13827. RETURN -4
  13828. IF EXISTS(SELECT TOP 1 'X' FROM paMain WITH(NOLOCK) WHERE Username = @Email AND EmailVerifyDate IS NOT NULL)
  13829. RETURN -1
  13830. DECLARE @VerifyCode VARCHAR(6)
  13831. SELECT @VerifyCode = RAND() * 899999 + 100000
  13832. INSERT INTO paVerifyLog(paMainID, Email, Mobile, VerifyCode, VerifyDate, AddDate, [IP])
  13833. VALUES(@paMainID, @Email, @Mobile, @VerifyCode, NULL, GETDATE(), @IP)
  13834. RETURN @VerifyCode
  13835. END
  13836. SET NOCOUNT OFF
  13837. GO
  13838. /****** Object: StoredProcedure [dbo].[v2018_pcPaVerifyLogUpdate] Script Date: 2018/12/13 19:13:48 ******/
  13839. SET ANSI_NULLS ON
  13840. GO
  13841. SET QUOTED_IDENTIFIER ON
  13842. GO
  13843. --####################################################
  13844. --添加人:Lucifer
  13845. --添加时间:2018-6-27
  13846. --描述:验证个人认证码,并做相应操作
  13847. --CerType 1 邮箱认证 UPDATE paMain
  13848. -- 2 手机号认证 UPDATE paMain
  13849. -- 3 手机号登陆
  13850. -- 4 手机号注册
  13851. --返回值 -1 认证失败
  13852. -- >=0 返回paMainId
  13853. --####################################################
  13854. CREATE PROCEDURE [dbo].[v2018_pcPaVerifyLogUpdate]
  13855. (
  13856. @Mobile VARCHAR(11),
  13857. @Email VARCHAR(50),
  13858. @CerCode VARCHAR(6),
  13859. @CerType TINYINT
  13860. )
  13861. AS
  13862. SET NOCOUNT ON
  13863. BEGIN
  13864. SET @Mobile = dbo.v2018_SetVarcharNull(@Mobile)
  13865. SET @Email = dbo.v2018_SetVarcharNull(@Email)
  13866. DECLARE @paMainID INT
  13867. DECLARE @paVerifyLogID INT
  13868. SELECT TOP 1 @paMainID = paMainID, @paVerifyLogID = ID
  13869. FROM paVerifyLog WITH(NOLOCK)
  13870. WHERE (Mobile = @Mobile
  13871. OR Email = @Email)
  13872. AND VerifyCode = @CerCode
  13873. AND VerifyDate IS NULL
  13874. AND AddDate > DATEADD(HOUR, -1, GETDATE())
  13875. ORDER BY ID DESC
  13876. IF @paVerifyLogID IS NULL --验证码错误
  13877. BEGIN
  13878. RETURN -1
  13879. END
  13880. UPDATE paVerifyLog SET
  13881. VerifyDate = GETDATE()
  13882. WHERE ID = @paVerifyLogID
  13883. IF @CerType = 1 AND @Email IS NOT NULL --邮箱认证
  13884. BEGIN
  13885. UPDATE paMain SET EmailVerifyDate = GETDATE() WHERE ID = @paMainID
  13886. END
  13887. ELSE IF @CerType = 2 AND @Mobile IS NOT NULL --手机号认证
  13888. BEGIN
  13889. UPDATE paMain SET MobileVerifyDate = NULL WHERE Mobile = @Mobile
  13890. UPDATE paMain SET
  13891. Mobile = @Mobile
  13892. WHERE ID = @paMainID
  13893. UPDATE paMain SET
  13894. MobileVerifyDate = GETDATE()
  13895. WHERE ID = @paMainID
  13896. END
  13897. RETURN @paMainID
  13898. END
  13899. SET NOCOUNT OFF
  13900. GO
  13901. /****** Object: StoredProcedure [dbo].[v2018_ProcCaCvViewCntLogInsert] Script Date: 2018/12/13 19:13:48 ******/
  13902. SET ANSI_NULLS ON
  13903. GO
  13904. SET QUOTED_IDENTIFIER ON
  13905. GO
  13906. --半小时检查一次,企业浏览下载的简历的数量
  13907. --如超过限定数量则禁止登录短信,rtx通知
  13908. --harry 2018-8-10
  13909. CREATE PROCEDURE [dbo].[v2018_ProcCaCvViewCntLogInsert]
  13910. AS
  13911. BEGIN
  13912. DECLARE @maxViewcnt INT
  13913. SET @maxViewcnt = 100
  13914. CREATE TABLE #t
  13915. (
  13916. Id INT IDENTITY(1,1),
  13917. cpMainId INT,
  13918. caMainId INT,
  13919. cvViewCnt INT,---浏览总数量
  13920. downLoadCvViewCnt INT,---浏览下载简历数量
  13921. exjobapplyViewCnt INT---申请的职位浏览量
  13922. )
  13923. --查询半小时内浏览简历的用户数据
  13924. INSERT INTO #t(caMainId)
  13925. SELECT DISTINCT caMainId
  13926. FROM cacvviewlog WITH(NOLOCK)
  13927. WHERE DATEDIFF(MINUTE ,adddate,GETDATE())<31
  13928. AND caMainId NOT IN(select id from camain WITH(NOLOCK) WHERE cpMainId=7269599)
  13929. --更新企业信息
  13930. UPDATE #t
  13931. SET cpMainId=(SELECT cpMainId FROM caMain WITH(NOLOCK) WHERE id=#t.caMainID)
  13932. --计算查看简历数量
  13933. DECLARE @id INT, @cpMainId INT,@caMainId INT
  13934. SET @id=0
  13935. WHILE EXISTS(SELECT 'x' FROM #t WHERE id>@id)
  13936. BEGIN
  13937. SELECT TOP 1 @id = id, @cpMainId= cpMainId, @caMainId = camainId FROM #t WHERE id>@id ORDER by id
  13938. print @caMainId
  13939. --计算浏览量
  13940. UPDATE #t SET cvViewCnt=(
  13941. SELECT COUNT(1) FROM cacvviewlog WITH(NOLOCK)
  13942. WHERE camainId= @caMainId
  13943. AND DATEDIFF(MINUTE ,adddate,GETDATE())<31
  13944. )
  13945. WHERE caMainId = @caMainId
  13946. --计算浏览下载量
  13947. UPDATE #t SET DownLoadCvViewCnt=(
  13948. SELECT COUNT(1) FROM cacvviewlog WITH(NOLOCK)
  13949. WHERE camainId= @caMainId
  13950. AND cvmainId IN(select cvMainID FROM caactivelog WITH(NOLOCK) WHERE cpMainId= @cpMainId)
  13951. AND DATEDIFF(MINUTE,adddate,GETDATE())<31
  13952. )
  13953. WHERE caMainId = @caMainId
  13954. --计算查看应聘的简历数量
  13955. UPDATE #t SET exjobapplyViewCnt=(
  13956. SELECT COUNT(1) FROM cacvviewlog WITH(NOLOCK)
  13957. WHERE camainId= @caMainId
  13958. AND cvmainId IN(select cvMainID FROM exjobapply WITH(NOLOCK) WHERE jobId IN(select id FROM job WHERE cpMainID= @cpMainId))
  13959. AND DATEDIFF(MINUTE,adddate,GETDATE())<31
  13960. )
  13961. WHERE caMainId = @caMainId
  13962. END
  13963. --处理查看超出数量的用户,限制用户登录
  13964. SELECT * INTO #t0 FROM #t WHERE (ISNULL(downLoadCvViewCnt,0)+ISNULL(exjobapplyViewCnt,0))> @maxViewcnt
  13965. INSERT INTO caCvviewCntLog(camainId, cpMainId, cvViewCnt, downLoadCvViewCnt,exjobapplyViewCnt, adddate)
  13966. SELECT camainId, cpMainId, cvViewCnt, downLoadCvViewCnt,exjobapplyViewCnt, GETDATE()
  13967. FROM #t0
  13968. --限制登录,同时发短信,rtx
  13969. SELECT @id=0,@cpMainId=0,@caMainId =0
  13970. WHILE EXISTS(SELECT 'x' FROM #t0 WHERE id>@id)
  13971. BEGIN
  13972. SELECT TOP 1 @id = id, @cpMainId= cpMainId, @caMainId = camainId FROM #t0 WHERE id>@id ORDER by id
  13973. EXEC bpCpMainByIsLimitLoginUpdate @cpMainId, 9, 1, '短时间内浏览大量简历限制登录'
  13974. INSERT INTO rtxnotifylog
  13975. SELECT ISNULL(ConsultantID,0),'短时间内浏览大量简历限制登录通知',Name+'('+LTRIM(STR(ID))+')企业短时间内浏览大量简历,已限制登录!http://sysback.51rc.com/newoa/company/cp/cpMainInfo?id=' + LTRIM(STR(ID)) + '&code=' + LTRIM(STR(DATEPART(HOUR, RegDate) * 100 + DATEPART(MINUTE, RegDate))),1,0,0,null,getdate()
  13976. FROM cpMain WITH(NOLOCK)
  13977. WHERE ID =@cpMainId
  13978. END
  13979. DROP TABLE #t
  13980. DROP TABLE #t0
  13981. END
  13982. GO
  13983. /****** Object: StoredProcedure [dbo].[v2018_procColdCustomerInsert] Script Date: 2018/12/13 19:13:48 ******/
  13984. SET ANSI_NULLS ON
  13985. GO
  13986. SET QUOTED_IDENTIFIER ON
  13987. GO
  13988. --采集的冷客户分配
  13989. --alen
  13990. --2018-10-09
  13991. CREATE PROCEDURE [dbo].[v2018_procColdCustomerInsert]
  13992. (
  13993. @ManagerUserId INT,
  13994. @Allocater INT,
  13995. @SourceType INT,
  13996. @AllocateNumber INT,
  13997. @isSpread INT
  13998. )
  13999. AS
  14000. SET NOCOUNT ON
  14001. BEGIN
  14002. DECLARE @Id INT
  14003. DECLARE @AllocateId INT
  14004. DECLARE @cpName VARCHAR(200)
  14005. DECLARE @ProvinceId INT
  14006. SET @ProvinceId=32
  14007. DECLARE @dtLastLoginDate DATETIME
  14008. DECLARE @dtLastContactDate DATETIME
  14009. SET @dtLastLoginDate=dateAdd(month,-6,getdate())
  14010. SET @dtLastContactDate=dateAdd(month,-6,getdate())
  14011. IF(@ProvinceId=32)
  14012. SET @dtLastContactDate=dateAdd(month,-3,getdate())
  14013. --分配前,更新已被注册的信息
  14014. CREATE TABLE #t(
  14015. Id INT ,
  14016. [state] INT,
  14017. SourceType INT,
  14018. RegType INT,
  14019. CompanyName VARCHAR(200),
  14020. LinkMan varchar(50),
  14021. Phone varchar(50),
  14022. Tel varchar(50),
  14023. Email varchar(50),
  14024. SourceLink varchar(500),
  14025. [Address] varchar(200),
  14026. QQ char(15),
  14027. IsNameRepeat BIT,
  14028. IsEmailRepeat BIT,
  14029. IsMobileRepeat BIT,
  14030. IsAgree BIT,
  14031. IsValid BIT,
  14032. CheckDate DATETIME,
  14033. AddDate DATETIME
  14034. )
  14035. CREATE TABLE #d(
  14036. cpmainid INT,
  14037. cppersonalaccountid INT,
  14038. cpCertificationid INT
  14039. )
  14040. INSERT #t(id,[state],sourceType,companyName,LinkMan,Phone,Tel,Email,SourceLink,[address],qq)
  14041. SELECT id,[state],sourceType,companyName,linkMan,Phone,Tel,Email,SourceLink,[address],qq
  14042. FROM precoldCustomer
  14043. WHERE [state]=0--未分配
  14044. AND ISNULL(isSpread,0) = @isSpread
  14045. IF EXISTS(SELECT 'x' FROM #t)
  14046. BEGIN
  14047. --2018-10-09 ALEN采集规则添加(更改齐鲁人才网采集到公司的实名状态)
  14048. INSERT #d(cpmainid,cppersonalaccountid,cpCertificationid)
  14049. SELECT b.cpMainID,a.id,b.id
  14050. FROM cppersonalaccount a,cpCertification b
  14051. WHERE a.cpCertificationID=b.id
  14052. AND b.cpMainID IN(
  14053. SELECT SourceLink
  14054. FROM #t
  14055. WHERE SourceType=8
  14056. )
  14057. AND a.Name='XXX'
  14058. DECLARE @cpmainid varchar(20),@cppersonalaccountid varchar(20),@cpCertificationid varchar(20)
  14059. DECLARE cursor_name CURSOR FOR --定义游标
  14060. SELECT cpmainid,cppersonalaccountid,cpCertificationid FROM #d
  14061. OPEN cursor_name --打开游标
  14062. FETCH NEXT FROM cursor_name INTO @cpmainid,@cppersonalaccountid,@cpCertificationid --抓取下一行游标数据
  14063. WHILE @@FETCH_STATUS = 0
  14064. BEGIN
  14065. DELETE FROM cppersonalaccount WHERE id =@cppersonalaccountid
  14066. UPDATE cpCertification SET CerStatus=null,CerDate=null
  14067. WHERE id =@cpCertificationid
  14068. UPDATE cpmain SET MemberType=1
  14069. WHERE id =@cpmainid
  14070. FETCH NEXT FROM cursor_name INTO @cpmainid,@cppersonalaccountid,@cpCertificationid
  14071. END
  14072. CLOSE cursor_name --关闭游标
  14073. DEALLOCATE cursor_name --释放游标
  14074. --删除在coldcustomer表中的数据 2018-10-09 ALEN采集规则添加
  14075. UPDATE #t SET [state]=2
  14076. WHERE EXISTS(SELECT 'x' FROM Maindb..coldcustomer
  14077. WHERE companyName=#t.CompanyName AND ProvinceID=@ProvinceId AND AddMan IS NOT NULL)
  14078. AND [state]=0
  14079. IF @isSpread = 0 --冷客户部门的规则
  14080. BEGIN
  14081. --有顾问的(上次联系时间,和登录时间不为空的)
  14082. --3(6)个月内未联系,删除3(6)个月内联系过的
  14083. UPDATE #t SET [state]=2
  14084. WHERE EXISTS
  14085. (
  14086. SELECT 'x' FROM cpMain
  14087. WHERE NAME=#t.CompanyName
  14088. AND dcProvinceID = @ProvinceId
  14089. AND ISNULL(ConsultantID, -1) != -1
  14090. AND id =(
  14091. SELECT TOP 1 companyID
  14092. FROM MainDB..contact
  14093. WHERE companyID = CpMain.ID
  14094. AND addDate>@dtLastContactDate
  14095. ORDER BY addDate DESC
  14096. )
  14097. )
  14098. AND [state]=0
  14099. --6个月未登录,删除6个月内登录过的
  14100. UPDATE #t SET [state]=2
  14101. WHERE EXISTS(
  14102. SELECT 'x' FROM cpMain
  14103. WHERE NAME=#t.CompanyName
  14104. AND dcProvinceID=@ProvinceId
  14105. AND ISNULL(ConsultantID,-1)!=-1
  14106. AND LastLoginDate>@dtLastLoginDate
  14107. )
  14108. AND [state]=0
  14109. --无顾问
  14110. --无执照且一个月未登录,删除一个月内登录的
  14111. UPDATE #t SET [state]=2
  14112. WHERE EXISTS(
  14113. SELECT 'x' FROM cpMain
  14114. WHERE NAME=#t.CompanyName
  14115. AND dcProvinceID=@ProvinceId
  14116. AND ISNULL(ConsultantID,-1)=-1
  14117. AND HasLicence=0
  14118. AND LastLoginDate>DateAdd(month,-1,getdate())
  14119. )
  14120. AND [state]=0
  14121. --有执照且三个月未登录,删除3个月内登录的
  14122. UPDATE #t SET [state]=2
  14123. WHERE EXISTS
  14124. (
  14125. SELECT 'x' FROM cpMain
  14126. WHERE NAME=#t.CompanyName
  14127. AND dcProvinceID=@ProvinceId
  14128. AND ISNULL(ConsultantID,-1)=-1
  14129. AND HasLicence=1
  14130. AND LastLoginDate>DateAdd(month,-3,getdate())
  14131. )
  14132. AND [state]=0
  14133. END
  14134. ELSE
  14135. BEGIN
  14136. --推广的规则
  14137. --有顾问的,已认证的
  14138. UPDATE #t SET [state]=2
  14139. WHERE EXISTS
  14140. (
  14141. SELECT 'x' FROM cpMain
  14142. WHERE NAME=#t.CompanyName
  14143. AND dcProvinceID=@ProvinceId
  14144. AND (ISNULL(ConsultantID,0)!=0 OR memberType>1)
  14145. )
  14146. AND [state]=0
  14147. END
  14148. END
  14149. --更新新结束,开始分配
  14150. UPDATE precoldCustomer
  14151. SET [state]=2
  14152. WHERE id in(select id FROM #t where [state]=2)
  14153. TRUNCATE TABLE #t
  14154. INSERT INTO #t(id,sourceType,companyName,LinkMan,Phone,Tel,Email,SourceLink,[address],qq,IsAgree,IsValid,CheckDate,AddDate)
  14155. SELECT TOP (@AllocateNumber) id,sourceType,companyName,
  14156. REPLACE(linkMan,'_',''),
  14157. REPLACE(Phone,'_',''),
  14158. REPLACE(Tel,'_',''),
  14159. REPLACE(Email,'_',''),
  14160. REPLACE(SourceLink,'_',''),
  14161. REPLACE([address],'_',''),
  14162. REPLACE(qq,'_',''),1,1,GETDATE(),GETDATE()
  14163. FROM precoldCustomer
  14164. WHERE [state]=0
  14165. AND SourceType=@SourceType
  14166. AND ISNULL(isSpread,0) = @isSpread
  14167. --判断用户名,手机,邮箱等是否重复IsNameRepeat BIT,IsEmailRepeat BIT, IsMobileRepeat BIT,
  14168. UPDATE #t
  14169. SET IsNameRepeat=(CASE WHEN EXISTS(select 'x' from MainDB..CpMain where name =#t.CompanyName)
  14170. THEN 1
  14171. ELSE 0 END),
  14172. IsEmailRepeat=(
  14173. CASE WHEN Email!=''
  14174. THEN
  14175. (CASE WHEN EXISTS(select 'x' from MainDB..CaMain a,MainDB..CpMain b where a.email =#t.Email and a.CpMainID=b.ID)
  14176. THEN 1
  14177. ELSE 0 END)
  14178. ELSE 0 END),
  14179. IsMobileRepeat=(CASE WHEN #t.Phone!='' OR #t.Tel !=''
  14180. THEN (CASE
  14181. WHEN #t.Phone!='' AND #t.Tel!='' AND EXISTS(select 'x' from MainDB..CaMain a,MainDB..cpmain b
  14182. where (a.telephone like #t.Tel+ '%' or a.mobile=#t.Phone)
  14183. and a.CpMainID=b.ID)
  14184. THEN 1
  14185. WHEN #t.Phone!='' AND #t.Tel ='' AND EXISTS(select 'x' from MainDB..CaMain a,MainDB..cpmain b
  14186. where a.mobile=#t.Phone and a.CpMainID=b.ID)
  14187. THEN 1
  14188. WHEN #t.Phone ='' AND #t.Tel!='' AND EXISTS(select a.cpmainid,b.ConsultantID,b.LastLoginDate,b.HasLicence
  14189. from MainDB..CaMain a,MainDB..cpmain b
  14190. where a.telephone like #t.Tel+'%' and a.CpMainID=b.ID)
  14191. THEN 1
  14192. ELSE 0
  14193. END)
  14194. ELSE 0
  14195. END)
  14196. --更新regtype
  14197. UPDATE #t SET regType=1 --无顾问的
  14198. --有顾问的 regType=4,HasLicence=1 regtype=3 haslicence=0 regtype=2
  14199. UPDATE #t
  14200. SET regType=4
  14201. WHERE EXISTS(SELECT 'x' FROM cpMain
  14202. WHERE NAME=#t.CompanyName
  14203. AND dcProvinceID=@ProvinceId
  14204. AND ISNULL(ConsultantID,-1)!=-1)
  14205. UPDATE #t
  14206. SET regType=3
  14207. WHERE EXISTS(
  14208. SELECT 'x' FROM cpMain
  14209. WHERE NAME=#t.CompanyName
  14210. AND dcProvinceID=@ProvinceId
  14211. AND HasLicence=1
  14212. AND ISNULL(ConsultantID,-1)!=-1)
  14213. UPDATE #t
  14214. SET regType=3
  14215. WHERE EXISTS(
  14216. SELECT 'x' FROM cpMain
  14217. WHERE NAME=#t.CompanyName
  14218. AND dcProvinceID=@ProvinceId
  14219. AND HasLicence=0
  14220. AND ISNULL(ConsultantID,-1)!=-1)
  14221. --#t
  14222. IF EXISTS(SELECT 'x' FROM #t)
  14223. BEGIN
  14224. INSERT INTO ColdCustomerAllocateLog(ManagerUserId,SourceType,Allocater,AllocateNumber,Adddate)
  14225. SELECT @ManagerUserId,@SourceType,@Allocater,(SELECT COUNT(*) FROM #t),GETDATE()
  14226. SELECT @AllocateId=(SELECT @@IDENTITY) --赋值
  14227. --2018-10-09 ALEN采集规则添加
  14228. DELETE FROM coldCustomer WHERE companyName in(SELECT CompanyName FROM #t) AND ProvinceID=@ProvinceId AND AddMan IS NULL
  14229. --不存在零库插入冷客户表
  14230. INSERT INTO coldCustomer(CompanyName, ProvinceId, Email, Phone, SourceLink, LinkMan, [Address], qq, AllocateLogID, AddWorkUserID,AddMan,IsNameRepeat,IsEmailRepeat,IsMobilerepeat,IsAgree,IsValid,CheckDate,addDate,regType)
  14231. SELECT CompanyName,32,Email,Phone,SourceLink,LinkMan,[Address],qq,@AllocateId,(select TOP 1 id from oadb..workuser where manageruserid=@ManagerUserId and loginstatus=1 AND JobStatus<3 ),@ManagerUserId,IsNameRepeat, IsEmailRepeat,IsMobileRepeat,IsAgree,IsValid,CheckDate ,AddDate,regType
  14232. FROM #t
  14233. UPDATE precoldCustomer SET [state]=1,ColdCustomerAllocateLogID=@AllocateId WHERE ID IN(SELECT id FROM #t)
  14234. --释放顾问
  14235. DECLARE @CompanyName varchar(100)
  14236. DECLARE cursor_name CURSOR FOR --定义游标
  14237. SELECT CompanyName FROM #t
  14238. OPEN cursor_name --打开游标
  14239. FETCH NEXT FROM cursor_name INTO @CompanyName --抓取下一行游标数据
  14240. WHILE @@FETCH_STATUS = 0
  14241. BEGIN
  14242. UPDATE Maindb..cpMain SET ConsultantID = NULL, ConsultantDate = NULL WHERE [Name] =@CompanyName AND dcProvinceID=32
  14243. FETCH NEXT FROM cursor_name INTO @CompanyName
  14244. END
  14245. CLOSE cursor_name --关闭游标
  14246. DEALLOCATE cursor_name --释放游标
  14247. --UPDATE Maindb..cpMain SET ConsultantID = NULL, ConsultantDate = NULL WHERE [Name] IN(SELECT CompanyName FROM #t) AND dcProvinceID=32
  14248. --rtx 通知 操作人和分配人
  14249. INSERT RtxNotifyLog SELECT @ManagerUserId, Convert(VARCHAR,@Allocater)+'分配给您'+Convert(VARCHAR,(SELECT COUNT(*) FROM #t))+'个新的冷客户', Convert(VARCHAR,@Allocater)+'分配给您'+Convert(VARCHAR,(SELECT COUNT(*) FROM #t))+'个新的冷客户,请及时处理', 0, 0, 0, Null, GETDATE()
  14250. INSERT RtxNotifyLog SELECT @Allocater, '分配冷客户成功通知', '成功分配'+Convert(VARCHAR,(SELECT COUNT(*) FROM #t))+'个新的冷客户给'+Convert(VARCHAR,@ManagerUserId), 0, 0, 0, Null, GETDATE()
  14251. END
  14252. END
  14253. SET NOCOUNT OFF
  14254. GO
  14255. /****** Object: StoredProcedure [dbo].[v2018_procCvVoiceJobTypeInsert] Script Date: 2018/12/13 19:13:49 ******/
  14256. SET ANSI_NULLS ON
  14257. GO
  14258. SET QUOTED_IDENTIFIER ON
  14259. GO
  14260. --################################################################
  14261. --创建人:Allen
  14262. --创建时间:2018-7-23
  14263. --描述:职位类别关键词添加职位类别关联(后台审核用)
  14264. --################################################################
  14265. CREATE PROCEDURE [dbo].[v2018_procCvVoiceJobTypeInsert]
  14266. (
  14267. @cvVoiceID INT,
  14268. @JobType VARCHAR(100)
  14269. )
  14270. AS
  14271. SET NOCOUNT ON
  14272. BEGIN
  14273. IF @cvVoiceID IS NULL
  14274. RETURN 0
  14275. IF @JobType IS NULL
  14276. RETURN 0
  14277. IF NOT EXISTS(SELECT 'x' FROM cvVoiceText WITH(NOLOCK) WHERE ID = @cvVoiceID)
  14278. RETURN 0
  14279. DELETE FROM cvVoiceJobType WHERE cvVoiceID = @cvVoiceID
  14280. INSERT cvVoiceJobType(cvVoiceID, dcJobTypeID)
  14281. SELECT @cvVoiceID, a FROM dbo.FnSplit(@JobType, ' ')
  14282. UPDATE CvVoiceText SET MatchDate = GETDATE() WHERE ID = @cvVoiceID
  14283. END
  14284. GO
  14285. /****** Object: StoredProcedure [dbo].[v2018_procCvVoiceTextSelect] Script Date: 2018/12/13 19:13:49 ******/
  14286. SET ANSI_NULLS ON
  14287. GO
  14288. SET QUOTED_IDENTIFIER ON
  14289. GO
  14290. --##################################################################
  14291. --添加人:Allen
  14292. --添加时间:2018-7-20
  14293. --描述:智能匹配职位类别,如果没有,添加到数据库由人工添加
  14294. --##################################################################
  14295. CREATE PROCEDURE [dbo].[v2018_procCvVoiceTextSelect]
  14296. (
  14297. @voiceText NVARCHAR(100)
  14298. )
  14299. AS
  14300. SET NOCOUNT ON
  14301. BEGIN
  14302. CREATE TABLE #T(
  14303. dcJobTypeID INT,
  14304. [Description] NVARCHAR(20),
  14305. ParentID NVARCHAR(20)
  14306. )
  14307. IF EXISTS(SELECT 'x' FROM CvVoiceText WITH(NOLOCK) WHERE voiceText = @voiceText AND MatchDate IS NOT NULL)
  14308. BEGIN
  14309. INSERT INTO #T
  14310. SELECT b.dcJobTypeID, c.[Description],''
  14311. FROM cvVoiceText a WITH(NOLOCK),cvVoiceJobType b WITH(NOLOCK),dcJobType c WITH(NOLOCK)
  14312. WHERE a.ID=b.cvVoiceID AND b.dcJobTypeID=c.ID AND a.MatchDate IS NOT NULL AND a.voiceText=@voiceText
  14313. END
  14314. ELSE
  14315. BEGIN
  14316. --优先取完全匹配,包括/多个的
  14317. INSERT INTO #T
  14318. SELECT id,[Description],ParentID
  14319. FROM dcJobType WITH(NOLOCK)
  14320. WHERE [Description] LIKE '%/' + @voiceText OR [Description] LIKE @voiceText + '/%' OR [Description] = @voiceText
  14321. DELETE FROM #T WHERE ParentID IN (SELECT dcJobTypeID FROM #T)
  14322. --取模糊匹配大类
  14323. IF NOT EXISTS(SELECT TOP 1 'X' FROM #T)
  14324. BEGIN
  14325. INSERT INTO #T
  14326. SELECT ID, [Description],''
  14327. FROM dcJobType WITH(NOLOCK)
  14328. WHERE [Description] LIKE '%' + @voiceText + '%' AND ParentID IS NULL
  14329. END
  14330. --取模糊匹配小类
  14331. IF NOT EXISTS(SELECT TOP 1 'X' FROM #T)
  14332. BEGIN
  14333. INSERT INTO #T
  14334. SELECT ID, [Description],''
  14335. FROM dcJobType WITH(NOLOCK)
  14336. WHERE [Description] LIKE '%' + @voiceText + '%' AND ParentID IS NOT NULL
  14337. END
  14338. --如果都匹配不到,插入CvVoiceText,等待审核补充
  14339. IF NOT EXISTS(SELECT TOP 1 'X' FROM #T)
  14340. BEGIN
  14341. IF NOT EXISTS(SELECT 'x' FROM CvVoiceText WITH(NOLOCK) WHERE voiceText = @voiceText)
  14342. BEGIN
  14343. INSERT INTO CvVoiceText(voiceText) VALUES(@voiceText)
  14344. END
  14345. END
  14346. END
  14347. SELECT TOP 5 * FROM #T
  14348. DROP TABLE #T
  14349. END
  14350. SET NOCOUNT OFF
  14351. GO
  14352. /****** Object: StoredProcedure [dbo].[v2018_ProcdcIndustryByKeyWordSelect] Script Date: 2018/12/13 19:13:49 ******/
  14353. SET ANSI_NULLS ON
  14354. GO
  14355. SET QUOTED_IDENTIFIER ON
  14356. GO
  14357. --#####################################################
  14358. --创建时间:2018.09.30
  14359. --创建人:Alen
  14360. --说明:根据关键字获取行业类别
  14361. --#####################################################
  14362. CREATE PROCEDURE [dbo].[v2018_ProcdcIndustryByKeyWordSelect]
  14363. (
  14364. @KeyWord VARCHAR(100),
  14365. @IsEnglish TINYINT
  14366. )
  14367. AS
  14368. BEGIN
  14369. IF @IsEnglish = 1
  14370. BEGIN
  14371. SELECT *
  14372. FROM dcIndustry WITH(NOLOCK)
  14373. WHERE dbo.GetPyFirst(Description) LIKE '%'+@KeyWord+'%'
  14374. END
  14375. ELSE
  14376. BEGIN
  14377. SELECT *
  14378. FROM dcIndustry WITH(NOLOCK)
  14379. WHERE Description LIKE '%'+@KeyWord+'%'
  14380. END
  14381. END
  14382. GO
  14383. /****** Object: StoredProcedure [dbo].[v2018_procInfoDateReportUpdate] Script Date: 2018/12/13 19:13:50 ******/
  14384. SET ANSI_NULLS ON
  14385. GO
  14386. SET QUOTED_IDENTIFIER ON
  14387. GO
  14388. --#####################################################
  14389. --添加时间 20180612
  14390. --添加人 Lucifer
  14391. --用途 Info_DateReport数据更新
  14392. --#####################################################
  14393. CREATE PROCEDURE [dbo].[v2018_procInfoDateReportUpdate]
  14394. (
  14395. @Province_Id SMALLINT,
  14396. @InfoManager_Id SMALLINT,
  14397. @IP VARCHAR(15),
  14398. @Referer VARCHAR(100)
  14399. )
  14400. AS
  14401. SET NOCOUNT ON
  14402. BEGIN
  14403. IF NOT EXISTS(
  14404. SELECT TOP 1 'X'
  14405. FROM Info_DateReport WITH(NOLOCK)
  14406. WHERE Countdate = CONVERT(VARCHAR(8), GETDATE(), 112)
  14407. AND Province_Id = @Province_Id
  14408. AND InfoManager_Id = @InfoManager_Id
  14409. )
  14410. BEGIN
  14411. INSERT INTO Info_DateReport (Province_Id, InfoManager_Id, CountDate)
  14412. VALUES(@Province_Id, @InfoManager_Id, CONVERT(VARCHAR(8), GETDATE(), 112))
  14413. END
  14414. IF NOT EXISTS(
  14415. SELECT TOP 1 'X'
  14416. FROM InfoLog WITH(NOLOCK)
  14417. WHERE AddDate > GETDATE()-1
  14418. AND InfoManager_Id = @InfoManager_Id
  14419. AND [IP] = @IP
  14420. AND [IP] NOT LIKE '60.215.144%'
  14421. )
  14422. BEGIN
  14423. UPDATE Info_DateReport SET Homepage = Homepage + 1
  14424. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  14425. AND Province_Id = @Province_Id
  14426. AND InfoManager_Id = @InfoManager_Id
  14427. INSERT INTO InfoLog(InfoManager_Id, [IP], Referer) VALUES(@InfoManager_Id, @IP, @Referer)
  14428. RETURN 1
  14429. END
  14430. ELSE
  14431. BEGIN
  14432. RETURN 0
  14433. END
  14434. END
  14435. SET NOCOUNT OFF
  14436. GO
  14437. /****** Object: StoredProcedure [dbo].[v2018_procParefererSelectByPcBaiDu] Script Date: 2018/12/13 19:13:50 ******/
  14438. SET ANSI_NULLS ON
  14439. GO
  14440. SET QUOTED_IDENTIFIER ON
  14441. GO
  14442. --分类统计个人注册来源数量(前台百度直聘单纯统计)
  14443. --alen
  14444. --2018-10-16
  14445. CREATE PROCEDURE [dbo].[v2018_procParefererSelectByPcBaiDu]
  14446. (
  14447. @begin CHAR(8),
  14448. @end CHAR(8),
  14449. @type INT,
  14450. @provinceid INT
  14451. )
  14452. AS
  14453. SET NOCOUNT ON
  14454. BEGIN
  14455. DECLARE @str CHAR(50)
  14456. IF @provinceid =0
  14457. BEGIN
  14458. SET @str = ' 1=1 AND '
  14459. END
  14460. ELSE
  14461. BEGIN
  14462. SET @str = ' dcProvinceID='+CONVERT(char(8),@provinceid) +' AND '
  14463. END
  14464. DECLARE @sql VARCHAR(MAX)
  14465. IF @type=1--日
  14466. BEGIN
  14467. SET @sql='SELECT RegisterFrom,RegisterType,count(*) AS number,CONVERT(varchar(8), addDate, 112 ) AS [date]
  14468. FROM maindb..pamain
  14469. WHERE '+@str+' CONVERT(varchar(8), adddate, 112) >='''+ @begin+''' AND CONVERT(varchar(8), adddate, 112)<='''+@end+
  14470. ''' AND RegisterFrom=1 AND RegisterType=7 GROUP BY RegisterFrom,RegisterType,CONVERT(varchar(8), addDate,112)
  14471. ORDER BY [date],registerfrom,registertype'
  14472. END
  14473. ELSE
  14474. BEGIN--月
  14475. SET @sql='SELECT RegisterFrom,RegisterType,count(*) AS number,CONVERT(varchar(6), addDate, 112) AS [date]
  14476. FROM maindb..pamain
  14477. WHERE '+@str+' CONVERT(varchar(6), adddate, 112)>='''+ LEFT(@begin,6)+''' AND CONVERT(varchar(6), adddate, 112)<='''+ LEFT(@end,6)+''' AND RegisterFrom=1 AND RegisterType=7 GROUP BY RegisterFrom,RegisterType,CONVERT(varchar(6), addDate, 112 )
  14478. ORDER BY [date],registerfrom,registertype'
  14479. END
  14480. EXEC (@sql)
  14481. END
  14482. GO
  14483. /****** Object: StoredProcedure [dbo].[v2018_procSmsMessageLogInsert] Script Date: 2018/12/13 19:13:50 ******/
  14484. SET ANSI_NULLS ON
  14485. GO
  14486. SET QUOTED_IDENTIFIER ON
  14487. GO
  14488. --#####################################################
  14489. --创建时间:2018.6.28
  14490. --创建人:John
  14491. --说明:短信通知日志新增
  14492. --@SendStatus = 1 实时发送成功,插入一条已完成的记录
  14493. --@SendStatus = 0 实时发送失败,插入一条待发送的记录
  14494. --#####################################################
  14495. CREATE PROCEDURE [dbo].[v2018_procSmsMessageLogInsert]
  14496. (
  14497. @SendMan SMALLINT,
  14498. @ManagerUserId SMALLINT,
  14499. @paMainId INT,
  14500. @caMainId INT,
  14501. @Mobile VARCHAR(20),
  14502. @Msg NVARCHAR(210),
  14503. @MsgType TINYINT,
  14504. @PortNo INT,
  14505. @IsCat BIT,
  14506. @SendStatus INT
  14507. )
  14508. AS
  14509. SET NOCOUNT ON
  14510. BEGIN TRY
  14511. IF @SendStatus = 0
  14512. BEGIN
  14513. IF @MsgType IN(102, 105) AND @paMainId > 0
  14514. BEGIN
  14515. IF EXISTS(SELECT 'x' FROM wxFans WITH(NOLOCK) WHERE paMainId = @paMainId)
  14516. RETURN 0
  14517. END
  14518. IF EXISTS(SELECT 'x' FROM SmsMessageLog WITH(NOLOCK) WHERE Mobile = @Mobile AND Msg = @Msg AND AddDate > GETDATE() - 0.3)
  14519. RETURN 0
  14520. INSERT INTO SmsMessageLog (SendMan, ManagerUserId, paMainId, caMainId, Mobile, Msg, MsgType, IsCat)
  14521. SELECT @SendMan, @ManagerUserId, @paMainId, @caMainId, @Mobile, @Msg, @MsgType, @IsCat
  14522. END
  14523. ELSE
  14524. BEGIN
  14525. INSERT INTO SmsMessageLog (SendMan, ManagerUserId, paMainId, caMainId, Mobile, Msg, MsgType, IsCat, PortNo, SendDate, SendStatus)
  14526. SELECT @SendMan, @ManagerUserId, @paMainId, @caMainId, @Mobile, @Msg, @MsgType, @IsCat, @PortNo, GETDATE(), 1
  14527. END
  14528. RETURN 1
  14529. END TRY
  14530. BEGIN CATCH
  14531. RETURN 0
  14532. END CATCH
  14533. SET NOCOUNT OFF
  14534. GO
  14535. /****** Object: StoredProcedure [dbo].[v2018_procUrlClickLogInsert] Script Date: 2018/12/13 19:13:50 ******/
  14536. SET ANSI_NULLS ON
  14537. GO
  14538. SET QUOTED_IDENTIFIER ON
  14539. GO
  14540. --#####################################################
  14541. --添加时间 20180612
  14542. --添加人 Lucifer
  14543. --用途 UrlClickLog添加
  14544. --#####################################################
  14545. CREATE PROCEDURE [dbo].[v2018_procUrlClickLogInsert]
  14546. @ID SMALLINT,
  14547. @IP VARCHAR(15)
  14548. AS
  14549. SET NOCOUNT ON
  14550. BEGIN
  14551. IF (
  14552. (SELECT COUNT(1) FROM Url_Click_Log WITH(NOLOCK) WHERE [IP] = @IP AND Url_Id = @ID AND AddDate > GETDATE()-1) = 0
  14553. OR
  14554. (SELECT TOP 1 Ip_Repeat FROM [Url] WITH(NOLOCK) WHERE ID = @ID) = 2
  14555. )
  14556. BEGIN
  14557. INSERT INTO Url_Click_Log (Url_Id,[IP]) VALUES(@ID, @IP)
  14558. UPDATE [Url] SET AllClick = AllClick + 1,TodayClick = TodayClick + 1 WHERE ID = @ID
  14559. END
  14560. END
  14561. SET NOCOUNT OFF
  14562. GO
  14563. /****** Object: StoredProcedure [dbo].[v2018_procWxMessageReceiveInsert] Script Date: 2018/12/13 19:13:51 ******/
  14564. SET ANSI_NULLS ON
  14565. GO
  14566. SET QUOTED_IDENTIFIER ON
  14567. GO
  14568. --#####################################################
  14569. --创建时间:2018-7-11
  14570. --创建人:Lucifer
  14571. --说明:微信操作日志
  14572. --LogType 1、关注 2、取消关注 3、发送文本 4、发送地理位置 5、点击菜单
  14573. -- 6、点击链接 7、绑定个人账号 8、取消绑定个人账号 10、发送语音
  14574. -- 11、发送视频 12、发送图片 13、扫描二维码 14、绑定企业账号 15、取消绑定企业账号
  14575. --#####################################################
  14576. CREATE PROCEDURE [dbo].[v2018_procWxMessageReceiveInsert]
  14577. (
  14578. @OpenID VARCHAR(100),
  14579. @LogType INT,
  14580. @ProvinceID INT,
  14581. @Message VARCHAR(200),
  14582. @paMainID INT
  14583. )
  14584. AS
  14585. SET NOCOUNT ON
  14586. BEGIN
  14587. DECLARE @WxServiceNoID INT
  14588. --根据省份得到服务号id
  14589. SELECT TOP 1 @WxServiceNoID = ID FROM WxServiceNO WHERE ProvinceID = @ProvinceID
  14590. DECLARE @WxFansID INT
  14591. SELECT TOP 1 @WxFansID = ID FROM WxFans WHERE OpenID = @OpenID
  14592. IF @WxFansID IS NULL
  14593. BEGIN
  14594. --插入粉丝表
  14595. INSERT INTO WxFans(OpenID, AttentionDate, [Status], WxServiceNoID, paMainID)
  14596. VALUES (@OpenID, GETDATE(), 1, @WxServiceNoID, NULL)
  14597. SELECT @WxFansID = @@IDENTITY
  14598. END
  14599. DECLARE @Content VARCHAR(50)
  14600. IF @LogType = 1
  14601. BEGIN
  14602. SET @Content = '关注'
  14603. --更新粉丝表
  14604. UPDATE WxFans SET
  14605. [Status] = 1,
  14606. AttentionDate = GETDATE(),
  14607. WxServiceNoID = @WxServiceNoID
  14608. WHERE ID = @WxFansID
  14609. END
  14610. ELSE IF @LogType = 2
  14611. BEGIN
  14612. SET @Content = '取消关注'
  14613. --更新粉丝表
  14614. UPDATE WxFans SET
  14615. [Status] = 0,
  14616. AttentionCancelDate = GETDATE()
  14617. WHERE ID = @WxFansID
  14618. --删除 paLoginContact 暂时不删除,因为优先判断取消关注了,不会到paLoginContact查询
  14619. --DELETE FROM paLoginContact WHERE OpenID = @OpenID AND ContactType = 4
  14620. --DELETE FROM paLoginContact WHERE OpenID = @OpenID AND ContactType = 101
  14621. END
  14622. ELSE IF @LogType = 3
  14623. BEGIN
  14624. SET @Content = '发送文本'
  14625. --更新粉丝表最后发送消息
  14626. UPDATE WxFans SET LastSendMessage = @Message WHERE ID = @WxFansID
  14627. END
  14628. ELSE IF @LogType = 4
  14629. BEGIN
  14630. SET @Content = '发送地理位置'
  14631. END
  14632. ELSE IF @LogType = 5
  14633. BEGIN
  14634. SET @Content = '点击菜单'
  14635. END
  14636. ELSE IF @LogType = 6
  14637. BEGIN
  14638. SET @Content = '点击链接'
  14639. END
  14640. ELSE IF @LogType = 7
  14641. BEGIN
  14642. SET @Content = '绑定个人账号'
  14643. --更新粉丝表
  14644. UPDATE WxFans SET
  14645. [Status] = 2,
  14646. paMainID = @paMainID
  14647. WHERE ID = @WxFansID
  14648. END
  14649. ELSE IF @LogType = 8
  14650. BEGIN
  14651. SET @Content = '取消绑定个人账号'
  14652. --更新粉丝表
  14653. UPDATE WxFans SET
  14654. [Status] = 1
  14655. WHERE ID = @WxFansID
  14656. --删除paLoginContact
  14657. DELETE FROM paLoginContact WHERE OpenID = @OpenID AND ContactType = 4
  14658. --关闭你的菜
  14659. --UPDATE paMain SET IsUseYourFood = 0 WHERE ID = @paMainID
  14660. END
  14661. ELSE IF @LogType = 10
  14662. BEGIN
  14663. SET @Content = '发送语音'
  14664. END
  14665. ELSE IF @LogType = 11
  14666. BEGIN
  14667. SET @Content = '发送视频'
  14668. END
  14669. ELSE IF @LogType = 12
  14670. BEGIN
  14671. SET @Content = '发送图片'
  14672. END
  14673. ELSE IF @LogType = 13
  14674. BEGIN
  14675. SET @Content = '扫描二维码'
  14676. END
  14677. ELSE IF @LogType = 14
  14678. BEGIN
  14679. SET @Content = '绑定企业账号'
  14680. --更新粉丝表
  14681. UPDATE WxFans SET
  14682. caMainID = @paMainID,
  14683. caBindCancelDate = NULL
  14684. WHERE ID = @WxFansID
  14685. --插入积分200
  14686. INSERT INTO cpPoint(cpMainID, ChangeID, Point, LastModifyDate)
  14687. SELECT TOP 1 cpMainID, 21, 200, GETDATE() FROM caMain WHERE ID = @paMainID
  14688. END
  14689. ELSE IF @LogType = 15
  14690. BEGIN
  14691. SET @Content = '取消绑定企业账号'
  14692. --更新粉丝表
  14693. UPDATE WxFans SET
  14694. caBindCancelDate = GETDATE()
  14695. WHERE ID = @WxFansID
  14696. --删除paLoginContact
  14697. DELETE FROM paLoginContact WHERE OpenID = @OpenID AND ContactType = 101
  14698. --扣除积分200
  14699. INSERT INTO cpPoint(cpMainID, ChangeID, Point, LastModifyDate)
  14700. SELECT TOP 1 cpMainID, 22, -200, GETDATE() FROM caMain WHERE ID = @paMainID
  14701. END
  14702. --插入日志表
  14703. IF dbo.v2018_SetVarcharNull(@Message) IS NULL
  14704. BEGIN
  14705. INSERT INTO WxMessageReceive VALUES(@WxFansID, GETDATE(), @Content, @LogType)
  14706. END
  14707. ELSE
  14708. BEGIN
  14709. INSERT INTO WxMessageReceive VALUES(@WxFansID, GETDATE(), @Message, @LogType)
  14710. END
  14711. END
  14712. SET NOCOUNT OFF
  14713. GO
  14714. /****** Object: StoredProcedure [dbo].[v2018_procWxQrImageInsert] Script Date: 2018/12/13 19:13:51 ******/
  14715. SET ANSI_NULLS ON
  14716. GO
  14717. SET QUOTED_IDENTIFIER ON
  14718. GO
  14719. --#################################################
  14720. --添加人:Lucifer
  14721. --添加时间:2018-6-6
  14722. --说明:插入一条微信二维码生成记录
  14723. --#################################################
  14724. CREATE PROCEDURE [dbo].[v2018_procWxQrImageInsert]
  14725. (
  14726. @PageType INT,
  14727. @IP VARCHAR(31),
  14728. @TypeID INT
  14729. )
  14730. AS
  14731. BEGIN
  14732. INSERT INTO WxQrImage(Ticket, PageType, [IP], paMainId)
  14733. SELECT '', @PageType, @Ip, @TypeID
  14734. RETURN SCOPE_IDENTITY()
  14735. END
  14736. GO
  14737. /****** Object: StoredProcedure [dbo].[v2018_PromotionCerStatistics] Script Date: 2018/12/13 19:13:51 ******/
  14738. SET ANSI_NULLS ON
  14739. GO
  14740. SET QUOTED_IDENTIFIER ON
  14741. GO
  14742. --###############################################
  14743. --添加人:Alen
  14744. --添加时间:2018-10-10
  14745. --描述:推广记分牌统计月认证进度和日认证进度
  14746. --###############################################
  14747. CREATE PROCEDURE [dbo].[v2018_PromotionCerStatistics]
  14748. (
  14749. @beginDate VARCHAR(8),
  14750. @endDate VARCHAR(8)
  14751. )
  14752. AS
  14753. BEGIN
  14754. CREATE TABLE #t
  14755. (
  14756. workDayCnt INT,
  14757. currentDayCnt INT
  14758. )
  14759. CREATE TABLE #t1
  14760. (
  14761. groupName NVARCHAR(6),
  14762. monthlyTaskCnt INT,
  14763. monthlyCerCnt INT
  14764. )
  14765. CREATE TABLE #t2
  14766. (
  14767. groupName NVARCHAR(6),
  14768. todayTaskCnt INT,
  14769. todayCerCnt INT
  14770. )
  14771. INSERT INTO #t(workDayCnt)
  14772. SELECT COUNT(1) FROM maindb..workdate WITH(NOLOCK) where workDate>@beginDate and workdate<@endDate and Type=1
  14773. UPDATE #t SET currentDayCnt=(
  14774. SELECT COUNT(1) FROM maindb..workdate WITH(NOLOCK) where workDate>@beginDate and workdate<CONVERT (nvarchar(12),GETDATE(),112) and Type=1)
  14775. INSERT INTO #t1(groupName,monthlyTaskCnt)
  14776. SELECT CASE (CASE superior WHEN 201 THEN b.id ELSE superior END) WHEN 302 THEN '二组' ELSE '一组' END,COUNT(1)
  14777. FROM maindb..manageruser b WITH(NOLOCK),logdb..coldcustomerCerLog c WITH(NOLOCK)
  14778. WHERE b.id=c.addMan
  14779. AND b.deptid=15
  14780. AND c.cerDate<(LEFT(@endDate,4)+'-'+substring(@endDate,5,2)+'-26')
  14781. AND c.cerDate>(LEFT(@beginDate,4)+'-'+substring(@beginDate,5,2)+'-26')
  14782. GROUP BY (CASE superior WHEN 201 THEN b.id ELSE superior END)
  14783. ORDER BY COUNT(1) DESC
  14784. UPDATE #t1 SET monthlyCerCnt=(
  14785. SELECT SUM(a.TaskCount)
  14786. FROM OADB..MonthlyCerTask a WITH(NOLOCK),maindb..manageruser b WITH(NOLOCK)
  14787. WHERE a.Manageruserid=b.id
  14788. AND b.deptid=15
  14789. AND YearMonth=LEFT(@endDate,6)
  14790. AND CASE (CASE superior WHEN 201 THEN b.id ELSE superior END) WHEN 302 THEN '二组' ELSE '一组' END=#t1.groupName
  14791. )
  14792. INSERT INTO #t1(groupName,monthlyTaskCnt,monthlyCerCnt)
  14793. SELECT '部门合计',SUM(monthlyTaskCnt),SUM(monthlyCerCnt)
  14794. FROM #t1
  14795. INSERT INTO #t2(groupName,todayTaskCnt)
  14796. SELECT CASE (CASE superior WHEN 201 THEN b.id ELSE superior END) WHEN 302 THEN '二组' ELSE '一组' END,COUNT(1)
  14797. FROM maindb..manageruser b WITH(NOLOCK),logdb..coldcustomerCerLog c WITH(NOLOCK)
  14798. WHERE b.id=c.addMan
  14799. AND b.deptid=15
  14800. AND c.cerDate<Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate()+1)
  14801. AND c.cerDate>Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate())
  14802. GROUP BY (CASE superior WHEN 201 THEN b.id ELSE superior END)
  14803. ORDER BY COUNT(1) DESC
  14804. UPDATE #t2 SET todayCerCnt=(
  14805. SELECT CEILING(SUM(a.TaskCount)/30.0)
  14806. FROM OADB..MonthlyCerTask a WITH(NOLOCK),maindb..manageruser b WITH(NOLOCK)
  14807. WHERE a.Manageruserid=b.id
  14808. AND b.deptid=15
  14809. AND YearMonth=LEFT(@endDate,6)
  14810. AND CASE (CASE superior WHEN 201 THEN b.id ELSE superior END) WHEN 302 THEN '二组' ELSE '一组' END=#t2.groupName
  14811. )
  14812. INSERT INTO #t2(groupName,todayTaskCnt,todayCerCnt)
  14813. SELECT '部门合计',SUM(todayTaskCnt),SUM(todayCerCnt)
  14814. FROM #t2
  14815. SELECT * FROM #t
  14816. SELECT * FROM #t1
  14817. SELECT * FROM #t2
  14818. DROP TABLE #t
  14819. DROP TABLE #t1
  14820. DROP TABLE #t2
  14821. END
  14822. GO
  14823. /****** Object: StoredProcedure [dbo].[v2018_tvCerBroadcastSelect] Script Date: 2018/12/13 19:13:52 ******/
  14824. SET ANSI_NULLS ON
  14825. GO
  14826. SET QUOTED_IDENTIFIER ON
  14827. GO
  14828. --#####################################################
  14829. --创建时间:2018.10.11
  14830. --创建人:alen
  14831. --说明:推广记分牌单位认证成功实时播报
  14832. --#####################################################
  14833. CREATE PROCEDURE [dbo].[v2018_tvCerBroadcastSelect]
  14834. (
  14835. @ColdcustomerCerLogID INT
  14836. )
  14837. AS
  14838. BEGIN
  14839. IF @ColdcustomerCerLogID > 0
  14840. BEGIN
  14841. SELECT TOP 1 a.id,b.name,c.name AS companyName
  14842. FROM logdb..coldcustomerCerLog a WITH(NOLOCK),manageruser b WITH(NOLOCK),cpMain c WITH(NOLOCK)
  14843. WHERE a.addman=b.id
  14844. AND a.cpmainid=c.id
  14845. AND a.id > @ColdcustomerCerLogID
  14846. ORDER BY a.ID
  14847. END
  14848. ELSE
  14849. BEGIN
  14850. SELECT TOP 1 a.id,b.name ,'' AS companyName
  14851. FROM logdb..coldcustomerCerLog a WITH(NOLOCK),manageruser b WITH(NOLOCK),cpMain c WITH(NOLOCK)
  14852. WHERE a.addman=b.id
  14853. AND a.cpmainid=c.id
  14854. ORDER BY a.ID DESC
  14855. END
  14856. END
  14857. GO
  14858. /****** Object: StoredProcedure [dbo].[v2018_tvCongratulationSelect] Script Date: 2018/12/13 19:13:52 ******/
  14859. SET ANSI_NULLS ON
  14860. GO
  14861. SET QUOTED_IDENTIFIER ON
  14862. GO
  14863. --#####################################################
  14864. --创建时间:2018.8.20
  14865. --创建人:alen
  14866. --说明:销售记分牌开通订单实时播报
  14867. --#####################################################
  14868. CREATE PROCEDURE [dbo].[v2018_tvCongratulationSelect]
  14869. (
  14870. @RtxNotifyLogID INT
  14871. )
  14872. AS
  14873. BEGIN
  14874. IF @RtxNotifyLogID > 0
  14875. BEGIN
  14876. SELECT TOP 1 ID,RtxMessage
  14877. FROM RtxNotifyLog WITH (NOLOCK)
  14878. WHERE ID > @RtxNotifyLogID
  14879. AND RtxTitle LIKE '%祝贺%'
  14880. ORDER BY ID
  14881. END
  14882. ELSE
  14883. BEGIN
  14884. SELECT TOP 1 ID,'' RtxMessage
  14885. FROM RtxNotifyLog WITH (NOLOCK)
  14886. WHERE RtxTitle LIKE '%祝贺%'
  14887. ORDER BY ID DESC
  14888. END
  14889. END
  14890. GO
  14891. /****** Object: StoredProcedure [dbo].[wpCvMainByRefreshDateUpdate] Script Date: 2018/12/13 19:13:52 ******/
  14892. SET ANSI_NULLS ON
  14893. GO
  14894. SET QUOTED_IDENTIFIER ON
  14895. GO
  14896. --lambo 20111009
  14897. --手机站刷新简历
  14898. --返回值:
  14899. -- 0 数据库错误
  14900. -- -1 手机号已经列入黑名单
  14901. -- -2 手机号或求职状态为空
  14902. -- -3 该简历不属于该账号
  14903. create PROCEDURE [dbo].[wpCvMainByRefreshDateUpdate]
  14904. (
  14905. @paMainID INT,
  14906. @cvMainID INT,
  14907. @Mobile VARCHAR(13),
  14908. @dcCareerStatus INT,
  14909. @dcSalaryID INT,
  14910. @RelatedWorkYears INT,
  14911. @IsNegotiable BIT,
  14912. @IP VARCHAR(30)
  14913. )
  14914. AS
  14915. SET NOCOUNT ON
  14916. SET @Mobile = dbo.TextTrim(@Mobile)
  14917. IF @Mobile IS NULL
  14918. RETURN -2 --手机号空
  14919. IF EXISTS(SELECT 'x' FROM Person_BLACK WITH(NOLOCK) WHERE Mobile = @Mobile)
  14920. BEGIN
  14921. ----有黑名单,则增加拒绝次数
  14922. UPDATE Person_Black SET RefuseCount = RefuseCount + 1 WHERE Mobile = @Mobile
  14923. RETURN -1
  14924. END
  14925. IF NOT EXISTS(SELECT 'x' FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID AND paMainID = @paMainID)
  14926. RETURN -3
  14927. BEGIN TRAN
  14928. BEGIN TRY
  14929. --如果新旧日志不相同,记录更新手机号的操作
  14930. DECLARE @MobileOld AS VARCHAR(13)
  14931. SELECT @MobileOld = Mobile FROM paMain WITH(NOLOCK) WHERE ID = @paMAinID
  14932. IF ISNULL(@MobileOld, '') <> @Mobile
  14933. INSERT INTO paOperationLog (paMainID, Operation, Details, IP)
  14934. VALUES(@paMainID, 35,'更新手机号,原手机号:<' + ISNULL(@MobileOld, '') + '>;新手机号:<' + @Mobile + '>', @IP)
  14935. UPDATE CvMain SET
  14936. ReFreshDate = GETDATE(),
  14937. dcSalaryID = @dcSalaryID,
  14938. RelatedWorkYears = @RelatedWorkYears,
  14939. IsNegotiable = @IsNegotiable
  14940. WHERE ID = @cvMainID AND paMainID = @paMainID
  14941. UPDATE paMain SET Mobile = @Mobile --, dcCareerStatus # @dcCareerStatus
  14942. WHERE ID = @paMainID
  14943. END TRY
  14944. BEGIN CATCH
  14945. GOTO ERR
  14946. END CATCH
  14947. COMMIT TRAN
  14948. RETURN 1
  14949. ERR:
  14950. BEGIN
  14951. ROLLBACK TRAN
  14952. RETURN 0
  14953. END
  14954. GO
  14955. /****** Object: StoredProcedure [dbo].[wpCvMainBySendValidSelect] Script Date: 2018/12/13 19:13:52 ******/
  14956. SET ANSI_NULLS ON
  14957. GO
  14958. SET QUOTED_IDENTIFIER ON
  14959. GO
  14960. CREATE PROCEDURE [dbo].[wpCvMainBySendValidSelect]
  14961. (
  14962. @paMainID INT
  14963. )
  14964. AS
  14965. BEGIN
  14966. SELECT ID,Name FROM cvMain WITH(NOLOCK)
  14967. WHERE ((cvLevel like '1111_1%' AND VerifyResult=1)
  14968. OR (cvLevelEng like '1111_1%' AND VerifyResultEng=1)
  14969. OR Attachment>'') AND paMainID = @paMainID
  14970. END
  14971. GO
  14972. /****** Object: StoredProcedure [dbo].[wpdcSubSiteSelect] Script Date: 2018/12/13 19:13:52 ******/
  14973. SET ANSI_NULLS ON
  14974. GO
  14975. SET QUOTED_IDENTIFIER ON
  14976. GO
  14977. --lambo 20111011
  14978. --获取所有省份,当前省份在前
  14979. CREATE PROCEDURE [dbo].[wpdcSubSiteSelect]
  14980. (
  14981. @ProvinceID INT
  14982. )
  14983. AS
  14984. BEGIN
  14985. SELECT * FROM dcRegion WHERE grade=1
  14986. ORDER BY
  14987. CASE
  14988. WHEN id=@ProvinceID THEN 1
  14989. ELSE id
  14990. END
  14991. END
  14992. GO
  14993. /****** Object: StoredProcedure [dbo].[wpExMessageLogSelect] Script Date: 2018/12/13 19:13:53 ******/
  14994. SET ANSI_NULLS ON
  14995. GO
  14996. SET QUOTED_IDENTIFIER ON
  14997. GO
  14998. --lambo 20101008
  14999. --查询个人与企业的留言记录
  15000. CREATE PROCEDURE [dbo].[wpExMessageLogSelect]
  15001. (
  15002. @paMainID INT,
  15003. @PageSize INT,
  15004. @SkipCount INT,
  15005. @RowsCount INT OUTPUT
  15006. )
  15007. AS
  15008. BEGIN
  15009. SELECT @RowsCount = COUNT(1) FROM exMessageC2p a WITH(NOLOCK),
  15010. caMain b WITH(NOLOCK),
  15011. cpMain c WITH(NOLOCK)
  15012. WHERE
  15013. a.caMainID = b.ID
  15014. AND b.cpMainID = c.ID
  15015. AND cvMainID IN (SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID=@paMainID)
  15016. AND CompanyDeleted=0
  15017. SELECT TOP (@PageSize) * INTO #wapMessage FROM
  15018. (
  15019. SELECT
  15020. a.ID,
  15021. a.IsReply,
  15022. c.ID CpMainID,
  15023. c.SecondID EnCpMainID,
  15024. c.Name CompanyName,
  15025. Message,
  15026. (SELECT top 1 CASE a.IsReply WHEN 1 THEN Message WHEN 0 THEN NULL END
  15027. FROM ExMessageP2C WITH(NOLOCK)
  15028. WHERE cvMainID IN (SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID=@paMainID)
  15029. AND AddDate>a.AddDate
  15030. AND caMainID = a.caMainID
  15031. ORDER BY ID) MessageReply,
  15032. Row_number() OVER(ORDER BY a.ID DESC) rowNo
  15033. FROM exMessageC2p a WITH(NOLOCK),
  15034. caMain b WITH(NOLOCK),
  15035. cpMain c WITH(NOLOCK)
  15036. WHERE
  15037. a.caMainID = b.ID
  15038. AND b.cpMainID = c.ID
  15039. AND cvMainID IN (SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID=@paMainID)
  15040. AND CompanyDeleted=0
  15041. ) a
  15042. WHERE a.rowNo >@SkipCount
  15043. UPDATE ExMessageC2P SET IsViewed = 1 WHERE ID IN (SELECT ID FROM #wapMessage) AND IsViewed=0
  15044. SELECT * FROM #wapMessage
  15045. END
  15046. GO
  15047. /****** Object: StoredProcedure [dbo].[wpPaMainByLoginUpdate] Script Date: 2018/12/13 19:13:53 ******/
  15048. SET ANSI_NULLS ON
  15049. GO
  15050. SET QUOTED_IDENTIFIER ON
  15051. GO
  15052. --------------------------------------------------
  15053. --lambo 20110928
  15054. --手机站个人用户登录,与pcPaMainByLoginUpdate不同的地方是增加paLoginlog是记录是从手机站登录的。
  15055. --LoginFrom%=%1
  15056. --密码加密后的手机登陆
  15057. --------------------------------------------------
  15058. CREATE PROCEDURE [dbo].[wpPaMainByLoginUpdate]
  15059. (
  15060. @UserName VARCHAR(50),
  15061. @Password VARCHAR(50),
  15062. @PasswordDe VARCHAR(60),
  15063. @IP VARCHAR(31),
  15064. @dcSubSiteId SMALLINT,
  15065. @AutoLogin TINYINT,
  15066. @browser VARCHAR(500),
  15067. @ID INT,
  15068. @IDType INT,
  15069. @PaType INT OUTPUT,
  15070. @loginFrom INT
  15071. )
  15072. AS
  15073. SET NOCOUNT ON
  15074. BEGIN TRY
  15075. BEGIN TRAN
  15076. DECLARE
  15077. @Resume_XinxiID AS INT,
  15078. @AddMan AS INT,
  15079. @AddDate AS DATETIME,
  15080. @Email AS VARCHAR(50),
  15081. @CountDate AS INT,
  15082. @dcProvinceID AS TINYINT,
  15083. @TotalLoginNum AS INT,
  15084. @LastLoginDate AS SMALLDATETIME
  15085. SELECT @CountDate = CONVERT(VARCHAR(8), GETDATE(), 112), @dcProvinceID = LEFT(@dcSubSiteId, 2)
  15086. SELECT @PaType = @IDType, @UserName = REPLACE(@UserName, ' ', '')
  15087. BEGIN TRY
  15088. IF @PaType=3
  15089. BEGIN
  15090. SELECT @Resume_XinxiID = ID, @AddMan =AddMan, @AddDate = RegDate, @Email = Email
  15091. FROM Resume_Xinxi WITH(NOLOCK INDEX(IX_Resume_Xinxi_UserName))
  15092. WHERE UserName = @UserName AND Password = @Password
  15093. IF @Resume_XinxiID IS NOT NULL
  15094. SET @PaType=2
  15095. END
  15096. ELSE IF @PaType=0
  15097. BEGIN
  15098. SELECT TOP 1 @Resume_XinxiID = ID, @AddMan =AddMan, @AddDate = RegDate, @Email = Email
  15099. FROM Resume_Xinxi WITH(NOLOCK INDEX(IX_Resume_Xinxi_UserNameLower))
  15100. WHERE UserNameLower = @UserName AND Password = @Password
  15101. ORDER BY ID DESC
  15102. IF @Resume_XinxiID IS NOT NULL
  15103. SET @PaType=4
  15104. END
  15105. IF @PaType=0
  15106. GOTO Err1
  15107. IF @Resume_XinxiID > 0 ----账号在Resume_xinxi
  15108. BEGIN
  15109. --lucifer添加,添加新的注册模式
  15110. DECLARE @RegisterFrom AS TINYINT
  15111. SELECT @RegisterFrom = 1
  15112. IF CHARINDEX('ios', LOWER(@browser)) > 0
  15113. SELECT @RegisterFrom = 3
  15114. ELSE IF CHARINDEX('android', LOWER(@browser)) > 0
  15115. SELECT @RegisterFrom = 2
  15116. --把数据从Resume_Xini转换到paMain
  15117. INSERT INTO paMain(RegisterMode, AddMan, UserName, Password, Email, dcProvinceID, dcSubSiteId, RegisterIP, IsDefaultPassword, AddDate, RegisterFrom, RegisterType, SpreadDate)
  15118. VALUES(1, @AddMan, @UserName, @PasswordDe, @Email, @dcProvinceID, @dcSubSiteId, @IP, 1, GETDATE(), @RegisterFrom, 101, @AddDate)
  15119. SET @ID = @@IDENTITY
  15120. INSERT INTO paOperationLog (paMainID, Operation, Details, IP) VALUES(@ID, 10, '导入个人账号成功。', @IP)
  15121. --记录日报
  15122. UPDATE DateReport SET ValidResume = ValidResume + 1
  15123. WHERE province_id = @dcProvinceID AND CountDate = @CountDate
  15124. INSERT INTO pamainDatereport SELECT @ID, 9, GETDATE() -- SEAN 20130911
  15125. --统计信息员注册数据
  15126. SELECT TOP 1 CountDate
  15127. FROM Info_Datereport WITH(NOLOCK)
  15128. WHERE CountDate = @CountDate
  15129. AND province_id = @dcProvinceID
  15130. AND InfoManager_ID = @AddMan
  15131. IF (@@ROWCOUNT=0)
  15132. INSERT INTO Info_DateReport(province_id,infomanager_id,countdate)
  15133. VALUES(@dcProvinceID, @AddMan, @CountDate)
  15134. UPDATE Info_Datereport
  15135. SET ValidResume=ValidResume + 1
  15136. WHERE CountDate=@CountDate
  15137. AND province_id=@dcProvinceID
  15138. AND InfoManager_ID = @AddMan
  15139. END
  15140. --超过登陆次数,每天限制登录次数位20次
  15141. IF (SELECT COUNT(1) FROM paLoginLog WITH(NOLOCK) WHERE paMainID = @ID AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)) > 19
  15142. GOTO ERR2
  15143. --登陆日志
  15144. SELECT @LastLoginDate = LastLoginDate, @TotalLoginNum = TotalLoginNum FROM paMain WITH(NOLOCK) WHERE ID = @Id
  15145. IF CONVERT(VARCHAR(8), @LastLoginDate, 112) = CONVERT(VARCHAR(8), GETDATE(), 112) --今天已经登陆过
  15146. BEGIN
  15147. --IF @AutoLogin = 0 --首页的自动登录不计算在每日登陆次数
  15148. --BEGIN
  15149. INSERT INTO paLoginLog(paMainID, LoginIP, browser, loginFrom) VALUES(@ID, @IP, '6:' + ISNULL(@browser, 'Null'), @loginFrom)
  15150. SELECT @TotalLoginNum = @TotalLoginNum + 1
  15151. --END
  15152. IF @LastLoginDate < DATEADD(HOUR, -1, GETDATE()) --登录间隔>1小时更新登录时间
  15153. UPDATE paMain SET LastLoginDate = GETDATE(), TotalLoginNum = @TotalLoginNum WHERE ID = @ID
  15154. ELSE
  15155. UPDATE paMain SET TotalLoginNum = @TotalLoginNum WHERE ID = @ID
  15156. END
  15157. ELSE
  15158. BEGIN
  15159. ----今天第一次登录
  15160. INSERT INTO paLoginLog(paMainID, LoginIP, browser, loginFrom) VALUES(@ID, @IP, '7:' + ISNULL(@browser, 'Null'), @loginFrom)
  15161. SELECT @TotalLoginNum = @TotalLoginNum + 1
  15162. UPDATE paMain SET TotalLoginNum = @TotalLoginNum, LastLoginDate = GETDATE() WHERE ID = @ID
  15163. UPDATE DateReport
  15164. SET PersonLoginNum_Net = PersonLoginNum_Net + 1
  15165. WHERE CountDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  15166. AND Province_Id = @dcProvinceID
  15167. --INSERT INTO PaMainDateReport SELECT @Id, 11, GETDATE() --sean 20130708
  15168. END
  15169. END TRY
  15170. BEGIN CATCH
  15171. GOTO Err3
  15172. END CATCH
  15173. COMMIT
  15174. RETURN @ID
  15175. ERR1:
  15176. BEGIN
  15177. ROLLBACK TRAN
  15178. INSERT INTO LogDb..RegisterErrorLog
  15179. SELECT @ID, '21|' + LTRIM(STR(@IDType)) + '|' + @IP, @UserName + ' ' + @Password, GETDATE()
  15180. RETURN 0
  15181. END
  15182. ERR2:
  15183. BEGIN
  15184. ROLLBACK TRAN
  15185. INSERT INTO LogDb..RegisterErrorLog
  15186. SELECT @ID, '22|' + LTRIM(STR(@IDType)) + '|' + @IP, @UserName + ' ' + @Password, GETDATE()
  15187. RETURN -1
  15188. END
  15189. ERR3:
  15190. BEGIN
  15191. ROLLBACK TRAN
  15192. INSERT INTO LogDb..RegisterErrorLog
  15193. SELECT @ID, '23|' + LTRIM(STR(@IDType)) + '|' + @IP, @UserName + ' ' + @Password, GETDATE()
  15194. RETURN -2
  15195. END
  15196. END TRY
  15197. BEGIN CATCH
  15198. ROLLBACK TRAN
  15199. INSERT INTO LogDb..RegisterErrorLog
  15200. SELECT @ID, '20|' + LTRIM(STR(@IDType)) + '|' + @IP, @UserName + ' ' + @Password, GETDATE()
  15201. END CATCH
  15202. GO
  15203. /****** Object: StoredProcedure [dbo].[wpWapSessionUpdate] Script Date: 2018/12/13 19:13:54 ******/
  15204. SET ANSI_NULLS ON
  15205. GO
  15206. SET QUOTED_IDENTIFIER ON
  15207. GO
  15208. CREATE PROCEDURE [dbo].[wpWapSessionUpdate]
  15209. (
  15210. @SessionID VARCHAR(50)
  15211. )
  15212. AS
  15213. BEGIN
  15214. DECLARE @paMainID INT, @ID INT
  15215. SELECT Top 1 @paMainID = paMainID, @ID = ID FROM WapSession WITH(NOLOCK)
  15216. WHERE SessionID = @SessionID
  15217. AND RefreshDate > DateAdd(HOUR,-1,GETDATE())
  15218. ORDER BY ID DESC
  15219. SET @paMainID = ISNULL(@paMainID, 0)
  15220. IF @paMainID > 0
  15221. BEGIN
  15222. UPDATE WapSession SET RefreshDate = GETDATE() WHERE SessionID=@SessionID
  15223. DELETE FROM WapSession WHERE ID <> @ID AND paMainID = @paMainID
  15224. END
  15225. RETURN @paMainID
  15226. END
  15227. GO