maindb-procedure-7.sql 458 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598
  1. --#####################################################
  2. --创建时间:2018.03.05
  3. --创建人:Carl
  4. --说明:获取最新的媒体动态
  5. --#####################################################
  6. CREATE PROCEDURE [dbo].[procMarketMediaByProvinceIdSelect]
  7. (
  8. @ProvinceId INT
  9. )
  10. AS
  11. BEGIN
  12. SELECT top 6 a.* FROM MarketDb..MarketMedia a, MarketDb..MarketProvince b
  13. WHERE a.ID = b.MarketID
  14. AND b.Type = 1 AND a.MediaType = 1
  15. AND (b.ProvinceID = 0 OR b.ProvinceID = @ProvinceId)
  16. ORDER BY a.AddDate DESC
  17. END
  18. GO
  19. /****** Object: StoredProcedure [dbo].[ProcMatchJobByRegionIDJobTypeIDSelect] Script Date: 2018/12/13 19:11:21 ******/
  20. SET ANSI_NULLS ON
  21. GO
  22. SET QUOTED_IDENTIFIER ON
  23. GO
  24. --#####################################################
  25. --创建时间:2014.11.3
  26. --创建人:John
  27. --说明:根据Jobtype 获取当前地区相关招聘职位
  28. --#####################################################
  29. CREATE PROCEDURE [dbo].[ProcMatchJobByRegionIDJobTypeIDSelect]
  30. (
  31. @dcRegionID VARCHAR(4),
  32. @dcJobTypeID VARCHAR(10)
  33. )
  34. AS
  35. BEGIN
  36. SET @dcJobTypeID = SUBSTRING(@dcJobTypeID,1,2) + '%'
  37. SELECT TOP 20 dcJobTypeID,AvgSalary
  38. FROM reportdb..SalaryReportJobtype
  39. WHERE dcRegionid = @dcRegionID
  40. AND dcJobTypeID LIKE @dcJobTypeID
  41. AND LEN(dcJobTypeID) <> 2
  42. ORDER BY JobNumber DESC
  43. END
  44. GO
  45. /****** Object: StoredProcedure [dbo].[ProcMblQlrcNewsInsert] Script Date: 2018/12/13 19:11:21 ******/
  46. SET ANSI_NULLS ON
  47. GO
  48. SET QUOTED_IDENTIFIER ON
  49. GO
  50. CREATE PROCEDURE [dbo].[ProcMblQlrcNewsInsert]
  51. AS
  52. BEGIN
  53. IF NOT EXISTS(SELECT 'x' FROM QlrcNews WITH(NOLOCK) WHERE RefreshDate > DATEADD(MINUTE, -15, GETDATE()))
  54. RETURN
  55. DECLARE @COUNT INT, @ProvinceID INT
  56. SET @ProvinceID = 0
  57. WHILE EXISTS(SELECT 'x' FROM dcProvince WHERE ID > @ProvinceID AND Id <> 32)
  58. BEGIN
  59. SELECT TOP 1 @Count = 0, @ProvinceId = ID FROM dcProvince WHERE Id > @ProvinceId ORDER BY ID
  60. SELECT @COUNT = COUNT(1)
  61. FROM QlrcNews WITH(NOLOCK)
  62. WHERE
  63. (
  64. EXISTS(SELECT 'x' FROM fnSplit(DetailType,',') b,dcNewsType c WITH(NOLOCK) WHERE b.a=c.ID AND c.Category=1)
  65. OR
  66. DetailType IS NULL
  67. )
  68. AND VersionID = @ProvinceId
  69. AND NewsType = 2
  70. AND DetailType NOT LIKE '%,2,%'
  71. IF @COUNT > 200
  72. SET @COUNT = 200
  73. DELETE SearchDb..mblQlrcNews WHERE ProvinceId = @ProvinceId
  74. INSERT INTO SearchDb..mblQlrcNews(ProvinceId, Rows, ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All, cnt)
  75. SELECT @ProvinceId, Rows, ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All, @COUNT AS cnt
  76. FROM(
  77. SELECT TOP 200 ROW_NUMBER() OVER(ORDER BY RefreshDate DESC) AS Rows,
  78. ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All
  79. FROM QlrcNews WITH(NOLOCK)
  80. WHERE
  81. (
  82. EXISTS(SELECT 'x' FROM fnSplit(DetailType,',') b,dcNewsType c WITH(NOLOCK) WHERE b.a=c.ID AND c.Category=1)
  83. OR
  84. DetailType IS NULL
  85. )
  86. AND VersionID = @ProvinceId
  87. AND NewsType = 2
  88. AND DetailType NOT LIKE '%,2,%'
  89. ) AS a
  90. ORDER BY Rows
  91. END
  92. SET @ProvinceId = 32
  93. SELECT TOP 1 @Count = 0, @ProvinceId = ID FROM dcProvince WHERE Id > @ProvinceId ORDER BY ID
  94. SELECT @COUNT = COUNT(1)
  95. FROM QlrcNews WITH(NOLOCK)
  96. WHERE
  97. (
  98. EXISTS(SELECT 'x' FROM fnSplit(DetailType,',') b,dcNewsType c WITH(NOLOCK) WHERE b.a=c.ID AND c.Category=1)
  99. OR
  100. DetailType IS NULL
  101. )
  102. AND (VersionID = @ProvinceId OR VersionID=0)
  103. AND NewsType = 2
  104. AND DetailType NOT LIKE '%,2,%'
  105. IF @COUNT > 200
  106. SET @COUNT = 200
  107. DELETE SearchDb..mblQlrcNews WHERE ProvinceId = @ProvinceId
  108. INSERT INTO SearchDb..mblQlrcNews(ProvinceId, Rows, ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All, cnt)
  109. SELECT @ProvinceId, Rows, ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All, @COUNT AS cnt
  110. FROM(
  111. SELECT TOP 200 ROW_NUMBER() OVER(ORDER BY RefreshDate DESC) AS Rows,
  112. ID, Title, RefreshDate, Author, [Content], smallimg, ViewNumber_All
  113. FROM QlrcNews WITH(NOLOCK)
  114. WHERE
  115. (
  116. EXISTS(SELECT 'x' FROM fnSplit(DetailType,',') b,dcNewsType c WITH(NOLOCK) WHERE b.a=c.ID AND c.Category=1)
  117. OR
  118. DetailType IS NULL
  119. )
  120. AND (VersionID = @ProvinceId OR VersionID=0)
  121. AND NewsType = 2
  122. AND DetailType NOT LIKE '%,2,%'
  123. ) AS a
  124. ORDER BY Rows
  125. END
  126. GO
  127. /****** Object: StoredProcedure [dbo].[ProcMobileAreaSelect] Script Date: 2018/12/13 19:11:22 ******/
  128. SET ANSI_NULLS ON
  129. GO
  130. SET QUOTED_IDENTIFIER ON
  131. GO
  132. --#####################################################
  133. --创建时间:2014.10.31
  134. --创建人:John
  135. --说明:获取手机号所在地
  136. --#####################################################
  137. CREATE PROCEDURE [dbo].[ProcMobileAreaSelect]
  138. (
  139. @telNo VARCHAR(7)
  140. )
  141. AS
  142. BEGIN
  143. SELECT TOP 1 City,CardType FROM dcMobileArea WITH(NOLOCK) WHERE Num = @telNo
  144. END
  145. GO
  146. /****** Object: StoredProcedure [dbo].[procMobileFollowUpInsert] Script Date: 2018/12/13 19:11:23 ******/
  147. SET ANSI_NULLS ON
  148. GO
  149. SET QUOTED_IDENTIFIER ON
  150. GO
  151. --20180322 CARL 手机号跟进
  152. CREATE PROCEDURE [dbo].[procMobileFollowUpInsert](
  153. @Mobile VARCHAR(50),
  154. @SessionId VARCHAR(100)
  155. )
  156. AS
  157. SET NOCOUNT ON
  158. BEGIN
  159. IF EXISTS(SELECT TOP 1 'X' FROM paMobileFollowUp WHERE ContactDate IS NOT NULL AND Mobile=@Mobile)
  160. RETURN -1
  161. IF EXISTS(SELECT TOP 1 'X' FROM paMain WHERE Mobile=@Mobile)
  162. RETURN -2
  163. DELETE FROM paMobileFollowUp WHERE Mobile=@Mobile OR SessionId=@SessionId
  164. INSERT INTO paMobileFollowUp(Mobile,SessionId) VALUES (@Mobile,@SessionId)
  165. END
  166. SET NOCOUNT OFF
  167. GO
  168. /****** Object: StoredProcedure [dbo].[procMobileFollowUpSelect] Script Date: 2018/12/13 19:11:23 ******/
  169. SET ANSI_NULLS ON
  170. GO
  171. SET QUOTED_IDENTIFIER ON
  172. GO
  173. --20180322 Carl 手机号跟进查询
  174. --20180323 Carl 修改
  175. CREATE PROCEDURE [dbo].[procMobileFollowUpSelect](
  176. @Where VARCHAR(1000),
  177. @Page TINYINT
  178. )
  179. AS
  180. SET NOCOUNT ON
  181. BEGIN
  182. SET @Where = dbo.SafeSQLBack(@Where)
  183. DECLARE @SQL VARCHAR(2000)
  184. CREATE TABLE #T(
  185. TitleID INT,
  186. Id INT,
  187. Mobile VARCHAR(50),
  188. PaMainId INT,
  189. ContactDate SMALLDATETIME,
  190. ContactMan INT,
  191. AddDate SMALLDATETIME
  192. )
  193. SET @SQL=' INSERT INTO #T
  194. (TitleID,Id,Mobile,PaMainId,ContactDate,ContactMan,AddDate)
  195. SELECT TOP 4000 ROW_NUMBER() OVER (ORDER BY a.AddDate DESC) AS TitleID,a.Id,
  196. a.Mobile,a.PaMainId,a.ContactDate,a.ContactMan,a.AddDate FROM paMobileFollowUp a WITH(NOLOCK) '
  197. IF LEN(@Where)>0
  198. SET @SQL = @SQL + ' WHERE 1=1 '+@Where
  199. --PRINT @SQL
  200. EXEC (@SQL)
  201. SELECT COUNT(*) FROM #T WITH(NOLOCK)
  202. SELECT * FROM #T WITH(NOLOCK) WHERE TitleID > (@Page-1)*20 AND TitleID <= @Page*20 ORDER BY TitleID
  203. DROP TABLE #T
  204. END
  205. SET NOCOUNT OFF
  206. GO
  207. /****** Object: StoredProcedure [dbo].[procMsEmailPrevSendByEmialNo84Insert] Script Date: 2018/12/13 19:11:24 ******/
  208. SET ANSI_NULLS ON
  209. GO
  210. SET QUOTED_IDENTIFIER ON
  211. GO
  212. --个人简历下载,浏览通知
  213. --创建人:Harry2015-9-21
  214. CREATE PROCEDURE [dbo].[procMsEmailPrevSendByEmialNo84Insert]
  215. AS
  216. SET NOCOUNT ON
  217. BEGIN
  218. --取出1天内的简历浏览信息
  219. SELECT b.paMainId
  220. INTO #T1
  221. FROM caCvViewLog a WITH(NOLOCK), cvmain b WITH(NOLOCK)
  222. WHERE a.addDate BETWEEN CONVERT(VARCHAR(10), GETDATE() - 1, 120) AND CONVERT(VARCHAR(10), GETDATE(), 120)
  223. AND a.cvMainId = b.id
  224. --取出1天内的简历下载信息插入到#T1
  225. -- INSERT INTO #T1(paMainId, Name, Email, dcProvinceId)
  226. INSERT INTO #T1(paMainId)
  227. SELECT b.paMainId
  228. FROM CaActiveLog a WITH(NOLOCK), CvMain b WITH(NOLOCK)
  229. WHERE a.addDate BETWEEN CONVERT(VARCHAR(10), GETDATE() - 1, 120) AND CONVERT(VARCHAR(10), GETDATE(), 120)
  230. AND b.id = a.CvMainId
  231. --将非重复内容插入到T2
  232. SELECT id PaMainId, Name, Email, dcProvinceId
  233. INTO #T2
  234. FROM paMain WITH(NOLOCK)
  235. WHERE ID IN(SELECT paMAinId FROM #T1 WITH(NOLOCK))
  236. ---将msEmailSend中3天内没有的数据插入到msEmailPrevSend表中
  237. --取出3天内发送的数据
  238. --将T1中删除3天内发送的数据
  239. DELETE FROM #T2 WHERE Email IN (SELECT Email FROM msEmailSend WITH(NOLOCK) WHERE addDate > CONVERT(VARCHAR(10), GETDATE() -3, 120))
  240. DELETE FROM #T2 WHERE Email LIKE '%@qq.com'
  241. --将T1中的数据插入到msEmailPrevSend
  242. INSERT INTO msEmailPrevSend(cpMainId, paMainId, EmailNo, EmailTitle, Email, dcSubsiteId, IsSend, JsonData)
  243. SELECT NULL, paMainId, 20, '企业关注通知', Email, dcProvinceId, 0, '"PaName":"' + Name + '"'
  244. FROM #T2 WITH(NOLOCK)
  245. END
  246. GO
  247. /****** Object: StoredProcedure [dbo].[ProcNewJobRelatedSelect] Script Date: 2018/12/13 19:11:24 ******/
  248. SET ANSI_NULLS ON
  249. GO
  250. SET QUOTED_IDENTIFIER ON
  251. GO
  252. CREATE PROCEDURE [dbo].[ProcNewJobRelatedSelect]
  253. (
  254. @dcRegionId VARCHAR(6),
  255. @dcJobTypeId VARCHAR(4)
  256. )
  257. AS
  258. SET NOCOUNT ON
  259. BEGIN
  260. SELECT TOP 13 SecondId, Name
  261. FROM NewJobRelated WITH(NOLOCK)
  262. WHERE dcRegionId = LEFT(@dcRegionId, 2)
  263. AND dcJobTypeId = LEFT(@dcJobTypeId, 2)
  264. ORDER BY RowNo
  265. END
  266. GO
  267. /****** Object: StoredProcedure [dbo].[ProcNewJobSnapSelect] Script Date: 2018/12/13 19:11:24 ******/
  268. SET ANSI_NULLS ON
  269. GO
  270. SET QUOTED_IDENTIFIER ON
  271. GO
  272. CREATE PROCEDURE [dbo].[ProcNewJobSnapSelect]
  273. (
  274. @dcProvinceId INT
  275. )
  276. AS
  277. SET NOCOUNT ON
  278. BEGIN
  279. DECLARE @PageId INT, @MaxPage INT
  280. SELECT @MaxPage = MaxPage FROM ShortDb..NewJobSnapIndex WHERE dcProvinceId = @dcProvinceId
  281. SET @PageId = RAND() * (@MaxPage - 1) + 1
  282. SELECT * FROM ShortDb..NewJobSnap WITH(NOLOCK)
  283. WHERE dcProvinceId = @dcProvinceId
  284. AND PageId = @PageId
  285. ORDER BY Seq
  286. END
  287. GO
  288. /****** Object: StoredProcedure [dbo].[procNewsAnalysisByProvinceIdSelect] Script Date: 2018/12/13 19:11:24 ******/
  289. SET ANSI_NULLS ON
  290. GO
  291. SET QUOTED_IDENTIFIER ON
  292. GO
  293. --#####################################################
  294. --创建时间:2018.03.05
  295. --创建人:Carl
  296. --说明:获取最新的就业大数据
  297. --修改:harry IsDelete!=1 2018-5-23
  298. --#####################################################
  299. CREATE PROCEDURE [dbo].[procNewsAnalysisByProvinceIdSelect]
  300. AS
  301. BEGIN
  302. SELECT TOP 5 * FROM MainDb..NewsAnalysis WITH(NOLOCK) WHERE IsDelete!=1 ORDER BY AnnounceDate DESC
  303. END
  304. GO
  305. /****** Object: StoredProcedure [dbo].[ProcNewsAnalysisSelect] Script Date: 2018/12/13 19:11:25 ******/
  306. SET ANSI_NULLS ON
  307. GO
  308. SET QUOTED_IDENTIFIER ON
  309. GO
  310. --#####################################################
  311. --创建时间:2017.03.17
  312. --创建人:Harry
  313. --说明:获取就业大数据
  314. --#####################################################
  315. CREATE PROCEDURE [dbo].[ProcNewsAnalysisSelect]
  316. (
  317. @PageNo INT
  318. )
  319. AS
  320. BEGIN
  321. SET NOCOUNT ON
  322. CREATE TABLE #WxNID
  323. (
  324. NID INT IDENTITY(1,1),
  325. ID INT
  326. )
  327. INSERT INTO #WxNID(ID) SELECT TOP (@PageNo * 8) ID
  328. FROM NewsAnalysis WITH(NOLOCK) WHERE newstype=1 AND ISNULL(IsDelete,0) = 0 ORDER BY announcedate DESC
  329. DELETE FROM #WxNID WHERE NID < (@PageNo - 1) * 8 + 1
  330. --总条数
  331. SELECT COUNT(1) FROM NewsAnalysis WITH(NOLOCK) WHERE newstype=1 AND ISNULL(IsDelete,0)=0
  332. --当前页
  333. SELECT * FROM NewsAnalysis WITH(NOLOCK) WHERE ID IN (SELECT ID FROM #WxNID) ORDER BY announcedate desc
  334. --当前页详情
  335. SELECT * FROM NewsAnalysis WITH(NOLOCK) WHERE newstype=2 and parentID IN (SELECT ID FROM #WxNID) ORDER BY announcedate desc
  336. DROP TABLE #WxNID
  337. SET NOCOUNT OFF
  338. END
  339. GO
  340. /****** Object: StoredProcedure [dbo].[ProcNoSendSmsInsert] Script Date: 2018/12/13 19:11:25 ******/
  341. SET ANSI_NULLS ON
  342. GO
  343. SET QUOTED_IDENTIFIER ON
  344. GO
  345. CREATE PROCEDURE [dbo].[ProcNoSendSmsInsert]
  346. (
  347. @NoSend VARCHAR(MAX)
  348. )
  349. AS
  350. BEGIN
  351. INSERT NoSendSms
  352. SELECT SUBSTRING(a, 2,11)
  353. FROM dbo.fnSplit(@NoSend,'||')
  354. WHERE a LIKE '%#N#%'
  355. AND SUBSTRING(a, 2,11) NOT IN(SELECT mobile FROM marketDb..NoSendSms)
  356. END
  357. GO
  358. /****** Object: StoredProcedure [dbo].[procOnlineByIDSelect] Script Date: 2018/12/13 19:11:25 ******/
  359. SET ANSI_NULLS ON
  360. GO
  361. SET QUOTED_IDENTIFIER ON
  362. GO
  363. --#####################################################
  364. --创建时间:2014.11.03
  365. --创建人:Nick
  366. --说明:检查online=1
  367. --#####################################################
  368. CREATE PROCEDURE [dbo].[procOnlineByIDSelect]
  369. (
  370. @UserID INT,
  371. @Type INT
  372. )
  373. AS
  374. BEGIN TRY
  375. IF @Type = 0
  376. BEGIN
  377. SELECT 'x' FROM paOnline WITH(NOLOCK) WHERE IsOnline = 1 AND paMainId = @UserID
  378. END
  379. ELSE
  380. BEGIN
  381. SELECT 'x' FROM caOnline WITH(NOLOCK) WHERE IsOnline = 1 AND caMainId = @UserID
  382. END
  383. END TRY
  384. BEGIN CATCH
  385. RETURN 0
  386. END CATCH
  387. GO
  388. /****** Object: StoredProcedure [dbo].[procOvertimeDeptInsert] Script Date: 2018/12/13 19:11:25 ******/
  389. SET ANSI_NULLS ON
  390. GO
  391. SET QUOTED_IDENTIFIER ON
  392. GO
  393. -----------------
  394. --创建日期:20130725
  395. --创建人:Nick
  396. --功能说明:用于生成每月部门加班次数、签到时间、签退时间、登录后台次数、rtx登录次数、在线时间等
  397. -----------------
  398. CREATE PROCEDURE [dbo].[procOvertimeDeptInsert]
  399. AS
  400. BEGIN
  401. --Select CONVERT(varchar(100), GETDATE(), 112)
  402. DECLARE @begindate int,@enddate int
  403. DECLARE @deptid int,@deptname nvarchar(50),@cnt int
  404. DECLARE @a TABLE (manageruserid INT, cnt numeric(18,2))
  405. DECLARE @AttendanceCheckOut int, @AttendanceCheckIn int
  406. DECLARE @logindaysAfter18 numeric(18,2),@logindaysWeekend numeric(18,2)
  407. DECLARE @CheckMonth VARCHAR(8)
  408. Select @CheckMonth = SUBSTRING(CONVERT(varchar(100),GETDATE(), 112),0,7)
  409. SET @enddate = @CheckMonth + '25'
  410. SET @begindate = CONVERT(VARCHAR(8), DATEADD(MONTH, -1, CONVERT(DATETIME, @CheckMonth + '26')), 112)
  411. --删除当月数据
  412. DELETE FROM OvertimeDept WHERE YEARMONTH=@CheckMonth
  413. DECLARE c_manageruser CURSOR FOR
  414. select id,deptname from dept with(nolock) where id in (3,5,11,23,24,26,14,29,36,27,4, 28, 30, 31, 34, 19, 25, 15, 16, 22, 35)
  415. FOR READ ONLY
  416. OPEN c_manageruser
  417. FETCH NEXT FROM c_manageruser INTO @deptid,@deptname
  418. WHILE @@FETCH_STATUS = 0
  419. BEGIN
  420. Delete from @a
  421. insert into @a (manageruserid, cnt)
  422. select manageruserid,
  423. avg(datepart(hh,AttendanceCheckOut)*60+datepart(mi,AttendanceCheckOut)) cnt
  424. from overtime with(nolock)
  425. where WordDate >=@begindate AND WordDate<=@enddate AND AttendanceCheckOut is not null
  426. and (datepart(hh,AttendanceCheckOut)*100+datepart(mi,AttendanceCheckOut))>1720
  427. group by manageruserid
  428. order by cnt desc
  429. select @AttendanceCheckOut= dbo.DateTo(avg(cnt)) from @a a where (select deptid from manageruser with(nolock) where id=a.manageruserid)=@deptid
  430. or
  431. (select superior from dept with(nolock)
  432. where id=(select deptid from manageruser with(nolock) where id=a.manageruserid))=@deptid
  433. Delete from @a
  434. insert into @a (manageruserid, cnt)
  435. select manageruserid,
  436. avg(datepart(hh,AttendanceCheckIn)*60+datepart(mi,AttendanceCheckIn)) cnt
  437. from overtime with(nolock)
  438. where WordDate >=@begindate AND WordDate<=@enddate AND AttendanceCheckIn is not null
  439. and (datepart(hh,AttendanceCheckIn)*100+datepart(mi,AttendanceCheckIn))<900
  440. group by manageruserid
  441. order by cnt desc
  442. select @AttendanceCheckIn= dbo.DateTo(avg(cnt)) from @a a where (select deptid from manageruser with(nolock) where id=a.manageruserid)=@deptid
  443. or
  444. (select superior from dept with(nolock)
  445. where id=(select deptid from manageruser with(nolock) where id=a.manageruserid))=@deptid
  446. Delete from @a
  447. insert into @a (manageruserid, cnt)
  448. select manageruserid,count(1) cnt
  449. from overtime with(nolock)
  450. where WordDate >=@begindate AND WordDate<=@enddate AND logincountafter1755>0
  451. group by manageruserid
  452. order by cnt desc
  453. insert into @a (manageruserid, cnt)
  454. select distinct manageruserid,0 from overtime with(nolock)
  455. where manageruserid not in
  456. (select distinct manageruserid
  457. from overtime with(nolock)
  458. where WordDate >=@begindate AND WordDate<=@enddate AND logincountafter1755>0
  459. group by manageruserid)
  460. select @logindaysAfter18= avg(cnt) from @a a where (select deptid from manageruser with(nolock) where id=a.manageruserid)=@deptid
  461. or
  462. (select superior from dept with(nolock)
  463. where id=(select deptid from manageruser with(nolock) where id=a.manageruserid))=@deptid
  464. Delete from @a
  465. insert into @a (manageruserid, cnt)
  466. select manageruserid,count(1) cnt
  467. from overtime with(nolock)
  468. where WordDate >=@begindate AND WordDate<=@enddate AND worktype=3 and (logincountafter1755+logincountbefore1755)>0
  469. group by manageruserid
  470. order by cnt desc
  471. insert into @a (manageruserid, cnt)
  472. select distinct manageruserid,0 from overtime with(nolock)
  473. where manageruserid not in
  474. (select distinct manageruserid
  475. from overtime with(nolock)
  476. where WordDate >=@begindate AND WordDate<=@enddate AND worktype=3 and (logincountafter1755+logincountbefore1755)>0
  477. group by manageruserid
  478. )
  479. select @logindaysWeekend = avg(cnt) from @a a where (select deptid from manageruser with(nolock) where id=a.manageruserid)=@deptid
  480. or
  481. (select superior from dept with(nolock)
  482. where id=(select deptid from manageruser with(nolock) where id=a.manageruserid))=@deptid
  483. insert into OvertimeDept (deptid,deptname,yearmonth,checkIn,checkOut,logindaysAfter18,logindaysWeekend)
  484. values (@deptid,@deptname,@CheckMonth,@AttendanceCheckIn,@AttendanceCheckOut, @logindaysAfter18,@logindaysWeekend)
  485. FETCH NEXT FROM c_manageruser INTO @deptid,@deptname
  486. END
  487. CLOSE c_manageruser
  488. DEALLOCATE c_manageruser
  489. END
  490. GO
  491. /****** Object: StoredProcedure [dbo].[procOverTimeInsert] Script Date: 2018/12/13 19:11:26 ******/
  492. SET ANSI_NULLS ON
  493. GO
  494. SET QUOTED_IDENTIFIER ON
  495. GO
  496. --[procOverTimeInsert] 201307
  497. -----------------
  498. --创建日期:20130725
  499. --创建人:Nick
  500. --功能说明:用于生成每月每人每天的加班次数、签到时间、签退时间、登录后台次数、rtx登录次数、在线时间等
  501. -----------------
  502. CREATE PROCEDURE [dbo].[procOverTimeInsert]
  503. AS
  504. BEGIN
  505. DECLARE @manageruserid int
  506. DECLARE @workdate int,@worktype tinyint,@LoginCountAfter1755 smallint
  507. DECLARE @LoginCountBefore1755 smallint
  508. DECLARE @AttendanceCheckOut datetime, @AttendanceCheckIn datetime
  509. DECLARE @CheckMonthDay VARCHAR(8)
  510. Select @CheckMonthDay = CONVERT(varchar(100), dateadd(day,-3,GETDATE()), 112)
  511. --SET @enddate = @CheckMonth + '25'
  512. --SET @begindate = CONVERT(VARCHAR(8), DATEADD(MONTH, -1, CONVERT(DATETIME, @CheckMonth + '26')), 112)
  513. --删除当天数据
  514. DELETE FROM overtime WHERE WordDate =@CheckMonthDay
  515. DECLARE c_manageruser CURSOR FOR
  516. SELECT id FROM manageruser with(nolock) where status<=2 and id<>146
  517. FOR READ ONLY
  518. OPEN c_manageruser
  519. FETCH NEXT FROM c_manageruser INTO @manageruserid
  520. WHILE @@FETCH_STATUS = 0
  521. BEGIN
  522. DECLARE c_WorkDate CURSOR FOR
  523. select workdate,type from workdate with(nolock)
  524. where workdate = @CheckMonthDay
  525. order by workdate OPEN c_WorkDate
  526. FETCH NEXT FROM c_WorkDate INTO @workdate,@worktype
  527. WHILE @@FETCH_STATUS = 0
  528. BEGIN
  529. --1755之后 登录次数
  530. select @LoginCountAfter1755=count(1) from managerlog with(nolock)
  531. where managerid=@manageruserid
  532. and year(logindate)*10000+month(logindate)*100+day(logindate)= @workdate
  533. and datepart(hh,logindate)*100+datepart(mi,logindate)>1755
  534. --1755之前 登录次数
  535. select @LoginCountBefore1755=count(1) from managerlog with(nolock)
  536. where managerid=@manageruserid
  537. and year(logindate)*10000+month(logindate)*100+day(logindate)= @workdate
  538. and datepart(hh,logindate)*100+datepart(mi,logindate)<=1755
  539. set @AttendanceCheckOut=null
  540. set @AttendanceCheckIn=null
  541. select @AttendanceCheckOut=checkout, @AttendanceCheckin=checkin from OaDB..Attendance with(nolock)
  542. where manageruserid=@manageruserid and attendancedate=@workdate
  543. insert into overtime (ManagerUserid,WordDate,LoginCountAfter1755,LoginCountBefore1755,RTXonlineAfter1755,RTXonlineBeforer1755,AttendanceCheckOut,AttendanceCheckIn,WorkType) values
  544. (@manageruserid,@workdate,@LoginCountAfter1755,@LoginCountBefore1755,null,null,@AttendanceCheckOut,@AttendanceCheckIn,@worktype)
  545. FETCH NEXT FROM c_WorkDate INTO @workdate,@worktype
  546. END
  547. CLOSE c_WorkDate
  548. DEALLOCATE c_WorkDate
  549. FETCH NEXT FROM c_manageruser INTO @manageruserid
  550. END
  551. CLOSE c_manageruser
  552. DEALLOCATE c_manageruser
  553. END
  554. GO
  555. /****** Object: StoredProcedure [dbo].[procOverTimeInsertBAK] Script Date: 2018/12/13 19:11:26 ******/
  556. SET ANSI_NULLS ON
  557. GO
  558. SET QUOTED_IDENTIFIER ON
  559. GO
  560. --[procOverTimeInsert] 201307
  561. -----------------
  562. --创建日期:20130725
  563. --创建人:Nick
  564. --功能说明:用于生成每月每人每天的加班次数、签到时间、签退时间、登录后台次数、rtx登录次数、在线时间等
  565. -----------------
  566. CREATE PROCEDURE [dbo].[procOverTimeInsertBAK]
  567. (
  568. @CheckMonth VARCHAR(6)
  569. )
  570. AS
  571. BEGIN
  572. DECLARE @manageruserid int
  573. DECLARE @workdate int,@worktype tinyint,@LoginCountAfter1755 smallint,@begindate int,@enddate int
  574. DECLARE @LoginCountBefore1755 smallint
  575. DECLARE @AttendanceCheckOut datetime, @AttendanceCheckIn datetime
  576. SET @enddate = @CheckMonth + '25'
  577. SET @begindate = CONVERT(VARCHAR(8), DATEADD(MONTH, -1, CONVERT(DATETIME, @CheckMonth + '26')), 112)
  578. --删除当月数据
  579. DELETE FROM overtime WHERE WordDate >=@begindate AND WordDate<=@enddate
  580. DECLARE c_manageruser CURSOR FOR
  581. SELECT id FROM manageruser with(nolock) where status<=2 and id<>146
  582. FOR READ ONLY
  583. OPEN c_manageruser
  584. FETCH NEXT FROM c_manageruser INTO @manageruserid
  585. WHILE @@FETCH_STATUS = 0
  586. BEGIN
  587. DECLARE c_WorkDate CURSOR FOR
  588. select workdate,type from workdate with(nolock)
  589. where workdate>=@begindate and workdate<=@enddate
  590. order by workdate OPEN c_WorkDate
  591. FETCH NEXT FROM c_WorkDate INTO @workdate,@worktype
  592. WHILE @@FETCH_STATUS = 0
  593. BEGIN
  594. --1755之后 登录次数
  595. select @LoginCountAfter1755=count(1) from managerlog with(nolock)
  596. where managerid=@manageruserid
  597. and year(logindate)*10000+month(logindate)*100+day(logindate)= @workdate
  598. and datepart(hh,logindate)*100+datepart(mi,logindate)>1755
  599. --1755之前 登录次数
  600. select @LoginCountBefore1755=count(1) from managerlog with(nolock)
  601. where managerid=@manageruserid
  602. and year(logindate)*10000+month(logindate)*100+day(logindate)= @workdate
  603. and datepart(hh,logindate)*100+datepart(mi,logindate)<=1755
  604. set @AttendanceCheckOut=null
  605. set @AttendanceCheckIn=null
  606. select @AttendanceCheckOut=checkout, @AttendanceCheckin=checkin from OaDB..Attendance with(nolock)
  607. where manageruserid=@manageruserid and attendancedate=@workdate
  608. insert into overtime (ManagerUserid,WordDate,LoginCountAfter1755,LoginCountBefore1755,RTXonlineAfter1755,RTXonlineBeforer1755,AttendanceCheckOut,AttendanceCheckIn,WorkType) values
  609. (@manageruserid,@workdate,@LoginCountAfter1755,@LoginCountBefore1755,null,null,@AttendanceCheckOut,@AttendanceCheckIn,@worktype)
  610. FETCH NEXT FROM c_WorkDate INTO @workdate,@worktype
  611. END
  612. CLOSE c_WorkDate
  613. DEALLOCATE c_WorkDate
  614. FETCH NEXT FROM c_manageruser INTO @manageruserid
  615. END
  616. CLOSE c_manageruser
  617. DEALLOCATE c_manageruser
  618. END
  619. GO
  620. /****** Object: StoredProcedure [dbo].[procPaAttentionByIDSelect] Script Date: 2018/12/13 19:11:26 ******/
  621. SET ANSI_NULLS ON
  622. GO
  623. SET QUOTED_IDENTIFIER ON
  624. GO
  625. --是否关注 Nick 20151120
  626. CREATE PROCEDURE [dbo].[procPaAttentionByIDSelect]
  627. (
  628. @ID INT,
  629. @AttentionType SMALLINT
  630. )
  631. AS
  632. return
  633. BEGIN
  634. SELECT TOP 1 ID FROM PaAttention WITH(NOLOCK) WHERE AttentionID = @ID AND @AttentionType = AttentionType
  635. END
  636. GO
  637. /****** Object: StoredProcedure [dbo].[procPaAttentionByPaMainIDSelect] Script Date: 2018/12/13 19:11:26 ******/
  638. SET ANSI_NULLS ON
  639. GO
  640. SET QUOTED_IDENTIFIER ON
  641. GO
  642. --是否关注 Nick 20151120
  643. CREATE PROCEDURE [dbo].[procPaAttentionByPaMainIDSelect]
  644. (
  645. @ID INT,
  646. @AttentionType SMALLINT,
  647. @PaMainID INT
  648. )
  649. AS
  650. BEGIN
  651. SELECT ID FROM PaAttention WITH(NOLOCK INDEX(IX_paAttention_Complex))
  652. WHERE AttentionID = @ID
  653. AND PaMainID = @PaMainID
  654. AND @AttentionType = AttentionType
  655. END
  656. GO
  657. /****** Object: StoredProcedure [dbo].[procpaCvAlipayRelationInsert] Script Date: 2018/12/13 19:11:26 ******/
  658. SET ANSI_NULLS ON
  659. GO
  660. SET QUOTED_IDENTIFIER ON
  661. GO
  662. --支付宝简历ID对应
  663. CREATE PROCEDURE [dbo].[procpaCvAlipayRelationInsert]
  664. (
  665. @cvMainID int,
  666. @alipayResumeID varchar(32)
  667. )
  668. AS
  669. BEGIN
  670. INSERT INTO paCvAlipayRelation(cvMainID,alipayResumeID,AddDate) VALUES(@cvMainID,@alipayResumeID,GETDATE());
  671. END
  672. GO
  673. /****** Object: StoredProcedure [dbo].[ProcPageBaiduIncludeSelect] Script Date: 2018/12/13 19:11:27 ******/
  674. SET ANSI_NULLS ON
  675. GO
  676. SET QUOTED_IDENTIFIER ON
  677. GO
  678. --sean 2014-8-13
  679. CREATE PROCEDURE [dbo].[ProcPageBaiduIncludeSelect]
  680. AS
  681. BEGIN
  682. --SELECT TOP 100 *
  683. --FROM PageBaiduInclude
  684. --ORDER BY ISNULL(CheckDate, '2000-1-1'), PageID --IncludeDate
  685. SELECT TOP 100 *
  686. INTO #t
  687. FROM PageBaiduInclude
  688. ORDER BY ISNULL(CheckDate, '2000-1-1'), PageID --IncludeDate
  689. UPDATE a
  690. SET a.CheckDate = GETDATE()-200
  691. FROM PageBaiduInclude a, #t b
  692. WHERE a.PageId = b.PageId
  693. SELECT * FROM #t ORDER BY PageID
  694. END
  695. GO
  696. /****** Object: StoredProcedure [dbo].[ProcPaGetPasswordLogByUniqueIDSelect] Script Date: 2018/12/13 19:11:27 ******/
  697. SET ANSI_NULLS ON
  698. GO
  699. SET QUOTED_IDENTIFIER ON
  700. GO
  701. --#####################################################
  702. --创建时间:2014.11.4
  703. --创建人:John
  704. --说明:获取取回密码记录
  705. --#####################################################
  706. CREATE PROCEDURE [dbo].[ProcPaGetPasswordLogByUniqueIDSelect]
  707. (
  708. @UniqueType INT,
  709. @UniqueId VARCHAR(40)
  710. )
  711. AS
  712. BEGIN
  713. IF @UniqueType = 1
  714. BEGIN
  715. SELECT * FROM paGetPasswordLog WITH(NOLOCK) WHERE UniqueID = @UniqueId AND AddDate > DATEADD(MINUTE, -60, GETDATE()) AND IsReset IS NULL
  716. END
  717. ELSE
  718. BEGIN
  719. SELECT * FROM paGetPasswordLog WITH(NOLOCK) WHERE askno = @UniqueId AND AddDate > DATEADD(MINUTE, -60, GETDATE()) AND IsReset IS NULL
  720. END
  721. END
  722. GO
  723. /****** Object: StoredProcedure [dbo].[ProcPaGetPasswordLogIsResetUpdate] Script Date: 2018/12/13 19:11:27 ******/
  724. SET ANSI_NULLS ON
  725. GO
  726. SET QUOTED_IDENTIFIER ON
  727. GO
  728. --#####################################################
  729. --创建时间:2014.11.4
  730. --创建人:John
  731. --说明:修改取回密碼的状态 重置密码成功后就修改一下状态(IsReset)
  732. --#####################################################
  733. CREATE PROCEDURE [dbo].[ProcPaGetPasswordLogIsResetUpdate]
  734. (
  735. @UniqueId VARCHAR(40)
  736. )
  737. AS
  738. BEGIN
  739. UPDATE paGetPasswordLog SET IsReset=1
  740. WHERE AskNo = ( SELECT TOP 1 AskNo FROM paGetPasswordLog WITH(NOLOCK) WHERE UniqueID = @UniqueId )
  741. END
  742. GO
  743. /****** Object: StoredProcedure [dbo].[ProcPaGUIDByRoomIDCvIDSelect] Script Date: 2018/12/13 19:11:27 ******/
  744. SET ANSI_NULLS ON
  745. GO
  746. SET QUOTED_IDENTIFIER ON
  747. GO
  748. --#####################################################
  749. --创建时间:2014.10.29
  750. --创建人:John
  751. --说明:根据面试室编号和简历编号获取面试室的GUID
  752. --#####################################################
  753. CREATE PROCEDURE [dbo].[ProcPaGUIDByRoomIDCvIDSelect]
  754. (
  755. @viRoomID INT,
  756. @cvMainID INT
  757. )
  758. AS
  759. BEGIN
  760. SELECT TOP 1 GUID FROM ViInterviewRecord WHERE viRoomId = @viRoomID AND cvMainID = @cvMainID ORDER BY id DESC
  761. END
  762. GO
  763. /****** Object: StoredProcedure [dbo].[procPaJobClickLogInsert] Script Date: 2018/12/13 19:11:27 ******/
  764. SET ANSI_NULLS ON
  765. GO
  766. SET QUOTED_IDENTIFIER ON
  767. GO
  768. --#####################################################
  769. --创建时间:2014.11.03
  770. --创建人:Nick
  771. --说明:保存职位联系方式查看记录
  772. --#####################################################
  773. CREATE PROCEDURE [dbo].[procPaJobClickLogInsert]
  774. (
  775. @paMainID INT,
  776. @JobID INT,
  777. @IP VARCHAR(15)
  778. )
  779. AS
  780. SET NOCOUNT ON
  781. BEGIN
  782. IF @paMainID = 0
  783. SET @paMainID = NULL
  784. IF NOT EXISTS(SELECT 'x' FROM MainDb..paJobClickLog WITH(NOLOCK) WHERE JobId = @JobId AND Ip = @ip AND AddDate > DATEADD(Second, -5, GETDATE()))
  785. INSERT INTO MainDb..paJobClickLog(JobId, paMainId, Ip, AddDate)
  786. VALUES(@JobID, @paMainID, @Ip, GETDATE())
  787. RETURN 1
  788. END
  789. GO
  790. /****** Object: StoredProcedure [dbo].[ProcPaJobCompareByPaMainIDInsert] Script Date: 2018/12/13 19:11:28 ******/
  791. SET ANSI_NULLS ON
  792. GO
  793. SET QUOTED_IDENTIFIER ON
  794. GO
  795. CREATE PROCEDURE [dbo].[ProcPaJobCompareByPaMainIDInsert]
  796. (
  797. @PaMainID INT
  798. )
  799. AS
  800. SET NOCOUNT ON
  801. BEGIN
  802. --今天推荐过了就不推荐了
  803. IF EXISTS(SELECT 'x' FROM PaJobCompare WITH(NOLOCK) WHERE PaMainID = @PaMainID AND AddDate > CONVERT(CHAR(10), GETDATE(), 120))
  804. RETURN
  805. CREATE TABLE #T(
  806. JobID INT,
  807. SimilarJobID INT,
  808. JobCount INT,
  809. Pecentage FLOAT,
  810. SimilarCount INT,
  811. Source VARCHAR(15)
  812. )
  813. DECLARE @BatchNo SMALLINT, @LastRecommenedNo TINYINT, @JobID INT, @JobCount INT, @PushCount INT, @Top INT
  814. SELECT @BatchNo = ISNULL(MAX(BatchNo), 0), @LastRecommenedNo = ISNULL(MIN(LastRecommenedNo), 6), @Top = 0
  815. FROM PaJobCompare WITH(NOLOCK)
  816. WHERE PaMainID = @PaMainID
  817. --如果最后一次登录时间为昨天那么剩余推送次数设置为6次
  818. IF (SELECT LastLoginDate FROM PaMain WITH(NOLOCK) WHERE ID = @PaMainID) > CONVERT(CHAR(10), GETDATE() - 1, 120)
  819. BEGIN
  820. SELECT @LastRecommenedNo = 6
  821. END
  822. IF ISNULL(@LastRecommenedNo, 0) = 0
  823. SET @LastRecommenedNo = 6
  824. SELECT jobID, COUNT(1) cnt
  825. INTO #TJobSimilar
  826. FROM exJobApplyMonthTemp WITH(NOLOCK)
  827. WHERE JobID IN(
  828. SELECT JobID
  829. FROM exJobApplyMonthTemp
  830. WHERE CvMainID IN (
  831. SELECT ID
  832. FROM CvMain WITH(NOLOCK)
  833. WHERE PaMainID = @PaMainID
  834. )
  835. )
  836. GROUP BY jobID
  837. HAVING COUNT(1) > 1
  838. WHILE EXISTS(SELECT jobID FROM #TJobSimilar)
  839. BEGIN
  840. SELECT TOP 1 @JobID = jobID, @JobCount = cnt
  841. FROM #TJobSimilar
  842. INSERT INTO #T (JobID, SimilarJobID, JobCount, Pecentage, SimilarCount)
  843. SELECT @JobID, JobID, @JobCount, CAST(COUNT(1) AS FLOAT)*100/@JobCount, COUNT(1)
  844. FROM exJobApplyMonthTemp
  845. WHERE cvmainid IN(
  846. SELECT cvMainID
  847. FROM exJobApplyMonthTemp
  848. WHERE jobid = @JobID)
  849. AND jobid <> @JobID
  850. AND EXISTS( --职位必须有效且没被删除
  851. SELECT 'X'
  852. FROM Job WITH(NOLOCK)
  853. WHERE id = exJobApplyMonthTemp.JobID
  854. AND Valid = 1
  855. AND IsDelete = 0
  856. AND IssueEnd > GETDATE())
  857. AND NOT EXISTS(--已经申请过的不再推荐
  858. SELECT 'X'
  859. FROM exJobApply WITH(NOLOCK)
  860. WHERE CvMainID IN (
  861. SELECT ID
  862. FROM CvMain WITH(NOLOCK)
  863. WHERE PaMainID = @PaMainID
  864. )
  865. AND JobID = exJobApplyMonthTemp.JobID
  866. )
  867. GROUP BY JobID
  868. HAVING COUNT(1) > 1
  869. ORDER BY COUNT(1) desc
  870. DELETE FROM #TJobSimilar WHERE jobID = @JobID
  871. END
  872. UPDATE #t SET Source = 'J' + LTRIM(STR(JobId))
  873. DROP TABLE #TJobSimilar
  874. INSERT INTO #T (SimilarJobID, JobCount)
  875. SELECT TOP 10 JobID, COUNT(1)
  876. FROM exJobApplyMonthTemp
  877. WHERE cvMainID IN(
  878. SELECT TOP 10 CvMainID
  879. FROM exJobApplyMonthTemp
  880. WHERE JobID IN(
  881. SELECT JobID
  882. FROM exJobApplyMonthTemp
  883. WHERE CvMainID IN (
  884. SELECT ID
  885. FROM CvMain WITH(NOLOCK)
  886. WHERE PaMainID = @PaMainID
  887. )
  888. )
  889. AND NOT EXISTS(SELECT 'x' FROM CvMain WHERE PaMainID = @PaMainID AND id = exJobApplyMonthTemp.cvMainID)
  890. GROUP BY CvMainID
  891. ORDER BY COUNT(1) DESC
  892. )
  893. AND NOT EXISTS(SELECT 'x' FROM CvMain WHERE PaMainID = @PaMainID AND id = exJobApplyMonthTemp.cvMainID)
  894. AND EXISTS( --职位必须有效且没被删除
  895. SELECT 'X'
  896. FROM Job WITH(NOLOCK)
  897. WHERE id = exJobApplyMonthTemp.JobID
  898. AND Valid = 1
  899. AND IsDelete = 0
  900. AND IssueEnd > GETDATE())
  901. AND NOT EXISTS(--已经申请过的不再推荐
  902. SELECT 'X'
  903. FROM exJobApply WITH(NOLOCK)
  904. WHERE CvMainID IN (
  905. SELECT ID
  906. FROM CvMain WITH(NOLOCK)
  907. WHERE PaMainID = @PaMainID
  908. )
  909. AND JobID = exJobApplyMonthTemp.JobID
  910. )
  911. GROUP BY JobID
  912. HAVING COUNT(1) > 1
  913. ORDER BY COUNT(1) desc
  914. UPDATE #t SET Source = 'from cvMain' WHERE Source IS NULL
  915. DECLARE @t AS TABLE(Id INT IDENTITY(1,1 ), SimilarJobID INT, Source VARCHAR(15))
  916. INSERT INTO @t(SimilarJobID)
  917. SELECT SimilarJobID
  918. FROM #T
  919. GROUP BY SimilarJobID
  920. ORDER BY COUNT(1) DESC
  921. UPDATE a SET a.Source = (SELECT TOP 1 Source FROM #t WHERE a.SimilarJobID = #t.SimilarJobID ORDER BY Source DESC)
  922. FROM @t a
  923. 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 '%保险%')
  924. IF @BatchNo = 0
  925. BEGIN
  926. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  927. SELECT TOP 10 @BatchNo + 1, @PaMainID, SimilarJobID, 5, Source
  928. FROM @t
  929. ORDER BY Id
  930. SELECT @PushCount = COUNT(1)
  931. FROM PaJobCompare WITH(NOLOCK)
  932. WHERE PaMainID = @PaMainID
  933. AND BatchNO = @BatchNo + 1
  934. AND LastRecommenedNo = 5
  935. IF @PushCount < 10
  936. SET @Top = 10 - @PushCount
  937. END
  938. ELSE
  939. BEGIN
  940. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  941. SELECT TOP 5 @BatchNo + 1, @PaMainID, SimilarJobID, @LastRecommenedNo-1, Source
  942. FROM @T a
  943. WHERE NOT EXISTS( --推荐过的就不再推荐了
  944. SELECT 'X'
  945. FROM PaJobCompare WITH(NOLOCK)
  946. WHERE PaMainID = @PaMainID
  947. AND CompareJobID = a.SimilarJobID
  948. )
  949. ORDER BY Id
  950. --推荐不足10个 从原你的菜儿继续推荐
  951. SELECT @PushCount = COUNT(1)
  952. FROM PaJobCompare WITH(NOLOCK)
  953. WHERE PaMainID = @PaMainID
  954. AND BatchNO = @BatchNo + 1
  955. AND LastRecommenedNo = @LastRecommenedNo-1
  956. IF @PushCount < 5
  957. SET @Top = 10 - @PushCount
  958. END
  959. IF @Top > 0
  960. BEGIN
  961. DECLARE @Job AS TABLE(
  962. Id INT,
  963. cpMainId INT,
  964. dcRegionId VARCHAR(6),
  965. dcJobTypeId VARCHAR(4),
  966. dcSalaryId INT,
  967. EmployType INT,
  968. dcEducationId INT,
  969. MinExperience INT,
  970. MinAge INT,
  971. MaxAge INT,
  972. AgeScore INT,
  973. EduScore INT,
  974. ExpScore INt,
  975. SizeScore INT
  976. )
  977. DECLARE @JobPlace AS TABLE(Id INT IDENTITY(1, 1), dcRegionId VARCHAR(6))
  978. DECLARE @JobType AS TABLE(Id INT IDENTITY(1, 1), dcJobTypeId VARCHAR(4))
  979. DECLARE @t1 AS TABLE(dcRegionId VARCHAR(6))
  980. DECLARE @t2 AS TABLE(dcJobTypeId VARCHAR(4))
  981. DECLARE @CvMainID INT, @dcSalaryId INT, @EmployType INT, @Degree INT, @Exp INT, @Age INT, @ThisMonth INT
  982. SET @ThisMonth = CONVERT(VARCHAR(6), GETDATE(), 112)
  983. SELECT TOP 1 @cvMainId = b.Id, @Age = (@ThisMonth - a.BirthDay) / 100,
  984. @dcSalaryId = dcSalaryID, @EmployType = EmployType,
  985. @Degree = Degree, @Exp = RelatedWorkYears
  986. FROM paMain a WITH(NOLOCK), cvMain b WITH(NOLOCK)
  987. WHERE a.Id = b.paMainId
  988. AND a.Id = @paMainId
  989. INSERT INTO @JobPlace(dcRegionId)
  990. SELECT dcRegionId FROM cvJobPlace WITH(NOLOCK)
  991. WHERE cvMainId = @cvMainId
  992. INSERT INTO @JobType(dcJobTypeId)
  993. SELECT dcJobTypeId FROM cvJobType WITH(NOLOCK)
  994. WHERE cvMainId = @cvMainId
  995. DELETE a FROM @JobPlace a, @JobPlace b WHERE a.id <> b.Id AND a.dcRegionID <> b.dcRegionId AND b.dcRegionId LIKE a.dcRegionId + '%'
  996. DELETE a FROM @JobType a, @JobType b WHERE a.id <> b.Id AND a.dcJobTypeId <> b.dcJobTypeId AND b.dcJobTypeId LIKE a.dcJobTypeId + '%'
  997. INSERT INTO @t2
  998. SELECT Id FROM dcJobType WHERE ID IN(SELECT dcJobTypeId FROM @JobType) OR ParentID IN(SELECT dcJobTypeId FROM @JobType)
  999. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE ID IN(SELECT dcRegionId FROM @JobPlace)
  1000. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 4) IN(SELECT dcRegionId FROM @JobPlace)
  1001. INSERT INTO @t1 SELECT Id FROM dcRegion WHERE LEFT(ID, 2) IN(SELECT dcRegionId FROM @JobPlace)
  1002. --===========================================
  1003. INSERT INTO @Job(Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge)
  1004. SELECT TOP 200 Id, cpMainId, dcRegionId, dcJobTypeId, dcSalaryId, EmployType, dcEducationId, MinExperience, MinAge, MaxAge
  1005. FROM jobPublish WITH(NOLOCK)
  1006. WHERE EmployType = @EmployType
  1007. AND dcRegionID IN(SELECT dcRegionId FROM @t1)
  1008. AND dcJobTypeId IN(SELECT dcJobTypeId FROM @t2)
  1009. AND dcSalaryId IN(100, @dcSalaryId)
  1010. AND EXISTS(SELECT 'x' FROM cpMainPublish WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 31 AND cpMainPublish.Id = cpMainId)
  1011. ORDER BY RefreshDate DESC
  1012. DELETE @Job WHERE Id IN(SELECT CompareJobId FROM paJobCompare WITH(NOLOCK) WHERE paMainId = @pamainId)
  1013. DELETE @Job WHERE Id IN(SELECT JobId FROM paYourFood WITH(NOLOCK) WHERE paMainId = @pamainId)
  1014. DELETE @Job WHERE Id IN(SELECT JobId FROM ExJobApply WITH(NOLOCK) WHERE cvMainID IN(SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @pamainId))
  1015. IF(SELECT COUNT(*) FROM @Job) > 3
  1016. BEGIN
  1017. UPDATE a SET a.SizeScore = b.dcCompanySizeId * -1, EduScore = 0, AgeScore = 0, ExpScore = 0 FROM @Job a, cpMainPublish b WHERE a.cpMainId = b.ID
  1018. UPDATE @Job SET EduScore = dcEducationId - @Degree WHERE dcEducationId > @Degree AND dcEducationId < 100
  1019. UPDATE @Job SET EduScore = @Degree - dcEducationId WHERE dcEducationId < @Degree AND dcEducationId < 100
  1020. UPDATE @Job SET MinAge = 16 WHERE MinAge = 99
  1021. UPDATE @Job SET MaxAge = 60 WHERE MaxAge = 99
  1022. UPDATE @Job SET AgeScore = (MinAge - @Age) / 5 + 1 WHERE MinAge > @Age
  1023. UPDATE @Job SET AgeScore = (@Age - MaxAge) / 5 + 1 WHERE MaxAge < @Age
  1024. IF @Exp = 0
  1025. SET @Exp = 1
  1026. ELSE IF @Exp IN(1, 2)
  1027. SET @Exp = 2
  1028. ELSE IF @Exp IN(3,4,5)
  1029. SET @Exp = 3
  1030. ELSE IF @Exp IN(6,7,8,9,10)
  1031. SET @Exp = 4
  1032. ELSE IF @Exp > 10
  1033. SET @Exp = 5
  1034. ELSE
  1035. SET @Exp = 0
  1036. UPDATE @Job SET MinExperience = CASE WHEN MinExperience = 5 THEN 1 ELSE MinExperience + 1 END WHERE MinExperience > 0
  1037. UPDATE @Job SET ExpScore = MinExperience - @Exp WHERE MinExperience > @Exp
  1038. UPDATE @Job SET ExpScore = @Exp - MinExperience WHERE MinExperience < @Exp AND MinExperience > 0
  1039. END
  1040. ---SELECT TOP 3 'aaaaa' abc, Id, @paMainId, @cvMainId, id, GETDATE() FROM @Job ORDER BY EduScore, ExpScore + SizeScore + AgeScore
  1041. INSERT INTO PaJobCompare(BatchNo, PaMainID, CompareJobID, LastRecommenedNo, Source)
  1042. SELECT TOP (@Top) @BatchNo + 1, @PaMainID, Id, 5, 'Expect'
  1043. FROM @Job ORDER BY EduScore, ExpScore + SizeScore + AgeScore
  1044. END
  1045. DROP TABLE #T
  1046. END
  1047. GO
  1048. /****** Object: StoredProcedure [dbo].[ProcPaJobCompareInsert] Script Date: 2018/12/13 19:11:28 ******/
  1049. SET ANSI_NULLS ON
  1050. GO
  1051. SET QUOTED_IDENTIFIER ON
  1052. GO
  1053. --/****** 对象: StoredProcedure [dbo].[ProcPaJobCompareInsert] 脚本日期: 09/13/2016 15:26:30 ******/
  1054. --SET ANSI_NULLS ON
  1055. --GO
  1056. --SET QUOTED_IDENTIFIER ON
  1057. --GO
  1058. CREATE PROCEDURE [dbo].[ProcPaJobCompareInsert]
  1059. AS
  1060. SET NOCOUNT ON
  1061. IF DATEPART(HOUR, GETDATE()) > 17
  1062. RETURN
  1063. BEGIN
  1064. DECLARE @crDate DATETIME
  1065. SELECT @CrDate = Value FROM dcRunParameter WHERE Name = 'exJobApplyMonthTemp create'
  1066. IF @CrDate IS NULL
  1067. BEGIN
  1068. INSERT INTO dcRunParameter SELECT 'exJobApplyMonthTemp create', '', GETDATE() - 1, 1
  1069. SELECT @CrDate = Value FROM dcRunParameter WHERE Name = 'exJobApplyMonthTemp create'
  1070. END
  1071. IF DATEDIFF(MINUTE, @CrDate, GETDATE()) > 480 OR (SELECT COUNT(*) FROM exJobApplyMonthTemp) < 10000
  1072. BEGIN
  1073. TRUNCATE TABLE exJobApplyMonthTemp
  1074. --90天内的数据为样本
  1075. INSERT INTO exJobApplyMonthTemp (JobId, CvMainID)
  1076. SELECT jobID, CvMainID
  1077. FROM exjobapply WITH(NOLOCK)
  1078. WHERE addDate > GETDATE() - 30
  1079. AND JobId > 0
  1080. --排除海投
  1081. DELETE FROM exJobApplyMonthTemp
  1082. WHERE CvMainID IN(
  1083. SELECT CvMainID
  1084. FROM exJobApplyMonthTemp
  1085. GROUP BY CvMainID
  1086. HAVING COUNT(1) > 41 --if 30 then 26 if 90 then 41
  1087. )
  1088. UPDATE dcRunParameter SET Value = GETDATE() WHERE Name = 'exJobApplyMonthTemp create'
  1089. END
  1090. CREATE TABLE #TNP(paMainId INT) --Table Need Push
  1091. --一天之内登录过的 也推送
  1092. INSERT INTO #TNP
  1093. SELECT Id
  1094. FROM PaMain WITH(NOLOCK)
  1095. WHERE LastLoginDate > CONVERT(VARCHAR(10), GETDATE() - 1, 120) --一天之内登录的
  1096. AND IsUseYourFood = 1
  1097. --1天之前10天之后登陆的,也要推送
  1098. INSERT INTO #TNP
  1099. SELECT Id
  1100. FROM paMain WITH(NOLOCK)
  1101. WHERE LastLoginDate < GETDATE() - 1 --一天之前登录的
  1102. AND LastLoginDate >= CONVERT(VARCHAR(10), GETDATE() - 10 , 120) --10天之内登录的
  1103. AND NOT EXISTS(SELECT 'x' FROM #TNP WHERE PaMainID = PaMain.ID) --确定推送的就不再添加
  1104. AND Id % 2 = DATEPART(DAY, GETDATE()) % 2
  1105. AND IsUseYourFood = 1
  1106. DELETE FROM #TNP WHERE paMainId IN(SELECT DISTINCT paMainId FROM PaJobCompare WITH(NOLOCK) WHERE AddDate > CONVERT(VARCHAR(10), GETDATE() , 120))
  1107. SELECT * INTO #0 FROM #TNP
  1108. DELETE a FROM #0 a, cvMain b WHERE a.paMainId = b.paMainId AND b.Degree > 0 AND b.EmployType > 0 AND RelatedWorkYears > -1
  1109. DELETE #0 WHERE paMainId IN(SELECT paMainId FROM cvMain WHERE Id iN(SELECT cvMainId FROM ExJobApply WHERE AddDate > GETDATE() - 1))
  1110. DELETE #TNP WHERE paMainId IN(SELECT paMainId FROM #0)
  1111. IF EXISTS(SELECT 'x' FROM paJobCompareIndex WHERE AddDate < CONVERT(VARCHAR(10), GETDATE(), 120))
  1112. TRUNCATE TABLE paJobCompareIndex
  1113. DELETE #TNP WHERE paMainId IN(SELECT paMainId FROM paJobCompareIndex)
  1114. INSERT INTO paJobCompareIndex(paMainId)
  1115. SELECT paMainId FROM #Tnp
  1116. DROP TABLE #TNP
  1117. DROP TABLE #0
  1118. DECLARE @PaMainID INT, @SQL AS VARCHAR(100)
  1119. WHILE EXISTS(SELECT 'x' FROM paJobCompareIndex WITH(NOLOCK) WHERE RunDate IS NULL)
  1120. BEGIN
  1121. SELECT TOP 1 @PaMainID = PaMainID FROM paJobCompareIndex WITH(NOLOCK) WHERE RunStatus = 0 AND RunDate IS NULL ORDER BY ID
  1122. SET @SQL = 'EXEC ProcPaJobCompareByPaMainIDInsert ' + LTRIM(STR(@PaMainID))
  1123. --PRINT @SQL
  1124. BEGIN TRY
  1125. EXEC(@SQL)
  1126. UPDATE paJobCompareIndex SET RunDate = GETDATE(), RunStatus = 1 WHERE paMainId = @paMainId
  1127. END TRY
  1128. BEGIN CATCH
  1129. UPDATE paJobCompareIndex SET RunDate = GETDATE(), RunStatus = 101 WHERE paMainId = @paMainId
  1130. END CATCH
  1131. IF DATEPART(MINUTE, GETDATE()) BETWEEN 28 AND 31
  1132. BEGIN
  1133. UPDATE dcRunParameter SET Value = GETDATE() WHERE Name = 'exJobApplyMonthTemp create'
  1134. RETURN
  1135. END
  1136. END
  1137. END
  1138. GO
  1139. /****** Object: StoredProcedure [dbo].[procPaLoginContactByOpenIDDelete] Script Date: 2018/12/13 19:11:28 ******/
  1140. SET ANSI_NULLS ON
  1141. GO
  1142. SET QUOTED_IDENTIFIER ON
  1143. GO
  1144. --#####################################################
  1145. --创建时间:2014.11.10
  1146. --创建人:Nick
  1147. --说明:删除绑定信息
  1148. --#####################################################
  1149. CREATE PROCEDURE [dbo].[procPaLoginContactByOpenIDDelete]
  1150. (
  1151. @OpenID VARCHAR(100)
  1152. )
  1153. AS
  1154. BEGIN
  1155. DELETE FROM PaLoginContact where OpenID =@OpenID AND ContactType=4
  1156. END
  1157. GO
  1158. /****** Object: StoredProcedure [dbo].[procpaLoginContactByOpenIDSelect] Script Date: 2018/12/13 19:11:29 ******/
  1159. SET ANSI_NULLS ON
  1160. GO
  1161. SET QUOTED_IDENTIFIER ON
  1162. GO
  1163. --#####################################################
  1164. --创建时间:2014.11.10
  1165. --创建人:Nick
  1166. --说明:判断是否已绑定为信息账号
  1167. --#####################################################
  1168. CREATE PROCEDURE [dbo].[procpaLoginContactByOpenIDSelect]
  1169. (
  1170. @OpenID VARCHAR(100)
  1171. )
  1172. AS
  1173. BEGIN
  1174. SELECT * FROM paLoginContact WITH(NOLOCK) WHERE openid = @OpenID AND ContactType = 4
  1175. END
  1176. GO
  1177. /****** Object: StoredProcedure [dbo].[ProcPaLoginContactInsert] Script Date: 2018/12/13 19:11:29 ******/
  1178. SET ANSI_NULLS ON
  1179. GO
  1180. SET QUOTED_IDENTIFIER ON
  1181. GO
  1182. --#####################################################
  1183. --创建时间:2014.11.4
  1184. --创建人:John
  1185. --说明:增加第三方登录的记录
  1186. --修改:2016-7-12日 来自微信的注册将RegisterFrom = 5 同时修改wxfans表中pamainID字段 Peter
  1187. --#####################################################
  1188. CREATE PROCEDURE [dbo].[ProcPaLoginContactInsert]
  1189. (
  1190. @paMainID INT,
  1191. @OpenID VARCHAR(100),
  1192. @ContactType TINYINT,
  1193. @LoginType TINYINT
  1194. )
  1195. AS
  1196. BEGIN
  1197. IF @paMainID = 0
  1198. RETURN
  1199. IF @paMainID < 0
  1200. SET @paMainId = @PaMainId * - 1
  1201. DELETE FROM paLoginContact WHERE Openid=@OpenID AND ContactType = @ContactType
  1202. INSERT INTO paLoginContact(paMainID,Openid,ContactType,LoginType,AddDate) VALUES(@paMainID,@OpenID,@ContactType,@LoginType,GETDATE())
  1203. IF @ContactType = 4
  1204. BEGIN
  1205. --IF @LoginType = 2
  1206. --UPDATE PaMain SET RegisterFrom = 5 WHERE ID = @PaMainID
  1207. UPDATE wxfans SET PaMainID = @PaMainID WHERE OpenID = @OpenID
  1208. END
  1209. END
  1210. GO
  1211. /****** Object: StoredProcedure [dbo].[procPaloginlogByFirstLoginInsert] Script Date: 2018/12/13 19:11:29 ******/
  1212. SET ANSI_NULLS ON
  1213. GO
  1214. SET QUOTED_IDENTIFIER ON
  1215. GO
  1216. CREATE PROCEDURE [dbo].[procPaloginlogByFirstLoginInsert]
  1217. (
  1218. @PaMainID INT,
  1219. @IP VARCHAR(31),
  1220. @Browser VARCHAR(500),
  1221. @LoginFrom TINYINT
  1222. )
  1223. AS
  1224. SET NOCOUNT ON
  1225. IF @PaMainID = 0
  1226. RETURN
  1227. BEGIN
  1228. IF NOT EXISTS(SELECT 'x' FROM PaLoginLog WITH(NOLOCK) WHERE LoginFrom = @LoginFrom AND PaMainID = @PaMainID AND AddDate > CONVERT(NVARCHAR, GETDATE(), 111))
  1229. BEGIN
  1230. UPDATE PaMain
  1231. SET LastLoginDate = GETDATE()
  1232. WHERE ID = @PaMainID
  1233. IF @@ROWCOUNT > 0
  1234. INSERT INTO PaLoginLog(paMainID,LoginIP,AddDate,Browser,LoginFrom)
  1235. VALUES(@PaMainID,@IP,GETDATE(),@Browser,@LoginFrom)
  1236. END
  1237. END
  1238. GO
  1239. /****** Object: StoredProcedure [dbo].[ProcPaLoginLogByWeiXinInsert] Script Date: 2018/12/13 19:11:30 ******/
  1240. SET ANSI_NULLS ON
  1241. GO
  1242. SET QUOTED_IDENTIFIER ON
  1243. GO
  1244. CREATE PROCEDURE [dbo].[ProcPaLoginLogByWeiXinInsert]
  1245. (
  1246. @FromUserName VARCHAR(100)
  1247. )
  1248. AS
  1249. RETURN
  1250. SET NOCOUNT ON
  1251. BEGIN
  1252. DECLARE @paMainId INT
  1253. SELECT @paMainId = paMainId FROM wxFans WITH(NOLOCK) WHERE OpenId = @FromUserName
  1254. IF @paMainId IS NULL
  1255. BEGIN
  1256. SELECT @paMainId = paMainId FROM palogincontact WITH(NOLOCK) WHERE OpenId = @FromUserName AND ContactType = 4
  1257. IF @paMainId IS NULL
  1258. RETURN
  1259. END
  1260. DECLARE @Ip VARCHAR(31), @AddDate SMALLDATETIME
  1261. SELECT TOP 1 @AddDate = AddDate, @ip = LoginIp FROM paLoginLog WITH(NOLOCK) WHERE paMainId = @paMainId ORDER BY Id DESC
  1262. IF @Ip IS NULL
  1263. BEGIN
  1264. INSERT INTO paLoginLog
  1265. SELECT @paMainId, '----', GETDATE(), 'weixin', 1
  1266. RETURN
  1267. END
  1268. IF @AddDate < DATEADD(HOUR, -10, GETDATE())
  1269. BEGIN
  1270. IF EXISTS(SELECT 'x' FROM paMain WITH(NOLOCK) WHERE id = @paMainId)
  1271. INSERT INTO paLoginLog SELECT @paMainId, @ip, GETDATE(), 'weixin', 1
  1272. --UPDATE paMaIn SET LastLoginDate = GETDATE() WHERE Id = @paMainId
  1273. END
  1274. END
  1275. GO
  1276. /****** Object: StoredProcedure [dbo].[ProcPaMainByCvMainIDSelect] Script Date: 2018/12/13 19:11:30 ******/
  1277. SET ANSI_NULLS ON
  1278. GO
  1279. SET QUOTED_IDENTIFIER ON
  1280. GO
  1281. --#####################################################
  1282. --创建时间:2014.11.4
  1283. --创建人:John
  1284. --说明:根据cvmianid获取pamain基本信息
  1285. --#####################################################
  1286. CREATE PROCEDURE [dbo].[ProcPaMainByCvMainIDSelect]
  1287. (
  1288. @cvMainID INT
  1289. )
  1290. AS
  1291. BEGIN
  1292. SELECT a.id,a.mobile,a.name
  1293. FROM pamain a,cvmain b
  1294. WHERE b.pamainid = a.id AND b.id = @cvMainID
  1295. END
  1296. GO
  1297. /****** Object: StoredProcedure [dbo].[ProcPaMainByRegisterFromUpdate] Script Date: 2018/12/13 19:11:30 ******/
  1298. SET ANSI_NULLS ON
  1299. GO
  1300. SET QUOTED_IDENTIFIER ON
  1301. GO
  1302. CREATE PROCEDURE [dbo].[ProcPaMainByRegisterFromUpdate]
  1303. AS
  1304. SET NOCOUNT ON
  1305. BEGIN
  1306. UPDATE paMain SET RegisterMode = 12
  1307. WHERE Id IN(SELECT paMainId FROM MarketDb..RmInvitationCode WITH(NOLOCK) WHERE AddDate > GETDATE() - 5)
  1308. AND RegisterMode = 0
  1309. AND AddDate > GETDATE() - 0.3
  1310. UPDATE paMain SET RegisterMode = 13
  1311. WHERE Id IN(SELECT paMainId FROM MarketDb..cvImportPrev WITH(NOLOCK) WHERE EntryDate > GETDATE() - 5)
  1312. AND RegisterMode = 0
  1313. AND AddDate > GETDATE() - 0.3
  1314. UPDATE a
  1315. SET RegisterMode = 14
  1316. FROM paMain a, bsMobileSpread b
  1317. WHERE a.Mobile = b.MobileNo
  1318. AND a.RegisterMode = 0
  1319. AND a.AddDate BETWEEN DATEADD(MINUTE, -100, b.ReturnDate) AND b.ReturnDate
  1320. AND b.ReturnDate > GETDATE() - 5
  1321. UPDATE cvMain SET IsCvHidden = 1
  1322. WHERE paMainId IN(SELECT paMainId FROM MarketDb..cvImportPrev WHERE contactresult=7 and paMainId>0 AND ContactDate > GETDATE() - 2)
  1323. AND IsCvHidden = 0
  1324. --Lucifer添加 市场部认证简历
  1325. SET QUOTED_IDENTIFIER ON
  1326. UPDATE paMain SET RegisterType = 151
  1327. WHERE Id IN(SELECT paMainId FROM MarketDb..ptCvInvitation WITH(NOLOCK) WHERE AddDate > GETDATE() - 5)
  1328. AND ISNULL(RegisterType,0) < 100
  1329. --Lucifer添加 市场部电话简历
  1330. UPDATE paMain SET RegisterType = 152
  1331. WHERE Id IN(SELECT paMainId FROM MarketDb..cvImportPrev WITH(NOLOCK) WHERE EntryDate > GETDATE() - 5)
  1332. AND ISNULL(RegisterType,0) < 100
  1333. --Lucifer添加 信息员手机号注册
  1334. UPDATE a
  1335. SET RegisterType = 103
  1336. FROM paMain a, bsMobileSpread b
  1337. WHERE a.Mobile = b.MobileNo
  1338. AND ISNULL(a.RegisterType, 0) < 100
  1339. AND a.AddDate BETWEEN DATEADD(MINUTE, -100, b.ReturnDate) AND b.ReturnDate
  1340. AND b.ReturnDate > GETDATE() - 5
  1341. --Lucifer添加 信息员手机号注册 已审核
  1342. UPDATE a
  1343. SET RegisterType = 104
  1344. FROM paMain a, bsMobileSpread b
  1345. WHERE a.Mobile = b.MobileNo
  1346. AND a.RegisterType = 103
  1347. AND b.AccountDate IS NOT NULL
  1348. IF DATEPART(HOUR, GETDATE()) BETWEEN 8 AND 18
  1349. BEGIN
  1350. UPDATE a
  1351. SET a.ReturnDate = GETDATE(), a.RelatedId = b.Id
  1352. FROM bsMobileSpread a, paMain b WITH(NOLOCK)
  1353. WHERE a.ReturnDate IS NULL
  1354. AND a.AddDate > GETDATE() - 160
  1355. AND a.UserType = 1
  1356. AND a.MobileNo = b.Mobile
  1357. AND ((b.RegisterMode = 0 AND b.ID < 25391426)
  1358. OR
  1359. (b.ID >= 25391426 AND ISNULL(b.RegisterType, 0) < 100)
  1360. )
  1361. UPDATE a
  1362. SET a.AccountDate = GETDATE()
  1363. FROM bsMobileSpread a, paMain b WITH(NOLOCK), cvMain c WITH(NOLOCK)
  1364. WHERE a.ReturnDate IS NOT NULL
  1365. AND a.AccountDate IS NULL
  1366. --AND a.AddDate > GETDATE() - 160
  1367. AND a.UserType=1
  1368. AND a.RelatedId = b.Id
  1369. AND b.Id = c.paMainId
  1370. AND c.Valid > 0
  1371. AND (
  1372. (b.RegisterMode = 0 AND b.ID < 25391426)
  1373. OR
  1374. (b.ID >= 25391426 AND ISNULL(b.RegisterType,0) < 100)
  1375. OR b.RegisterType = 103
  1376. )
  1377. AND b.VerifyCount > 0
  1378. --Harry begin
  1379. --更新关联企业id
  1380. -- UPDATE bsMobileSpread
  1381. -- SET RelatedId=(SELECT TOP 1 b.id FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  1382. -- WHERE a.cpMainId = b.ID AND b.RegisterMode = 0 AND a.Mobile=MobileNo ORDER BY b.RegDate DESC)
  1383. -- WHERE ReturnDate IS NULL
  1384. -- AND UserType=0
  1385. -- AND ISNULL(RelatedId,0)=0
  1386. --
  1387. -- --更新cpmain中的addman
  1388. -- UPDATE a
  1389. -- SET a.addMan=(SELECT addMan FROM bsMobileSpread WHERE MobileNo=(select mobile FROM caMain WHERE cpMainid=a.id))
  1390. -- FROM cpMain a
  1391. -- WHERE a.RegisterMode = 0
  1392. -- AND ISNULL(a.addMan,0)=0
  1393. -- AND a.regdate > GETDATE()-5
  1394. SELECT a.Id, a.AddMan, c.Id cpMainId
  1395. INTO #t
  1396. FROM bsMobileSpread a WITH(NOLOCK), caMain b WITH(NOLOCK), cpMain c WITH(NOLOCK)
  1397. WHERE a.ReturnDate IS NULL
  1398. AND a.AddDate > GETDATE() - 160
  1399. AND a.UserType=0
  1400. AND a.MobileNo = b.Mobile
  1401. AND b.cpMainId = c.ID
  1402. AND c.RegisterMode = 0
  1403. --Harry end
  1404. UPDATE a
  1405. SET ReturnDate = GETDATE(), RelatedId = b.cpMainId
  1406. FROM bsMobileSpread a, #t b
  1407. WHERE a.Id = b.Id
  1408. DECLARE @cpMainId int, @AddMan INT
  1409. SELECT @cpMainId = 0
  1410. WHILE EXISTS(SELECT 'x' FROM #t WHERE cpMainId > @cpMainId)
  1411. BEGIN
  1412. SELECT TOP 1 @cpMainId = cpMainId, @AddMan = AddMan FROM #t WHERE cpMAinId > @cpMainId ORDER By cpMainId
  1413. UPDATE cpMain SET AddMan = @AddMan WHERE Id = @cpMainId
  1414. END
  1415. UPDATE a
  1416. SET AccountDate = GETDATE()
  1417. FROM bsMobileSpread a, cpMain b
  1418. WHERE a.ReturnDate IS NOT NULL
  1419. --AND a.AddDate > GETDATE() - 160
  1420. AND a.AccountDate IS NULL
  1421. AND a.UserType=0
  1422. AND a.RelatedId = b.Id
  1423. AND b.HasLicence = 1
  1424. AND b.Valid = 1
  1425. AND VerifyCount > 0
  1426. END
  1427. END
  1428. GO
  1429. /****** Object: StoredProcedure [dbo].[ProcPaMAinBySmsSpreadReSendSelect] Script Date: 2018/12/13 19:11:30 ******/
  1430. SET ANSI_NULLS ON
  1431. GO
  1432. SET QUOTED_IDENTIFIER ON
  1433. GO
  1434. CREATE PROCEDURE [dbo].[ProcPaMAinBySmsSpreadReSendSelect]
  1435. AS
  1436. SET NOCOUNT ON
  1437. BEGIN
  1438. DECLARE @p AS TABLE(
  1439. Id INT,
  1440. Name NVARCHAR(50),
  1441. dcProvinceId INT,
  1442. Mobile VARCHAR(20),
  1443. HasIntention bit DEFAULT(0),
  1444. HasEducation bit DEFAULT(0),
  1445. HasExperience bit DEFAULT(0),
  1446. Msg NVARCHAR(200) DEFAULT('')
  1447. )
  1448. INSERT INTO @p(Id, Name, Mobile, dcProvinceId)
  1449. SELECT Id, Name, Mobile, dcProvinceId
  1450. FROM paMain WITH(NOLOCK)
  1451. WHERE Name > ''
  1452. AND Id NOT IN(SELECT paMainId FROM cvMain WITH(NOLOCK) WHERE cvLevel LIKE '1111_1%' AND VerifyResult = 1)
  1453. AND PerfectDate IS NULL
  1454. AND Mobile >''
  1455. --AND AddDate < CONVERT(VARCHAR(10), GETDATE() - 10, 120)
  1456. AND AddDate BETWEEN CONVERT(VARCHAR(10), GETDATE() - 10, 120) AND CONVERT(VARCHAR(10), GETDATE() - 9, 120)
  1457. ORDER BY ID
  1458. UPDATE a
  1459. SET HasIntention = 1
  1460. FROM @p a, cvMain b WITH(NOLOCK)
  1461. WHERE a.Id = b.paMainId
  1462. AND b.Id IN(SELECT cvMainId FROM cvJobPlace)
  1463. AND b.Id IN(SELECT cvMainId FROM cvJobtype)
  1464. UPDATE a
  1465. SET HasEducation = 1
  1466. FROM @p a, cvMain b WITH(NOLOCK)
  1467. WHERE a.Id = b.paMainId
  1468. AND b.Id IN(SELECT cvMainId FROM cvEducation)
  1469. UPDATE a
  1470. SET HasExperience= 1
  1471. FROM @p a, cvMain b WITH(NOLOCK)
  1472. WHERE a.Id = b.paMainId
  1473. AND b.Id IN(SELECT cvMainId FROM cvExperience)
  1474. DELETE FROM @p WHERE HasExperience = 1 AND HasEducation = 1 AND HasIntention = 1
  1475. UPDATE @p SET Msg = (SELECT SubSiteName FROM dcSubSite WHERE Id = dcProvinceId)
  1476. UPDATE @p SET Msg = Name + '你好,欢迎登录' + Msg + ',你的简历缺少' +
  1477. CASE WHEN HasIntention = 0 THEN '求职意向、' ELSE '' END +
  1478. CASE WHEN HasEducation = 0 THEN '教育背景、' ELSE '' END +
  1479. CASE WHEN HasExperience = 0 THEN '工作经历、' ELSE '' END +
  1480. ',请及时完善,以便免费为你推荐职位。'
  1481. UPDATE @p SET Msg = REPLACE(Msg, '、,', ',')
  1482. INSERT INTO SmsMessageLog(SendMan, Mobile, Msg, AddDate, MsgType)
  1483. SELECT 0, Mobile, Msg, GETDATE(), 25 FROM @p
  1484. END
  1485. GO
  1486. /****** Object: StoredProcedure [dbo].[procPaMainByUserNameLowerSelect] Script Date: 2018/12/13 19:11:31 ******/
  1487. SET ANSI_NULLS ON
  1488. GO
  1489. SET QUOTED_IDENTIFIER ON
  1490. GO
  1491. --#####################################################
  1492. --创建时间:2014.11.10
  1493. --创建人:NICK
  1494. --说明:根据
  1495. --#####################################################
  1496. CREATE PROCEDURE [dbo].[procPaMainByUserNameLowerSelect]
  1497. (
  1498. @UserName VARCHAR(50)
  1499. )
  1500. AS
  1501. BEGIN
  1502. SELECT TOP 1 DcSubSiteID
  1503. FROM pamain WHERE UserNameLower = @UserName
  1504. union
  1505. SELECT TOP 1 DcSubSiteID
  1506. FROM PaMain WITH(INDEX(IX_paMain_Mobile))
  1507. WHERE Mobile = @UserName
  1508. AND MobileVerifyDate IS NOT NULL
  1509. END
  1510. GO
  1511. /****** Object: StoredProcedure [dbo].[procPaMainRegisterIpByProvinceIDSelect] Script Date: 2018/12/13 19:11:31 ******/
  1512. SET ANSI_NULLS ON
  1513. GO
  1514. SET QUOTED_IDENTIFIER ON
  1515. GO
  1516. --#####################################################
  1517. --创建时间:2014.11.11
  1518. --创建人:John
  1519. --说明:根据身份获取个人用户注册IP
  1520. --#####################################################
  1521. CREATE PROCEDURE [dbo].[procPaMainRegisterIpByProvinceIDSelect]
  1522. (
  1523. @dcProvinceID TINYINT
  1524. )
  1525. AS
  1526. BEGIN
  1527. SELECT TOP 1 RegisterIp FROM (SELECT TOP 100 RegisterIp FROM paMain WHERE dcProvinceID = @dcProvinceID) t ORDER BY NEWID()
  1528. END
  1529. GO
  1530. /****** Object: StoredProcedure [dbo].[ProcPaOnlineStatusUpdate] Script Date: 2018/12/13 19:11:31 ******/
  1531. SET ANSI_NULLS ON
  1532. GO
  1533. SET QUOTED_IDENTIFIER ON
  1534. GO
  1535. CREATE PROCEDURE [dbo].[ProcPaOnlineStatusUpdate]
  1536. (
  1537. @paMainIDs VARCHAR(MAX)
  1538. )
  1539. AS
  1540. BEGIN
  1541. return
  1542. SELECT a ID INTO #t FROM dbo.fnSplit(@paMainIDs,',')
  1543. UPDATE PaOnline SET IsOnline=1, RefreshDate=GETDATE() WHERE paMainID IN (SELECT Id FROM #t)
  1544. INSERT paOnline(paMainId, IsOnline, RefreshDate)
  1545. SELECT Id, 1, GETDATE() FROM #t WHERE ID NOT IN(SELECT paMainId FROM paOnline)
  1546. UPDATE PaOnline SET IsOnline=0 WHERE paMainID NOT IN (SELECT Id FROM #t)
  1547. END
  1548. GO
  1549. /****** Object: StoredProcedure [dbo].[procPaPageViewLogSelect] Script Date: 2018/12/13 19:11:31 ******/
  1550. SET ANSI_NULLS ON
  1551. GO
  1552. SET QUOTED_IDENTIFIER ON
  1553. GO
  1554. CREATE PROCEDURE [dbo].[procPaPageViewLogSelect]
  1555. (
  1556. @PaMainID INT
  1557. )
  1558. AS
  1559. SET NOCOUNT ON
  1560. INSERT INTO a1 SELECT @paMainId, GETDATE()
  1561. BEGIN
  1562. DECLARE @InterviewCnt INT,@IntentionCnt INT,@ViewLogCnt INT
  1563. IF NOT EXISTS(SELECT 'x' FROM paPageViewLog WITH(NOLOCK) WHERE paMainId = @PaMainID)
  1564. BEGIN
  1565. INSERT INTO paPageViewLog(paMainId) VALUES(@PaMainID)
  1566. END
  1567. SELECT @InterviewCnt = COUNT(1)
  1568. FROM exInterview WITH(NOLOCK)
  1569. WHERE AddDate > (
  1570. SELECT TOP 1 ISNULL(InterviewDate,(
  1571. SELECT LastLoginDate FROM PaMain WITH(NOLOCK) WHERE ID = @PaMainID
  1572. ))
  1573. FROM paPageViewLog WITH(NOLOCK)
  1574. WHERE paMainId = @PaMainID
  1575. )
  1576. AND cvMainID IN(
  1577. SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @PaMainID
  1578. )
  1579. SELECT @IntentionCnt = COUNT(1)
  1580. FROM caCvIntention WITH(NOLOCK)
  1581. WHERE AddDate > (
  1582. SELECT TOP 1 ISNULL(IntentionDate,(
  1583. SELECT LastLoginDate FROM PaMain WITH(NOLOCK) WHERE ID = @PaMainID
  1584. ))
  1585. FROM paPageViewLog WITH(NOLOCK)
  1586. WHERE paMainId = @PaMainID
  1587. )
  1588. AND cvMainID IN(
  1589. SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @PaMainID
  1590. )
  1591. SELECT @ViewLogCnt = COUNT(1)
  1592. FROM caCvViewLog WITH(NOLOCK)
  1593. WHERE AddDate > (
  1594. SELECT TOP 1 ISNULL(ViewLogDate,(
  1595. SELECT LastLoginDate FROM PaMain WITH(NOLOCK) WHERE ID = @PaMainID
  1596. ))
  1597. FROM paPageViewLog WITH(NOLOCK)
  1598. WHERE paMainId = @PaMainID
  1599. )
  1600. AND cvMainID IN(
  1601. SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainID = @PaMainID
  1602. )
  1603. SELECT @InterviewCnt InterviewCnt,@IntentionCnt IntentionCnt,@ViewLogCnt ViewLogCnt
  1604. END
  1605. GO
  1606. /****** Object: StoredProcedure [dbo].[procPaPageViewLogUpdate] Script Date: 2018/12/13 19:11:31 ******/
  1607. SET ANSI_NULLS ON
  1608. GO
  1609. SET QUOTED_IDENTIFIER ON
  1610. GO
  1611. CREATE PROCEDURE [dbo].[procPaPageViewLogUpdate]
  1612. (
  1613. @PaMainID INT,
  1614. @ViewPageType TINYINT --1面试2应聘 3谁在关注 4关注 5 菜 6 申请的职位 7聊天记录
  1615. )
  1616. AS
  1617. SET NOCOUNT ON
  1618. BEGIN
  1619. IF NOT EXISTS(SELECT 'x' FROM paPageViewLog WITH(NOLOCK) WHERE paMainId = @PaMainID)
  1620. INSERT INTO paPageViewLog(paMainId, addDate, InterviewDate, IntentionDate, ViewLogDate,
  1621. AttentionDate, YourFoodDate, ApplyReplyDate)
  1622. VALUES(@PaMainID, GETDATE() - 10, GETDATE() - 10, GETDATE() - 10, GETDATE() - 10,
  1623. GETDATE() - 10, GETDATE() - 10, GETDATE() - 10)
  1624. IF @ViewPageType = 1
  1625. UPDATE paPageViewLog SET InterviewDate = GETDATE(), InterviewCount=0 WHERE paMainId = @PaMainID
  1626. IF @ViewPageType = 2
  1627. UPDATE paPageViewLog SET IntentionDate = GETDATE(), CpInvitationCount=0 WHERE paMainId = @PaMainID
  1628. IF @ViewPageType = 3
  1629. UPDATE paPageViewLog SET ViewLogDate = GETDATE(), CvViewLogCount=0 WHERE paMainId = @PaMainID
  1630. IF @ViewPageType = 4
  1631. UPDATE paPageViewLog SET AttentionDate = GETDATE(), MyAttentionCount=0 WHERE paMainId = @PaMainID
  1632. IF @ViewPageType = 5
  1633. UPDATE paPageViewLog SET YourFoodDate = GETDATE(), YourFoodCount=0 WHERE paMainId = @PaMainID
  1634. IF @ViewPageType = 6
  1635. UPDATE paPageViewLog SET ApplyReplyDate = GETDATE(), JobAppliedCount=0 WHERE paMainId = @PaMainID
  1636. IF @ViewPageType = 7
  1637. UPDATE paPageViewLog SET ChatCount = 0 WHERE paMainId = @PaMainID
  1638. END
  1639. GO
  1640. /****** Object: StoredProcedure [dbo].[procParefererSelectByAddDate] Script Date: 2018/12/13 19:11:32 ******/
  1641. SET ANSI_NULLS ON
  1642. GO
  1643. SET QUOTED_IDENTIFIER ON
  1644. GO
  1645. --分类统计个人注册来源数量
  1646. --harry
  1647. --2016-8-18
  1648. --2017-2-13 harry 增加省份选择
  1649. CREATE PROCEDURE [dbo].[procParefererSelectByAddDate]
  1650. (
  1651. @begin CHAR(8),
  1652. @end CHAR(8),
  1653. @type INT,
  1654. @provinceid INT
  1655. )
  1656. AS
  1657. SET NOCOUNT ON
  1658. BEGIN
  1659. DECLARE @str CHAR(50)
  1660. IF @provinceid =0
  1661. BEGIN
  1662. SET @str = ' 1=1 AND '
  1663. END
  1664. ELSE
  1665. BEGIN
  1666. SET @str = ' a.dcProvinceID='+CONVERT(char(8),@provinceid) +' AND '
  1667. END
  1668. DECLARE @sql VARCHAR(MAX)
  1669. IF @type=1--日
  1670. BEGIN
  1671. SET @sql='SELECT RegisterFrom,RegisterType,count(*) AS number,CONVERT(varchar(8), b.addDate, 112 ) AS [date]
  1672. FROM maindb..pamain a left join maindb..pareferer b on a.id = b.pamainid
  1673. WHERE '+@str+' CONVERT(varchar(8), b.adddate, 112) >='''+ @begin+''' AND CONVERT(varchar(8), b.adddate, 112)<='''+@end+
  1674. ''' GROUP BY RegisterFrom,RegisterType,CONVERT(varchar(8), b.addDate,112)
  1675. ORDER BY [date],registerfrom,registertype'
  1676. END
  1677. ELSE
  1678. BEGIN--月
  1679. SET @sql='SELECT RegisterFrom,RegisterType,count(*) AS number,CONVERT(varchar(6), b.addDate, 112) AS [date]
  1680. FROM maindb..pamain a left join maindb..pareferer b on a.id = b.pamainid
  1681. WHERE '+@str+' CONVERT(varchar(6), b.adddate, 112)>='''+ LEFT(@begin,6)+''' AND CONVERT(varchar(6), b.adddate, 112)<='''+ LEFT(@end,6)+''' GROUP BY RegisterFrom,RegisterType,CONVERT(varchar(6), b.addDate, 112 )
  1682. ORDER BY [date],registerfrom,registertype'
  1683. END
  1684. EXEC (@sql)
  1685. END
  1686. GO
  1687. /****** Object: StoredProcedure [dbo].[ProcParentRegionJobSalaryByRegionIDSelect] Script Date: 2018/12/13 19:11:32 ******/
  1688. SET ANSI_NULLS ON
  1689. GO
  1690. SET QUOTED_IDENTIFIER ON
  1691. GO
  1692. --#####################################################
  1693. --创建时间:2014.11.3
  1694. --创建人:John
  1695. --说明:根据RegionID,Jobtype 获取其上级地区的平均月薪
  1696. --#####################################################
  1697. CREATE PROCEDURE [dbo].[ProcParentRegionJobSalaryByRegionIDSelect]
  1698. (
  1699. @dcRegionID VARCHAR(4),
  1700. @dcJobTypeID SMALLINT
  1701. )
  1702. AS
  1703. BEGIN
  1704. IF LEN(@dcRegionID) = 4
  1705. BEGIN
  1706. SELECT TOP 10 dcRegionid,AvgSalary
  1707. FROM reportdb..SalaryReportJobtype
  1708. WHERE (dcRegionid = SUBSTRING(@dcRegionID,1,2) OR dcRegionid = 0) AND dcJobTypeID = @dcJobTypeID
  1709. ORDER BY dcRegionid DESC
  1710. END
  1711. ELSE
  1712. BEGIN
  1713. SELECT TOP 10 dcRegionid,AvgSalary
  1714. FROM reportdb..SalaryReportJobtype
  1715. WHERE dcRegionid = 0 AND dcJobTypeID = @dcJobTypeID
  1716. END
  1717. END
  1718. GO
  1719. /****** Object: StoredProcedure [dbo].[ProcParentRegionSalaryByRegionIDSelect] Script Date: 2018/12/13 19:11:32 ******/
  1720. SET ANSI_NULLS ON
  1721. GO
  1722. SET QUOTED_IDENTIFIER ON
  1723. GO
  1724. --#####################################################
  1725. --创建时间:2014.10.31
  1726. --创建人:John
  1727. --说明:根据RegionID 获取其上级地区的平均月薪
  1728. --#####################################################
  1729. CREATE PROCEDURE [dbo].[ProcParentRegionSalaryByRegionIDSelect]
  1730. (
  1731. @dcRegionID VARCHAR(4)
  1732. )
  1733. AS
  1734. BEGIN
  1735. IF LEN(@dcRegionID) = 4
  1736. BEGIN
  1737. SELECT TOP 10 dcRegionid,AvgSalary
  1738. FROM reportdb..SalaryReportRegion
  1739. WHERE (dcRegionid = SUBSTRING(@dcRegionID,1,2) OR dcRegionid = 0) ORDER BY dcRegionid DESC
  1740. END
  1741. ELSE
  1742. BEGIN
  1743. SELECT TOP 10 dcRegionid,AvgSalary FROM reportdb..SalaryReportRegion WHERE dcRegionid = 0
  1744. END
  1745. END
  1746. GO
  1747. /****** Object: StoredProcedure [dbo].[ProcPaSearchKeywordSelect] Script Date: 2018/12/13 19:11:32 ******/
  1748. SET ANSI_NULLS ON
  1749. GO
  1750. SET QUOTED_IDENTIFIER ON
  1751. GO
  1752. CREATE PROCEDURE [dbo].[ProcPaSearchKeywordSelect]
  1753. (
  1754. @ProvinceId INT
  1755. )
  1756. AS
  1757. BEGIN
  1758. SELECT '/s_' + LTRIM(RTRIM(Keyword)) Link FROM paSearchKeyword WHERE HasSubmit = 1 ORDER BY ID
  1759. END
  1760. GO
  1761. /****** Object: StoredProcedure [dbo].[ProcPaSearchKeywordUpdate] Script Date: 2018/12/13 19:11:32 ******/
  1762. SET ANSI_NULLS ON
  1763. GO
  1764. SET QUOTED_IDENTIFIER ON
  1765. GO
  1766. CREATE PROCEDURE [dbo].[ProcPaSearchKeywordUpdate]
  1767. AS
  1768. BEGIN
  1769. DELETE paSearchKeyword WHERE Keyword LIKE '%、%'
  1770. DELETE paSearchKeyword WHERE Keyword LIKE '%。%'
  1771. DELETE paSearchKeyword WHERE Keyword LIKE '%?%'
  1772. DELETE paSearchKeyword WHERE Keyword LIKE '%/%'
  1773. DELETE paSearchKeyword WHERE Keyword LIKE '%─%'
  1774. DELETE paSearchKeyword WHERE LEN(Keyword) = 1
  1775. DELETE paSearchKeyword WHERE LEN(Keyword) > 14
  1776. IF DATEPART(WEEKDAY, GETDATE()) = 1
  1777. BEGIN
  1778. UPDATE paSearchKeyword SET HasSubMit = 9 WHERE HasSubMit = 1
  1779. UPDATE paSearchKeyword SET HasSubMit = 1
  1780. WHERE ID IN(SELECT TOP 3000 ID FROM paSearchKeyword WHERE ISNULL(HasSubmit, 0) = 0 ORDER BY ID)
  1781. END
  1782. END
  1783. GO
  1784. /****** Object: StoredProcedure [dbo].[ProcPaSMSWaitSelect] Script Date: 2018/12/13 19:11:33 ******/
  1785. SET ANSI_NULLS ON
  1786. GO
  1787. SET QUOTED_IDENTIFIER ON
  1788. GO
  1789. -----------------
  1790. --创建日期:2012-4-17
  1791. --创建人:lambo
  1792. --功能说明:个人汇总类短信发送。将marketdb..paSMSWait里的数据转入SmsMessageLog
  1793. -----------------
  1794. CREATE PROCEDURE [dbo].[ProcPaSMSWaitSelect]
  1795. AS
  1796. BEGIN TRY
  1797. RETURN
  1798. --删除今天已经登录过的个人的记录
  1799. If DATEPART(HOUR,GETDATE())*100 + DATEPART(MINUTE,GETDATE()) <= 805
  1800. DELETE FROM marketdb..paSMSWait WHERE paMainID IN(SELECT ID FROM paMain WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 1)
  1801. ELSE
  1802. DELETE FROM marketdb..paSMSWait WHERE paMainID IN(SELECT ID FROM paMain WITH(NOLOCK) WHERE LastLoginDate > DATEADD(MINUTE, -10, GETDATE()))
  1803. SELECT TOP 20 * INTO #T FROM marketdb..paSMSWait WHERE LastLoginTime < DATEPART(HOUR, GETDATE())*100 + DATEPART(MINUTE, GETDATE()) AND Msg>''
  1804. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  1805. SELECT 0, NULL, paMainID, NULL, Mobile, 100+SmsType, 0,Msg FROM #T
  1806. DELETE FROM marketdb..paSMSWait WHERE ID IN (select ID FROM #T)
  1807. END TRY
  1808. BEGIN CATCH
  1809. END CATCH
  1810. GO
  1811. /****** Object: StoredProcedure [dbo].[procPaTagsMainByKeywordSelect] Script Date: 2018/12/13 19:11:33 ******/
  1812. SET ANSI_NULLS ON
  1813. GO
  1814. SET QUOTED_IDENTIFIER ON
  1815. GO
  1816. --根据输入获取关键词
  1817. CREATE PROCEDURE [dbo].[procPaTagsMainByKeywordSelect]
  1818. (
  1819. @Keyword NVARCHAR(10)
  1820. )
  1821. AS
  1822. BEGIN
  1823. SELECT DISTINCT TOP 10 Tag
  1824. FROM PaTagsMain
  1825. WHERE Tag LIKE @Keyword + '%'
  1826. END
  1827. GO
  1828. /****** Object: StoredProcedure [dbo].[procPaTagsMainByTagsInsert] Script Date: 2018/12/13 19:11:33 ******/
  1829. SET ANSI_NULLS ON
  1830. GO
  1831. SET QUOTED_IDENTIFIER ON
  1832. GO
  1833. --计划任务,定期将标签信息汇总插入到汇总表中 Peter 2017-1-19
  1834. CREATE PROCEDURE [dbo].[procPaTagsMainByTagsInsert]
  1835. AS
  1836. BEGIN
  1837. INSERT INTO paTagsMain(Tag,dcJobTypeID,TagType,UseCount)
  1838. SELECT TOP 20 a.Tags,b.dcJobTypeID,2,COUNT(1) Cnt
  1839. FROM cvTags a with(NOLOCK),cvJobType b WITH(NOLOCK)
  1840. WHERE a.cvMainID=b.cvMainID
  1841. GROUP BY a.Tags,b.dcJobTypeID
  1842. HAVING COUNT(1) > 10
  1843. AND NOT EXISTS(SELECT 'x' FROM paTagsMain WITH(NOLOCK) WHERE Tag=a.Tags AND dcJobTypeID = b.dcJobTypeID)
  1844. ORDER BY COUNT(1) DESC
  1845. END
  1846. GO
  1847. /****** Object: StoredProcedure [dbo].[procPaTagsMainByTagsUpdate] Script Date: 2018/12/13 19:11:33 ******/
  1848. SET ANSI_NULLS ON
  1849. GO
  1850. SET QUOTED_IDENTIFIER ON
  1851. GO
  1852. --定期审核判断黑名单 Peter 2017-1-19
  1853. CREATE PROCEDURE [dbo].[procPaTagsMainByTagsUpdate]
  1854. AS
  1855. BEGIN
  1856. --删除黑名单中的词
  1857. DELETE FROM cvTags
  1858. WHERE Tags IN(
  1859. SELECT Tag
  1860. FROM paTagsMain WITH(NOLOCK)
  1861. WHERE TagType = 3
  1862. )
  1863. AND VerifyDate IS NULL
  1864. UPDATE paTagsMain
  1865. SET UseCount = (
  1866. SELECT COUNT(1)
  1867. FROM cvTags a WITH(NOLOCK),cvJobType b WITH(NOLOCK)
  1868. WHERE a.cvMainID=b.cvMainID
  1869. AND a.Tags = paTagsMain.Tag
  1870. AND b.dcJobTypeID = paTagsMain.dcJobTypeID
  1871. )
  1872. WHERE TagType <> 3
  1873. END
  1874. GO
  1875. /****** Object: StoredProcedure [dbo].[procPaTagsMainByVerifyUpdate] Script Date: 2018/12/13 19:11:34 ******/
  1876. SET ANSI_NULLS ON
  1877. GO
  1878. SET QUOTED_IDENTIFIER ON
  1879. GO
  1880. --审核 Peter 2017-1-13
  1881. CREATE PROCEDURE [dbo].[procPaTagsMainByVerifyUpdate]
  1882. (
  1883. @TagsID VARCHAR(1000)
  1884. )
  1885. AS
  1886. BEGIN
  1887. UPDATE cvTags
  1888. SET VerifyDate = GETDATE()
  1889. WHERE Tags IN(
  1890. SELECT b.Tags FROM dbo.fnSplit(@TagsID,',') a
  1891. LEFT JOIN cvTags b ON b.ID = a.a
  1892. )
  1893. AND VerifyDate IS NULL
  1894. END
  1895. GO
  1896. /****** Object: StoredProcedure [dbo].[procPaTagsMainDelete] Script Date: 2018/12/13 19:11:34 ******/
  1897. SET ANSI_NULLS ON
  1898. GO
  1899. SET QUOTED_IDENTIFIER ON
  1900. GO
  1901. --删除关键字 Peter 2017-1-13
  1902. CREATE PROCEDURE [dbo].[procPaTagsMainDelete]
  1903. (
  1904. @TagsID INT
  1905. )
  1906. AS
  1907. BEGIN
  1908. INSERT INTO paTagsMain(Tag,dcJobTypeID,TagType,UseCount)
  1909. SELECT Tags,0,3,0
  1910. FROM cvTags WITH(NOLOCK)
  1911. WHERE id = @TagsID
  1912. DELETE FROM cvTags
  1913. WHERE id = @TagsID
  1914. END
  1915. GO
  1916. /****** Object: StoredProcedure [dbo].[procPersonReportInsert] Script Date: 2018/12/13 19:11:34 ******/
  1917. SET ANSI_NULLS ON
  1918. GO
  1919. SET QUOTED_IDENTIFIER ON
  1920. GO
  1921. -- =============================================
  1922. -- 创建人: Nick
  1923. -- 日期: 2013-11-12
  1924. -- 描述: 生成网站数据统计数据
  1925. -- 修改人: Nick
  1926. -- 日期: 2013-12-6
  1927. -- 描述: 将手机注册加入个人注册量中
  1928. -- =============================================
  1929. CREATE PROCEDURE [dbo].[procPersonReportInsert]
  1930. AS
  1931. BEGIN
  1932. DECLARE @ReportBeginDay VARCHAR(30),@ReportBeginMonth VARCHAR(30),@ReportEndDay VARCHAR(30),
  1933. @ReportEndMonth VARCHAR(30),@ReportDate VARCHAR(8),@ReportDateMonth VARCHAR(8),@Now DATETIME--统计日期
  1934. DECLARE @i INT ,@StrWhere VARCHAR(500), @Sql VARCHAR(1000),@isHaveMonthData int
  1935. --统计日期赋值
  1936. SET @Now = GETDATE()
  1937. --SET @Now = '2013-09-03'
  1938. SET @ReportBeginDay = CONVERT(varchar(40),DATEADD(day,-1,@Now), 23)
  1939. SET @ReportEndDay = CONVERT(varchar(30),@Now, 23)
  1940. SET @ReportBeginMonth = CONVERT(varchar(30),@NOW-1 - DAY(@NOW-1) + 1,23)
  1941. SET @ReportEndMonth = CONVERT(varchar(30),DATEADD(MONTH, 1,@ReportBeginMonth),23)
  1942. SET @ReportDate = CONVERT(varchar(30),DATEADD(day,-1,@Now), 112)
  1943. SET @ReportDateMonth = SUBSTRING(@ReportDate,0,7)
  1944. --删除当天日统计数据
  1945. DELETE FROM PersonReport WHERE ReportDate = @ReportDate
  1946. DECLARE @ProvinceID int ,@tmp int --临时变量,用来保存省份编号
  1947. --判断是否已存在月份数据
  1948. IF EXISTS(SELECT 'x' FROM PersonReport WITH(NOLOCK) WHERE ReportDate = @ReportDateMonth)
  1949. BEGIN
  1950. SET @isHaveMonthData = 1 --已经存
  1951. END
  1952. ELSE
  1953. BEGIN
  1954. SET @isHaveMonthData = 0 --不存在
  1955. END
  1956. --按照省份、状态 插入空数据
  1957. DECLARE Province_curr CURSOR FOR --申明游标
  1958. SELECT ID FROM DcProvince --查询省份编号
  1959. OPEN Province_curr --打开游标
  1960. FETCH NEXT FROM Province_curr into @ProvinceID --开始循环游标变量
  1961. WHILE(@@fetch_status=0)
  1962. BEGIN
  1963. SET @i = 0
  1964. --================类型条件赋值============================================
  1965. WHILE @i<12
  1966. BEGIN
  1967. --插入日报
  1968. INSERT INTO PersonReport (ReportDate,ProvinceID,TypeID)
  1969. VALUES (@ReportDate,@ProvinceID,@i)
  1970. IF(@isHaveMonthData = 0)
  1971. BEGIN
  1972. --插入月报
  1973. INSERT INTO PersonReport (ReportDate,ProvinceID,TypeID)
  1974. VALUES (@ReportDateMonth,@ProvinceID,@i)
  1975. END
  1976. SET @i = @i + 1
  1977. END
  1978. FETCH NEXT FROM Province_curr into @ProvinceID --开始循环游标变量
  1979. END
  1980. CLOSE Province_curr--关闭游标
  1981. DEALLOCATE Province_curr --释放游标
  1982. --================创建临时表============================================
  1983. CREATE TABLE #t1 -- 临时表 #t1 登陆过且未完善的pamainid 日报
  1984. (
  1985. PamainID int,
  1986. ProvinceID int
  1987. )
  1988. CREATE TABLE #t2 -- 临时表 #t2 登陆过且完善的pamainid 日报
  1989. (
  1990. PamainID int ,
  1991. ProvinceID int
  1992. )
  1993. CREATE TABLE #t3 -- 临时表 #t3 登陆过且未完善的pamainid 月报
  1994. (
  1995. PamainID int ,
  1996. ProvinceID int
  1997. )
  1998. CREATE TABLE #t4 -- 临时表 #t4 登陆过且完善的pamainid 月报
  1999. (
  2000. PamainID int ,
  2001. ProvinceID int
  2002. )
  2003. CREATE TABLE #Interview -- 临时表 #Interview 收到面试通知的账号 日报
  2004. (
  2005. PamainID int,
  2006. Adddate DateTime,
  2007. ViewDate DateTime,
  2008. ProvinceID int
  2009. )
  2010. CREATE TABLE #TmpInterview -- 临时表 #TmpInterview
  2011. (
  2012. PamainID int,
  2013. Adddate DateTime,
  2014. ViewDate DateTime,
  2015. ProvinceID int
  2016. )
  2017. CREATE TABLE #Message -- 临时表 #Message 收到留言的账号 日报
  2018. (
  2019. PamainID int,
  2020. ProvinceID int
  2021. )
  2022. CREATE TABLE #Favorate -- 临时表 Favorate 收藏职位的账号 日报
  2023. (
  2024. PamainID int,
  2025. ProvinceID int
  2026. )
  2027. CREATE TABLE #Apply -- 临时表 #Apply 申请职位的账号 日报
  2028. (
  2029. PamainID int,
  2030. ProvinceID int
  2031. )
  2032. CREATE TABLE #Intention -- 临时表 #Intention 收到应聘邀请的账号 日报
  2033. (
  2034. PamainID int,
  2035. ReplyDate DateTime,
  2036. ProvinceID int
  2037. )
  2038. CREATE TABLE #TmpIntention -- 临时表 #TmpIntention
  2039. (
  2040. PamainID int,
  2041. ReplyDate DateTime,
  2042. ProvinceID int
  2043. )
  2044. CREATE TABLE #Refresh -- 临时表 #Refresh 刷新简历的账号 日报
  2045. (
  2046. PamainID int,
  2047. ProvinceID int
  2048. )
  2049. CREATE TABLE #Other -- 临时表 #Other
  2050. (
  2051. PamainID int,
  2052. ProvinceID int
  2053. )
  2054. CREATE TABLE #Rate -- 临时表 #Rate 频次
  2055. (
  2056. ProvinceID int,
  2057. RateTmp int,
  2058. Cnt int
  2059. )
  2060. CREATE TABLE #InterviewMonth -- 临时表 #InterviewMonth 收到面试通知的账号 月报
  2061. (
  2062. PamainID int,
  2063. Adddate DateTime,
  2064. ViewDate DateTime,
  2065. ProvinceID int
  2066. )
  2067. CREATE TABLE #MessageMonth -- 临时表 #MessageMonth 收到留言的账号 月报
  2068. (
  2069. PamainID int,
  2070. ProvinceID int
  2071. )
  2072. CREATE TABLE #FavorateMonth -- 临时表 FavorateMonth 收藏职位的账号 月报
  2073. (
  2074. PamainID int,
  2075. ProvinceID int
  2076. )
  2077. CREATE TABLE #ApplyMonth -- 临时表 #ApplyMonth 申请职位的账号 月报
  2078. (
  2079. PamainID int,
  2080. ProvinceID int
  2081. )
  2082. CREATE TABLE #IntentionMonth -- 临时表 #IntentionMonth 收到应聘邀请的账号 月报
  2083. (
  2084. PamainID int,
  2085. ReplyDate DateTime,
  2086. ProvinceID int
  2087. )
  2088. CREATE TABLE #RefreshMonth -- 临时表 #RefreshMonth 刷新简历的账号 月报
  2089. (
  2090. PamainID int,
  2091. ProvinceID int
  2092. )
  2093. CREATE TABLE #OtherMonth -- 临时表 #OtherMonth
  2094. (
  2095. PamainID int,
  2096. ProvinceID int
  2097. )
  2098. CREATE TABLE #RateMonth -- 临时表 #RateMonth 频次
  2099. (
  2100. ProvinceID int,
  2101. RateTmp int,
  2102. Cnt int
  2103. )
  2104. --将收到面试通知的账号放入临时表 日报
  2105. INSERT INTO #Interview
  2106. SELECT b.PamainID,a.Adddate,a.ViewDate,c.dcProvinceID
  2107. FROM exInterView a,CvMain b,PaMain c
  2108. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2109. AND a.CvMainID = b.ID
  2110. AND b.PamainID = c.ID
  2111. --将发送留言的账号放入临时表 日报
  2112. INSERT INTO #Message
  2113. SELECT b.PamainID,c.dcProvinceID
  2114. FROM exMessagep2c a,CvMain b,PaMain c
  2115. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2116. AND a.CvMainID = b.ID
  2117. AND b.PamainID = c.ID
  2118. --将收藏职位的账号信息放入临时表 日报
  2119. INSERT INTO #Favorate
  2120. SELECT a.PamainID,b.dcProvinceID
  2121. FROM paFavorate a,PaMain b
  2122. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2123. AND a.PamainID = b.ID
  2124. --将申请职位的账号放入临时表 日报
  2125. INSERT INTO #Apply
  2126. SELECT b.PamainID,c.dcProvinceID
  2127. FROM exJobApply a,CvMain b,PaMain c
  2128. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2129. AND a.CvMainID = b.ID
  2130. AND b.PamainID = c.ID
  2131. --将收到应聘邀请的账号放入临时表 日报
  2132. INSERT INTO #Intention
  2133. SELECT b.PamainID,a.ReplyDate,c.dcProvinceID
  2134. FROM caCvIntention a,CvMain b,PaMain c
  2135. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2136. AND a.CvMainID = b.ID
  2137. AND b.PamainID = c.ID
  2138. --将刷新简历的账号放入临时表 日报
  2139. INSERT INTO #Refresh
  2140. SELECT a.PamainID,b.dcProvinceID FROM CvMain a,PaMain b
  2141. WHERE (RefreshDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2142. AND a.PamainID = b.ID
  2143. --将收到面试通知的账号放入临时表 月报
  2144. INSERT INTO #InterviewMonth
  2145. SELECT b.PamainID,a.Adddate,a.ViewDate,c.dcProvinceID
  2146. FROM exInterView a,CvMain b,PaMain c
  2147. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2148. AND a.CvMainID = b.ID
  2149. AND b.PamainID = c.ID
  2150. --将发送留言的账号放入临时表 月报
  2151. INSERT INTO #MessageMonth
  2152. SELECT b.PamainID,c.dcProvinceID
  2153. FROM exMessagep2c a,CvMain b,PaMain c
  2154. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2155. AND a.CvMainID = b.ID
  2156. AND b.PamainID = c.ID
  2157. --将收藏职位的账号信息放入临时表 月报
  2158. INSERT INTO #FavorateMonth
  2159. SELECT a.PamainID,b.dcProvinceID
  2160. FROM paFavorate a,PaMain b
  2161. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2162. AND a.PamainID = b.ID
  2163. --将申请职位的账号放入临时表 月报
  2164. INSERT INTO #ApplyMonth
  2165. SELECT b.PamainID,c.dcProvinceID
  2166. FROM exJobApply a,CvMain b,PaMain c
  2167. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2168. AND a.CvMainID = b.ID
  2169. AND b.PamainID = c.ID
  2170. --将收到应聘邀请的账号放入临时表 月报
  2171. INSERT INTO #IntentionMonth
  2172. SELECT b.PamainID,a.ReplyDate,c.dcProvinceID
  2173. FROM caCvIntention a,CvMain b,PaMain c
  2174. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2175. AND a.CvMainID = b.ID
  2176. AND b.PamainID = c.ID
  2177. --将刷新简历的账号放入临时表 日月报
  2178. INSERT INTO #RefreshMonth
  2179. SELECT a.PamainID,b.dcProvinceID FROM CvMain a,PaMain b
  2180. WHERE (RefreshDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2181. AND a.PamainID = b.ID
  2182. SET @i = 0
  2183. WHILE @i<12
  2184. BEGIN
  2185. IF @i = 1 --邮件推广
  2186. BEGIN
  2187. SET @StrWhere = ' AND (b.RegisterMode = 1 OR b.RegisterMode = 11 OR b.RegisterType = 101 OR b.RegisterType = 102) '
  2188. END
  2189. ELSE IF @i=2 --招聘会推广
  2190. BEGIN
  2191. SET @StrWhere = ' AND (b.RegisterMode = 12 OR b.RegisterType = 151)'
  2192. END
  2193. ELSE IF @i=3 --电话推广
  2194. BEGIN
  2195. SET @StrWhere = ' AND (b.RegisterMode = 13 OR b.RegisterType = 152)'
  2196. END
  2197. ELSE IF @i=4 --短信推广
  2198. BEGIN
  2199. SET @StrWhere = ' AND (b.RegisterMode = 14 OR b.RegisterType = 103 OR b.RegisterType = 104)'
  2200. END
  2201. ELSE IF @i=5 --本人注册
  2202. BEGIN
  2203. SET @StrWhere = ' AND ((b.RegisterMode<>1 AND b.RegisterMode<>11 AND b.RegisterMode<>12 AND b.RegisterMode<>13 AND b.RegisterMode<>14) OR b.RegisterType = 1)'
  2204. END
  2205. ELSE IF @i=6 --公开
  2206. BEGIN
  2207. SET @StrWhere = ' AND IscvHidden <> 1 '
  2208. END
  2209. ELSE IF @i=7 --隐藏
  2210. BEGIN
  2211. SET @StrWhere = ' AND IscvHidden = 1 '
  2212. END
  2213. ELSE IF @i=8 --手机认证
  2214. BEGIN
  2215. SET @StrWhere = ' AND MobileVerifyDate IS NOT NULL '
  2216. END
  2217. ELSE IF @i=9 --邮箱认证
  2218. BEGIN
  2219. SET @StrWhere = ' AND EmailVerifyDate IS NOT NULL '
  2220. END
  2221. ELSE IF @i=10 --未认证
  2222. BEGIN
  2223. SET @StrWhere = ' AND (MobileVerifyDate IS NULL AND EmailVerifyDate IS NULL) '
  2224. END
  2225. ELSE IF @i=11 --竞价推广
  2226. BEGIN
  2227. SET @StrWhere = ' AND b.ID IN (SELECT paMainID FROM UrlAccount) '
  2228. END
  2229. ELSE
  2230. BEGIN --全部
  2231. SET @StrWhere = ''
  2232. END
  2233. --将登陆过且未完善的pamainid放入临时表 #t1 日报
  2234. IF(@i=6 OR @i=7)
  2235. BEGIN
  2236. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2237. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  2238. AND a.PamainID = b.ID
  2239. AND a.PamainID IN(
  2240. SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null
  2241. '+@StrWhere+'
  2242. )'
  2243. INSERT INTO #t1 EXEC(@Sql)
  2244. print (@Sql)
  2245. --将有完善简历的账户删除
  2246. DELETE FROM #t1 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  2247. IF @i=7
  2248. BEGIN
  2249. --将公开的简历删除
  2250. DELETE FROM #t1 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  2251. END
  2252. --将登陆过且完善的pamainid放入临时表 #t2 日报
  2253. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2254. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  2255. AND a.PamainID = b.ID
  2256. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE (CvLevel LIKE ''1111_1%'' or Attachment <>'''') '+@StrWhere+')
  2257. '
  2258. INSERT INTO #t2 EXEC(@Sql)
  2259. IF @i=7
  2260. BEGIN
  2261. --将公开的简历删除
  2262. DELETE FROM #t2 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  2263. END
  2264. --将登陆过且未完善的pamainid放入临时表 #t3 月报
  2265. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2266. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  2267. AND a.PamainID = b.ID
  2268. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null '+@StrWhere+')
  2269. '
  2270. INSERT INTO #t3 EXEC(@Sql)
  2271. --将有完善简历的账户删除
  2272. DELETE FROM #t3 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  2273. IF @i=7
  2274. BEGIN
  2275. --将公开的简历删除
  2276. DELETE FROM #t3 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  2277. END
  2278. --将登陆过且完善的pamainid放入临时表 #t4 月报
  2279. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2280. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  2281. AND a.PamainID = b.ID
  2282. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE (CvLevel LIKE ''1111_1%'' or Attachment <>'''') '+@StrWhere+')
  2283. '
  2284. INSERT INTO #t4 EXEC(@Sql)
  2285. IF @i=7
  2286. BEGIN
  2287. --将公开的简历删除
  2288. DELETE FROM #t4 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  2289. END
  2290. END
  2291. ELSE
  2292. BEGIN
  2293. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2294. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  2295. AND a.PamainID = b.ID
  2296. AND a.PamainID IN(SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null)
  2297. ' + @StrWhere
  2298. INSERT INTO #t1 EXEC(@Sql)
  2299. --将有完善简历的账户删除
  2300. DELETE FROM #t1 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  2301. --将登陆过且完善的pamainid放入临时表 #t2 日报
  2302. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2303. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  2304. AND a.PamainID = b.ID
  2305. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE ''1111_1%'' or Attachment <>'''')
  2306. ' + @StrWhere
  2307. INSERT INTO #t2 EXEC(@Sql)
  2308. --将登陆过且未完善的pamainid放入临时表 #t3 月报
  2309. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2310. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  2311. AND a.PamainID = b.ID
  2312. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null)
  2313. ' + @StrWhere
  2314. INSERT INTO #t3 EXEC(@Sql)
  2315. --将有完善简历的账户删除
  2316. DELETE FROM #t3 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  2317. --将登陆过且完善的pamainid放入临时表 #t4 月报
  2318. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  2319. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  2320. AND a.PamainID = b.ID
  2321. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE ''1111_1%'' or Attachment <>'''')
  2322. ' + @StrWhere
  2323. INSERT INTO #t4 EXEC(@Sql)
  2324. END
  2325. --未完善简历的账号数量 赋值 日报
  2326. UPDATE a SET a.LoginNoPerfectAccount=b.cnt
  2327. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t1 GROUP BY ProvinceID) b
  2328. WHERE a.ProvinceID = b.ProvinceID
  2329. AND TypeID = @i AND ReportDate = @ReportDate
  2330. --未完善账号的登录次数 日报
  2331. UPDATE a SET a.LoginNoPerfectCount=b.cnt
  2332. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t1 GROUP BY ProvinceID) b
  2333. WHERE a.ProvinceID = b.ProvinceID
  2334. AND TypeID = @i AND ReportDate = @ReportDate
  2335. --完善简历的账号数量 赋值 日报
  2336. UPDATE a SET a.LoginPerfectAccount=b.cnt
  2337. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2 GROUP BY ProvinceID) b
  2338. WHERE a.ProvinceID = b.ProvinceID
  2339. AND TypeID = @i AND ReportDate = @ReportDate
  2340. --完善简历的账号登陆次数 赋值 日报
  2341. UPDATE a SET a.LoginPerfectCount=b.cnt
  2342. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t2 GROUP BY ProvinceID) b
  2343. WHERE a.ProvinceID = b.ProvinceID
  2344. AND TypeID = @i AND ReportDate = @ReportDate
  2345. --收到面试通知的账号数量 日报
  2346. UPDATE a SET a.InterviewAccount=b.cnt
  2347. FROM Personreport a ,(
  2348. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Interview
  2349. WHERE PaMainID IN (SELECT PamainID FROM #t2)
  2350. GROUP BY ProvinceID
  2351. ) b
  2352. WHERE a.ProvinceID = b.ProvinceID
  2353. AND TypeID = @i AND ReportDate = @ReportDate
  2354. --收到面试通知的条数 日报
  2355. UPDATE a SET a.InterviewCount=b.cnt
  2356. FROM Personreport a ,(
  2357. SELECT COUNT(*) cnt,ProvinceID FROM #Interview
  2358. WHERE PaMainID in(SELECT PamainID FROM #t2)
  2359. GROUP BY ProvinceID
  2360. ) b
  2361. WHERE a.ProvinceID = b.ProvinceID
  2362. AND a.TypeID = @i AND a.ReportDate = @ReportDate
  2363. --收到面试通知且已查看账号数量 日报
  2364. UPDATE a SET a.InterviewViewAccount=b.cnt
  2365. FROM Personreport a ,(
  2366. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Interview
  2367. WHERE (ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2368. AND PaMainID IN(SELECT PamainID FROM #t2)
  2369. GROUP BY ProvinceID
  2370. ) b
  2371. WHERE a.ProvinceID = b.ProvinceID
  2372. AND TypeID = @i AND ReportDate = @ReportDate
  2373. --得到未查看的账号信息
  2374. INSERT INTO #TmpInterview SELECT * FROM #Interview
  2375. DELETE FROM #TmpInterview WHERE PaMainID IN (Select PaMainID FROM #Interview WHERE ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  2376. --收到面试通知且未查看账号数量 日报
  2377. UPDATE a SET a.InterviewNoViewAccount = b.cnt
  2378. FROM Personreport a ,(
  2379. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpInterview
  2380. WHERE (ViewDate IS NULL )
  2381. AND PaMainID IN(SELECT PamainID FROM #t2)
  2382. GROUP BY ProvinceID
  2383. ) b
  2384. WHERE a.ProvinceID = b.ProvinceID
  2385. AND TypeID = @i AND ReportDate = @ReportDate
  2386. --收到面试通知且已查看的条数 日报
  2387. UPDATE a SET a.InterviewViewCount=b.cnt
  2388. FROM Personreport a ,(
  2389. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Interview
  2390. WHERE (ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2391. AND PaMainID IN(SELECT PamainID FROM #t2)
  2392. GROUP BY ProvinceID
  2393. ) b
  2394. WHERE a.ProvinceID = b.ProvinceID
  2395. AND TypeID = @i AND ReportDate = @ReportDate
  2396. --收到面试通知且未查看的条数 日报
  2397. UPDATE a SET a.InterviewNoViewCount=b.cnt
  2398. FROM Personreport a ,(
  2399. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Interview
  2400. WHERE (ViewDate IS NULL )
  2401. AND PaMainID IN(SELECT PamainID FROM #t2)
  2402. GROUP BY ProvinceID
  2403. ) b
  2404. WHERE a.ProvinceID = b.ProvinceID
  2405. AND TypeID = @i AND ReportDate = @ReportDate
  2406. --留言的账号数量 日报
  2407. UPDATE a SET a.MessageAccount=b.cnt
  2408. FROM Personreport a ,(
  2409. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2
  2410. WHERE PaMainID IN ( SELECT PamainID FROM #Message )
  2411. GROUP BY ProvinceID
  2412. ) b
  2413. WHERE a.ProvinceID = b.ProvinceID
  2414. AND TypeID = @i AND ReportDate = @ReportDate
  2415. --留言的条数 日报
  2416. UPDATE a SET a.MessageCount=b.cnt
  2417. FROM Personreport a ,(
  2418. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Message
  2419. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2420. GROUP BY ProvinceID
  2421. ) b
  2422. WHERE a.ProvinceID = b.ProvinceID
  2423. AND TypeID = @i AND ReportDate = @ReportDate
  2424. --收藏职位的账号数量 日报
  2425. UPDATE a SET a.FavoriteAccount=b.cnt
  2426. FROM Personreport a ,(
  2427. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2
  2428. WHERE PaMainID IN ( SELECT PamainID FROM #Favorate )
  2429. GROUP BY ProvinceID
  2430. ) b
  2431. WHERE a.ProvinceID = b.ProvinceID
  2432. AND TypeID = @i AND ReportDate = @ReportDate
  2433. --收藏职位的条数 日报
  2434. UPDATE a SET a.FavoriteCount=b.cnt
  2435. FROM Personreport a ,(
  2436. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Favorate
  2437. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2438. GROUP BY ProvinceID
  2439. ) b
  2440. WHERE a.ProvinceID = b.ProvinceID
  2441. AND TypeID = @i AND ReportDate = @ReportDate
  2442. --申请职位的账号数量 日报
  2443. UPDATE a SET a.ApplyAccount=b.cnt
  2444. FROM Personreport a ,(
  2445. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Apply
  2446. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2447. GROUP BY ProvinceID
  2448. )b
  2449. WHERE a.ProvinceID = b.ProvinceID
  2450. AND TypeID = @i AND ReportDate = @ReportDate
  2451. --申请职位的条数 日报
  2452. UPDATE a SET a.ApplyCount=b.cnt
  2453. FROM Personreport a ,(
  2454. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Apply
  2455. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2456. GROUP BY ProvinceID
  2457. ) b
  2458. WHERE a.ProvinceID = b.ProvinceID
  2459. AND TypeID = @i AND ReportDate = @ReportDate
  2460. --收到应聘邀请的账号数量 日报
  2461. UPDATE a SET a.IntentionAccount=b.cnt
  2462. FROM Personreport a ,(
  2463. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Intention
  2464. WHERE PaMainID IN (SELECT PamainID FROM #t2)
  2465. GROUP BY ProvinceID
  2466. ) b
  2467. WHERE a.ProvinceID = b.ProvinceID
  2468. AND TypeID = @i AND ReportDate = @ReportDate
  2469. --收到应聘邀请的条数 日报
  2470. UPDATE a SET a.IntentionCount=b.cnt
  2471. FROM Personreport a ,(
  2472. SELECT COUNT(*) cnt,ProvinceID FROM #Intention
  2473. WHERE PaMainID in(SELECT PamainID FROM #t2)
  2474. GROUP BY ProvinceID
  2475. ) b
  2476. WHERE a.ProvinceID = b.ProvinceID
  2477. AND a.TypeID = @i AND a.ReportDate = @ReportDate
  2478. --收到应聘邀请且已查看账号数量 日报
  2479. UPDATE a SET a.IntentionViewAccount=b.cnt
  2480. FROM Personreport a ,(
  2481. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Intention
  2482. WHERE (ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2483. AND PaMainID IN(SELECT PamainID FROM #t2)
  2484. GROUP BY ProvinceID
  2485. ) b
  2486. WHERE a.ProvinceID = b.ProvinceID
  2487. AND TypeID = @i AND ReportDate = @ReportDate
  2488. --得到未查看的账号信息
  2489. INSERT INTO #TmpIntention SELECT * FROM #Intention
  2490. DELETE FROM #TmpIntention WHERE PaMainID IN (Select PaMainID FROM #Intention WHERE ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  2491. --收到应聘邀请且未查看账号数量 日报
  2492. UPDATE a SET a.IntentionNoViewAccount = b.cnt
  2493. FROM Personreport a ,(
  2494. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpIntention
  2495. WHERE (ReplyDate IS NULL )
  2496. AND PaMainID IN(SELECT PamainID FROM #t2)
  2497. GROUP BY ProvinceID
  2498. ) b
  2499. WHERE a.ProvinceID = b.ProvinceID
  2500. AND TypeID = @i AND ReportDate = @ReportDate
  2501. --收到应聘邀请且已查看的条数 日报
  2502. UPDATE a SET a.IntentionViewCount=b.cnt
  2503. FROM Personreport a ,(
  2504. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Intention
  2505. WHERE (ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  2506. AND PaMainID IN(SELECT PamainID FROM #t2)
  2507. GROUP BY ProvinceID
  2508. ) b
  2509. WHERE a.ProvinceID = b.ProvinceID
  2510. AND TypeID = @i AND ReportDate = @ReportDate
  2511. --收到应聘邀请且未查看的条数 日报
  2512. UPDATE a SET a.IntentionNoViewCount=b.cnt
  2513. FROM Personreport a ,(
  2514. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Intention
  2515. WHERE (ReplyDate IS NULL )
  2516. AND PaMainID IN(SELECT PamainID FROM #t2)
  2517. GROUP BY ProvinceID
  2518. ) b
  2519. WHERE a.ProvinceID = b.ProvinceID
  2520. AND TypeID = @i AND ReportDate = @ReportDate
  2521. --刷新简历的账号数量 @RefreshAccount 日报
  2522. UPDATE a SET a.RefreshAccount=b.cnt
  2523. FROM Personreport a ,(
  2524. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Refresh
  2525. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2526. GROUP BY ProvinceID
  2527. ) b
  2528. WHERE a.ProvinceID = b.ProvinceID
  2529. AND TypeID = @i AND ReportDate = @ReportDate
  2530. --刷新简历的次数 日报
  2531. UPDATE a SET a.RefreshCount=b.cnt
  2532. FROM Personreport a ,(
  2533. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Refresh
  2534. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  2535. GROUP BY ProvinceID
  2536. ) b
  2537. WHERE a.ProvinceID = b.ProvinceID
  2538. AND TypeID = @i AND ReportDate = @ReportDate
  2539. --临时表赋值
  2540. INSERT INTO #Other SELECT * FROM #t2
  2541. DELETE FROM #Other
  2542. WHERE PaMainID IN ( SELECT PamainID FROM #Interview)
  2543. OR PaMainID IN ( SELECT PamainID FROM #Message)
  2544. OR PaMainID IN ( SELECT PamainID FROM #Favorate)
  2545. OR PaMainID IN ( SELECT PamainID FROM #Apply)
  2546. OR PaMainID IN ( SELECT PamainID FROM #Intention)
  2547. OR PaMainID IN ( SELECT PamainID FROM #Refresh )
  2548. --其他账号数量、登录次数 日报
  2549. UPDATE a SET OtherLoginAccount = b.cnt
  2550. FROM Personreport a ,(
  2551. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Other
  2552. GROUP BY ProvinceID
  2553. ) b
  2554. WHERE a.ProvinceID = b.ProvinceID
  2555. AND TypeID = @i AND ReportDate = @ReportDate
  2556. UPDATE a SET OtherLoginCount = b.cnt
  2557. FROM Personreport a ,(
  2558. SELECT COUNT(1) cnt,ProvinceID FROM #Other
  2559. GROUP BY ProvinceID
  2560. ) b
  2561. WHERE a.ProvinceID = b.ProvinceID
  2562. AND TypeID = @i AND ReportDate = @ReportDate
  2563. --频次 日报 begin-------------------------------
  2564. INSERT INTO #Rate
  2565. SELECT ProvinceID, Rate, Count(1) Cnt FROM (
  2566. SELECT PamainID, ProvinceID, COUNT(1) Rate
  2567. FROM #t2
  2568. GROUP BY PamainID, ProvinceID
  2569. ) a
  2570. GROUP BY ProvinceId, Rate
  2571. UPDATE a SET Rate1 = b.cnt
  2572. FROM Personreport a ,#Rate b
  2573. WHERE a.ProvinceID = b.ProvinceID
  2574. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=1
  2575. UPDATE a SET Rate2 = b.cnt
  2576. FROM Personreport a ,#Rate b
  2577. WHERE a.ProvinceID = b.ProvinceID
  2578. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=2
  2579. UPDATE a SET Rate3 = b.cnt
  2580. FROM Personreport a ,#Rate b
  2581. WHERE a.ProvinceID = b.ProvinceID
  2582. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=3
  2583. UPDATE a SET Rate4 = b.cnt
  2584. FROM Personreport a ,#Rate b
  2585. WHERE a.ProvinceID = b.ProvinceID
  2586. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=4
  2587. UPDATE a SET Rate5 = b.cnt
  2588. FROM Personreport a ,#Rate b
  2589. WHERE a.ProvinceID = b.ProvinceID
  2590. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=5
  2591. UPDATE a SET Rate6 = b.cnt
  2592. FROM Personreport a ,#Rate b
  2593. WHERE a.ProvinceID = b.ProvinceID
  2594. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=6
  2595. UPDATE a SET Rate7 = b.cnt
  2596. FROM Personreport a ,#Rate b
  2597. WHERE a.ProvinceID = b.ProvinceID
  2598. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=7
  2599. UPDATE a SET Rate8 = b.cnt
  2600. FROM Personreport a ,#Rate b
  2601. WHERE a.ProvinceID = b.ProvinceID
  2602. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=8
  2603. UPDATE a SET Rate9 = b.cnt
  2604. FROM Personreport a ,#Rate b
  2605. WHERE a.ProvinceID = b.ProvinceID
  2606. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp BETWEEN 9 AND 14
  2607. UPDATE a SET Rate15 = b.cnt
  2608. FROM Personreport a ,#Rate b
  2609. WHERE a.ProvinceID = b.ProvinceID
  2610. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp BETWEEN 15 AND 25
  2611. UPDATE a SET Rate15 = b.cnt
  2612. FROM Personreport a ,#Rate b
  2613. WHERE a.ProvinceID = b.ProvinceID
  2614. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp>25
  2615. --频次 日报 end-------------------------------
  2616. --未完善简历的账号数量 赋值 月报
  2617. UPDATE a SET a.LoginNoPerfectAccount=b.cnt
  2618. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t3 GROUP BY ProvinceID) b
  2619. WHERE a.ProvinceID = b.ProvinceID
  2620. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2621. --未完善账号的登录次数 月报
  2622. UPDATE a SET a.LoginNoPerfectCount=b.cnt
  2623. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t3 GROUP BY ProvinceID) b
  2624. WHERE a.ProvinceID = b.ProvinceID
  2625. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2626. --完善简历的账号数量 赋值 月报
  2627. UPDATE a SET a.LoginPerfectAccount=b.cnt
  2628. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4 GROUP BY ProvinceID) b
  2629. WHERE a.ProvinceID = b.ProvinceID
  2630. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2631. --完善简历的账号登陆次数 赋值 月报
  2632. UPDATE a SET a.LoginPerfectCount=b.cnt
  2633. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t4 GROUP BY ProvinceID) b
  2634. WHERE a.ProvinceID = b.ProvinceID
  2635. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2636. --收到面试通知的账号数量 月报
  2637. UPDATE a SET a.InterviewAccount=b.cnt
  2638. FROM Personreport a ,(
  2639. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #InterviewMonth
  2640. WHERE PaMainID IN (SELECT PamainID FROM #t4)
  2641. GROUP BY ProvinceID
  2642. ) b
  2643. WHERE a.ProvinceID = b.ProvinceID
  2644. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2645. --收到面试通知的条数 月报
  2646. UPDATE a SET a.InterviewCount=b.cnt
  2647. FROM Personreport a ,(
  2648. SELECT COUNT(*) cnt,ProvinceID FROM #InterviewMonth
  2649. WHERE PaMainID in(SELECT PamainID FROM #t4)
  2650. GROUP BY ProvinceID
  2651. ) b
  2652. WHERE a.ProvinceID = b.ProvinceID
  2653. AND a.TypeID = @i AND a.ReportDate = @ReportDateMonth
  2654. --收到面试通知且已查看账号数量 月报
  2655. UPDATE a SET a.InterviewViewAccount=b.cnt
  2656. FROM Personreport a ,(
  2657. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #InterviewMonth
  2658. WHERE (ViewDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2659. AND PaMainID IN(SELECT PamainID FROM #t4)
  2660. GROUP BY ProvinceID
  2661. ) b
  2662. WHERE a.ProvinceID = b.ProvinceID
  2663. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2664. --清空临时表 #TmpInterview
  2665. TRUNCATE TABLE #TmpInterview
  2666. --得到未查看的账号信息
  2667. INSERT INTO #TmpInterview SELECT * FROM #InterviewMonth
  2668. DELETE FROM #TmpInterview WHERE PaMainID IN (Select PaMainID FROM #InterviewMonth WHERE ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  2669. --收到面试通知且未查看账号数量 月报
  2670. UPDATE a SET a.InterviewNoViewAccount = b.cnt
  2671. FROM Personreport a ,(
  2672. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpInterview
  2673. WHERE (ViewDate IS NULL )
  2674. AND PaMainID IN(SELECT PamainID FROM #t4)
  2675. GROUP BY ProvinceID
  2676. ) b
  2677. WHERE a.ProvinceID = b.ProvinceID
  2678. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2679. --收到面试通知且已查看的条数 月报
  2680. UPDATE a SET a.InterviewViewCount=b.cnt
  2681. FROM Personreport a ,(
  2682. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #InterviewMonth
  2683. WHERE (ViewDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2684. AND PaMainID IN(SELECT PamainID FROM #t4)
  2685. GROUP BY ProvinceID
  2686. ) b
  2687. WHERE a.ProvinceID = b.ProvinceID
  2688. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2689. --收到面试通知且未查看的条数 月报
  2690. UPDATE a SET a.InterviewNoViewCount=b.cnt
  2691. FROM Personreport a ,(
  2692. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #InterviewMonth
  2693. WHERE (ViewDate IS NULL )
  2694. AND PaMainID IN(SELECT PamainID FROM #t4)
  2695. GROUP BY ProvinceID
  2696. ) b
  2697. WHERE a.ProvinceID = b.ProvinceID
  2698. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2699. --留言的账号数量 月报
  2700. UPDATE a SET a.MessageAccount=b.cnt
  2701. FROM Personreport a ,(
  2702. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4
  2703. WHERE PaMainID IN ( SELECT PamainID FROM #MessageMonth )
  2704. GROUP BY ProvinceID
  2705. ) b
  2706. WHERE a.ProvinceID = b.ProvinceID
  2707. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2708. --留言的条数 月报
  2709. UPDATE a SET a.MessageCount=b.cnt
  2710. FROM Personreport a ,(
  2711. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #MessageMonth
  2712. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  2713. GROUP BY ProvinceID
  2714. ) b
  2715. WHERE a.ProvinceID = b.ProvinceID
  2716. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2717. --收藏职位的账号数量 月报
  2718. UPDATE a SET a.FavoriteAccount=b.cnt
  2719. FROM Personreport a ,(
  2720. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4
  2721. WHERE PaMainID IN ( SELECT PamainID FROM #FavorateMonth )
  2722. GROUP BY ProvinceID
  2723. ) b
  2724. WHERE a.ProvinceID = b.ProvinceID
  2725. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2726. --收藏职位的条数 月报
  2727. UPDATE a SET a.FavoriteCount=b.cnt
  2728. FROM Personreport a ,(
  2729. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #FavorateMonth
  2730. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  2731. GROUP BY ProvinceID
  2732. ) b
  2733. WHERE a.ProvinceID = b.ProvinceID
  2734. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2735. --申请职位的账号数量 月报
  2736. UPDATE a SET a.ApplyAccount=b.cnt
  2737. FROM Personreport a ,(
  2738. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #ApplyMonth
  2739. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  2740. GROUP BY ProvinceID
  2741. )b
  2742. WHERE a.ProvinceID = b.ProvinceID
  2743. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2744. --申请职位的条数 月报
  2745. UPDATE a SET a.ApplyCount=b.cnt
  2746. FROM Personreport a ,(
  2747. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #ApplyMonth
  2748. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  2749. GROUP BY ProvinceID
  2750. ) b
  2751. WHERE a.ProvinceID = b.ProvinceID
  2752. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2753. --收到应聘邀请的账号数量 月报
  2754. UPDATE a SET a.IntentionAccount=b.cnt
  2755. FROM Personreport a ,(
  2756. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #IntentionMonth
  2757. WHERE PaMainID IN (SELECT PamainID FROM #t4)
  2758. GROUP BY ProvinceID
  2759. ) b
  2760. WHERE a.ProvinceID = b.ProvinceID
  2761. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2762. --收到应聘邀请的条数 月报
  2763. UPDATE a SET a.IntentionCount=b.cnt
  2764. FROM Personreport a ,(
  2765. SELECT COUNT(*) cnt,ProvinceID FROM #IntentionMonth
  2766. WHERE PaMainID in(SELECT PamainID FROM #t4)
  2767. GROUP BY ProvinceID
  2768. ) b
  2769. WHERE a.ProvinceID = b.ProvinceID
  2770. AND a.TypeID = @i AND a.ReportDate = @ReportDateMonth
  2771. --收到应聘邀请且已查看账号数量 月报
  2772. UPDATE a SET a.IntentionViewAccount=b.cnt
  2773. FROM Personreport a ,(
  2774. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #IntentionMonth
  2775. WHERE (ReplyDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  2776. AND PaMainID IN(SELECT PamainID FROM #t4)
  2777. GROUP BY ProvinceID
  2778. ) b
  2779. WHERE a.ProvinceID = b.ProvinceID
  2780. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2781. --清空临时表 #TmpIntention
  2782. TRUNCATE TABLE #TmpIntention
  2783. --得到未查看的账号信息
  2784. INSERT INTO #TmpIntention SELECT * FROM #IntentionMonth
  2785. DELETE FROM #TmpIntention WHERE PaMainID IN (Select PaMainID FROM #IntentionMonth WHERE ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  2786. --收到应聘邀请且未查看账号数量 月报
  2787. UPDATE a SET a.IntentionNoViewAccount = b.cnt
  2788. FROM Personreport a ,(
  2789. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpIntention
  2790. WHERE (ReplyDate IS NULL )
  2791. AND PaMainID IN(SELECT PamainID FROM #t4)
  2792. GROUP BY ProvinceID
  2793. ) b
  2794. WHERE a.ProvinceID = b.ProvinceID
  2795. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2796. --收到应聘邀请且已查看的条数 月报
  2797. UPDATE a SET a.IntentionViewCount=b.cnt
  2798. FROM Personreport a ,(
  2799. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #IntentionMonth
  2800. WHERE (ReplyDate BETWEEN @ReportBeginMonth AND @ReportEndMonth)
  2801. AND PaMainID IN(SELECT PamainID FROM #t4)
  2802. GROUP BY ProvinceID
  2803. ) b
  2804. WHERE a.ProvinceID = b.ProvinceID
  2805. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2806. --收到应聘邀请且未查看的条数 月报
  2807. UPDATE a SET a.IntentionNoViewCount=b.cnt
  2808. FROM Personreport a ,(
  2809. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #IntentionMonth
  2810. WHERE (ReplyDate IS NULL )
  2811. AND PaMainID IN(SELECT PamainID FROM #t4)
  2812. GROUP BY ProvinceID
  2813. ) b
  2814. WHERE a.ProvinceID = b.ProvinceID
  2815. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2816. --刷新简历的账号数量 @RefreshAccount 月报
  2817. UPDATE a SET a.RefreshAccount=b.cnt
  2818. FROM Personreport a ,(
  2819. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #RefreshMonth
  2820. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  2821. GROUP BY ProvinceID
  2822. ) b
  2823. WHERE a.ProvinceID = b.ProvinceID
  2824. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2825. --刷新简历的次数 月报
  2826. UPDATE a SET a.RefreshCount=b.cnt
  2827. FROM Personreport a ,(
  2828. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #RefreshMonth
  2829. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  2830. GROUP BY ProvinceID
  2831. ) b
  2832. WHERE a.ProvinceID = b.ProvinceID
  2833. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2834. --临时表赋值
  2835. INSERT INTO #OtherMonth SELECT * FROM #t4
  2836. DELETE FROM #OtherMonth
  2837. WHERE PaMainID IN ( SELECT PamainID FROM #InterviewMonth)
  2838. OR PaMainID IN ( SELECT PamainID FROM #MessageMonth)
  2839. OR PaMainID IN ( SELECT PamainID FROM #FavorateMonth)
  2840. OR PaMainID IN ( SELECT PamainID FROM #ApplyMonth)
  2841. OR PaMainID IN ( SELECT PamainID FROM #IntentionMonth)
  2842. OR PaMainID IN ( SELECT PamainID FROM #RefreshMonth)
  2843. --其他账号数量、登录次数 月报
  2844. UPDATE a SET OtherLoginAccount = b.cnt
  2845. FROM Personreport a ,(
  2846. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #OtherMonth
  2847. GROUP BY ProvinceID
  2848. ) b
  2849. WHERE a.ProvinceID = b.ProvinceID
  2850. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2851. UPDATE a SET OtherLoginCount = b.cnt
  2852. FROM Personreport a ,(
  2853. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #OtherMonth
  2854. GROUP BY ProvinceID
  2855. ) b
  2856. WHERE a.ProvinceID = b.ProvinceID
  2857. AND TypeID = @i AND ReportDate = @ReportDateMonth
  2858. --频次 月报 begin-------------------------------
  2859. INSERT INTO #RateMonth
  2860. SELECT ProvinceID, Rate, Count(1) Cnt FROM (
  2861. SELECT PamainID, ProvinceID, COUNT(1) Rate
  2862. FROM #t4
  2863. GROUP BY PamainID, ProvinceID
  2864. ) a
  2865. GROUP BY ProvinceId, Rate
  2866. UPDATE a SET Rate1 = b.cnt
  2867. FROM Personreport a ,#RateMonth b
  2868. WHERE a.ProvinceID = b.ProvinceID
  2869. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=1
  2870. UPDATE a SET Rate2 = b.cnt
  2871. FROM Personreport a ,#RateMonth b
  2872. WHERE a.ProvinceID = b.ProvinceID
  2873. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=2
  2874. UPDATE a SET Rate3 = b.cnt
  2875. FROM Personreport a ,#RateMonth b
  2876. WHERE a.ProvinceID = b.ProvinceID
  2877. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=3
  2878. UPDATE a SET Rate4 = b.cnt
  2879. FROM Personreport a ,#RateMonth b
  2880. WHERE a.ProvinceID = b.ProvinceID
  2881. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=4
  2882. UPDATE a SET Rate5 = b.cnt
  2883. FROM Personreport a ,#RateMonth b
  2884. WHERE a.ProvinceID = b.ProvinceID
  2885. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=5
  2886. UPDATE a SET Rate6 = b.cnt
  2887. FROM Personreport a ,#RateMonth b
  2888. WHERE a.ProvinceID = b.ProvinceID
  2889. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=6
  2890. UPDATE a SET Rate7 = b.cnt
  2891. FROM Personreport a ,#RateMonth b
  2892. WHERE a.ProvinceID = b.ProvinceID
  2893. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=7
  2894. UPDATE a SET Rate8 = b.cnt
  2895. FROM Personreport a ,#RateMonth b
  2896. WHERE a.ProvinceID = b.ProvinceID
  2897. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=8
  2898. UPDATE a SET Rate9 = b.cnt
  2899. FROM Personreport a ,#RateMonth b
  2900. WHERE a.ProvinceID = b.ProvinceID
  2901. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp BETWEEN 9 AND 14
  2902. UPDATE a SET Rate15 = b.cnt
  2903. FROM Personreport a ,#RateMonth b
  2904. WHERE a.ProvinceID = b.ProvinceID
  2905. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp BETWEEN 15 AND 25
  2906. UPDATE a SET Rate15 = b.cnt
  2907. FROM Personreport a ,#RateMonth b
  2908. WHERE a.ProvinceID = b.ProvinceID
  2909. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp >25
  2910. --清空临时表
  2911. TRUNCATE TABLE #T1
  2912. TRUNCATE TABLE #T2
  2913. TRUNCATE TABLE #T3
  2914. TRUNCATE TABLE #T4
  2915. TRUNCATE TABLE #Other
  2916. TRUNCATE TABLE #OtherMonth
  2917. TRUNCATE TABLE #Rate
  2918. TRUNCATE TABLE #RateMonth
  2919. TRUNCATE TABLE #TmpInterview
  2920. TRUNCATE TABLE #TmpIntention
  2921. SET @i = @i + 1
  2922. END
  2923. DROP TABLE #Interview
  2924. DROP TABLE #Message
  2925. DROP TABLE #Favorate
  2926. DROP TABLE #Apply
  2927. DROP TABLE #Intention
  2928. DROP TABLE #Refresh
  2929. DROP TABLE #InterviewMonth
  2930. DROP TABLE #MessageMonth
  2931. DROP TABLE #FavorateMonth
  2932. DROP TABLE #ApplyMonth
  2933. DROP TABLE #IntentionMonth
  2934. DROP TABLE #RefreshMonth
  2935. DROP TABLE #Other
  2936. DROP TABLE #OtherMonth
  2937. DROP TABLE #Rate
  2938. DROP TABLE #RateMonth
  2939. END
  2940. GO
  2941. /****** Object: StoredProcedure [dbo].[procPersonReportInsertTemp1110] Script Date: 2018/12/13 19:11:36 ******/
  2942. SET ANSI_NULLS ON
  2943. GO
  2944. SET QUOTED_IDENTIFIER ON
  2945. GO
  2946. -- =============================================
  2947. -- 创建人: Nick
  2948. -- 日期: 2013-11-12
  2949. -- 描述: 生成网站数据统计数据
  2950. -- =============================================
  2951. CREATE PROCEDURE [dbo].[procPersonReportInsertTemp1110]
  2952. (
  2953. @d int
  2954. )
  2955. AS
  2956. BEGIN
  2957. DECLARE @ReportBeginDay VARCHAR(30),@ReportBeginMonth VARCHAR(30),@ReportEndDay VARCHAR(30),
  2958. @ReportEndMonth VARCHAR(30),@ReportDate VARCHAR(8),@ReportDateMonth VARCHAR(8),@Now DATETIME--统计日期
  2959. DECLARE @i INT ,@StrWhere VARCHAR(500), @Sql VARCHAR(1000),@isHaveMonthData int
  2960. --统计日期赋值
  2961. SET @Now = GETDATE() - @d
  2962. --SET @Now = '2013-09-03'
  2963. SET @ReportBeginDay = CONVERT(varchar(40),DATEADD(day,-1,@Now), 23)
  2964. SET @ReportEndDay = CONVERT(varchar(30),@Now, 23)
  2965. SET @ReportBeginMonth = CONVERT(varchar(30),@NOW-1 - DAY(@NOW-1) + 1,23)
  2966. SET @ReportEndMonth = CONVERT(varchar(30),DATEADD(MONTH, 1,@ReportBeginMonth),23)
  2967. SET @ReportDate = CONVERT(varchar(30),DATEADD(day,-1,@Now), 112)
  2968. SET @ReportDateMonth = SUBSTRING(@ReportDate,0,7)
  2969. --删除当天日统计数据
  2970. DELETE FROM PersonReport WHERE ReportDate = @ReportDate
  2971. DECLARE @ProvinceID int ,@tmp int --临时变量,用来保存省份编号
  2972. --判断是否已存在月份数据
  2973. IF EXISTS(SELECT 'x' FROM PersonReport WITH(NOLOCK) WHERE ReportDate = @ReportDateMonth)
  2974. BEGIN
  2975. SET @isHaveMonthData = 1 --已经存
  2976. END
  2977. ELSE
  2978. BEGIN
  2979. SET @isHaveMonthData = 0 --不存在
  2980. END
  2981. --按照省份、状态 插入空数据
  2982. DECLARE Province_curr CURSOR FOR --申明游标
  2983. SELECT ID FROM DcProvince --查询省份编号
  2984. OPEN Province_curr --打开游标
  2985. FETCH NEXT FROM Province_curr into @ProvinceID --开始循环游标变量
  2986. WHILE(@@fetch_status=0)
  2987. BEGIN
  2988. SET @i = 0
  2989. --================类型条件赋值============================================
  2990. WHILE @i<11
  2991. BEGIN
  2992. --插入日报
  2993. INSERT INTO PersonReport (ReportDate,ProvinceID,TypeID)
  2994. VALUES (@ReportDate,@ProvinceID,@i)
  2995. IF(@isHaveMonthData = 0)
  2996. BEGIN
  2997. --插入月报
  2998. INSERT INTO PersonReport (ReportDate,ProvinceID,TypeID)
  2999. VALUES (@ReportDateMonth,@ProvinceID,@i)
  3000. END
  3001. SET @i = @i + 1
  3002. END
  3003. FETCH NEXT FROM Province_curr into @ProvinceID --开始循环游标变量
  3004. END
  3005. CLOSE Province_curr--关闭游标
  3006. DEALLOCATE Province_curr --释放游标
  3007. --================创建临时表============================================
  3008. CREATE TABLE #t1 -- 临时表 #t1 登陆过且未完善的pamainid 日报
  3009. (
  3010. PamainID int,
  3011. ProvinceID int
  3012. )
  3013. CREATE TABLE #t2 -- 临时表 #t2 登陆过且完善的pamainid 日报
  3014. (
  3015. PamainID int ,
  3016. ProvinceID int
  3017. )
  3018. CREATE TABLE #t3 -- 临时表 #t3 登陆过且未完善的pamainid 月报
  3019. (
  3020. PamainID int ,
  3021. ProvinceID int
  3022. )
  3023. CREATE TABLE #t4 -- 临时表 #t4 登陆过且完善的pamainid 月报
  3024. (
  3025. PamainID int ,
  3026. ProvinceID int
  3027. )
  3028. CREATE TABLE #Interview -- 临时表 #Interview 收到面试通知的账号 日报
  3029. (
  3030. PamainID int,
  3031. Adddate DateTime,
  3032. ViewDate DateTime,
  3033. ProvinceID int
  3034. )
  3035. CREATE TABLE #TmpInterview -- 临时表 #TmpInterview
  3036. (
  3037. PamainID int,
  3038. Adddate DateTime,
  3039. ViewDate DateTime,
  3040. ProvinceID int
  3041. )
  3042. CREATE TABLE #Message -- 临时表 #Message 收到留言的账号 日报
  3043. (
  3044. PamainID int,
  3045. ProvinceID int
  3046. )
  3047. CREATE TABLE #Favorate -- 临时表 Favorate 收藏职位的账号 日报
  3048. (
  3049. PamainID int,
  3050. ProvinceID int
  3051. )
  3052. CREATE TABLE #Apply -- 临时表 #Apply 申请职位的账号 日报
  3053. (
  3054. PamainID int,
  3055. ProvinceID int
  3056. )
  3057. CREATE TABLE #Intention -- 临时表 #Intention 收到应聘邀请的账号 日报
  3058. (
  3059. PamainID int,
  3060. ReplyDate DateTime,
  3061. ProvinceID int
  3062. )
  3063. CREATE TABLE #TmpIntention -- 临时表 #TmpIntention
  3064. (
  3065. PamainID int,
  3066. ReplyDate DateTime,
  3067. ProvinceID int
  3068. )
  3069. CREATE TABLE #Refresh -- 临时表 #Refresh 刷新简历的账号 日报
  3070. (
  3071. PamainID int,
  3072. ProvinceID int
  3073. )
  3074. CREATE TABLE #Other -- 临时表 #Other
  3075. (
  3076. PamainID int,
  3077. ProvinceID int
  3078. )
  3079. CREATE TABLE #Rate -- 临时表 #Rate 频次
  3080. (
  3081. ProvinceID int,
  3082. RateTmp int,
  3083. Cnt int
  3084. )
  3085. CREATE TABLE #InterviewMonth -- 临时表 #InterviewMonth 收到面试通知的账号 月报
  3086. (
  3087. PamainID int,
  3088. Adddate DateTime,
  3089. ViewDate DateTime,
  3090. ProvinceID int
  3091. )
  3092. CREATE TABLE #MessageMonth -- 临时表 #MessageMonth 收到留言的账号 月报
  3093. (
  3094. PamainID int,
  3095. ProvinceID int
  3096. )
  3097. CREATE TABLE #FavorateMonth -- 临时表 FavorateMonth 收藏职位的账号 月报
  3098. (
  3099. PamainID int,
  3100. ProvinceID int
  3101. )
  3102. CREATE TABLE #ApplyMonth -- 临时表 #ApplyMonth 申请职位的账号 月报
  3103. (
  3104. PamainID int,
  3105. ProvinceID int
  3106. )
  3107. CREATE TABLE #IntentionMonth -- 临时表 #IntentionMonth 收到应聘邀请的账号 月报
  3108. (
  3109. PamainID int,
  3110. ReplyDate DateTime,
  3111. ProvinceID int
  3112. )
  3113. CREATE TABLE #RefreshMonth -- 临时表 #RefreshMonth 刷新简历的账号 月报
  3114. (
  3115. PamainID int,
  3116. ProvinceID int
  3117. )
  3118. CREATE TABLE #OtherMonth -- 临时表 #OtherMonth
  3119. (
  3120. PamainID int,
  3121. ProvinceID int
  3122. )
  3123. CREATE TABLE #RateMonth -- 临时表 #RateMonth 频次
  3124. (
  3125. ProvinceID int,
  3126. RateTmp int,
  3127. Cnt int
  3128. )
  3129. --将收到面试通知的账号放入临时表 日报
  3130. INSERT INTO #Interview
  3131. SELECT b.PamainID,a.Adddate,a.ViewDate,c.dcProvinceID
  3132. FROM exInterView a,CvMain b,PaMain c
  3133. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3134. AND a.CvMainID = b.ID
  3135. AND b.PamainID = c.ID
  3136. --将发送留言的账号放入临时表 日报
  3137. INSERT INTO #Message
  3138. SELECT b.PamainID,c.dcProvinceID
  3139. FROM exMessagep2c a,CvMain b,PaMain c
  3140. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3141. AND a.CvMainID = b.ID
  3142. AND b.PamainID = c.ID
  3143. --将收藏职位的账号信息放入临时表 日报
  3144. INSERT INTO #Favorate
  3145. SELECT a.PamainID,b.dcProvinceID
  3146. FROM paFavorate a,PaMain b
  3147. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3148. AND a.PamainID = b.ID
  3149. --将申请职位的账号放入临时表 日报
  3150. INSERT INTO #Apply
  3151. SELECT b.PamainID,c.dcProvinceID
  3152. FROM exJobApply a,CvMain b,PaMain c
  3153. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3154. AND a.CvMainID = b.ID
  3155. AND b.PamainID = c.ID
  3156. --将收到应聘邀请的账号放入临时表 日报
  3157. INSERT INTO #Intention
  3158. SELECT b.PamainID,a.ReplyDate,c.dcProvinceID
  3159. FROM caCvIntention a,CvMain b,PaMain c
  3160. WHERE (a.AddDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3161. AND a.CvMainID = b.ID
  3162. AND b.PamainID = c.ID
  3163. --将刷新简历的账号放入临时表 日报
  3164. INSERT INTO #Refresh
  3165. SELECT a.PamainID,b.dcProvinceID FROM CvMain a,PaMain b
  3166. WHERE (RefreshDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3167. AND a.PamainID = b.ID
  3168. --将收到面试通知的账号放入临时表 月报
  3169. INSERT INTO #InterviewMonth
  3170. SELECT b.PamainID,a.Adddate,a.ViewDate,c.dcProvinceID
  3171. FROM exInterView a,CvMain b,PaMain c
  3172. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3173. AND a.CvMainID = b.ID
  3174. AND b.PamainID = c.ID
  3175. --将发送留言的账号放入临时表 月报
  3176. INSERT INTO #MessageMonth
  3177. SELECT b.PamainID,c.dcProvinceID
  3178. FROM exMessagep2c a,CvMain b,PaMain c
  3179. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3180. AND a.CvMainID = b.ID
  3181. AND b.PamainID = c.ID
  3182. --将收藏职位的账号信息放入临时表 月报
  3183. INSERT INTO #FavorateMonth
  3184. SELECT a.PamainID,b.dcProvinceID
  3185. FROM paFavorate a,PaMain b
  3186. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3187. AND a.PamainID = b.ID
  3188. --将申请职位的账号放入临时表 月报
  3189. INSERT INTO #ApplyMonth
  3190. SELECT b.PamainID,c.dcProvinceID
  3191. FROM exJobApply a,CvMain b,PaMain c
  3192. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3193. AND a.CvMainID = b.ID
  3194. AND b.PamainID = c.ID
  3195. --将收到应聘邀请的账号放入临时表 月报
  3196. INSERT INTO #IntentionMonth
  3197. SELECT b.PamainID,a.ReplyDate,c.dcProvinceID
  3198. FROM caCvIntention a,CvMain b,PaMain c
  3199. WHERE (a.AddDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3200. AND a.CvMainID = b.ID
  3201. AND b.PamainID = c.ID
  3202. --将刷新简历的账号放入临时表 日月报
  3203. INSERT INTO #RefreshMonth
  3204. SELECT a.PamainID,b.dcProvinceID FROM CvMain a,PaMain b
  3205. WHERE (RefreshDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3206. AND a.PamainID = b.ID
  3207. SET @i = 0
  3208. WHILE @i<11
  3209. BEGIN
  3210. IF @i = 1 --邮件推广
  3211. BEGIN
  3212. SET @StrWhere = ' AND (b.RegisterMode = 1 or b.RegisterMode = 11) '
  3213. END
  3214. ELSE IF @i=2 --招聘会推广
  3215. BEGIN
  3216. SET @StrWhere = ' AND b.RegisterMode=12 '
  3217. END
  3218. ELSE IF @i=3 --电话推广
  3219. BEGIN
  3220. SET @StrWhere = ' AND b.RegisterMode=13 '
  3221. END
  3222. ELSE IF @i=4 --短信推广
  3223. BEGIN
  3224. SET @StrWhere = ' AND b.RegisterMode=14 '
  3225. END
  3226. ELSE IF @i=5 --本人注册
  3227. BEGIN
  3228. SET @StrWhere = ' AND b.RegisterMode=0'
  3229. END
  3230. ELSE IF @i=6 --公开
  3231. BEGIN
  3232. SET @StrWhere = ' AND IscvHidden <> 1 '
  3233. END
  3234. ELSE IF @i=7 --隐藏
  3235. BEGIN
  3236. SET @StrWhere = ' AND IscvHidden = 1 '
  3237. END
  3238. ELSE IF @i=8 --手机认证
  3239. BEGIN
  3240. SET @StrWhere = ' AND MobileVerifyDate IS NOT NULL '
  3241. END
  3242. ELSE IF @i=9 --邮箱认证
  3243. BEGIN
  3244. SET @StrWhere = ' AND EmailVerifyDate IS NOT NULL '
  3245. END
  3246. ELSE IF @i=10 --未认证
  3247. BEGIN
  3248. SET @StrWhere = ' AND (MobileVerifyDate IS NULL AND EmailVerifyDate IS NULL) '
  3249. END
  3250. ELSE
  3251. BEGIN --全部
  3252. SET @StrWhere = ''
  3253. END
  3254. --将登陆过且未完善的pamainid放入临时表 #t1 日报
  3255. IF(@i=6 OR @i=7)
  3256. BEGIN
  3257. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3258. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  3259. AND a.PamainID = b.ID
  3260. AND a.PamainID IN(
  3261. SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null
  3262. '+@StrWhere+'
  3263. )'
  3264. INSERT INTO #t1 EXEC(@Sql)
  3265. print (@Sql)
  3266. --将有完善简历的账户删除
  3267. DELETE FROM #t1 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  3268. IF @i=7
  3269. BEGIN
  3270. --将公开的简历删除
  3271. DELETE FROM #t1 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  3272. END
  3273. --将登陆过且完善的pamainid放入临时表 #t2 日报
  3274. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3275. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  3276. AND a.PamainID = b.ID
  3277. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE (CvLevel LIKE ''1111_1%'' or Attachment <>'''') '+@StrWhere+')
  3278. '
  3279. INSERT INTO #t2 EXEC(@Sql)
  3280. IF @i=7
  3281. BEGIN
  3282. --将公开的简历删除
  3283. DELETE FROM #t2 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  3284. END
  3285. --将登陆过且未完善的pamainid放入临时表 #t3 月报
  3286. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3287. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  3288. AND a.PamainID = b.ID
  3289. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null '+@StrWhere+')
  3290. '
  3291. INSERT INTO #t3 EXEC(@Sql)
  3292. --将有完善简历的账户删除
  3293. DELETE FROM #t3 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE '1111_1%' or Attachment <>'')
  3294. IF @i=7
  3295. BEGIN
  3296. --将公开的简历删除
  3297. DELETE FROM #t3 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  3298. END
  3299. --将登陆过且完善的pamainid放入临时表 #t4 月报
  3300. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3301. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  3302. AND a.PamainID = b.ID
  3303. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE (CvLevel LIKE ''1111_1%'' or Attachment <>'''') '+@StrWhere+')
  3304. '
  3305. INSERT INTO #t4 EXEC(@Sql)
  3306. IF @i=7
  3307. BEGIN
  3308. --将公开的简历删除
  3309. DELETE FROM #t4 WHERE PamainID IN (SELECT PamainID FROM CvMain WHERE IscvHidden <> 1)
  3310. END
  3311. END
  3312. ELSE
  3313. BEGIN
  3314. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3315. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  3316. AND a.PamainID = b.ID
  3317. AND a.PamainID IN(SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null)
  3318. ' + @StrWhere
  3319. INSERT INTO #t1 EXEC(@Sql)
  3320. --将登陆过且完善的pamainid放入临时表 #t2 日报
  3321. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3322. WHERE (a.AddDate BETWEEN '''+@ReportBeginDay+''' AND '''+@ReportEndDay+''' )
  3323. AND a.PamainID = b.ID
  3324. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE ''1111_1%'' or Attachment <>'''')
  3325. ' + @StrWhere
  3326. INSERT INTO #t2 EXEC(@Sql)
  3327. --将登陆过且未完善的pamainid放入临时表 #t3 月报
  3328. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3329. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  3330. AND a.PamainID = b.ID
  3331. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel NOT LIKE ''1111_1%'' AND Attachment is null)
  3332. ' + @StrWhere
  3333. INSERT INTO #t3 EXEC(@Sql)
  3334. --将登陆过且完善的pamainid放入临时表 #t4 月报
  3335. SET @Sql = 'SELECT a.PaMainID,b.dcProvinceID ProvinceID FROM PaLoginLog a,PaMain b
  3336. WHERE (a.AddDate BETWEEN '''+@ReportBeginMonth+''' AND '''+@ReportEndMonth+''' )
  3337. AND a.PamainID = b.ID
  3338. AND a.PaMainID IN (SELECT PamainID FROM CvMain WHERE CvLevel LIKE ''1111_1%'' or Attachment <>'''')
  3339. ' + @StrWhere
  3340. INSERT INTO #t4 EXEC(@Sql)
  3341. END
  3342. --未完善简历的账号数量 赋值 日报
  3343. UPDATE a SET a.LoginNoPerfectAccount=b.cnt
  3344. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t1 GROUP BY ProvinceID) b
  3345. WHERE a.ProvinceID = b.ProvinceID
  3346. AND TypeID = @i AND ReportDate = @ReportDate
  3347. --未完善账号的登录次数 日报
  3348. UPDATE a SET a.LoginNoPerfectCount=b.cnt
  3349. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t1 GROUP BY ProvinceID) b
  3350. WHERE a.ProvinceID = b.ProvinceID
  3351. AND TypeID = @i AND ReportDate = @ReportDate
  3352. --完善简历的账号数量 赋值 日报
  3353. UPDATE a SET a.LoginPerfectAccount=b.cnt
  3354. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2 GROUP BY ProvinceID) b
  3355. WHERE a.ProvinceID = b.ProvinceID
  3356. AND TypeID = @i AND ReportDate = @ReportDate
  3357. --完善简历的账号登陆次数 赋值 日报
  3358. UPDATE a SET a.LoginPerfectCount=b.cnt
  3359. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t2 GROUP BY ProvinceID) b
  3360. WHERE a.ProvinceID = b.ProvinceID
  3361. AND TypeID = @i AND ReportDate = @ReportDate
  3362. --收到面试通知的账号数量 日报
  3363. UPDATE a SET a.InterviewAccount=b.cnt
  3364. FROM Personreport a ,(
  3365. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Interview
  3366. WHERE PaMainID IN (SELECT PamainID FROM #t2)
  3367. GROUP BY ProvinceID
  3368. ) b
  3369. WHERE a.ProvinceID = b.ProvinceID
  3370. AND TypeID = @i AND ReportDate = @ReportDate
  3371. --收到面试通知的条数 日报
  3372. UPDATE a SET a.InterviewCount=b.cnt
  3373. FROM Personreport a ,(
  3374. SELECT COUNT(*) cnt,ProvinceID FROM #Interview
  3375. WHERE PaMainID in(SELECT PamainID FROM #t2)
  3376. GROUP BY ProvinceID
  3377. ) b
  3378. WHERE a.ProvinceID = b.ProvinceID
  3379. AND a.TypeID = @i AND a.ReportDate = @ReportDate
  3380. --收到面试通知且已查看账号数量 日报
  3381. UPDATE a SET a.InterviewViewAccount=b.cnt
  3382. FROM Personreport a ,(
  3383. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Interview
  3384. WHERE (ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3385. AND PaMainID IN(SELECT PamainID FROM #t2)
  3386. GROUP BY ProvinceID
  3387. ) b
  3388. WHERE a.ProvinceID = b.ProvinceID
  3389. AND TypeID = @i AND ReportDate = @ReportDate
  3390. --得到未查看的账号信息
  3391. INSERT INTO #TmpInterview SELECT * FROM #Interview
  3392. DELETE FROM #TmpInterview WHERE PaMainID IN (Select PaMainID FROM #Interview WHERE ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  3393. --收到面试通知且未查看账号数量 日报
  3394. UPDATE a SET a.InterviewNoViewAccount = b.cnt
  3395. FROM Personreport a ,(
  3396. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpInterview
  3397. WHERE (ViewDate IS NULL )
  3398. AND PaMainID IN(SELECT PamainID FROM #t2)
  3399. GROUP BY ProvinceID
  3400. ) b
  3401. WHERE a.ProvinceID = b.ProvinceID
  3402. AND TypeID = @i AND ReportDate = @ReportDate
  3403. --收到面试通知且已查看的条数 日报
  3404. UPDATE a SET a.InterviewViewCount=b.cnt
  3405. FROM Personreport a ,(
  3406. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Interview
  3407. WHERE (ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3408. AND PaMainID IN(SELECT PamainID FROM #t2)
  3409. GROUP BY ProvinceID
  3410. ) b
  3411. WHERE a.ProvinceID = b.ProvinceID
  3412. AND TypeID = @i AND ReportDate = @ReportDate
  3413. --收到面试通知且未查看的条数 日报
  3414. UPDATE a SET a.InterviewNoViewCount=b.cnt
  3415. FROM Personreport a ,(
  3416. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Interview
  3417. WHERE (ViewDate IS NULL )
  3418. AND PaMainID IN(SELECT PamainID FROM #t2)
  3419. GROUP BY ProvinceID
  3420. ) b
  3421. WHERE a.ProvinceID = b.ProvinceID
  3422. AND TypeID = @i AND ReportDate = @ReportDate
  3423. --留言的账号数量 日报
  3424. UPDATE a SET a.MessageAccount=b.cnt
  3425. FROM Personreport a ,(
  3426. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2
  3427. WHERE PaMainID IN ( SELECT PamainID FROM #Message )
  3428. GROUP BY ProvinceID
  3429. ) b
  3430. WHERE a.ProvinceID = b.ProvinceID
  3431. AND TypeID = @i AND ReportDate = @ReportDate
  3432. --留言的条数 日报
  3433. UPDATE a SET a.MessageCount=b.cnt
  3434. FROM Personreport a ,(
  3435. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Message
  3436. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3437. GROUP BY ProvinceID
  3438. ) b
  3439. WHERE a.ProvinceID = b.ProvinceID
  3440. AND TypeID = @i AND ReportDate = @ReportDate
  3441. --收藏职位的账号数量 日报
  3442. UPDATE a SET a.FavoriteAccount=b.cnt
  3443. FROM Personreport a ,(
  3444. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t2
  3445. WHERE PaMainID IN ( SELECT PamainID FROM #Favorate )
  3446. GROUP BY ProvinceID
  3447. ) b
  3448. WHERE a.ProvinceID = b.ProvinceID
  3449. AND TypeID = @i AND ReportDate = @ReportDate
  3450. --收藏职位的条数 日报
  3451. UPDATE a SET a.FavoriteCount=b.cnt
  3452. FROM Personreport a ,(
  3453. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Favorate
  3454. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3455. GROUP BY ProvinceID
  3456. ) b
  3457. WHERE a.ProvinceID = b.ProvinceID
  3458. AND TypeID = @i AND ReportDate = @ReportDate
  3459. --申请职位的账号数量 日报
  3460. UPDATE a SET a.ApplyAccount=b.cnt
  3461. FROM Personreport a ,(
  3462. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Apply
  3463. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3464. GROUP BY ProvinceID
  3465. )b
  3466. WHERE a.ProvinceID = b.ProvinceID
  3467. AND TypeID = @i AND ReportDate = @ReportDate
  3468. --申请职位的条数 日报
  3469. UPDATE a SET a.ApplyCount=b.cnt
  3470. FROM Personreport a ,(
  3471. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Apply
  3472. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3473. GROUP BY ProvinceID
  3474. ) b
  3475. WHERE a.ProvinceID = b.ProvinceID
  3476. AND TypeID = @i AND ReportDate = @ReportDate
  3477. --收到应聘邀请的账号数量 日报
  3478. UPDATE a SET a.IntentionAccount=b.cnt
  3479. FROM Personreport a ,(
  3480. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Intention
  3481. WHERE PaMainID IN (SELECT PamainID FROM #t2)
  3482. GROUP BY ProvinceID
  3483. ) b
  3484. WHERE a.ProvinceID = b.ProvinceID
  3485. AND TypeID = @i AND ReportDate = @ReportDate
  3486. --收到应聘邀请的条数 日报
  3487. UPDATE a SET a.IntentionCount=b.cnt
  3488. FROM Personreport a ,(
  3489. SELECT COUNT(*) cnt,ProvinceID FROM #Intention
  3490. WHERE PaMainID in(SELECT PamainID FROM #t2)
  3491. GROUP BY ProvinceID
  3492. ) b
  3493. WHERE a.ProvinceID = b.ProvinceID
  3494. AND a.TypeID = @i AND a.ReportDate = @ReportDate
  3495. --收到应聘邀请且已查看账号数量 日报
  3496. UPDATE a SET a.IntentionViewAccount=b.cnt
  3497. FROM Personreport a ,(
  3498. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Intention
  3499. WHERE (ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3500. AND PaMainID IN(SELECT PamainID FROM #t2)
  3501. GROUP BY ProvinceID
  3502. ) b
  3503. WHERE a.ProvinceID = b.ProvinceID
  3504. AND TypeID = @i AND ReportDate = @ReportDate
  3505. --得到未查看的账号信息
  3506. INSERT INTO #TmpIntention SELECT * FROM #Intention
  3507. DELETE FROM #TmpIntention WHERE PaMainID IN (Select PaMainID FROM #Intention WHERE ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  3508. --收到应聘邀请且未查看账号数量 日报
  3509. UPDATE a SET a.IntentionNoViewAccount = b.cnt
  3510. FROM Personreport a ,(
  3511. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpIntention
  3512. WHERE (ReplyDate IS NULL )
  3513. AND PaMainID IN(SELECT PamainID FROM #t2)
  3514. GROUP BY ProvinceID
  3515. ) b
  3516. WHERE a.ProvinceID = b.ProvinceID
  3517. AND TypeID = @i AND ReportDate = @ReportDate
  3518. --收到应聘邀请且已查看的条数 日报
  3519. UPDATE a SET a.IntentionViewCount=b.cnt
  3520. FROM Personreport a ,(
  3521. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Intention
  3522. WHERE (ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay )
  3523. AND PaMainID IN(SELECT PamainID FROM #t2)
  3524. GROUP BY ProvinceID
  3525. ) b
  3526. WHERE a.ProvinceID = b.ProvinceID
  3527. AND TypeID = @i AND ReportDate = @ReportDate
  3528. --收到应聘邀请且未查看的条数 日报
  3529. UPDATE a SET a.IntentionNoViewCount=b.cnt
  3530. FROM Personreport a ,(
  3531. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Intention
  3532. WHERE (ReplyDate IS NULL )
  3533. AND PaMainID IN(SELECT PamainID FROM #t2)
  3534. GROUP BY ProvinceID
  3535. ) b
  3536. WHERE a.ProvinceID = b.ProvinceID
  3537. AND TypeID = @i AND ReportDate = @ReportDate
  3538. --刷新简历的账号数量 @RefreshAccount 日报
  3539. UPDATE a SET a.RefreshAccount=b.cnt
  3540. FROM Personreport a ,(
  3541. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Refresh
  3542. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3543. GROUP BY ProvinceID
  3544. ) b
  3545. WHERE a.ProvinceID = b.ProvinceID
  3546. AND TypeID = @i AND ReportDate = @ReportDate
  3547. --刷新简历的次数 日报
  3548. UPDATE a SET a.RefreshCount=b.cnt
  3549. FROM Personreport a ,(
  3550. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #Refresh
  3551. WHERE PaMainID IN ( SELECT PamainID FROM #t2 )
  3552. GROUP BY ProvinceID
  3553. ) b
  3554. WHERE a.ProvinceID = b.ProvinceID
  3555. AND TypeID = @i AND ReportDate = @ReportDate
  3556. --临时表赋值
  3557. INSERT INTO #Other SELECT * FROM #t2
  3558. DELETE FROM #Other
  3559. WHERE PaMainID IN ( SELECT PamainID FROM #Interview)
  3560. OR PaMainID IN ( SELECT PamainID FROM #Message)
  3561. OR PaMainID IN ( SELECT PamainID FROM #Favorate)
  3562. OR PaMainID IN ( SELECT PamainID FROM #Apply)
  3563. OR PaMainID IN ( SELECT PamainID FROM #Intention)
  3564. OR PaMainID IN ( SELECT PamainID FROM #Refresh )
  3565. --其他账号数量、登录次数 日报
  3566. UPDATE a SET OtherLoginAccount = b.cnt
  3567. FROM Personreport a ,(
  3568. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #Other
  3569. GROUP BY ProvinceID
  3570. ) b
  3571. WHERE a.ProvinceID = b.ProvinceID
  3572. AND TypeID = @i AND ReportDate = @ReportDate
  3573. UPDATE a SET OtherLoginCount = b.cnt
  3574. FROM Personreport a ,(
  3575. SELECT COUNT(1) cnt,ProvinceID FROM #Other
  3576. GROUP BY ProvinceID
  3577. ) b
  3578. WHERE a.ProvinceID = b.ProvinceID
  3579. AND TypeID = @i AND ReportDate = @ReportDate
  3580. --频次 日报 begin-------------------------------
  3581. INSERT INTO #Rate
  3582. SELECT ProvinceID, Rate, Count(1) Cnt FROM (
  3583. SELECT PamainID, ProvinceID, COUNT(1) Rate
  3584. FROM #t2
  3585. GROUP BY PamainID, ProvinceID
  3586. ) a
  3587. GROUP BY ProvinceId, Rate
  3588. UPDATE a SET Rate1 = b.cnt
  3589. FROM Personreport a ,#Rate b
  3590. WHERE a.ProvinceID = b.ProvinceID
  3591. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=1
  3592. UPDATE a SET Rate2 = b.cnt
  3593. FROM Personreport a ,#Rate b
  3594. WHERE a.ProvinceID = b.ProvinceID
  3595. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=2
  3596. UPDATE a SET Rate3 = b.cnt
  3597. FROM Personreport a ,#Rate b
  3598. WHERE a.ProvinceID = b.ProvinceID
  3599. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=3
  3600. UPDATE a SET Rate4 = b.cnt
  3601. FROM Personreport a ,#Rate b
  3602. WHERE a.ProvinceID = b.ProvinceID
  3603. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=4
  3604. UPDATE a SET Rate5 = b.cnt
  3605. FROM Personreport a ,#Rate b
  3606. WHERE a.ProvinceID = b.ProvinceID
  3607. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=5
  3608. UPDATE a SET Rate6 = b.cnt
  3609. FROM Personreport a ,#Rate b
  3610. WHERE a.ProvinceID = b.ProvinceID
  3611. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=6
  3612. UPDATE a SET Rate7 = b.cnt
  3613. FROM Personreport a ,#Rate b
  3614. WHERE a.ProvinceID = b.ProvinceID
  3615. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=7
  3616. UPDATE a SET Rate8 = b.cnt
  3617. FROM Personreport a ,#Rate b
  3618. WHERE a.ProvinceID = b.ProvinceID
  3619. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp=8
  3620. UPDATE a SET Rate9 = b.cnt
  3621. FROM Personreport a ,#Rate b
  3622. WHERE a.ProvinceID = b.ProvinceID
  3623. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp BETWEEN 9 AND 14
  3624. UPDATE a SET Rate15 = b.cnt
  3625. FROM Personreport a ,#Rate b
  3626. WHERE a.ProvinceID = b.ProvinceID
  3627. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp BETWEEN 15 AND 25
  3628. UPDATE a SET Rate15 = b.cnt
  3629. FROM Personreport a ,#Rate b
  3630. WHERE a.ProvinceID = b.ProvinceID
  3631. AND TypeID = @i AND ReportDate = @ReportDate AND b.RateTmp>25
  3632. --频次 日报 end-------------------------------
  3633. --未完善简历的账号数量 赋值 月报
  3634. UPDATE a SET a.LoginNoPerfectAccount=b.cnt
  3635. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t3 GROUP BY ProvinceID) b
  3636. WHERE a.ProvinceID = b.ProvinceID
  3637. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3638. --未完善账号的登录次数 月报
  3639. UPDATE a SET a.LoginNoPerfectCount=b.cnt
  3640. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t3 GROUP BY ProvinceID) b
  3641. WHERE a.ProvinceID = b.ProvinceID
  3642. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3643. --完善简历的账号数量 赋值 月报
  3644. UPDATE a SET a.LoginPerfectAccount=b.cnt
  3645. FROM Personreport a ,(SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4 GROUP BY ProvinceID) b
  3646. WHERE a.ProvinceID = b.ProvinceID
  3647. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3648. --完善简历的账号登陆次数 赋值 月报
  3649. UPDATE a SET a.LoginPerfectCount=b.cnt
  3650. FROM Personreport a ,(SELECT COUNT(PaMainID) cnt,ProvinceID FROM #t4 GROUP BY ProvinceID) b
  3651. WHERE a.ProvinceID = b.ProvinceID
  3652. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3653. --收到面试通知的账号数量 月报
  3654. UPDATE a SET a.InterviewAccount=b.cnt
  3655. FROM Personreport a ,(
  3656. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #InterviewMonth
  3657. WHERE PaMainID IN (SELECT PamainID FROM #t4)
  3658. GROUP BY ProvinceID
  3659. ) b
  3660. WHERE a.ProvinceID = b.ProvinceID
  3661. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3662. --收到面试通知的条数 月报
  3663. UPDATE a SET a.InterviewCount=b.cnt
  3664. FROM Personreport a ,(
  3665. SELECT COUNT(*) cnt,ProvinceID FROM #InterviewMonth
  3666. WHERE PaMainID in(SELECT PamainID FROM #t4)
  3667. GROUP BY ProvinceID
  3668. ) b
  3669. WHERE a.ProvinceID = b.ProvinceID
  3670. AND a.TypeID = @i AND a.ReportDate = @ReportDateMonth
  3671. --收到面试通知且已查看账号数量 月报
  3672. UPDATE a SET a.InterviewViewAccount=b.cnt
  3673. FROM Personreport a ,(
  3674. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #InterviewMonth
  3675. WHERE (ViewDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3676. AND PaMainID IN(SELECT PamainID FROM #t4)
  3677. GROUP BY ProvinceID
  3678. ) b
  3679. WHERE a.ProvinceID = b.ProvinceID
  3680. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3681. --清空临时表 #TmpInterview
  3682. TRUNCATE TABLE #TmpInterview
  3683. --得到未查看的账号信息
  3684. INSERT INTO #TmpInterview SELECT * FROM #InterviewMonth
  3685. DELETE FROM #TmpInterview WHERE PaMainID IN (Select PaMainID FROM #InterviewMonth WHERE ViewDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  3686. --收到面试通知且未查看账号数量 月报
  3687. UPDATE a SET a.InterviewNoViewAccount = b.cnt
  3688. FROM Personreport a ,(
  3689. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpInterview
  3690. WHERE (ViewDate IS NULL )
  3691. AND PaMainID IN(SELECT PamainID FROM #t4)
  3692. GROUP BY ProvinceID
  3693. ) b
  3694. WHERE a.ProvinceID = b.ProvinceID
  3695. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3696. --收到面试通知且已查看的条数 月报
  3697. UPDATE a SET a.InterviewViewCount=b.cnt
  3698. FROM Personreport a ,(
  3699. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #InterviewMonth
  3700. WHERE (ViewDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3701. AND PaMainID IN(SELECT PamainID FROM #t4)
  3702. GROUP BY ProvinceID
  3703. ) b
  3704. WHERE a.ProvinceID = b.ProvinceID
  3705. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3706. --收到面试通知且未查看的条数 月报
  3707. UPDATE a SET a.InterviewNoViewCount=b.cnt
  3708. FROM Personreport a ,(
  3709. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #InterviewMonth
  3710. WHERE (ViewDate IS NULL )
  3711. AND PaMainID IN(SELECT PamainID FROM #t4)
  3712. GROUP BY ProvinceID
  3713. ) b
  3714. WHERE a.ProvinceID = b.ProvinceID
  3715. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3716. --留言的账号数量 月报
  3717. UPDATE a SET a.MessageAccount=b.cnt
  3718. FROM Personreport a ,(
  3719. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4
  3720. WHERE PaMainID IN ( SELECT PamainID FROM #MessageMonth )
  3721. GROUP BY ProvinceID
  3722. ) b
  3723. WHERE a.ProvinceID = b.ProvinceID
  3724. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3725. --留言的条数 月报
  3726. UPDATE a SET a.MessageCount=b.cnt
  3727. FROM Personreport a ,(
  3728. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #MessageMonth
  3729. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  3730. GROUP BY ProvinceID
  3731. ) b
  3732. WHERE a.ProvinceID = b.ProvinceID
  3733. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3734. --收藏职位的账号数量 月报
  3735. UPDATE a SET a.FavoriteAccount=b.cnt
  3736. FROM Personreport a ,(
  3737. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #t4
  3738. WHERE PaMainID IN ( SELECT PamainID FROM #FavorateMonth )
  3739. GROUP BY ProvinceID
  3740. ) b
  3741. WHERE a.ProvinceID = b.ProvinceID
  3742. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3743. --收藏职位的条数 月报
  3744. UPDATE a SET a.FavoriteCount=b.cnt
  3745. FROM Personreport a ,(
  3746. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #FavorateMonth
  3747. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  3748. GROUP BY ProvinceID
  3749. ) b
  3750. WHERE a.ProvinceID = b.ProvinceID
  3751. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3752. --申请职位的账号数量 月报
  3753. UPDATE a SET a.ApplyAccount=b.cnt
  3754. FROM Personreport a ,(
  3755. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #ApplyMonth
  3756. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  3757. GROUP BY ProvinceID
  3758. )b
  3759. WHERE a.ProvinceID = b.ProvinceID
  3760. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3761. --申请职位的条数 月报
  3762. UPDATE a SET a.ApplyCount=b.cnt
  3763. FROM Personreport a ,(
  3764. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #ApplyMonth
  3765. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  3766. GROUP BY ProvinceID
  3767. ) b
  3768. WHERE a.ProvinceID = b.ProvinceID
  3769. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3770. --收到应聘邀请的账号数量 月报
  3771. UPDATE a SET a.IntentionAccount=b.cnt
  3772. FROM Personreport a ,(
  3773. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #IntentionMonth
  3774. WHERE PaMainID IN (SELECT PamainID FROM #t4)
  3775. GROUP BY ProvinceID
  3776. ) b
  3777. WHERE a.ProvinceID = b.ProvinceID
  3778. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3779. --收到应聘邀请的条数 月报
  3780. UPDATE a SET a.IntentionCount=b.cnt
  3781. FROM Personreport a ,(
  3782. SELECT COUNT(*) cnt,ProvinceID FROM #IntentionMonth
  3783. WHERE PaMainID in(SELECT PamainID FROM #t4)
  3784. GROUP BY ProvinceID
  3785. ) b
  3786. WHERE a.ProvinceID = b.ProvinceID
  3787. AND a.TypeID = @i AND a.ReportDate = @ReportDateMonth
  3788. --收到应聘邀请且已查看账号数量 月报
  3789. UPDATE a SET a.IntentionViewAccount=b.cnt
  3790. FROM Personreport a ,(
  3791. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #IntentionMonth
  3792. WHERE (ReplyDate BETWEEN @ReportBeginMonth AND @ReportEndMonth )
  3793. AND PaMainID IN(SELECT PamainID FROM #t4)
  3794. GROUP BY ProvinceID
  3795. ) b
  3796. WHERE a.ProvinceID = b.ProvinceID
  3797. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3798. --清空临时表 #TmpIntention
  3799. TRUNCATE TABLE #TmpIntention
  3800. --得到未查看的账号信息
  3801. INSERT INTO #TmpIntention SELECT * FROM #IntentionMonth
  3802. DELETE FROM #TmpIntention WHERE PaMainID IN (Select PaMainID FROM #IntentionMonth WHERE ReplyDate BETWEEN @ReportBeginDay AND @ReportEndDay)
  3803. --收到应聘邀请且未查看账号数量 月报
  3804. UPDATE a SET a.IntentionNoViewAccount = b.cnt
  3805. FROM Personreport a ,(
  3806. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #TmpIntention
  3807. WHERE (ReplyDate IS NULL )
  3808. AND PaMainID IN(SELECT PamainID FROM #t4)
  3809. GROUP BY ProvinceID
  3810. ) b
  3811. WHERE a.ProvinceID = b.ProvinceID
  3812. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3813. --收到应聘邀请且已查看的条数 月报
  3814. UPDATE a SET a.IntentionViewCount=b.cnt
  3815. FROM Personreport a ,(
  3816. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #IntentionMonth
  3817. WHERE (ReplyDate BETWEEN @ReportBeginMonth AND @ReportEndMonth)
  3818. AND PaMainID IN(SELECT PamainID FROM #t4)
  3819. GROUP BY ProvinceID
  3820. ) b
  3821. WHERE a.ProvinceID = b.ProvinceID
  3822. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3823. --收到应聘邀请且未查看的条数 月报
  3824. UPDATE a SET a.IntentionNoViewCount=b.cnt
  3825. FROM Personreport a ,(
  3826. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #IntentionMonth
  3827. WHERE (ReplyDate IS NULL )
  3828. AND PaMainID IN(SELECT PamainID FROM #t4)
  3829. GROUP BY ProvinceID
  3830. ) b
  3831. WHERE a.ProvinceID = b.ProvinceID
  3832. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3833. --刷新简历的账号数量 @RefreshAccount 月报
  3834. UPDATE a SET a.RefreshAccount=b.cnt
  3835. FROM Personreport a ,(
  3836. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #RefreshMonth
  3837. WHERE PaMainID IN ( SELECT PamainID FROM #t4 )
  3838. GROUP BY ProvinceID
  3839. ) b
  3840. WHERE a.ProvinceID = b.ProvinceID
  3841. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3842. --刷新简历的次数 月报
  3843. UPDATE a SET a.RefreshCount=b.cnt
  3844. FROM Personreport a ,(
  3845. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #RefreshMonth
  3846. WHERE PaMainID IN ( SELECT PamainID FROM #t4)
  3847. GROUP BY ProvinceID
  3848. ) b
  3849. WHERE a.ProvinceID = b.ProvinceID
  3850. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3851. --临时表赋值
  3852. INSERT INTO #OtherMonth SELECT * FROM #t4
  3853. DELETE FROM #OtherMonth
  3854. WHERE PaMainID IN ( SELECT PamainID FROM #InterviewMonth)
  3855. OR PaMainID IN ( SELECT PamainID FROM #MessageMonth)
  3856. OR PaMainID IN ( SELECT PamainID FROM #FavorateMonth)
  3857. OR PaMainID IN ( SELECT PamainID FROM #ApplyMonth)
  3858. OR PaMainID IN ( SELECT PamainID FROM #IntentionMonth)
  3859. OR PaMainID IN ( SELECT PamainID FROM #RefreshMonth)
  3860. --其他账号数量、登录次数 月报
  3861. UPDATE a SET OtherLoginAccount = b.cnt
  3862. FROM Personreport a ,(
  3863. SELECT COUNT(DISTINCT PaMainID) cnt,ProvinceID FROM #OtherMonth
  3864. GROUP BY ProvinceID
  3865. ) b
  3866. WHERE a.ProvinceID = b.ProvinceID
  3867. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3868. UPDATE a SET OtherLoginCount = b.cnt
  3869. FROM Personreport a ,(
  3870. SELECT COUNT(PaMainID) cnt,ProvinceID FROM #OtherMonth
  3871. GROUP BY ProvinceID
  3872. ) b
  3873. WHERE a.ProvinceID = b.ProvinceID
  3874. AND TypeID = @i AND ReportDate = @ReportDateMonth
  3875. --频次 月报 begin-------------------------------
  3876. INSERT INTO #RateMonth
  3877. SELECT ProvinceID, Rate, Count(1) Cnt FROM (
  3878. SELECT PamainID, ProvinceID, COUNT(1) Rate
  3879. FROM #t4
  3880. GROUP BY PamainID, ProvinceID
  3881. ) a
  3882. GROUP BY ProvinceId, Rate
  3883. UPDATE a SET Rate1 = b.cnt
  3884. FROM Personreport a ,#RateMonth b
  3885. WHERE a.ProvinceID = b.ProvinceID
  3886. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=1
  3887. UPDATE a SET Rate2 = b.cnt
  3888. FROM Personreport a ,#RateMonth b
  3889. WHERE a.ProvinceID = b.ProvinceID
  3890. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=2
  3891. UPDATE a SET Rate3 = b.cnt
  3892. FROM Personreport a ,#RateMonth b
  3893. WHERE a.ProvinceID = b.ProvinceID
  3894. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=3
  3895. UPDATE a SET Rate4 = b.cnt
  3896. FROM Personreport a ,#RateMonth b
  3897. WHERE a.ProvinceID = b.ProvinceID
  3898. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=4
  3899. UPDATE a SET Rate5 = b.cnt
  3900. FROM Personreport a ,#RateMonth b
  3901. WHERE a.ProvinceID = b.ProvinceID
  3902. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=5
  3903. UPDATE a SET Rate6 = b.cnt
  3904. FROM Personreport a ,#RateMonth b
  3905. WHERE a.ProvinceID = b.ProvinceID
  3906. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=6
  3907. UPDATE a SET Rate7 = b.cnt
  3908. FROM Personreport a ,#RateMonth b
  3909. WHERE a.ProvinceID = b.ProvinceID
  3910. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=7
  3911. UPDATE a SET Rate8 = b.cnt
  3912. FROM Personreport a ,#RateMonth b
  3913. WHERE a.ProvinceID = b.ProvinceID
  3914. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp=8
  3915. UPDATE a SET Rate9 = b.cnt
  3916. FROM Personreport a ,#RateMonth b
  3917. WHERE a.ProvinceID = b.ProvinceID
  3918. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp BETWEEN 9 AND 14
  3919. UPDATE a SET Rate15 = b.cnt
  3920. FROM Personreport a ,#RateMonth b
  3921. WHERE a.ProvinceID = b.ProvinceID
  3922. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp BETWEEN 15 AND 25
  3923. UPDATE a SET Rate15 = b.cnt
  3924. FROM Personreport a ,#RateMonth b
  3925. WHERE a.ProvinceID = b.ProvinceID
  3926. AND TypeID = @i AND ReportDate = @ReportDateMonth AND b.RateTmp >25
  3927. --清空临时表
  3928. TRUNCATE TABLE #T1
  3929. TRUNCATE TABLE #T2
  3930. TRUNCATE TABLE #T3
  3931. TRUNCATE TABLE #T4
  3932. TRUNCATE TABLE #Other
  3933. TRUNCATE TABLE #OtherMonth
  3934. TRUNCATE TABLE #Rate
  3935. TRUNCATE TABLE #RateMonth
  3936. TRUNCATE TABLE #TmpInterview
  3937. TRUNCATE TABLE #TmpIntention
  3938. SET @i = @i + 1
  3939. END
  3940. DROP TABLE #Interview
  3941. DROP TABLE #Message
  3942. DROP TABLE #Favorate
  3943. DROP TABLE #Apply
  3944. DROP TABLE #Intention
  3945. DROP TABLE #Refresh
  3946. DROP TABLE #InterviewMonth
  3947. DROP TABLE #MessageMonth
  3948. DROP TABLE #FavorateMonth
  3949. DROP TABLE #ApplyMonth
  3950. DROP TABLE #IntentionMonth
  3951. DROP TABLE #RefreshMonth
  3952. DROP TABLE #Other
  3953. DROP TABLE #OtherMonth
  3954. DROP TABLE #Rate
  3955. DROP TABLE #RateMonth
  3956. END
  3957. GO
  3958. /****** Object: StoredProcedure [dbo].[ProcPracticeJobSelect] Script Date: 2018/12/13 19:11:37 ******/
  3959. SET ANSI_NULLS ON
  3960. GO
  3961. SET QUOTED_IDENTIFIER ON
  3962. GO
  3963. --#####################################################
  3964. --创建时间:2014.10.29
  3965. --创建人:Nick
  3966. --说明:获取最新实习职位
  3967. --#####################################################
  3968. CREATE PROCEDURE [dbo].[ProcPracticeJobSelect]
  3969. (
  3970. @ProvinceID INT
  3971. )
  3972. AS
  3973. BEGIN TRY
  3974. SELECT *
  3975. FROM PracticeJob WITH(NOLOCK)
  3976. WHERE ProvinceId = @ProvinceID
  3977. ORDER BY RowId
  3978. END TRY
  3979. BEGIN CATCH
  3980. RETURN 0
  3981. END CATCH
  3982. GO
  3983. /****** Object: StoredProcedure [dbo].[procPreColdcustomerSelect] Script Date: 2018/12/13 19:11:37 ******/
  3984. SET ANSI_NULLS ON
  3985. GO
  3986. SET QUOTED_IDENTIFIER ON
  3987. GO
  3988. --peter 2018-1-26
  3989. --修改 :Alen 2018-10-23 添加58和齐鲁人才网分配数统计
  3990. --修改:Sunshien 2018-11-16 修改推广人员
  3991. CREATE PROCEDURE [dbo].[procPreColdcustomerSelect]
  3992. (
  3993. @isSpread INT
  3994. )
  3995. AS
  3996. SET NOCOUNT ON
  3997. BEGIN
  3998. CREATE TABLE #t
  3999. (
  4000. Id INT IDENTITY(1, 1),
  4001. sourceType INT,
  4002. Total INT,--总数
  4003. AllocateNumber INT,--已分配数量
  4004. WaitAllocateNumber INT,--待分配数量
  4005. LostNumber INT,--被抢注数量
  4006. TodayTotal INT,--今日采集总数
  4007. TodayAllocateNumber INT --今日已分配数量
  4008. )
  4009. CREATE TABLE #t1
  4010. (
  4011. Id INT IDENTITY(1, 1),
  4012. ManagerUserId INT,
  4013. zhilianNumber INT,
  4014. wyNumber INT,
  4015. dazhongNumber INT,
  4016. ganjiNumber INT,
  4017. xinshijiNumber INT,
  4018. kongziNumber INT,
  4019. yancaiNumber INT,
  4020. qiluNumber INT,
  4021. tongchengNumber INT
  4022. )
  4023. CREATE TABLE #t2
  4024. (
  4025. Id INT IDENTITY(1, 1),
  4026. ManagerUserId INT,
  4027. zhilianNumber INT,
  4028. wyNumber INT,
  4029. dazhongNumber INT,
  4030. ganjiNumber INT,
  4031. xinshijiNumber INT,
  4032. kongziNumber INT,
  4033. yancaiNumber INT,
  4034. qiluNumber INT,
  4035. tongchengNumber INT
  4036. )
  4037. INSERT INTO #t(sourceType,Total,AllocateNumber,WaitAllocateNumber,LostNumber,TodayTotal,TodayAllocateNumber)
  4038. SELECT sourceType,
  4039. SUM(case WHEN [state]!=2 THEN 1 ELSE 0 END),
  4040. SUM(case WHEN [state]=1 THEN 1 ELSE 0 END),
  4041. SUM(case WHEN [state]=0 THEN 1 ELSE 0 END),
  4042. SUM(case WHEN [state]=2 THEN 1 ELSE 0 END),
  4043. SUM(case WHEN (adddate>Convert(dateTime,Convert(char(10),getdate(),120),120) AND [state]!=2) THEN 1 ELSE 0 END),
  4044. SUM(case WHEN (adddate>Convert(dateTime,Convert(char(10),getdate(),120),120) AND [state]=1 )THEN 1 ELSE 0 END)
  4045. FROM preColdCustomer
  4046. WHERE ISNULL(isSpread,0) = @isSpread
  4047. GROUP BY sourceType
  4048. IF @isSpread = 0
  4049. BEGIN
  4050. INSERT INTO #t1(ManagerUserId)
  4051. select id from manageruser where status IN (1,2) AND deptid=42
  4052. END
  4053. ELSE
  4054. BEGIN
  4055. INSERT INTO #t1(ManagerUserId)
  4056. select id from manageruser where status IN (1,2) AND deptid=15 --20181116Sunshien添加status=1
  4057. END
  4058. UPDATE #t1
  4059. SET zhilianNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=1),
  4060. wyNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=2),
  4061. dazhongNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=3),
  4062. ganjiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=4),
  4063. xinshijiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=5),
  4064. kongziNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=6),
  4065. yancaiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=7),
  4066. qiluNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=8),
  4067. tongchengNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t1.ManagerUserid AND sourceType=9)
  4068. IF @isSpread = 0
  4069. BEGIN
  4070. INSERT INTO #t2(ManagerUserId)
  4071. select id from manageruser where status IN (1,2) AND deptid=42
  4072. END
  4073. ELSE
  4074. BEGIN
  4075. INSERT INTO #t2(ManagerUserId)
  4076. select id from manageruser where status IN (1,2) AND deptid=15
  4077. END
  4078. UPDATE #t2
  4079. SET zhilianNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=1 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4080. wyNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=2 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4081. dazhongNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=3 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4082. ganjiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=4 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4083. xinshijiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=5 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4084. kongziNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=6 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120) ,120)),
  4085. yancaiNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=7 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4086. qiluNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=8 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120)),
  4087. tongchengNumber=(SELECT sum(AllocateNumber) FROM ColdCustomerAllocateLog WHERE ManagerUserid=#t2.ManagerUserid AND sourceType=9 AND addDate>Convert(dateTime,Convert(char(10),getdate(),120),120))
  4088. SELECT * FROM #t
  4089. SELECT * FROM #t1
  4090. SELECT * FROM #t2
  4091. END
  4092. SET NOCOUNT OFF
  4093. GO
  4094. /****** Object: StoredProcedure [dbo].[procProvinceSelect] Script Date: 2018/12/13 19:11:38 ******/
  4095. SET ANSI_NULLS ON
  4096. GO
  4097. SET QUOTED_IDENTIFIER ON
  4098. GO
  4099. --#####################################################
  4100. --创建时间:2014.11.03
  4101. --创建人:Nick
  4102. --说明:获取省份信息
  4103. --#####################################################
  4104. CREATE PROCEDURE [dbo].[procProvinceSelect]
  4105. AS
  4106. BEGIN TRY
  4107. Select *, (
  4108. SELECT InternalIp
  4109. FROM dcSubSite WITH(NOLOCK)
  4110. WHERE dcSubSite.ID = dcProvince.ID) InternalIp,
  4111. ( SELECT EmailUser
  4112. FROM dcSubSite WITH(NOLOCK)
  4113. WHERE dcSubSite.ID = dcProvince.ID
  4114. ) EmailUser
  4115. From dcProvince WITH(NOLOCK)
  4116. ORDER BY ID
  4117. END TRY
  4118. BEGIN CATCH
  4119. RETURN 0
  4120. END CATCH
  4121. GO
  4122. /****** Object: StoredProcedure [dbo].[ProcPtGiftLogInsert] Script Date: 2018/12/13 19:11:38 ******/
  4123. SET ANSI_NULLS ON
  4124. GO
  4125. SET QUOTED_IDENTIFIER ON
  4126. GO
  4127. --sean 2014-5-12
  4128. CREATE PROCEDURE [dbo].[ProcPtGiftLogInsert]
  4129. (
  4130. @AppointId INT,
  4131. @Bi INT,
  4132. @Ei INT,
  4133. @Gift VARCHAR(40)
  4134. )
  4135. AS
  4136. BEGIN
  4137. IF EXISTS(SELECT 'x' FROM Marketdb..ptGiftLog WHERE ptWorkAppointId = @AppointId AND LookDate > '2010-1-1')
  4138. RETURN
  4139. DECLARE @I INT
  4140. DECLARE @t AS TABLE(Id INT)
  4141. SELECT @I = @Bi
  4142. WHILE @I <= @Ei
  4143. BEGIN
  4144. INSERT @t SELECT @i
  4145. SET @i = @i + 1
  4146. END
  4147. DELETE Marketdb..ptGiftLog WHERE ptWorkAppointId = @AppointId
  4148. INSERT Marketdb..ptGiftLog SELECT @AppointId, NULL, 0, Id, NULL, NULL, NULL, NULL FROM @t ORDER BY NEWID()
  4149. ------------------------------------
  4150. DECLARE @Sql VARCHAR(MAX), @Gt VARCHAR(10), @GN VARCHAR(10)
  4151. DECLARE @t1 AS TABLE(ID INT IDENTITY(1, 1), OneType VARCHAR(10), HasDone Bit)
  4152. INSERT @t1(OneType, HasDone)
  4153. SELECT a, 0 FROM MainDb.dbo.FnSplit(@Gift, ';')
  4154. WHILE EXISTS(SELECT 'x' FROM @t1 WHERE HasDone = 0)
  4155. BEGIN
  4156. SELECT TOP 1 @I = Id, @Sql = OneType FROM @t1 WHERE HasDone = 0
  4157. SELECT @Gt = LEFT(@Sql, CHARINDEX(',', @Sql) - 1),
  4158. @Gn = RIGHT(@Sql, LEN(@SQL) - CHARINDEX(',', @Sql))
  4159. UPDATE @t1 SET HasDone = 1 WHERE ID = @i
  4160. SET @Sql = 'UPDATE MarketDb..ptGiftLog SET ptGiftTypeId = ' + @Gt + ' WHERE ID IN(SELECT TOP ' + @Gn + ' ID FROM MarketDb..ptGiftLog
  4161. WHERE ptWorkAppointId = ' + LTRIM(STR(@AppointId)) + ' AND ptGiftTypeId = 0 ORDER BY NEWID())'
  4162. --PRINT @SQL
  4163. EXEC(@SQL)
  4164. END
  4165. END
  4166. GO
  4167. /****** Object: StoredProcedure [dbo].[procPtPutInCountUpdate] Script Date: 2018/12/13 19:11:38 ******/
  4168. SET ANSI_NULLS ON
  4169. GO
  4170. SET QUOTED_IDENTIFIER ON
  4171. GO
  4172. CREATE PROCEDURE [dbo].[procPtPutInCountUpdate]
  4173. (
  4174. @ptPutInPlaceID INT,
  4175. @ptWorkAppointID INT,
  4176. @CurrentNumber INT,
  4177. @Type TINYINT
  4178. )
  4179. AS
  4180. BEGIN
  4181. DECLARE @OldNumber INT
  4182. IF @Type = 0
  4183. BEGIN
  4184. SELECT @OldNumber = COUNT(*) FROM marketdb..ptPutIn WHERE ptPutInPlaceID = @ptPutInPlaceID
  4185. DELETE FROM marketdb..ptPutIn WHERE ptPutInPlaceID = @ptPutInPlaceID
  4186. END
  4187. ELSE
  4188. BEGIN
  4189. SELECT @OldNumber = COUNT(*) FROM marketdb..ptPutInCheck WHERE ptPutInPlaceCheckID = @ptPutInPlaceID
  4190. DELETE FROM marketdb..ptPutInCheck WHERE ptPutInPlaceCheckID = @ptPutInPlaceID
  4191. END
  4192. UPDATE marketdb..ptWorkAppoint SET CompleteNumber = ISNULL(CompleteNumber,0) - @OldNumber + @CurrentNumber WHERE ID = @ptWorkAppointID
  4193. UPDATE marketdb..ptWorkAppoint SET DeliverySignDate = GETDATE() WHERE ID = @ptWorkAppointID AND DeliverySignDate IS NULL
  4194. END
  4195. GO
  4196. /****** Object: StoredProcedure [dbo].[procPtPutInPlaceCheckSelect] Script Date: 2018/12/13 19:11:38 ******/
  4197. SET ANSI_NULLS ON
  4198. GO
  4199. SET QUOTED_IDENTIFIER ON
  4200. GO
  4201. CREATE PROCEDURE [dbo].[procPtPutInPlaceCheckSelect]
  4202. (
  4203. @ptWorkAppointID INT,
  4204. @CheckStatus TINYINT,
  4205. @KeyWord NVARCHAR(20),
  4206. @Lng DECIMAL(8,5),
  4207. @Lat DECIMAL(8,5)
  4208. )
  4209. AS
  4210. BEGIN
  4211. DECLARE @SQL VARCHAR(2000)
  4212. SET @SQL = '
  4213. SELECT
  4214. a.ID,
  4215. a.ptPutInPlaceID,
  4216. b.PlaceName,
  4217. b.HouseNumber,
  4218. (SELECT COUNT(*) FROM marketdb..ptPutInCheck WHERE marketdb..ptPutInCheck.ptPutInPlaceCheckID=a.ID) SurvivingNumber,
  4219. b.PutInNumber
  4220. FROM
  4221. marketdb..ptPutInPlaceCheck a,
  4222. marketdb..ptPutInPlace b
  4223. WHERE a.ptPutInPlaceID = b.ID AND a.ptWorkAppointID=' + CONVERT(VARCHAR,@ptWorkAppointID)
  4224. IF @CheckStatus = '1'
  4225. SET @SQL = @SQL + ' AND a.PhotoFile IS NULL'
  4226. IF LEN(@KeyWord) > 0
  4227. SET @SQL = @SQL + ' AND (b.PlaceName LIKE ''%' + @KeyWord + '%'' OR b.HouseNumber LIKE ''%' + @KeyWord + '%'')'
  4228. IF @Lng > 0 AND @Lat > 0
  4229. BEGIN
  4230. DECLARE @Degree AS DECIMAL(8,5),@LBLng AS DECIMAL(8,5),@LBLat AS DECIMAL(8,5),
  4231. @RTLng AS DECIMAL(8,5),@RTLat AS DECIMAL(8,5)
  4232. SET @Degree = 200 / 100000.0;
  4233. SET @LBLng = @Lng - @Degree
  4234. SET @LBLat = @Lat - @Degree
  4235. SET @RTLng = @Lng + @Degree
  4236. SET @RTLat = @Lat + @Degree
  4237. SET @SQL = @SQL + '
  4238. AND b.Lng BETWEEN ' + CONVERT(VARCHAR,@LBLng) + ' AND ' + CONVERT(VARCHAR,@RTLng) + '
  4239. AND b.Lat BETWEEN ' + CONVERT(VARCHAR,@LBLat) + ' AND ' + CONVERT(VARCHAR,@RTLat) + '
  4240. AND (b.Lng-' + CONVERT(VARCHAR,@Lng) + ')*(b.Lng-' + CONVERT(VARCHAR,@Lng) + ')+
  4241. (b.Lat-' + CONVERT(VARCHAR,@Lat) + ')*(b.Lat-' + CONVERT(VARCHAR,@Lat) + ')<' + CONVERT(VARCHAR,@Degree*@Degree)
  4242. END
  4243. --PRINT @SQL
  4244. EXEC(@SQL)
  4245. END
  4246. GO
  4247. /****** Object: StoredProcedure [dbo].[procPtPutInPlaceInsert] Script Date: 2018/12/13 19:11:38 ******/
  4248. SET ANSI_NULLS ON
  4249. GO
  4250. SET QUOTED_IDENTIFIER ON
  4251. GO
  4252. CREATE PROCEDURE [dbo].[procPtPutInPlaceInsert]
  4253. (
  4254. @ptWorkAppointID INT,
  4255. @HouseNumber NVARCHAR(50),
  4256. @PlaceName NVARCHAR(50),
  4257. @Lng DECIMAL(8,5),
  4258. @Lat DECIMAL(8,5),
  4259. @PutInNumber INT
  4260. )
  4261. AS
  4262. BEGIN TRY
  4263. DECLARE @DeliveryQuantity INT, @HasSentNumber INT
  4264. SELECT @DeliveryQuantity = DeliveryQuantity FROM marketdb..ptWorkAppoint WHERE ID = @ptWorkAppointID
  4265. SELECT @HasSentNumber = SUM(PutInNumber) FROM marketdb..ptPutInPlace WHERE ptWorkAppointID = @ptWorkAppointID
  4266. IF @DeliveryQuantity <= @HasSentNumber
  4267. RETURN -1 --未加上此次投放已超标
  4268. IF @DeliveryQuantity < @HasSentNumber + @PutInNumber
  4269. RETURN -2 --加上此次投放超标
  4270. DECLARE @CityName NVARCHAR(20),@dcRegionID VARCHAR(6)
  4271. SET @dcRegionID = ''
  4272. IF CHARINDEX('市',@HouseNumber) > 0
  4273. SET @CityName = SUBSTRING(@HouseNumber,0,CHARINDEX('市',@HouseNumber))
  4274. ELSE IF CHARINDEX('区',@HouseNumber) > 0
  4275. SET @CityName = SUBSTRING(@HouseNumber,0,CHARINDEX('区',@HouseNumber))
  4276. ELSE
  4277. SET @CityName = ''
  4278. IF LEN(@CityName) > 0
  4279. SELECT @dcRegionID = ID FROM dcRegion WHERE FullName LIKE '%' + @CityName + '%' AND LEN(ID) = 4
  4280. INSERT INTO marketdb..ptPutInPlace(dcRegionID, HouseNumber, PlaceName, Lng, Lat, PutInNumber, ptWorkAppointID, CheckStatus) VALUES
  4281. (@dcRegionID, @HouseNumber, @PlaceName, @Lng, @Lat, @PutInNumber, @ptWorkAppointID, 0)
  4282. RETURN @@IDENTITY
  4283. END TRY
  4284. BEGIN CATCH
  4285. RETURN 0
  4286. END CATCH
  4287. GO
  4288. /****** Object: StoredProcedure [dbo].[procPtPutInPlaceUpdate] Script Date: 2018/12/13 19:11:39 ******/
  4289. SET ANSI_NULLS ON
  4290. GO
  4291. SET QUOTED_IDENTIFIER ON
  4292. GO
  4293. CREATE PROCEDURE [dbo].[procPtPutInPlaceUpdate]
  4294. (
  4295. @ID INT,
  4296. @ptWorkAppointID INT,
  4297. @HouseNumber NVARCHAR(50),
  4298. @PlaceName NVARCHAR(50),
  4299. @PutInNumber INT
  4300. )
  4301. AS
  4302. BEGIN TRY
  4303. DECLARE @DeliveryQuantity INT, @HasSentNumber INT
  4304. IF NOT EXISTS(SELECT 'X' FROM marketdb..ptPutInPlace WHERE ID = @ID AND ptWorkAppointID = @ptWorkAppointID)
  4305. RETURN -3 --没有此条记录
  4306. SELECT @DeliveryQuantity = DeliveryQuantity FROM marketdb..ptWorkAppoint WHERE ID = @ptWorkAppointID
  4307. SELECT @HasSentNumber = SUM(PutInNumber) FROM marketdb..ptPutInPlace WHERE ptWorkAppointID = @ptWorkAppointID AND ID <> @ID
  4308. IF @DeliveryQuantity < @HasSentNumber + @PutInNumber
  4309. RETURN -2 --加上此次投放超标
  4310. UPDATE marketdb..ptPutInPlace SET
  4311. HouseNumber = @HouseNumber,
  4312. PlaceName = @PlaceName,
  4313. PutInNumber = @PutInNumber
  4314. WHERE ID = @ID
  4315. RETURN 1
  4316. END TRY
  4317. BEGIN CATCH
  4318. RETURN 0
  4319. END CATCH
  4320. GO
  4321. /****** Object: StoredProcedure [dbo].[ProcPtUserGiftRestSelect] Script Date: 2018/12/13 19:11:39 ******/
  4322. SET ANSI_NULLS ON
  4323. GO
  4324. SET QUOTED_IDENTIFIER ON
  4325. GO
  4326. -- =============================================
  4327. -- Author: 123
  4328. -- Create date: 2014-5-10
  4329. -- Description: 查询兼职剩余礼品概况
  4330. -- =============================================
  4331. CREATE PROCEDURE [dbo].[ProcPtUserGiftRestSelect]
  4332. (
  4333. @ptUserName NVARCHAR(5)
  4334. )
  4335. AS
  4336. BEGIN
  4337. DECLARE @sql VARCHAR(2000)
  4338. SET @sql = 'SELECT a.ptUserID, b.Name'
  4339. SELECT @sql = @sql + ', LTRIM(STR(SUM(CASE ptGiftTypeId WHEN ' + LTRIM(STR(ptGiftTypeId)) +
  4340. ' THEN RemainNumber ELSE 0 END))) + ''('' + LTRIM(STR(SUM(CASE ptGiftTypeId WHEN ' + LTRIM(STR(ptGiftTypeId)) +
  4341. ' THEN RemainNumber ELSE 0 END))) + '')'' AS [' + (SELECT GiftName FROM MarketDb..ptGiftType WHERE Id = ptGiftTypeId) + ']
  4342. '
  4343. FROM (SELECT distinct ptGiftTypeId FROM Marketdb..ptUserGift WHERE RemainNumber > 0) AS a
  4344. SET @sql = @sql + 'FROM Marketdb..ptUserGift a, MarketDb..ptUser b
  4345. WHERE a.ptUserId = b.Id
  4346. AND RemainNumber > 0'
  4347. IF @ptUserName > ''
  4348. BEGIN
  4349. SET @sql = @sql + '
  4350. AND ptUserID IN (SELECT ID FROM MArketDb..ptUser WHERE Name =''' + LTRIM(RTRIM(@ptUserName)) + ''')'
  4351. END
  4352. SET @sql = @sql + '
  4353. GROUP BY a.ptUserID, b.Name'
  4354. EXEC(@sql)
  4355. --PRINT @SQL
  4356. END
  4357. GO
  4358. /****** Object: StoredProcedure [dbo].[procQlrcGovByHomepageSelect] Script Date: 2018/12/13 19:11:40 ******/
  4359. SET ANSI_NULLS ON
  4360. GO
  4361. SET QUOTED_IDENTIFIER ON
  4362. GO
  4363. CREATE PROCEDURE [dbo].[procQlrcGovByHomepageSelect]
  4364. (
  4365. @ProvinceID SMALLINT
  4366. )
  4367. AS
  4368. BEGIN
  4369. --IF @ProvinceID IN(1201, 1207, 1301, 1302, 1401, 2201, 3101, 3301, 3501, 3601, 4001, 4101, 4201, 6101, 6201, 7001, 7002, 7101, 7201, 8001, 8301)
  4370. IF @ProvinceID IN(SELECT ID FROM dcSubSite WHERE IsMainSite = 0)
  4371. SET @ProvinceId = LEFT(@ProvinceId, 2)
  4372. SELECT TOP 1 ImageFile, alt
  4373. FROM fpHomePageImage WITH(NOLOCK)
  4374. WHERE ImageType = 4
  4375. AND dcProvinceID = @ProvinceID
  4376. ORDER BY AddDate DESC
  4377. SELECT TOP 15 id newIds ,PreID id, title, announcedate ,content,type,refreshdate,versionid
  4378. FROM SearchDb..HpQlrcGovDay WITH(NOLOCK)
  4379. WHERE versionid = @ProvinceID
  4380. ORDER BY newIds
  4381. END
  4382. GO
  4383. /****** Object: StoredProcedure [dbo].[procQlrcNews5ByConditionSelect] Script Date: 2018/12/13 19:11:40 ******/
  4384. SET ANSI_NULLS ON
  4385. GO
  4386. SET QUOTED_IDENTIFIER ON
  4387. GO
  4388. --#####################################################
  4389. --创建时间:2014.11.10
  4390. --创建人:Nick
  4391. --说明:根据省份获取政府招考信息
  4392. --#####################################################
  4393. CREATE PROCEDURE [dbo].[procQlrcNews5ByConditionSelect]
  4394. (
  4395. @Condition VARCHAR(MAX)
  4396. )
  4397. AS
  4398. BEGIN
  4399. DECLARE @SQL VARCHAR(MAX)
  4400. SET @SQL = '
  4401. SELECT top 5 ID, Title, RefreshDate, Author
  4402. FROM QlrcNews WITH(NOLOCK) WHERE (
  4403. EXISTS(
  4404. SELECT ''x'' FROM fnSplit(DetailType, '', '') b, dcNewsType c WITH(NOLOCK)
  4405. WHERE b.a=c.ID
  4406. AND c.Category=1
  4407. )
  4408. OR DetailType IS NULL
  4409. )
  4410. AND NewsType = 2
  4411. AND DetailType like ''%, 2, %'' '+@Condition+'
  4412. ORDER BY RefreshDate DESC '
  4413. PRINT (@SQL)
  4414. EXEC (@SQL)
  4415. END
  4416. GO
  4417. /****** Object: StoredProcedure [dbo].[procQlrcNews5ByProvinceIDSelect] Script Date: 2018/12/13 19:11:41 ******/
  4418. SET ANSI_NULLS ON
  4419. GO
  4420. SET QUOTED_IDENTIFIER ON
  4421. GO
  4422. --#####################################################
  4423. --创建时间:2014.11.10
  4424. --创建人:Nick
  4425. --说明:根据省份获取政府招考信息
  4426. --#####################################################
  4427. CREATE PROCEDURE [dbo].[procQlrcNews5ByProvinceIDSelect]
  4428. (
  4429. @ProvinceID INT
  4430. )
  4431. AS
  4432. BEGIN
  4433. IF @ProvinceID = 32
  4434. SELECT top 5 ID, Title, RefreshDate, Author
  4435. FROM QlrcNews WITH(NOLOCK) WHERE (
  4436. EXISTS(
  4437. SELECT 'x' FROM fnSplit(DetailType, ',') b, dcNewsType c WITH(NOLOCK)
  4438. WHERE b.a=c.ID
  4439. AND c.Category=1
  4440. )
  4441. OR DetailType IS NULL
  4442. )
  4443. AND (VersionID=@ProvinceID OR VersionID=0)
  4444. AND NewsType = 2
  4445. AND DetailType like '%,2,%'
  4446. ORDER BY RefreshDate DESC
  4447. ELSE
  4448. SELECT top 5 ID, Title, RefreshDate, Author
  4449. FROM QlrcNews WITH(NOLOCK) WHERE (
  4450. EXISTS(
  4451. SELECT 'x' FROM fnSplit(DetailType, ',') b, dcNewsType c WITH(NOLOCK)
  4452. WHERE b.a=c.ID
  4453. AND c.Category=1
  4454. )
  4455. OR DetailType IS NULL
  4456. )
  4457. AND VersionID = @ProvinceID
  4458. AND NewsType = 2
  4459. AND DetailType like '%,2,%'
  4460. ORDER BY RefreshDate DESC
  4461. END
  4462. GO
  4463. /****** Object: StoredProcedure [dbo].[ProcQlrcNewsBy51RcRebuild] Script Date: 2018/12/13 19:11:41 ******/
  4464. SET ANSI_NULLS ON
  4465. GO
  4466. SET QUOTED_IDENTIFIER ON
  4467. GO
  4468. CREATE PROCEDURE [dbo].[ProcQlrcNewsBy51RcRebuild]
  4469. AS
  4470. BEGIN
  4471. IF NOT EXISTS(SELECT 'x' FROM QlrcNews WITH(NOLOCK) WHERE RefreshDate > DATEADD(MI, -5, GETDATE()))
  4472. RETURN
  4473. DECLARE @q AS TABLE(
  4474. Id int,
  4475. title nvarchar(60),
  4476. announcedate smalldatetime,
  4477. content varchar(max),
  4478. type smallint,
  4479. refreshdate smalldatetime,
  4480. versionid INT
  4481. )
  4482. DECLARE @t AS TABLE(title nvarchar(60), refreshdate smalldatetime)
  4483. INSERT INTO @t(title, refreshdate)
  4484. SELECT DISTINCT TOP 20 title, refreshdate
  4485. FROM QlrcNews WITH(NOLOCK)
  4486. WHERE NewsType = 2
  4487. AND RefreshDate > GETDATE() - 2
  4488. ORDER BY refreshdate DESC
  4489. INSERT INTO @q(Title, Refreshdate)
  4490. SELECT title, Max(RefreshDate) FROM @t GROUP BY Title ORDER BY Max(RefreshDate) DESC
  4491. UPDATE a
  4492. SET ID = (SELECT MAX(ID) FROM QlrcNews WITH(NOLOCK) WHERE QlrcNews.Title = a.Title)
  4493. FROM @q a
  4494. UPDATE a
  4495. SET a.announcedate = b.announcedate,
  4496. a.content = b.Content,
  4497. a.type = b.Type,
  4498. a.versionid = b.versionid
  4499. FROM @q a, QlrcNews b WITH(NOLOCK)
  4500. WHERE a.Id = b.Id
  4501. TRUNCATE TABLE SearchDb..HpQlrcNews51Rc
  4502. INSERT INTO SearchDb..HpQlrcNews51Rc
  4503. SELECT TOP 15 id, title, announcedate ,content,type,refreshdate,versionid
  4504. FROM @q
  4505. ORDER BY refreshdate DESC
  4506. END
  4507. GO
  4508. /****** Object: StoredProcedure [dbo].[procQlrcnewsBy51RCSelect] Script Date: 2018/12/13 19:11:41 ******/
  4509. SET ANSI_NULLS ON
  4510. GO
  4511. SET QUOTED_IDENTIFIER ON
  4512. GO
  4513. --创建人 Lambo
  4514. --20101009
  4515. --用于首页查询固定位置右边的职场新闻
  4516. --2012-10-22 sean remove @provinceid=0 to procQlrcnewsBy51RCSelect
  4517. CREATE PROCEDURE [dbo].[procQlrcnewsBy51RCSelect]
  4518. AS
  4519. BEGIN
  4520. SELECT TOP 0 null ImageFile, null alt
  4521. SELECT * FROM SearchDb..hpQlrcNews51Rc
  4522. END
  4523. GO
  4524. /****** Object: StoredProcedure [dbo].[procQlrcNewsByCountryIDSelect] Script Date: 2018/12/13 19:11:41 ******/
  4525. SET ANSI_NULLS ON
  4526. GO
  4527. SET QUOTED_IDENTIFIER ON
  4528. GO
  4529. --#####################################################
  4530. --创建时间:2014.11.5
  4531. --创建人:NICK
  4532. --说明:查询县级市的新闻,读取省份的新闻,优先县级市
  4533. --#####################################################
  4534. CREATE PROCEDURE [dbo].[procQlrcNewsByCountryIDSelect]
  4535. (
  4536. @CountryID VARCHAR(6)
  4537. )
  4538. AS
  4539. BEGIN
  4540. IF LEN(@CountryID) = 6
  4541. SELECT TOP 400 Id, Title, RefreshDate, Author, Type, Content
  4542. FROM QlrcNews WITH(NOLOCK)
  4543. WHERE VersionId = @CountryID
  4544. AND NewsType = 2
  4545. ORDER BY Id DESC
  4546. ELSE
  4547. SELECT TOP 400 Id, Title, RefreshDate, Author, Type, Content
  4548. FROM QlrcNews WITH(NOLOCK)
  4549. WHERE VersionId LIKE @CountryID + '%'
  4550. AND NewsType = 2
  4551. ORDER BY CASE VersionId WHEN @CountryID THEN 0 ELSE 1 END,
  4552. RefreshDate DESC
  4553. END
  4554. GO
  4555. /****** Object: StoredProcedure [dbo].[procQlrcNewsByDetailTypeSelect] Script Date: 2018/12/13 19:11:41 ******/
  4556. SET ANSI_NULLS ON
  4557. GO
  4558. SET QUOTED_IDENTIFIER ON
  4559. GO
  4560. --#####################################################
  4561. --创建时间:2014.11.10
  4562. --创建人:NICK
  4563. --说明:获取某类N条资讯
  4564. --#####################################################
  4565. CREATE PROCEDURE [dbo].[procQlrcNewsByDetailTypeSelect]
  4566. (
  4567. @newsNumber INT,
  4568. @detailType VARCHAR(10),
  4569. @provinceID VARCHAR(6),
  4570. @NewID INT
  4571. )
  4572. AS
  4573. BEGIN
  4574. DECLARE @SQL VARCHAR(MAX)
  4575. SET @SQL = '
  4576. SELECT TOP '+CONVERT(VARCHAR(10),@newsNumber)+' *
  4577. FROM qlrcNews WITH(NOLOCK)
  4578. WHERE DetailType LIKE ''%,' + @detailType + ',%''
  4579. AND VersionID = '+CONVERT(VARCHAR(10),@provinceID)
  4580. IF @NewID <> 0
  4581. BEGIN
  4582. SET @SQL = @SQL + ' AND id<>' + CONVERT(VARCHAR(10),@NewID)
  4583. END
  4584. SET @SQL = @SQL + ' ORDER BY RefreshDate DESC '
  4585. PRINT (@SQL)
  4586. EXEC (@SQL)
  4587. END
  4588. GO
  4589. /****** Object: StoredProcedure [dbo].[procQlrcnewsByHomepageSelect] Script Date: 2018/12/13 19:11:41 ******/
  4590. SET ANSI_NULLS ON
  4591. GO
  4592. SET QUOTED_IDENTIFIER ON
  4593. GO
  4594. --创建人 Lambo
  4595. --20101009
  4596. --用于首页查询固定位置右边的职场新闻
  4597. --20121022 sean remove @provinceid=0 to [procQlrcnewsBy51rcSelect]
  4598. --20180301 Carl 就业大数据、媒体动态与就业咨询合并
  4599. --20180308 Carl
  4600. --20180524 harry 164jane要求 ql固定显示1篇微职场3篇动态
  4601. CREATE PROCEDURE [dbo].[procQlrcnewsByHomepageSelect]
  4602. (
  4603. @ProvinceID SMALLINT
  4604. )
  4605. AS
  4606. SET NOCOUNT ON
  4607. BEGIN
  4608. DECLARE @t AS TABLE(
  4609. NewIds INT NOT NULL,
  4610. Id INT NOT NULL,
  4611. Title NVARCHAR(60) NOT NULL,
  4612. AnnounceDate SMALLDATETIME NOT NULL,
  4613. [Content] VARCHAR(MAX) NOT NULL,
  4614. Url VARCHAR(2000), --新增的
  4615. [Type] SMALLINT NOT NULL,
  4616. RefreshDate SMALLDATETIME NOT NULL,
  4617. Seq INT IDENTITY(1, 1)
  4618. )
  4619. SELECT TOP 0 '' ImageFile, '' alt
  4620. IF @ProvinceID=32
  4621. BEGIN
  4622. /*INSERT INTO @t
  4623. SELECT *
  4624. FROM (SELECT DISTINCT TOP 14 Id NewIds, PreID Id, Title, Announcedate, [Content], '' Url,[Type], RefreshDate
  4625. FROM SearchDb..HpQlrcNewsDay WITH(NOLOCK)
  4626. WHERE dcSubSiteId = @ProvinceID
  4627. ORDER BY newIds) t1
  4628. UNION
  4629. SELECT *
  4630. FROM (SELECT TOP 1 Id NewIds, Id, Title, Announcedate, [Content], '' Url,3 [Type], Refreshdate
  4631. FROM MainDb..NewsAnalysis WITH(NOLOCK)
  4632. ORDER BY Id DESC) t2
  4633. UNION
  4634. SELECT *
  4635. FROM (SELECT TOP 1 Id NewIds, Id, Title, AddDate AnnounceDate, Brief [Content],Url, 4 [Type], AddDate RefreshDate
  4636. FROM MarketDb..MarketMedia a, MarketDb..MarketProvince b
  4637. WHERE a.ID = b.MarketID
  4638. AND b.Type = 1 AND a.MediaType = 1
  4639. AND (b.ProvinceID = 0 OR b.ProvinceID = @ProvinceID)
  4640. ORDER BY a.Id DESC) t3
  4641. */
  4642. INSERT INTO @t
  4643. SELECT DISTINCT TOP 1 Id NewIds, PreID Id, Title, Announcedate, [Content], '' Url,[Type], RefreshDate
  4644. FROM SearchDb..HpQlrcNewsDay WITH(NOLOCK)
  4645. WHERE dcSubSiteId = @ProvinceID
  4646. ORDER BY newIds
  4647. INSERT INTO @t
  4648. SELECT TOP 3 Id NewIds, Id, Title, Announcedate, [Content], '' Url,3 [Type], Refreshdate
  4649. FROM MainDb..NewsAnalysis WITH(NOLOCK)
  4650. ORDER BY Id DESC
  4651. INSERT INTO @t
  4652. SELECT TOP 1 Id NewIds, Id, Title, AddDate AnnounceDate, Brief [Content],Url, 4 [Type], AddDate RefreshDate
  4653. FROM MarketDb..MarketMedia a, MarketDb..MarketProvince b
  4654. WHERE a.ID = b.MarketID
  4655. AND b.Type = 1 AND a.MediaType = 1
  4656. AND (b.ProvinceID = 0 OR b.ProvinceID = @ProvinceID)
  4657. ORDER BY a.Id DESC
  4658. END
  4659. ELSE
  4660. BEGIN
  4661. INSERT INTO @t
  4662. SELECT DISTINCT TOP 14 Id NewIds, PreID Id, Title, Announcedate, [Content], '' Url,[Type], RefreshDate
  4663. FROM SearchDb..HpQlrcNewsDay WITH(NOLOCK)
  4664. WHERE dcSubSiteId = @ProvinceID
  4665. ORDER BY newIds
  4666. END
  4667. SELECT * FROM @t ORDER BY Announcedate DESC
  4668. END
  4669. SET NOCOUNT OFF
  4670. GO
  4671. /****** Object: StoredProcedure [dbo].[procQlrcNewsByID51rcSelect] Script Date: 2018/12/13 19:11:42 ******/
  4672. SET ANSI_NULLS ON
  4673. GO
  4674. SET QUOTED_IDENTIFIER ON
  4675. GO
  4676. --#####################################################
  4677. --创建时间:2014.11.10
  4678. --创建人:NICK
  4679. --说明:得到网站公告
  4680. --#####################################################
  4681. CREATE PROCEDURE [dbo].[procQlrcNewsByID51rcSelect]
  4682. (
  4683. @ID INT
  4684. )
  4685. AS
  4686. BEGIN
  4687. SELECT title, content, announcedate, author, ViewNumber_All, refreshdate, type
  4688. FROM qlrcnews WITH(NOLOCK)
  4689. WHERE newstype = 1
  4690. AND Id = @ID
  4691. END
  4692. GO
  4693. /****** Object: StoredProcedure [dbo].[procQlrcNewsByIDSelect] Script Date: 2018/12/13 19:11:42 ******/
  4694. SET ANSI_NULLS ON
  4695. GO
  4696. SET QUOTED_IDENTIFIER ON
  4697. GO
  4698. --#####################################################
  4699. --创建时间:2014.11.5
  4700. --创建人:NICK
  4701. --说明:获取一行职场新闻
  4702. --#####################################################
  4703. CREATE PROCEDURE [dbo].[procQlrcNewsByIDSelect]
  4704. (
  4705. @ID INT
  4706. )
  4707. AS
  4708. BEGIN
  4709. SELECT id, Type, Title, newstype, Content, Announcedate, Author, Appendix, AppendixName,DetailType,
  4710. Viewnumber_All, RefreshDate, Label, VersionID ,
  4711. (SELECT TOP 1 NewsType FROM dcNewsType WITH(NOLOCK) WHERE QlrcNews.DetailType LIKE '%,' + LTRIM(Id) +',%') NewsDetailType,
  4712. (SELECT TOP 1 ID FROM dcNewsType WITH(NOLOCK) WHERE QlrcNews.DetailType LIKE '%,' + LTRIM(Id) + ',%') NewsDetailID,
  4713. (SELECT TOP 1 Category FROM dcNewsType WITH(NOLOCK) WHERE QlrcNews.DetailType LIKE '%,' + LTRIM(Id) + ',%') Category
  4714. FROM QlrcNews WITH(NOLOCK)
  4715. WHERE Id = @ID
  4716. END
  4717. GO
  4718. /****** Object: StoredProcedure [dbo].[procQlrcNewsByIDUpdate] Script Date: 2018/12/13 19:11:42 ******/
  4719. SET ANSI_NULLS ON
  4720. GO
  4721. SET QUOTED_IDENTIFIER ON
  4722. GO
  4723. --#####################################################
  4724. --创建时间:2014.11.5
  4725. --创建人:NICK
  4726. --说明:记录职场新闻点击数
  4727. --#####################################################
  4728. CREATE PROCEDURE [dbo].[procQlrcNewsByIDUpdate]
  4729. (
  4730. @ID INT,
  4731. @IsWhite INT
  4732. )
  4733. AS
  4734. BEGIN
  4735. DECLARE @SQL VARCHAR(MAX)
  4736. SET @SQL = 'Update QlrcNews SET ViewNumber_All = ViewNumber_All + 1 '
  4737. IF @IsWhite = 1
  4738. BEGIN
  4739. SET @SQL = @SQL + ', ViewNumber = ViewNumber + 1'
  4740. END
  4741. SET @SQL = @SQL + ' WHERE ID = '+CONVERT(VARCHAR(20),@ID)
  4742. EXEC(@SQL)
  4743. RETURN 1
  4744. END
  4745. GO
  4746. /****** Object: StoredProcedure [dbo].[ProcQlrcNewsByNearSelect] Script Date: 2018/12/13 19:11:42 ******/
  4747. SET ANSI_NULLS ON
  4748. GO
  4749. SET QUOTED_IDENTIFIER ON
  4750. GO
  4751. CREATE PROCEDURE [dbo].[ProcQlrcNewsByNearSelect]
  4752. (
  4753. @CountryID VARCHAR(6),
  4754. @ID INT
  4755. )
  4756. AS
  4757. SET NOCOUNT ON
  4758. BEGIN
  4759. SELECT PageType, NearId, Id, NearTitle Title
  4760. FROM ShortDb..QlrcNewsNear WITH(NOLOCK)
  4761. WHERE ID = @Id
  4762. -- DECLARE @t AS TABLE(PageType INT, Id INT, Title NVARCHAR(100))
  4763. -- INSERT @t
  4764. -- SELECT TOP 1 1, Id, Title
  4765. -- FROM QlrcNews WITH(NOLOCK)
  4766. -- WHERE VersionId = @CountryID
  4767. -- AND NewsType = 2
  4768. -- AND Id > @Id
  4769. -- ORDER BY Id
  4770. --
  4771. -- INSERT @t
  4772. -- SELECT TOP 1 2, Id, Title
  4773. -- FROM QlrcNews WITH(NOLOCK)
  4774. -- WHERE VersionId = @CountryID
  4775. -- AND NewsType = 2
  4776. -- AND Id < @Id
  4777. -- ORDER BY Id DESC
  4778. --
  4779. -- SELECT * FROM @t ORDER BY Id
  4780. END
  4781. GO
  4782. /****** Object: StoredProcedure [dbo].[procQlrcNewsByOther51rcSelect] Script Date: 2018/12/13 19:11:42 ******/
  4783. SET ANSI_NULLS ON
  4784. GO
  4785. SET QUOTED_IDENTIFIER ON
  4786. GO
  4787. --#####################################################
  4788. --创建时间:2014.11.10
  4789. --创建人:NICK
  4790. --说明:得到其他网站公告
  4791. --#####################################################
  4792. CREATE PROCEDURE [dbo].[procQlrcNewsByOther51rcSelect]
  4793. AS
  4794. BEGIN
  4795. SELECT TOP 200 * FROM QlrcNews WITH(NOLOCK) WHERE NewsType = 1 ORDER BY RefreshDate DESC
  4796. END
  4797. GO
  4798. /****** Object: StoredProcedure [dbo].[procQlrcNewsByProvinceID51rcSelect] Script Date: 2018/12/13 19:11:42 ******/
  4799. SET ANSI_NULLS ON
  4800. GO
  4801. SET QUOTED_IDENTIFIER ON
  4802. GO
  4803. --#####################################################
  4804. --创建时间:2014.11.10
  4805. --创建人:NICK
  4806. --说明:关注排行
  4807. --#####################################################
  4808. CREATE PROCEDURE [dbo].[procQlrcNewsByProvinceID51rcSelect]
  4809. (
  4810. @ProvinceID INT
  4811. )
  4812. AS
  4813. BEGIN
  4814. SELECT TOP 10 *
  4815. FROM QlrcNews WITH(NOLOCK)
  4816. WHERE RefreshDate > DateAdd(Month, -3, GETDATE())
  4817. AND VersionID = @ProvinceID
  4818. ORDER BY ViewNumber_All DESC
  4819. END
  4820. GO
  4821. /****** Object: StoredProcedure [dbo].[procQlrcNewsByProvinceIDSelect] Script Date: 2018/12/13 19:11:43 ******/
  4822. SET ANSI_NULLS ON
  4823. GO
  4824. SET QUOTED_IDENTIFIER ON
  4825. GO
  4826. --#####################################################
  4827. --创建时间:2014.11.5
  4828. --创建人:NICK
  4829. --说明:就业资讯
  4830. --#####################################################
  4831. CREATE PROCEDURE [dbo].[procQlrcNewsByProvinceIDSelect]
  4832. (
  4833. @provinceID INT
  4834. )
  4835. AS
  4836. BEGIN
  4837. SELECT TOP 7 a.ID, Title, content, RefreshDate,
  4838. (
  4839. SELECT TOP 1 NewsType
  4840. FROM dcNewsType WITH(NOLOCK)
  4841. WHERE a.DetailType LIKE '%,'+Ltrim(str(id))+',%'
  4842. AND category=1
  4843. ) DetailType
  4844. FROM qlrcnews a WITH(NOLOCK)
  4845. where EXISTS(
  4846. SELECT 'x'
  4847. FROM fnSplit(DetailType,',') b, dcNewsType c WITH(NOLOCK)
  4848. WHERE b.a = c.id
  4849. AND c.category=1
  4850. )
  4851. AND VersionID=@provinceID
  4852. AND type=1
  4853. ORDER BY ID DESC
  4854. END
  4855. GO
  4856. /****** Object: StoredProcedure [dbo].[procQlrcNewsByTypeIDSelect] Script Date: 2018/12/13 19:11:43 ******/
  4857. SET ANSI_NULLS ON
  4858. GO
  4859. SET QUOTED_IDENTIFIER ON
  4860. GO
  4861. --#####################################################
  4862. --创建时间:2014.11.5
  4863. --创建人:NICK
  4864. --说明:职场攻略
  4865. --#####################################################
  4866. CREATE PROCEDURE [dbo].[procQlrcNewsByTypeIDSelect]
  4867. (
  4868. @ProvinceID INT
  4869. )
  4870. AS
  4871. BEGIN
  4872. SELECT TOP 7 a.ID, Title, Content, RefreshDate
  4873. FROM qlrcnews a WITH(NOLOCK)
  4874. WHERE exists(
  4875. SELECT 'x' FROM fnSplit(DetailType, ',') b, dcNewsType c WITH(NOLOCK)
  4876. WHERE b.a = c.id
  4877. AND c.category=2
  4878. )
  4879. AND VersionID=@ProvinceID
  4880. AND type = 1
  4881. ORDER BY id DESC
  4882. END
  4883. GO
  4884. /****** Object: StoredProcedure [dbo].[procQlrcNewsByVersionIDSelect] Script Date: 2018/12/13 19:11:43 ******/
  4885. SET ANSI_NULLS ON
  4886. GO
  4887. SET QUOTED_IDENTIFIER ON
  4888. GO
  4889. --#####################################################
  4890. --创建时间:2014.11.5
  4891. --创建人:NICK
  4892. --说明:根据类别和省份获取新闻
  4893. --#####################################################
  4894. CREATE PROCEDURE [dbo].[procQlrcNewsByVersionIDSelect]
  4895. (
  4896. @ProvinceID INT,
  4897. @Type VARCHAR(10)
  4898. )
  4899. AS
  4900. BEGIN
  4901. SELECT TOP 8 ID,Title,RefreshDate
  4902. FROM qlrcNews WITH(NOLOCK)
  4903. WHERE DetailType LIKE '%,'+@Type+',%'
  4904. AND VersionID=@ProvinceID
  4905. ORDER BY RefreshDate DESC
  4906. END
  4907. GO
  4908. /****** Object: StoredProcedure [dbo].[procQlrcNewsByVersionIdTop2Select] Script Date: 2018/12/13 19:11:43 ******/
  4909. SET ANSI_NULLS ON
  4910. GO
  4911. SET QUOTED_IDENTIFIER ON
  4912. GO
  4913. --#####################################################
  4914. --创建时间:2014.11.5
  4915. --创建人:NICK
  4916. --说明:获取新闻
  4917. --#####################################################
  4918. create PROCEDURE [dbo].[procQlrcNewsByVersionIdTop2Select]
  4919. (
  4920. @VersionId INT
  4921. )
  4922. AS
  4923. BEGIN
  4924. SELECT TOP 2 *
  4925. FROM QlrcNews WITH(NOLOCK)
  4926. WHERE (
  4927. EXISTS(
  4928. SELECT 'x'
  4929. FROM fnSplit(DetailType, ',') b,
  4930. dcNewsType c WITH(NOLOCK)
  4931. WHERE b.a = c.ID)
  4932. OR DetailType IS NULL
  4933. )
  4934. AND VersionID = @VersionId
  4935. AND NewsType = 2
  4936. AND DetailType NOT LIKE '%,2,%'
  4937. ORDER BY RefreshDate DESC
  4938. END
  4939. GO
  4940. /****** Object: StoredProcedure [dbo].[ProcQlrcNewsExpertSelect] Script Date: 2018/12/13 19:11:44 ******/
  4941. SET ANSI_NULLS ON
  4942. GO
  4943. SET QUOTED_IDENTIFIER ON
  4944. GO
  4945. --#####################################################
  4946. --创建时间:2014.10.28
  4947. --创建人:Nick
  4948. --说明:得到专家支招
  4949. --#####################################################
  4950. CREATE PROCEDURE [dbo].[ProcQlrcNewsExpertSelect]
  4951. (
  4952. @ProvinceID INT
  4953. )
  4954. AS
  4955. BEGIN TRY
  4956. SELECT TOP 13 a.ID,Title
  4957. FROM QlrcNews a WITH(NOLOCK)
  4958. WHERE EXISTS(
  4959. SELECT 'x' FROM fnSplit(DetailType,',') b,dcNewsType c WITH(NOLOCK)
  4960. WHERE b.a = c.ID
  4961. AND c.category=2
  4962. )
  4963. AND VersionID = @ProvinceID
  4964. AND Type = 1
  4965. And RefreshDate>DateAdd(Month,-1,GETDATE())
  4966. ORDER BY ViewNumber DESC
  4967. END TRY
  4968. BEGIN CATCH
  4969. RETURN 0
  4970. END CATCH
  4971. GO
  4972. /****** Object: StoredProcedure [dbo].[ProcQlrcNewsLinkSelect] Script Date: 2018/12/13 19:11:44 ******/
  4973. SET ANSI_NULLS ON
  4974. GO
  4975. SET QUOTED_IDENTIFIER ON
  4976. GO
  4977. --#####################################################
  4978. --创建时间:2014.10.28
  4979. --创建人:John
  4980. --说明:获取职场新闻链接
  4981. --#####################################################
  4982. CREATE PROCEDURE [dbo].[ProcQlrcNewsLinkSelect]
  4983. AS
  4984. BEGIN TRY
  4985. SELECT TOP 5000 '/news/' + CONVERT(VARCHAR, ID) + '.html' link
  4986. FROM QlrcNews WITH(NOLOCK)
  4987. WHERE NewsType = 2
  4988. AND versionid = 0
  4989. AND AnnounceDate > GETDATE()-7
  4990. END TRY
  4991. BEGIN CATCH
  4992. RETURN 0
  4993. END CATCH
  4994. GO
  4995. /****** Object: StoredProcedure [dbo].[procQlrcNewsListBy51rcSelect] Script Date: 2018/12/13 19:11:44 ******/
  4996. SET ANSI_NULLS ON
  4997. GO
  4998. SET QUOTED_IDENTIFIER ON
  4999. GO
  5000. --#####################################################
  5001. --创建时间:2014.11.10
  5002. --创建人:NICK
  5003. --说明:根据类别和省份获取新闻
  5004. --#####################################################
  5005. CREATE PROCEDURE [dbo].[procQlrcNewsListBy51rcSelect]
  5006. AS
  5007. BEGIN
  5008. SELECT ID,Title,Author,RefreshDate FROM qlrcNews WITH(NOLOCK)
  5009. WHERE VersionID=0 AND NewsType=2
  5010. ORDER BY RefreshDate DESC
  5011. END
  5012. GO
  5013. /****** Object: StoredProcedure [dbo].[procQlrcNewsNumSelect] Script Date: 2018/12/13 19:11:44 ******/
  5014. SET ANSI_NULLS ON
  5015. GO
  5016. SET QUOTED_IDENTIFIER ON
  5017. GO
  5018. --#####################################################
  5019. --创建时间:2014.11.5
  5020. --创建人:NICK
  5021. --说明:获取新闻
  5022. --#####################################################
  5023. CREATE PROCEDURE [dbo].[procQlrcNewsNumSelect]
  5024. (
  5025. @Num INT
  5026. )
  5027. AS
  5028. BEGIN
  5029. DECLARE @SQL VARCHAR(MAX)
  5030. SET @SQL = 'SELECT TOP '+CONVERT(VARCHAR(10),@Num)+' *
  5031. FROM QlrcNews WITH(NOLOCK)
  5032. WHERE (EXISTS(SELECT ''x'' FROM fnSplit(DetailType,'','') b,
  5033. dcNewsType c WITH(NOLOCK) WHERE b.a=c.ID ) OR DetailType IS NULL) AND
  5034. VersionID=0 AND NewsType = 2 AND DetailType NOT LIKE ''%,2,%''
  5035. ORDER BY RefreshDate DESC'
  5036. EXEC(@SQL)
  5037. END
  5038. GO
  5039. /****** Object: StoredProcedure [dbo].[procQlrcnewsSelect] Script Date: 2018/12/13 19:11:44 ******/
  5040. SET ANSI_NULLS ON
  5041. GO
  5042. SET QUOTED_IDENTIFIER ON
  5043. GO
  5044. --创建人 Lambo
  5045. --时间 20101009
  5046. --用于网站首页查询网站公告
  5047. CREATE PROCEDURE [dbo].[procQlrcnewsSelect]
  5048. (
  5049. @province_id SMALLINT
  5050. )
  5051. AS
  5052. BEGIN
  5053. SELECT TOP 3 id, title, announcedate date, content, type, refreshdate
  5054. FROM QlrcNews WITH(NOLOCK)
  5055. WHERE (VersionId = @province_id OR VersionId = 0)
  5056. AND NewsType = 1
  5057. ORDER BY refreshdate DESC
  5058. OPTION (KEEPFIXED PLAN)
  5059. END
  5060. GO
  5061. /****** Object: StoredProcedure [dbo].[ProcQlrcNewsTop400Select] Script Date: 2018/12/13 19:11:45 ******/
  5062. SET ANSI_NULLS ON
  5063. GO
  5064. SET QUOTED_IDENTIFIER ON
  5065. GO
  5066. CREATE PROCEDURE [dbo].[ProcQlrcNewsTop400Select]
  5067. (
  5068. @ProvinceID INT,
  5069. @KeyWord NVARCHAR(100),
  5070. @DetailType INT,
  5071. @Type NVARCHAR(20)
  5072. )
  5073. AS
  5074. BEGIN
  5075. IF (@DetailType <= 0)
  5076. SET @DetailType = 0
  5077. SET @keyWord = REPLACE(dbo.SafeSql(@keyWord), '''', '')
  5078. IF (LEN(@keyWord) > 0)
  5079. BEGIN
  5080. DECLARE @Sql VARCHAR(MAX)
  5081. SET @Sql = 'SELECT TOP 400 Id, Title, RefreshDate, Author, Type, Content
  5082. FROM QlrcNews WITH(NOLOCK)
  5083. WHERE VersionId = ' + LTRIM(STR(@ProvinceID)) + '
  5084. AND NewsType = 2'
  5085. IF (@Type = 'title')
  5086. SET @Sql = @Sql + ' AND Title LIKE ''%' + @KeyWord + '%'''
  5087. ELSE
  5088. BEGIN
  5089. DECLARE @t AS TABLE(ID INT IDENTITY(1, 1), k NVARCHAR(50))
  5090. INSERT @t(k) SELECT a FROM dbo.FnSplit(@KeyWord, ' ')
  5091. UPDATE @t SET k = REPLACE(k, ' ', '')
  5092. UPDATE @t SET k = REPLACE(k, '''', '')
  5093. DELETE @t WHERE ISNULL(k, '') = ''
  5094. SELECT @Sql = @Sql + ' AND Id IN(SELECT [Key] FROM CONTAINSTABLE(QlrcNews, *, ''' + k + ''', 10000) AS KeyJob)'
  5095. FROM @t
  5096. END
  5097. IF (@DetailType > 0)
  5098. SET @Sql = @Sql + ' AND DetailType LIKE ''%,' + LTRIM(STR(@DetailType)) + ',%'''
  5099. ELSE
  5100. SET @Sql = @Sql + ' AND DetailType NOT LIKE ''%,2,%'''
  5101. SET @Sql = @Sql + ' ORDER BY RefreshDate DESC'
  5102. --PRINT @SQL
  5103. EXEC(@SQL)
  5104. END
  5105. ELSE
  5106. BEGIN
  5107. SELECT Id, Title, RefreshDate, Author, Type
  5108. FROM QlrcNewsTop400 WITH(NOLOCK)
  5109. WHERE ProvinceId = @ProvinceID
  5110. AND DetailType = @DetailType
  5111. ORDER BY RowID
  5112. END
  5113. END
  5114. GO
  5115. /****** Object: StoredProcedure [dbo].[procQuotaLogUpdate] Script Date: 2018/12/13 19:11:45 ******/
  5116. SET ANSI_NULLS ON
  5117. GO
  5118. SET QUOTED_IDENTIFIER ON
  5119. GO
  5120. --计划任务校正已经使用的配额量
  5121. --harry
  5122. --2017-12-8
  5123. CREATE PROCEDURE [dbo].[procQuotaLogUpdate]
  5124. AS
  5125. SET NOCOUNT ON
  5126. BEGIN
  5127. create table #a
  5128. (
  5129. id int,
  5130. caorderId INT,
  5131. caMainid INT,
  5132. download int
  5133. )
  5134. insert into #a(id,caorderId,caMainId)
  5135. select id,caorderId,caMainId
  5136. FROM QuotaLog
  5137. DECLARE @size INT,@id INT
  5138. SET @id=0
  5139. SELECT @size=count(1) from #a
  5140. WHILE @size>0
  5141. BEGIN
  5142. SET @size=@size-1
  5143. SELECT TOP 1 @id =id FROM #a WHERE id> @id ORDER BY id asc
  5144. UPDATE #a
  5145. set download=(select count(1) from caactivelog where camainid=#a.caMainId AND caorderId= #a.caorderId)
  5146. WHERE id= @id
  5147. UPDATE #a
  5148. set download=ISNULL(download,0)+
  5149. (select count(1) from caactivelog
  5150. where camainid=#a.caMainId AND caorderId IN
  5151. (select id from caorder
  5152. where mainorderid= #a.caorderId AND isdeleted=0 AND ordertype in(8,9) AND openDate is NOT NULL
  5153. )
  5154. )
  5155. WHERE id= @id
  5156. END
  5157. UPDATE a
  5158. SET a.remainQuota=(a.quota-b.download)
  5159. FROM quotalog a, #a b
  5160. WHERE a.id = b.id
  5161. drop table #a
  5162. END
  5163. SET NOCOUNT OFF
  5164. GO
  5165. /****** Object: StoredProcedure [dbo].[ProcRecommendedRecruitmentSelect] Script Date: 2018/12/13 19:11:45 ******/
  5166. SET ANSI_NULLS ON
  5167. GO
  5168. SET QUOTED_IDENTIFIER ON
  5169. GO
  5170. --#####################################################
  5171. --创建时间:2014.10.29
  5172. --创建人:Nick
  5173. --说明:获取推荐招聘会内容
  5174. --#####################################################
  5175. CREATE PROCEDURE [dbo].[ProcRecommendedRecruitmentSelect]
  5176. (
  5177. @ProvinceID INT
  5178. )
  5179. AS
  5180. BEGIN TRY
  5181. SELECT TOP 10 a.ID,a.RecruitmentName
  5182. FROM Recruitment a,dcRegion b,RecruitmentPlace c,RecruitmentDept d
  5183. WHERE d.ID=a.RecruitmentDeptID
  5184. AND d.ID<>1767
  5185. AND b.ID=c.dcRegionID
  5186. AND a.RecruitmentPlaceId=c.id And c.dcRegionID LIKE ''+CONVERT(VARCHAR(4),@ProvinceID)+'%'
  5187. AND EndDate>GetDate()
  5188. AND a.IsPause=0
  5189. AND LEN(ManagerUserID)>0
  5190. ORDER BY orderby, a.EndDate
  5191. END TRY
  5192. BEGIN CATCH
  5193. RETURN 0
  5194. END CATCH
  5195. GO
  5196. /****** Object: StoredProcedure [dbo].[ProcRecruitByBaiduXmlSelect] Script Date: 2018/12/13 19:11:45 ******/
  5197. SET ANSI_NULLS ON
  5198. GO
  5199. SET QUOTED_IDENTIFIER ON
  5200. GO
  5201. CREATE PROCEDURE [dbo].[ProcRecruitByBaiduXmlSelect]
  5202. (
  5203. @ProvinceID INT
  5204. )
  5205. AS
  5206. insert into proclog select 'ProcRecruitByBaiduXmlSelect', @ProvinceId, GETDATE()
  5207. BEGIN
  5208. DECLARE @pId VARCHAR(2)
  5209. IF ISNULL(@ProvinceID, 0) = 0
  5210. SET @Pid = ''
  5211. ELSE
  5212. SET @Pid = LTRIM(STR(@ProvinceId))
  5213. Select a.ID, e.DeptName, a.RecruitmentName, a.EndDate, a.ModifyDate, a.BeginDate, a.Brief,
  5214. c.PlaceName, c.Address, b.Description City, d.EmailSite, d.SubSiteName, OrderBy, MainId
  5215. INTO #t
  5216. From Recruitment a,
  5217. dcRegion b,
  5218. RecruitmentPlace c,
  5219. dcSubSite d,
  5220. RmDept e
  5221. Where a.RecruitmentDeptId = e.Id
  5222. AND Left(CityID, 2) = d.ID
  5223. AND b.ID = c.dcRegionID
  5224. AND a.RecruitmentPlaceId = c.id
  5225. AND c.dcRegionID like @Pid + '%'
  5226. AND EndDate > GetDate()
  5227. AND RIGHT(CONVERT(VARCHAR(8), EndDate, 112), 4) <> '1231'
  5228. AND a.ManagerUserId > 0
  5229. AND a.IsPause = 0
  5230. AND a.MainId IS NULL
  5231. IF @ProvinceID IN(10, 11, 30, 60)
  5232. UPDATE #t SET City = (SELECT SubSiteCity FROM dcSubSite WHERE ID = @ProvinceId)
  5233. INSERT INTO #t
  5234. Select a.ID, e.DeptName, a.RecruitmentName, a.EndDate, a.ModifyDate, a.BeginDate, a.Brief,
  5235. c.PlaceName, c.Address, b.Description City, d.EmailSite, d.SubSiteName, OrderBy, MainId
  5236. FROM Recruitment a,
  5237. dcRegion b,
  5238. RecruitmentPlace c,
  5239. dcSubSite d,
  5240. RmDept e
  5241. WHERE a.RecruitmentDeptId = e.Id
  5242. AND LEFT(CityID, 2) = d.ID
  5243. AND b.ID = c.dcRegionID
  5244. AND a.RecruitmentPlaceId = c.id
  5245. AND c.dcRegionID LIKE @Pid + '%'
  5246. AND a.MainId IN(SELECT ID FROM #t)
  5247. SELECT * FROM #t
  5248. --WHERE CHARINDEX(Left(City, 2), PlaceName) > 0
  5249. ORDER BY OrderBy, ID DESc
  5250. END
  5251. GO
  5252. /****** Object: StoredProcedure [dbo].[procRecruitmeetingByHomepageSelect] Script Date: 2018/12/13 19:11:45 ******/
  5253. SET ANSI_NULLS ON
  5254. GO
  5255. SET QUOTED_IDENTIFIER ON
  5256. GO
  5257. --创建人 Lambo
  5258. --20101009
  5259. --用于首页查询招聘会
  5260. CREATE PROCEDURE [dbo].[procRecruitmeetingByHomepageSelect]
  5261. (
  5262. @ProvinceID SMALLINT
  5263. )
  5264. AS
  5265. BEGIN
  5266. /*
  5267. SELECT TOP 1 ImageFile,alt FROM fpHomePageImage WITH(NOLOCK)
  5268. WHERE ImageType = 2
  5269. AND dcProvinceId = @ProvinceID
  5270. ORDER BY AddDate DESC
  5271. */
  5272. SELECT TOP 0 '' ImageFile, '' alt
  5273. -- IF @ProvinceID > 100
  5274. -- SELECT @ProvinceID = CONVERT(INT, LEFT(@ProvinceID, 2))
  5275. SELECT TOP 15 ID newIDs,PreID Id, Title, AddDate, WeekDay, MonthDay, StartDate
  5276. FROM SearchDb..HpRecruitmeetingDay WITH(NOLOCK)
  5277. WHERE ProvinceId = @ProvinceID
  5278. ORDER BY newIDs
  5279. END
  5280. GO
  5281. /****** Object: StoredProcedure [dbo].[procRecruitmeetingByHomepageSelectnew] Script Date: 2018/12/13 19:11:45 ******/
  5282. SET ANSI_NULLS ON
  5283. GO
  5284. SET QUOTED_IDENTIFIER ON
  5285. GO
  5286. --############################################
  5287. --创建人 Lambo
  5288. --20101009
  5289. --用于首页查询招聘会
  5290. --sean 2012-3-20
  5291. --增加ip所在地的判断
  5292. --############################################
  5293. CREATE PROCEDURE [dbo].[procRecruitmeetingByHomepageSelectnew]
  5294. (
  5295. @ProvinceID SMALLINT,
  5296. @strIp VARCHAR(20)
  5297. )
  5298. AS
  5299. BEGIN
  5300. SELECT TOP 1 ImageFile, alt FROM fpHomePageImage WITH(NOLOCK)
  5301. WHERE ImageType = 2
  5302. AND dcProvinceId = @ProvinceID
  5303. ORDER BY AddDate DESC
  5304. -- IF @ProvinceID > 100
  5305. -- SELECT @ProvinceID = CONVERT(INT, LEFT(@ProvinceID, 2))
  5306. DECLARE @dcSubSiteId AS INT, @Ip AS BIGINT
  5307. SET @Ip = CONVERT(BIGINT, @strIp)
  5308. SELECT TOP 1 @dcSubSiteId = CONVERT(INT, ISNULL(dcSubSiteId, 0))
  5309. FROM dcIpPlace WITH(NOLOCK)
  5310. WHERE IpStart <= @Ip
  5311. ORDER BY IpStart DESC
  5312. IF LTRIM(STR(@dcSubSiteId)) LIKE LTRIM(STR(@ProvinceID)) + '%'
  5313. BEGIN
  5314. SELECT TOP 15 ID newIDs,PreID Id, Title, AddDate, WeekDay, MonthDay, StartDate
  5315. FROM SearchDb..HpRecruitmeetingDay WITH(NOLOCK)
  5316. WHERE ProvinceId LIKE LTRIM(STR(@ProvinceID)) + '%'
  5317. ORDER BY CASE ProvinceId WHEN @dcSubSiteId THEN 0 ELSE 1 END, newIDs
  5318. --PRINT @dcSubSiteId
  5319. END
  5320. ELSE
  5321. BEGIN
  5322. SELECT TOP 15 ID newIDs,PreID Id, Title, AddDate, WeekDay, MonthDay, StartDate
  5323. FROM SearchDb..HpRecruitmeetingDay WITH(NOLOCK)
  5324. WHERE ProvinceId = @ProvinceID
  5325. ORDER BY newIDs
  5326. print 222222222
  5327. END
  5328. END
  5329. GO
  5330. /****** Object: StoredProcedure [dbo].[ProcRecruitMeetingLinkByProvinceIdSelect] Script Date: 2018/12/13 19:11:46 ******/
  5331. SET ANSI_NULLS ON
  5332. GO
  5333. SET QUOTED_IDENTIFIER ON
  5334. GO
  5335. --#####################################################
  5336. --创建时间:2014.10.28
  5337. --创建人:John
  5338. --说明:获取招聘会链接
  5339. --@provinceId 省份编号
  5340. --#####################################################
  5341. CREATE PROCEDURE [dbo].[ProcRecruitMeetingLinkByProvinceIdSelect]
  5342. (
  5343. @provinceId VARCHAR(4)
  5344. )
  5345. AS
  5346. BEGIN TRY
  5347. SELECT TOP 5000 '/zhaopinhui/' + CONVERT(VARCHAR, ID) + '.html' link
  5348. FROM RecruitMeeting WITH(NOLOCK)
  5349. WHERE province_id = @provinceId
  5350. AND ((EndTime > GETDATE() AND type = 2) OR (status = 1 AND type = 1))
  5351. ORDER BY orderby, ID DESC
  5352. END TRY
  5353. BEGIN CATCH
  5354. RETURN 0
  5355. END CATCH
  5356. GO
  5357. /****** Object: StoredProcedure [dbo].[procRecruitment5ByConditionSelect] Script Date: 2018/12/13 19:11:46 ******/
  5358. SET ANSI_NULLS ON
  5359. GO
  5360. SET QUOTED_IDENTIFIER ON
  5361. GO
  5362. --#####################################################
  5363. --创建时间:2014.11.10
  5364. --创建人:Nick
  5365. --说明:根据条件获取招聘会信息
  5366. --#####################################################
  5367. CREATE PROCEDURE [dbo].[procRecruitment5ByConditionSelect]
  5368. (
  5369. @Condition VARCHAR(MAX)
  5370. )
  5371. AS
  5372. BEGIN
  5373. DECLARE @SQL VARCHAR(MAX)
  5374. SET @SQL = '
  5375. SELECT top 5 a.ID, a.RecruitmentName, a.EndDate, a.BeginDate, c.PlaceName, c.Address, b.Description City
  5376. FROM Recruitment a, dcRegion b, RecruitmentPlace c, RecruitmentDept d
  5377. WHERE d.ID=a.RecruitmentDeptID
  5378. AND d.ID<>1767
  5379. AND b.ID=c.dcRegionID
  5380. AND a.RecruitmentPlaceId=c.id
  5381. AND EndDate>GetDate()
  5382. AND a.IsPause=0
  5383. AND Len(ManagerUserID)>0 '+@Condition+'
  5384. ORDER BY OrderBy, a.EndDate '
  5385. EXEC(@SQL)
  5386. END
  5387. GO
  5388. /****** Object: StoredProcedure [dbo].[procRecruitmentByCondition51rcSelect] Script Date: 2018/12/13 19:11:46 ******/
  5389. SET ANSI_NULLS ON
  5390. GO
  5391. SET QUOTED_IDENTIFIER ON
  5392. GO
  5393. --#####################################################
  5394. --创建时间:2014.11.10
  5395. --创建人:NICK
  5396. --说明:获取招聘会列表
  5397. --修改:Andy, 2014-12-22,修改显示个数为当天所有记录
  5398. --#####################################################
  5399. CREATE PROCEDURE [dbo].[procRecruitmentByCondition51rcSelect]
  5400. (
  5401. @RegionID INT,
  5402. @PlaceID INT,
  5403. @BeginDate VARCHAR(10)
  5404. )
  5405. AS
  5406. SET NOCOUNT ON
  5407. BEGIN
  5408. DECLARE @EndDate VARCHAR(10)
  5409. IF DATEPART(HOUR, GETDATE()) < 13
  5410. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 1, 120)
  5411. ELSE
  5412. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 2, 120)
  5413. DECLARE @SQL VARCHAR(MAX)
  5414. SET @SQL = 'SELECT a.ID,a.RecruitmentName,c.id as PlaceID,c.BusLine,a.EndDate,a.BeginDate,c.PlaceName,c.Lng,c.Lat,c.Address,b.Description City,
  5415. d.dcprovinceid,c.mapbarid,c.dcregionid,d.dcprovinceid,c.dcregionid
  5416. FROM SearchDb..RecruitmentTmp2 a WITH(NOLOCK),dcRegion b WITH(NOLOCK),RecruitmentPlace c WITH(NOLOCK),RecruitmentDept d WITH(NOLOCK)
  5417. WHERE d.ID=a.RecruitmentDeptID
  5418. AND d.ID<>1767
  5419. AND b.ID=c.dcRegionID
  5420. AND a.RecruitmentPlaceId=c.id '
  5421. IF @PlaceID <> 0
  5422. BEGIN
  5423. SET @SQL = @SQL + ' AND c.ID = ' + CONVERT(VARCHAR(6), @PlaceID)
  5424. END
  5425. IF @RegionID <> 0
  5426. BEGIN
  5427. SET @SQL = @SQL +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6), @RegionID) + '%'' '
  5428. END
  5429. IF @BeginDate <> ''
  5430. BEGIN
  5431. SET @SQL = @SQL+' AND begindate > ''' + @BeginDate + ''' AND begindate <= ''' + @EndDate + ''''
  5432. END
  5433. SET @SQL = @SQL + ' ORDER BY CONVERT(char(10), a.begindate, 120) asc,
  5434. case dcprovinceid when 32 then 1 when 30 then 2 when 10 then 3 when 12 then 4 when 72 then 5 when 31 then 6 when 11 then 7 when 61 then 8 when 20 then 9 when 40 then 10 when 35 then 11 else 20 end,
  5435. a.begindate '
  5436. --PRINT(@SQL)
  5437. EXEC(@SQL)
  5438. END
  5439. SET NOCOUNT OFF
  5440. GO
  5441. /****** Object: StoredProcedure [dbo].[procRecruitmentByCondition51rcSelect1111] Script Date: 2018/12/13 19:11:46 ******/
  5442. SET ANSI_NULLS ON
  5443. GO
  5444. SET QUOTED_IDENTIFIER ON
  5445. GO
  5446. --#####################################################
  5447. --创建时间:2014.11.10
  5448. --创建人:NICK
  5449. --说明:获取招聘会列表
  5450. --修改:Andy, 2014-12-22,修改显示个数为当天所有记录
  5451. --#####################################################
  5452. create PROCEDURE [dbo].[procRecruitmentByCondition51rcSelect1111]
  5453. (
  5454. @RegionID INT,
  5455. @PlaceID INT,
  5456. @BeginDate VARCHAR(10)
  5457. )
  5458. AS
  5459. SET NOCOUNT ON
  5460. BEGIN
  5461. DECLARE @EndDate VARCHAR(10)
  5462. IF DATEPART(HOUR, GETDATE()) < 13
  5463. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 1, 120)
  5464. ELSE
  5465. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 2, 120)
  5466. DECLARE @SQL VARCHAR(MAX)
  5467. SET @SQL = 'SELECT a.ID,a.RecruitmentName,c.id as PlaceID,c.BusLine,a.EndDate,a.BeginDate,c.PlaceName,c.Lng,c.Lat,c.Address,b.Description City,
  5468. d.dcprovinceid,c.mapbarid,c.dcregionid,d.dcprovinceid,c.dcregionid
  5469. FROM Recruitment a WITH(NOLOCK),dcRegion b WITH(NOLOCK),RecruitmentPlace c WITH(NOLOCK),RecruitmentDept d WITH(NOLOCK)
  5470. WHERE d.ID=a.RecruitmentDeptID
  5471. AND d.ID<>1767
  5472. AND b.ID=c.dcRegionID
  5473. AND EndDate > GETDATE()
  5474. AND a.RecruitmentPlaceId=c.id
  5475. And a.IsPause=0 And Len(ManagerUserID)>0 '
  5476. IF @PlaceID <> 0
  5477. BEGIN
  5478. SET @SQL = @SQL + ' AND c.ID = ' + CONVERT(VARCHAR(6), @PlaceID)
  5479. END
  5480. IF @RegionID <> 0
  5481. BEGIN
  5482. SET @SQL = @SQL +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6), @RegionID) + '%'' '
  5483. END
  5484. IF @BeginDate <> ''
  5485. BEGIN
  5486. SET @SQL = @SQL+' AND begindate > ''' + @BeginDate + ''' AND begindate <= ''' + @EndDate + ''''
  5487. END
  5488. SET @SQL = @SQL + ' ORDER BY CONVERT(char(10), a.begindate, 120) asc,
  5489. case dcprovinceid when 32 then 1 when 30 then 2 when 10 then 3 when 12 then 4 when 72 then 5 when 31 then 6 when 11 then 7 when 61 then 8 when 20 then 9 when 40 then 10 when 35 then 11 else 20 end '
  5490. PRINT(@SQL)
  5491. EXEC(@SQL)
  5492. END
  5493. SET NOCOUNT OFF
  5494. GO
  5495. /****** Object: StoredProcedure [dbo].[procRecruitmentByCondition51rcSelect2] Script Date: 2018/12/13 19:11:47 ******/
  5496. SET ANSI_NULLS ON
  5497. GO
  5498. SET QUOTED_IDENTIFIER ON
  5499. GO
  5500. --#####################################################
  5501. --创建时间:2014.11.10
  5502. --创建人:NICK
  5503. --说明:获取招聘会列表
  5504. --修改:Andy, 2014-12-22,修改显示个数为当天所有记录
  5505. --#####################################################
  5506. CREATE PROCEDURE [dbo].[procRecruitmentByCondition51rcSelect2]
  5507. (
  5508. @RegionID INT,
  5509. @PlaceID INT,
  5510. @BeginDate VARCHAR(10)
  5511. )
  5512. AS
  5513. SET NOCOUNT ON
  5514. BEGIN
  5515. DECLARE @EndDate VARCHAR(10)
  5516. IF DATEPART(HOUR, GETDATE()) < 13
  5517. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 1, 120)
  5518. ELSE
  5519. SET @EndDate = CONVERT(VARCHAR(10), CONVERT(DATETIME, @BeginDate) + 2, 120)
  5520. IF NOT EXISTS(SELECT 'x' FROM SearchDb..SysObjects WHERE Name = 'RecruitmentTmp')
  5521. BEGIN
  5522. CREATE TABLE SearchDb..RecruitmentTmp2(
  5523. ID int NOT NULL,
  5524. RecruitmentName nvarchar(50) NOT NULL,
  5525. RecruitmentDeptID int NOT NULL,
  5526. RecruitmentPlaceId int NOT NULL,
  5527. IsPause tinyint NOT NULL,
  5528. ManagerUserID smallint NULL,
  5529. EndDate smalldatetime NOT NULL,
  5530. BeginDate smalldatetime NOT NULL
  5531. )
  5532. INSERT INTO SearchDb..RecruitmentTmp2
  5533. SELECT ID, RecruitmentName, RecruitmentDeptID, RecruitmentPlaceId, IsPause, ManagerUserID, EndDate, BeginDate
  5534. FROM Recruitment WITH(NOLOCK)
  5535. WHERE EndDate > GETDATE()
  5536. And IsPause=0
  5537. And Len(ManagerUserID)>0
  5538. END
  5539. IF EXISTS(SELECT 'x' FROM SearchDb..RecruitmentTmp2 WITH(NOLOCK) WHERE BeginDate < GETDATE())
  5540. BEGIN
  5541. TRUNCATE TABLE SearchDb..RecruitmentTmp2
  5542. INSERT INTO SearchDb..RecruitmentTmp2
  5543. SELECT ID, RecruitmentName, RecruitmentDeptID, RecruitmentPlaceId, IsPause, ManagerUserID, EndDate, BeginDate
  5544. FROM Recruitment WITH(NOLOCK)
  5545. WHERE EndDate > GETDATE()
  5546. And IsPause=0
  5547. And Len(ManagerUserID)>0
  5548. END
  5549. DECLARE @SQL VARCHAR(MAX)
  5550. SET @SQL = 'SELECT a.ID,a.RecruitmentName,c.id as PlaceID,c.BusLine,a.EndDate,a.BeginDate,c.PlaceName,c.Lng,c.Lat,c.Address,b.Description City,
  5551. d.dcprovinceid,c.mapbarid,c.dcregionid,d.dcprovinceid,c.dcregionid
  5552. FROM SearchDb..RecruitmentTmp2 a WITH(NOLOCK),dcRegion b WITH(NOLOCK),RecruitmentPlace c WITH(NOLOCK),RecruitmentDept d WITH(NOLOCK)
  5553. WHERE d.ID=a.RecruitmentDeptID
  5554. AND d.ID<>1767
  5555. AND b.ID=c.dcRegionID
  5556. AND a.RecruitmentPlaceId=c.id '
  5557. IF @PlaceID <> 0
  5558. BEGIN
  5559. SET @SQL = @SQL + ' AND c.ID = ' + CONVERT(VARCHAR(6), @PlaceID)
  5560. END
  5561. IF @RegionID <> 0
  5562. BEGIN
  5563. SET @SQL = @SQL +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6), @RegionID) + '%'' '
  5564. END
  5565. IF @BeginDate <> ''
  5566. BEGIN
  5567. SET @SQL = @SQL+' AND begindate > ''' + @BeginDate + ''' AND begindate <= ''' + @EndDate + ''''
  5568. END
  5569. SET @SQL = @SQL + ' ORDER BY CONVERT(char(10), a.begindate, 120) asc,
  5570. case dcprovinceid when 32 then 1 when 30 then 2 when 10 then 3 when 12 then 4 when 72 then 5 when 31 then 6 when 11 then 7 when 61 then 8 when 20 then 9 when 40 then 10 when 35 then 11 else 20 end,
  5571. a.begindate '
  5572. --PRINT(@SQL)
  5573. EXEC(@SQL)
  5574. END
  5575. SET NOCOUNT OFF
  5576. GO
  5577. /****** Object: StoredProcedure [dbo].[procRecruitmentByID51RCSelect] Script Date: 2018/12/13 19:11:47 ******/
  5578. SET ANSI_NULLS ON
  5579. GO
  5580. SET QUOTED_IDENTIFIER ON
  5581. GO
  5582. --#####################################################
  5583. --创建时间:2014.11.10
  5584. --创建人:NICK
  5585. --说明:通过招聘会id获取招聘会详细信息
  5586. --#####################################################
  5587. CREATE PROCEDURE [dbo].[procRecruitmentByID51RCSelect]
  5588. (
  5589. @ID INT
  5590. )
  5591. AS
  5592. BEGIN
  5593. SELECT a.*,c.PlaceName,c.Address,b.Description City,c.MapbarID,c.Lng,c.Lat,c.BusLine,CreditRating,
  5594. case cityid when '3202' then 'www.daochengrc.com' else 'www.'+ProvinceDomain end SiteUrl,
  5595. d.ID ProvinceID,a.RecruitmentDeptId From Recruitment a,dcRegion b,RecruitmentPlace c,dcProvince d,
  5596. recruitmentdept e
  5597. WHERE e.id=a.recruitmentdeptid
  5598. AND b.ID=c.dcRegionID
  5599. AND a.RecruitmentPlaceId=c.id
  5600. AND d.ID=Left(a.CityID,2) And a.ID=@ID
  5601. END
  5602. GO
  5603. /****** Object: StoredProcedure [dbo].[procRecruitmentByIDSelect] Script Date: 2018/12/13 19:11:47 ******/
  5604. SET ANSI_NULLS ON
  5605. GO
  5606. SET QUOTED_IDENTIFIER ON
  5607. GO
  5608. --#####################################################
  5609. --创建时间:2014.10.30
  5610. --创建人:Nick
  5611. --说明:得到招聘会信息
  5612. --修改harry 增加校园招聘会2018-3-20 3-21
  5613. --#####################################################
  5614. CREATE PROCEDURE [dbo].[procRecruitmentByIDSelect]
  5615. (
  5616. @ID INT
  5617. )
  5618. AS
  5619. BEGIN
  5620. IF @ID>0
  5621. BEGIN
  5622. SELECT a.*,b.Lng,b.Lat
  5623. FROM Marketdb..Recruitment a,Marketdb..RmPlace b
  5624. WHERE a.RecruitmentPlaceID = b.id
  5625. AND a.ID=@ID
  5626. END
  5627. ELSE
  5628. BEGIN
  5629. SELECT a.*,a.Name AS RecruitmentName, b.Lng,b.Lat
  5630. FROM wutongguodb..RecruitmentSchool a,Marketdb..RmPlace b
  5631. WHERE a.RecruitmentPlaceID = b.id
  5632. AND a.ID=ABS(@ID)
  5633. END
  5634. END
  5635. GO
  5636. /****** Object: StoredProcedure [dbo].[procRecruitmentByProvinceIDSelect] Script Date: 2018/12/13 19:11:47 ******/
  5637. SET ANSI_NULLS ON
  5638. GO
  5639. SET QUOTED_IDENTIFIER ON
  5640. GO
  5641. --#####################################################
  5642. --创建时间:2014.11.10
  5643. --创建人:Nick
  5644. --说明:根据省份获取招聘会信息
  5645. --#####################################################
  5646. CREATE PROCEDURE [dbo].[procRecruitmentByProvinceIDSelect]
  5647. (
  5648. @ProvinceID VARCHAR(10)
  5649. )
  5650. AS
  5651. BEGIN
  5652. SELECT top 5 a.ID, a.RecruitmentName, a.EndDate, a.BeginDate, c.PlaceName, c.Address, b.Description City
  5653. FROM Recruitment a, dcRegion b, RecruitmentPlace c, RecruitmentDept d
  5654. WHERE d.ID=a.RecruitmentDeptID
  5655. AND d.ID<>1767
  5656. AND b.ID=c.dcRegionID
  5657. AND a.RecruitmentPlaceId=c.id
  5658. AND LEFT(c.dcRegionID, 2)=@ProvinceID
  5659. AND EndDate>GetDate()
  5660. AND a.IsPause=0
  5661. AND Len(ManagerUserID)>0
  5662. ORDER BY OrderBy, a.EndDate
  5663. END
  5664. GO
  5665. /****** Object: StoredProcedure [dbo].[procRecruitmentByQlrcTopicSelect] Script Date: 2018/12/13 19:11:47 ******/
  5666. SET ANSI_NULLS ON
  5667. GO
  5668. SET QUOTED_IDENTIFIER ON
  5669. GO
  5670. CREATE PROCEDURE [dbo].[procRecruitmentByQlrcTopicSelect]
  5671. (
  5672. @dcRegionID INT, --地区编号 0表示全部 2位表示省份 4位表示城市
  5673. @BeginDate VARCHAR(50),--开始时间 默认两年前数据
  5674. @EndDate VARCHAR(50), --结束时间
  5675. @PageNo INT --页码
  5676. )
  5677. AS
  5678. BEGIN
  5679. SET NOCOUNT ON
  5680. DECLARE @SQL VARCHAR(MAX)
  5681. DECLARE @WHERE VARCHAR(MAX) --查询条件
  5682. DECLARE @TotalNum INT --总量
  5683. IF @PageNo = 0
  5684. BEGIN
  5685. SET @PageNo = 1
  5686. END
  5687. SET @SQL = ''
  5688. SET @WHERE = ''
  5689. --筛选条件
  5690. SET @WHERE = @WHERE + ' AND a.IsSchool = 1'
  5691. IF @dcRegionID<>0 --选择地区
  5692. BEGIN
  5693. SET @WHERE = @WHERE +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6),@dcRegionID)+'%'' '
  5694. END
  5695. IF @BeginDate<>'' AND @EndDate<>'' --选择时间
  5696. BEGIN
  5697. SET @WHERE = @WHERE + ' AND EndDate >= '''+@BeginDate +''' AND EndDate<'''+@EndDate+''''
  5698. END
  5699. ELSE
  5700. BEGIN
  5701. SET @WHERE = @WHERE + ' AND EndDate >= GETDATE() '
  5702. END
  5703. --创建临时表 存放招聘会
  5704. CREATE TABLE #indextable(
  5705. [NUM] int identity(1,1),
  5706. ID INT NULL,
  5707. Type INT NULL,
  5708. DcRegionID INT
  5709. )
  5710. CREATE TABLE #indextable2(
  5711. [NUM] int identity(1,1),
  5712. ID INT NULL,
  5713. Type INT NULL,
  5714. dcRegionID INT
  5715. )
  5716. IF LEN(@dcRegionID)>=4
  5717. BEGIN
  5718. SET @SQL ='
  5719. INSERT INTO #indextable2(ID,Type,dcRegionID)
  5720. SELECT a.ID,a.IsSchool,b.ID
  5721. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  5722. WHERE d.ID=a.RecruitmentDeptID
  5723. AND b.ID=c.dcRegionID
  5724. AND a.RecruitmentPlaceId=c.id
  5725. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  5726. AND EndDate > GETDATE() ORDER BY a.orderby, a.BeginDate ASC'
  5727. EXEC(@SQL)
  5728. ----------------------未过期
  5729. --本城市
  5730. SET @SQL ='
  5731. INSERT INTO #indextable(ID,Type,dcRegionID)
  5732. SELECT a.ID,a.Type,a.dcRegionID
  5733. FROM #indextable2 a
  5734. WHERE DcRegionID LIKE '''+LEFT(@dcRegionID,4)+'%''
  5735. '
  5736. EXEC(@SQL)
  5737. END
  5738. ELSE IF LEN(@dcRegionID)=2
  5739. BEGIN
  5740. --本省份
  5741. SET @SQL ='
  5742. INSERT INTO #indextable(ID,Type,dcRegionID)
  5743. SELECT a.ID,a.IsSchool,b.ID
  5744. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  5745. WHERE d.ID=a.RecruitmentDeptID
  5746. AND b.ID=c.dcRegionID
  5747. AND a.RecruitmentPlaceId=c.id
  5748. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  5749. AND c.DcRegionID LIKE '''+LTRIM(LEFT(@dcRegionID,2))+'%''
  5750. AND EndDate > GETDATE() ORDER BY a.orderby,a.BeginDate '
  5751. EXEC(@SQL)
  5752. print '$$'+@SQL
  5753. END
  5754. DECLARE @SQLTmp VARCHAR(MAX)
  5755. SET @SQLTmp = ''
  5756. SET @SQLTmp =' FROM MarketDB..Recruitment a WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK)
  5757. WHERE a.RecruitmentPlaceId=c.id
  5758. AND a.ID IN (SELECT ID FROM #indextable) '
  5759. --获取招聘会列表
  5760. DECLARE @RecordCount INT
  5761. DECLARE @PageSize INT
  5762. SET @PageSize = 8
  5763. DECLARE @PageLowerBound INT --定义此页的底码
  5764. DECLARE @PageUpperBound INT --定义此页的顶码
  5765. SET @PageLowerBound = (@PageNo -1) * @pagesize
  5766. SET @PageUpperBound = @PageLowerBound + @pagesize
  5767. SELECT @RecordCount = COUNT(*) FROM #indextable
  5768. DELETE FROM #indextable WHERE Num <= @PageLowerBound Or Num > @PageUpperBound
  5769. --创建临时表 存放招聘会
  5770. CREATE TABLE #Rm(
  5771. [ID] [int] NOT NULL,
  5772. [RecruitmentName] NVARCHAR(100) NULL,
  5773. [EndDate] SMALLDATETIME NULL,
  5774. [BeginDate] SMALLDATETIME NULL,
  5775. [PlaceID] INT NULL,
  5776. [PlaceName] NVARCHAR(100) NULL,
  5777. [Address] NVARCHAR(200) NULL,
  5778. [City] NVARCHAR(200) NULL,
  5779. [Lng] VARCHAR(20) NULL,
  5780. [Lat] VARCHAR(20) NULL,
  5781. [mapbarid] VARCHAR(100) NULL,
  5782. [dcregionid] VARCHAR(10) NULL,
  5783. [IsSchool] VARCHAR(20) NULL,
  5784. [OrderNo] [INT] NULL,
  5785. RecruitmentDeptID INT NULL,
  5786. [PhotoNum] [INT] NULL,
  5787. [IsAttention] [INT] NULL,
  5788. BusLine NVARCHAR(500),
  5789. Orderby INT
  5790. )
  5791. INSERT INTO #Rm
  5792. SELECT a.ID,a.RecruitmentName,a.EndDate,a.BeginDate,c.id as PlaceID,c.PlaceName,
  5793. c.Address,b.Description City,c.Lng, c.Lat,c.mapbarid,c.dcregionid,a.IsSchool,
  5794. b.OrderNo,a.RecruitmentDeptID,0 AS PhotoNum,0 AS IsAttention,c.BusLine,a.Orderby
  5795. FROM #indextable e,MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  5796. WHERE e.ID = a.ID
  5797. AND d.ID=a.RecruitmentDeptID
  5798. AND b.ID=c.dcRegionID
  5799. AND a.RecruitmentPlaceId=c.id
  5800. ORDER BY e.Num ASC
  5801. SELECT @RecordCount CNT --总数
  5802. SELECT * FROM #Rm --招聘会列表
  5803. SET NOCOUNT OFF
  5804. END
  5805. GO
  5806. /****** Object: StoredProcedure [dbo].[procRecruitmentCallbackSelect] Script Date: 2018/12/13 19:11:48 ******/
  5807. SET ANSI_NULLS ON
  5808. GO
  5809. SET QUOTED_IDENTIFIER ON
  5810. GO
  5811. --简历投递回调
  5812. --支付宝用
  5813. CREATE PROCEDURE [dbo].[procRecruitmentCallbackSelect]
  5814. (
  5815. @BeginDate VARCHAR(50)
  5816. )
  5817. AS
  5818. SET NOCOUNT ON
  5819. BEGIN
  5820. SELECT a.ID, a.JobID, a.InterviewDate, a.InterViewPlace, b.alipayResumeID, a.Remark
  5821. INTO #T
  5822. FROM exInterview a WITH(NOLOCK), paCvAlipayRelation b WITH(NOLOCK)
  5823. WHERE a.cvMainID = b.cvMainID
  5824. AND a.AddDate > @BeginDate
  5825. SELECT * FROM #T
  5826. SELECT a.ViewDate, a.Reply, b.alipayResumeID, a.JobID
  5827. FROM exjobapply a WITH(NOLOCK INDEX(IX_ExJobApply_Date)), paCvAlipayRelation b WITH(NOLOCK)
  5828. WHERE a.cvMainID = b.cvMainID
  5829. AND (a.AddDate > @BeginDate OR a.ViewDate > @BeginDate OR a.ReplyDate > @BeginDate)
  5830. AND NOT EXISTS(SELECT 'x' FROM #T WHERE alipayResumeID = b.alipayResumeID AND JobID = a.JobID)
  5831. DROP TABLE #T
  5832. END
  5833. GO
  5834. /****** Object: StoredProcedure [dbo].[procRecruitmentImageByRmIDSelect] Script Date: 2018/12/13 19:11:48 ******/
  5835. SET ANSI_NULLS ON
  5836. GO
  5837. SET QUOTED_IDENTIFIER ON
  5838. GO
  5839. --#####################################################
  5840. --创建时间:2014.11.5
  5841. --创建人:NICK
  5842. --说明:获取招聘会图片
  5843. --#####################################################
  5844. CREATE PROCEDURE [dbo].[procRecruitmentImageByRmIDSelect]
  5845. (
  5846. @RmID INT
  5847. )
  5848. AS
  5849. BEGIN
  5850. SELECT * FROM RecruitmentImage
  5851. WHERE recruitmentid=@RmID
  5852. ORDER BY orderno ,adddate DESC
  5853. END
  5854. GO
  5855. /****** Object: StoredProcedure [dbo].[ProcRecruitmentListInsert] Script Date: 2018/12/13 19:11:48 ******/
  5856. SET ANSI_NULLS ON
  5857. GO
  5858. SET QUOTED_IDENTIFIER ON
  5859. GO
  5860. CREATE PROCEDURE [dbo].[ProcRecruitmentListInsert]
  5861. AS
  5862. BEGIN
  5863. DECLARE @ID INT, @Count INT
  5864. SELECT TOP 0 * INTO #t fROM ShortDb..RecruitmentList
  5865. SET @ID = 0
  5866. WHILE EXISTS(SELECT 'x' FROM dcSubSite WHERE IsMainSite = 1 AND ID > @ID)
  5867. BEGIN
  5868. SELECT TOP 1 @ID = ID FROM dcSubSite WHERE IsMainSite = 1 AND ID > @ID ORDER BY ID
  5869. SELECT @Count = COUNT(*)
  5870. FROM Recruitment a, dcRegion b, RecruitmentPlace c, RecruitmentDept d
  5871. WHERE d.ID = a.RecruitmentDeptID
  5872. AND d.ID <> 1767
  5873. AND b.ID = c.dcRegionID
  5874. AND a.RecruitmentPlaceId = c.id
  5875. AND LEFT(c.dcRegionID, 2) = @ID
  5876. AND EndDate>GETDATE()
  5877. AND a.IsPause = 0
  5878. AND Len(ManagerUserID)>0
  5879. IF @COUNT > 200
  5880. SET @COUNT = 200
  5881. INSERT INTO #T
  5882. SELECT @ID Provinceid, *, @COUNT AS cnt
  5883. FROM (SELECT TOP 200 ROW_NUMBER() OVER(ORDER BY OrderBy, a.EndDate) AS Rows,
  5884. a.ID, a.RecruitmentName, a.EndDate, a.BeginDate,
  5885. c.PlaceName, c.Address, b.Description City
  5886. FROM Recruitment a, dcRegion b, RecruitmentPlace c, RecruitmentDept d
  5887. WHERE d.ID = a.RecruitmentDeptID
  5888. AND d.ID<>1767
  5889. AND b.ID = c.dcRegionID
  5890. AND a.RecruitmentPlaceId = c.id
  5891. AND LEFT(c.dcRegionID, 2) = @ID
  5892. AND EndDate>GETDATE()
  5893. AND a.IsPause = 0
  5894. AND LEN(ManagerUserID)>0
  5895. ) AS a
  5896. END
  5897. TRUNCATE TABLE ShortDb..RecruitmentList
  5898. INSERT ShortDb..RecruitmentList SELECT * FROM #t
  5899. END
  5900. GO
  5901. /****** Object: StoredProcedure [dbo].[procRecruitmentPlaceByKeyWordSelect] Script Date: 2018/12/13 19:11:48 ******/
  5902. SET ANSI_NULLS ON
  5903. GO
  5904. SET QUOTED_IDENTIFIER ON
  5905. GO
  5906. --#####################################################
  5907. --创建时间:2014.11.5
  5908. --创建人:NICK
  5909. --说明:根据关键词搜索招聘会
  5910. --#####################################################
  5911. CREATE PROCEDURE [dbo].[procRecruitmentPlaceByKeyWordSelect]
  5912. (
  5913. @keyword VARCHAR(50)
  5914. )
  5915. AS
  5916. BEGIN
  5917. SELECT TOP 10 a.ID,a.RecruitmentName,a.EndDate,a.BeginDate,c.PlaceName,c.Address,b.Description City
  5918. From Recruitment a,dcRegion b,RecruitmentPlace c,RecruitmentDept d
  5919. Where d.ID=a.RecruitmentDeptID
  5920. AND d.ID<>1767
  5921. AND b.ID=c.dcRegionID
  5922. AND a.RecruitmentPlaceId=c.id
  5923. And EndDate>GetDate()
  5924. And a.IsPause=0 And Len(ManagerUserID)>0
  5925. And (a.RecruitmentName like '%'+@keyword+'%' OR c.PlaceName like '%'+@keyword+'%' OR c.Address like '%'+@keyword+'%')
  5926. ORDER BY orderby, a.EndDate
  5927. END
  5928. GO
  5929. /****** Object: StoredProcedure [dbo].[procRecruitmentPlaceByRegionID2Select] Script Date: 2018/12/13 19:11:49 ******/
  5930. SET ANSI_NULLS ON
  5931. GO
  5932. SET QUOTED_IDENTIFIER ON
  5933. GO
  5934. --#####################################################
  5935. --创建时间:2014.11.5
  5936. --创建人:NICK
  5937. --说明:获取场馆
  5938. --#####################################################
  5939. CREATE PROCEDURE [dbo].[procRecruitmentPlaceByRegionID2Select]
  5940. (
  5941. @RegionID INT
  5942. )
  5943. AS
  5944. BEGIN
  5945. SELECT * FROM RecruitmentPlace x
  5946. WHERE dcRegionID like ''+CONVERT(VARCHAR(6),@RegionID)+'%'
  5947. AND LEN(VerifyMan)>0
  5948. AND IsCampus=0
  5949. AND EXISTS(
  5950. SELECT TOP 1 'x'
  5951. FROM cvMain a WITH(NOLOCK)
  5952. INNER JOIN marketdb..RmInvitationCode b WITH(NOLOCK)
  5953. ON a.paMainID=b.paMainID
  5954. AND b.Valid=1
  5955. INNER JOIN marketdb..RmProject c WITH(NOLOCK)
  5956. ON b.RmProjectID=c.ID INNER JOIN Recruitment d WITH(NOLOCK)
  5957. ON c.RecruitmentID=d.ID INNER JOIN RecruitmentPlace e WITH(NOLOCK)
  5958. ON d.RecruitmentPlaceID=e.ID
  5959. AND e.ID=x.ID
  5960. AND b.AddDate>GETDATE()-90
  5961. )
  5962. END
  5963. GO
  5964. /****** Object: StoredProcedure [dbo].[procRecruitmentPlaceByRegionIDSelect] Script Date: 2018/12/13 19:11:49 ******/
  5965. SET ANSI_NULLS ON
  5966. GO
  5967. SET QUOTED_IDENTIFIER ON
  5968. GO
  5969. --#####################################################
  5970. --创建时间:2014.10.31
  5971. --创建人:Nick
  5972. --说明:获取场馆
  5973. --#####################################################
  5974. CREATE PROCEDURE [dbo].[procRecruitmentPlaceByRegionIDSelect]
  5975. (
  5976. @RegionID VARCHAR(6)
  5977. )
  5978. AS
  5979. BEGIN TRY
  5980. SELECT * FROM RecruitmentPlace
  5981. WHERE dcRegionID LIKE @RegionID+'%'
  5982. AND LEN(VerifyMan)>0
  5983. AND EXISTS(
  5984. SELECT 'X'
  5985. FROM marketdb..RmInvitationCode a,marketdb..RmProject b,Recruitment c
  5986. WHERE a.RmProjectID=b.ID
  5987. AND b.RecruitmentID=c.ID
  5988. AND c.RecruitmentPlaceID=RecruitmentPlace.ID
  5989. AND a.Valid=1)
  5990. END TRY
  5991. BEGIN CATCH
  5992. RETURN 0
  5993. END CATCH
  5994. GO
  5995. /****** Object: StoredProcedure [dbo].[procRecruitmentPlaceMapBarIDSelect] Script Date: 2018/12/13 19:11:49 ******/
  5996. SET ANSI_NULLS ON
  5997. GO
  5998. SET QUOTED_IDENTIFIER ON
  5999. GO
  6000. --#####################################################
  6001. --创建时间:2014.11.5
  6002. --创建人:NICK
  6003. --说明:获取招聘会的mapbarID
  6004. --#####################################################
  6005. CREATE PROCEDURE [dbo].[procRecruitmentPlaceMapBarIDSelect]
  6006. (
  6007. @regionID VARCHAR(6)
  6008. )
  6009. AS
  6010. BEGIN
  6011. SELECT DISTINCT MapBarId2 FROM RecruitmentPlace WHERE dcRegionID LIKE @regionID + '%'
  6012. END
  6013. GO
  6014. /****** Object: StoredProcedure [dbo].[procRecruitmentSelect] Script Date: 2018/12/13 19:11:50 ******/
  6015. SET ANSI_NULLS ON
  6016. GO
  6017. SET QUOTED_IDENTIFIER ON
  6018. GO
  6019. CREATE PROCEDURE [dbo].[procRecruitmentSelect]
  6020. (
  6021. @Type INT, --招聘会类型 0 全部 1 校园招聘会 2社会招聘会
  6022. @dcRegionID INT, --地区编号 0表示全部 2位表示省份 4位表示城市
  6023. @PlaceID INT, --场馆ID
  6024. @BeginDate VARCHAR(50),--开始时间 默认两年前数据
  6025. @EndDate VARCHAR(50), --结束时间
  6026. @LocationRegionID VARCHAR(10), --求职者所在地区
  6027. @PageNo INT --页码
  6028. )
  6029. AS
  6030. BEGIN
  6031. SET NOCOUNT ON
  6032. IF LEN(LTRIM(@LocationRegionID))=0 OR @LocationRegionID = '0'
  6033. SET @LocationRegionID = 10
  6034. DECLARE @SQL VARCHAR(MAX)
  6035. DECLARE @WHERE VARCHAR(MAX),@WHERE2 VARCHAR(MAX) --查询条件
  6036. DECLARE @TotalNum INT --总量
  6037. IF @PageNo = 0
  6038. BEGIN
  6039. SET @PageNo = 1
  6040. END
  6041. SET @SQL = ''
  6042. SET @WHERE = ''
  6043. SET @WHERE2 = ''
  6044. --筛选条件
  6045. IF @Type = 1 --校园招聘会
  6046. BEGIN
  6047. SET @WHERE = @WHERE + ' AND a.IsSchool = 1'
  6048. SET @WHERE2 = @WHERE2 + ' AND a.IsSchool = 1'
  6049. END
  6050. IF @Type = 2 --社会招聘会
  6051. BEGIN
  6052. SET @WHERE = @WHERE + ' AND a.IsSchool <> 1'
  6053. SET @WHERE2 = @WHERE2 + ' AND a.IsSchool <> 1'
  6054. END
  6055. IF @dcRegionID<>0 --选择地区
  6056. BEGIN
  6057. SET @WHERE = @WHERE +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6),@dcRegionID)+'%'' '
  6058. SET @WHERE2 = @WHERE2 +' AND c.dcRegionID like '''+CONVERT(VARCHAR(6),@dcRegionID)+'%'' '
  6059. END
  6060. IF @PlaceID<>0 --筛选场馆
  6061. BEGIN
  6062. SET @WHERE = @WHERE + ' AND c.ID = '+CONVERT(VARCHAR(20),@PlaceID)
  6063. SET @WHERE2 = @WHERE2 + ' AND c.ID = '+CONVERT(VARCHAR(20),@PlaceID)
  6064. END
  6065. IF @BeginDate<>'' AND @EndDate<>'' --选择时间
  6066. BEGIN
  6067. SET @WHERE = @WHERE + ' AND EndDate >= '''+@BeginDate +''' AND EndDate<'''+@EndDate+''''
  6068. END
  6069. --创建临时表 存放招聘会
  6070. CREATE TABLE #indextable(
  6071. [NUM] int identity(1,1),
  6072. ID INT NULL,
  6073. Type INT NULL,
  6074. DcRegionID INT
  6075. )
  6076. CREATE TABLE #indextable2(
  6077. [NUM] int identity(1,1),
  6078. ID INT NULL,
  6079. Type INT NULL,
  6080. dcRegionID INT
  6081. )
  6082. IF @dcRegionID = 0 AND @PlaceID = 0
  6083. BEGIN
  6084. IF LEN(@LocationRegionID)>=4
  6085. BEGIN
  6086. SET @SQL ='
  6087. INSERT INTO #indextable2(ID,Type,dcRegionID)
  6088. SELECT a.ID,a.IsSchool,b.ID
  6089. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6090. WHERE d.ID=a.RecruitmentDeptID
  6091. AND b.ID=c.dcRegionID
  6092. AND a.RecruitmentPlaceId=c.id
  6093. AND a.ManagerUserID IS NOT NULL
  6094. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6095. AND EndDate > GETDATE() ORDER BY a.BeginDate ASC'
  6096. EXEC(@SQL)
  6097. ----------------------未过期
  6098. --本城市
  6099. SET @SQL ='
  6100. INSERT INTO #indextable(ID,Type,dcRegionID)
  6101. SELECT a.ID,a.Type,a.dcRegionID
  6102. FROM #indextable2 a
  6103. WHERE DcRegionID LIKE '''+LEFT(@LocationRegionID,4)+'%''
  6104. '
  6105. EXEC(@SQL)
  6106. --本省份
  6107. SET @SQL ='
  6108. INSERT INTO #indextable(ID,Type,dcRegionID)
  6109. SELECT a.ID,a.Type,a.dcRegionID
  6110. FROM #indextable2 a
  6111. WHERE a.DcRegionID LIKE '''+LEFT(@LocationRegionID,2)+'%''
  6112. AND a.DcRegionID NOT LIKE '''+LEFT(@LocationRegionID,4)+'%''
  6113. '
  6114. EXEC(@SQL)
  6115. --临近省份
  6116. SET @SQL ='
  6117. INSERT INTO #indextable(ID,Type,dcRegionID)
  6118. SELECT a.ID,a.Type,a.dcRegionID
  6119. FROM #indextable2 a
  6120. WHERE LEFT(a.DcRegionID,2) IN (SELECT NearProvinceID FROM dcProvinceNear WITH(NOLOCK) WHERE dcProvinceID = '+LEFT(@LocationRegionID,2)+')
  6121. '
  6122. EXEC(@SQL)
  6123. --其他省份
  6124. SET @SQL ='
  6125. INSERT INTO #indextable(ID,Type,dcRegionID)
  6126. SELECT a.ID,a.Type,a.dcRegionID
  6127. FROM #indextable2 a
  6128. WHERE LEFT(a.DcRegionID,2) NOT IN (SELECT NearProvinceID FROM dcProvinceNear WITH(NOLOCK) WHERE dcProvinceID = '+LEFT(@LocationRegionID,2)+')
  6129. AND LEFT(DcRegionID,2)<>'+LEFT(@LocationRegionID,2)+'
  6130. '
  6131. EXEC(@SQL)
  6132. ------------------过期
  6133. SET @SQL ='
  6134. INSERT INTO #indextable(ID,Type,dcRegionID)
  6135. SELECT a.ID,a.IsSchool,b.ID
  6136. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6137. WHERE d.ID=a.RecruitmentDeptID
  6138. AND b.ID=c.dcRegionID
  6139. AND a.RecruitmentPlaceId=c.id
  6140. AND a.ManagerUserID IS NOT NULL
  6141. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6142. AND EndDate < GETDATE()
  6143. AND EndDate>GetDate()-365
  6144. ORDER BY EndDate DESC'
  6145. EXEC(@SQL)
  6146. END
  6147. IF LEN(@LocationRegionID)=2
  6148. BEGIN
  6149. --本省份
  6150. SET @SQL ='
  6151. INSERT INTO #indextable(ID,Type,dcRegionID)
  6152. SELECT a.ID,a.IsSchool,b.ID
  6153. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6154. WHERE d.ID=a.RecruitmentDeptID
  6155. AND b.ID=c.dcRegionID
  6156. AND a.RecruitmentPlaceId=c.id
  6157. AND a.ManagerUserID IS NOT NULL
  6158. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6159. AND c.DcRegionID LIKE '''+LTRIM(LEFT(@LocationRegionID,2))+'%''
  6160. AND EndDate > GETDATE() ORDER BY a.BeginDate '
  6161. EXEC(@SQL)
  6162. print '$$'+@SQL
  6163. --临近省份
  6164. SET @SQL ='
  6165. INSERT INTO #indextable(ID,Type,dcRegionID)
  6166. SELECT a.ID,a.IsSchool,b.ID
  6167. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6168. WHERE d.ID=a.RecruitmentDeptID
  6169. AND b.ID=c.dcRegionID
  6170. AND a.RecruitmentPlaceId=c.id
  6171. AND a.ManagerUserID IS NOT NULL
  6172. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6173. AND LEFT(c.DcRegionID,2) IN (SELECT NearProvinceID FROM dcProvinceNear WHERE dcProvinceID = LEFT('+@LocationRegionID+',2))
  6174. AND EndDate > GETDATE() ORDER BY a.EndDate'
  6175. EXEC(@SQL)
  6176. print '$$'+@SQL
  6177. --其他省份
  6178. SET @SQL ='
  6179. INSERT INTO #indextable(ID,Type,dcRegionID)
  6180. SELECT a.ID,a.IsSchool,b.ID
  6181. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6182. WHERE d.ID=a.RecruitmentDeptID
  6183. AND b.ID=c.dcRegionID
  6184. AND a.RecruitmentPlaceId=c.id
  6185. AND a.ManagerUserID IS NOT NULL
  6186. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6187. AND LEFT(c.DcRegionID,2) NOT IN (SELECT NearProvinceID FROM dcProvinceNear WHERE dcProvinceID = LEFT('+@LocationRegionID+',2))
  6188. AND LEFT(DcRegionID,2)<>'+@LocationRegionID+'
  6189. AND EndDate > GETDATE() ORDER BY a.EndDate'
  6190. EXEC(@SQL)
  6191. print '$$'+@SQL
  6192. ------------------过期
  6193. SET @SQL ='
  6194. INSERT INTO #indextable(ID,Type,dcRegionID)
  6195. SELECT a.ID,a.IsSchool,b.ID
  6196. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6197. WHERE d.ID=a.RecruitmentDeptID
  6198. AND b.ID=c.dcRegionID
  6199. AND a.RecruitmentPlaceId=c.id
  6200. AND a.ManagerUserID IS NOT NULL
  6201. And a.IsPause=0 and d.IsPause=0 '+@WHERE +'
  6202. AND EndDate < GETDATE()
  6203. AND EndDate>GetDate()-365
  6204. ORDER BY EndDate DESC'
  6205. EXEC(@SQL)
  6206. print '$$'+@SQL
  6207. END
  6208. END
  6209. ELSE
  6210. BEGIN
  6211. IF @BeginDate<>'' AND @EndDate<>''
  6212. BEGIN
  6213. SET @SQL ='
  6214. INSERT INTO #indextable(ID,Type,dcRegionID)
  6215. SELECT a.ID,a.IsSchool,b.ID
  6216. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6217. WHERE d.ID=a.RecruitmentDeptID
  6218. AND b.ID=c.dcRegionID
  6219. AND a.RecruitmentPlaceId=c.id
  6220. AND a.ManagerUserID IS NOT NULL
  6221. And a.IsPause=0 and d.IsPause=0 '+@WHERE +' ORDER BY a.BeginDate '
  6222. EXEC(@SQL)
  6223. END
  6224. ELSE
  6225. BEGIN
  6226. SET @SQL = '
  6227. INSERT INTO #indextable(ID,Type,dcRegionID)
  6228. SELECT a.ID,a.IsSchool,b.ID
  6229. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6230. WHERE d.ID=a.RecruitmentDeptID
  6231. AND b.ID=c.dcRegionID
  6232. AND a.RecruitmentPlaceId=c.id
  6233. AND a.ManagerUserID IS NOT NULL
  6234. And a.IsPause=0 and d.IsPause=0 '+@WHERE +
  6235. ' AND EndDate>GetDate() ORDER BY a.BeginDate ASC'
  6236. EXEC(@SQL)
  6237. SET @SQL ='
  6238. INSERT INTO #indextable(ID,Type,dcRegionID)
  6239. SELECT a.ID,a.IsSchool,b.ID
  6240. FROM MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6241. WHERE d.ID=a.RecruitmentDeptID
  6242. AND b.ID=c.dcRegionID
  6243. AND a.RecruitmentPlaceId=c.id
  6244. AND a.ManagerUserID IS NOT NULL
  6245. And a.IsPause=0 And d.IsPause=0 '+@WHERE +
  6246. ' And EndDate < GetDate() and EndDate>GetDate()-365 ORDER BY a.BeginDate DESC '
  6247. EXEC(@SQL)
  6248. END
  6249. END
  6250. --INSERT INTO #RmTmp2 SELECT * ,ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS RowNum FROM #RmTmp1
  6251. DECLARE @SQLTmp VARCHAR(MAX)
  6252. SET @SQLTmp = ''
  6253. SET @SQLTmp =' FROM MarketDB..Recruitment a WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK)
  6254. WHERE a.RecruitmentPlaceId=c.id
  6255. AND a.ID IN (SELECT ID FROM #indextable) '
  6256. --创建临时表 存放招聘会类型
  6257. CREATE TABLE #RType(
  6258. [Type] [int] NOT NULL
  6259. )
  6260. INSERT INTO #RType
  6261. SELECT distinct Type FROM #indextable
  6262. --创建临时表 存放地区信息
  6263. CREATE TABLE #Region(
  6264. [ID] [int] NOT NULL,
  6265. [Description] NVARCHAR(50) NULL,
  6266. [OrderNo] INT NULL
  6267. )
  6268. IF @dcRegionID = 0 --取省份信息
  6269. BEGIN
  6270. INSERT INTO #Region (ID)
  6271. SELECT distinct LEFT(dcRegionID,2) FROM #indextable
  6272. UPDATE a SET OrderNo = b.OrderNo,a.Description = b.Description FROM #Region a, MainDB..DcRegion b
  6273. WHERE a.ID = b.ID
  6274. END
  6275. IF LEN(@dcRegionID)=2 AND @PlaceID=0 --取城市信息
  6276. BEGIN
  6277. SET @SQL = '
  6278. INSERT INTO #Region (ID)
  6279. SELECT SUBSTRING(dcRegionID,0,5) '+@SQLTmp +
  6280. ' GROUP BY SUBSTRING(dcRegionID,0,5)'
  6281. print '$$'+@SQL
  6282. EXEC(@SQL)
  6283. DELETE FROM #Region WHERE LEN(ID)=2
  6284. UPDATE a SET OrderNo = b.OrderNo FROM #Region a, MainDB..DcRegion b WITH(NOLOCK)
  6285. WHERE a.ID = b.ID
  6286. UPDATE a
  6287. SET a.Description = b.Description
  6288. FROM #Region a,MainDB..dcRegion b
  6289. WHERE a.ID = b.ID
  6290. END
  6291. --创建临时表 存放场馆
  6292. CREATE TABLE #RmPlace(
  6293. [ID] [int] NOT NULL,
  6294. [PlaceName] NVARCHAR(100) NOT NULL,
  6295. [Lng] decimal(8,5) NULL,
  6296. [Lat] decimal(8,5) NULL
  6297. )
  6298. IF @dcRegionID<>0 AND @PlaceID=0
  6299. BEGIN
  6300. SET @SQL = '
  6301. INSERT INTO #RmPlace
  6302. SELECT e.ID,e.PlaceName,e.Lng,e.Lat
  6303. FROM MarketDB..RmPlace e WITH(NOLOCK),
  6304. ( SELECT c.ID,count(*) cnt '+@SQLTmp+' group by c.ID
  6305. )f
  6306. WHERE e.ID = f.ID
  6307. ORDER BY e.dcregionid,f.cnt'
  6308. --PRINT(@SQL)
  6309. EXEC(@SQL)
  6310. print '$$'+@SQL
  6311. END
  6312. --获取招聘会列表
  6313. DECLARE @RecordCount INT
  6314. DECLARE @PageSize INT
  6315. SET @PageSize = 20
  6316. DECLARE @PageLowerBound INT --定义此页的底码
  6317. DECLARE @PageUpperBound INT --定义此页的顶码
  6318. SET @PageLowerBound = (@PageNo -1) * @pagesize
  6319. SET @PageUpperBound = @PageLowerBound + @pagesize
  6320. SELECT @RecordCount = COUNT(*) FROM #indextable
  6321. DELETE FROM #indextable WHERE Num <= @PageLowerBound Or Num > @PageUpperBound
  6322. --创建临时表 存放招聘会
  6323. CREATE TABLE #Rm(
  6324. [ID] [int] NOT NULL,
  6325. [RecruitmentName] NVARCHAR(100) NULL,
  6326. [EndDate] SMALLDATETIME NULL,
  6327. [BeginDate] SMALLDATETIME NULL,
  6328. [PlaceID] INT NULL,
  6329. [PlaceName] NVARCHAR(100) NULL,
  6330. [Address] NVARCHAR(200) NULL,
  6331. [City] NVARCHAR(200) NULL,
  6332. [Lng] VARCHAR(20) NULL,
  6333. [Lat] VARCHAR(20) NULL,
  6334. [mapbarid] VARCHAR(100) NULL,
  6335. [dcregionid] VARCHAR(10) NULL,
  6336. [IsSchool] VARCHAR(20) NULL,
  6337. [OrderNo] [INT] NULL,
  6338. RecruitmentDeptID INT NULL,
  6339. [PhotoNum] [INT] NULL,
  6340. [IsAttention] [INT] NULL,
  6341. BusLine NVARCHAR(500)
  6342. )
  6343. INSERT INTO #Rm
  6344. SELECT a.ID,a.RecruitmentName,a.EndDate,a.BeginDate,c.id as PlaceID,c.PlaceName,
  6345. c.Address,b.Description City,c.Lng, c.Lat,c.mapbarid,c.dcregionid,a.IsSchool,
  6346. b.OrderNo,a.RecruitmentDeptID,0 AS PhotoNum,0 AS IsAttention,c.BusLine
  6347. FROM #indextable e,MarketDB..Recruitment a WITH(NOLOCK),maindb..dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6348. WHERE e.ID = a.ID
  6349. AND d.ID=a.RecruitmentDeptID
  6350. AND b.ID=c.dcRegionID
  6351. AND a.RecruitmentPlaceId=c.id
  6352. AND a.ManagerUserID IS NOT NULL
  6353. ORDER BY e.Num ASC
  6354. --修改照片上传数量
  6355. UPDATE a
  6356. SET PhotoNum =
  6357. (
  6358. SELECT COUNT(*)
  6359. FROM marketdb..rmplacephoto m WITH(NOLOCK),marketdb..rmmyplace n WITH(NOLOCK)
  6360. WHERE m.rmmyplaceid=n.id
  6361. AND n.rmdeptid=a.RecruitmentDeptID
  6362. AND n.rmplaceid=a.PlaceID
  6363. AND m.verifyDate is NOT NULL
  6364. ) FROM #Rm a
  6365. --有招聘会的日期 (一个月之内)
  6366. CREATE TABLE #RmDate(
  6367. [Date] VARCHAR(30)
  6368. )
  6369. SET @SQL = '
  6370. INSERT INTO #RmDate
  6371. SELECT CONVERT(VARCHAR(10), a.BeginDate,20)
  6372. FROM MarketDB..Recruitment a WITH(NOLOCK),dcRegion b WITH(NOLOCK),MarketDB..RmPlace c WITH(NOLOCK),MarketDB..RmDept d WITH(NOLOCK)
  6373. WHERE d.ID=a.RecruitmentDeptID
  6374. AND b.ID=c.dcRegionID
  6375. AND a.RecruitmentPlaceId=c.id
  6376. And a.IsPause=0 and d.IsPause=0 '+@WHERE2+'
  6377. AND BeginDate > DATEADD(ms,0,DATEADD(dd, DATEDIFF(dd,0,GETDATE()), 0))
  6378. AND BeginDate <DATEADD(mm,1,GETDATE())
  6379. GROUP BY CONVERT(VARCHAR(10), a.BeginDate,20)
  6380. HAVING COUNT(1)>0
  6381. '
  6382. EXEC(@SQL)
  6383. SELECT @RecordCount CNT --总数
  6384. SELECT * FROM #RType --招聘会类型
  6385. SELECT * FROM #Region ORDER BY OrderNo --地区
  6386. SELECT * FROM #RmPlace --场馆
  6387. SELECT * FROM #Rm --招聘会列表
  6388. --有招聘会的日期
  6389. SELECT * FROM #RmDate
  6390. SET NOCOUNT OFF
  6391. END
  6392. GO
  6393. /****** Object: StoredProcedure [dbo].[ProcRecruitmentTop9Select] Script Date: 2018/12/13 19:11:50 ******/
  6394. SET ANSI_NULLS ON
  6395. GO
  6396. SET QUOTED_IDENTIFIER ON
  6397. GO
  6398. CREATE PROCEDURE [dbo].[ProcRecruitmentTop9Select]
  6399. (
  6400. @ProvinceId INT
  6401. )
  6402. AS
  6403. --INSERT INTO procLog select 'ProcRecruitmentTop9Seleect', '', getdate()
  6404. BEGIN
  6405. SELECT * FROM RecruitmentTop9 WITH(NOLOCK) WHERE ProvinceId = @ProvinceID ORDER BY RowID
  6406. END
  6407. GO
  6408. /****** Object: StoredProcedure [dbo].[procRefererInsert] Script Date: 2018/12/13 19:11:50 ******/
  6409. SET ANSI_NULLS ON
  6410. GO
  6411. SET QUOTED_IDENTIFIER ON
  6412. GO
  6413. --创建人 Lambo 20101013
  6414. --用于首页记录访问记录
  6415. CREATE PROCEDURE [dbo].[procRefererInsert]
  6416. (
  6417. @province_id SMALLINT,
  6418. @versionid SMALLINT,
  6419. @referer VARCHAR(190),
  6420. @ip VARCHAR(15),
  6421. @keyve NVARCHAR(50)
  6422. )
  6423. AS
  6424. SET NOCOUNT ON
  6425. IF CHARINDEX(',', @ip) > 0
  6426. SET @Ip = LEFT(@Ip, CHARINDEX(',', @Ip) - 1)
  6427. BEGIN
  6428. SET NOCOUNT ON
  6429. SELECT TOP 1 ip
  6430. FROM referer WITH(NOLOCK)
  6431. WHERE versionid=@versionid
  6432. AND referer=@referer
  6433. AND ip=@ip
  6434. AND LoginDate > DATEADD(MINUTE, -10, GETDATE())
  6435. IF (@@ROWCOUNT=0)
  6436. BEGIN
  6437. INSERT INTO referer (province_id,versionid,referer,ip,keywords)
  6438. VALUES(ISNULL(@province_id, 0), ISNULL(@versionid, 0),@referer,@ip,@keyve)
  6439. END
  6440. SET NOCOUNT OFF
  6441. END
  6442. GO
  6443. /****** Object: StoredProcedure [dbo].[procRefererInsert2] Script Date: 2018/12/13 19:11:51 ******/
  6444. SET ANSI_NULLS ON
  6445. GO
  6446. SET QUOTED_IDENTIFIER ON
  6447. GO
  6448. --创建人 Lambo 20101013
  6449. --用于首页记录访问记录
  6450. --sean 20150324 sean add sessionid
  6451. CREATE ProCEDURE [dbo].[procRefererInsert2]
  6452. (
  6453. @Province_id SMALLINT,
  6454. @Versionid SMALLINT,
  6455. @Referer VARCHAR(190),
  6456. @Ip VARCHAR(15),
  6457. @Keyve NVARCHAR(50),
  6458. @SessionId VARCHAR(30)
  6459. )
  6460. AS
  6461. SET NOCOUNT ON
  6462. IF CHARINDEX(',', @ip) > 0
  6463. SET @Ip = LEFT(@Ip, CHARINDEX(',', @Ip) - 1)
  6464. BEGIN
  6465. SET NOCOUNT ON
  6466. SELECT TOP 1 Ip
  6467. FROM Referer WITH(NOLOCK)
  6468. WHERE Versionid = @Versionid
  6469. AND Referer = @Referer
  6470. AND Ip = @Ip
  6471. AND LoginDate > DATEADD(MINUTE, -10, GETDATE())
  6472. IF (@@ROWCOUNT=0)
  6473. BEGIN
  6474. INSERT INTO Referer(Province_id, Versionid, Referer, Ip, Keywords, SessionId)
  6475. VALUES(ISNULL(@Province_id, 0), ISNULL(@Versionid, 0), @Referer, @Ip, @Keyve, @SessionId)
  6476. END
  6477. END
  6478. GO
  6479. /****** Object: StoredProcedure [dbo].[ProcRefuseIpInsert] Script Date: 2018/12/13 19:11:52 ******/
  6480. SET ANSI_NULLS ON
  6481. GO
  6482. SET QUOTED_IDENTIFIER ON
  6483. GO
  6484. CREATE PROCEDURE [dbo].[ProcRefuseIpInsert]
  6485. AS
  6486. BEGIN
  6487. SELECT Ip, COUNT(*) VisitNumber, DATEADD(HOUR, 6, GETDATE()) ReleaseTime
  6488. INTO #t
  6489. FROM Searchip
  6490. --WHERE AddDate > DATEADD(MINUTE, -30, GETDATE())
  6491. GROUP BY ip
  6492. HAVING COUNT(*) > 250
  6493. INSERT INTO #t
  6494. SELECT Ip, COUNT(*) VisitNumber, DATEADD(HOUR, 2, GETDATE()) ReleaseTime
  6495. FROM Searchip
  6496. --WHERE AddDate > DATEADD(MINUTE, -30, GETDATE())
  6497. GROUP BY ip
  6498. HAVING COUNT(*) BETWEEN 151 AND 250
  6499. INSERT INTO #t
  6500. SELECT Ip, COUNT(*) VisitNumber, DATEADD(MINUTE, 30, GETDATE()) ReleaseTime
  6501. FROM Searchip
  6502. WHERE AddDate > DATEADD(MINUTE, -5, GETDATE())
  6503. AND IP NOT IN(SELECT IP FROM #t)
  6504. GROUP BY ip
  6505. HAVING COUNT(*) > 80
  6506. DELETE #t WHERE Ip NOT LIKE '%.%'
  6507. DELETE a
  6508. FROM RefuseIp a, #t b
  6509. WHERE a.Ip = b.Ip
  6510. AND a.ReleaseTime < b.ReleaseTime
  6511. AND a.IsForever = 0
  6512. DELETE #t WHERE Ip IN(SELECT Ip FROM RefuseIp)
  6513. INSERT RefuseIp(Ip, VisitNumber, ReleaseTime) SELECT Ip, VisitNumber, ReleaseTime FROM #t
  6514. DELETE RefuseIp WHERE ReleaseTime < GETDATE() AND IsForever = 0
  6515. DECLARE @Cnt INT, @Cnt2 INT
  6516. SELECT @Cnt = COUNT(*)
  6517. FROM SearchDb..paSearchCondition WITH(NOLOCK)
  6518. WHERE LogTime > DATEADD(MINUTE, -1, GETDATE())
  6519. SELECT @Cnt2 = SUM(SearchCount) FROM SearchCountLog WHERE Id > (SELECT TOP 1 ID - 10 FROM SearchCountLog ORDER BY Id DESC)
  6520. INSERT INTO SearchCountLog SELECT @Cnt, GETDATE()
  6521. SET @Cnt = (@Cnt * 10 + @Cnt2) / 40
  6522. SET @Cnt = @Cnt * 0.5
  6523. IF @Cnt > 3000
  6524. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) = 'a'
  6525. ELSE IF @Cnt > 2600
  6526. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0', ','))
  6527. ELSE IF @Cnt > 2500
  6528. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1', ','))
  6529. ELSE IF @Cnt > 2400
  6530. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2', ','))
  6531. ELSE IF @Cnt > 2300
  6532. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3', ','))
  6533. ELSE IF @Cnt > 2200
  6534. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3,4', ','))
  6535. ELSE IF @Cnt > 2100
  6536. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3,4,5', ','))
  6537. ELSE IF @Cnt > 2000
  6538. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3,4,5,6', ','))
  6539. ELSE IF @Cnt > 1900
  6540. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3,4,5,6,7', ','))
  6541. ELSE IF @Cnt > 1800
  6542. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0 AND RIGHT(a.Ip, 1) IN(SELECT A FROM dbo.FnSplit('0,1,2,3,4,5,6,7,8', ','))
  6543. ELSE
  6544. DELETE a FROM RefuseIp a, Ip_White b WHERE CHARINDEX(b.ip, a.Ip) > 0
  6545. DELETE SearchIp WHERE AddDate < DATEADD(MINUTE, -30, GETDATE())
  6546. update refuseip set isforever=1 where ip like '42.62.%'
  6547. update refuseip set isforever=1 where ip like '42.156.%'
  6548. update refuseip set isforever=1 where ip like '42.120.%'
  6549. update refuseip set isforever=1 where ip like '208.115.1%'
  6550. update refuseip set isforever=1 where ip like '212.7.%'
  6551. update refuseip set isforever=1 where ip like '122.80.60.226'
  6552. --
  6553. -- SELECT LEFT(ip, LEN(ip) - CHARINDEX('.', REVERSE(ip))) ip INTO #1 FROM Searchip
  6554. -- DELETE #1 WHERE Ip NOT LIKE '%.%.%'
  6555. -- SELECT ip, COUNT(*) Cnt INTO #2 FROM #1 GROUP BY Ip
  6556. --
  6557. -- SELECT Ip, Cnt VisitNumber, DATEADD(HOUR, 6, GETDATE()) ReleaseTime
  6558. -- INTO #tt
  6559. -- FROM #2
  6560. -- WHERE Cnt > 1000
  6561. --
  6562. -- INSERT RefuseIp SELECT *, GETDATE(), 0 FROM #tt WHERE IP NOT IN(SELECT IP FROM RefuseIp)
  6563. END
  6564. GO
  6565. /****** Object: StoredProcedure [dbo].[ProcReSendSmsMessage] Script Date: 2018/12/13 19:11:52 ******/
  6566. SET ANSI_NULLS ON
  6567. GO
  6568. SET QUOTED_IDENTIFIER ON
  6569. GO
  6570. --#####################################################
  6571. --创建时间:2014.11.4
  6572. --创建人:John
  6573. --说明:重新发送忘记密码通知短信
  6574. --#####################################################
  6575. CREATE PROCEDURE [dbo].[ProcReSendSmsMessage]
  6576. (
  6577. @askNo VARCHAR(40)
  6578. )
  6579. AS
  6580. BEGIN
  6581. DECLARE @cnt INT
  6582. SELECT @cnt = COUNT(1)
  6583. FROM SmsMessageLog
  6584. WHERE mobile =
  6585. (
  6586. SELECT TOP 1 mobile
  6587. FROM paGetPasswordLog WITH(NOLOCK)
  6588. WHERE askno = @askNo AND mobile IS NOT NULL
  6589. )
  6590. AND adddate > CONVERT(VARCHAR(10), GETDATE(), 23)
  6591. AND MsgType=104
  6592. IF @cnt < 5
  6593. BEGIN
  6594. INSERT INTO SmsMessageLog(SendMan, ManagerUserId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  6595. SELECT TOP 1 SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg
  6596. FROM smsmessagelog
  6597. WHERE mobile =
  6598. (
  6599. SELECT TOP 1 mobile
  6600. FROM paGetPasswordLog WITH(NOLOCK)
  6601. WHERE askno = @askNo AND mobile IS NOT NULL
  6602. )
  6603. AND adddate > CONVERT(VARCHAR(10), GETDATE(), 23)
  6604. AND MsgType=104 ORDER BY id DESC
  6605. RETURN @cnt
  6606. END
  6607. ELSE
  6608. BEGIN
  6609. RETURN -1
  6610. END
  6611. END
  6612. GO
  6613. /****** Object: StoredProcedure [dbo].[procRmCompanyCvByCvMainIDSelect] Script Date: 2018/12/13 19:11:53 ******/
  6614. SET ANSI_NULLS ON
  6615. GO
  6616. SET QUOTED_IDENTIFIER ON
  6617. GO
  6618. --#####################################################
  6619. --创建时间:2014.10.31
  6620. --创建人:Nick
  6621. --说明:
  6622. --#####################################################
  6623. CREATE PROCEDURE [dbo].[procRmCompanyCvByCvMainIDSelect]
  6624. (
  6625. @CvMainID INT,
  6626. @CpMainID INT
  6627. )
  6628. AS
  6629. BEGIN TRY
  6630. SELECT 'x' FROM RmCompanyCv WITH(NOLOCK)
  6631. WHERE cvMainID=@CvMainID AND cpMainID=@CpMainID
  6632. END TRY
  6633. BEGIN CATCH
  6634. RETURN 0
  6635. END CATCH
  6636. GO
  6637. /****** Object: StoredProcedure [dbo].[procRmInvitationCodeByPaMainIDSelect] Script Date: 2018/12/13 19:11:53 ******/
  6638. SET ANSI_NULLS ON
  6639. GO
  6640. SET QUOTED_IDENTIFIER ON
  6641. GO
  6642. --#####################################################
  6643. --创建时间:2014.10.31
  6644. --创建人:Nick
  6645. --说明:获取该简历在招聘会的认证信息
  6646. --#####################################################
  6647. CREATE PROCEDURE [dbo].[procRmInvitationCodeByPaMainIDSelect]
  6648. (
  6649. @paMainID VARCHAR(20)
  6650. )
  6651. AS
  6652. BEGIN TRY
  6653. SELECT AddDate
  6654. FROM marketdb..RmInvitationCode WITH(NOLOCK)
  6655. WHERE pamainid=@paMainID
  6656. AND valid=1
  6657. AND rmprojectid=1
  6658. AND adddate > GETDATE()-90
  6659. END TRY
  6660. BEGIN CATCH
  6661. RETURN 0
  6662. END CATCH
  6663. GO
  6664. /****** Object: StoredProcedure [dbo].[ProcRtx_LogSelect] Script Date: 2018/12/13 19:11:53 ******/
  6665. SET ANSI_NULLS ON
  6666. GO
  6667. SET QUOTED_IDENTIFIER ON
  6668. GO
  6669. CREATE procedure [dbo].[ProcRtx_LogSelect]
  6670. AS
  6671. BEGIN
  6672. SELECT TOP 10 * FROM Rtx_Log WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120) ORDER BY ID DESC
  6673. END
  6674. GO
  6675. /****** Object: StoredProcedure [dbo].[ProcRtxNotifyLogBycaPlaintInsert] Script Date: 2018/12/13 19:11:53 ******/
  6676. SET ANSI_NULLS ON
  6677. GO
  6678. SET QUOTED_IDENTIFIER ON
  6679. GO
  6680. CREATE PROCEDURE [dbo].[ProcRtxNotifyLogBycaPlaintInsert]
  6681. AS
  6682. BEGIN
  6683. IF EXISTS(SELECT 'x' FROM caPlaint WHERE ReplyType = 0)
  6684. BEGIN
  6685. SELECT caMainId, 9999 cpMainId, SPACE(20) Consultantid, Plaint, cvMainId INTO #t FROM caPlaint WHERE ReplyType = 0
  6686. UPDATE a SET a.cpMainID = b.cpMainId
  6687. FROM #t a, caMain b
  6688. WHERE a.caMainId = b.Id
  6689. UPDATE a SET a.ConsultantId = b.ConsultantId
  6690. FROM #t a, cpMain b
  6691. WHERE a.cpMainId = b.Id
  6692. UPDATE a SET a.ConsultantId = b.Superior
  6693. FROM #t a, ManagerUser b
  6694. WHERE a.ConsultantId = b.Id
  6695. AND (b.Status > 2 OR b.RtxStatus = 0)
  6696. DELETE #t WHERE ISNULL(ConsultantId, '') = ''
  6697. INSERT RtxNotifyLog
  6698. SELECT ConsultantId, '您有新的投诉,请及时处理', Plaint +
  6699. ' 企业编号=' + LTRIM(STR(cpMainID)) + ' 简历帐号' + LTRIM(STR(cvMainID)+' http://sysback.51rc.com/newoa/Operate/Complaint/CaPlaint'),
  6700. 0, 0, 0, Null, GETDATE()
  6701. FROM #t
  6702. END
  6703. END
  6704. GO
  6705. /****** Object: StoredProcedure [dbo].[ProcRtxNotifyLogInsert] Script Date: 2018/12/13 19:11:54 ******/
  6706. SET ANSI_NULLS ON
  6707. GO
  6708. SET QUOTED_IDENTIFIER ON
  6709. GO
  6710. --#####################################################
  6711. --创建时间:2014.10.28
  6712. --创建人:John
  6713. --说明:RTX通知日志新增
  6714. --#####################################################
  6715. CREATE PROCEDURE [dbo].[ProcRtxNotifyLogInsert]
  6716. (
  6717. @Receiver VARCHAR(2000),
  6718. @RtxTitle NVARCHAR(50),
  6719. @RtxMessage VARCHAR(1000),
  6720. @SendType TINYINT,
  6721. @ShowType TINYINT,
  6722. @DelayTime SMALLINT
  6723. )
  6724. AS
  6725. SET NOCOUNT ON
  6726. BEGIN TRY
  6727. IF @Receiver NOT LIKE '1,%'
  6728. INSERT INTO RtxNotifyLog (Receiver, RtxTitle, RtxMessage, SendType, ShowType, DelayTime)
  6729. SELECT @Receiver, @RtxTitle, @RtxMessage, @SendType, @ShowType, @DelayTime
  6730. END TRY
  6731. BEGIN CATCH
  6732. INSERT INTO RtxNotifyLog (Receiver, RtxTitle, RtxMessage, SendType, ShowType, DelayTime)
  6733. SELECT '112', 'Error:' + @RtxTitle, @Receiver + '|' + @RtxMessage, 0, 0, 1
  6734. END CATCH
  6735. GO
  6736. /****** Object: StoredProcedure [dbo].[ProcRtxNotifyLogSelect] Script Date: 2018/12/13 19:11:54 ******/
  6737. SET ANSI_NULLS ON
  6738. GO
  6739. SET QUOTED_IDENTIFIER ON
  6740. GO
  6741. CREATE PROCEDURE [dbo].[ProcRtxNotifyLogSelect]
  6742. AS
  6743. BEGIN
  6744. DECLARE @t AS TABLE(
  6745. ID int,
  6746. Receiver varchar(2000),
  6747. RtxTitle nvarchar(50),
  6748. RtxMessage varchar(1000),
  6749. SendType tinyint,
  6750. DelayTime smallint,
  6751. ShowType TinyInt,
  6752. SendTime smalldatetime,
  6753. AddTime smalldatetime,
  6754. IsDelete BIT,
  6755. IsSms BIT
  6756. )
  6757. INSERT INTO @t
  6758. SELECT TOP 100 *, 0 IsDelete, 0 IsSms FROM RtxNotifyLog WITH(NOLOCK) WHERE SendTime IS NULL
  6759. UPDATE @t SET IsDelete = 1
  6760. WHERE SendType = 0
  6761. AND NOT EXISTS(
  6762. SELECT 'x' FROM ManagerUser WITH(NOLOCK)
  6763. WHERE ID IN(SELECT * FROM dbo.Split(Receiver, ','))
  6764. AND RtxStatus IN(1, 2)
  6765. )
  6766. --
  6767. UPDATE @t SET IsSms = 1
  6768. WHERE SendType = 2
  6769. AND NOT EXISTS(
  6770. SELECT 'x' FROM ManagerUSer WITH(NOLOCK)
  6771. WHERE ID IN(SELECT * FROM dbo.Split(Receiver, ','))
  6772. AND RtxStatus IN(1, 2)
  6773. )
  6774. UPDATE RtxNotifyLog SET SendType = 4 WHERE ID IN(SELECT ID FROM @t WHERE IsDelete = 1)
  6775. UPDATE RtxNotifyLog SET SendType = 5 WHERE ID IN(SELECT ID FROM @t WHERE IsSms = 1)
  6776. UPDATE RtxNotifyLog SET SendTime = GETDATE() WHERE ID IN(SELECT ID FROM @t)
  6777. INSERT INTO SmsMessageLog(SendMan, ManagerUSerID, Mobile, Msg, IsCat, SmsType, MsgType)
  6778. SELECT 0, a.Receiver, b.Mobile, LEFT(a.RtxTitle + ',' + RtxMessage, 70), 0, 1, 205
  6779. FROM @t a, Oadb..WorkUSer b WITH(NOLOCK)
  6780. WHERE a.Receiver = b.ManagerUserId
  6781. AND b.JobStatus < 3
  6782. AND b.Mobile > ''
  6783. AND a.Receiver NOT LIKE '%,%'
  6784. AND a.IsSms = 1
  6785. UPDATE @t SET Receiver = REPLACE(',' + Receiver + ',', ',1,', ',001,')
  6786. UPDATE @t SET Receiver = SUBSTRING(Receiver, 2, LEN(Receiver) - 1)
  6787. SELECT * FROM @t WHERE IsDelete = 0
  6788. INSERT INTO ServiceRunLog(ServiceId, RunRows, RunId, RunStatus, RunMessage)
  6789. SELECT 2, @@RowCount, 0, 1, '提取Rtx数据'
  6790. END
  6791. GO
  6792. /****** Object: StoredProcedure [dbo].[ProcSalaryAnalysisByJobTypeSelect] Script Date: 2018/12/13 19:11:54 ******/
  6793. SET ANSI_NULLS ON
  6794. GO
  6795. SET QUOTED_IDENTIFIER ON
  6796. GO
  6797. --#####################################################
  6798. --创建时间:2014.11.3
  6799. --创建人:John
  6800. --说明:根据Jobtype和Region获取薪酬分析
  6801. --#####################################################
  6802. CREATE PROCEDURE [dbo].[ProcSalaryAnalysisByJobTypeSelect]
  6803. (
  6804. @dcRegionID VARCHAR(4),
  6805. @dcJobTypeID SMALLINT
  6806. )
  6807. AS
  6808. BEGIN
  6809. SELECT TOP 10 * FROM reportdb..SalaryReportJobtype WHERE dcRegionid = @dcRegionID AND dcJobTypeID = @dcJobTypeID
  6810. END
  6811. GO
  6812. /****** Object: StoredProcedure [dbo].[ProcSalaryAnalysisByRegionIDSelect] Script Date: 2018/12/13 19:11:54 ******/
  6813. SET ANSI_NULLS ON
  6814. GO
  6815. SET QUOTED_IDENTIFIER ON
  6816. GO
  6817. --#####################################################
  6818. --创建时间:2014.10.31
  6819. --创建人:John
  6820. --说明:根据RegionID获取该地区的各项数据
  6821. --#####################################################
  6822. CREATE PROCEDURE [dbo].[ProcSalaryAnalysisByRegionIDSelect]
  6823. (
  6824. @dcRegionID VARCHAR(6)
  6825. )
  6826. AS
  6827. BEGIN
  6828. SELECT TOP 10 * FROM reportdb..SalaryReportRegion WHERE dcRegionid = @dcRegionID
  6829. END
  6830. GO
  6831. /****** Object: StoredProcedure [dbo].[ProcSalaryRankByRegionIDSelect] Script Date: 2018/12/13 19:11:54 ******/
  6832. SET ANSI_NULLS ON
  6833. GO
  6834. SET QUOTED_IDENTIFIER ON
  6835. GO
  6836. --#####################################################
  6837. --创建时间:2014.10.31
  6838. --创建人:John
  6839. --说明:根据RegionID 获取该地区岗位薪酬排行
  6840. --#####################################################
  6841. CREATE PROCEDURE [dbo].[ProcSalaryRankByRegionIDSelect]
  6842. (
  6843. @dcRegionID VARCHAR(4)
  6844. )
  6845. AS
  6846. BEGIN
  6847. SELECT TOP 10 dcJobTypeID,AvgSalary FROM reportdb..SalaryReportJobType WHERE dcRegionid = @dcRegionID ORDER BY AvgSalary DESC
  6848. END
  6849. GO
  6850. /****** Object: StoredProcedure [dbo].[ProcSalaryReportBydcRegionIdSelect] Script Date: 2018/12/13 19:11:54 ******/
  6851. SET ANSI_NULLS ON
  6852. GO
  6853. SET QUOTED_IDENTIFIER ON
  6854. GO
  6855. --一分钟自动生成期望月薪
  6856. --harry
  6857. --2018-6-22
  6858. CREATE PROCEDURE [dbo].[ProcSalaryReportBydcRegionIdSelect]
  6859. (
  6860. @dcRegionID INT,
  6861. @dcJobTypeID varchar(100)
  6862. )
  6863. AS
  6864. SET NOCOUNT ON
  6865. BEGIN
  6866. DECLARE @T AS TABLE(id INT identity(1,1),data INT)
  6867. INSERT INTO @T(data)
  6868. SELECT * FROM dbo.fnSplit(@dcJobTypeID, ',')
  6869. IF @dcRegionID=0
  6870. SET @dcRegionID=32
  6871. DECLARE @avgsalary INT
  6872. DECLARE @jobtypeid INT, @id INT
  6873. WHILE EXISTS(SELECT 'x' FROM @T)
  6874. BEGIN
  6875. SELECT TOP 1 @id = id,@jobtypeid=data FROM @T
  6876. SELECT @avgsalary=AVG(AvgSalary)
  6877. FROM reportdb..SalaryReportJobtype
  6878. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  6879. AND LEFT(dcJobTypeId,LEN(@jobtypeid))=@jobtypeid
  6880. IF @avgsalary>0
  6881. BEGIN
  6882. DELETE FROM @T
  6883. END
  6884. ELSE
  6885. BEGIN
  6886. DELETE FROM @T WHERE id=@id
  6887. END
  6888. END
  6889. SELECT @avgsalary AS avgsalary
  6890. END
  6891. SET NOCOUNT OFF
  6892. GO
  6893. /****** Object: StoredProcedure [dbo].[procSalaryReportCvMajorSelect] Script Date: 2018/12/13 19:11:55 ******/
  6894. SET ANSI_NULLS ON
  6895. GO
  6896. SET QUOTED_IDENTIFIER ON
  6897. GO
  6898. ---根据专业查工资
  6899. ---harry
  6900. ---2018-3-2
  6901. --procSalaryReportCvMajorSelect '网络工程',11,32
  6902. CREATE PROCEDURE [dbo].[procSalaryReportCvMajorSelect]
  6903. (
  6904. @MajorName NVARCHAR(40),
  6905. @dcMajorId INT,
  6906. @dcRegionId INT
  6907. )
  6908. AS
  6909. SET NOCOUNT ON
  6910. BEGIN
  6911. CREATE TABLE #T
  6912. (
  6913. dcMajorId INT,
  6914. majorName NVARCHAR(40),
  6915. livePlace INT,
  6916. dcJobTypeId SMALLINT,
  6917. jobTypeName NVARCHAR(40),
  6918. cvCnt INT, --数量
  6919. allCnt INT --结果总数据
  6920. )
  6921. CREATE TABLE #Ttemp
  6922. (
  6923. dcRegionId INT,
  6924. dcjobtypeId INT,
  6925. averageExpectSalary INT,
  6926. averageJobTypeSalary INT
  6927. )
  6928. CREATE TABLE #Tsalary
  6929. (
  6930. averageSalary INT,
  6931. averageExpectSalary INT,
  6932. salary0Number INT,--0-3k
  6933. salary3Number INT,--3-5k
  6934. salary5Number INT,--5-7k
  6935. salary7Number INT,--7-9k
  6936. salary9Number INT,--9-11k
  6937. salary11Number INT,--11k+
  6938. expectSalary0Number INT,--0-3k
  6939. expectSalary3Number INT,--3-5k
  6940. expectSalary5Number INT,--5-7k
  6941. expectSalary7Number INT,--7-9k
  6942. expectSalary9Number INT,--9-11k
  6943. expectSalary11Number INT,--11k+
  6944. )
  6945. DECLARE @allcnt INT, @selectByMajorName INT --结果数量,查询标志
  6946. IF @MajorName= ''
  6947. BEGIN
  6948. SET @allcnt =0
  6949. END
  6950. ELSE
  6951. BEGIN
  6952. SELECT @allcnt = COUNT(1)
  6953. FROM reportdb..SalaryReportCvMajor
  6954. WHERE majorname=@MajorName
  6955. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  6956. END
  6957. IF @allcnt >5--少于5条数据的用专业id查询
  6958. BEGIN
  6959. SET @selectByMajorName =1
  6960. --优先根据majorname查询,无结果时根据dcmajorid查询
  6961. INSERT INTO #T(dcMajorId, majorName, livePlace, dcJobTypeId,jobTypeName, cvCnt, allCnt)
  6962. SELECT TOP 5 @dcMajorId, @MajorName, LEFT(liveplace,LEN(@dcRegionId)), dcjobtypeId, dcJobType.[Description], count(1) cnt, @allcnt
  6963. FROM reportdb..SalaryReportCvMajor, dcJobType
  6964. WHERE majorname=@MajorName
  6965. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  6966. AND reportdb..SalaryReportCvMajor.dcJobTypeId = dcJobType.Id
  6967. GROUP BY LEFT(liveplace,LEN(@dcRegionId)),dcjobtypeId , dcJobType.[Description]
  6968. ORDER BY cnt DESC
  6969. END
  6970. ELSE
  6971. BEGIN
  6972. SELECT @allcnt = COUNT(1)
  6973. FROM reportdb..SalaryReportCvMajor
  6974. WHERE DcMajorId=@dcMajorId
  6975. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  6976. SET @selectByMajorName =0
  6977. --优先根据dcmajorId查询,无结果时根据dcmajorid查询
  6978. INSERT INTO #T(dcMajorId, majorName, livePlace, dcJobTypeId,jobTypeName, cvCnt, allCnt)
  6979. SELECT TOP 5 dcmajorid, '', LEFT(liveplace,LEN(@dcRegionId)), dcjobtypeId, dcJobType.[Description], count(1) cnt, @allcnt
  6980. FROM reportdb..SalaryReportCvMajor, dcJobType
  6981. WHERE DcMajorId=@dcMajorId
  6982. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  6983. AND reportdb..SalaryReportCvMajor.dcJobTypeId = dcJobType.Id
  6984. GROUP BY LEFT(liveplace,LEN(@dcRegionId)),dcjobtypeId ,dcmajorid, dcJobType.[Description]
  6985. ORDER BY cnt DESC
  6986. END
  6987. SELECT * FROM #T
  6988. --生成期望以及职位类别工资分布表
  6989. IF @selectByMajorName =1
  6990. BEGIN
  6991. INSERT INTO #Ttemp(dcRegionId, dcjobtypeId, averageExpectSalary)
  6992. SELECT LEFT(liveplace,LEN(@dcRegionId))AS dcRegionId, dcjobtypeId, AVG(expectSalary)
  6993. FROM reportdb..SalaryReportCvMajor
  6994. WHERE majorname=@MajorName
  6995. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  6996. GROUP BY LEFT(liveplace,LEN(@dcRegionId)), dcjobtypeId
  6997. END
  6998. ELSE
  6999. BEGIN
  7000. INSERT INTO #Ttemp(dcRegionId, dcjobtypeId, averageExpectSalary)
  7001. SELECT LEFT(liveplace,LEN(@dcRegionId))AS dcRegionId, dcjobtypeId, AVG(expectSalary)
  7002. FROM reportdb..SalaryReportCvMajor
  7003. WHERE DcMajorId=@dcMajorId
  7004. AND LEFT(liveplace,LEN(@dcRegionId))=@dcRegionId
  7005. GROUP BY LEFT(liveplace,LEN(@dcRegionId)), dcjobtypeId
  7006. END
  7007. --每个职位列表的数据获取平均工资
  7008. UPDATE a
  7009. SET a.averageJobTypeSalary = b.AvgSalary
  7010. FROM #Ttemp a, reportdb..SalaryReportJobtype b
  7011. WHERE a.dcRegionId = b.dcRegionId
  7012. AND a.dcJobTypeId = b.dcJobTypeId
  7013. --生成#Tsalary数据
  7014. INSERT INTO #Tsalary
  7015. SELECT AVG(averageExpectSalary),
  7016. AVG(averageJobTypeSalary),
  7017. SUM(CASE WHEN averageExpectSalary<3000 THEN 1 ELSE 0 END),
  7018. SUM(CASE WHEN averageExpectSalary >= 3000 AND averageExpectSalary <5000 THEN 1 ELSE 0 END),
  7019. SUM(CASE WHEN averageExpectSalary >= 5000 AND averageExpectSalary <7000 THEN 1 ELSE 0 END),
  7020. SUM(CASE WHEN averageExpectSalary >= 7000 AND averageExpectSalary <9000 THEN 1 ELSE 0 END),
  7021. SUM(CASE WHEN averageExpectSalary >= 9000 AND averageExpectSalary <11000 THEN 1 ELSE 0 END),
  7022. SUM(CASE WHEN averageExpectSalary >= 11000 THEN 1 ELSE 0 END),
  7023. SUM(CASE WHEN averageJobTypeSalary<3000 THEN 1 ELSE 0 END),
  7024. SUM(CASE WHEN averageJobTypeSalary >= 3000 AND averageJobTypeSalary <5000 THEN 1 ELSE 0 END),
  7025. SUM(CASE WHEN averageJobTypeSalary >= 5000 AND averageJobTypeSalary <7000 THEN 1 ELSE 0 END),
  7026. SUM(CASE WHEN averageJobTypeSalary >= 7000 AND averageJobTypeSalary <9000 THEN 1 ELSE 0 END),
  7027. SUM(CASE WHEN averageJobTypeSalary >= 9000 AND averageJobTypeSalary <11000 THEN 1 ELSE 0 END),
  7028. SUM(CASE WHEN averageJobTypeSalary >= 11000 THEN 1 ELSE 0 END)
  7029. FROM #Ttemp
  7030. SELECT * FROM #Tsalary
  7031. --生成top5职位类别数据
  7032. CREATE TABLE #Top5
  7033. (
  7034. dcMajorId INT,
  7035. majorName VARCHAR(40),
  7036. livePlace INT,
  7037. dcJobTypeId SMALLINT,
  7038. jobTypeName VARCHAR(100),
  7039. averageSalary INT,
  7040. salary0Number INT,--0-3k
  7041. salary3Number INT,--3-5k
  7042. salary5Number INT,--5-7k
  7043. salary7Number INT,--7-9k
  7044. salary9Number INT,--9-11k
  7045. salary11Number INT--11k+
  7046. )
  7047. INSERT INTO #Top5
  7048. SELECT a.dcMajorId, a.majorName, a.livePlace, a.dcJobTypeId, a.jobTypeName, AVG(b.AvgSalary),
  7049. SUM(ISNULL(b.Salary2,0)+ISNULL(b.Salary3,0)+ISNULL(b.Salary4,0)+ISNULL(b.Salary5,0)),
  7050. SUM(ISNULL(b.Salary6,0)+ISNULL(b.Salary7,0)+ISNULL(b.Salary8,0)),
  7051. SUM(ISNULL(b.Salary9,0)+ISNULL(b.Salary10,0)),
  7052. SUM(ISNULL(b.Salary11,0)),
  7053. SUM(ISNULL(b.Salary12,0)),
  7054. SUM(ISNULL(b.Salary13,0)+ISNULL(b.Salary14,0)+ISNULL(b.Salary15,0)+ISNULL(b.Salary16,0))
  7055. FROM #T a, reportdb..SalaryReportJobtype b
  7056. WHERE a.livePlace = b.dcRegionId AND a.dcJobTypeId = b.dcJobTypeId
  7057. GROUP BY a.dcMajorId, a.majorName, a.livePlace, a.dcJobTypeId, a.jobTypeName
  7058. SELECT * FROM #Top5 --5个职位类别数据
  7059. --生成10个高薪职位,每个职位类别选取2个职位
  7060. SELECT a.id,a.name,a.secondid,a.dcSalaryID,a.dcSalaryIDMax,a.caMainID,a.dcRegionId,a.dcEducationID,a.MinExperience,a.NeedNumber, ISNULL(c.IsOnline, 0) IsOnline,d.LogoFile AS logourl, d.SecondId AS cpSecondId, d.Name AS cpName
  7061. FROM Job a WITH(NOLOCK)
  7062. INNER JOIN dcRegion b WITH(NOLOCK) ON a.dcRegionID = b.ID
  7063. LEFT JOIN caOnline c WITH(NOLOCK) ON a.caMainId = c.caMainId
  7064. LEFT JOIN cpMain d WITH(NOLOCK) ON a.cpMainId =d.id
  7065. WHERE a.id IN(SELECT DISTINCT TOP 10 jobid FROM(
  7066. SELECT jobId,dcSalaryId FROM reportdb..HighSalaryJob
  7067. WHERE dcjobTypeId IN(select dcJobTypeId FROM #Top5 )
  7068. AND dcRegionId=@dcRegionId
  7069. )a) ORDER BY dcSalaryId DESC
  7070. IF @selectByMajorName =1
  7071. SELECT @MajorName AS majorName
  7072. ELSE
  7073. select Description AS majorName from dcmajor where id= @dcMajorId
  7074. DROP TABLE #Ttemp
  7075. DROP TABLE #Tsalary
  7076. DROP TABLE #T
  7077. DROP TABLE #Top5
  7078. END
  7079. SET NOCOUNT OFF
  7080. GO
  7081. /****** Object: StoredProcedure [dbo].[procSalaryReportCvMajorSelectByMajorname] Script Date: 2018/12/13 19:11:55 ******/
  7082. SET ANSI_NULLS ON
  7083. GO
  7084. SET QUOTED_IDENTIFIER ON
  7085. GO
  7086. ---获取各个省份TOP1专业信息
  7087. ---harry
  7088. ---2018-2-28
  7089. --procSalaryReportCvMajorSelectByMajorname
  7090. CREATE PROCEDURE [dbo].[procSalaryReportCvMajorSelectByMajorname]
  7091. AS
  7092. SET NOCOUNT ON
  7093. BEGIN
  7094. SELECT LEFT(LivePlace,2)AS dcProvinceId ,majorname ,DcMajorId,count(1)AS cnt
  7095. INTO #t
  7096. FROM reportdb..SalaryReportCvMajor
  7097. WHERE majorname !='所学专业未填写' AND majorName !='无' AND majorname!='其他'
  7098. GROUP BY majorname,LEFT(LivePlace,2),DcMajorId
  7099. TRUNCATE TABLE reportdb..salaryReportProvinceTop1Major
  7100. INSERT INTO reportdb..salaryReportProvinceTop1Major(dcProvinceId, majorName, dcMajorId, majorTypeName)
  7101. SELECT a.dcProvinceId, a.majorName, a.dcMajorId, b.Description AS majorTypeName
  7102. FROM(
  7103. SELECT dcProvinceId,majorName,dcMajorId,cnt,ROW_NUMBER() over( partition by dcProvinceId order by cnt DESC) provinceId
  7104. FROM #t
  7105. )AS a, dcmajor b
  7106. WHERE a.provinceId = 1
  7107. AND a.dcMajorId = b.id
  7108. DROP TABLE #t
  7109. END
  7110. SET NOCOUNT OFF
  7111. GO
  7112. /****** Object: StoredProcedure [dbo].[procsalaryReportProvinceTop1MajorSelect] Script Date: 2018/12/13 19:11:55 ******/
  7113. SET ANSI_NULLS ON
  7114. GO
  7115. SET QUOTED_IDENTIFIER ON
  7116. GO
  7117. ---获取省份从事数量做多的一个专业信息
  7118. ---harry
  7119. ---2018-2-28
  7120. CREATE PROCEDURE [dbo].[procsalaryReportProvinceTop1MajorSelect]
  7121. (
  7122. @dcProvinceId INT
  7123. )
  7124. AS
  7125. SET NOCOUNT ON
  7126. BEGIN
  7127. SELECT *
  7128. FROM reportdb..salaryReportProvinceTop1Major WITH(NOLOCK)
  7129. WHERE dcProvinceId= @dcProvinceId
  7130. END
  7131. SET NOCOUNT OFF
  7132. GO
  7133. /****** Object: StoredProcedure [dbo].[ProcSalaryReportRegionLogSelect] Script Date: 2018/12/13 19:11:55 ******/
  7134. SET ANSI_NULLS ON
  7135. GO
  7136. SET QUOTED_IDENTIFIER ON
  7137. GO
  7138. CREATE PROCEDURE [dbo].[ProcSalaryReportRegionLogSelect]
  7139. (
  7140. @ProvinceId INT
  7141. )
  7142. AS
  7143. BEGIN
  7144. CREATE TABLE #t(dcRegionId VARCHAR(4), Region NVARCHAR(10), SalaryNow INT, SalaryOld INT)
  7145. IF @ProvinceId != 32
  7146. INSERT INTO #t(dcRegionId, SalaryNow)
  7147. SELECT dcRegionId, AvgSalary SalaryNow
  7148. FROM ReportDb..SalaryReportRegion
  7149. WHERE dcRegionId LIKE LTRIM(STR(@ProvinceId)) + '__'
  7150. ELSE
  7151. INSERT INTO #t(dcRegionId, SalaryNow)
  7152. SELECT dcRegionId, AvgSalary SalaryNow
  7153. FROM ReportDb..SalaryReportRegion
  7154. WHERE dcRegionId LIKE LTRIM(STR(@ProvinceId)) + '__'
  7155. AND dcRegionId != 3212
  7156. -- AND Salary5 + Salary6 + Salary7 > 0
  7157. UPDATE a SET a.SalaryOld = b.AvgSalary
  7158. FROM #t a, ReportDb..SalaryReportRegionLog b
  7159. WHERE a.dcRegionId = b.dcRegionId
  7160. AND b.YearMonth = CONVERT(VARCHAR(6), DATEADD(Year, -1, GETDATE()), 112)
  7161. -- AND Salary5 + Salary6 + Salary7 > 0
  7162. UPDATE a SET a.Region = b.Abbr FROM #t a, MainDb..dcRegion b WHERE a.dcRegionId = b.Id
  7163. SELECT LEFT(Region, 3) Region, SalaryNow, CONVERT(INT, ISNULL(SalaryOld, SalaryNow) * 0.9) SalaryOld FROM #t ORDER BY SalaryNow DESC
  7164. END
  7165. GO
  7166. /****** Object: StoredProcedure [dbo].[ProcSalaryReportRegionMinSelect] Script Date: 2018/12/13 19:11:55 ******/
  7167. SET ANSI_NULLS ON
  7168. GO
  7169. SET QUOTED_IDENTIFIER ON
  7170. GO
  7171. --#####################################################
  7172. --创建时间:2014.11.3
  7173. --创建人:John
  7174. --说明:获取各地最近三年最底工资标准新闻
  7175. --修改:harry 最新年份无数据时,取之前的年份2018-1-11
  7176. --#####################################################
  7177. CREATE PROCEDURE [dbo].[ProcSalaryReportRegionMinSelect]
  7178. (
  7179. @SalaryYearA VARCHAR(4),
  7180. @SalaryYearB VARCHAR(4),
  7181. @SalaryYearC VARCHAR(4)
  7182. )
  7183. AS
  7184. BEGIN
  7185. IF EXISTS(SELECT 'X' FROM Reportdb..SalaryReportRegionMin
  7186. WHERE SalaryYear = @SalaryYearA)
  7187. BEGIN
  7188. SELECT * FROM Reportdb..SalaryReportRegionMin
  7189. WHERE SalaryYear IN(@SalaryYearA,@SalaryYearB,@SalaryYearC)
  7190. ORDER BY dcRegionid,SalaryYear DESC
  7191. END
  7192. ELSE
  7193. BEGIN
  7194. SELECT * FROM Reportdb..SalaryReportRegionMin
  7195. WHERE SalaryYear IN(Convert(VARCHAR(4),Convert(INT,@SalaryYearA)-3),@SalaryYearB,@SalaryYearC)
  7196. ORDER BY dcRegionid,SalaryYear DESC
  7197. END
  7198. END
  7199. GO
  7200. /****** Object: StoredProcedure [dbo].[ProcSalaryReportSelect] Script Date: 2018/12/13 19:11:56 ******/
  7201. SET ANSI_NULLS ON
  7202. GO
  7203. SET QUOTED_IDENTIFIER ON
  7204. GO
  7205. --新版查工资
  7206. --harry
  7207. --2018-3-2
  7208. --ProcSalaryAnalysis 32,11,1,''
  7209. CREATE PROCEDURE [dbo].[ProcSalaryReportSelect]
  7210. (
  7211. @dcRegionID INT,
  7212. @dcJobTypeID SMALLINT,--0表示未选择
  7213. @dcExperienceId CHAR(1),--''表示未选择
  7214. @dcEducationId CHAR(1),--''表示未选择
  7215. @inputSalary INT--输入的金额
  7216. )
  7217. AS
  7218. SET NOCOUNT ON
  7219. BEGIN
  7220. --职位信息临时表
  7221. SELECT TOP 0 * INTO #tSalaryReport FROM reportdb..salaryReport
  7222. SELECT TOP 0 * INTO #temp FROM reportdb..SalaryReportEducation
  7223. ALTER TABLE #temp Add dcJobTypeId SMALLINT NULL, dcExperienceId SMALLINT NULL
  7224. ALTER TABLE #temp ALTER COLUMN dcEducationId SMALLINT NULL
  7225. DECLARE @JobTypeGrade INT --职位类别grade
  7226. IF @dcJobTypeID !=0
  7227. SELECT @JobTypeGrade = grade
  7228. FROM dcJobType
  7229. WHERE id = @dcJobTypeID
  7230. IF @dcRegionID = 0
  7231. SET @dcRegionID = 32
  7232. SET @dcRegionID = LEFT(@dcRegionID,4)
  7233. IF @dcJobTypeID =0 AND @dcExperienceId ='' AND @dcEducationId =''---地区
  7234. BEGIN
  7235. SELECT TOP 10 *
  7236. FROM reportdb..SalaryReportRegion
  7237. WHERE dcRegionid = @dcRegionID
  7238. END
  7239. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId ='' AND @dcEducationId =''---地区+职位类别
  7240. BEGIN
  7241. SELECT TOP 10 *
  7242. FROM reportdb..SalaryReportJobtype
  7243. WHERE dcRegionid = @dcRegionID
  7244. AND dcJobTypeID = @dcJobTypeID
  7245. END
  7246. ELSE IF @dcJobTypeID =0 AND @dcExperienceId !='' AND @dcEducationId =''--地区+经验
  7247. BEGIN
  7248. IF LEN(@dcRegionID)=2
  7249. BEGIN
  7250. SELECT LEFT(dcRegionid,2)dcRegionid ,dcExperienceId,AVG(AvgSalary) AvgSalary,
  7251. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7252. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7253. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7254. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7255. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7256. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7257. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7258. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7259. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7260. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7261. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7262. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7263. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7264. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7265. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7266. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7267. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7268. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7269. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7270. FROM reportdb..SalaryReportExperience
  7271. WHERE dcExperienceId = @dcExperienceId and LEFT(dcRegionid,2) = @dcRegionID
  7272. GROUP BY LEFT(dcRegionid,2),dcExperienceId
  7273. END
  7274. ELSE
  7275. BEGIN
  7276. SELECT TOP 10 *
  7277. FROM reportdb..SalaryReportExperience
  7278. WHERE dcRegionid = @dcRegionID
  7279. AND dcExperienceId = CONVERT(INT,@dcExperienceId)
  7280. END
  7281. END
  7282. ELSE IF @dcJobTypeID =0 AND @dcExperienceId ='' AND @dcEducationId !=''--地区+学历
  7283. BEGIN
  7284. IF LEN(@dcRegionID)=2
  7285. BEGIN
  7286. SELECT LEFT(dcRegionid,2)dcRegionid ,dcEducationId, AVG(AvgSalary) AvgSalary,
  7287. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7288. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7289. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7290. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7291. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7292. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7293. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7294. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7295. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7296. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7297. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7298. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7299. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7300. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7301. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7302. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7303. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7304. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7305. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7306. FROM reportdb..SalaryReportEducation
  7307. WHERE dcEducationId = @dcEducationId and LEFT(dcRegionid,2) = @dcRegionID
  7308. GROUP BY LEFT(dcRegionid,2), dcEducationId
  7309. END
  7310. ELSE
  7311. BEGIN
  7312. SELECT TOP 10 *
  7313. FROM reportdb..SalaryReportEducation
  7314. WHERE dcRegionid = @dcRegionID
  7315. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7316. END
  7317. END
  7318. ELSE IF @dcJobTypeID =0 AND @dcExperienceId !='' AND @dcEducationId !=''--地区+学历+经验
  7319. BEGIN
  7320. IF LEN(@dcRegionID)=2
  7321. BEGIN
  7322. SELECT LEFT(dcRegionid,2)dcRegionid ,dcEducationId, dcExperienceId, AVG(AvgSalary) AvgSalary,
  7323. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7324. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7325. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7326. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7327. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7328. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7329. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7330. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7331. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7332. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7333. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7334. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7335. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7336. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7337. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7338. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7339. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7340. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7341. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7342. FROM reportdb..SalaryReportEducationExperience
  7343. WHERE dcEducationId = @dcEducationId and LEFT(dcRegionid,2) = @dcRegionID AND dcExperienceId = CONVERT(INT,@dcExperienceId)
  7344. GROUP BY LEFT(dcRegionid,2), dcEducationId, dcExperienceId
  7345. END
  7346. ELSE
  7347. BEGIN
  7348. SELECT TOP 10 *
  7349. FROM reportdb..SalaryReportEducationExperience
  7350. WHERE dcRegionid = @dcRegionID
  7351. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7352. AND dcExperienceId = CONVERT(INT,@dcExperienceId)
  7353. END
  7354. END
  7355. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId !='' AND @dcEducationId =''--地区+职位类别+经验
  7356. BEGIN
  7357. IF @JobTypeGrade = 2--职位类别大类(全部)
  7358. BEGIN
  7359. INSERT INTO #tSalaryReport
  7360. SELECT * FROM reportdb..salaryReport
  7361. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7362. AND (dcJobTypeId = @dcJobTypeID OR dcJobTypeId IN(SELECT id FROM dcjobtype where (id = @dcJobTypeID OR ID IN(select id from dcjobType where parentid= @dcJobTypeID))))
  7363. AND MinExperience = CONVERT(INT,@dcExperienceId)
  7364. END
  7365. ELSE
  7366. BEGIN
  7367. INSERT INTO #tSalaryReport
  7368. SELECT * FROM reportdb..salaryReport
  7369. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7370. AND dcJobTypeId = @dcJobTypeID
  7371. AND MinExperience = CONVERT(INT,@dcExperienceId)
  7372. END
  7373. END
  7374. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId ='' AND @dcEducationId !=''--地区+职位类别+学历
  7375. BEGIN
  7376. IF @JobTypeGrade = 2--职位类别大类(全部)
  7377. BEGIN
  7378. INSERT INTO #tSalaryReport
  7379. SELECT * FROM reportdb..salaryReport
  7380. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7381. AND (dcJobTypeId = @dcJobTypeID OR dcJobTypeId IN(SELECT id FROM dcjobtype where (id = @dcJobTypeID OR ID IN(select id from dcjobType where parentid= @dcJobTypeID))))
  7382. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7383. END
  7384. ELSE
  7385. BEGIN
  7386. INSERT INTO #tSalaryReport
  7387. SELECT * FROM reportdb..salaryReport
  7388. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7389. AND dcJobTypeId = @dcJobTypeID
  7390. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7391. END
  7392. END
  7393. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId !='' AND @dcEducationId !=''--地区+职位类别+经验+学历
  7394. BEGIN
  7395. IF @JobTypeGrade = 2--职位类别大类(全部)
  7396. BEGIN
  7397. INSERT INTO #tSalaryReport
  7398. SELECT * FROM reportdb..salaryReport
  7399. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7400. AND (dcJobTypeId = @dcJobTypeID OR dcJobTypeId IN(SELECT id FROM dcjobtype where (id = @dcJobTypeID OR ID IN(select id from dcjobType where parentid= @dcJobTypeID))))
  7401. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7402. AND MinExperience = CONVERT(INT,@dcExperienceId)
  7403. END
  7404. ELSE
  7405. BEGIN
  7406. INSERT INTO #tSalaryReport
  7407. SELECT * FROM reportdb..salaryReport
  7408. WHERE LEFT(dcregionId,LEN(@dcRegionID)) = @dcRegionID
  7409. AND dcJobTypeId = @dcJobTypeID
  7410. AND dcEducationId = CONVERT(INT,@dcEducationId)
  7411. AND MinExperience = CONVERT(INT,@dcExperienceId)
  7412. END
  7413. END
  7414. IF @dcJobTypeID !=0
  7415. BEGIN
  7416. IF NOT EXISTS(SELECT 'X' FROM #tSalaryReport) AND(@dcExperienceId !='' OR @dcEducationId !='')
  7417. BEGIN
  7418. SELECT TOP 0 * FROM #tSalaryReport
  7419. END
  7420. ELSE
  7421. BEGIN
  7422. --汇总用的临时表
  7423. CREATE TABLE #Sum(dcRegionId VARCHAR(4), dcJobTypeId INT, dcEducationId SMALLINT, dcExperienceId SMALLINT, Item INT, Cnt INt, Salary INT)
  7424. IF @dcJobTypeID !=0 AND @dcExperienceId !='' AND @dcEducationId =''--地区+职位类别+经验
  7425. BEGIN
  7426. ---统计全部薪酬信息
  7427. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,dcJobTypeId, MinExperience AS dcExperienceId, CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END dcSalaryId, COUNT(*) Cnt
  7428. INTO #t1
  7429. FROM #tSalaryReport WITH(NOLOCK)
  7430. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)),CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END, dcJobTypeId, MinExperience
  7431. SELECT dcJobTypeId, MinExperience AS dcExperienceId, LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,AVG(Salary) Salary
  7432. INTO #tj1
  7433. FROM #tSalaryReport WITH(NOLOCK)
  7434. GROUP BY dcJobTypeId, MinExperience,LEFT(dcregionId,LEN(@dcRegionID))
  7435. ----记录到SalaryReportEducationExperience
  7436. INSERT INTO #temp(dcRegionId, dcJobTypeId, dcExperienceId, Salary2, Salary3, Salary4, Salary5, Salary6, Salary7, Salary8, Salary9, Salary10, Salary11, Salary12, Salary13, Salary14, Salary15, Salary16, Salary100)
  7437. SELECT dcRegionId, dcJobTypeId, dcExperienceId, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100]
  7438. FROM (
  7439. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcExperienceId, dcSalaryId, Cnt
  7440. FROM #t1
  7441. ) AS SourceTable
  7442. PIVOT
  7443. (
  7444. AVG(Cnt)
  7445. FOR dcSalaryId IN ([2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100])
  7446. ) AS PivotTable
  7447. UPDATE a SET a.AvgSalary = b.Salary FROM #temp a, #tj1 b
  7448. WHERE a.dcJobTypeId = b.dcJobTypeId AND a.dcRegionId = b.dcRegionId AND a.dcExperienceId = b.dcExperienceId
  7449. DROP TABLE #t1
  7450. DROP TABLE #tj1
  7451. TRUNCATE TABLE #Sum
  7452. ----统计企业性质
  7453. INSERT INTO #Sum
  7454. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId,NULL, MinExperience, ISNULL(dcCompanyKindId,0) dcCompanyKindId, COUNT(DISTINCT cpMainId) Cnt, 0
  7455. FROM #tSalaryReport WITH(NOLOCK)
  7456. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, MinExperience, ISNULL(dcCompanyKindId,0)
  7457. UPDATE a
  7458. SET a.CompanyKindNumber1 = b.[1],
  7459. a.CompanyKindNumber2 = b.[2],
  7460. a.CompanyKindNumber3 = b.[3],
  7461. a.CompanyKindNumber4 = b.[4],
  7462. a.CompanyKindNumber5 = b.[5],
  7463. a.CompanyKindNumber6 = b.[6],
  7464. a.CompanyKindNumber7 = b.[7],
  7465. a.CompanyKindNumber8 = b.[8],
  7466. a.CompanyKindNumber9 = b.[9],
  7467. a.CompanyKindNumber10 = b.[10],
  7468. a.CompanyKindNumber100 = b.[100]
  7469. FROM #temp a, (
  7470. SELECT dcRegionId, dcJobTypeId, dcExperienceId, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100]
  7471. FROM (
  7472. SELECT dcRegionId, dcJobTypeId, dcExperienceId, Item, Cnt
  7473. FROM #Sum
  7474. ) AS SourceTable
  7475. PIVOT
  7476. (
  7477. AVG(Cnt)
  7478. FOR Item IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100])
  7479. ) AS PivotTable) b
  7480. WHERE a.dcRegionId = b.dcRegionId
  7481. AND a.dcJobTypeId = b.dcJobTypeId
  7482. AND a.dcExperienceId = b.dcExperienceId
  7483. TRUNCATE TABLE #Sum
  7484. ----统计企业规模
  7485. INSERT INTO #Sum
  7486. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId,NULL, MinExperience AS dcExperienceId, ISNULL(dcCompanySizeId,0) dcCompanySizeId, COUNT(DISTINCT cpMainId) Cnt, 0
  7487. FROM #tSalaryReport WITH(NOLOCK)
  7488. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, MinExperience, ISNULL(dcCompanySizeId,0)
  7489. UPDATE a
  7490. SET a.CompanySizeNumber1 = b.[1],
  7491. a.CompanySizeNumber2 = b.[2],
  7492. a.CompanySizeNumber3 = b.[3],
  7493. a.CompanySizeNumber4 = b.[4],
  7494. a.CompanySizeNumber5 = b.[5],
  7495. a.CompanySizeNumber6 = b.[6]
  7496. FROM #temp a, (
  7497. SELECT dcRegionId, dcJobTypeId, dcExperienceId, [1], [2], [3], [4], [5], [6]
  7498. FROM (
  7499. SELECT dcRegionId, dcJobTypeId, dcExperienceId, Item, Cnt
  7500. FROM #Sum
  7501. ) AS SourceTable
  7502. PIVOT
  7503. (
  7504. AVG(Cnt)
  7505. FOR Item IN ([1], [2], [3], [4], [5], [6])
  7506. ) AS PivotTable) b
  7507. WHERE a.dcRegionId = b.dcRegionId
  7508. AND a.dcJobTypeId = b.dcJobTypeId
  7509. AND a.dcExperienceId = b.dcExperienceId
  7510. ----统计学历
  7511. TRUNCATE TABLE #Sum
  7512. INSERT INTO #Sum
  7513. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId,ISNULL(dcEducationId,0), MinExperience, ISNULL(dcEducationId,0) dcEducationId, COUNT(DISTINCT cpMainId) Cnt, 0
  7514. FROM #tSalaryReport WITH(NOLOCK)
  7515. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, MinExperience, ISNULL(dcEducationId,0)
  7516. UPDATE a
  7517. SET a.EducationNumber1 = b.[1],
  7518. a.EducationNumber2 = b.[2],
  7519. a.EducationNumber3 = b.[3],
  7520. a.EducationNumber4 = b.[4],
  7521. a.EducationNumber5 = b.[5],
  7522. a.EducationNumber6 = b.[6],
  7523. a.EducationNumber7 = b.[7],
  7524. a.EducationNumber8 = b.[8],
  7525. a.EducationNumber100 = b.[100]
  7526. FROM #temp a, (
  7527. SELECT dcRegionId, dcExperienceId, dcJobTypeId,[1], [2], [3], [4], [5], [6], [7], [8], [100]
  7528. FROM (
  7529. SELECT dcRegionId, dcExperienceId, dcJobTypeId,Item, Cnt
  7530. FROM #Sum
  7531. ) AS SourceTable
  7532. PIVOT
  7533. (
  7534. AVG(Cnt)
  7535. FOR Item IN ([1], [2], [3], [4], [5], [6], [7], [8], [100])
  7536. ) AS PivotTable) b
  7537. WHERE a.dcRegionId = b.dcRegionId
  7538. AND a.dcExperienceId = b.dcExperienceId
  7539. AND a.dcJobTypeId =b.dcJobTypeId
  7540. --更新经验月薪
  7541. UPDATE a
  7542. SET a.ExperienceSalary0=b.ExperienceSalary0,
  7543. a.ExperienceSalary1=b.ExperienceSalary1,
  7544. a.ExperienceSalary2=b.ExperienceSalary2,
  7545. a.ExperienceSalary3=b.ExperienceSalary3,
  7546. a.ExperienceSalary4=b.ExperienceSalary4,
  7547. a.ExperienceSalary5=b.ExperienceSalary5
  7548. FROM #temp a, reportdb..SalaryReportJobtype b
  7549. WHERE a.dcRegionId = b.dcRegionId
  7550. AND a.dcJobTypeID = b.dcJobTypeID
  7551. IF LEN(@dcRegionID)= 2 OR @JobTypeGrade = 2--全省数据或职位类别大类(全部)
  7552. BEGIN
  7553. SELECT LEFT(dcRegionid,LEN(@dcRegionID))dcRegionid ,dcExperienceId,dcEducationId, LEFT(dcJobTypeID, LEN(@dcJobTypeID)) dcJobTypeID, AVG(AvgSalary) AvgSalary,
  7554. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7555. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7556. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7557. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7558. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7559. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7560. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7561. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7562. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7563. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7564. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7565. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7566. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7567. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7568. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7569. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7570. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7571. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7572. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7573. FROM #temp
  7574. GROUP BY LEFT(dcRegionid,LEN(@dcRegionID)),dcExperienceId, dcEducationId,LEFT(dcJobTypeID, LEN(@dcJobTypeID))
  7575. END
  7576. ELSE
  7577. BEGIN
  7578. SELECT TOP 10 * FROM #temp
  7579. END
  7580. DROP TABLE #temp
  7581. DROP TABLE #Sum
  7582. END
  7583. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId ='' AND @dcEducationId !=''--地区+职位类别+学历
  7584. BEGIN
  7585. ---统计全部薪酬信息
  7586. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,dcJobTypeId, dcEducationId, CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END dcSalaryId, COUNT(*) Cnt
  7587. INTO #t2
  7588. FROM #tSalaryReport
  7589. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)),CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END, dcJobTypeId, dcEducationId
  7590. SELECT dcJobTypeId, dcEducationId, LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,AVG(Salary) Salary
  7591. INTO #tj2
  7592. FROM #tSalaryReport
  7593. GROUP BY dcJobTypeId, dcEducationId,LEFT(dcregionId,LEN(@dcRegionID))
  7594. ----记录到SalaryReportEducationExperience
  7595. INSERT INTO #temp(dcRegionId, dcJobTypeId, dcEducationId, Salary2, Salary3, Salary4, Salary5, Salary6, Salary7, Salary8, Salary9, Salary10, Salary11, Salary12, Salary13, Salary14, Salary15, Salary16, Salary100)
  7596. SELECT dcRegionId, dcJobTypeId, dcEducationId, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100]
  7597. FROM (
  7598. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId, dcSalaryId, Cnt
  7599. FROM #t2
  7600. ) AS SourceTable
  7601. PIVOT
  7602. (
  7603. AVG(Cnt)
  7604. FOR dcSalaryId IN ([2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100])
  7605. ) AS PivotTable
  7606. UPDATE a SET a.AvgSalary = b.Salary FROM #temp a, #tj2 b
  7607. WHERE a.dcJobTypeId = b.dcJobTypeId AND a.dcRegionId = b.dcRegionId AND a.dcEducationId = b.dcEducationId
  7608. DROP TABLE #t2
  7609. DROP TABLE #tj2
  7610. TRUNCATE TABLE #Sum
  7611. ----统计企业性质
  7612. INSERT INTO #Sum
  7613. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId,NULL, ISNULL(dcCompanyKindId,0) dcCompanyKindId, COUNT(DISTINCT cpMainId) Cnt, 0
  7614. FROM #tSalaryReport WITH(NOLOCK)
  7615. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, dcEducationId, ISNULL(dcCompanyKindId,0)
  7616. UPDATE a
  7617. SET a.CompanyKindNumber1 = b.[1],
  7618. a.CompanyKindNumber2 = b.[2],
  7619. a.CompanyKindNumber3 = b.[3],
  7620. a.CompanyKindNumber4 = b.[4],
  7621. a.CompanyKindNumber5 = b.[5],
  7622. a.CompanyKindNumber6 = b.[6],
  7623. a.CompanyKindNumber7 = b.[7],
  7624. a.CompanyKindNumber8 = b.[8],
  7625. a.CompanyKindNumber9 = b.[9],
  7626. a.CompanyKindNumber10 = b.[10],
  7627. a.CompanyKindNumber100 = b.[100]
  7628. FROM #temp a, (
  7629. SELECT dcRegionId, dcJobTypeId, dcEducationId, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100]
  7630. FROM (
  7631. SELECT dcRegionId, dcJobTypeId, dcEducationId, Item, Cnt
  7632. FROM #Sum
  7633. ) AS SourceTable
  7634. PIVOT
  7635. (
  7636. AVG(Cnt)
  7637. FOR Item IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100])
  7638. ) AS PivotTable) b
  7639. WHERE a.dcRegionId = b.dcRegionId
  7640. AND a.dcJobTypeId = b.dcJobTypeId
  7641. AND a.dcEducationId = b.dcEducationId
  7642. TRUNCATE TABLE #Sum
  7643. ----统计企业规模
  7644. INSERT INTO #Sum
  7645. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId,NULL, ISNULL(dcCompanySizeId,0) dcCompanySizeId, COUNT(DISTINCT cpMainId) Cnt, 0
  7646. FROM #tSalaryReport WITH(NOLOCK)
  7647. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, dcEducationId, ISNULL(dcCompanySizeId,0)
  7648. UPDATE a
  7649. SET a.CompanySizeNumber1 = b.[1],
  7650. a.CompanySizeNumber2 = b.[2],
  7651. a.CompanySizeNumber3 = b.[3],
  7652. a.CompanySizeNumber4 = b.[4],
  7653. a.CompanySizeNumber5 = b.[5],
  7654. a.CompanySizeNumber6 = b.[6]
  7655. FROM #temp a, (
  7656. SELECT dcRegionId, dcJobTypeId, dcEducationId, [1], [2], [3], [4], [5], [6]
  7657. FROM (
  7658. SELECT dcRegionId, dcJobTypeId, dcEducationId, Item, Cnt
  7659. FROM #Sum
  7660. ) AS SourceTable
  7661. PIVOT
  7662. (
  7663. AVG(Cnt)
  7664. FOR Item IN ([1], [2], [3], [4], [5], [6])
  7665. ) AS PivotTable) b
  7666. WHERE a.dcRegionId = b.dcRegionId
  7667. AND a.dcJobTypeId = b.dcJobTypeId
  7668. AND a.dcEducationId = b.dcEducationId
  7669. ----统计工作经历
  7670. TRUNCATE TABLE #Sum
  7671. INSERT INTO #Sum
  7672. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId,ISNULL(dcEducationId,0), MinExperience, ISNULL(MinExperience,0) MinExperience, COUNT(DISTINCT cpMainId) Cnt, 0
  7673. FROM #tSalaryReport WITH(NOLOCK)
  7674. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, MinExperience, ISNULL(dcEducationId,0)
  7675. ------工作经历数量
  7676. UPDATE a
  7677. SET a.ExperienceNumber0 = b.[0],
  7678. a.ExperienceNumber1 = b.[1],
  7679. a.ExperienceNumber2 = b.[2],
  7680. a.ExperienceNumber3 = b.[3],
  7681. a.ExperienceNumber4 = b.[4],
  7682. a.ExperienceNumber5 = b.[5]
  7683. FROM #temp a, (
  7684. SELECT dcRegionId,dcJobTypeId, dcEducationId,[0], [1], [2], [3], [4], [5]
  7685. FROM (
  7686. SELECT dcRegionId, dcJobTypeId,dcEducationId, Item, Cnt
  7687. FROM #Sum
  7688. ) AS SourceTable
  7689. PIVOT
  7690. (
  7691. AVG(Cnt)
  7692. FOR Item IN ([0], [1], [2], [3], [4], [5])
  7693. ) AS PivotTable) b
  7694. WHERE a.dcRegionId = b.dcRegionId
  7695. AND a.dcEducationId = b.dcEducationId
  7696. AND a.dcJobTypeId = b.dcJobTypeId
  7697. --更新学历月薪
  7698. UPDATE a
  7699. SET a.EducationSalary1=b.EducationSalary1,
  7700. a.EducationSalary2=b.EducationSalary2,
  7701. a.EducationSalary3=b.EducationSalary3,
  7702. a.EducationSalary4=b.EducationSalary4,
  7703. a.EducationSalary5=b.EducationSalary5,
  7704. a.EducationSalary6=b.EducationSalary6,
  7705. a.EducationSalary7=b.EducationSalary7,
  7706. a.EducationSalary8=b.EducationSalary8,
  7707. a.EducationSalary100=b.EducationSalary100
  7708. FROM #temp a, reportdb..SalaryReportJobtype b
  7709. WHERE a.dcRegionId = b.dcRegionId
  7710. AND a.dcJobTypeId = b.dcJobTypeId
  7711. IF LEN(@dcRegionID)= 2 OR @JobTypeGrade = 2--全省数据或职位类别大类(全部)
  7712. BEGIN
  7713. SELECT LEFT(dcRegionid,LEN(@dcRegionID))dcRegionid ,dcExperienceId,dcEducationId, LEFT(dcJobTypeID, LEN(@dcJobTypeID)) dcJobTypeID, AVG(AvgSalary) AvgSalary,
  7714. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7715. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7716. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7717. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7718. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7719. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7720. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7721. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7722. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7723. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7724. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7725. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7726. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7727. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7728. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7729. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7730. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7731. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7732. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7733. FROM #temp
  7734. GROUP BY LEFT(dcRegionid,LEN(@dcRegionID)),dcExperienceId, dcEducationId,LEFT(dcJobTypeID, LEN(@dcJobTypeID))
  7735. END
  7736. ELSE
  7737. BEGIN
  7738. SELECT TOP 10 * FROM #temp
  7739. END
  7740. DROP TABLE #temp
  7741. DROP TABLE #Sum
  7742. END
  7743. ELSE IF @dcJobTypeID !=0 AND @dcExperienceId !='' AND @dcEducationId !=''--地区+职位类别+经验+学历
  7744. BEGIN
  7745. ---统计全部薪酬信息
  7746. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,dcJobTypeId, dcEducationId, MinExperience AS dcExperienceId, CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END dcSalaryId, COUNT(*) Cnt
  7747. INTO #t3
  7748. FROM #tSalaryReport
  7749. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)),CASE WHEN dcSalaryId = 17 THEN 16 ELSE dcSalaryId END, dcJobTypeId, dcEducationId, MinExperience
  7750. SELECT dcJobTypeId, dcEducationId, MinExperience AS dcExperienceId, LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId,AVG(Salary) Salary
  7751. INTO #tj3
  7752. FROM #tSalaryReport
  7753. GROUP BY dcJobTypeId, MinExperience,LEFT(dcregionId,LEN(@dcRegionID)), dcEducationId
  7754. ----记录到SalaryReportEducationExperience
  7755. INSERT INTO #temp(dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, Salary2, Salary3, Salary4, Salary5, Salary6, Salary7, Salary8, Salary9, Salary10, Salary11, Salary12, Salary13, Salary14, Salary15, Salary16, Salary100)
  7756. SELECT dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100]
  7757. FROM (
  7758. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, dcSalaryId, Cnt
  7759. FROM #t3
  7760. ) AS SourceTable
  7761. PIVOT
  7762. (
  7763. AVG(Cnt)
  7764. FOR dcSalaryId IN ([2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [100])
  7765. ) AS PivotTable
  7766. UPDATE a SET a.AvgSalary = b.Salary FROM #temp a, #tj3 b
  7767. WHERE a.dcJobTypeId = b.dcJobTypeId AND a.dcRegionId = b.dcRegionId AND a.dcExperienceId = b.dcExperienceId AND a.dcEducationId = b.dcEducationId
  7768. DROP TABLE #t3
  7769. DROP TABLE #tj3
  7770. TRUNCATE TABLE #Sum
  7771. ----统计企业性质
  7772. INSERT INTO #Sum
  7773. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId, MinExperience AS dcExperienceId, ISNULL(dcCompanyKindId,0) dcCompanyKindId, COUNT(DISTINCT cpMainId) Cnt, 0
  7774. FROM #tSalaryReport WITH(NOLOCK)
  7775. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, dcEducationId, MinExperience, ISNULL(dcCompanyKindId,0)
  7776. UPDATE a
  7777. SET a.CompanyKindNumber1 = b.[1],
  7778. a.CompanyKindNumber2 = b.[2],
  7779. a.CompanyKindNumber3 = b.[3],
  7780. a.CompanyKindNumber4 = b.[4],
  7781. a.CompanyKindNumber5 = b.[5],
  7782. a.CompanyKindNumber6 = b.[6],
  7783. a.CompanyKindNumber7 = b.[7],
  7784. a.CompanyKindNumber8 = b.[8],
  7785. a.CompanyKindNumber9 = b.[9],
  7786. a.CompanyKindNumber10 = b.[10],
  7787. a.CompanyKindNumber100 = b.[100]
  7788. FROM #temp a, (
  7789. SELECT dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100]
  7790. FROM (
  7791. SELECT dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, Item, Cnt
  7792. FROM #Sum
  7793. ) AS SourceTable
  7794. PIVOT
  7795. (
  7796. AVG(Cnt)
  7797. FOR Item IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [100])
  7798. ) AS PivotTable) b
  7799. WHERE a.dcRegionId = b.dcRegionId
  7800. AND a.dcJobTypeId = b.dcJobTypeId
  7801. AND a.dcExperienceId = b.dcExperienceId
  7802. AND a.dcEducationId = b.dcEducationId
  7803. TRUNCATE TABLE #Sum
  7804. ----统计企业规模
  7805. INSERT INTO #Sum
  7806. SELECT LEFT(dcregionId,LEN(@dcRegionID)) AS dcRegionId, dcJobTypeId, dcEducationId, MinExperience AS dcExperienceId, ISNULL(dcCompanySizeId,0) dcCompanySizeId, COUNT(DISTINCT cpMainId) Cnt, 0
  7807. FROM #tSalaryReport WITH(NOLOCK)
  7808. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)), dcJobTypeId, dcEducationId, MinExperience, ISNULL(dcCompanySizeId,0)
  7809. UPDATE a
  7810. SET a.CompanySizeNumber1 = b.[1],
  7811. a.CompanySizeNumber2 = b.[2],
  7812. a.CompanySizeNumber3 = b.[3],
  7813. a.CompanySizeNumber4 = b.[4],
  7814. a.CompanySizeNumber5 = b.[5],
  7815. a.CompanySizeNumber6 = b.[6]
  7816. FROM #temp a, (
  7817. SELECT dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, [1], [2], [3], [4], [5], [6]
  7818. FROM (
  7819. SELECT dcRegionId, dcJobTypeId, dcEducationId, dcExperienceId, Item, Cnt
  7820. FROM #Sum
  7821. ) AS SourceTable
  7822. PIVOT
  7823. (
  7824. AVG(Cnt)
  7825. FOR Item IN ([1], [2], [3], [4], [5], [6])
  7826. ) AS PivotTable) b
  7827. WHERE a.dcRegionId = b.dcRegionId
  7828. AND a.dcJobTypeId = b.dcJobTypeId
  7829. AND a.dcExperienceId = b.dcExperienceId
  7830. AND a.dcEducationId = b.dcEducationId
  7831. --更新经验月薪@dcExperienceId CHAR(1)@dcEducationId CHAR(1)
  7832. --更新experiencesalary
  7833. SELECT * INTO #tExperiencesalary2 FROM (
  7834. SELECT avg(Salary)salary,LEFT(dcregionId,LEN(@dcRegionID))dcRegionId,MinExperience, dcJobTypeID,dcEducationId
  7835. FROM reportdb..salaryReport
  7836. WHERE dcEducationId=@dcEducationId AND dcJobTypeId =@dcJobTypeID AND LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7837. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)),MinExperience,dcJobTypeID,dcEducationId
  7838. )AS p
  7839. PIVOT(AVG(salary)FOR MinExperience IN([0],[1],[2],[3],[4],[5]))AS T
  7840. --更新
  7841. UPDATE a
  7842. SET a.ExperienceSalary0=b.[0],
  7843. a.ExperienceSalary1=b.[1],
  7844. a.ExperienceSalary2=b.[2],
  7845. a.ExperienceSalary3=b.[3],
  7846. a.ExperienceSalary4=b.[4],
  7847. a.ExperienceSalary5=b.[5]
  7848. FROM #temp a, #tExperiencesalary2 b
  7849. WHERE a.dcRegionId = b.dcRegionId
  7850. AND a.dcJobTypeID = b.dcJobTypeID
  7851. AND a.dcEducationId = b.dcEducationId
  7852. DROP TABLE #tExperiencesalary2
  7853. --更新学历月薪
  7854. SELECT * INTO #tEducationsalary2 FROM (
  7855. SELECT avg(Salary)salary,LEFT(dcregionId,LEN(@dcRegionID))dcRegionId,dcEducationId, dcJobTypeId,MinExperience
  7856. FROM reportdb..salaryReport
  7857. WHERE MinExperience=@dcExperienceId AND dcJobTypeId =@dcJobTypeID AND LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7858. GROUP BY LEFT(dcregionId,LEN(@dcRegionID)),dcEducationId,dcJobTypeId,MinExperience
  7859. )AS p
  7860. PIVOT(AVG(salary)FOR dcEducationId IN([1],[2],[3],[4],[5],[6],[7],[8],[100]))AS T
  7861. --更新
  7862. UPDATE a
  7863. SET a.EducationSalary1=b.[1],
  7864. a.EducationSalary2=b.[2],
  7865. a.EducationSalary3=b.[3],
  7866. a.EducationSalary4=b.[4],
  7867. a.EducationSalary5=b.[5],
  7868. a.EducationSalary6=b.[6],
  7869. a.EducationSalary7=b.[7],
  7870. a.EducationSalary8=b.[8],
  7871. a.EducationSalary100=b.[100]
  7872. FROM #temp a, #tEducationsalary2 b
  7873. WHERE a.dcRegionId = b.dcRegionId
  7874. AND a.dcJobTypeId = b.dcJobTypeId
  7875. AND a.dcExperienceId = b.MinExperience
  7876. DROP TABLE #tEducationsalary2
  7877. IF LEN(@dcRegionID)= 2 OR @JobTypeGrade = 2--全省数据或职位类别大类(全部)
  7878. BEGIN
  7879. SELECT LEFT(dcRegionid,LEN(@dcRegionID))dcRegionid ,dcExperienceId,dcEducationId, LEFT(dcJobTypeID, LEN(@dcJobTypeID)) dcJobTypeID, AVG(AvgSalary) AvgSalary,
  7880. SUM(JobNumber)JobNumber,SUM(Salary2) Salary2,SUM(Salary3) Salary3,SUM(Salary4) Salary4,
  7881. SUM(Salary5) Salary5, SUM(Salary6) Salary6, SUM(Salary7) Salary7, SUM(Salary8) Salary8,
  7882. SUM(Salary9) Salary9, SUM(Salary10) Salary10, SUM(Salary11) Salary11, SUM(Salary12) Salary12,
  7883. SUM(Salary13) Salary13, SUM(Salary14) Salary14, SUM(Salary15) Salary15, SUM(Salary16) Salary16,
  7884. SUM(Salary100) Salary100, SUM(ExperienceNumber0) ExperienceNumber0, SUM(ExperienceNumber1) ExperienceNumber1,
  7885. SUM(ExperienceNumber2) ExperienceNumber2, SUM(ExperienceNumber3) ExperienceNumber3, SUM(ExperienceNumber4) ExperienceNumber4, SUM(ExperienceNumber5) ExperienceNumber5,
  7886. AVG(ExperienceSalary0)ExperienceSalary0, AVG(ExperienceSalary1)ExperienceSalary1, AVG(ExperienceSalary2)ExperienceSalary2,
  7887. AVG(ExperienceSalary3)ExperienceSalary3, AVG(ExperienceSalary4)ExperienceSalary4, AVG(ExperienceSalary5)ExperienceSalary5, SUM(EducationNumber1)EducationNumber1,
  7888. SUM(EducationNumber2)EducationNumber2, SUM(EducationNumber3)EducationNumber3, SUM(EducationNumber4)EducationNumber4,
  7889. SUM(EducationNumber5)EducationNumber5, SUM(EducationNumber6)EducationNumber6, SUM(EducationNumber7)EducationNumber7,
  7890. SUM(EducationNumber8)EducationNumber8, SUM(EducationNumber100)EducationNumber100, AVG(EducationSalary1)EducationSalary1, AVG(EducationSalary2)EducationSalary2,
  7891. AVG(EducationSalary3)EducationSalary3, AVG(EducationSalary4)EducationSalary4, AVG(EducationSalary5)EducationSalary5,
  7892. AVG(EducationSalary6)EducationSalary6, AVG(EducationSalary7)EducationSalary7, AVG(EducationSalary8)EducationSalary8, AVG(EducationSalary100)EducationSalary100,
  7893. SUM(CompanyKindNumber1)CompanyKindNumber1, SUM(CompanyKindNumber2)CompanyKindNumber2, SUM(CompanyKindNumber3)CompanyKindNumber3,
  7894. SUM(CompanyKindNumber4)CompanyKindNumber4, SUM(CompanyKindNumber5)CompanyKindNumber5, SUM(CompanyKindNumber6)CompanyKindNumber6,
  7895. SUM(CompanyKindNumber7)CompanyKindNumber7, SUM(CompanyKindNumber8)CompanyKindNumber8, SUM(CompanyKindNumber9)CompanyKindNumber9,
  7896. SUM(CompanyKindNumber10)CompanyKindNumber10, SUM(CompanyKindNumber100)CompanyKindNumber100,
  7897. SUM(CompanySizeNumber1)CompanySizeNumber1, SUM(CompanySizeNumber2)CompanySizeNumber2, SUM(CompanySizeNumber3)CompanySizeNumber3,
  7898. SUM(CompanySizeNumber4)CompanySizeNumber4, SUM(CompanySizeNumber5)CompanySizeNumber5, SUM(CompanySizeNumber6)CompanySizeNumber6
  7899. FROM #temp
  7900. GROUP BY LEFT(dcRegionid,LEN(@dcRegionID)),dcExperienceId, dcEducationId,LEFT(dcJobTypeID, LEN(@dcJobTypeID))
  7901. END
  7902. ELSE
  7903. BEGIN
  7904. SELECT TOP 10 * FROM #temp
  7905. END
  7906. DROP TABLE #temp
  7907. DROP TABLE #Sum
  7908. END
  7909. END
  7910. END
  7911. --查询输入的金额占据的百分比
  7912. IF @inputSalary !=0
  7913. BEGIN
  7914. DECLARE @allcnt INT, @lesscnt INT
  7915. IF @dcJobTypeID =0
  7916. BEGIN
  7917. IF @dcExperienceId=''
  7918. BEGIN
  7919. IF @dcEducationId=''
  7920. BEGIN
  7921. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7922. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7923. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7924. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7925. AND Salary<@inputSalary
  7926. END
  7927. ELSE
  7928. BEGIN
  7929. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7930. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7931. AND dcEducationId =@dcEducationId
  7932. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7933. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7934. AND dcEducationId =@dcEducationId
  7935. AND Salary<@inputSalary
  7936. END
  7937. END
  7938. ELSE
  7939. BEGIN
  7940. IF @dcEducationId=''
  7941. BEGIN
  7942. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7943. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7944. AND MinExperience =@dcExperienceId
  7945. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7946. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7947. AND Salary<@inputSalary
  7948. AND MinExperience =@dcExperienceId
  7949. END
  7950. ELSE
  7951. BEGIN
  7952. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7953. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7954. AND dcEducationId =@dcEducationId
  7955. AND MinExperience =@dcExperienceId
  7956. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7957. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7958. AND dcEducationId =@dcEducationId
  7959. AND Salary<@inputSalary
  7960. AND MinExperience =@dcExperienceId
  7961. END
  7962. END
  7963. END
  7964. ELSE
  7965. BEGIN
  7966. IF @dcExperienceId=''
  7967. BEGIN
  7968. IF @dcEducationId=''
  7969. BEGIN
  7970. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7971. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7972. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId)) =@dcJobTypeId
  7973. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7974. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7975. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId))=@dcJobTypeId
  7976. AND Salary<@inputSalary
  7977. END
  7978. ELSE
  7979. BEGIN
  7980. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7981. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7982. AND dcEducationId =@dcEducationId
  7983. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId)) =@dcJobTypeId
  7984. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  7985. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7986. AND dcEducationId =@dcEducationId
  7987. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId)) =@dcJobTypeId
  7988. AND Salary<@inputSalary
  7989. END
  7990. END
  7991. ELSE
  7992. BEGIN
  7993. IF @dcEducationId=''
  7994. BEGIN
  7995. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  7996. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  7997. AND MinExperience =@dcExperienceId
  7998. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId))=@dcJobTypeId
  7999. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  8000. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  8001. AND Salary<@inputSalary
  8002. AND MinExperience =@dcExperienceId
  8003. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId))=@dcJobTypeId
  8004. END
  8005. ELSE
  8006. BEGIN
  8007. SELECT @allcnt=COUNT(1) FROM reportdb..salaryReport
  8008. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  8009. AND dcEducationId =@dcEducationId
  8010. AND MinExperience =@dcExperienceId
  8011. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId))=@dcJobTypeId
  8012. SELECT @lesscnt=COUNT(1) FROM reportdb..salaryReport
  8013. WHERE LEFT(dcregionId,LEN(@dcRegionID))=@dcRegionID
  8014. AND dcEducationId =@dcEducationId
  8015. AND Salary<@inputSalary
  8016. AND MinExperience =@dcExperienceId
  8017. AND LEFT(dcJobtypeId,LEN(@dcJobTypeId))=@dcJobTypeId
  8018. END
  8019. END
  8020. END
  8021. IF @allcnt=0 OR @lesscnt =0
  8022. SELECT ''AS lesspercent
  8023. ELSE
  8024. SELECT CONVERT(VARCHAR(10),@lesscnt*100/@allcnt) +'%' AS lesspercent
  8025. END
  8026. ELSE
  8027. BEGIN
  8028. SELECT '' AS lesspercent
  8029. END
  8030. END
  8031. SET NOCOUNT OFF
  8032. GO
  8033. /****** Object: StoredProcedure [dbo].[procSales_WorkdateStatusSelect] Script Date: 2018/12/13 19:11:58 ******/
  8034. SET ANSI_NULLS ON
  8035. GO
  8036. SET QUOTED_IDENTIFIER ON
  8037. GO
  8038. --#####################################################
  8039. --创建时间:2014.11.03
  8040. --创建人:Nick
  8041. --说明:判断今天是否是工作日
  8042. --#####################################################
  8043. CREATE PROCEDURE [dbo].[procSales_WorkdateStatusSelect]
  8044. (
  8045. @WorkDate VARCHAR(20)
  8046. )
  8047. AS
  8048. INSERT INTO procLog select 'procSales_WorkdateStatusSelect', @workdate, getdate()
  8049. BEGIN TRY
  8050. IF @WorkDate IS NULL
  8051. SELECT status FROM sales_workdate WITH(NOLOCK)
  8052. WHERE workdate = CONVERT(VARCHAR(8), GETDATE(), 112)
  8053. AND Status=1
  8054. ELSE
  8055. SELECT status FROM sales_workdate WITH(NOLOCK)
  8056. WHERE workdate = @WorkDate
  8057. AND Status=1
  8058. END TRY
  8059. BEGIN CATCH
  8060. RETURN 0
  8061. END CATCH
  8062. GO
  8063. /****** Object: StoredProcedure [dbo].[ProcSaleWorkDateStatusSelect] Script Date: 2018/12/13 19:11:58 ******/
  8064. SET ANSI_NULLS ON
  8065. GO
  8066. SET QUOTED_IDENTIFIER ON
  8067. GO
  8068. --#####################################################
  8069. --创建时间:2014.10.30
  8070. --创建人:Nick
  8071. --说明:判断今天是否是工作日
  8072. --#####################################################
  8073. CREATE PROCEDURE [dbo].[ProcSaleWorkDateStatusSelect]
  8074. (
  8075. @Day INT
  8076. )
  8077. AS
  8078. --INSERT INTO procLog select 'ProcSaleWorkDateStatusSelect', @Day, getdate()
  8079. BEGIN
  8080. IF @Day IS NULL
  8081. SELECT 1 FROM WorkDate WITH(NOLOCK)
  8082. WHERE WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112)
  8083. AND Type = 1
  8084. ELSE
  8085. SELECT 1
  8086. FROM WorkDate WITH(NOLOCK)
  8087. WHERE WorkDate = @Day
  8088. AND Type = 1
  8089. END
  8090. GO
  8091. /****** Object: StoredProcedure [dbo].[procSearchKeywordByKeyWordPinYinSelect] Script Date: 2018/12/13 19:11:58 ******/
  8092. SET ANSI_NULLS ON
  8093. GO
  8094. SET QUOTED_IDENTIFIER ON
  8095. GO
  8096. --#####################################################
  8097. --创建时间:2014.11.10
  8098. --创建人:NICK
  8099. --说明:关键词
  8100. --#####################################################
  8101. CREATE PROCEDURE [dbo].[procSearchKeywordByKeyWordPinYinSelect]
  8102. (
  8103. @KeyWord VARCHAR(50)
  8104. )
  8105. AS
  8106. BEGIN
  8107. SELECT TOP 10 KeyType,KeyWord,KeyWordPinYin,SearchResult,SearchType
  8108. FROM searchdb..SearchKeyword WITH(NOLOCK)
  8109. WHERE (KeyWord LIKE @KeyWord+'%' OR KeyWordPinYin LIKE @KeyWord+'%')
  8110. ORDER BY SearchNumber DESC
  8111. END
  8112. GO
  8113. /****** Object: StoredProcedure [dbo].[procSearchKeywordByKeyWordSelect] Script Date: 2018/12/13 19:11:58 ******/
  8114. SET ANSI_NULLS ON
  8115. GO
  8116. SET QUOTED_IDENTIFIER ON
  8117. GO
  8118. --#####################################################
  8119. --创建时间:2014.11.03
  8120. --创建人:Nick
  8121. --说明:获取关键词
  8122. --#####################################################
  8123. CREATE PROCEDURE [dbo].[procSearchKeywordByKeyWordSelect]
  8124. (
  8125. @KeyWord VARCHAR(50),
  8126. @Type INT
  8127. )
  8128. AS
  8129. BEGIN TRY
  8130. IF @Type = 1
  8131. BEGIN
  8132. SELECT TOP 10 KeyType,KeyWord,KeyWordPinYin,SearchResult,SearchType
  8133. FROM searchdb..SearchKeyword WITH(NOLOCK INDEX(IX_SearchKeyword_Keyword))
  8134. WHERE KeyWord LIKE ''+@KeyWord+'%'
  8135. ORDER BY SearchNumber DESC
  8136. END
  8137. ELSE
  8138. BEGIN
  8139. SELECT TOP 10 KeyType,KeyWord,KeyWordPinYin,SearchResult,SearchType
  8140. FROM searchdb..SearchKeyword WITH(NOLOCK INDEX(IX_SearchKeyword_KeywordPinYin))
  8141. WHERE KeyWordPinYin LIKE ''+@KeyWord+'%'
  8142. ORDER BY SearchNumber DESC
  8143. END
  8144. END TRY
  8145. BEGIN CATCH
  8146. RETURN 0
  8147. END CATCH
  8148. GO
  8149. /****** Object: StoredProcedure [dbo].[ProcSearchKeywordsPowerBtMergerUpdate] Script Date: 2018/12/13 19:11:58 ******/
  8150. SET ANSI_NULLS ON
  8151. GO
  8152. SET QUOTED_IDENTIFIER ON
  8153. GO
  8154. --#######################################################
  8155. --20111213 sean
  8156. --用于排名工具,断点续传
  8157. --#######################################################
  8158. CREATE PROCEDURE [dbo].[ProcSearchKeywordsPowerBtMergerUpdate]
  8159. AS
  8160. BEGIN
  8161. SET NOCOUNT ON;
  8162. DECLARE @DayInterval AS INT, @Week6 AS VARCHAR(8), @Day AS VARCHAR(8), @I AS INT, @Today AS VARCHAR(8)
  8163. SET @DayInterval =DATEPART(W, GETDATE())
  8164. IF @DayInterval = 7
  8165. SET @DayInterval = 0
  8166. SELECT @Week6 = CONVERT(VARCHAR(8), GETDATE() - @DayInterval, 112), @i = 0, @Today = CONVERT(VARCHAR(8), GETDATE(), 112)
  8167. WHILE @I < @DayInterval
  8168. BEGIN
  8169. SET @i = @i + 1
  8170. SET @Day = CONVERT(VARCHAR(8), GETDATE() - @i, 112)
  8171. IF @Day >= @Week6
  8172. BEGIN
  8173. UPDATE a SET a.YearMonthDay = @Today
  8174. FROM SearchKeywordsPower a
  8175. WHERE a.YearMonthDay = @Day
  8176. AND NOT EXISTS(SELECT 'x' FROM SearchKeywordsPower
  8177. WHERE SearchKeywords_Id = a.SearchKeywords_Id
  8178. AND Engine = a.Engine
  8179. AND YearMonthDay = @Today)
  8180. END
  8181. END
  8182. DELETE SearchKeywordsPower WHERE YearMonthDay >= @Week6 AND YearMonthDay < @Today
  8183. --update SearchKeywordsPower set YearMonthDay = @Week6 where YearMonthDay = @Today
  8184. END
  8185. GO
  8186. /****** Object: StoredProcedure [dbo].[procSecondererInsert] Script Date: 2018/12/13 19:11:59 ******/
  8187. SET ANSI_NULLS ON
  8188. GO
  8189. SET QUOTED_IDENTIFIER ON
  8190. GO
  8191. --创建人 Lambo 20101013
  8192. --用于首页记录访问记录
  8193. CREATE PROCEDURE [dbo].[procSecondererInsert]
  8194. (
  8195. @province_id SMALLINT,
  8196. @versionid INT,
  8197. @referer VARCHAR(190),
  8198. @ip VARCHAR(15),
  8199. @keyve NVARCHAR(50)
  8200. )
  8201. AS
  8202. BEGIN
  8203. SET NOCOUNT ON
  8204. SELECT TOP 1 ip
  8205. FROM Seconderer WITH(NOLOCK)
  8206. WHERE versionid=@versionid
  8207. AND referer=@referer
  8208. AND ip=@ip
  8209. AND LoginDate > DATEADD(MINUTE, -10, GETDATE())
  8210. IF(@@rowcount=0)
  8211. BEGIN
  8212. INSERT INTO seconderer (province_id,versionid,referer,ip,keywords)
  8213. VALUES(@province_id,@versionid,@referer,@ip,@keyve)
  8214. END
  8215. SET NOCOUNT OFF
  8216. END
  8217. GO
  8218. /****** Object: StoredProcedure [dbo].[procSecondererInsert2] Script Date: 2018/12/13 19:11:59 ******/
  8219. SET ANSI_NULLS ON
  8220. GO
  8221. SET QUOTED_IDENTIFIER ON
  8222. GO
  8223. --创建人 Lambo 20101013
  8224. --用于首页记录访问记录
  8225. CREATE PROCEDURE [dbo].[procSecondererInsert2]
  8226. (
  8227. @Province_ID SMALLINT,
  8228. @VersionID INT,
  8229. @Referer VARCHAR(190),
  8230. @Ip VARCHAR(15),
  8231. @Keyve NVARCHAR(50),
  8232. @SessionID VARCHAR(30)
  8233. )
  8234. AS
  8235. BEGIN
  8236. SET NOCOUNT ON
  8237. SELECT TOP 1 Ip
  8238. FROM Seconderer WITH(NOLOCK)
  8239. WHERE VersionID = @VersionID
  8240. AND Referer = @Referer
  8241. AND Ip = @Ip
  8242. AND LoginDate > DATEADD(MINUTE, -10, GETDATE())
  8243. IF(@@ROWCOUNT = 0)
  8244. BEGIN
  8245. INSERT INTO seconderer (Province_ID, VersionID, Referer, Ip, Keywords, Sessionid)
  8246. VALUES(@Province_ID, @VersionID, @Referer, @Ip, @Keyve, @Sessionid)
  8247. END
  8248. END
  8249. GO
  8250. /****** Object: StoredProcedure [dbo].[ProcShareMainLogByClickCountUpdate] Script Date: 2018/12/13 19:11:59 ******/
  8251. SET ANSI_NULLS ON
  8252. GO
  8253. SET QUOTED_IDENTIFIER ON
  8254. GO
  8255. --#####################################################
  8256. --创建时间:2015.1.19 --创建人:Harry
  8257. --说明:分享点击量增加
  8258. --#####################################################
  8259. CREATE PROCEDURE [dbo].[ProcShareMainLogByClickCountUpdate]
  8260. (
  8261. @ShareID VARCHAR(50)
  8262. )
  8263. AS
  8264. BEGIN
  8265. UPDATE LogDB..ShareMainLog
  8266. SET ClickCount=ClickCount+1
  8267. WHERE ShareID=@ShareID
  8268. END
  8269. GO
  8270. /****** Object: StoredProcedure [dbo].[ProcShareMainLogInsert] Script Date: 2018/12/13 19:12:00 ******/
  8271. SET ANSI_NULLS ON
  8272. GO
  8273. SET QUOTED_IDENTIFIER ON
  8274. GO
  8275. CREATE PROCEDURE [dbo].[ProcShareMainLogInsert]
  8276. (
  8277. @ShareID VARCHAR(20),
  8278. @Url VARCHAR(200),
  8279. @ShareMode TINYINT,
  8280. @ShareWay TINYINT,
  8281. @PageMark SMALLINT,
  8282. @PageID VARCHAR(20), --INT,
  8283. @ShareBy TINYINT,
  8284. @ShareMan INT
  8285. )
  8286. AS
  8287. SET NOCOUNT ON
  8288. IF EXISTS(SELECT 'x' FROM Logdb..ShareMainLog WHERE AddDate > DATEADD(MINUTE, -2, GETDATE()) AND ShareID = @ShareID AND Url = @Url)
  8289. RETURN
  8290. DECLARE @PageNo INT
  8291. BEGIN TRY
  8292. SET @PageNo = CONVERT(INT, @PageID)
  8293. END TRY
  8294. BEGIN CATCH
  8295. SET @PageNo = 0
  8296. END CATCH
  8297. BEGIN
  8298. INSERT INTO Logdb..ShareMainLog(
  8299. ShareID,
  8300. Url,
  8301. ShareMode,
  8302. ShareWay,
  8303. PageMark,
  8304. PageID,
  8305. ShareBy,
  8306. ShareMan
  8307. )
  8308. VALUES(
  8309. @ShareID,
  8310. @Url,
  8311. @ShareMode,
  8312. @ShareWay,
  8313. @PageMark,
  8314. @PageNo,
  8315. @ShareBy,
  8316. @ShareMan
  8317. )
  8318. END
  8319. GO
  8320. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogByBatchSendSelect] Script Date: 2018/12/13 19:12:00 ******/
  8321. SET ANSI_NULLS ON
  8322. GO
  8323. SET QUOTED_IDENTIFIER ON
  8324. GO
  8325. CREATE PROCEDURE [dbo].[ProcSmsMessageLogByBatchSendSelect]
  8326. AS
  8327. --return
  8328. SET NOCOUNT ON
  8329. BEGIN
  8330. IF DATEPART(HOUR, GETDATE()) < 8 OR DATEPART(HOUR, GETDATE()) > 17
  8331. RETURN
  8332. CREATE TABLE #t(ProvinceId INT, Cnt INT)
  8333. CREATE TABLE #m(id INT, Mobile VARCHAR(20))
  8334. INSERT INTO #t(ProvinceId, Cnt)
  8335. SELECT ProvinceId, COUNT(*) Cnt
  8336. FROM bsMobileSpread
  8337. WHERE UserType = 1
  8338. AND SendStatus IS NULL
  8339. AND BatchId IS NULL
  8340. --AND AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  8341. GROUP BY ProvinceId
  8342. HAVING COUNT(*) > 199
  8343. IF (SELECT COUNT(*) FROM #t) = 0
  8344. RETURN
  8345. DECLARE @MobileString VARCHAR(MAX), @Msg NVARCHAR(500), @ProvinceId INT, @Cnt INT
  8346. SET @ProvinceId = 0
  8347. WHILE EXISTS(SELECT 'x' FROM #t WHERE ProvinceId > @ProvinceId)
  8348. BEGIN
  8349. SELECT TOP 1 @MobileString = '', @ProvinceId = ProvinceId, @Cnt = Cnt FROM #t WHERE ProvinceId > @ProvinceId ORDER BY ProvinceId
  8350. SELECT TOP 1 @Msg = [Message] FROM bsMobileMessage WHERE dcProvinceId = @ProvinceId AND EndDate > GETDATE() AND BeginDate < GETDATE() ORDER BY ID DESC
  8351. IF @Cnt > 500
  8352. SET @Cnt = 300
  8353. TRUNCATE TABLE #m
  8354. INSERT INTO #m
  8355. SELECT TOP (@Cnt) Id, MobileNo
  8356. FROM bsMobileSpread
  8357. WHERE ProvinceId = @ProvinceId
  8358. AND UserType = 1
  8359. AND SendStatus IS NULL
  8360. AND BatchID IS NULL
  8361. --AND AddDate > CONVERT(VARCHAR(10), GETDATE() - 1, 120)
  8362. ORDER BY ID
  8363. SELECT TOP (@Cnt) @MobileString = @MobileString + ',' + Mobile
  8364. FROM #m
  8365. IF LEN(@MobileString) > 1
  8366. BEGIN
  8367. SET @MobileString = RIGHT(@MobileString, LEN(@MobileString) - 1)
  8368. INSERT INTO smsBatchSend(Mobile, Msg) SELECT @MobileString, @Msg
  8369. UPDATE bsMobileSpread SET BatchId = @@Identity WHERE ID IN(SELECT Id FROM #m)
  8370. END
  8371. END
  8372. END
  8373. GO
  8374. /****** Object: StoredProcedure [dbo].[procSmsMessageLogByBirthDayInsert] Script Date: 2018/12/13 19:12:00 ******/
  8375. SET ANSI_NULLS ON
  8376. GO
  8377. SET QUOTED_IDENTIFIER ON
  8378. GO
  8379. CREATE PROCEDURE [dbo].[procSmsMessageLogByBirthDayInsert]
  8380. AS
  8381. BEGIN
  8382. DECLARE @t VARCHAR(4)
  8383. SELECT @t = RIGHT(CONVERT(VARCHAR(8), GETDATE(), 112), 4)
  8384. INSERT SmsMessageLog(SendMan, ManagerUserId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  8385. SELECT 1, ManagerUserId, NULL, NULL, Mobile, 207, 0,
  8386. '一份祝福,一份真诚,在这个特别的日子里,伍亿全体同仁给您送上生日最最真挚的祝福,祝您生日.快乐、家庭幸福!伍亿的发展倾注了您和您家人的支持、奉献,感谢您的辛勤工作,在此向您表示衷心感谢!愿我们在今后的工作中和谐、同心,共创美好的明天!'
  8387. FROM OaDb..WorkUser
  8388. WHERE IDNumber LIKE '__________' + @t + '%'
  8389. AND JobStatus <> 3
  8390. end
  8391. GO
  8392. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogByCaSMSWaitInsert] Script Date: 2018/12/13 19:12:00 ******/
  8393. SET ANSI_NULLS ON
  8394. GO
  8395. SET QUOTED_IDENTIFIER ON
  8396. GO
  8397. -----------------
  8398. --创建日期:2012-4-17
  8399. --创建人:lambo
  8400. --功能说明:企业汇总类短信发送。将marketdb..caSMSWait里的数据转入SmsMessageLog
  8401. -----------------
  8402. CREATE PROCEDURE [dbo].[ProcSmsMessageLogByCaSMSWaitInsert]
  8403. AS
  8404. BEGIN TRY
  8405. IF oadb.dbo.IsWorkDate(getdate()) <> 1
  8406. RETURN
  8407. --删除今天已经登录过的企业的记录
  8408. If DATEPART(HOUR,GETDATE())*100 + DATEPART(MINUTE,GETDATE()) <= 905
  8409. DELETE FROM marketdb..cpSmsWait WHERE cpMainID IN(SELECT ID FROM cpMain WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 1)
  8410. ELSE
  8411. DELETE FROM marketdb..cpSmsWait WHERE cpMainID IN(SELECT ID FROM cpMain WITH(NOLOCK) WHERE LastLoginDate > DATEADD(MINUTE, -10, GETDATE()))
  8412. DECLARE @t AS TABLE(
  8413. ID int,
  8414. CpMainID int,
  8415. CaMainID int,
  8416. SmsType tinyint,
  8417. Msg nvarchar(100),
  8418. Mobile varchar(11),
  8419. LastLoginTime int,
  8420. exMessageP2CCount int,
  8421. exInterviewCount int,
  8422. exJobApplyCount int,
  8423. cacvIntentionCount int,
  8424. LastDate datetime,
  8425. LastLoginDate smalldatetime,
  8426. IsSend Bit
  8427. )
  8428. INSERT INTO @t
  8429. SELECT *, 0 FROM marketdb..cpSmsWait
  8430. WHERE LastLoginTime < DATEPART(HOUR, GETDATE()) * 100 + DATEPART(MINUTE, GETDATE())
  8431. AND Msg > ''
  8432. ORDER BY CASE WHEN SmsType > 16 THEN 0 ELSE 1 END, LastLoginTime DESC
  8433. --UPDATE @t SET IsSend = 1 WHERE ID % 7 = 1
  8434. UPDATE @t SET IsSend = 1
  8435. --INSERT INTO SmsWatch
  8436. --SELECT *, CONVERT(VARCHAR(8), GETDATE(), 112), SmsType-1 FROM @t
  8437. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  8438. SELECT 0, NULL, NULL, caMainID, Mobile, SmsType-1, 0,Msg FROM @T WHERE IsSend = 1
  8439. DELETE FROM marketdb..cpSMSWait WHERE ID IN (select ID FROM @T)
  8440. END TRY
  8441. BEGIN CATCH
  8442. END CATCH
  8443. GO
  8444. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogByEmrtReceiveInsert] Script Date: 2018/12/13 19:12:01 ******/
  8445. SET ANSI_NULLS ON
  8446. GO
  8447. SET QUOTED_IDENTIFIER ON
  8448. GO
  8449. CREATE PROCEDURE [dbo].[ProcSmsMessageLogByEmrtReceiveInsert]
  8450. (
  8451. @Mobile VARCHAR(20),
  8452. @Msg NVARCHAR(200)
  8453. )
  8454. AS
  8455. BEGIN
  8456. SET NOCOUNT ON
  8457. SET @Mobile = LTRIM(RTRIM(REPLACE(@Mobile, '+', '')))
  8458. IF(LEFT(@Mobile, 2) = '86')
  8459. SET @Mobile = RIGHT(@Mobile, LEN(@Mobile) - 2)
  8460. DECLARE @ReceiveDate VARCHAR(30)
  8461. SET @ReceiveDate = CONVERT(VARCHAR(20), GETDATE(), 120)
  8462. DECLARE @ID INT, @LeaveId AS INT, @WorkFlowID AS INT, @RunFlowId AS INT, @WorkStepId AS INT
  8463. INSERT SmsMessageLog(SendMan, Mobile, Msg, IsCat, SendDate, SmsType, MsgType, PortNo)
  8464. VALUES(-1, @Mobile, @Msg, 0, @ReceiveDate, 2, 255, 1)
  8465. SET @ID = @@IDENTITY
  8466. IF @Mobile LIKE '955%'
  8467. BEGIN
  8468. UPDATE SmsMessageLog SET SendMan = 140, MsgType = 245 WHERE ID = @ID
  8469. RETURN
  8470. END
  8471. IF LEFT(@Msg, 3) = '???'
  8472. SET @Msg = RIGHT(@Msg, LEN(@Msg) - 3)
  8473. --判断是不是内部的手机号
  8474. DECLARE @MID INT
  8475. SELECT TOP 1 @MID = ManagerUserID FROM OADB..WorkUser WITH(NOLOCK) WHERE Mobile = @Mobile AND JobStatus <> 3
  8476. IF @MID = 1
  8477. BEGIN
  8478. IF LEFT(@Msg, 1) IN('y', 'n')
  8479. BEGIN
  8480. IF (dbo.IsINT(RIGHT(@Msg, LEN(@Msg) - 1)) = 1 AND LEN(@Msg) BETWEEN 4 AND 6)
  8481. BEGIN
  8482. SET @LeaveId = CONVERT(INT, RIGHT(@MSg, LEN(@Msg) - 1))
  8483. SELECT @RunFlowId = ID, @WorkFlowID = WorkFlowId
  8484. FROM OaDb..RunFlow
  8485. WHERE BusinessId = @LeaveId AND WorkUserId IN(1, 10) AND ModuleId = 101
  8486. IF @RunFlowId IS NULL
  8487. RETURN
  8488. IF LEFT(@Msg, 1) = 'y'
  8489. BEGIN
  8490. UPDATE OaDb..RunFlow SET ViewDate = GETDATE(),SendDate = GETDATE(), ExecutionType = 1
  8491. WHERE ID = @RunFlowId
  8492. SELECT @WorkStepId = CASE @WorkFlowId WHEN 6 THEN 17 ELSE 24 END
  8493. INSERT INTO Oadb..RunFlow(WorkStepID, WorkUserID, BusinessID, Opinion, ReceiveDate, ViewDate,
  8494. SendDate, RemindNumber, NextRemindTime, ExecutionType, WorkFlowId, ModuleID)
  8495. SELECT @WorkStepId, ID, @LeaveID, '', GETDATE(), NULL, NULL, 0, GETDATE(), 0, @WorkFlowId, 101
  8496. FROM OADB..WorkUser WHERE ManagerUserID IN(101) AND JobStatus < 3
  8497. END
  8498. IF LEFT(@Msg, 1) = 'n'
  8499. BEGIN
  8500. UPDATE OaDb..RunFlow SET Opinion='退回', ViewDate = GETDATE(),SendDate = GETDATE(), ExecutionType = 1
  8501. WHERE ID = @RunFlowId
  8502. SELECT @WorkStepId = ID FROM Oadb..WorkStep WHERE WorkFlowId = @WorkFlowId AND IsStart = 1
  8503. INSERT INTO Oadb..RunFlow(WorkStepID, WorkUserID, BusinessID, Opinion, ReceiveDate, ViewDate,
  8504. SendDate, RemindNumber, NextRemindTime, ExecutionType, WorkFlowId, ModuleID)
  8505. SELECT @WorkStepId, ApplicantID, @LeaveID, '', GETDATE(), NULL, NULL, 0, GETDATE(), 0, @WorkFlowId, 101
  8506. FROM OADB..Leave WHERE ID = @LeaveId
  8507. END
  8508. END
  8509. END
  8510. END
  8511. IF @MID > 0
  8512. BEGIN
  8513. UPDATE SmsMessageLog SET SendMan = @MID, MsgType = 241 WHERE ID = @ID
  8514. ----Rtx
  8515. IF LEFT(@Msg, 2) = '请假'
  8516. BEGIN
  8517. EXEC OaDb..ProcLeaveBySmsInsert @Msg, @Mobile
  8518. END
  8519. ELSE
  8520. BEGIN
  8521. --IF(GETDATE() BETWEEN '2013-2-2 15:00' AND '2013-2-2 21:59' OR @Mobile IN('15318161005', '18663412806', '13455496132'))
  8522. INSERT INTO nhSms VALUES(@MID, @Mobile, @Msg, 0, 0, 0, GETDATE())
  8523. END
  8524. RETURN
  8525. END
  8526. DECLARE @CaMainID INT, @CompanyName VARCHAR(100), @cpMainId INT, @PaMainID INT, @ManagerUserID INT, @SendMan INT, @ConsultantID INT
  8527. SET @ConsultantID = 131 --先暂时给lulu
  8528. SELECT TOP 1 @CaMainID = CaMainID, @PaMainID = PaMainID, @ManagerUserID = ManagerUserID, @SendMan = SendMan
  8529. FROM SmsMessageLog WITH(NOLOCK)
  8530. WHERE Mobile = @Mobile
  8531. AND SmsType = 1
  8532. ORDER BY ID DESC
  8533. IF @CaMainID > 0
  8534. BEGIN
  8535. IF @SendMan > 0
  8536. UPDATE SmsMessageLog SET SendMan = @SendMan, caMainId = @caMainId, MsgType = 242 WHERE ID = @ID
  8537. ELSE
  8538. BEGIN
  8539. SELECT @ConsultantID = ConsultantID
  8540. FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  8541. WHERE a.cpMainID = b.ID
  8542. AND a.ID = @caMainID
  8543. IF @ConsultantID IS NULL
  8544. BEGIN
  8545. SET @ConsultantID = 131
  8546. END
  8547. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 242, caMainId = @caMainId WHERE ID = @ID
  8548. END
  8549. END
  8550. ELSE IF @paMainID > 0
  8551. BEGIN
  8552. IF @SendMan > 0
  8553. UPDATE SmsMessageLog SET SendMan = @SendMan, MsgType = 243, paMainId = @paMainId WHERE ID = @ID
  8554. ELSE
  8555. BEGIN
  8556. SET @ConsultantID = 131
  8557. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 243, paMainId = @paMainId WHERE ID = @ID
  8558. END
  8559. END
  8560. ELSE IF @ManagerUserID > 0
  8561. UPDATE SmsMessageLog SET SendMan = @ManagerUserID, MsgType =241 WHERE ID = @ID
  8562. ELSE IF @SendMan > 0
  8563. UPDATE SmsMessageLog SET SendMan = @SendMan WHERE ID = @ID
  8564. ELSE
  8565. BEGIN
  8566. --是否企业用户的手机
  8567. SELECT @caMainId = a.ID, @companyName = b.Name, @cpMainId = b.Id, @ConsultantID = b.ConsultantID
  8568. FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  8569. WHERE a.cpMainID = b.ID
  8570. AND a.Mobile = @Mobile
  8571. IF @caMainId > 0
  8572. BEGIN
  8573. IF @ConsultantID > 0
  8574. BEGIN
  8575. UPDATE SmsMessageLog SET SendMan = @ConsultantID, caMainId = @caMainId, MsgType = 242 WHERE ID = @ID
  8576. INSERT INTO rtxNotifyLog (Receiver, RtxTitle, RtxMessage, SendType, DelayTime, SendTime, AddTime)
  8577. SELECT @ConsultantID, '您收到新的短信',
  8578. '您收到短信,发信人:' + @companyName + '(' + LTRIM(STR(@cpMainId)) + '),时间:' + CONVERT(VARCHAR(20), GETDATE(), 120) +
  8579. ',消息:' + @Msg + '。http://sysback.51rc.com/yehgiiaovbjkaie871/Others/mobilesend_list2.asp',
  8580. 0, 0, 0, GETDATE()
  8581. END
  8582. ELSE
  8583. BEGIN
  8584. SET @ConsultantID = 131
  8585. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 242, caMainId = @caMainId WHERE ID = @ID
  8586. END
  8587. RETURN
  8588. END
  8589. --是否招聘会认证的手机
  8590. DECLARE @RID AS INT
  8591. SELECT @RID = ID, @paMainId = paMainID FROM MarketDB..RmGiftRequire WITH(NOLOCK) WHERE Mobile = @Mobile
  8592. IF @@ROWCOUNT = 0
  8593. SELECT @RID = ID, @paMainId = paMainID FROM MarketDB..MobileRegisterCode WITH(NOLOCK) WHERE Mobile = @Mobile
  8594. IF @RID > 0
  8595. BEGIN
  8596. SET @ConsultantID = 160
  8597. UPDATE SmsMessageLog SET SendMan = @ConsultantID, paMainId = @paMainId, MsgType = 244 WHERE ID = @ID
  8598. RETURN
  8599. END
  8600. --是否个人用户的手机
  8601. SELECT @paMainId = ID
  8602. FROM paMain WITH(NOLOCK)
  8603. WHERE Mobile = @Mobile
  8604. IF @paMainId > 0
  8605. BEGIN
  8606. SET @ConsultantID = 131
  8607. UPDATE SmsMessageLog SET SendMan = @ConsultantID, paMainId = @paMainId, MsgType = 243 WHERE ID = @ID
  8608. RETURN
  8609. END
  8610. END
  8611. END
  8612. GO
  8613. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogByPaSMSWaitInsert] Script Date: 2018/12/13 19:12:01 ******/
  8614. SET ANSI_NULLS ON
  8615. GO
  8616. SET QUOTED_IDENTIFIER ON
  8617. GO
  8618. -----------------
  8619. --创建日期:2012-4-17
  8620. --创建人:lambo
  8621. --功能说明:个人汇总类短信发送。将marketdb..paSMSWait里的数据转入SmsMessageLog
  8622. --计划任务执行,8点至
  8623. -----------------
  8624. CREATE PROCEDURE [dbo].[ProcSmsMessageLogByPaSMSWaitInsert]
  8625. AS
  8626. BEGIN TRY
  8627. --删除今天已经登录过的个人的记录
  8628. If DATEPART(HOUR,GETDATE())*100 + DATEPART(MINUTE,GETDATE()) <= 805
  8629. DELETE FROM marketdb..paSMSWait WHERE paMainID IN(SELECT ID FROM paMain WITH(NOLOCK) WHERE LastLoginDate > GETDATE() - 1)
  8630. ELSE
  8631. DELETE FROM marketdb..paSMSWait WHERE paMainID IN(SELECT ID FROM paMain WITH(NOLOCK) WHERE LastLoginDate > DATEADD(MINUTE, -10, GETDATE()))
  8632. DECLARE @t AS TABLE(
  8633. ID int,
  8634. paMainID int,
  8635. SmsType tinyint,
  8636. Msg nvarchar(100),
  8637. Mobile varchar(11),
  8638. LastLoginTime int,
  8639. LastDate datetime,
  8640. IsSend Bit
  8641. )
  8642. INSERT INTO @t
  8643. SELECT TOP 20 *, 1 FROM marketdb..paSMSWait WHERE LastLoginTime < DATEPART(HOUR, GETDATE())*100 + DATEPART(MINUTE, GETDATE()) AND Msg>''
  8644. --UPDATE @t SET IsSend = 0 WHERE ID % 7 = 0
  8645. --UPDATE @t SET IsSend = 1
  8646. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  8647. SELECT 0, NULL, paMainID, NULL, Mobile, 100 + SmsType, 0,Msg FROM @t --WHERE IsSend = 1
  8648. --INSERT INTO SmsWatch(ID, cpMainId, caMainId, SmsType, MsgType, Msg, Mobile, LastLoginTime, LastDate, LastLoginDate, IsSend, WatchDate)
  8649. --SELECT ID, paMainId, paMainId, smsType, 100 + SmsType, Msg, Mobile, LastLoginTime, LastDate, LastDate, IsSend, CONVERT(VARCHAR(8), GETDATE(), 112)
  8650. --FROM @t
  8651. DELETE FROM marketdb..paSMSWait WHERE ID IN (select ID FROM @t)
  8652. END TRY
  8653. BEGIN CATCH
  8654. END CATCH
  8655. GO
  8656. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogByReceiveInsert] Script Date: 2018/12/13 19:12:02 ******/
  8657. SET ANSI_NULLS ON
  8658. GO
  8659. SET QUOTED_IDENTIFIER ON
  8660. GO
  8661. /*
  8662. used by zhongxinjiahe port 2
  8663. sysback.51rc.com:81\.....\mobilereceived.asp
  8664. */
  8665. CREATE PROCEDURE [dbo].[ProcSmsMessageLogByReceiveInsert]
  8666. (
  8667. @Mobile VARCHAR(20),
  8668. @Msg NVARCHAR(200),
  8669. @ReceiveDate VARCHAR(30),
  8670. @PortNo INT,
  8671. @IsCat BIT
  8672. )
  8673. AS
  8674. insert into proclog select 'ProcSmsMessageLogByReceiveInsert', @Mobile, getdate()
  8675. BEGIN
  8676. SET NOCOUNT ON
  8677. SET @Mobile = LTRIM(RTRIM(REPLACE(REPLACE(@Mobile, '+', ''), '''', '')))
  8678. SET @Msg = dbo.SafeSql(@Msg)
  8679. SET @ReceiveDate = dbo.SafeSql(@ReceiveDate)
  8680. IF(LEFT(@Mobile, 2) = '86')
  8681. SET @Mobile = RIGHT(@Mobile, LEN(@Mobile) - 2)
  8682. IF (LEN(ISNULL(@ReceiveDate, '')) < 8)
  8683. SET @ReceiveDate = CONVERT(VARCHAR(20), GETDATE(), 120)
  8684. DECLARE @ID INT, @LeaveId AS INT, @WorkFlowID AS INT, @RunFlowId AS INT, @WorkStepId AS INT
  8685. INSERT SmsMessageLog(SendMan, Mobile, Msg, IsCat, SendDate, SmsType, MsgType, PortNo)
  8686. VALUES(-1, @Mobile, @Msg, @IsCat, @ReceiveDate, 2, 255, @PortNo)
  8687. SET @ID = @@IDENTITY
  8688. --校园认证短信
  8689. IF LEFT(@Msg,2) = '认证'
  8690. BEGIN
  8691. DECLARE @UserName VARCHAR(50),@dcProvinceID VARCHAR(2),@SubSiteUrl VARCHAR(200)
  8692. SET @Msg = REPLACE(REPLACE(@Msg,'+',''),'认证','')
  8693. SET @dcProvinceID = LEFT(@Msg,2)
  8694. SET @UserName = RIGHT(@Msg,LEN(@Msg)-2)
  8695. IF dbo.IsINT(@dcProvinceID)=1
  8696. BEGIN
  8697. SELECT @SubSiteUrl=SubSiteUrl FROM dcSubSite WHERE ID=@dcProvinceID
  8698. IF ISNULL(@SubSiteUrl,'') = ''
  8699. RETURN
  8700. END
  8701. ELSE
  8702. RETURN
  8703. IF dbo.IsEmail(@UserName)=1
  8704. EXEC RmPaMainByMobileInsert @UserName,@dcProvinceID,@Mobile,@SubSiteUrl
  8705. RETURN
  8706. END
  8707. IF @Mobile LIKE '955%'
  8708. BEGIN
  8709. UPDATE SmsMessageLog SET SendMan = 140, MsgType = 245 WHERE ID = @ID
  8710. RETURN
  8711. END
  8712. IF LEFT(@Msg, 3) = '???'
  8713. SET @Msg = RIGHT(@Msg, LEN(@Msg) - 3)
  8714. --判断是不是内部的手机号
  8715. DECLARE @MID INT
  8716. SELECT TOP 1 @MID = ManagerUserID FROM OADB..WorkUser WITH(NOLOCK) WHERE Mobile = @Mobile AND JobStatus <> 3
  8717. IF @MID = 1
  8718. BEGIN
  8719. IF LEFT(@Msg, 1) IN('y', 'n')
  8720. BEGIN
  8721. IF (dbo.IsINT(RIGHT(@Msg, LEN(@Msg) - 1)) = 1 AND LEN(@Msg) BETWEEN 4 AND 6)
  8722. BEGIN
  8723. SET @LeaveId = CONVERT(INT, RIGHT(@MSg, LEN(@Msg) - 1))
  8724. SELECT @RunFlowId = ID, @WorkFlowID = WorkFlowId
  8725. FROM OaDb..RunFlow
  8726. WHERE BusinessId = @LeaveId AND WorkUserId IN(1, 10) AND ModuleId = 101
  8727. IF @RunFlowId IS NULL
  8728. RETURN
  8729. IF LEFT(@Msg, 1) = 'y'
  8730. BEGIN
  8731. UPDATE OaDb..RunFlow SET ViewDate = GETDATE(),SendDate = GETDATE(), ExecutionType = 1
  8732. WHERE ID = @RunFlowId
  8733. SELECT @WorkStepId = CASE @WorkFlowId WHEN 6 THEN 17 ELSE 24 END
  8734. INSERT INTO Oadb..RunFlow(WorkStepID, WorkUserID, BusinessID, Opinion, ReceiveDate, ViewDate,
  8735. SendDate, RemindNumber, NextRemindTime, ExecutionType, WorkFlowId, ModuleID)
  8736. SELECT @WorkStepId, ID, @LeaveID, '', GETDATE(), NULL, NULL, 0, GETDATE(), 0, @WorkFlowId, 101
  8737. FROM OADB..WorkUser WHERE ManagerUserID IN(105) AND JobStatus < 3
  8738. END
  8739. IF LEFT(@Msg, 1) = 'n'
  8740. BEGIN
  8741. UPDATE OaDb..RunFlow SET Opinion='退回', ViewDate = GETDATE(),SendDate = GETDATE(), ExecutionType = 1
  8742. WHERE ID = @RunFlowId
  8743. SELECT @WorkStepId = ID FROM Oadb..WorkStep WHERE WorkFlowId = @WorkFlowId AND IsStart = 1
  8744. INSERT INTO Oadb..RunFlow(WorkStepID, WorkUserID, BusinessID, Opinion, ReceiveDate, ViewDate,
  8745. SendDate, RemindNumber, NextRemindTime, ExecutionType, WorkFlowId, ModuleID)
  8746. SELECT @WorkStepId, ApplicantID, @LeaveID, '', GETDATE(), NULL, NULL, 0, GETDATE(), 0, @WorkFlowId, 101
  8747. FROM OADB..Leave WHERE ID = @LeaveId
  8748. END
  8749. END
  8750. END
  8751. END
  8752. IF @MID > 0
  8753. BEGIN
  8754. --UPDATE SmsMessageLog SET SendMan = @MID, MsgType = 241 WHERE ID = @ID
  8755. IF LEFT(@Msg, 2) = '请假'
  8756. BEGIN
  8757. EXEC OaDb..ProcLeaveBySmsInsert @Msg, @Mobile
  8758. END
  8759. ELSE -- 年会时需要读取发送的手机号并保存到年会短信记录表里 2013-1-15 Lucifer
  8760. BEGIN
  8761. --IF(GETDATE() BETWEEN '2013-2-2 15:00' AND '2013-2-2 21:59' OR @Mobile IN('15318161005', '18663412806', '13455496132'))
  8762. begin try
  8763. INSERT INTO nhSms(ManageruserId) SELECT @MID
  8764. --INSERT INTO nhSms VALUES(@MID, @Mobile, @Msg, 1, GETDATE())
  8765. end try
  8766. begin catch
  8767. INSERT INTO nhSms(ManageruserId) SELECT @MID
  8768. end catch
  8769. END
  8770. RETURN
  8771. END
  8772. DECLARE @CaMainID INT, @CompanyName VARCHAR(100), @cpMainId INT, @PaMainID INT, @ManagerUserID INT, @SendMan INT, @ConsultantID INT
  8773. SET @ConsultantID = 131 --先暂时给lulu
  8774. SELECT TOP 1 @CaMainID = CaMainID, @PaMainID = PaMainID, @ManagerUserID = ManagerUserID, @SendMan = SendMan
  8775. FROM SmsMessageLog WITH(NOLOCK)
  8776. WHERE Mobile = @Mobile
  8777. AND SmsType = 2
  8778. ORDER BY ID DESC
  8779. IF @CaMainID > 0
  8780. BEGIN
  8781. IF @SendMan > 0
  8782. UPDATE SmsMessageLog SET SendMan = @SendMan, caMainId = @caMainId, MsgType = 242 WHERE ID = @ID
  8783. ELSE
  8784. BEGIN
  8785. SELECT @ConsultantID = ConsultantID
  8786. FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  8787. WHERE a.cpMainID = b.ID
  8788. AND a.ID = @caMainID
  8789. IF @ConsultantID IS NULL
  8790. BEGIN
  8791. SET @ConsultantID = 131
  8792. END
  8793. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 242, caMainId = @caMainId WHERE ID = @ID
  8794. END
  8795. END
  8796. ELSE IF @paMainID > 0
  8797. BEGIN
  8798. IF @SendMan > 0
  8799. UPDATE SmsMessageLog SET SendMan = @SendMan, MsgType = 243, paMainId = @paMainId WHERE ID = @ID
  8800. ELSE
  8801. BEGIN
  8802. SET @ConsultantID = 131
  8803. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 243, paMainId = @paMainId WHERE ID = @ID
  8804. END
  8805. END
  8806. ELSE IF @ManagerUserID > 0
  8807. UPDATE SmsMessageLog SET SendMan = @ManagerUserID, MsgType =241 WHERE ID = @ID
  8808. ELSE IF @SendMan > 0
  8809. UPDATE SmsMessageLog SET SendMan = @SendMan WHERE ID = @ID
  8810. ELSE
  8811. BEGIN
  8812. --是否企业用户的手机
  8813. SELECT @caMainId = a.ID, @companyName = b.Name, @cpMainId = b.Id, @ConsultantID = b.ConsultantID
  8814. FROM caMain a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  8815. WHERE a.cpMainID = b.ID
  8816. AND a.Mobile = @Mobile
  8817. IF @caMainId > 0
  8818. BEGIN
  8819. IF @ConsultantID > 0
  8820. BEGIN
  8821. UPDATE SmsMessageLog SET SendMan = @ConsultantID, caMainId = @caMainId, MsgType = 242 WHERE ID = @ID
  8822. INSERT INTO rtxNotifyLog (Receiver, RtxTitle, RtxMessage, SendType, DelayTime, SendTime, AddTime)
  8823. SELECT @ConsultantID, '您收到新的短信',
  8824. '您收到短信,发信人:' + @companyName + '(' + LTRIM(STR(@cpMainId)) + '),时间:' + CONVERT(VARCHAR(20), GETDATE(), 120) +
  8825. ',消息:' + @Msg + '。http://sysback.51rc.com/newoa/desktop/MobileSendList2',
  8826. 0, 0, NULL, GETDATE()
  8827. END
  8828. ELSE
  8829. BEGIN
  8830. SET @ConsultantID = 131
  8831. UPDATE SmsMessageLog SET SendMan = @ConsultantID, MsgType = 242, caMainId = @caMainId WHERE ID = @ID
  8832. END
  8833. RETURN
  8834. END
  8835. --是否招聘会认证的手机
  8836. /* DECLARE @RID AS INT
  8837. SELECT @RID = ID, @paMainId = paMainID FROM MarketDB..RmGiftRequire WITH(NOLOCK) WHERE Mobile = @Mobile
  8838. IF @@ROWCOUNT = 0
  8839. SELECT @RID = ID, @paMainId = paMainID FROM MarketDB..MobileRegisterCode WITH(NOLOCK) WHERE Mobile = @Mobile
  8840. IF @RID > 0
  8841. BEGIN
  8842. SET @ConsultantID = 160
  8843. UPDATE SmsMessageLog SET SendMan = @ConsultantID, paMainId = @paMainId, MsgType = 244 WHERE ID = @ID
  8844. RETURN
  8845. END
  8846. */
  8847. --是否个人用户的手机
  8848. SELECT @paMainId = ID
  8849. FROM paMain WITH(NOLOCK)
  8850. WHERE Mobile = @Mobile
  8851. IF @paMainId > 0
  8852. BEGIN
  8853. SET @ConsultantID = 131
  8854. UPDATE SmsMessageLog SET SendMan = @ConsultantID, paMainId = @paMainId, MsgType = 243 WHERE ID = @ID
  8855. RETURN
  8856. END
  8857. END
  8858. END
  8859. GO
  8860. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogBySales0514Insert] Script Date: 2018/12/13 19:12:03 ******/
  8861. SET ANSI_NULLS ON
  8862. GO
  8863. SET QUOTED_IDENTIFIER ON
  8864. GO
  8865. CREATE PROCEDURE [dbo].[ProcSmsMessageLogBySales0514Insert]
  8866. AS
  8867. BEGIN
  8868. /*
  8869. 1、2个月内已提交订单(免费会员) 11个
  8870. 2、5月12日--7月12日,这段时间到期的客户。 2978个
  8871. 3、3月12日--5月12日,这段时间已到期没有续费的客户。 1585个
  8872. 4、2个月内查看过资费标准(免费会员) 20576
  8873. 以上四种是要发的客户。--用优势(中嘉和信通道吧)
  8874. xxxx(单位名称),会员套餐惊喜无限,xxx人才网期待您的参与!详情请咨询4006265151-工号(有顾问的话显示工号,没有顾问就直接显示为0)
  8875. */
  8876. CREATE TABLE #t1(Id INT)
  8877. --1、2个月内已提交订单(免费会员) 11个
  8878. insert #t1
  8879. select distinct cpmainid
  8880. FROM Caorder where adddate>getdate()-61 and adddate < getdate()- 7
  8881. and cpmainid in(select id from cpmain where membertype<3) and paid>0
  8882. --2、5月12日--7月12日,这段时间到期的客户。
  8883. insert #t1
  8884. select distinct cpmainid
  8885. FROM Caorder where Enddate BETWEEN GETDATE() AND GETDATE() + 61
  8886. AND OrderType = 8
  8887. and cpmainid in(select id from cpmain where membertype=3)
  8888. --3、3月12日--5月12日,这段时间已到期没有续费的客户。
  8889. insert #t1
  8890. select distinct cpmainid
  8891. FROM Caorder where Enddate BETWEEN GETDATE()-61 AND GETDATE()
  8892. AND OrderType = 8
  8893. and cpmainid in(select id from cpmain where membertype<3)
  8894. --4、2个月内查看过资费标准(免费会员) 20576
  8895. INSERT #t1
  8896. SELECT a.Id
  8897. FROM cpMain a, caMain b
  8898. WHERE a.id= b.cpMainId
  8899. AND b.Id IN(SELECT caMainId FROM caFeePageViewLog WHERE AddDate > GETDATE() - 61)
  8900. AND a.MemberType < 3
  8901. CREATE TABLE #t(ID INT, CompanyName NVARCHAR(100), ConsultantId INT, dcProvinceId INT, SiteName NVARCHAR(20), caMainId INT, Mobile VARCHAR(13))
  8902. INSERT #t
  8903. SELECT a.Id, a.Name, a.ConsultantId, a.dcProvinceId, '', b.Id, b.Mobile
  8904. FROM cpMain a, caMain b
  8905. WHERE a.Id = b.cpMainId
  8906. AND b.AccountType = 1
  8907. AND a.Id IN(SELECT ID FROM #t1)
  8908. UPDATE a
  8909. SET a.SiteName = b.SubSiteName
  8910. FROM #t a, dcSubsite b
  8911. WHERE a.dcProvinceId = b.Id
  8912. UPDATE #t SET ConsultantId = 0 WHERE ConsultantId IS NULL OR ConsultantId IN(SELECT ID FROM ManagerUser WHERE Status > 2)
  8913. DELETE FROM #t WHERE dbo.IsMobile(Mobile) = 0
  8914. -- xxxx(单位名称),会员套餐惊喜无限,xxx人才网期待您的参与!详情请咨询4006265151-工号(有顾问的话显示工号,没有顾问就直接显示为0)
  8915. INSERT SmsMessageLog(SendMan, Mobile, Msg, IsCat, AddDate, SmsType, MsgType)
  8916. SELECT 112, Mobile, CompanyName + ',会员套餐惊喜无限,' + SiteName + '期待您的参与!详情请咨询4006265151-' + LTRIM(STR(ConsultantId)),
  8917. 0, GETDATE(), 1, 26
  8918. FROM #t
  8919. END
  8920. GO
  8921. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogBySendInsert] Script Date: 2018/12/13 19:12:03 ******/
  8922. SET ANSI_NULLS ON
  8923. GO
  8924. SET QUOTED_IDENTIFIER ON
  8925. GO
  8926. CREATE PROCEDURE [dbo].[ProcSmsMessageLogBySendInsert]
  8927. (
  8928. @SendMan SMALLINT,
  8929. @ManagerUserId SMALLINT,
  8930. @paMainID INT,
  8931. @caMainID INT,
  8932. @Mobile VARCHAR(11),
  8933. @Msg NVARCHAR(200),
  8934. @MsgType TINYINT,
  8935. @IsCat BIT
  8936. )
  8937. AS
  8938. BEGIN
  8939. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, Msg, MsgType, IsCat)
  8940. VALUES(@SendMan, @ManagerUSerId, @paMainId, @caMainId, @Mobile, @Msg, @MsgType, @IsCat)
  8941. RETURN @@IDENTITY
  8942. END
  8943. GO
  8944. /****** Object: StoredProcedure [dbo].[procSmsmessageLogCountSelect] Script Date: 2018/12/13 19:12:03 ******/
  8945. SET ANSI_NULLS ON
  8946. GO
  8947. SET QUOTED_IDENTIFIER ON
  8948. GO
  8949. --#####################################################
  8950. --创建时间:2014.10.30
  8951. --创建人:Nick
  8952. --说明:
  8953. --#####################################################
  8954. CREATE PROCEDURE [dbo].[procSmsmessageLogCountSelect]
  8955. (
  8956. @AskNo VARCHAR(50),
  8957. @AddDate DATETIME
  8958. )
  8959. AS
  8960. --BEGIN TRY
  8961. DECLARE @CNT INT
  8962. SET @CNT = 0
  8963. SELECT @CNT = COUNT(*)
  8964. FROM smsmessagelog
  8965. WHERE mobile=(
  8966. SELECT TOP 1 mobile
  8967. FROM caGetPasswordLog WITH(NOLOCK)
  8968. WHERE askno = @askNo
  8969. AND mobile IS NOT NULL
  8970. ) AND adddate > @AddDate
  8971. AND MsgType=9
  8972. IF @CNT < 5
  8973. BEGIN
  8974. INSERT INTO smsmessagelog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  8975. SELECT TOP 1 SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg
  8976. FROM smsmessagelog
  8977. WHERE mobile=(
  8978. SELECT TOP 1 mobile
  8979. FROM caGetPasswordLog WITH(NOLOCK)
  8980. WHERE askno = @AskNo
  8981. AND mobile IS NOT NULL
  8982. ) AND adddate>@AddDate
  8983. AND MsgType=9 ORDER BY id desc
  8984. RETURN @CNT
  8985. END
  8986. RETURN -1
  8987. --END TRY
  8988. --BEGIN CATCH
  8989. -- RETURN 0
  8990. --END CATCH
  8991. GO
  8992. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogInsert] Script Date: 2018/12/13 19:12:03 ******/
  8993. SET ANSI_NULLS ON
  8994. GO
  8995. SET QUOTED_IDENTIFIER ON
  8996. GO
  8997. --#####################################################
  8998. --创建时间:2014.10.28
  8999. --创建人:John
  9000. --说明:短信通知日志新增
  9001. --#####################################################
  9002. CREATE PROCEDURE [dbo].[ProcSmsMessageLogInsert]
  9003. (
  9004. @SendMan SMALLINT,
  9005. @ManagerUserId SMALLINT,
  9006. @paMainId INT,
  9007. @caMainId INT,
  9008. @Mobile VARCHAR(20),
  9009. @Msg NVARCHAR(210),
  9010. @MsgType TINYINT,
  9011. @IsCat BIT
  9012. )
  9013. AS
  9014. SET NOCOUNT ON
  9015. BEGIN
  9016. IF @MsgType IN(102, 105) AND @paMainId > 0
  9017. BEGIN
  9018. IF EXISTS(SELECT 'x' FROM wxFans WITH(NOLOCK) WHERE paMainId = @paMainId)
  9019. RETURN
  9020. END
  9021. -- IF @MsgType = 122 AND @Msg LIKE '%珠江%'
  9022. -- BEGIN
  9023. -- INSERT PROCLog SELECT 'ProcSmsMessageLogInsert', @Mobile, GETDATE()
  9024. -- RETURN
  9025. -- END
  9026. IF EXISTS(SELECT 'x' FROM SmsMessageLog WITH(NOLOCK) WHERE Mobile = @Mobile AND Msg = @Msg AND AddDate > GETDATE() - 0.3)
  9027. RETURN
  9028. INSERT INTO SmsMessageLog (SendMan, ManagerUserId, paMainId, caMainId, Mobile, Msg, MsgType, IsCat)
  9029. SELECT @SendMan, @ManagerUserId, @paMainId, @caMainId, @Mobile, @Msg, @MsgType, @IsCat
  9030. END
  9031. GO
  9032. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogInsertBySendDate] Script Date: 2018/12/13 19:12:03 ******/
  9033. SET ANSI_NULLS ON
  9034. GO
  9035. SET QUOTED_IDENTIFIER ON
  9036. GO
  9037. --#####################################################
  9038. --创建时间:2018.4.26
  9039. --创建人:Harry
  9040. --说明:实时短信发送成功插入记录
  9041. --#####################################################
  9042. CREATE PROCEDURE [dbo].[ProcSmsMessageLogInsertBySendDate]
  9043. (
  9044. @SendMan SMALLINT,
  9045. @ManagerUserId SMALLINT,
  9046. @paMainId INT,
  9047. @caMainId INT,
  9048. @Mobile VARCHAR(20),
  9049. @Msg NVARCHAR(210),
  9050. @PortNo INT,
  9051. @MsgType TINYINT,
  9052. @IsCat BIT
  9053. )
  9054. AS
  9055. SET NOCOUNT ON
  9056. BEGIN
  9057. INSERT INTO SmsMessageLog (SendMan, ManagerUserId, paMainId, caMainId, Mobile, Msg,PortNo, MsgType, IsCat,AddDate,SendDate,SendStatus)
  9058. SELECT @SendMan, @ManagerUserId, @paMainId, @caMainId, @Mobile, @Msg, @PortNo, @MsgType, @IsCat,GETDATE(),GETDATE(),1
  9059. END
  9060. SET NOCOUNT OFF
  9061. GO
  9062. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogSelect] Script Date: 2018/12/13 19:12:04 ******/
  9063. SET ANSI_NULLS ON
  9064. GO
  9065. SET QUOTED_IDENTIFIER ON
  9066. GO
  9067. --sean add
  9068. CREATE PROCEDURE [dbo].[ProcSmsMessageLogSelect]
  9069. AS
  9070. SET NOCOUNT ON
  9071. INSERT ProcLog SELECT 'ProcSmsMessageLogSelect', '', GETDATE()
  9072. BEGIN
  9073. DECLARE @Day7 AS DATETIME, @Day1 AS DATETIME
  9074. SET @Day7 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 7, 120))
  9075. SET @Day1 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 1, 120))
  9076. DECLARE @t AS TABLE(
  9077. ID int,
  9078. SendMan smallint,
  9079. ManagerUserId smallint,
  9080. paMainId int,
  9081. caMainId int,
  9082. Mobile varchar(max),
  9083. Msg nvarchar(210),
  9084. IsCat bit,
  9085. AddDate smalldatetime,
  9086. PortNo tinyint,
  9087. SendDate datetime,
  9088. SendStatus bit,
  9089. SmsType tinyint,
  9090. MsgType tinyint,
  9091. IsDelete BIT
  9092. )
  9093. DECLARE @c AS TABLE(
  9094. Mobile VARCHAR(max),
  9095. MsgType tinyint,
  9096. AddDate DATETIME,
  9097. Cnt INT
  9098. )
  9099. IF DATEPART(Hour, GETDATE()) >= 8 AND DATEPART(MINUTE, GETDATE()) < 10
  9100. INSERT INTO @t
  9101. SELECT TOP 30 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  9102. WHERE SendDate IS NULL
  9103. AND SmsType = 1
  9104. AND MsgType <> 116
  9105. AND AddDate > DATEADD(MINUTE, -1200, GETDATE()) --@Day7
  9106. ORDER BY Case Msgtype When 113 Then 1 ELSE 100 END, ID DESC
  9107. ELSE
  9108. INSERT INTO @t
  9109. SELECT TOP 30 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  9110. WHERE SendDate IS NULL
  9111. AND SmsType = 1
  9112. AND MsgType <> 116
  9113. AND AddDate > DATEADD(MINUTE, -20, GETDATE()) --@Day7
  9114. --AND MOBILE = '18363443519'
  9115. ORDER BY Case Msgtype When 113 Then 1 ELSE 100 END, ID DESC
  9116. IF @@ROWCOUNT = 0
  9117. BEGIN
  9118. SELECT * FROM @t
  9119. RETURN
  9120. END
  9121. DELETE @t WHERE MsgType = 116
  9122. IF EXISTS(SELECT 'x' FROM @t WHERE paMainId > 0 OR caMainId > 0)
  9123. BEGIN
  9124. DECLARE @wx AS TABLE(Id INT, paMainId INT, caMainId INT, Msg NVARCHAR(210),
  9125. WxFansId INT, OpenId VARCHAR(50), WxServiceNoID INT, paName NVARCHAR(6),
  9126. WebsiteName NVARCHAR(10), WxTemplateNo VARCHAR(100),
  9127. ParaValue VARCHAR(1000), JsonMessage VARCHAR(1000),
  9128. UserType TINYINT, ProvinceDomain VARCHAR(100))
  9129. INSERT INTO @wx(Id, paMainId, Msg, WxFansId, OpenId, wxServiceNoId, UserType)
  9130. SELECT a.Id, a.paMainId, a.Msg, b.Id WxFansId, b.OpenId, b.wxServiceNoId, 1
  9131. FROM @t a, WxFans b WITH(NOLOCK)
  9132. WHERE a.paMainId = b.paMainId
  9133. AND b.Status > 0
  9134. AND a.PaMainId > 0
  9135. AND MsgType NOT IN(9, 25, 104, 109, 110, 113, 117, 119, 122)
  9136. INSERT INTO @wx(Id, caMainId, Msg, WxFansId, OpenId, wxServiceNoId, UserType) --new add
  9137. SELECT a.Id, a.caMainId, a.Msg, b.Id WxFansId, b.OpenId, b.wxServiceNoId, 2
  9138. FROM @t a, WxFans b WITH(NOLOCK)
  9139. WHERE a.caMainId = b.caMainId
  9140. AND b.caBindCancelDate IS NULL
  9141. AND ISNULL(a.PaMainId, 0) = 0
  9142. AND MsgType NOT IN(9, 10, 21, 22, 23, 25, 104, 109, 110, 113, 117, 119, 122, 139)
  9143. UPDATE a SET a.paName = b.Name FROM @wx a, paMain b WITH(NOLOCK) WHERE a.paMainId = b.Id AND a.UserType = 1
  9144. UPDATE a SET a.paName = b.Name FROM @wx a, caMain b WITH(NOLOCK) WHERE a.caMainId = b.Id AND a.UserType = 2
  9145. UPDATE @Wx SET paName = '' WHERE paName IS NULL
  9146. UPDATE a SET a.WebsiteName = c.WebsiteName, a.ProvinceDomain = c.ProvinceDomain
  9147. FROM @wx a, WxServiceNo b WITH(NOLOCK), dcprovince c WITH(NOLOCK)
  9148. WHERE a.WxServiceNoId = b.Id
  9149. AND b.ProvinceID = c.Id
  9150. UPDATE a SET a.WxTemplateNo = b.[no] FROM @wx a, WxTemplateNo b WITH(NOLOCK) WHERE a.WxServiceNoID = b.WxServiceNoID AND b.WxTemplateId = 13
  9151. --插入参数数据
  9152. UPDATE @wx SET ParaValue = '"first":{ "value":"#PaName#您好", "color":"#000000"}, "keyword1":{ "value":"网站消息", "color":"#004694"}, "keyword2":{ "value":"请您查看", "color":"#004694"}, "remark":{ "value":"#JobDesc# #WebsiteName#,找工作,更靠谱", "color":"#004694"}'
  9153. UPDATE @wx SET ParaValue = REPLACE(ParaValue, '#PaName#', PaName)
  9154. UPDATE @wx SET ParaValue = REPLACE(ParaValue, '#JobDesc#', Msg)
  9155. UPDATE @wx SET ParaValue = REPLACE(ParaValue, '#WebsiteName#', WebsiteName)
  9156. UPDATE @wx SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"", "topcolor":"#000000", "data":{' + ParaValue + '}}' WHERE Msg NOT LIKE '%应聘简历未答复%'
  9157. UPDATE @wx SET JsonMessage = '{"touser":"' + OpenId + '", "template_id":"' + WxTemplateNo + '", "url":"http://m.' + ProvinceDomain + '/library/WechatOauthCpLogin?opid=' + OpenId + '&urlfile=/company/cv/applycv", "topcolor":"#000000", "data":{' + ParaValue + '}}' WHERE Msg LIKE '%应聘简历未答复%'
  9158. --更新wxmessagesend中的message
  9159. INSERT INTO wxMessageSend2(TemplateType, WxfansId, paMainId, caMainId, MessageText, ErrorNumber, AddDate)
  9160. SELECT 20, WxFansId, paMainId, caMAinId, JsonMessage, 0, GETDATE() FROM @wx
  9161. --UPDATE @t SET IsDelete = 1 WHERE Id IN(SELECT Id FROM @Wx)
  9162. END
  9163. INSERT INTO @c
  9164. SELECT Mobile, MsgType, MAX(AddDate), COUNT(*)
  9165. FROM SmsMessageLog WITH(NOLOCK)
  9166. WHERE SmsType = 1
  9167. AND ID NOT IN(SELECT ID FROM @t)
  9168. AND Mobile IN(SELECT Mobile FROM @t)
  9169. --AND AddDate > @Day1
  9170. GROUP BY Mobile, MsgType
  9171. UPDATE @t SET IsDelete = 1
  9172. WHERE MsgType IN(1, 3, 5)
  9173. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(1, 3, 5) AND AddDate > @Day1)
  9174. --UPDATE @t SET IsDelete = 1 WHERE Msg like '%验证码是:'
  9175. UPDATE @t SET IsDelete = 1
  9176. WHERE MsgType IN(2, 4, 19)
  9177. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(2, 4, 19) AND AddDate > @Day1)
  9178. UPDATE a SET a.IsDelete = 1
  9179. FROM @t a, @c b
  9180. WHERE a.MsgType = b.MsgType
  9181. AND a.Mobile = b.Mobile
  9182. AND b.AddDate > @Day1
  9183. AND a.MsgType IN(7, 8, 20, 102)
  9184. UPDATE a SET a.IsDelete = 1
  9185. FROM @t a, @c b
  9186. WHERE a.MsgType = b.MsgType
  9187. AND a.Mobile = b.Mobile
  9188. AND b.AddDate > @Day1
  9189. AND a.MsgType IN(9, 10)
  9190. AND b.Cnt > 2
  9191. AND a.MsgType < 200
  9192. UPDATE @t SET IsDelete = 1
  9193. WHERE MsgType IN(12, 13, 14, 15)
  9194. AND Mobile IN(SELECT Mobile FROM @c )
  9195. UPDATE @t SET IsDelete = 1
  9196. WHERE MsgType IN(11, 106, 107, 108)
  9197. AND Mobile IN(SELECT Mobile FROM @c WHERE AddDate > @Day1)
  9198. UPDATE @t SET IsDelete = 1
  9199. WHERE MsgType IN(109, 111, 112)
  9200. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(109, 111, 112) AND AddDate > @Day7)
  9201. UPDATE @t SET IsDelete = 1 WHERE dbo.IsMobile(Mobile) = 0 OR LEN(ISNULL(Msg, '')) < 4
  9202. UPDATE @t SET IsDelete = 1 WHERE Mobile IN(SELECT Mobile FROM NoSendSms)
  9203. UPDATE @t SET PortNo = 11
  9204. --UPDATE @t SET PortNo = 11 WHERE MsgType IN(101)
  9205. UPDATE @t SET PortNo = 12 WHERE MsgType IN(12, 25)
  9206. --UPDATE @t SET PortNo = 13 WHERE MsgType IN(116)
  9207. UPDATE @t SET PortNo = 12 WHERE MsgType IN(26, 220)
  9208. UPDATE @t SET PortNo = 12 WHERE MsgType IN(9, 10, 17, 21, 22, 23, 104, 113, 117, 202, 204)
  9209. --UPDATE @t SET PortNo = 1 WHERE MsgType IN(9, 10, 17, 21, 22, 23, 104, 113, 117, 202, 204)
  9210. --UPDATE @t SET PortNo = 12 WHERE MsgType IN(9, 10, 17, 21, 22, 23, 104, 113, 117, 202, 204)
  9211. --UPDATE @t SET PortNo = 1 WHERE MsgType IN(222)
  9212. --UPDATE @t SET Msg = '【伍亿】' + msg WHERE PortNo = 1
  9213. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Msg, '发票', '发.票'), '银行', '银.行'), '开户', '开.户'), '..', '.'), '聘', '.聘'), '面试', '面.试')
  9214. --WHERE PortNo = 2
  9215. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Msg, '求职', '求.职'), '房地产', '房.地.产'), '房产', '房.产'), '广告', '广.告'), '担保', '担.保')
  9216. --WHERE PortNo = 2
  9217. --UPDATE @t SET Msg = REPLACE(Msg, '@51rc_com', '@51rc.com')
  9218. -- UPDATE a
  9219. -- SET IsDelete = 1
  9220. -- FROM @t a, BlackWord b WITH(NOLOCK)
  9221. -- WHERE CHARINDEX(b.KeyWord, a.Msg) > 0
  9222. UPDATE a
  9223. SET IsDelete = 0
  9224. FROM @t a, BlackWord b WITH(NOLOCK)
  9225. WHERE MsgType = 113
  9226. UPDATE SmsMessageLog SET SmsType = 3 WHERE ID IN(SELECT ID FROM @t WHERE IsDelete = 1)
  9227. --INSERT @t
  9228. --SELECT Id, 0, 0, 0, 0, Mobile, Msg, 0, GETDATE(), 13, NULL, NULL, 1, 116, 0
  9229. --FROM smsBatchSend
  9230. --WHERE SendStatus IS NULL
  9231. SELECT * FROM @t WHERE IsDelete = 0
  9232. INSERT INTO ServiceRunLog(ServiceId, RunRows, RunId, RunStatus, RunMessage)
  9233. SELECT 1, @@RowCount, 0, 1, '提取短信数据'
  9234. END
  9235. GO
  9236. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogSelect2] Script Date: 2018/12/13 19:12:05 ******/
  9237. SET ANSI_NULLS ON
  9238. GO
  9239. SET QUOTED_IDENTIFIER ON
  9240. GO
  9241. --portno 1 yimei;2zhongjia;3~10 mobile cat; 11~13 dxt
  9242. CREATE PROCEDURE [dbo].[ProcSmsMessageLogSelect2]
  9243. AS
  9244. SET NOCOUNT ON
  9245. INSERT ProcLog SELECT 'ProcSmsMessageLogSelect2', '', GETDATE()
  9246. BEGIN
  9247. DECLARE @Day7 AS DATETIME, @Day1 AS DATETIME
  9248. SET @Day7 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 7, 120))
  9249. SET @Day1 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 1, 120))
  9250. DECLARE @t AS TABLE(
  9251. ID int,
  9252. SendMan smallint,
  9253. ManagerUserId smallint,
  9254. paMainId int,
  9255. caMainId int,
  9256. Mobile varchar(max),
  9257. Msg nvarchar(210),
  9258. IsCat bit,
  9259. AddDate smalldatetime,
  9260. PortNo tinyint,
  9261. SendDate datetime,
  9262. SendStatus bit,
  9263. SmsType tinyint,
  9264. MsgType tinyint,
  9265. IsDelete BIT
  9266. )
  9267. DECLARE @c AS TABLE(
  9268. Mobile VARCHAR(max),
  9269. MsgType tinyint,
  9270. AddDate DATETIME,
  9271. Cnt INT
  9272. )
  9273. /* IF DatePArt(Hour, GETDATE()) < 7 OR DatePArt(Hour, GETDATE()) >= 22
  9274. BEGIN
  9275. SELECT * FROM @t
  9276. RETURN
  9277. END
  9278. */
  9279. IF DatePArt(Hour, GETDATE()) > 7 OR DatePArt(Hour, GETDATE()) <= 23
  9280. INSERT INTO @t
  9281. SELECT TOP 160 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  9282. WHERE SendDate IS NULL
  9283. AND SmsType = 1
  9284. AND AddDate > DATEADD(MINUTE, -60, GETDATE()) --@Day7
  9285. ORDER BY Case Msgtype When 113 Then 1 ELSE 100 END, ID DESC
  9286. ELSE
  9287. INSERT INTO @t
  9288. SELECT TOP 160 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  9289. WHERE SendDate IS NULL
  9290. AND SmsType = 1
  9291. AND AddDate > DATEADD(MINUTE, -60, GETDATE()) --@Day7
  9292. AND MsgType = 139
  9293. ORDER BY ID DESC
  9294. IF @@RowCount = 0
  9295. BEGIN
  9296. SELECT * FROM @t
  9297. RETURN
  9298. END
  9299. DELETE @t WHERE MsgType = 116
  9300. INSERT INTO @c
  9301. SELECT Mobile, MsgType, Max(AddDate), COUNT(*)
  9302. FROM SmsMessageLog WITH(NOLOCK)
  9303. WHERE AddDate > @Day7
  9304. AND SmsType = 1
  9305. AND ID NOT IN(SELECT ID FROM @t)
  9306. AND Mobile IN(SELECT Mobile FROM @t)
  9307. GROUP BY Mobile, MsgType
  9308. UPDATE @t SET IsDelete = 1
  9309. WHERE MsgType IN(1,3,5)
  9310. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(1,3,5) AND AddDate > @Day1)
  9311. UPDATE @t SET IsDelete = 1
  9312. WHERE MsgType IN(2,4,19)
  9313. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(2,4,19) AND AddDate > @Day1)
  9314. UPDATE @t SET IsDelete = 1
  9315. WHERE MsgType = 7
  9316. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 7 AND AddDate > @Day1)
  9317. UPDATE @t SET IsDelete = 1
  9318. WHERE MsgType = 8
  9319. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 8 AND AddDate > @Day1)
  9320. UPDATE @t SET IsDelete = 1
  9321. WHERE MsgType = 9
  9322. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  9323. UPDATE @t SET IsDelete = 1
  9324. WHERE MsgType = 20
  9325. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 20 AND AddDate > @Day1)
  9326. UPDATE @t SET IsDelete = 1
  9327. WHERE MsgType = 10
  9328. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  9329. UPDATE @t SET IsDelete = 1
  9330. WHERE MsgType IN(12,13,14,15)
  9331. AND Mobile IN(SELECT Mobile FROM @c )
  9332. UPDATE @t SET IsDelete = 1
  9333. WHERE MsgType = 11
  9334. AND Mobile IN(SELECT Mobile FROM @c WHERE AddDate > @Day1)
  9335. UPDATE @t SET IsDelete = 1
  9336. WHERE MsgType = 102
  9337. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 102 AND AddDate > @Day1)
  9338. UPDATE @t SET IsDelete = 1
  9339. WHERE MsgType = 102
  9340. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 102 AND AddDate > @Day1)
  9341. UPDATE @t SET IsDelete = 1
  9342. WHERE MsgType BETWEEN 106 AND 108
  9343. AND Mobile IN(SELECT Mobile FROM @c WHERE AddDate > @Day1)
  9344. UPDATE @t SET IsDelete = 1
  9345. WHERE MsgType IN(109, 111, 112)
  9346. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(109, 111, 112) AND AddDate > @Day7)
  9347. UPDATE @t SET IsDElete = 1 WHERE dbo.IsMobile(Mobile) = 0 OR LEN(ISNULL(Msg, '')) < 4
  9348. UPDATE @t SET IsDElete = 1 WHERE Mobile IN(SELECT Mobile FROM NoSendSms)
  9349. UPDATE @t SET PortNo = 11
  9350. UPDATE @t SET PortNo = 12 WHERE MsgType IN(25)
  9351. --UPDATE @t SET PortNo = 13 WHERE MsgType IN(116)
  9352. UPDATE @t SET PortNo = 2 WHERE MsgType IN(26, 220)
  9353. UPDATE @t SET PortNo = 1 WHERE MsgType IN(9,10,17,21,22,23,104,113,117,119,202,204)
  9354. --UPDATE @t SET Msg = '【伍亿】'+msg
  9355. --WHERE PortNo = 1
  9356. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Msg, '发票','发.票'), '银行', '银.行'), '开户', '开.户'), '..', '.'), '聘', '.聘'), '面试', '面.试'), 'www.', 'www_'), '.com', '_com')
  9357. WHERE PortNo = 2
  9358. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(Msg, '求职', '求.职'), '房地产', '房.地.产'), '房产', '房.产')
  9359. WHERE PortNo = 2
  9360. UPDATE @t SET Msg = REPLACE(REPLACE(Msg, '广告', '广.告'), '发票', '发.票')
  9361. UPDATE a
  9362. SET IsDelete = 1
  9363. FROM @t a, BlackWord b WITH(NOLOCK)
  9364. WHERE CHARINDEX(b.KeyWord, a.Msg) > 0
  9365. UPDATE a
  9366. SET IsDelete = 0
  9367. FROM @t a, BlackWord b WITH(NOLOCK)
  9368. WHERE MsgType = 113
  9369. UPDATE SmsMessageLog SET SmsType = 3 WHERE ID IN(SELECT ID FROM @t WHERE IsDelete = 1)
  9370. --INSERT @t
  9371. --SELECT Id, 0, 0, 0, 0, Mobile, Msg, 0, GETDATE(), 13, NULL, NULL, 1, 116, 0
  9372. --FROM smsBatchSend
  9373. SELECT * FROM @t WHERE IsDelete = 0
  9374. INSERT INTO ServiceRunLog(ServiceId, RunRows, RunId, RunStatus, RunMessage)
  9375. SELECT 1, @@RowCount, 0, 1, '提取短信数据'
  9376. END
  9377. GO
  9378. /****** Object: StoredProcedure [dbo].[ProcSmsMessageLogSelect3] Script Date: 2018/12/13 19:12:06 ******/
  9379. SET ANSI_NULLS ON
  9380. GO
  9381. SET QUOTED_IDENTIFIER ON
  9382. GO
  9383. --portno 1 yimei;2zhongjia;3~10 mobile cat; 11~13 dxt
  9384. CREATE PROCEDURE [dbo].[ProcSmsMessageLogSelect3]
  9385. AS
  9386. BEGIN
  9387. DECLARE @Day7 AS DATETIME, @Day1 AS DATETIME
  9388. SET @Day7 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 7, 120))
  9389. SET @Day1 = CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE() - 1, 120))
  9390. DECLARE @t AS TABLE(
  9391. ID int,
  9392. SendMan smallint,
  9393. ManagerUserId smallint,
  9394. paMainId int,
  9395. caMainId int,
  9396. Mobile varchar(max),
  9397. Msg nvarchar(210),
  9398. IsCat bit,
  9399. AddDate smalldatetime,
  9400. PortNo tinyint,
  9401. SendDate datetime,
  9402. SendStatus bit,
  9403. SmsType tinyint,
  9404. MsgType tinyint,
  9405. IsDelete BIT
  9406. )
  9407. DECLARE @c AS TABLE(
  9408. Mobile VARCHAR(max),
  9409. MsgType tinyint,
  9410. AddDate DATETIME,
  9411. Cnt INT
  9412. )
  9413. /* IF DATEPART(Hour, GETDATE()) < 7 OR DATEPART(Hour, GETDATE()) >= 22
  9414. BEGIN
  9415. SELECT * FROM @t
  9416. RETURN
  9417. END
  9418. */
  9419. INSERT INTO @t
  9420. SELECT TOP 10 *, 0 FROM SmsMessageLog WITH(NOLOCK)
  9421. WHERE id = 8365770
  9422. IF @@RowCount = 0
  9423. BEGIN
  9424. SELECT * FROM @t
  9425. RETURN
  9426. END
  9427. DELETE @t WHERE MsgType = 116
  9428. INSERT INTO @c
  9429. SELECT Mobile, MsgType, Max(AddDate), COUNT(*)
  9430. FROM SmsMessageLog WITH(NOLOCK)
  9431. WHERE AddDate > @Day7
  9432. AND SmsType = 1
  9433. AND ID NOT IN(SELECT ID FROM @t)
  9434. AND Mobile IN(SELECT Mobile FROM @t)
  9435. GROUP BY Mobile, MsgType
  9436. UPDATE @t SET IsDelete = 1
  9437. WHERE MsgType IN(1,3,5)
  9438. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(1,3,5) AND AddDate > @Day1)
  9439. --UPDATE @t SET IsDelete = 1 WHERE Msg like '%验证码是:'
  9440. UPDATE @t SET IsDelete = 1
  9441. WHERE MsgType IN(2,4,19)
  9442. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(2,4,19) AND AddDate > @Day1)
  9443. UPDATE @t SET IsDelete = 1
  9444. WHERE MsgType = 7
  9445. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 7 AND AddDate > @Day1)
  9446. UPDATE @t SET IsDelete = 1
  9447. WHERE MsgType = 8
  9448. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 8 AND AddDate > @Day1)
  9449. UPDATE @t SET IsDelete = 1
  9450. WHERE MsgType = 9
  9451. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  9452. UPDATE @t SET IsDelete = 1
  9453. WHERE MsgType = 20
  9454. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 20 AND AddDate > @Day1)
  9455. UPDATE @t SET IsDelete = 1
  9456. WHERE MsgType = 10
  9457. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 9 AND AddDate > @Day1 AND Cnt > 2)
  9458. UPDATE @t SET IsDelete = 1
  9459. WHERE MsgType IN(12,13,14,15)
  9460. AND Mobile IN(SELECT Mobile FROM @c )
  9461. UPDATE @t SET IsDelete = 1
  9462. WHERE MsgType = 11
  9463. AND Mobile IN(SELECT Mobile FROM @c WHERE AddDate > @Day1)
  9464. UPDATE @t SET IsDelete = 1
  9465. WHERE MsgType = 102
  9466. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 102 AND AddDate > @Day1)
  9467. UPDATE @t SET IsDelete = 1
  9468. WHERE MsgType = 102
  9469. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType = 102 AND AddDate > @Day1)
  9470. UPDATE @t SET IsDelete = 1
  9471. WHERE MsgType BETWEEN 106 AND 108
  9472. AND Mobile IN(SELECT Mobile FROM @c WHERE AddDate > @Day1)
  9473. UPDATE @t SET IsDelete = 1
  9474. WHERE MsgType IN(109, 111, 112)
  9475. AND Mobile IN(SELECT Mobile FROM @c WHERE MsgType IN(109, 111, 112) AND AddDate > @Day7)
  9476. select isdelete,1,* from @t
  9477. UPDATE @t SET IsDElete = 1 WHERE dbo.IsMobile(Mobile) = 0 OR LEN(ISNULL(Msg, '')) < 4
  9478. UPDATE @t SET IsDElete = 1 WHERE Mobile IN(SELECT Mobile FROM NoSendSms)
  9479. UPDATE @t SET PortNo = 11
  9480. --UPDATE @t SET PortNo = 11 WHERE MsgType IN(101)
  9481. UPDATE @t SET PortNo = 12 WHERE MsgType IN(12,25)
  9482. --UPDATE @t SET PortNo = 13 WHERE MsgType IN(116)
  9483. UPDATE @t SET PortNo = 12 WHERE MsgType IN(26, 220)
  9484. UPDATE @t SET PortNo = 12 WHERE MsgType IN(9,10,17,21,22,23,104,113,117,202,204)
  9485. --UPDATE @t SET PortNo = 1 WHERE MsgType IN(9,10,17,21,22,23,104,113,117,202,204)
  9486. --UPDATE @t SET PortNo = 12 WHERE MsgType IN(9,10,17,21,22,23,104,113,117,202,204)
  9487. --UPDATE @t SET PortNo = 1 WHERE MsgType IN(222)
  9488. --UPDATE @t SET Msg = '【伍亿】' + msg WHERE PortNo = 1
  9489. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Msg, '发票','发.票'), '银行', '银.行'), '开户', '开.户'), '..', '.'), '聘', '.聘'), '面试', '面.试')
  9490. --WHERE PortNo = 2
  9491. UPDATE @t SET Msg = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Msg, '求职', '求.职'), '房地产', '房.地.产'), '房产', '房.产'), '广告', '广.告'), '担保', '担.保')
  9492. --WHERE PortNo = 2
  9493. --UPDATE @t SET Msg = REPLACE(Msg, '@51rc_com', '@51rc.com')
  9494. select isdelete,2,* from @t
  9495. UPDATE a
  9496. SET IsDelete = 1
  9497. FROM @t a, BlackWord b WITH(NOLOCK)
  9498. WHERE CHARINDEX(b.KeyWord, a.Msg) > 0
  9499. select isdelete,3,* from @t
  9500. UPDATE a
  9501. SET IsDelete = 0
  9502. FROM @t a, BlackWord b WITH(NOLOCK)
  9503. WHERE MsgType = 113
  9504. select isdelete,4,* from @t
  9505. UPDATE SmsMessageLog SET SmsType = 3 WHERE ID IN(SELECT ID FROM @t WHERE IsDelete = 1)
  9506. --INSERT @t
  9507. --SELECT Id, 0, 0, 0, 0, Mobile, Msg, 0, GETDATE(), 13, NULL, NULL, 1, 116, 0
  9508. --FROM smsBatchSend
  9509. --WHERE SendStatus IS NULL
  9510. SELECT * FROM @t WHERE IsDelete = 0
  9511. INSERT INTO ServiceRunLog(ServiceId, RunRows, RunId, RunStatus, RunMessage)
  9512. SELECT 1, @@RowCount, 0, 1, '提取短信数据'
  9513. END
  9514. GO
  9515. /****** Object: StoredProcedure [dbo].[ProcSmsWatchLogInsert] Script Date: 2018/12/13 19:12:06 ******/
  9516. SET ANSI_NULLS ON
  9517. GO
  9518. SET QUOTED_IDENTIFIER ON
  9519. GO
  9520. CREATE PROCEDURE [dbo].[ProcSmsWatchLogInsert]
  9521. (
  9522. @d VARCHAR(8)
  9523. )
  9524. AS
  9525. BEGIN
  9526. UPDATE SmsWatch
  9527. SET IsSend = 1
  9528. WHERE IsSend = 0
  9529. AND WatchDate = @d
  9530. AND Mobile IN(SELECT Mobile FROM SmsMessageLog WHERE AddDate > @d)
  9531. DECLARE @LoginNumber AS INT, @AllNumber AS INT,
  9532. @LoginNumberSend AS INT, @AllNumberSend AS INT,
  9533. @LoginNumberNotSend AS INT, @AllNumberNotSend AS INT,
  9534. @Now AS DATETIME, @MsgType TINYINT
  9535. SET @Now = GETDATE()
  9536. DECLARE curMsgType CURSOR FOR SELECT DISTINCT MsgType FROM SmsWatch WHERE MsgType < 50
  9537. OPEN curMsgType
  9538. FETCH NEXT FROM curMsgType INTO @MsgType
  9539. WHILE @@FETCH_STATUS >= 0
  9540. BEGIN
  9541. SELECT @LoginNumberNotSend = COUNT(DISTINCT a.caMainId)
  9542. FROM SmsWatch a, caLoginLog b
  9543. WHERE a.caMainId = b.caMainId
  9544. AND b.AddDate > @d
  9545. AND a.IsSend = 0
  9546. AND a.WatchDate = @d
  9547. AND MsgType = @MsgType
  9548. SELECT @LoginNumberSend = COUNT(DISTINCT a.caMainId)
  9549. FROM SmsWatch a, caLoginLog b
  9550. WHERE a.caMainId = b.caMainId
  9551. AND b.AddDate > @d
  9552. AND a.IsSend = 1
  9553. AND a.WatchDate = @d
  9554. AND MsgType = @MsgType
  9555. SELECT @AllNumberSend = COUNT(DISTINCT caMainId)
  9556. FROM SmsWatch
  9557. WHERE WatchDate = @d
  9558. AND IsSend = 1
  9559. AND MsgType = @MsgType
  9560. SELECT @AllNumberNotSend = COUNT(DISTINCT caMainId)
  9561. FROM SmsWatch
  9562. WHERE WatchDate = @d
  9563. AND IsSend = 0
  9564. AND MsgType = @MsgType
  9565. SELECT @LoginNumber = @LoginNumberSend + @LoginNumberNotSend, @AllNumber = @AllNumberSend + @AllNumberNotSend
  9566. IF @AllNumber > 0
  9567. INSERT SmsWatchLog (WatchDate, SendDate, LoginNumber, AllNumber, LoginNumberSend, AllNumberSend, LoginNumberNotSend, AllNumberNotSend, MsgType)
  9568. SELECT @Now, @d, @LoginNumber, @AllNumber, @LoginNumberSend, @AllNumberSend, @LoginNumberNotSend, @AllNumberNotSend, @MsgType
  9569. FETCH NEXT FROM curMsgType INTO @MsgType
  9570. END
  9571. CLOSE curMsgType
  9572. DEALLOCATE curMsgType
  9573. ------person summary
  9574. DECLARE @t AS TABLE(ID INT, IsSend BIT, LastLoginDate SMALLDATETIME)
  9575. DECLARE curMsgType2 CURSOR FOR SELECT DISTINCT MsgType FROM SmsWatch WHERE MsgType >100 AND MsgType < 200
  9576. OPEN curMsgType2
  9577. FETCH NEXT FROM curMsgType2 INTO @MsgType
  9578. WHILE @@FETCH_STATUS >= 0
  9579. BEGIN
  9580. DELETE @t
  9581. INSERT @t (ID, IsSend)
  9582. SELECT caMainId, IsSend FROM SmsWatch
  9583. WHERE WatchDate = @d
  9584. AND MsgType = @MsgType
  9585. UPDATE a SET a.LastLoginDate = b.LastLoginDate
  9586. FROM @t a, paMain b
  9587. WHERE a.id = b.Id
  9588. SELECT @LoginNumberNotSend = COUNT(DISTINCT Id)
  9589. FROM @t
  9590. WHERE LastLoginDate > @d
  9591. AND IsSend = 0
  9592. SELECT @LoginNumberSend = COUNT(DISTINCT Id)
  9593. FROM @t
  9594. WHERE LastLoginDate > @d
  9595. AND IsSend = 1
  9596. SELECT @AllNumberSend = COUNT(DISTINCT caMainId)
  9597. FROM SmsWatch
  9598. WHERE WatchDate = @d
  9599. AND IsSend = 1
  9600. AND MsgType = @MsgType
  9601. SELECT @AllNumberNotSend = COUNT(DISTINCT caMainId)
  9602. FROM SmsWatch
  9603. WHERE WatchDate = @d
  9604. AND IsSend = 0
  9605. AND MsgType = @MsgType
  9606. SELECT @LoginNumber = @LoginNumberSend + @LoginNumberNotSend, @AllNumber = @AllNumberSend + @AllNumberNotSend
  9607. IF @AllNumber > 0
  9608. INSERT SmsWatchLog (WatchDate, SendDate, LoginNumber, AllNumber, LoginNumberSend, AllNumberSend, LoginNumberNotSend, AllNumberNotSend, MsgType)
  9609. SELECT @Now, @d, @LoginNumber, @AllNumber, @LoginNumberSend, @AllNumberSend, @LoginNumberNotSend, @AllNumberNotSend, @MsgType
  9610. FETCH NEXT FROM curMsgType2 INTO @MsgType
  9611. END
  9612. CLOSE curMsgType2
  9613. DEALLOCATE curMsgType2
  9614. END
  9615. GO
  9616. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis1] Script Date: 2018/12/13 19:12:06 ******/
  9617. SET ANSI_NULLS ON
  9618. GO
  9619. SET QUOTED_IDENTIFIER ON
  9620. GO
  9621. CREATE PROCEDURE [dbo].[ProcSourceAnalysis1]
  9622. AS
  9623. BEGIN
  9624. DECLARE @CountDate INT, @ProvinceId INT,
  9625. @Domain VARCHAR(50), @VersionId INT, @v INT
  9626. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  9627. DECLARE curVersion CURSOR FOR
  9628. SELECT Version.Id, Version.Province_Id, Province.Domain
  9629. FROM Version WITH(NOLOCK), Province WITH(NOLOCK)
  9630. WHERE Version.Id <> Version.Province_Id
  9631. AND Version.Province_Id = Province.Id
  9632. ORDER BY Version.Id
  9633. FOR READ ONLY
  9634. OPEN curVersion
  9635. FETCH NEXT FROM curVersion INTO @VersionId, @ProvinceId, @Domain
  9636. WHILE @@FETCH_STATUS = 0
  9637. BEGIN
  9638. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9639. SELECT TOP 200 @CountDate, @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @VersionId
  9640. FROM Seconderer WITH(NOLOCK)
  9641. WHERE CHARINDEX('/', Referer, 8) > 0
  9642. AND VersionId = @VersionId
  9643. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9644. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9645. ORDER BY AllNum DESC
  9646. SET @v = 10000 + @VersionId
  9647. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9648. SELECT TOP 200 @CountDate, 100 + @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @V
  9649. FROM Seconderer WITH(NOLOCK)
  9650. WHERE CHARINDEX('/', Referer, 8) > 0
  9651. AND VersionId = @V
  9652. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9653. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9654. ORDER BY AllNum DESC
  9655. SET @v = 20000 + @VersionId
  9656. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9657. SELECT TOP 200 @CountDate, 200 + @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @V
  9658. FROM Seconderer WITH(NOLOCK)
  9659. WHERE CHARINDEX('/', Referer, 8) > 0
  9660. AND VersionId = @V
  9661. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9662. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9663. ORDER BY AllNum DESC
  9664. SET @v = 30000 + @VersionId
  9665. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9666. SELECT TOP 200 @CountDate, 100 + @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @V
  9667. FROM Seconderer WITH(NOLOCK)
  9668. WHERE CHARINDEX('/', Referer, 8) > 0
  9669. AND VersionId = @V
  9670. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9671. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9672. ORDER BY AllNum DESC
  9673. FETCH NEXT FROM curVersion INTO @VersionId, @ProvinceId, @Domain
  9674. END
  9675. CLOSE curVersion
  9676. DEALLOCATE curVersion
  9677. END
  9678. GO
  9679. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis1_2] Script Date: 2018/12/13 19:12:07 ******/
  9680. SET ANSI_NULLS ON
  9681. GO
  9682. SET QUOTED_IDENTIFIER ON
  9683. GO
  9684. CREATE PROCEDURE [dbo].[ProcSourceAnalysis1_2]
  9685. AS
  9686. BEGIN
  9687. DECLARE @CountDate INT, @ProvinceId INT,
  9688. @Domain VARCHAR(50), @VersionId INT, @v INT
  9689. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  9690. /*
  9691. DECLARE curVersion CURSOR FOR
  9692. SELECT a.Id, b.Id Province_Id, b.Domain
  9693. FROM dcRegion a WITH(NOLOCK), Province b WITH(NOLOCK)
  9694. WHERE Len(a.Id) = 6
  9695. AND LEFT(a.Id, 2) = b.Id
  9696. AND a.ID IN(320108,320109,320110,320111,320209,320210,320211,320213,320306,320307,320308,320309,320310,320311,320312,320313,320407,320408,320409,320504,320505,320506,320507,320606,320607,320608,320609,320610,320611,320612,320613,320704,320705,320706,320707,320708,320709,320710,320711,320712,320713,320807,320903,320904,320905,320906,320907,320908,320909,320910,320911,320912,321003,321004,321005,321104,321105,321303,321304,321305,321306,321307,321308,321404,321405,321406,321503,321504,321505,321506,321507,321508,321509,321603,321604,321605,321606,321607,321608,321609,321610,321705,321706,321707,321708,321709,321710,321711,321712,321713)
  9697. ORDER BY a.Id
  9698. FOR READ ONLY
  9699. */
  9700. --2014-8-14 lambo 之前只是统计的山东的,现在统计所有省份的县级市
  9701. DECLARE curVersion CURSOR FOR
  9702. SELECT a.Id, b.Id Province_Id, b.Domain
  9703. FROM (SELECT DISTINCT VersionId ID FROM Seconderer) a, Province b WITH(NOLOCK)
  9704. WHERE Len(a.Id) = 6
  9705. AND LEFT(a.Id, 2) = b.Id
  9706. AND a.Id>100000
  9707. ORDER BY a.Id
  9708. FOR READ ONLY
  9709. OPEN curVersion
  9710. FETCH NEXT FROM curVersion INTO @VersionId, @ProvinceId, @Domain
  9711. WHILE @@FETCH_STATUS = 0
  9712. BEGIN
  9713. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9714. SELECT TOP 200 @CountDate, @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @VersionId
  9715. FROM Seconderer WITH(NOLOCK)
  9716. WHERE CHARINDEX('/', Referer, 8)> 0
  9717. AND VersionId = @VersionId
  9718. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9719. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9720. ORDER BY AllNum DESC
  9721. SET @v = 10000 + @VersionId
  9722. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9723. SELECT TOP 200 @CountDate, 100 + @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @V
  9724. FROM Seconderer WITH(NOLOCK)
  9725. WHERE CHARINDEX('/', Referer, 8) > 0
  9726. AND VersionId = @V
  9727. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9728. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9729. ORDER BY AllNum DESC
  9730. SET @v = 20000 + @VersionId
  9731. INSERT INTO Seconderer_Count(CountDate, Province_Id, Howmany, Referer, VersionId)
  9732. SELECT TOP 200 @CountDate, 200 + @ProvinceId, COUNT(1) AllNum, LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref, @V
  9733. FROM Seconderer WITH(NOLOCK)
  9734. WHERE CHARINDEX('/', Referer, 8) > 0
  9735. AND VersionId = @V
  9736. AND CHARINDEX(@Domain, Referer, 0) NOT BETWEEN 1 AND 10
  9737. GROUP BY left(Referer, CHARINDEX('/', Referer, 8))
  9738. ORDER BY AllNum DESC
  9739. FETCH NEXT FROM curVersion INTO @VersionId, @ProvinceId, @Domain
  9740. END
  9741. CLOSE curVersion
  9742. DEALLOCATE curVersion
  9743. END
  9744. GO
  9745. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis10] Script Date: 2018/12/13 19:12:07 ******/
  9746. SET ANSI_NULLS ON
  9747. GO
  9748. SET QUOTED_IDENTIFIER ON
  9749. GO
  9750. CREATE PROCEDURE [dbo].[ProcSourceAnalysis10]
  9751. AS
  9752. BEGIN
  9753. SELECT Id, Pr, OutLink, Authority, Correlation, Deleted, Baidu, LinkOur, BaiduRank, Score
  9754. INTO #t
  9755. FROM Link WITH(NOLOCK)
  9756. --UPDATE #t SET OutLink = 1 WHERE OutLink = 0
  9757. UPDATE #t SET Score = 0 WHERE Deleted > 0 OR Baidu = 0 OR Linkour NOT IN(1, 2) OR OutLink = 0
  9758. UPDATE #t SET Score = (0.15 + (0.85 * pr) / OutLink) * Authority * Correlation / 100
  9759. WHERE Deleted = 0 AND Baidu = 1 AND Linkour IN(1, 2) AND OutLink > 0
  9760. INSERT INTO Link_Score(Versionid, Score, Num)
  9761. SELECT Versionid, SUM(Score) Score, COUNT(1) Cnt
  9762. FROM Link WITH(NOLOCK)
  9763. WHERE Type = 1
  9764. AND Method = 1
  9765. AND VaLid = 1
  9766. AND Deleted < 1
  9767. GROUP BY Versionid
  9768. ORDER BY Versionid
  9769. END
  9770. GO
  9771. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis2] Script Date: 2018/12/13 19:12:07 ******/
  9772. SET ANSI_NULLS ON
  9773. GO
  9774. SET QUOTED_IDENTIFIER ON
  9775. GO
  9776. CREATE PROCEDURE [dbo].[ProcSourceAnalysis2]
  9777. AS
  9778. BEGIN
  9779. --1职位页面 2公司页面 3新闻页面 4招聘会页面 5求职互助页面 6职位地图
  9780. --7兼职招聘 8校园招聘 9专业分类 10 /jinan_job/zhangqiu/ 15职位地图jobmap/1802.html
  9781. --20县级新闻列表/zhangqiu/news/ 21个人文档下载 100其它
  9782. CREATE TABLE #t(ProvinceId INT, Referer VARCHAR(200), AllNum INT, InnerPage INT)
  9783. SELECT *, SPACE(200) Ref, SPACE(50) Domain INTO #In FROM Innerer --WHERE LoginDate < '2014-10-09 02:42:00'
  9784. UPDATE #In SET Ref = LEFT(Referer, CHARINDEX('/', Referer, 8))
  9785. DELETE #In WHERE Ref = ''
  9786. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id = a.Province_Id
  9787. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id + 100 = a.Province_Id
  9788. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id + 200 = a.Province_Id
  9789. UPDATE #In SET Domain = '51rc.com' WHERE Domain IS NULL
  9790. DELETE #In WHERE CHARINDEX(Domain, Referer, 0) > 0
  9791. CREATE TABLE #p(ID INT, Domain VARCHAR(100))
  9792. INSERT #p SELECT ID , ProvinceDomain FROM dcProvince
  9793. INSERT #p SELECT 100 + ID , ProvinceDomain FROM dcProvince
  9794. INSERT #p SELECT 200 + ID , ProvinceDomain FROM dcProvince
  9795. INSERT #p SELECT 0, '51rc.com'
  9796. CREATE TABLE #Ref(VersionId INT, Ref VARCHAR(500), Cnt INT)
  9797. INSERT INTO #Ref
  9798. SELECT Province_Id, Ref, COUNT(*) Cnt
  9799. FROM #In WITH(NOLOCK)
  9800. GROUP BY Province_Id, Ref
  9801. ORDER BY Province_Id, COUNT(*) DESC, Ref
  9802. INSERT INTO #Ref
  9803. SELECT VersionId, Ref , COUNT(*) Cnt
  9804. FROM #In
  9805. WHERE LEN(VersionId) > 3
  9806. GROUP BY VersionId, Ref
  9807. ORDER BY VersionId, COUNT(*) DESC, Ref
  9808. SELECT *, ROW_NUMBER() OVER(PARTITION BY VersionId ORDER BY Cnt DESC) RowNo INTO #r FROM #ref
  9809. DELETE #r WHERE RowNo > 200
  9810. INSERT INTO #t(ProvinceId, Referer, AllNum, InnerPage)
  9811. SELECT Province_Id, a.Ref, COUNT(1) AllNum, InnerPage
  9812. FROM #In a WITH(NOLOCK), #r b
  9813. WHERE a.Province_Id = b.VersionId
  9814. AND a.Ref = b.Ref
  9815. GROUP BY Province_Id, a.Ref, InnerPage
  9816. ORDER BY Province_Id, a.Ref, COUNT(*) DESC
  9817. INSERT INTO #t(ProvinceId, Referer, AllNum, InnerPage)
  9818. SELECT a.VersionId, a.Ref, COUNT(1) AllNum, InnerPage
  9819. FROM #In a WITH(NOLOCK), #r b
  9820. WHERE a.VersionId = b.VersionId
  9821. AND a.Ref = b.Ref
  9822. AND a.VersionId > 999
  9823. GROUP BY a.VersionId, a.Ref, InnerPage
  9824. ORDER BY a.VersionId, a.Ref, COUNT(*) DESC
  9825. ---生成Innerer_Count的数据
  9826. DECLARE @ProvinceId AS INT, @ProvinceDomain AS VARCHAR(100),
  9827. @CountNumber AS INT, @CountDate AS VARCHAR(8),
  9828. @AllNum AS INT, @InnerPage AS INT,
  9829. @Referer AS VARCHAR(100), @HowMany AS INT,
  9830. @ProvinceIdOld INT, @RefererOld VARCHAR(100),
  9831. @p INT
  9832. DECLARE @allCount INT
  9833. SELECT @allCount =count(1) FROM #T
  9834. PRINT '#t中有'+Ltrim(str(@allCount))+'条数据'
  9835. DECLARE @JobPage INT, @CompanyPage INT, @NewsPage INT, @RecruitmentPage INT, @CountyPage INT, @RegionSearch INT,
  9836. @JobHelpPage INT, @JobMapPage INT, @OtherPage INT, @partTimePage INT, @SchoolPage INT, @MajorPage INT,
  9837. @JobNamePage INT, @NewJob INT, @paDownLoad INT, @sSearch INT
  9838. SELECT @JobPage = 0, @CompanyPage = 0,
  9839. @NewsPage = 0, @RecruitmentPage = 0,
  9840. @JobHelpPage = 0, @JobMapPage = 0,
  9841. @OtherPage = 0, @partTimePage = 0,
  9842. @HowMany = 0, @SchoolPage = 0,
  9843. @MajorPage = 0, @JobNamePage = 0,
  9844. @CountyPage = 0, @RegionSearch = 0,
  9845. @NewJob = 0, @paDownLoad = 0,
  9846. @sSearch = 0
  9847. DECLARE curSummary CURSOR FOR
  9848. SELECT ProvinceId, Referer, AllNum, InnerPage FROM #t ORDER BY Provinceid, Referer, InnerPage DESC
  9849. FOR READ ONLY
  9850. OPEN curSummary
  9851. FETCH NEXT FROM curSummary INTO @ProvinceId, @Referer, @AllNum, @InnerPage
  9852. SELECT @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112),
  9853. @RefererOld = @Referer, @ProvinceIdOld = @ProvinceId
  9854. PRINT '开始循环游标'
  9855. WHILE @@FETCH_STATUS = 0
  9856. BEGIN
  9857. PRINT '循环游标'+LTRIM(str(@ProvinceId))
  9858. IF NOT(@Referer = @RefererOld AND @ProvinceId = @ProvinceIdOld)
  9859. BEGIN
  9860. PRINT '向Innerer_Count插入数据'
  9861. INSERT INTO Innerer_Count0331(CountDate, Province_Id, howmany, Referer,JobPage, CompanyPage, NewsPage, RecruitmentPage,
  9862. JobHelpPage, JobMapPage, OtherPage, partTimePage, SchoolPage, MajorPage, JobNamePage, NewJob, sSearch, CountyPage, paDownLoad, RegionSearch)
  9863. VALUES (@CountDate, @ProvinceIdOld, @HowMany, @RefererOld, @JobPage, @CompanyPage, @NewsPage, @RecruitmentPage,
  9864. @JobHelpPage, @JobMapPage, @OtherPage, @partTimePage, @SchoolPage, @MajorPage, @JobNamePage, @NewJob, @sSearch, @CountyPage, @paDownLoad, @RegionSearch)
  9865. SELECT @RefererOld = @Referer, @ProvinceIdOld = @ProvinceId,
  9866. @JobPage = 0, @CompanyPage = 0 ,
  9867. @NewsPage = 0, @RecruitmentPage = 0,
  9868. @JobHelpPage = 0, @JobMapPage = 0,
  9869. @OtherPage = 0, @partTimePage = 0,
  9870. @HowMany = 0, @SchoolPage = 0,
  9871. @MajorPage = 0, @JobNamePage = 0,
  9872. @CountyPage = 0, @RegionSearch = 0,
  9873. @NewJob = 0, @paDownLoad = 0,
  9874. @sSearch = 0
  9875. END
  9876. IF @InnerPage = 1
  9877. SET @JobPage = @AllNum
  9878. ELSE IF @InnerPage = 2
  9879. SET @CompanyPage = @AllNum
  9880. ELSE IF @InnerPage = 3
  9881. SET @NewsPage = @AllNum
  9882. ELSE IF @InnerPage = 4
  9883. SET @RecruitmentPage = @AllNum
  9884. ELSE IF @InnerPage = 5
  9885. SET @JobHelpPage = @AllNum
  9886. ELSE IF @InnerPage = 6
  9887. SET @JobMapPage = @AllNum
  9888. ELSE IF @InnerPage = 7
  9889. SET @partTimePage = @AllNum
  9890. ELSE IF @InnerPage = 8
  9891. SET @SchoolPage = @AllNum
  9892. ELSE IF @InnerPage = 9
  9893. SET @MajorPage = @AllNum
  9894. ELSE IF @InnerPage = 15
  9895. SET @JobNamePage = @AllNum
  9896. ELSE IF @InnerPage = 16
  9897. SET @NewJob = @AllNum
  9898. ELSE IF @InnerPage = 17
  9899. SET @sSearch = @AllNum
  9900. ELSE IF @InnerPage = 20
  9901. SET @CountyPage = @AllNum
  9902. ELSE IF @InnerPage = 21
  9903. SET @paDownLoad = @AllNum
  9904. ELSE IF @InnerPage = 10
  9905. SET @RegionSearch = @AllNum
  9906. ELSE --IF @InnerPage = 100
  9907. SET @OtherPage = @AllNum
  9908. SET @HowMany = @HowMany + @AllNum
  9909. FETCH NEXT FROM curSummary INTO @ProvinceId, @Referer, @AllNum, @InnerPage
  9910. END
  9911. print '循环游标结束'
  9912. IF NOT @AllNum IS NULL
  9913. BEGIN
  9914. INSERT INTO Innerer_Count0331(CountDate, Province_Id, howmany,Referer,JobPage, CompanyPage, NewsPage, RecruitmentPage,
  9915. JobHelpPage, JobMapPage, partTimePage, OtherPage, SchoolPage, MajorPage, JobNamePage, NewJob, sSearch, CountyPage, RegionSearch)
  9916. VALUES (@CountDate, @ProvinceIdOld, @HowMany, @RefererOld, @JobPage, @CompanyPage, @NewsPage, @RecruitmentPage,
  9917. @JobHelpPage, @JobMapPage, @partTimePage, @OtherPage, @SchoolPage, @MajorPage, @JobNamePage, @NewJob, @sSearch, @CountyPage, @RegionSearch)
  9918. END
  9919. CLOSE curSummary
  9920. DEALLOCATE curSummary
  9921. DROP TABLE #Ref
  9922. DROP TABLE #p
  9923. DROP TABLE #R
  9924. DROP TABLE #In
  9925. DROP TABLE #t
  9926. UPDATE Innerer_Count0331 SET VersionId = Province_Id WHERE CountDate = @CountDate
  9927. UPDATE Innerer_Count0331 SET VersionId = RIGHT(Province_Id, LEN(Province_Id) - 1)
  9928. WHERE CountDate = @CountDate
  9929. AND LEN(Province_Id) IN(3, 5)
  9930. END
  9931. GO
  9932. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis2New] Script Date: 2018/12/13 19:12:09 ******/
  9933. SET ANSI_NULLS ON
  9934. GO
  9935. SET QUOTED_IDENTIFIER ON
  9936. GO
  9937. CREATE PROCEDURE [dbo].[ProcSourceAnalysis2New]
  9938. AS
  9939. BEGIN
  9940. --1职位页面 2公司页面 3新闻页面 4招聘会页面 5求职互助页面 6职位地图
  9941. --7兼职招聘 8校园招聘 9专业分类 10 /jinan_job/zhangqiu/ 15职位地图jobmap/1802.html
  9942. --20县级新闻列表/zhangqiu/news/ 21个人文档下载 100其它
  9943. CREATE TABLE #t(ProvinceId INT, Referer VARCHAR(200), AllNum INT, InnerPage INT)
  9944. SELECT *, SPACE(200) Ref, SPACE(50) Domain INTO #In FROM Innerer --WHERE LoginDate < '2014-10-09 02:42:00'
  9945. UPDATE #In SET Ref = LEFT(Referer, CHARINDEX('/', Referer, 8))
  9946. DELETE #In WHERE Ref = ''
  9947. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id = a.Province_Id
  9948. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id + 100 = a.Province_Id
  9949. UPDATE a SET a.Domain = b.ProvinceDomain FROM #In a, dcProvince b WHERE b.Id + 200 = a.Province_Id
  9950. UPDATE #In SET Domain = '51rc.com' WHERE Domain IS NULL
  9951. DELETE #In WHERE CHARINDEX(Domain, Referer, 0) BETWEEN 1 AND 10
  9952. CREATE TABLE #p(ID INT, Domain VARCHAR(100))
  9953. INSERT #p SELECT ID , ProvinceDomain FROM dcProvince
  9954. INSERT #p SELECT 100 + ID , ProvinceDomain FROM dcProvince
  9955. INSERT #p SELECT 200 + ID , ProvinceDomain FROM dcProvince
  9956. INSERT #p SELECT 0, '51rc.com'
  9957. CREATE TABLE #Ref(VersionId INT, Ref VARCHAR(500), Cnt INT)
  9958. INSERT INTO #Ref
  9959. SELECT Province_Id, Ref, COUNT(*) Cnt
  9960. FROM #In WITH(NOLOCK)
  9961. GROUP BY Province_Id, Ref
  9962. ORDER BY Province_Id, COUNT(*) DESC, Ref
  9963. INSERT INTO #Ref
  9964. SELECT VersionId, Ref , COUNT(*) Cnt
  9965. FROM #In
  9966. WHERE LEN(VersionId) > 3
  9967. GROUP BY VersionId, Ref
  9968. ORDER BY VersionId, COUNT(*) DESC, Ref
  9969. SELECT *, ROW_NUMBER() OVER(PARTITION BY VersionId ORDER BY Cnt DESC) RowNo INTO #r FROM #ref
  9970. DELETE #r WHERE RowNo > 200
  9971. INSERT INTO #t(ProvinceId, Referer, AllNum, InnerPage)
  9972. SELECT Province_Id, a.Ref, COUNT(1) AllNum, InnerPage
  9973. FROM #In a WITH(NOLOCK), #r b
  9974. WHERE a.Province_Id = b.VersionId
  9975. AND a.Ref = b.Ref
  9976. GROUP BY Province_Id, a.Ref, InnerPage
  9977. ORDER BY Province_Id, a.Ref, COUNT(*) DESC
  9978. INSERT INTO #t(ProvinceId, Referer, AllNum, InnerPage)
  9979. SELECT a.VersionId, a.Ref, COUNT(1) AllNum, InnerPage
  9980. FROM #In a WITH(NOLOCK), #r b
  9981. WHERE a.VersionId = b.VersionId
  9982. AND a.Ref = b.Ref
  9983. AND a.VersionId > 999
  9984. GROUP BY a.VersionId, a.Ref, InnerPage
  9985. ORDER BY a.VersionId, a.Ref, COUNT(*) DESC
  9986. DECLARE @CountDate AS VARCHAR(8)
  9987. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  9988. SELECT 0 ID, @CountDate CountDate, ProvinceId, Referer, SUM(AllNum) HowMany INTO #1 FROM #t GROUP BY ProvinceId, Referer
  9989. INSERT INTO Innerer_CountNew(CountDate, Province_Id, HowMany, Referer) SELECT CountDate, ProvinceId, HowMany, Referer FROM #1
  9990. UPDATE a SET A.Id = b.Id FROM #1 a, Innerer_CountNew b WHERE a.CountDate = b.CountDate AND a.ProvinceId = b.Province_Id AND a.Referer = b.Referer
  9991. INSERT INTO Innerer_Count_Detail SELECT a.ID, b.InnerPage, b.AllNum FROM #1 a, #t b WHERE a.ProvinceId= b.ProvinceId AND a.Referer = b.Referer ORDER BY A.Id, b.InnerPage
  9992. UPDATE Innerer_CountNew SET VersionId = Province_Id WHERE CountDate = @CountDate
  9993. UPDATE Innerer_CountNew SET VersionId = RIGHT(Province_Id, LEN(Province_Id) - 1)
  9994. WHERE CountDate = @CountDate
  9995. AND LEN(Province_Id) IN(3, 5)
  9996. END
  9997. GO
  9998. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis3] Script Date: 2018/12/13 19:12:10 ******/
  9999. SET ANSI_NULLS ON
  10000. GO
  10001. SET QUOTED_IDENTIFIER ON
  10002. GO
  10003. CREATE PROCEDURE [dbo].[ProcSourceAnalysis3]
  10004. AS
  10005. BEGIN
  10006. DECLARE @Countdate VARCHAR(8), @Referer_AllNum INT,
  10007. @Referer_Ref VARCHAR(200), @ProvinceId INT,
  10008. @ProvinceDomain VARCHAR(50), @CountNumber AS INT,
  10009. @p INT
  10010. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  10011. DECLARE @t AS TABLE(
  10012. ID INT,
  10013. Domain VARCHAR(100),
  10014. CountNumber INT
  10015. )
  10016. INSERT INTO @t SELECT 0, '51rc.com', 100
  10017. INSERT INTO @t SELECT Id, Domain, 200 FROM Province WITH(NOLOCK) ORDER BY Id
  10018. DECLARE curSite CURSOR FOR
  10019. SELECT Id, Domain, CountNumber FROM @t ORDER BY Id
  10020. FOR READ ONLY
  10021. OPEN curSite
  10022. FETCH NEXT FROM curSite INTO @ProvinceId, @ProvinceDomain, @CountNumber
  10023. WHILE @@FETCH_STATUS = 0
  10024. BEGIN
  10025. INSERT INTO Referer_Count(CountDate, Province_id, howmany, Referer)
  10026. SELECT TOP (@CountNumber) @CountDate, @ProvinceId, COUNT(1), LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref
  10027. FROM Referer WITH(NOLOCK)
  10028. WHERE CHARINDEX('/', Referer, 8) > 0
  10029. AND Province_id = @ProvinceId
  10030. AND CHARINDEX(@ProvinceDomain, Referer, 0) NOT BETWEEN 1 AND 10
  10031. GROUP BY LEFT(Referer, CHARINDEX('/', Referer, 8))
  10032. ORDER BY COUNT(1) DESC
  10033. IF @ProvinceId > 0
  10034. BEGIN
  10035. SET @p = '1' + LTRIM(STR(@ProvinceId))
  10036. INSERT INTO Referer_Count(CountDate, Province_id, howmany, Referer)
  10037. SELECT TOP (@CountNumber) @CountDate, @p, COUNT(1), LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref
  10038. FROM Referer WITH(NOLOCK)
  10039. WHERE CHARINDEX('/', Referer, 8) > 0
  10040. AND Province_id = @p
  10041. AND CHARINDEX(@ProvinceDomain, Referer, 0) NOT BETWEEN 1 AND 10
  10042. GROUP BY LEFT(Referer, CHARINDEX('/', Referer, 8))
  10043. ORDER BY COUNT(1) DESC
  10044. SET @p = '2' + LTRIM(STR(@ProvinceId))
  10045. INSERT INTO Referer_Count(CountDate, Province_id, howmany, Referer)
  10046. SELECT TOP (@CountNumber) @CountDate, @p, COUNT(1), LEFT(Referer, CHARINDEX('/', Referer, 8)) Ref
  10047. FROM Referer WITH(NOLOCK)
  10048. WHERE CHARINDEX('/', Referer, 8) > 0
  10049. AND Province_id = @p
  10050. AND CHARINDEX(@ProvinceDomain, Referer, 0) NOT BETWEEN 1 AND 10
  10051. GROUP BY LEFT(Referer, CHARINDEX('/', Referer, 8))
  10052. ORDER BY COUNT(1) DESC
  10053. END
  10054. FETCH NEXT FROM curSite INTO @ProvinceId, @ProvinceDomain, @CountNumber
  10055. END
  10056. CLOSE curSite
  10057. DEALLOCATE curSite
  10058. END
  10059. GO
  10060. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis4] Script Date: 2018/12/13 19:12:10 ******/
  10061. SET ANSI_NULLS ON
  10062. GO
  10063. SET QUOTED_IDENTIFIER ON
  10064. GO
  10065. CREATE PROCEDURE [dbo].[ProcSourceAnalysis4]
  10066. AS
  10067. BEGIN
  10068. DECLARE @Countdate VARCHAR(8), @Province_Id INT,
  10069. @Referer VARCHAR(200), @Id INT,
  10070. @VersionId INT
  10071. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  10072. DECLARE curSeconderer CURSOR FOR
  10073. SELECT Id, Province_Id, Referer, VersionId FROM Seconderer_Count WITH(NOLOCK) WHERE Countdate = @Countdate
  10074. FOR READ ONLY
  10075. OPEN curSeconderer
  10076. FETCH NEXT FROM curSeconderer INTO @Id, @Province_Id, @Referer, @VersionId
  10077. WHILE @@FETCH_STATUS = 0
  10078. BEGIN
  10079. INSERT INTO Seconderer_Count_keywords(Referer_Count_Id, keywords, howmany)
  10080. SELECT TOP 500 @Id, Keywords, COUNT(1) cnt
  10081. FROM Seconderer WITH(NOLOCK)
  10082. WHERE CHARINDEX(@Referer, Referer, 0) > 0
  10083. AND VersionId = @VersionId
  10084. AND LEN(keywords)>0
  10085. GROUP BY Keywords
  10086. ORDER BY cnt DESC
  10087. FETCH NEXT FROM curSeconderer INTO @Id, @Province_Id, @Referer, @VersionId
  10088. END
  10089. CLOSE curSeconderer
  10090. DEAllOCATE curSeconderer
  10091. END
  10092. GO
  10093. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis5] Script Date: 2018/12/13 19:12:10 ******/
  10094. SET ANSI_NULLS ON
  10095. GO
  10096. SET QUOTED_IDENTIFIER ON
  10097. GO
  10098. --修改Harry Innerer_Count改为Innerer_CountNew
  10099. --修改时间 2015/3/30
  10100. CREATE PROCEDURE [dbo].[ProcSourceAnalysis5]
  10101. AS
  10102. BEGIN
  10103. DECLARE @Countdate AS VARCHAR(8), @Referer_Count_Id AS INT
  10104. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  10105. --从Innerer、Innerer_Count取数据插入#t表中
  10106. SELECT TOP 0 * INTO #T FROM Innerer_Count_Keywords
  10107. INSERT INTO #t(Referer_Count_id, Keywords, Howmany)
  10108. SELECT b.Id, a.Keywords, COUNT(1) cnt
  10109. FROM Innerer a WITH(NOLOCK), Innerer_CountNew b WITH(NOLOCK)
  10110. WHERE a.Referer LIKE b.Referer + '%'
  10111. AND a.Province_id = b.Province_id
  10112. AND LEN(a.Keywords) > 0
  10113. AND b.CountDate = @CountDate
  10114. GROUP BY b.Id, a.Keywords
  10115. ORDER BY Cnt DESC
  10116. DECLARE @T TABLE (ID INT)
  10117. --将数量超过500的Referer_Count_Id取出放入临时表
  10118. INSERT INTO @T
  10119. SELECT Referer_Count_Id
  10120. FROM #t WITH(NOLOCK)
  10121. GROUP BY Referer_Count_Id
  10122. HAVING COUNT(*) > 500
  10123. --将超过500的数量的去掉
  10124. DECLARE curMoreThan500 CURSOR FOR
  10125. SELECT Id FROM @t
  10126. FOR READ ONLY
  10127. OPEN curMoreThan500
  10128. FETCH NEXT FROM curMoreThan500 INTO @Referer_Count_Id
  10129. WHILE @@FETCH_STATUS = 0
  10130. BEGIN
  10131. DELETE FROM #t
  10132. WHERE Referer_Count_id = @Referer_Count_Id
  10133. AND KeyWords NOT IN (
  10134. SELECT TOP 500 KeyWords
  10135. FROM #t WITH(NOLOCK)
  10136. WHERE Referer_Count_id = @Referer_Count_Id
  10137. ORDER BY HowMany DESC
  10138. )
  10139. FETCH NEXT FROM curMoreThan500 INTO @Referer_Count_Id
  10140. END
  10141. CLOSE curMoreThan500
  10142. DEALLOCATE curMoreThan500
  10143. INSERT INTO Innerer_Count_Keywords SELECT * FROM #t
  10144. END
  10145. GO
  10146. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis6] Script Date: 2018/12/13 19:12:10 ******/
  10147. SET ANSI_NULLS ON
  10148. GO
  10149. SET QUOTED_IDENTIFIER ON
  10150. GO
  10151. CREATE PROCEDURE [dbo].[ProcSourceAnalysis6]
  10152. AS
  10153. BEGIN
  10154. DECLARE @Countdate VARCHAR(8), @Referer_Count_Id INT
  10155. SET @CountDate = CONVERT(VARCHAR(8), GETDATE() - 1, 112)
  10156. SELECT TOP 0 * INTO #t FROM Referer_Count_keywords
  10157. INSERT INTO #t(Referer_Count_id, keywords, howmany)
  10158. SELECT b.ID, a.Keywords, COUNT(1) cnt
  10159. FROM Referer a WITH(NOLOCK), Referer_Count b WITH(NOLOCK)
  10160. WHERE (a.Referer LIKE b.Referer + '%' OR a.Referer LIKE 'http://' + b.Referer + '%')
  10161. AND a.Province_id = b.Province_id
  10162. AND LEN(a.Keywords) > 0
  10163. AND b.CountDate = @CountDate
  10164. GROUP BY b.Id, a.Keywords
  10165. ORDER BY Cnt DESC
  10166. DECLARE curCount CURSOR FOR
  10167. SELECT Referer_Count_Id
  10168. FROM #t WITH(NOLOCK)
  10169. GROUP BY Referer_Count_Id
  10170. HAVING COUNT(*) > 500
  10171. FOR READ ONLY
  10172. OPEN curCount
  10173. FETCH NEXT FROM curCount INTO @Referer_Count_Id
  10174. WHILE @@FETCH_STATUS = 0
  10175. BEGIN
  10176. DELETE FROM #t
  10177. WHERE Referer_Count_id = @Referer_Count_id
  10178. AND KeyWords NOT IN (
  10179. SELECT TOP 500 KeyWords FROM #t WITH(NOLOCK)
  10180. WHERE Referer_Count_id = @Referer_Count_id
  10181. ORDER BY HowMany DESC)
  10182. FETCH NEXT FROM curCount INTO @Referer_Count_Id
  10183. END
  10184. CLOSE curCount
  10185. DEAllOCATE curCount
  10186. INSERT INTO Referer_Count_keywords(Referer_Count_id, keywords, howmany)
  10187. SELECT * FROM #t
  10188. END
  10189. GO
  10190. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis7] Script Date: 2018/12/13 19:12:10 ******/
  10191. SET ANSI_NULLS ON
  10192. GO
  10193. SET QUOTED_IDENTIFIER ON
  10194. GO
  10195. CREATE PROCEDURE [dbo].[ProcSourceAnalysis7]
  10196. AS
  10197. BEGIN
  10198. DECLARE @CountMonth VARCHAR(6)
  10199. SET @CountMonth = CONVERT(VARCHAR(6), GETDATE(), 112)
  10200. SELECT Id, Link, Versionid, 10000 Cnt1, 10000 Cnt2, Vision, PowerAll, Power INTO #t FROM Link WITH(NOLOCK) WHERE Valid = 1
  10201. UPDATE #t SET Link = LTRIM(RTRIM(LOWER(Link)))
  10202. UPDATE #t SET Link = LEFT(Link, LEN(Link) - 1) WHERE RIGHT(Link, 1) = '/'
  10203. UPDATE #t SET Cnt1 = (SELECT COUNT(1) FROM Referer WITH(NOLOCK)
  10204. WHERE Referer LIKE #t.Link + '%'
  10205. AND Referer.Versionid = #t.Versionid)
  10206. UPDATE #t SET Cnt2 = (SELECT COUNT(1) FROM Seconderer WITH(NOLOCK)
  10207. WHERE Referer LIKE #t.Link + '%'
  10208. AND Seconderer.Versionid = #t.Versionid)
  10209. UPDATE #t SET Vision=0, PowerAll = PowerAll + Cnt1 + Cnt2, Power = Cnt1 + Cnt2 WHERE Cnt1 + Cnt2 > 0
  10210. UPDATE a
  10211. SET a.PowerAll = b.PowerAll, a.Power = b.Power, a.Vision = b.Vision
  10212. FROM Link a WITH(NOLOCK), #t b WITH(NOLOCK)
  10213. WHERE a.ID = b.Id
  10214. AND b.Power > 0
  10215. INSERT INTO Link_Count(LinkId, YearMonth, Power)
  10216. SELECT ID, @CountMonth, 0
  10217. FROM Link WITH(NOLOCK)
  10218. WHERE ID NOT IN(
  10219. SELECT LinkId FROM Link_count WITH(NOLOCK)
  10220. WHERE YearMonth = @CountMonth
  10221. )
  10222. AND Power > 0
  10223. UPDATE a
  10224. SET a.Power = a.Power + b.Power
  10225. FROM Link_Count a, #t b
  10226. WHERE a.LinkId = b.Id
  10227. AND a.YearMonth = @CountMonth
  10228. AND b.Power > 0
  10229. END
  10230. GO
  10231. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis8] Script Date: 2018/12/13 19:12:11 ******/
  10232. SET ANSI_NULLS ON
  10233. GO
  10234. SET QUOTED_IDENTIFIER ON
  10235. GO
  10236. CREATE PROCEDURE [dbo].[ProcSourceAnalysis8]
  10237. AS
  10238. BEGIN
  10239. DECLARE @CountMonth AS VARCHAR(8)
  10240. SELECT @CountMonth = CONVERT(VARCHAR(6), GETDATE(), 112)
  10241. SELECT Id, OutUrl, 10000 Cnt1, 10000 Cnt2, Mth_ClickNum, Yst_ClickNum
  10242. INTO #t
  10243. FROM OutLink WITH(NOLOCK)
  10244. WHERE AddDate > GETDATE() - 30
  10245. UPDATE #t SET OutUrl = LTRIM(RTRIM(LOWER(OutUrl)))
  10246. UPDATE #t SET OutUrl = LEFT(OutUrl, LEN(OutUrl) - 1) WHERE RIGHT(OutUrl, 1) = '/'
  10247. UPDATE #t SET Cnt1 = (SELECT COUNT(1) FROM Referer WITH(NOLOCK) WHERE Referer.Referer = #t.OutUrl)
  10248. UPDATE #t SET Cnt2 = (SELECT COUNT(1) FROM Seconderer WITH(NOLOCK) WHERE Seconderer.Referer = #t.OutUrl)
  10249. UPDATE #t SET Mth_ClickNum = Mth_ClickNum + Cnt1 + Cnt2, Yst_ClickNum = Yst_ClickNum + Cnt1 + Cnt2
  10250. UPDATE a
  10251. SET a.Yst_ClickNum = b.Yst_ClickNum, a.Mth_ClickNum = b.Mth_ClickNum
  10252. FROM OutLink a WITH(NOLOCK), #t b WITH(NOLOCK)
  10253. WHERE a.Id = b.Id
  10254. INSERT INTO OutLink_Count(OutLinkid, YearMonth, Power)
  10255. SELECT ID, @CountMonth, Cnt1 + Cnt2
  10256. FROM #t
  10257. WHERE Cnt1 + Cnt2 > 0
  10258. AND ID NOT IN(
  10259. SELECT OutLinkid FROM OutLink_Count WITH(NOLOCK)
  10260. WHERE YearMonth = @CountMonth
  10261. )
  10262. UPDATE a
  10263. SET a.Power = a.Power + b.Cnt1 + b.Cnt2
  10264. FROM OutLink_Count a, #t b
  10265. WHERE b.Yst_ClickNum > 0
  10266. AND a.OutLinkid = b.Id
  10267. AND a.YearMonth = @CountMonth
  10268. END
  10269. GO
  10270. /****** Object: StoredProcedure [dbo].[ProcSourceAnalysis9] Script Date: 2018/12/13 19:12:11 ******/
  10271. SET ANSI_NULLS ON
  10272. GO
  10273. SET QUOTED_IDENTIFIER ON
  10274. GO
  10275. --修改Harry Innerer_Count改为Innerer_CountNew
  10276. --修改时间 2015/3/30
  10277. CREATE PROCEDURE [dbo].[ProcSourceAnalysis9]
  10278. AS
  10279. BEGIN
  10280. DELETE Referer_Count WHERE CountDate < CONVERT(VARCHAR(8), GETDATE() - 400, 112)
  10281. DELETE Innerer_CountNew WHERE CountDate < CONVERT(VARCHAR(8), GETDATE() - 400, 112)
  10282. DELETE Counter WHERE CountDate < CONVERT(VARCHAR(8), GETDATE() - 400, 112)
  10283. END
  10284. GO
  10285. /****** Object: StoredProcedure [dbo].[procSpFamousCompanyByIdSelect] Script Date: 2018/12/13 19:12:11 ******/
  10286. SET ANSI_NULLS ON
  10287. GO
  10288. SET QUOTED_IDENTIFIER ON
  10289. GO
  10290. CREATE PROCEDURE [dbo].[procSpFamousCompanyByIdSelect]
  10291. (
  10292. @ID VARCHAR(10)
  10293. )
  10294. AS
  10295. BEGIN
  10296. SELECT a.*,b.Description RegionName,c.Description Industry
  10297. FROM spFamousCompany a,dcRegion b with(nolock) ,dcIndustry c with(nolock)
  10298. WHERE a.ID = @ID
  10299. AND a.dcIndustryID = c.ID
  10300. AND a.dcRegionID = b.ID
  10301. END
  10302. GO
  10303. /****** Object: StoredProcedure [dbo].[procSpFamousCompanySelect] Script Date: 2018/12/13 19:12:12 ******/
  10304. SET ANSI_NULLS ON
  10305. GO
  10306. SET QUOTED_IDENTIFIER ON
  10307. GO
  10308. --根据站点、行业、关键字 查询名企信息 nick20140222
  10309. CREATE PROCEDURE [dbo].[procSpFamousCompanySelect]
  10310. (
  10311. @dcSubsiteId SMALLINT,
  10312. @dcIndustryID INT,
  10313. @KeyWord NVARCHAR(50)
  10314. )
  10315. AS
  10316. BEGIN
  10317. IF(ISNULL(@KeyWord, '') > '' AND @dcIndustryID <> 0)
  10318. BEGIN
  10319. SELECT TOP 480 ID, CompanyName AS Title
  10320. FROM spFamousCompany
  10321. WHERE (CompanyName LIKE '%' + @KeyWord + '%' OR Description LIKE '%' + @KeyWord + '%')
  10322. AND dcIndustryID = @dcIndustryID
  10323. AND dcRegionID LIKE LTRIM(STR(@dcSubsiteId)) + '%'
  10324. ORDER BY ID DESC
  10325. END
  10326. ELSE IF (@dcIndustryID <> 0 )
  10327. BEGIN
  10328. SELECT TOP 480 ID, CompanyName AS Title
  10329. FROM spFamousCompany
  10330. WHERE dcIndustryID = @dcIndustryID
  10331. AND dcRegionID LIKE LTRIM(STR(@dcSubsiteId)) + '%'
  10332. ORDER BY ID DESC
  10333. END
  10334. ELSE IF (ISNULL(@KeyWord, '') > '')
  10335. BEGIN
  10336. SELECT TOP 480 ID, CompanyName AS Title
  10337. FROM spFamousCompany
  10338. WHERE (CompanyName LIKE '%' + @KeyWord + '%' OR Description LIKE '%' + @KeyWord + '%')
  10339. AND dcRegionID LIKE LTRIM(STR(@dcSubsiteId)) + '%'
  10340. ORDER BY ID DESC
  10341. END
  10342. ELSE
  10343. BEGIN
  10344. SELECT TOP 480 ID, CompanyName AS Title
  10345. FROM spFamousCompany
  10346. WHERE dcRegionID LIKE LTRIM(STR(@dcSubsiteId)) + '%'
  10347. ORDER BY ID DESC
  10348. END
  10349. END
  10350. GO
  10351. /****** Object: StoredProcedure [dbo].[procspFamousCompanyUpdate] Script Date: 2018/12/13 19:12:12 ******/
  10352. SET ANSI_NULLS ON
  10353. GO
  10354. SET QUOTED_IDENTIFIER ON
  10355. GO
  10356. --#####################################################
  10357. --创建时间:2014.11.5
  10358. --创建人:NICK
  10359. --说明:记录知名企业点击数
  10360. --#####################################################
  10361. CREATE PROCEDURE [dbo].[procspFamousCompanyUpdate]
  10362. (
  10363. @NewsID INT,
  10364. @IsWhite INT
  10365. )
  10366. AS
  10367. BEGIN
  10368. DECLARE @SQL VARCHAR(MAX)
  10369. SET @SQL = 'UPDATE MainDB..spFamousCompany SET AllClickNumber = AllClickNumber + 1 '
  10370. IF @IsWhite = 0
  10371. BEGIN
  10372. SET @SQL = @SQL +', ClickNumber = ClickNumber + 1 '
  10373. END
  10374. SET @SQL = @SQL +' WHERE ID = ' +CONVERT(VARCHAR(20),@NewsID)
  10375. EXEC(@SQL)
  10376. RETURN 1
  10377. END
  10378. GO
  10379. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordAssignByAutoSelect] Script Date: 2018/12/13 19:12:12 ******/
  10380. SET ANSI_NULLS ON
  10381. GO
  10382. SET QUOTED_IDENTIFIER ON
  10383. GO
  10384. CREATE PROCEDURE [dbo].[ProcSpreadKeywordAssignByAutoSelect]
  10385. (
  10386. @ManagerUserId INT
  10387. )
  10388. AS
  10389. BEGIN
  10390. DECLARE @k VARCHAR(20), @TargetUrl VARCHAR(50), @IsValidTime INT, @SucceedCount INT
  10391. SELECT @k = Keyword, @TargetUrl = SubSiteUrl
  10392. FROM MarketDb..SpreadKeywordAssign WITH(NOLOCK)
  10393. WHERE DEPTID IN(SELECT DeptId FROM ManagerUser WITH(NOLOCK) WHERE Id = @ManagerUserId)
  10394. AND GETDATE() BETWEEN AddDate AND EndDate
  10395. IF DATEPART(HOUR, GETDATE()) BETWEEN 7 AND 17
  10396. SET @IsValidTime = 0
  10397. ELSE
  10398. SET @IsValidTime = 1
  10399. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND WorkType <> 1)
  10400. SET @IsValidTime = 1
  10401. IF LEN(ISNULL(@k, '')) < 2
  10402. SET @IsValidTime = 0
  10403. --SET @IsValidTime = 1
  10404. SELECT @SucceedCount = COUNT(*)
  10405. FROM MarketDb..SpreadKeywordRefererLog WITH(NOLOCK)
  10406. WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120)
  10407. AND IsValid = 1
  10408. AND ManagerUserId = @ManagerUserId
  10409. SELECT @IsValidTime IsValidTime, @k KeyWord, @TargetUrl TargetUrl,
  10410. 10 ActiveTime, --运行时间
  10411. 20 SleepTime, --间隔时间
  10412. 5 MinClickNumber, --最小点击数
  10413. @SucceedCount SucceedCount
  10414. END
  10415. GO
  10416. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogByBaiDuSave] Script Date: 2018/12/13 19:12:12 ******/
  10417. SET ANSI_NULLS ON
  10418. GO
  10419. SET QUOTED_IDENTIFIER ON
  10420. GO
  10421. --sean 2014-4-3 baidu 点击自动统计,工作日19:00~7:00算业余时间 非工作日0:00~24:00, 点击到结束 超过10分钟算有效
  10422. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogByBaiDuSave]
  10423. AS
  10424. RETURN
  10425. BEGIN
  10426. SET NOCOUNT ON
  10427. /* Add Limit Condition*/
  10428. --IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND WorkType = 1)
  10429. -- IF DATEPART(HOUR, GETDATE()) BETWEEN 7 AND 17 -- AND 1=2
  10430. -- RETURN
  10431. --Delete the login user in 10 Minutes
  10432. DELETE ManagerLogSnap WHERE LoginDate < DATEADD(MINUTE, -10, GETDATE())
  10433. DELETE SynUeoLog WHERE IP IN(SELECT IP FROM Ip_White)
  10434. IF(SELECT COUNT(*) FROM ManagerLogSnap) > 0 --have login user
  10435. BEGIN
  10436. --记录Refer的ip
  10437. SELECT *
  10438. INTO #R
  10439. FROM Referer WITH(NOLOCK)
  10440. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10441. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10442. AND Referer LIKE '%.baidu.%'
  10443. --记录seconderer的ip
  10444. INSERT INTO #R
  10445. SELECT *
  10446. FROM Seconderer WITH(NOLOCK)
  10447. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10448. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10449. AND Referer LIKE '%.baidu.%'
  10450. --登录和referer匹配
  10451. DECLARE @t AS TABLE
  10452. (
  10453. ManagerUserId INT,
  10454. VersionId INT,
  10455. IP VARCHAR(15),
  10456. Referer VARCHAR(200),
  10457. RefererDate DATETIME,
  10458. SessionId VARCHAR(30),
  10459. Engine TINYINT,
  10460. IsValid BIT
  10461. )
  10462. INSERT INTO @t
  10463. SELECT b.ManagerId, a.VersionId, a.Ip, a.Referer, a.LoginDate RefererDate, a.SessionId, 0, 0
  10464. FROM #r a, ManagerLogSnap b
  10465. WHERE a.Ip = b.Ip
  10466. UPDATE @t SET Engine = 1 WHERE Referer LIKE '%.baidu.%'
  10467. --删除先点击后登录的
  10468. DELETE a
  10469. FROM @t a, Marketdb..SpreadKeywordRefererLog b
  10470. WHERE a.Referer = b.Referer
  10471. AND a.Ip = b.Ip
  10472. AND a.SessionId = b.SessionId
  10473. AND a.Engine = b.Engine
  10474. AND b.RefererDate > DATEADD(MINUTE, -30, GETDATE())
  10475. --检查关键词
  10476. UPDATE a SET IsValid = 1
  10477. FROM @t a, Marketdb..SpreadKeywordAssign b, ManagerUser c
  10478. WHERE a.ManagerUserId = c.Id
  10479. AND b.DeptId = c.DeptId
  10480. AND b.EndDate > GETDATE()
  10481. --删除不是关键词的
  10482. DELETE @t WHERE IsValid = 0
  10483. DELETE @t WHERE LEN(VersionId) IN(3, 5)
  10484. UPDATE @t SET VersionId = LEFT(VersionId, 2) WHERE LEN(VersionId) = 6
  10485. SELECT SessionId, Min(addDate) AddDate
  10486. INTO #l1
  10487. FROM SynUeoLog b
  10488. WHERE SessionId IN(SELECT SessionId FROM @t)
  10489. GROUP BY SessionId
  10490. DELETE a
  10491. FROM @t a
  10492. WHERE EXISTS(SELECT 'x' FROM #l1 b
  10493. WHERE a.SessionId = b.SessionId
  10494. AND b.AddDate < DATEADD(MINUTE, -10, a.RefererDate))
  10495. --插入refererlog
  10496. INSERT INTO Marketdb..SpreadKeywordRefererLog(SessionId, dcSubSiteId, ManagerUserId, Engine, Keyword, Referer, RefererDate, Ip, LoginType, ViewPageNumber, AddDate)
  10497. SELECT SessionId, VersionId, ManagerUserId, Engine, '', Referer, RefererDate, Ip, 1, 0, GETDATE()
  10498. FROM @t
  10499. WHERE LEN(VersionId) <= 4
  10500. END
  10501. --从ueolog中搜索sessionid的开始、结束时间
  10502. SELECT SessionId, DATEADD(MINUTE, -1, AddDate) AddDate, Engine, 0 PageNumber, 0 IsValid, 0 MaxId , GETDATE() - 1 EndDate, SPACE(500) Url
  10503. INTO #u
  10504. FROM Marketdb..SpreadKeywordRefererLog
  10505. WHERE AddDate > DATEADD(MINUTE, -120, GETDATE())
  10506. UPDATE #u SET IsValid = 1 WHERE SessionId IN(SELECT SessionId FROM SynUeoLog WHERE AddDate > DATEADD(MINUTE, -2, GETDATE()))
  10507. DELETE #u WHERE IsValid = 0
  10508. IF (SELECT COUNT(*) FROM #u) > 0
  10509. BEGIN
  10510. SELECT ID, SessionId, AddDate INTO #l3 FROM SynUeoLog b WHERE SessionId IN(SELECT SessionId FROM #u)
  10511. UPDATE #u SET PageNumber = (SELECT COUNT(*) FROM #l3 b WHERE #u.SessionId = b.SessionId AND b.AddDate > #u.AddDate)
  10512. SELECT SessionId, MAX(Id) ID
  10513. INTO #l2
  10514. FROM #l3 WITH(NOLOCK)
  10515. GROUP BY SessionId
  10516. UPDATE a SET a.MaxId = b.Id FROM #u a, #l2 b WHERE a.SessionId = b.SessionId
  10517. UPDATE a
  10518. SET a.EndDate = b.AddDate,
  10519. a.Url = b.Url
  10520. FROM #u a, SynUeoLog b
  10521. WHERE a.MaxId = b.Id
  10522. END
  10523. -- SELECT * FROM #u
  10524. UPDATE a
  10525. SET a.EndDate = b.EndDate,
  10526. a.EndUrl = b.Url,
  10527. ViewPageNumber = b.PageNumber
  10528. FROM Marketdb..SpreadKeywordRefererLog a, #u b
  10529. WHERE a.AddDate > DATEADD(MINUTE, -120, GETDATE())
  10530. AND a.Engine = b.Engine
  10531. AND a.SessionId = b.SessionId
  10532. --记录pageminute
  10533. UPDATE Marketdb..SpreadKeywordRefererLog
  10534. SET PageMinute = DATEDIFF(MINUTE, RefererDate, EndDate)
  10535. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  10536. AND IsValid = 0
  10537. --10分钟有效
  10538. UPDATE Marketdb..SpreadKeywordRefererLog
  10539. SET IsValid = 1
  10540. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  10541. AND IsValid = 0
  10542. AND DATEDIFF(MINUTE, RefererDate, EndDate) >= 10
  10543. END
  10544. GO
  10545. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogByFixUpdate] Script Date: 2018/12/13 19:12:13 ******/
  10546. SET ANSI_NULLS ON
  10547. GO
  10548. SET QUOTED_IDENTIFIER ON
  10549. GO
  10550. --sean 2015-10-28 Used by baidu click.
  10551. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogByFixUpdate]
  10552. (
  10553. @ManagerId INt,
  10554. @Ip VARCHAR(15),
  10555. @SessionId VARCHAR(30)
  10556. )
  10557. AS
  10558. BEGIN
  10559. DECLARE @LoginDate DATETIME
  10560. SELECT TOP 1 @LoginDate = LoginDate FROM Referer WITH(NOLOCK) WHERE Ip = @Ip ORDER BY LoginDate DESC
  10561. IF @LoginDate IS NULL
  10562. BEGIN
  10563. UPDATE Referer SET Ip = @ip WHERE SessionId = @SessionId AND LoginDate > DATEADD(MI, -3, GETDATE())
  10564. SELECT TOP 1 @LoginDate = LoginDate FROM Referer WITH(NOLOCK) WHERE Ip = @Ip ORDER BY LoginDate DESC
  10565. END
  10566. IF @LoginDate IS NULL
  10567. RETURN
  10568. UPDATE Referer
  10569. SET SessionId = @SessionId
  10570. WHERE Ip = @Ip
  10571. AND LoginDate = @LoginDate
  10572. UPDATE MarketDb..SpreadKeywordRefererLog
  10573. SET SessionId = @SessionId, Ip = @Ip
  10574. WHERE ManagerUserId = @ManagerId
  10575. --AND Ip = @Ip
  10576. AND AddDate > DATEADD(MINUTE, -10, GETDATE())
  10577. AND IsValid = 0
  10578. UPDATE MainDb..ManagerLogSnap SET Ip = @Ip WHERE ManagerId = @ManagerId
  10579. IF NOT EXISTS(SELECT 'x' FROM SynUeoLog WITH(NOLOCK) WHERE Ip = @Ip AND AddDate > DATEADD(MINUTE, -3, GETDATE()))
  10580. BEGIN
  10581. INSERT SynUeoLog(SubsiteId, SessionId, paMainId, caMainId, PageId, AddDate, Ip, Url, IsSpider)
  10582. SELECT 32, @SessionId, 0, 0, 0, GETDATE(), @Ip, 'http://www.qlrc.com/', 0
  10583. END
  10584. END
  10585. GO
  10586. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogByMonthPaySelect] Script Date: 2018/12/13 19:12:13 ******/
  10587. SET ANSI_NULLS ON
  10588. GO
  10589. SET QUOTED_IDENTIFIER ON
  10590. GO
  10591. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogByMonthPaySelect]
  10592. (
  10593. @Month VARCHAR(6)
  10594. )
  10595. AS
  10596. BEGIN
  10597. DECLARE @Sd DATETIME, @Ed DATETIME
  10598. BEGIN TRY
  10599. SET @sd = DATEADD(MONTH, -1, CONVERT(DATETIME, @Month + '01')) + 25
  10600. SET @Ed = DATEADD(MONTH, 1, @Sd)
  10601. END TRY
  10602. BEGIN CATCH
  10603. SET @Month = CONVERT(VARCHAR(6), GETDATE(), 112)
  10604. SET @sd = DATEADD(MONTH, -1, CONVERT(DATETIME, @Month + '01')) + 25
  10605. SET @Ed = DATEADD(MONTH, 1, @Sd)
  10606. END CATCH
  10607. DECLARE @t AS TABLE(
  10608. Type INT,
  10609. DeptSuperior INT,
  10610. DeptID INT,
  10611. DeptName NVARCHAR(20),
  10612. ManagerUserId INT,
  10613. ManagerUserName NVARCHAR(10),
  10614. ValidNumber INT,
  10615. PayNumber INT)
  10616. INSERT @t(Type, ManagerUserId, ValidNumber, PayNumber)
  10617. SELECT 2, ManagerUserID,
  10618. SUM(CONVERT(INT, IsValid)) ValidNumber,
  10619. SUM(CONVERT(INT, IsMore2Valid)) PayNumber
  10620. FROM MarketDb..SpreadKeywordRefererLog
  10621. WHERE AddDate BETWEEN @Sd AND @ED
  10622. GROUP BY ManagerUserID
  10623. UPDATE a
  10624. SET a.ManagerUserName = b.Name,
  10625. a.DeptID = b.DeptId
  10626. FROM @t a, ManagerUser b
  10627. WHERE b.id = a.ManagerUserId
  10628. INSERT @t(Type, DeptId, ValidNumber, PayNumber)
  10629. SELECT 1, DeptId, SUM(ValidNumber), SUM(PayNumber) FROM @t GROUP BY DeptId
  10630. UPDATE a
  10631. SET a.DeptName = b.DeptName,
  10632. a.DeptSuperior = b.Superior
  10633. FROM @t a, Dept b
  10634. WHERE b.id = a.DeptId
  10635. UPDATE @t SET DeptSuperior = DeptId WHERE DeptSuperior = 0
  10636. SELECT Type, DeptName, LTRIM(STR(ManagerUserId)) + ' ' + ManagerUserName ManagerUserName, ValidNumber, PayNumber FROM @t ORDER BY Type, DeptSuperior, DeptId, ManagerUserId
  10637. END
  10638. GO
  10639. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogByWtgSave] Script Date: 2018/12/13 19:12:14 ******/
  10640. SET ANSI_NULLS ON
  10641. GO
  10642. SET QUOTED_IDENTIFIER ON
  10643. GO
  10644. --sean 2014-4-3 baidu 点击自动统计,工作日19:00~7:00算业余时间 非工作日0:00~24:00, 点击到结束 超过10分钟算有效
  10645. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogByWtgSave]
  10646. AS
  10647. return
  10648. BEGIN
  10649. SET NOCOUNT ON
  10650. /* Add Limit Condition*/
  10651. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND WorkType = 1)
  10652. IF DATEPART(HOUR, GETDATE()) BETWEEN 7 AND 17 -- AND 1=2
  10653. RETURN
  10654. --Delete the login user in 10 Minutes
  10655. DELETE ManagerLogSnap WHERE LoginDate < DATEADD(MINUTE, -10, GETDATE())
  10656. DELETE WuTongGuoDb..SynUeoLog WHERE IP IN(SELECT IP FROM Ip_White)
  10657. IF(SELECT COUNT(*) FROM ManagerLogSnap) > 0 --have login user
  10658. BEGIN
  10659. --记录Refer的ip
  10660. SELECT *
  10661. INTO #R
  10662. FROM WuTongGuoDb..Referer WITH(NOLOCK)
  10663. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10664. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10665. AND ((Keywords > '' AND (Referer LIKE '%.haosou.%' OR Referer LIKE '%.sogou.%'))
  10666. OR Referer LIKE '%.baidu.%')
  10667. --记录seconderer的ip
  10668. INSERT INTO #R
  10669. SELECT *
  10670. FROM WuTongGuoDb..Seconderer WITH(NOLOCK)
  10671. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10672. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10673. AND ((Keywords > '' AND (Referer LIKE '%.haosou.%' OR Referer LIKE '%.sogou.%'))
  10674. OR Referer LIKE '%.baidu.%')
  10675. --登录和referer匹配
  10676. DECLARE @t AS TABLE
  10677. (
  10678. ManagerUserId INT,
  10679. VersionId INT,
  10680. IP VARCHAR(15),
  10681. Keywords NVARCHAR(50),
  10682. Referer VARCHAR(200),
  10683. RefererDate DATETIME,
  10684. SessionId VARCHAR(30),
  10685. Engine TINYINT,
  10686. IsValid BIT
  10687. )
  10688. INSERT INTO @t
  10689. SELECT b.ManagerId, a.VersionId, a.Ip, LTRIM(RTRIM(a.Keywords)), a.Referer, a.LoginDate RefererDate, a.SessionId, 0, 0
  10690. FROM #r a, ManagerLogSnap b
  10691. WHERE a.Ip = b.Ip
  10692. UPDATE @t SET Engine = 2 WHERE Referer LIKE '%.haosou.%'
  10693. UPDATE @t SET Engine = 3 WHERE Referer LIKE '%.sogou.%'
  10694. UPDATE @t SET Engine = 1 WHERE Referer LIKE '%.baidu.%'
  10695. --删除先点击后登录的
  10696. DELETE a
  10697. FROM @t a, Marketdb..SpreadKeywordRefererLog b
  10698. WHERE a.Referer = b.Referer
  10699. AND a.Ip = b.Ip
  10700. AND a.SessionId = b.SessionId
  10701. AND a.Engine = b.Engine
  10702. AND b.RefererDate > DATEADD(MINUTE, -30, GETDATE())
  10703. --检查关键词
  10704. UPDATE a SET IsValid = 1
  10705. FROM @t a, Marketdb..SpreadKeywordAssign b, ManagerUser c
  10706. WHERE a.ManagerUserId = c.Id
  10707. AND a.KeyWords = b.Keyword
  10708. AND b.DeptId = c.DeptId
  10709. AND b.EndDate > GETDATE()
  10710. UPDATE a SET IsValid = 1
  10711. FROM @t a, Marketdb..SpreadKeywordAssign b, ManagerUser c
  10712. WHERE a.ManagerUserId = c.Id
  10713. AND a.Referer LIKE '%www.baidu.com/%'
  10714. AND b.DeptId = c.DeptId
  10715. AND b.EndDate > GETDATE()
  10716. --删除不是关键词的
  10717. DELETE @t WHERE IsValid = 0
  10718. DELETE @t WHERE LEN(VersionId) IN(3, 5)
  10719. UPDATE @t SET VersionId = LEFT(VersionId, 2) WHERE LEN(VersionId) = 6
  10720. SELECT SessionId, Min(addDate) AddDate
  10721. INTO #l1
  10722. FROM WuTongGuoDb..SynUeoLog b
  10723. WHERE SessionId IN(SELECT SessionId FROM @t)
  10724. GROUP BY SessionId
  10725. DELETE a
  10726. FROM @t a
  10727. WHERE EXISTS(SELECT 'x' FROM #l1 b
  10728. WHERE a.SessionId = b.SessionId
  10729. AND b.AddDate < DATEADD(MINUTE, -10, a.RefererDate))
  10730. --插入refererlog
  10731. INSERT INTO Marketdb..SpreadKeywordRefererLog(SessionId, dcSubSiteId, ManagerUserId, Engine, Keyword, Referer, RefererDate, Ip, LoginType, ViewPageNumber, AddDate)
  10732. SELECT SessionId, VersionId, ManagerUserId, Engine, Keywords, Referer, RefererDate, Ip, 1, 0, GETDATE()
  10733. FROM @t
  10734. WHERE LEN(VersionId) <= 4
  10735. END
  10736. --从ueolog中搜索sessionid的开始、结束时间
  10737. SELECT SessionId, DATEADD(MINUTE, -1, AddDate) AddDate, Engine, 0 PageNumber, 0 IsValid, 0 MaxId , GETDATE() - 1 EndDate, SPACE(500) Url
  10738. INTO #u
  10739. FROM Marketdb..SpreadKeywordRefererLog
  10740. WHERE AddDate > DATEADD(MINUTE, -120, GETDATE())
  10741. UPDATE #u SET IsValid = 1 WHERE SessionId IN(SELECT SessionId FROM WuTongGuoDb..SynUeoLog WHERE AddDate > DATEADD(MINUTE, -2, GETDATE()))
  10742. DELETE #u WHERE IsValid = 0
  10743. IF (SELECT COUNT(*) FROM #u) > 0
  10744. BEGIN
  10745. SELECT ID, SessionId, AddDate INTO #l3 FROM WuTongGuoDb..SynUeoLog b WHERE SessionId IN(SELECT SessionId FROM #u)
  10746. UPDATE #u SET PageNumber = (SELECT COUNT(*) FROM #l3 b WHERE #u.SessionId = b.SessionId AND b.AddDate > #u.AddDate)
  10747. SELECT SessionId, MAX(Id) ID
  10748. INTO #l2
  10749. FROM #l3 WITH(NOLOCK)
  10750. GROUP BY SessionId
  10751. UPDATE a SET a.MaxId = b.Id FROM #u a, #l2 b WHERE a.SessionId = b.SessionId
  10752. UPDATE a
  10753. SET a.EndDate = b.AddDate,
  10754. a.Url = b.Url
  10755. FROM #u a, WuTongGuoDb..SynUeoLog b
  10756. WHERE a.MaxId = b.Id
  10757. END
  10758. -- SELECT * FROM #u
  10759. UPDATE a
  10760. SET a.EndDate = b.EndDate,
  10761. a.EndUrl = b.Url,
  10762. ViewPageNumber = b.PageNumber
  10763. FROM Marketdb..SpreadKeywordRefererLog a, #u b
  10764. WHERE a.AddDate > DATEADD(MINUTE, -120, GETDATE())
  10765. AND a.Engine = b.Engine
  10766. AND a.SessionId = b.SessionId
  10767. --记录pageminute
  10768. UPDATE Marketdb..SpreadKeywordRefererLog
  10769. SET PageMinute = DATEDIFF(MINUTE, RefererDate, EndDate)
  10770. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  10771. AND IsValid = 0
  10772. --10分钟有效
  10773. UPDATE Marketdb..SpreadKeywordRefererLog
  10774. SET IsValid = 1
  10775. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  10776. AND IsValid = 0
  10777. AND DATEDIFF(MINUTE, RefererDate, EndDate) >= 10
  10778. END
  10779. GO
  10780. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogByWtgUpdate] Script Date: 2018/12/13 19:12:14 ******/
  10781. SET ANSI_NULLS ON
  10782. GO
  10783. SET QUOTED_IDENTIFIER ON
  10784. GO
  10785. --sean 2014-4-3 baidu 点击自动统计,工作日19:00~7:00算业余时间 非工作日0:00~24:00, 点击到结束 超过10分钟算有效
  10786. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogByWtgUpdate]
  10787. AS
  10788. SET NOCOUNT ON
  10789. return
  10790. BEGIN
  10791. DECLARE @Now DATETIME
  10792. SET @Now = GETDATE() --'2014-6-15 23:58'
  10793. IF DATEPART(HOUR, @Now) BETWEEN 7 AND 17 -- AND 1=2
  10794. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), @Now, 112) AND WorkType = 1)
  10795. RETURN
  10796. UPDATE Marketdb..SpreadKeywordRefererLog
  10797. SET PageMinute = DATEDIFF(MINUTE, RefererDate, EndDate)
  10798. WHERE EndDate IS NOT NULL
  10799. AND EndDate > DATEADD(MINUTE, -10, @Now)
  10800. SELECT *, 0 HasDone INTO #t FROM Marketdb..SpreadKeywordRefererLog
  10801. WHERE RefererDate > CONVERT(VARCHAR(10), @Now, 120)
  10802. AND PageMinute >= 10 AND IsRepeat = 0
  10803. DECLARE @id INT, @Mid INT, @RDate DATETIME, @EDate DATETIME,
  10804. @PrevRDate DATETIME, @PrevEDate DATETIME, @Sid VARCHAR(30),
  10805. @N INT, @Ip VARCHAR(15), @IntervalMinute INT, @Engine INT
  10806. WHILE EXISTS(SELECT 'x' FROM #t WHERE HasDone = 0 AND EndDate > DATEADD(MINUTE, -4, @Now))
  10807. BEGIN
  10808. SELECT @Id = Id, @MId = ManagerUSerId, @RDate = RefererDate, @EDate = EndDate,
  10809. @Sid = SessionId, @ip = Ip, @Engine = Engine
  10810. FROM #t
  10811. WHERE HasDone = 0
  10812. ORDER BY ManagerUserId, ID
  10813. UPDATE #t SET HasDone = 1 WHERE ID = @Id
  10814. IF EXISTS(SELECT 'x' FROM #t WHERE SessionId = @Sid AND @ip = IP AND Id < @ID AND Engine = @Engine)
  10815. UPDATE #t SET IsRepeat = 1 WHERE ID = @ID
  10816. ELSE
  10817. BEGIN
  10818. IF EXISTS(SELECT 'x' FROM #t WHERE @ip = IP AND Id < @ID AND Engine = @Engine)
  10819. UPDATE #t SET IsIpRepeat = 1 WHERE ID = @ID
  10820. SET @n = 0
  10821. SELECT TOP 1 @N = 1, @PrevRDate = RefererDate, @PrevEDate = EndDate
  10822. FROM #t
  10823. WHERE ID < @ID AND ManagerUserId = @Mid
  10824. AND IsValid = 1
  10825. AND Engine = @Engine
  10826. --AND IntervalMinute > 19
  10827. ORDER BY ID DESC
  10828. IF(@n = 1)
  10829. SET @IntervalMinute = DATEDIFF(MINUTE, @PrevEDate, @RDate)
  10830. ELSE
  10831. SET @IntervalMinute = 99
  10832. UPDATE #t
  10833. SET IntervalMinute = @IntervalMinute
  10834. WHERE ID = @ID
  10835. END
  10836. END
  10837. DELETE #t WHERE ManagerUserid NOT IN(SELECT ManagerUserId FROM #t WHERE EndDate > DATEADD(MINUTE, -5, @Now))
  10838. UPDATE a
  10839. SET a.TodayNumber = b.Num
  10840. FROM #t a, (
  10841. SELECT Id, Engine, ManagerUserId, Row_Number() OVER(Partition BY ManagerUserId, Engine ORDER BY ID) Num
  10842. FROM #t
  10843. WHERE PageMinute>9 AND IntervalMinute > 19 AND IsRepeat = 0 AND dcSubSiteId = 90) b
  10844. WHERE a.Id = b.Id
  10845. AND a.Engine = b.Engine
  10846. UPDATE #t SET IsValid = 0
  10847. UPDATE #t SET IsValid = 1 WHERE PageMinute > 9 AND IntervalMinute > 19 AND TodayNumber < 3
  10848. --select * from #t where manageruserid =112 order by id desc
  10849. /* IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), @Now, 112) AND WorkType = 3)
  10850. UPDATE #t
  10851. SET IsMore2Valid = 1
  10852. WHERE PageMinute > 9 AND IntervalMinute > 19 AND TodayNumber > 2
  10853. AND DATEPART(HOUR, RefererDate) BETWEEN 7 AND 17
  10854. AND IsIpRepeat = 0
  10855. */
  10856. UPDATE a
  10857. SET a.IsRepeat = b.IsRepeat,
  10858. a.IntervalMinute = b.IntervalMinute,
  10859. a.IsMore2Valid = b.IsMore2Valid,
  10860. a.TodayNumber = b.TodayNumber
  10861. FROM Marketdb..SpreadKeywordRefererLog a, #t b
  10862. WHERE a.Id = b.Id
  10863. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 1
  10864. WHERE TodayNumber < 3 AND IsValid = 0 AND EndDate > @Now - 0.5 AND PageMinute > 9
  10865. AND IntervalMinute > 19 AND IsValid = 0 AND IsRepeat = 0
  10866. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0
  10867. WHERE TodayNumber > 2 AND IsValid = 1 AND EndDate > @Now - 0.5 AND ViewPageNumber <= 1 AND IsRepeat = 1
  10868. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0
  10869. WHERE IntervalMinute < 20 AND PageMinute > 9 AND EndDate > @Now - 0.5 AND IsValid = 1 AND IsRepeat = 1
  10870. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0 WHERE EndDate > @Now - 0.5 AND IsValid = 1 AND IsRepeat = 1
  10871. END
  10872. GO
  10873. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogSave] Script Date: 2018/12/13 19:12:15 ******/
  10874. SET ANSI_NULLS ON
  10875. GO
  10876. SET QUOTED_IDENTIFIER ON
  10877. GO
  10878. --sean 2014-4-3 baidu 点击自动统计,工作日19:00~7:00算业余时间 非工作日0:00~24:00, 点击到结束 超过10分钟算有效
  10879. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogSave]
  10880. AS
  10881. --return
  10882. BEGIN
  10883. SET NOCOUNT ON
  10884. /* Add Limit Condition*/
  10885. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), GETDATE(), 112) AND WorkType = 1)
  10886. IF DATEPART(HOUR, GETDATE()) BETWEEN 7 AND 17 -- AND 1=2
  10887. RETURN
  10888. --Delete the login user in 10 Minutes
  10889. DELETE ManagerLogSnap WHERE LoginDate < DATEADD(MINUTE, -10, GETDATE())
  10890. DELETE SynUeoLog WHERE IP IN(SELECT IP FROM Ip_White)
  10891. IF(SELECT COUNT(*) FROM ManagerLogSnap) > 0 --have login user
  10892. BEGIN
  10893. --记录Refer的ip
  10894. SELECT *
  10895. INTO #R
  10896. FROM Referer WITH(NOLOCK)
  10897. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10898. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10899. AND ((Keywords > '' AND (Referer LIKE '%.haosou.%' OR Referer LIKE '%.sogou.%'))
  10900. OR Referer LIKE '%.baidu.%')
  10901. --记录seconderer的ip
  10902. INSERT INTO #R
  10903. SELECT *
  10904. FROM Seconderer WITH(NOLOCK)
  10905. WHERE LoginDate > DATEADD(MINUTE, -10, GETDATE())
  10906. AND Ip IN(SELECT IP FROM ManagerLogSnap)
  10907. AND ((Keywords > '' AND (Referer LIKE '%.haosou.%' OR Referer LIKE '%.sogou.%'))
  10908. OR Referer LIKE '%.baidu.%')
  10909. --登录和referer匹配
  10910. DECLARE @t AS TABLE
  10911. (
  10912. ManagerUserId INT,
  10913. VersionId INT,
  10914. IP VARCHAR(15),
  10915. Keywords NVARCHAR(50),
  10916. Referer VARCHAR(200),
  10917. RefererDate DATETIME,
  10918. SessionId VARCHAR(30),
  10919. Engine TINYINT,
  10920. IsValid BIT
  10921. )
  10922. INSERT INTO @t
  10923. SELECT b.ManagerId, a.VersionId, a.Ip, LTRIM(RTRIM(a.Keywords)), a.Referer, a.LoginDate RefererDate, a.SessionId, 0, 0
  10924. FROM #r a, ManagerLogSnap b
  10925. WHERE a.Ip = b.Ip
  10926. UPDATE @t SET Engine = 2 WHERE Referer LIKE '%.haosou.%'
  10927. UPDATE @t SET Engine = 3 WHERE Referer LIKE '%.sogou.%'
  10928. UPDATE @t SET Engine = 1 WHERE Referer LIKE '%.baidu.%'
  10929. --删除先点击后登录的
  10930. DELETE a
  10931. FROM @t a, Marketdb..SpreadKeywordRefererLog b
  10932. WHERE a.Referer = b.Referer
  10933. AND a.Ip = b.Ip
  10934. AND a.SessionId = b.SessionId
  10935. AND a.Engine = b.Engine
  10936. AND b.RefererDate > DATEADD(MINUTE, -30, GETDATE())
  10937. --检查关键词
  10938. UPDATE a SET IsValid = 1
  10939. FROM @t a, Marketdb..SpreadKeywordAssign b, ManagerUser c
  10940. WHERE a.ManagerUserId = c.Id
  10941. AND a.KeyWords = b.Keyword
  10942. AND b.DeptId = c.DeptId
  10943. AND b.EndDate > GETDATE()
  10944. UPDATE a SET IsValid = 1
  10945. FROM @t a, Marketdb..SpreadKeywordAssign b, ManagerUser c
  10946. WHERE a.ManagerUserId = c.Id
  10947. AND a.Referer LIKE '%www.baidu.com/%'
  10948. AND b.DeptId = c.DeptId
  10949. AND b.EndDate > GETDATE()
  10950. --删除不是关键词的
  10951. DELETE @t WHERE IsValid = 0
  10952. DELETE @t WHERE LEN(VersionId) IN(3, 5)
  10953. UPDATE @t SET VersionId = LEFT(VersionId, 2) WHERE LEN(VersionId) = 6
  10954. SELECT SessionId, Min(addDate) AddDate
  10955. INTO #l1
  10956. FROM SynUeoLog b
  10957. WHERE SessionId IN(SELECT SessionId FROM @t)
  10958. GROUP BY SessionId
  10959. DELETE a
  10960. FROM @t a
  10961. WHERE EXISTS(SELECT 'x' FROM #l1 b
  10962. WHERE a.SessionId = b.SessionId
  10963. AND b.AddDate < DATEADD(MINUTE, -10, a.RefererDate))
  10964. --插入refererlog
  10965. INSERT INTO Marketdb..SpreadKeywordRefererLog(SessionId, dcSubSiteId, ManagerUserId, Engine, Keyword, Referer, RefererDate, Ip, LoginType, ViewPageNumber, AddDate)
  10966. SELECT SessionId, VersionId, ManagerUserId, Engine, Keywords, Referer, RefererDate, Ip, 1, 0, GETDATE()
  10967. FROM @t
  10968. WHERE LEN(VersionId) <= 4
  10969. END
  10970. --从ueolog中搜索sessionid的开始、结束时间
  10971. SELECT SessionId, DATEADD(MINUTE, -1, AddDate) AddDate, Engine, 0 PageNumber, 0 IsValid, 0 MaxId , GETDATE() - 1 EndDate, SPACE(500) Url
  10972. INTO #u
  10973. FROM Marketdb..SpreadKeywordRefererLog
  10974. WHERE AddDate > DATEADD(MINUTE, -120, GETDATE())
  10975. UPDATE #u SET IsValid = 1 WHERE SessionId IN(SELECT SessionId FROM SynUeoLog WHERE AddDate > DATEADD(MINUTE, -2, GETDATE()))
  10976. DELETE #u WHERE IsValid = 0
  10977. IF (SELECT COUNT(*) FROM #u) > 0
  10978. BEGIN
  10979. SELECT ID, SessionId, AddDate INTO #l3 FROM SynUeoLog b WHERE SessionId IN(SELECT SessionId FROM #u)
  10980. UPDATE #u SET PageNumber = (SELECT COUNT(*) FROM #l3 b WHERE #u.SessionId = b.SessionId AND b.AddDate > #u.AddDate)
  10981. SELECT SessionId, MAX(Id) ID
  10982. INTO #l2
  10983. FROM #l3 WITH(NOLOCK)
  10984. GROUP BY SessionId
  10985. UPDATE a SET a.MaxId = b.Id FROM #u a, #l2 b WHERE a.SessionId = b.SessionId
  10986. UPDATE a
  10987. SET a.EndDate = b.AddDate,
  10988. a.Url = b.Url
  10989. FROM #u a, SynUeoLog b
  10990. WHERE a.MaxId = b.Id
  10991. END
  10992. -- SELECT * FROM #u
  10993. UPDATE a
  10994. SET a.EndDate = b.EndDate,
  10995. a.EndUrl = b.Url,
  10996. ViewPageNumber = b.PageNumber
  10997. FROM Marketdb..SpreadKeywordRefererLog a, #u b
  10998. WHERE a.AddDate > DATEADD(MINUTE, -120, GETDATE())
  10999. AND a.Engine = b.Engine
  11000. AND a.SessionId = b.SessionId
  11001. --记录pageminute
  11002. UPDATE Marketdb..SpreadKeywordRefererLog
  11003. SET PageMinute = DATEDIFF(MINUTE, RefererDate, EndDate)
  11004. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  11005. AND IsValid = 0
  11006. --10分钟有效
  11007. UPDATE Marketdb..SpreadKeywordRefererLog
  11008. SET IsValid = 1
  11009. WHERE EndDate > DATEADD(MINUTE, -5, GETDATE())
  11010. AND IsValid = 0
  11011. AND DATEDIFF(MINUTE, RefererDate, EndDate) >= 10
  11012. END
  11013. GO
  11014. /****** Object: StoredProcedure [dbo].[ProcSpreadKeywordRefererLogUpdate] Script Date: 2018/12/13 19:12:15 ******/
  11015. SET ANSI_NULLS ON
  11016. GO
  11017. SET QUOTED_IDENTIFIER ON
  11018. GO
  11019. --sean 2014-4-3 baidu 点击自动统计,工作日19:00~7:00算业余时间 非工作日0:00~24:00, 点击到结束 超过10分钟算有效
  11020. CREATE PROCEDURE [dbo].[ProcSpreadKeywordRefererLogUpdate]
  11021. AS
  11022. --return
  11023. SET NOCOUNT ON
  11024. BEGIN
  11025. DECLARE @Now DATETIME
  11026. SET @Now = GETDATE() --'2014-6-15 23:58'
  11027. IF DATEPART(HOUR, @Now) BETWEEN 7 AND 17 -- AND 1=2
  11028. IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), @Now, 112) AND WorkType = 1)
  11029. RETURN
  11030. UPDATE Marketdb..SpreadKeywordRefererLog
  11031. SET PageMinute = DATEDIFF(MINUTE, RefererDate, EndDate)
  11032. WHERE EndDate IS NOT NULL
  11033. AND EndDate > DATEADD(MINUTE, -10, @Now)
  11034. SELECT *, 0 HasDone INTO #t FROM Marketdb..SpreadKeywordRefererLog
  11035. WHERE RefererDate > CONVERT(VARCHAR(10), @Now, 120)
  11036. AND PageMinute >= 10 AND IsRepeat = 0
  11037. DECLARE @id INT, @Mid INT, @RDate DATETIME, @EDate DATETIME,
  11038. @PrevRDate DATETIME, @PrevEDate DATETIME, @Sid VARCHAR(30),
  11039. @N INT, @Ip VARCHAR(15), @IntervalMinute INT, @Engine INT
  11040. WHILE EXISTS(SELECT 'x' FROM #t WHERE HasDone = 0 AND EndDate > DATEADD(MINUTE, -4, @Now))
  11041. BEGIN
  11042. SELECT @Id = Id, @MId = ManagerUSerId, @RDate = RefererDate, @EDate = EndDate,
  11043. @Sid = SessionId, @ip = Ip, @Engine = Engine
  11044. FROM #t
  11045. WHERE HasDone = 0
  11046. ORDER BY ManagerUserId, ID
  11047. UPDATE #t SET HasDone = 1 WHERE ID = @Id
  11048. IF EXISTS(SELECT 'x' FROM #t WHERE SessionId = @Sid AND @ip = IP AND Id < @ID AND Engine = @Engine)
  11049. UPDATE #t SET IsRepeat = 1 WHERE ID = @ID
  11050. ELSE
  11051. BEGIN
  11052. IF EXISTS(SELECT 'x' FROM #t WHERE @ip = IP AND Id < @ID AND Engine = @Engine)
  11053. UPDATE #t SET IsIpRepeat = 1 WHERE ID = @ID
  11054. SET @n = 0
  11055. SELECT TOP 1 @N = 1, @PrevRDate = RefererDate, @PrevEDate = EndDate
  11056. FROM #t
  11057. WHERE ID < @ID AND ManagerUserId = @Mid
  11058. AND IsValid = 1
  11059. AND Engine = @Engine
  11060. AND IntervalMinute > 19
  11061. ORDER BY ID DESC
  11062. IF(@n = 1)
  11063. SET @IntervalMinute = DATEDIFF(MINUTE, @PrevEDate, @RDate)
  11064. ELSE
  11065. SET @IntervalMinute = 99
  11066. UPDATE #t
  11067. SET IntervalMinute = @IntervalMinute
  11068. WHERE ID = @ID
  11069. END
  11070. END
  11071. DELETE #t WHERE ManagerUserid NOT IN(SELECT ManagerUserId FROM #t WHERE EndDate > DATEADD(MINUTE, -5, @Now))
  11072. UPDATE a
  11073. SET a.TodayNumber = b.Num
  11074. FROM #t a, (
  11075. SELECT Id, Engine, ManagerUserId, Row_Number() OVER(Partition BY ManagerUserId, Engine ORDER BY ID) Num
  11076. FROM #t
  11077. WHERE PageMinute>9 AND IntervalMinute > 19 AND IsRepeat = 0) b
  11078. WHERE a.Id = b.Id
  11079. AND a.Engine = b.Engine
  11080. UPDATE #t SET IsValid = 0
  11081. UPDATE #t SET IsValid = 1 WHERE PageMinute > 9 AND IntervalMinute > 19 AND TodayNumber < 3
  11082. --select * from #t where manageruserid =112 order by id desc
  11083. /* IF EXISTS(SELECT 'x' FROM Oadb..WorkDate WHERE WorkDate = CONVERT(VARCHAR(8), @Now, 112) AND WorkType = 3)
  11084. UPDATE #t
  11085. SET IsMore2Valid = 1
  11086. WHERE PageMinute > 9 AND IntervalMinute > 19 AND TodayNumber > 2
  11087. AND DATEPART(HOUR, RefererDate) BETWEEN 7 AND 17
  11088. AND IsIpRepeat = 0
  11089. */
  11090. UPDATE a
  11091. SET a.IsRepeat = b.IsRepeat,
  11092. a.IntervalMinute = b.IntervalMinute,
  11093. a.IsMore2Valid = b.IsMore2Valid,
  11094. a.TodayNumber = b.TodayNumber
  11095. FROM Marketdb..SpreadKeywordRefererLog a, #t b
  11096. WHERE a.Id = b.Id
  11097. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 1
  11098. WHERE TodayNumber < 3 AND IsValid = 0 AND EndDate > @Now - 0.5 AND PageMinute > 9
  11099. AND IntervalMinute > 19 AND IsValid = 0 AND IsRepeat = 0
  11100. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0
  11101. WHERE TodayNumber > 2 AND IsValid = 1 AND EndDate > @Now - 0.5 AND ViewPageNumber <= 1 AND IsRepeat = 1
  11102. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0
  11103. WHERE IntervalMinute < 20 AND PageMinute > 9 AND EndDate > @Now - 0.5 AND IsValid = 1 AND IsRepeat = 1
  11104. UPDATE Marketdb..SpreadKeywordRefererLog SET IsValid = 0 WHERE EndDate > @Now - 0.5 AND IsValid = 1 AND IsRepeat = 1
  11105. END
  11106. GO
  11107. /****** Object: StoredProcedure [dbo].[ProcSpreadLoginLogIdByIpSelect] Script Date: 2018/12/13 19:12:15 ******/
  11108. SET ANSI_NULLS ON
  11109. GO
  11110. SET QUOTED_IDENTIFIER ON
  11111. GO
  11112. --#####################################################
  11113. --创建时间:2014.10.28
  11114. --创建人:John
  11115. --说明:推广部百度点击相关, 获取当前ip是否是内部员工点击的
  11116. --#####################################################
  11117. CREATE PROCEDURE [dbo].[ProcSpreadLoginLogIdByIpSelect]
  11118. (
  11119. @ip VARCHAR(15)
  11120. )
  11121. AS
  11122. BEGIN
  11123. SELECT TOP 1 Id
  11124. FROM SpreadLoginLogsnap
  11125. WHERE Ip = @ip
  11126. ORDER BY AddDate DESC
  11127. END
  11128. GO
  11129. /****** Object: StoredProcedure [dbo].[ProcSpreadLoginLogSnapByIpSelect] Script Date: 2018/12/13 19:12:15 ******/
  11130. SET ANSI_NULLS ON
  11131. GO
  11132. SET QUOTED_IDENTIFIER ON
  11133. GO
  11134. --#####################################################
  11135. --创建时间:2014.10.28
  11136. --创建人:John
  11137. --说明:推广部百度点击相关, 获取当前ip是否是内部员工点击的
  11138. --#####################################################
  11139. CREATE PROCEDURE [dbo].[ProcSpreadLoginLogSnapByIpSelect]
  11140. (
  11141. @ip VARCHAR(15)
  11142. )
  11143. AS
  11144. BEGIN
  11145. SELECT TOP 1 Id, ManagerUserId, Ip, Cookies, AddDate, LoginNumber, Keyword --LEFT(Keyword, 4) Keyword
  11146. FROM SpreadLoginLogsnap
  11147. WHERE Ip = @ip
  11148. ORDER BY AddDate DESC
  11149. END
  11150. GO
  11151. /****** Object: StoredProcedure [dbo].[ProcSpreadRefererLogBySpreadLoginLogIdUpdate] Script Date: 2018/12/13 19:12:15 ******/
  11152. SET ANSI_NULLS ON
  11153. GO
  11154. SET QUOTED_IDENTIFIER ON
  11155. GO
  11156. /*
  11157. sean 2014-6-19 used by spread
  11158. spreader visstt page
  11159. */
  11160. CREATE PROCEDURE [dbo].[ProcSpreadRefererLogBySpreadLoginLogIdUpdate]
  11161. (
  11162. @SpreadLoginLogId varchar(8),
  11163. @EndUrl varchar(200),
  11164. @VisitType INT
  11165. )
  11166. AS
  11167. BEGIN
  11168. UPDATE SpreadRefererLog
  11169. SET EndUrl = @EndUrl, EndDate = GETDATE(), PageMinute = DATEDIFF(MINUTE, RefererDate, GETDATE())
  11170. WHERE SpreadLoginLogId = @SpreadLoginLogId
  11171. AND VisitType = @VisitType
  11172. AND RefererDate > DATEADD(MINUTE, -100, GETDATE())
  11173. END
  11174. GO
  11175. /****** Object: StoredProcedure [dbo].[ProcSpreadRefererLogInsert] Script Date: 2018/12/13 19:12:16 ******/
  11176. SET ANSI_NULLS ON
  11177. GO
  11178. SET QUOTED_IDENTIFIER ON
  11179. GO
  11180. /*
  11181. sean 2014-6-19 used by spread
  11182. spreader first visst first page
  11183. Updated by sean,at 2014-7-7. Can't more than 2 in one day. Can't be office ip
  11184. */
  11185. CREATE PROCEDURE [dbo].[ProcSpreadRefererLogInsert]
  11186. (
  11187. @SpreadLoginLogId int,
  11188. @dcSubSiteId smallint,
  11189. @Keyword nvarchar(50),
  11190. @Referer varchar(200),
  11191. @SessionID varchar(30),
  11192. @BeginUrl varchar(200),
  11193. @VisitType TINYINT
  11194. )
  11195. AS
  11196. SET NOCOUNT ON
  11197. --INSERT INTO a2 SELECT @SpreadLoginLogId, @dcSubSiteId, @Keyword, @Referer, @SessionID, @BeginUrl, @VisitType, GETDATE()
  11198. BEGIN
  11199. --IF(@VisitType = 1)
  11200. -- RETURN
  11201. IF EXISTS(SELECT 'x' FROM SpreadRefererLog WHERE SessionId = @SessionId)
  11202. RETURN 1
  11203. IF EXISTS(SELECT 'x' FROM SpreadRefererLog
  11204. WHERE SpreadLoginLogId = @SpreadLoginLogId
  11205. AND VisitType = @VisitType)
  11206. RETURN 2
  11207. INSERT INTO SpreadRefererLog(SpreadLoginLogId, dcSubSiteId, Keyword,
  11208. Referer, RefererDate, SessionID, BeginUrl, EndUrl, EndDate,
  11209. PageMinute, VisitType)
  11210. SELECT @SpreadLoginLogId, @dcSubSiteId, @Keyword,
  11211. @Referer, GETDATE(), @SessionID, @BeginUrl, @BeginUrl, GETDATE(),
  11212. 0, @VisitType
  11213. END
  11214. GO
  11215. /****** Object: StoredProcedure [dbo].[ProcSpreadRefererLogUpdate] Script Date: 2018/12/13 19:12:16 ******/
  11216. SET ANSI_NULLS ON
  11217. GO
  11218. SET QUOTED_IDENTIFIER ON
  11219. GO
  11220. /*
  11221. sean 2014-6-19 used by spread
  11222. spreader visstt page
  11223. */
  11224. CREATE PROCEDURE [dbo].[ProcSpreadRefererLogUpdate]
  11225. (
  11226. @SessionID varchar(30),
  11227. @EndUrl varchar(200)
  11228. )
  11229. AS
  11230. BEGIN
  11231. UPDATE SpreadRefererLog
  11232. SET EndUrl = @EndUrl, EndDate = GETDATE(), PageMinute = DATEDIFF(MINUTE, RefererDate, GETDATE())
  11233. WHERE SessionId = @SessionId
  11234. AND RefererDate > DATEADD(MINUTE, -100, GETDATE())
  11235. END
  11236. GO
  11237. /****** Object: StoredProcedure [dbo].[procSubSiteByAllSelect] Script Date: 2018/12/13 19:12:17 ******/
  11238. SET ANSI_NULLS ON
  11239. GO
  11240. SET QUOTED_IDENTIFIER ON
  11241. GO
  11242. CREATE PROCEDURE [dbo].[procSubSiteByAllSelect]
  11243. AS
  11244. BEGIN
  11245. SELECT
  11246. a.*,
  11247. b.ProvinceName,
  11248. b.WebsiteName,
  11249. b.ProvinceDomain,
  11250. b.SouthNorth,
  11251. b.AssignConsultant,
  11252. b.AdRemarks,
  11253. (SELECT TOP 1 Keyword FROM Logdb..SpreadKeywordAssign c WITH(NOLOCK)
  11254. WHERE c.dcSubSiteId = a.Id AND c.IsValid = 1) SpreadKeyword
  11255. FROM dcSubSite a WITH(NOLOCK)
  11256. INNER JOIN dcProvince b WITH(NOLOCK) ON a.ProvinceId= b.ID
  11257. ORDER BY ProvinceId, ID
  11258. END
  11259. GO
  11260. /****** Object: StoredProcedure [dbo].[procSubSiteByMainSiteSelect] Script Date: 2018/12/13 19:12:17 ******/
  11261. SET ANSI_NULLS ON
  11262. GO
  11263. SET QUOTED_IDENTIFIER ON
  11264. GO
  11265. CREATE PROCEDURE [dbo].[procSubSiteByMainSiteSelect]
  11266. AS
  11267. BEGIN
  11268. SELECT
  11269. a.*,
  11270. b.ProvinceName,
  11271. b.WebsiteName,
  11272. b.ProvinceDomain,
  11273. b.SouthNorth,
  11274. b.AssignConsultant,
  11275. b.AdRemarks,
  11276. (SELECT TOP 1 Keyword FROM Logdb..SpreadKeywordAssign c WITH(NOLOCK)
  11277. WHERE LEFT(c.dcSubSiteId, 2) = a.Id AND c.IsValid = 1) SpreadKeyword
  11278. FROM dcSubSite a WITH(NOLOCK)
  11279. INNER JOIN dcProvince b WITH(NOLOCK) ON a.ProvinceId= b.ID
  11280. WHERE a.IsMainSite = 1
  11281. ORDER BY ProvinceId, ID
  11282. END
  11283. GO
  11284. /****** Object: StoredProcedure [dbo].[procSubsiteByProvinceIDSelect] Script Date: 2018/12/13 19:12:17 ******/
  11285. SET ANSI_NULLS ON
  11286. GO
  11287. SET QUOTED_IDENTIFIER ON
  11288. GO
  11289. --创建人 Lambo 20101018
  11290. --用于首页根据省份编号查询改省的所有的地区
  11291. CREATE PROCEDURE [dbo].[procSubsiteByProvinceIDSelect]
  11292. (
  11293. @provinceId INT
  11294. )
  11295. AS
  11296. BEGIN
  11297. SELECT id,SubsiteCity,SubsiteUrl
  11298. FROM dcSubsite WITH(NOLOCK)
  11299. WHERE provinceId = @provinceId
  11300. END
  11301. GO
  11302. /****** Object: StoredProcedure [dbo].[ProcSubSiteByUrlSelect] Script Date: 2018/12/13 19:12:18 ******/
  11303. SET ANSI_NULLS ON
  11304. GO
  11305. SET QUOTED_IDENTIFIER ON
  11306. GO
  11307. --#####################################################
  11308. --创建时间:2014.10.28
  11309. --创建人:John
  11310. --说明:获取网站站点数据
  11311. --@subSiteUrl 网站Url
  11312. --#####################################################
  11313. CREATE PROCEDURE [dbo].[ProcSubSiteByUrlSelect]
  11314. (
  11315. @subSiteUrl VARCHAR(50)
  11316. )
  11317. AS
  11318. BEGIN TRY
  11319. SELECT id, SubSiteName WebSite, Replace(SubSiteUrl, 'www.', '') Domain
  11320. FROM dcSubSite WITH(NOLOCK)
  11321. WHERE SubSiteUrl = @subSiteUrl
  11322. END TRY
  11323. BEGIN CATCH
  11324. RETURN 0
  11325. END CATCH
  11326. GO
  11327. /****** Object: StoredProcedure [dbo].[procSubSiteSelect] Script Date: 2018/12/13 19:12:18 ******/
  11328. SET ANSI_NULLS ON
  11329. GO
  11330. SET QUOTED_IDENTIFIER ON
  11331. GO
  11332. CREATE PROCEDURE [dbo].[procSubSiteSelect]
  11333. (
  11334. @SubSiteUrl VARCHAR(50)
  11335. )
  11336. AS
  11337. BEGIN
  11338. IF EXISTS(SELECT 'x' FROM dcSubSite WITH(NOLOCK) WHERE SubSiteUrl LIKE @SubSiteUrl)
  11339. SELECT
  11340. a.*,
  11341. b.ProvinceName,
  11342. b.WebsiteName,
  11343. b.ProvinceDomain,
  11344. b.SouthNorth,
  11345. b.AssignConsultant,
  11346. b.AdRemarks
  11347. FROM dcSubSite a WITH(NOLOCK)
  11348. INNER JOIN dcProvince b WITH(NOLOCK) ON a.ProvinceId= b.ID
  11349. WHERE a.SubSiteUrl = @SubSiteUrl
  11350. ELSE
  11351. BEGIN
  11352. DECLARE @Url AS VARCHAR(50)
  11353. IF CHARINDEX('/', @SubSiteUrl) = 0
  11354. BEGIN
  11355. SELECT TOP 0 'x'
  11356. RETURN
  11357. END
  11358. SELECT @Url = LEFT(@SubSiteUrl, CHARINDEX('/', @SubSiteUrl) - 1)
  11359. SELECT
  11360. a.*,
  11361. b.ProvinceName,
  11362. b.WebsiteName,
  11363. b.ProvinceDomain,
  11364. b.SouthNorth,
  11365. b.AssignConsultant,
  11366. b.AdRemarks
  11367. FROM dcSubSite a WITH(NOLOCK)
  11368. INNER JOIN dcProvince b WITH(NOLOCK) ON a.ProvinceId = b.ID
  11369. WHERE a.SubSiteUrl = @Url
  11370. END
  11371. END
  11372. GO
  11373. /****** Object: StoredProcedure [dbo].[ProcSynbsAskInfoClickNumberSelect] Script Date: 2018/12/13 19:12:18 ******/
  11374. SET ANSI_NULLS ON
  11375. GO
  11376. SET QUOTED_IDENTIFIER ON
  11377. GO
  11378. --#####################################################
  11379. --创建时间:2014.10.28
  11380. --创建人:Nick
  11381. --说明:得到最新求职互助问题
  11382. --#####################################################
  11383. CREATE PROCEDURE [dbo].[ProcSynbsAskInfoClickNumberSelect]
  11384. (
  11385. @ProvinceID INT,
  11386. @SubSiteID INT
  11387. )
  11388. AS
  11389. BEGIN TRY
  11390. SELECT ID,Title
  11391. FROM SynbsAskInfoClickNumber WITH(NOLOCK)
  11392. WHERE ProvinceId = @ProvinceID
  11393. ORDER BY ClickNumber DESC
  11394. END TRY
  11395. BEGIN CATCH
  11396. RETURN 0
  11397. END CATCH
  11398. GO
  11399. /****** Object: StoredProcedure [dbo].[procSynUeoLogInsert] Script Date: 2018/12/13 19:12:18 ******/
  11400. SET ANSI_NULLS ON
  11401. GO
  11402. SET QUOTED_IDENTIFIER ON
  11403. GO
  11404. CREATE PROCEDURE [dbo].[procSynUeoLogInsert]
  11405. (
  11406. @SessionId VARCHAR(50),
  11407. @paMainId INT,
  11408. @caMainId INT,
  11409. @PageId INT,
  11410. @SubSiteId int
  11411. )
  11412. AS
  11413. RETURN
  11414. SET NOCOUNT ON
  11415. IF @SubSiteId = 9
  11416. RETURN
  11417. BEGIN
  11418. INSERT LogDb..UeoLog(SessionId, paMainId, caMainId, PageId, SubSiteId)
  11419. SELECT @SessionId, @paMainId, @caMainId, @PageId, @SubSiteId
  11420. END
  11421. GO
  11422. /****** Object: StoredProcedure [dbo].[procSynUeoLogInsertNew] Script Date: 2018/12/13 19:12:18 ******/
  11423. SET ANSI_NULLS ON
  11424. GO
  11425. SET QUOTED_IDENTIFIER ON
  11426. GO
  11427. CREATE PROCEDURE [dbo].[procSynUeoLogInsertNew]
  11428. (
  11429. @SessionId VARCHAR(50),
  11430. @paMainId INT,
  11431. @caMainId INT,
  11432. @PageId INT,
  11433. @SubSiteId INT,
  11434. @IP VARCHAR(20),
  11435. @Url VARCHAR(200),
  11436. @IsSpider BIT
  11437. )
  11438. AS
  11439. RETURN
  11440. SET NOCOUNT ON
  11441. IF @SubSiteId = 9
  11442. RETURN
  11443. BEGIN
  11444. INSERT LogDb..UeoLog(SessionId, paMainId, caMainId, PageId, SubSiteId, IP, Url, IsSpider)
  11445. SELECT @SessionId, @paMainId, @caMainId, @PageId, @SubSiteId, @IP, @Url, @IsSpider
  11446. END
  11447. GO
  11448. /****** Object: StoredProcedure [dbo].[ProcTelAreaSelect] Script Date: 2018/12/13 19:12:19 ******/
  11449. SET ANSI_NULLS ON
  11450. GO
  11451. SET QUOTED_IDENTIFIER ON
  11452. GO
  11453. --#####################################################
  11454. --创建时间:2014.10.31
  11455. --创建人:John
  11456. --说明:获取座机所在的省份城市
  11457. --#####################################################
  11458. CREATE PROCEDURE [dbo].[ProcTelAreaSelect]
  11459. (
  11460. @telNo INT
  11461. )
  11462. AS
  11463. BEGIN
  11464. SELECT TOP 1 Province, City FROM dcTelArea WITH(NOLOCK) WHERE AreaNo = @telNo
  11465. END
  11466. GO
  11467. /****** Object: StoredProcedure [dbo].[ProcTmpWsLogInsert] Script Date: 2018/12/13 19:12:19 ******/
  11468. SET ANSI_NULLS ON
  11469. GO
  11470. SET QUOTED_IDENTIFIER ON
  11471. GO
  11472. CREATE PROCEDURE [dbo].[ProcTmpWsLogInsert]
  11473. (
  11474. @Ip varchar(15),
  11475. @PageId INT,
  11476. @Para VARCHAR(100)
  11477. )
  11478. AS
  11479. SET NOCOUNT ON
  11480. BEGIN
  11481. INSERT INTO tmpWSLog(ip, PageId, AddDate,para) SELECT @Ip, @PageID, GETDATE(),@Para
  11482. RETURN @@IDENTITY
  11483. END
  11484. GO
  11485. /****** Object: StoredProcedure [dbo].[procToolRunLogUpdate] Script Date: 2018/12/13 19:12:19 ******/
  11486. SET ANSI_NULLS ON
  11487. GO
  11488. SET QUOTED_IDENTIFIER ON
  11489. GO
  11490. CREATE PROCEDURE [dbo].[procToolRunLogUpdate]
  11491. AS
  11492. truncate table toolrunlog
  11493. return
  11494. BEGIN
  11495. DELETE FROM ToolRunLog WHERE RunStatus=1 AND ID IN(
  11496. SELECT ID FROM(
  11497. SELECT row_number() OVER (PARTITION BY ToolType ORDER BY AddDate DESC) TypeRow,ID
  11498. FROM ToolRunLog
  11499. WHERE RunStatus=1
  11500. ) t WHERE TypeRow > 1000
  11501. )
  11502. DELETE FROM ToolRunLog WHERE RunStatus = 0 AND ID IN(
  11503. SELECT ID FROM(
  11504. SELECT row_number() OVER (PARTITION BY ToolType ORDER BY AddDate DESC) TypeRow,ID
  11505. FROM ToolRunLog
  11506. WHERE RunStatus=0
  11507. ) t WHERE TypeRow > 2000
  11508. )
  11509. INSERT INTO RtxNotifyLog(Receiver,RtxTitle,RtxMessage)
  11510. SELECT '112,116', '服务未未运行提醒', ToolType
  11511. FROM (
  11512. SELECT CASE ToolType
  11513. WHEN 1 THEN 'RTX发送'
  11514. WHEN 2 THEN '短信发送'
  11515. WHEN 3 THEN '文件监视'
  11516. WHEN 4 THEN '文件更新'
  11517. WHEN 5 THEN '传真发送'
  11518. WHEN 6 THEN 'RTX状态检测'
  11519. WHEN 7 THEN 'RTX消息检测'
  11520. WHEN 8 THEN '百度收录'
  11521. ELSE ''
  11522. END + '服务已经30分钟没有运行了,请及时查找原因' ToolType,
  11523. MAX(EndTime) EndTime
  11524. FROM ToolRunLog
  11525. GROUP BY ToolType) a
  11526. WHERE DATEDIFF(MINUTE, EndTime, GETDATE()) > 30
  11527. INSERT INTO RtxNotifyLog(Receiver,RtxTitle,RtxMessage)
  11528. SELECT '112,116','服务异常提醒', ToolType
  11529. FROM (
  11530. SELECT CASE ToolType
  11531. WHEN 1 THEN 'RTX发送'
  11532. WHEN 2 THEN '短信发送'
  11533. WHEN 3 THEN '文件监视'
  11534. WHEN 4 THEN '文件更新'
  11535. WHEN 5 THEN '传真发送'
  11536. WHEN 6 THEN 'RTX状态检测'
  11537. WHEN 7 THEN 'RTX消息检测'
  11538. WHEN 8 THEN '邮件发送'
  11539. ELSE ''
  11540. END + '服务已经30分钟内运行失败超过3次了,请及时查找原因' ToolType,
  11541. MAX(EndTime) EndTime
  11542. FROM ToolRunLog
  11543. WHERE DATEDIFF(MINUTE, EndTime, GETDATE()) < 30
  11544. AND RunStatus = 0
  11545. GROUP BY ToolType
  11546. HAVING COUNT(1) >= 3) a
  11547. DELETE ToolRunLog WHERE AddDate < GETDATE() - 1
  11548. END
  11549. GO
  11550. /****** Object: StoredProcedure [dbo].[ProcTop10SalaryByJobTypeSelect] Script Date: 2018/12/13 19:12:19 ******/
  11551. SET ANSI_NULLS ON
  11552. GO
  11553. SET QUOTED_IDENTIFIER ON
  11554. GO
  11555. --#####################################################
  11556. --创建时间:2014.11.3
  11557. --创建人:John
  11558. --说明:根据JobType 获取该职位全国各地区排行 从高到低
  11559. --#####################################################
  11560. CREATE PROCEDURE [dbo].[ProcTop10SalaryByJobTypeSelect]
  11561. (
  11562. @dcJobTypeID SMALLINT
  11563. )
  11564. AS
  11565. BEGIN
  11566. SELECT TOP 10 a.dcJobTypeID,a.AvgSalary,b.FullName RegionName
  11567. FROM reportdb..SalaryReportJobtype a LEFT JOIN dcRegion b ON b.id = a.dcRegionID
  11568. WHERE dcJobTypeid = @dcJobTypeID
  11569. ORDER BY AvgSalary DESC
  11570. END
  11571. GO
  11572. /****** Object: StoredProcedure [dbo].[ProcTopicNewsSelect] Script Date: 2018/12/13 19:12:20 ******/
  11573. SET ANSI_NULLS ON
  11574. GO
  11575. SET QUOTED_IDENTIFIER ON
  11576. GO
  11577. CREATE PROCEDURE [dbo].[ProcTopicNewsSelect]
  11578. (
  11579. @ProvinceId INT
  11580. )
  11581. AS
  11582. BEGIN
  11583. SELECT * FROM ShortDb..TopicNews WHERE ProvinceId = @ProvinceId
  11584. END
  11585. GO
  11586. /****** Object: StoredProcedure [dbo].[procTopics100ByTypeSelect] Script Date: 2018/12/13 19:12:20 ******/
  11587. SET ANSI_NULLS ON
  11588. GO
  11589. SET QUOTED_IDENTIFIER ON
  11590. GO
  11591. --#####################################################
  11592. --创建时间:2014.11.5
  11593. --创建人:NICK
  11594. --说明:根据类别获取经常专题
  11595. --#####################################################
  11596. CREATE PROCEDURE [dbo].[procTopics100ByTypeSelect]
  11597. (
  11598. @Type INT
  11599. )
  11600. AS
  11601. BEGIN
  11602. IF @Type = 1
  11603. BEGIN
  11604. SELECT TOP 100 * FROM Topics WITH(NOLOCK) WHERE type=1 AND ID >= 199 ORDER BY adddate DESC
  11605. END
  11606. ELSE
  11607. BEGIN
  11608. SELECT TOP 100 * FROM Topics WITH(NOLOCK) WHERE type=2 AND ID >= 199 ORDER BY adddate DESC
  11609. END
  11610. END
  11611. GO
  11612. /****** Object: StoredProcedure [dbo].[procTopics10Select] Script Date: 2018/12/13 19:12:20 ******/
  11613. SET ANSI_NULLS ON
  11614. GO
  11615. SET QUOTED_IDENTIFIER ON
  11616. GO
  11617. --#####################################################
  11618. --创建时间:2014.11.5
  11619. --创建人:NICK
  11620. --说明:精彩专题
  11621. --#####################################################
  11622. CREATE PROCEDURE [dbo].[procTopics10Select]
  11623. AS
  11624. BEGIN
  11625. SELECT TOP 10 * FROM Topics WITH(NOLOCK) WHERE ID >= 199 ORDER BY adddate DESC
  11626. END
  11627. GO
  11628. /****** Object: StoredProcedure [dbo].[procTopics20Select] Script Date: 2018/12/13 19:12:20 ******/
  11629. SET ANSI_NULLS ON
  11630. GO
  11631. SET QUOTED_IDENTIFIER ON
  11632. GO
  11633. --#####################################################
  11634. --创建时间:2014.11.5
  11635. --创建人:NICK
  11636. --说明:精彩專題
  11637. --#####################################################
  11638. CREATE PROCEDURE [dbo].[procTopics20Select]
  11639. AS
  11640. BEGIN
  11641. SELECT TOP 20 * FROM Topics WITH(NOLOCK) WHERE ID >= 199 ORDER BY adddate DESC
  11642. END
  11643. GO
  11644. /****** Object: StoredProcedure [dbo].[ProcTopicsByTypeIDSelect] Script Date: 2018/12/13 19:12:21 ******/
  11645. SET ANSI_NULLS ON
  11646. GO
  11647. SET QUOTED_IDENTIFIER ON
  11648. GO
  11649. --#####################################################
  11650. --创建时间:2014.10.28
  11651. --创建人:Nick
  11652. --说明:
  11653. --#####################################################
  11654. CREATE PROCEDURE [dbo].[ProcTopicsByTypeIDSelect]
  11655. @TypeID VARCHAR(10)
  11656. AS
  11657. BEGIN TRY
  11658. IF @TypeID = '1'
  11659. BEGIN
  11660. SELECT TOP 100 *
  11661. FROM Topics WITH(NOLOCK)
  11662. WHERE TYPE=1
  11663. AND ID >= 199
  11664. ORDER BY AddDate DESC
  11665. END
  11666. ELSE IF @TypeID = '2'
  11667. BEGIN
  11668. SELECT TOP 100 *
  11669. FROM Topics WITH(NOLOCK)
  11670. WHERE TYPE=1
  11671. AND ID >= 199
  11672. ORDER BY AddDate DESC
  11673. END
  11674. ELSE
  11675. BEGIN
  11676. SELECT TOP 100 *
  11677. FROM Topics WITH(NOLOCK)
  11678. WHERE ID >= 199
  11679. ORDER BY AddDate DESC
  11680. END
  11681. END TRY
  11682. BEGIN CATCH
  11683. RETURN 0
  11684. END CATCH
  11685. GO
  11686. /****** Object: StoredProcedure [dbo].[procTopicsByTypeSelect] Script Date: 2018/12/13 19:12:21 ******/
  11687. SET ANSI_NULLS ON
  11688. GO
  11689. SET QUOTED_IDENTIFIER ON
  11690. GO
  11691. --#####################################################
  11692. --创建时间:2014.11.5
  11693. --创建人:NICK
  11694. --说明:根据类别获取经常专题
  11695. --#####################################################
  11696. CREATE PROCEDURE [dbo].[procTopicsByTypeSelect]
  11697. (
  11698. @Type INT
  11699. )
  11700. AS
  11701. BEGIN
  11702. IF @Type = 1
  11703. BEGIN
  11704. SELECT TOP 100 * FROM Topics WITH(NOLOCK) WHERE type=1 AND ID >= 199ORDER BY adddate DESC
  11705. END
  11706. ELSE IF @Type = 2
  11707. BEGIN
  11708. SELECT TOP 100 * FROM Topics WITH(NOLOCK) WHERE type=2 AND ID >= 199 ORDER BY adddate DESC
  11709. END
  11710. ELSE
  11711. BEGIN
  11712. SELECT TOP 100 * FROM Topics WITH(NOLOCK) WHERE ID >= 199ORDER BY adddate DESC
  11713. END
  11714. END
  11715. GO
  11716. /****** Object: StoredProcedure [dbo].[procTopicsOneSelect] Script Date: 2018/12/13 19:12:21 ******/
  11717. SET ANSI_NULLS ON
  11718. GO
  11719. SET QUOTED_IDENTIFIER ON
  11720. GO
  11721. --#####################################################
  11722. --创建时间:2014.11.5
  11723. --创建人:NICK
  11724. --说明:获取最新的一条精彩专题
  11725. --#####################################################
  11726. CREATE PROCEDURE [dbo].[procTopicsOneSelect]
  11727. AS
  11728. BEGIN
  11729. SELECT TOP 1 * FROM Topics WITH(NOLOCK) WHERE ID >= 199 ORDER BY AddDate DESC
  11730. END
  11731. GO
  11732. /****** Object: StoredProcedure [dbo].[ProcTrdLoginPaMainSelect] Script Date: 2018/12/13 19:12:22 ******/
  11733. SET ANSI_NULLS ON
  11734. GO
  11735. SET QUOTED_IDENTIFIER ON
  11736. GO
  11737. --#####################################################
  11738. --创建时间:2014.11.4
  11739. --创建人:John
  11740. --说明:获取第三方登录的用户信息
  11741. --#####################################################
  11742. CREATE PROCEDURE [dbo].[ProcTrdLoginPaMainSelect]
  11743. (
  11744. @contactType TINYINT,
  11745. @Openid VARCHAR(100)
  11746. )
  11747. AS
  11748. BEGIN
  11749. SELECT TOP 1 b.ID,b.UserName,b.PassWord
  11750. FROM paLoginContact a WITH(NOLOCK), paMain b WITH(NOLOCK)
  11751. WHERE contacttype = @contactType
  11752. AND a.paMainID = b.ID
  11753. AND a.OpenID = @Openid
  11754. AND a.OpenID > ''
  11755. ORDER BY a.AddDate DESC
  11756. END
  11757. GO
  11758. /****** Object: StoredProcedure [dbo].[procttttttt] Script Date: 2018/12/13 19:12:22 ******/
  11759. SET ANSI_NULLS ON
  11760. GO
  11761. SET QUOTED_IDENTIFIER ON
  11762. GO
  11763. CREATE procedure [dbo].[procttttttt]
  11764. as
  11765. begin
  11766. delete from exinterview where cvmainid=26171884
  11767. declare @JobID INT,
  11768. @cpMainID INT,
  11769. @cvMainID INT,
  11770. @InterviewDate VARCHAR(100),
  11771. @InterViewPlace VARCHAR(200),
  11772. @LinkMan VARCHAR(12),
  11773. @Telephone VARCHAR(20),
  11774. @Remark VARCHAR(1000)
  11775. SELECT @JobID = 5338885, @cpMainID = 10025728, @cvMainID=26171884,
  11776. @InterviewDate = '9:00-17:00', @InterViewPlace = '济南高新区舜风路齐鲁文化创意基地12号楼3单元西一层',
  11777. @LinkMan ='靳总', @Telephone='18654514030', @Remark='携带个人简历'
  11778. SET NOCOUNT ON
  11779. DECLARE @InterviewPoint INT --直接发送面试通知 赠送积分
  11780. DECLARE @ReplyInterviewPoint INT --答复后 发送面试通知 赠送积分
  11781. SET @InterviewPoint = 7
  11782. SET @ReplyInterviewPoint = 2
  11783. DECLARE @caMainID INT, @paMainId INT, @ExInterViewID INT, @wxFansId INT, @MsgCount INT
  11784. SELECT @caMainID = caMainId FROM Job WITH(NOLOCK) WHERE ID = @JobID AND cpMainID = @cpMainID
  11785. IF ISNULL(@caMainID, 0) = 0
  11786. RETURN -1
  11787. SELECT @Remark = dbo.TrimNull(@Remark),
  11788. @InterviewDate = dbo.Trim(@InterviewDate),
  11789. @InterViewPlace = dbo.Trim(@InterViewPlace),
  11790. @Telephone = dbo.Trim(@Telephone)
  11791. INSERT INTO ExInterView(JobID, cvMainID, InterviewDate, InterViewPlace, LinkMan, Telephone, Remark)
  11792. VALUES(@JobID, @cvMainID, @InterviewDate, @InterViewPlace, @LinkMan, @Telephone, @Remark)
  11793. SET @ExInterViewID = @@IDENTITY
  11794. print @ExInterViewID
  11795. --未答复的修改答复状态
  11796. UPDATE exJobApply SET Reply =1 WHERE JobID = @JobID AND CvMainID = @cvMainID
  11797. BEGIN TRY
  11798. SELECT @paMainId = paMainId FROM cvMain WITH(NOLOCK) WHERE Id = @cvMainId
  11799. SELECT @wxFansId = id FROM wxFans WITH(NOLOCK) WHERE paMainId = @paMainId AND [Status] = 2
  11800. IF @wxFansId IS NULL
  11801. BEGIN
  11802. print 'is null'
  11803. SELECT @MsgCount = SUM(smsNumber) FROM ExInterView WITH(NOLOCK)
  11804. WHERE JobId IN(SELECT ID FROM Job WITH(NOLOCK) WHERE cpMainId = @cpMainID)
  11805. AND AddDate > CONVERT(VARCHAR(10), GETDATE() - 29, 120)
  11806. IF @MsgCount < 30
  11807. BEGIN
  11808. print '< 30'
  11809. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  11810. SELECT 0, NULL, b.ID, @caMainID, b.Mobile, 101, 0,
  11811. ISNULL(b.Name,'') +','+ d.Name +'在'+ c.SubSiteName + c.EmailSite +'上邀请您面试,请登录网站查看'
  11812. FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK), dcSubSite c WITH(NOLOCK),cpMain d WITH(NOLOCK)
  11813. WHERE a.paMainID = b.ID
  11814. AND b.dcSubSiteID = c.ID
  11815. AND d.ID = @cpMainID
  11816. AND b.Mobile > ''
  11817. AND a.ID = @cvMainID
  11818. AND b.IsReceiveSms = 1
  11819. print'
  11820. INSERT SmsMessageLog(SendMan, ManagerUSerId, paMainId, caMainId, Mobile, MsgType, IsCat, Msg)
  11821. SELECT 0, NULL, b.ID, ' + ltrim(str(@caMainID)) + ', b.Mobile, 101, 0,
  11822. ISNULL(b.Name,'''') + '','' + d.Name + ''在'' + c.SubSiteName + c.EmailSite +''上邀请您面试,请登录网站查看''
  11823. FROM cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK), dcSubSite c WITH(NOLOCK),cpMain d WITH(NOLOCK)
  11824. WHERE a.paMainID = b.ID
  11825. AND b.dcSubSiteID = c.ID
  11826. AND d.ID = ' + ltrim(str(@cpMainID)) + '
  11827. AND b.Mobile > ''''
  11828. AND a.ID = ' + ltrim(str(@cvMainID)) + '
  11829. AND b.IsReceiveSms = 1
  11830. '
  11831. UPDATE ExInterView SET SmsNumber = ISNULL(SmsNumber, 0) + 1 WHERE ID = @ExInterViewID
  11832. END
  11833. END
  11834. ELSE --关注的用户发送微信消息提醒
  11835. BEGIN
  11836. --插入到wxMessageSend表中
  11837. INSERT WxMessageSend2(Templatetype, WxFansID, PaMainId, MainTableId, CpMainID, CvMainID, JobId, CaMainId, AddDate)
  11838. SELECT 1, @wxFansId, @paMainId, @ExInterViewID, @cpMainId, @cvMainID, @JobId, @caMainID, GETDATE()
  11839. END
  11840. INSERT INTO paPushLog(paMainID, PushMessage, PushType)
  11841. SELECT @paMainId, '亲,收到一份面试通知!', 2 WHERE EXISTS(SELECT 'X' FROM paIOSBind WHERE paMainID = @paMainId)
  11842. END TRY
  11843. BEGIN CATCH
  11844. END CATCH
  11845. --插入积分记录
  11846. BEGIN TRY
  11847. --插入积分记录
  11848. DECLARE @TodayPoint AS INT
  11849. DECLARE @TodayID AS INT
  11850. SET @TodayPoint = 0
  11851. SET @TodayID = 0
  11852. SELECT TOP 1 @TodayPoint = ISNULL(Point,0),@TodayID = ISNULL(ID,0) FROM cpPoint WITH(NOLOCK) WHERE changeID = 4 AND LastModifyDate > CONVERT(VARCHAR(10), GETDATE(),120) AND cpMainID = @cpMainID
  11853. --判断是否是应聘的简历
  11854. DECLARE @JobApplyID INT,@Reply INT
  11855. SELECT @JobApplyID = 0,@Reply = 0
  11856. SELECT @JobApplyID = ID,@Reply = Reply
  11857. FROM ExJobApply WITH(NOLOCK)
  11858. WHERE JobID = @JobID
  11859. AND CvMainID = @cvMainID
  11860. IF @JobApplyID = 0 --未应聘
  11861. BEGIN
  11862. SET @TodayPoint = @ReplyInterviewPoint
  11863. END
  11864. ELSE
  11865. BEGIN
  11866. IF @Reply = 0
  11867. BEGIN
  11868. UPDATE ExJobApply
  11869. SET Reply = 1
  11870. WHERE ID = @JobApplyID
  11871. SET @TodayPoint = @InterviewPoint
  11872. END
  11873. ELSE
  11874. BEGIN
  11875. SET @TodayPoint = @ReplyInterviewPoint
  11876. END
  11877. END
  11878. SET @TodayPoint = @TodayPoint + @ReplyInterviewPoint
  11879. IF @TodayPoint <= 50
  11880. BEGIN
  11881. IF @TodayID = 0
  11882. BEGIN
  11883. INSERT INTO cpPoint (cpMainID,ChangeID,Point,LastModifyDate) VALUES(@cpMainID,4,@TodayPoint,GETDATE())
  11884. END
  11885. ELSE
  11886. BEGIN
  11887. UPDATE cpPoint SET Point = Point + @TodayPoint,LastModifyDate = GETDATE() WHERE ID = @TodayID
  11888. END
  11889. END
  11890. END TRY
  11891. BEGIN CATCH
  11892. END CATCH
  11893. print ISNULL(@MsgCount, 0)
  11894. end
  11895. GO
  11896. /****** Object: StoredProcedure [dbo].[ProcUeoLogByOverViewSelect] Script Date: 2018/12/13 19:12:22 ******/
  11897. SET ANSI_NULLS ON
  11898. GO
  11899. SET QUOTED_IDENTIFIER ON
  11900. GO
  11901. CREATE PROCEDURE [dbo].[ProcUeoLogByOverViewSelect]
  11902. (
  11903. @IP VARCHAR(39),
  11904. @PageID INT
  11905. )
  11906. AS
  11907. SET NOCOUNT ON
  11908. IF EXISTS(SELECT TOP 1 'X' FROM logDb..UeoLogShort
  11909. WHERE PageID = @PageID
  11910. AND IP = @IP)
  11911. RETURN 1
  11912. ELSE
  11913. RETURN 0
  11914. SET NOCOUNT OFF
  11915. GO
  11916. /****** Object: StoredProcedure [dbo].[procUeoLogShortInsert] Script Date: 2018/12/13 19:12:23 ******/
  11917. SET ANSI_NULLS ON
  11918. GO
  11919. SET QUOTED_IDENTIFIER ON
  11920. GO
  11921. CREATE PROCEDURE [dbo].[procUeoLogShortInsert]
  11922. AS
  11923. SET NOCOUNT ON
  11924. BEGIN
  11925. TRUNCATE TABLE LogDb..UeoLogShort
  11926. INSERT INTO LogDb..UeoLogShort
  11927. SELECT IP, PageID, COUNT(1)
  11928. FROM logdb..UeoLog WITH(NOLOCK)
  11929. WHERE AddDate > DATEADD(mi, -10, GETDATE())
  11930. AND HasChecked = 0
  11931. GROUP BY IP, PageID
  11932. HAVING COUNT(1) > 5
  11933. END
  11934. SET NOCOUNT OFF
  11935. GO
  11936. /****** Object: StoredProcedure [dbo].[ProcUeoVerificationCodeInsert] Script Date: 2018/12/13 19:12:23 ******/
  11937. SET ANSI_NULLS ON
  11938. GO
  11939. SET QUOTED_IDENTIFIER ON
  11940. GO
  11941. CREATE PROCEDURE [dbo].[ProcUeoVerificationCodeInsert]
  11942. (
  11943. @IP VARCHAR(39)
  11944. )
  11945. AS
  11946. SET NOCOUNT ON
  11947. INSERT INTO logDb..UeoVerificationCode(IP) VALUES(@IP)
  11948. RETURN @@IDENTITY
  11949. GO
  11950. /****** Object: StoredProcedure [dbo].[ProcUeoVerificationCodeUpdate] Script Date: 2018/12/13 19:12:23 ******/
  11951. SET ANSI_NULLS ON
  11952. GO
  11953. SET QUOTED_IDENTIFIER ON
  11954. GO
  11955. CREATE PROCEDURE [dbo].[ProcUeoVerificationCodeUpdate]
  11956. (
  11957. @ID INT,
  11958. @Success BIT
  11959. )
  11960. AS
  11961. SET NOCOUNT ON
  11962. UPDATE logDb..UeoVerificationCode SET VerifyCount = ISNULL(VerifyCount, 0) + 1 WHERE ID = @ID
  11963. IF @Success = 1
  11964. BEGIN
  11965. UPDATE logDb..UeoVerificationCode SET VerifyDate = GETDATE() WHERE ID = @ID
  11966. UPDATE SynUeoLog SET HasChecked = 1 WHERE Ip = (SELECT IP FROM LogDb..UeoVerificationCode WHERE Id = @Id)
  11967. DELETE FROM logDb..UeoLogShort WHERE IP = (SELECT IP FROM LogDb..UeoVerificationCode WHERE Id = @Id)
  11968. END
  11969. SET NOCOUNT OFF
  11970. GO
  11971. /****** Object: StoredProcedure [dbo].[procUrl_click_logInsert] Script Date: 2018/12/13 19:12:23 ******/
  11972. SET ANSI_NULLS ON
  11973. GO
  11974. SET QUOTED_IDENTIFIER ON
  11975. GO
  11976. --创建人 Lambo 20101013
  11977. --用于首页记录点击记录
  11978. CREATE PROCEDURE [dbo].[procUrl_click_logInsert]
  11979. @id SMALLINT,
  11980. @ip VARCHAR(15)
  11981. AS
  11982. SET NOCOUNT ON
  11983. DECLARE @cnt SMALLINT
  11984. DECLARE @ip_repeat SMALLINT
  11985. SELECT @ip_repeat=ip_repeat FROM url WITH(NOLOCK) WHERE id=@id
  11986. SELECT @cnt=COUNT(1) FROM url_click_log WITH(NOLOCK)
  11987. WHERE ip=@ip AND url_id=@id AND adddate>GETDATE()-1
  11988. IF (@cnt=0 or @ip_repeat=2)
  11989. BEGIN
  11990. INSERT INTO url_click_log (url_id,ip)
  11991. VALUES(@id,@ip)
  11992. UPDATE url SET allclick=allclick+1,todayclick=todayclick+1 WHERE id=@id
  11993. END
  11994. SET NOCOUNT OFF
  11995. GO
  11996. /****** Object: StoredProcedure [dbo].[procUrlByIDSelect] Script Date: 2018/12/13 19:12:24 ******/
  11997. SET ANSI_NULLS ON
  11998. GO
  11999. SET QUOTED_IDENTIFIER ON
  12000. GO
  12001. --#####################################################
  12002. --创建时间:2014.11.04
  12003. --创建人:Nick
  12004. --说明:select url
  12005. --#####################################################
  12006. CREATE PROCEDURE [dbo].[procUrlByIDSelect]
  12007. (
  12008. @ID INT
  12009. )
  12010. AS
  12011. BEGIN TRY
  12012. SELECT url FROM url WITH(NOLOCK) WHERE id=@ID
  12013. END TRY
  12014. BEGIN CATCH
  12015. RETURN 0
  12016. END CATCH
  12017. GO
  12018. /****** Object: StoredProcedure [dbo].[ProcViInterviewRecordInsert] Script Date: 2018/12/13 19:12:24 ******/
  12019. SET ANSI_NULLS ON
  12020. GO
  12021. SET QUOTED_IDENTIFIER ON
  12022. GO
  12023. --#####################################################
  12024. --创建时间:2014.10.29
  12025. --创建人:John
  12026. --说明:个人申请进入面试室/企业邀请个人进入面试室
  12027. --#####################################################
  12028. CREATE PROCEDURE [dbo].[ProcViInterviewRecordInsert]
  12029. (
  12030. @viRoomId INT,
  12031. @JobID INT,
  12032. @CvMainID INT,
  12033. @ApplyType TINYINT
  12034. )
  12035. AS
  12036. BEGIN
  12037. INSERT INTO ViInterviewRecord(viRoomId, cvMainID, paMainID, JobId, ApplyDate, ApplyType)
  12038. SELECT @viRoomId, ID, paMainID, @JobId, GETDATE(), @ApplyType
  12039. FROM cvMain
  12040. WHERE ID = @cvMainID
  12041. END
  12042. GO
  12043. /****** Object: StoredProcedure [dbo].[ProcViInterviewRecordUpdate] Script Date: 2018/12/13 19:12:24 ******/
  12044. SET ANSI_NULLS ON
  12045. GO
  12046. SET QUOTED_IDENTIFIER ON
  12047. GO
  12048. --#####################################################
  12049. --创建时间:2014.10.29
  12050. --创建人:John
  12051. --说明:个人进入面试室更新时间
  12052. --#####################################################
  12053. CREATE PROCEDURE [dbo].[ProcViInterviewRecordUpdate]
  12054. (
  12055. @viRoomID INT,
  12056. @cvMainID INT
  12057. )
  12058. AS
  12059. BEGIN
  12060. UPDATE ViInterviewRecord
  12061. SET LastRefreshTime = GETDATE(), BeginDate = GETDATE()
  12062. WHERE viroomid = @viRoomID
  12063. AND cvMainID = @cvMainID
  12064. AND begindate IS NULL
  12065. AND ReplyResult = 1
  12066. END
  12067. GO
  12068. /****** Object: StoredProcedure [dbo].[ProcVIPlanByHomePageSelect] Script Date: 2018/12/13 19:12:24 ******/
  12069. SET ANSI_NULLS ON
  12070. GO
  12071. SET QUOTED_IDENTIFIER ON
  12072. GO
  12073. --#########################################
  12074. --lambo 2014-5-23
  12075. --用于首页和宣传页面 取正在面试的企业 如果数据不够再取有面试计划的企业
  12076. --#########################################
  12077. CREATE PROCEDURE [dbo].[ProcVIPlanByHomePageSelect]
  12078. (
  12079. @dcProvinceID INT,
  12080. @RecordCount INT
  12081. )
  12082. AS
  12083. BEGIN
  12084. BEGIN TRY
  12085. CREATE TABLE #T(
  12086. VIRoomID INT,
  12087. VIPlanID INT,
  12088. CpID VARCHAR(10),
  12089. CpMainID VARCHAR(10),
  12090. CompanyName NVARCHAR(50),
  12091. JobIDs VARCHAR(50),
  12092. JobNames NVARCHAR(200),
  12093. InterviewDate SMALLDATETIME
  12094. )
  12095. --取@RecordCount条正在面试的企业
  12096. INSERT INTO #T(VIRoomID, CpID, CpMainID, CompanyName)
  12097. SELECT TOP(@RecordCount) a.ID, c.ID, ISNULL(c.SecondID,c.ID), c.Name
  12098. FROM VIRoom a, caMain b, cpMain c
  12099. WHERE a.caMainID = b.id
  12100. AND b.cpMainID = c.ID
  12101. AND a.EndDate IS NULL
  12102. AND c.dcProvinceID LIKE LTRIM(STR(@dcProvinceID))+'%'
  12103. AND c.IsLimitLogin<>9
  12104. --如果不够@RecordCount条,从面试计划中补齐
  12105. DECLARE @CompanyCount INT
  12106. SELECT @CompanyCount = COUNT(*) FROM #T
  12107. INSERT INTO #T(VIPlanID, CpID, CpMainID, CompanyName, InterviewDate)
  12108. SELECT TOP(@RecordCount-@CompanyCount) a.ID, c.ID,ISNULL(c.SecondID,c.ID), c.Name, a.InterviewDate
  12109. FROM VIPlan a, caMain b, cpMain c
  12110. WHERE a.caMainID = b.id
  12111. AND b.cpMainID = c.ID
  12112. AND a.InterviewDate > GETDATE()
  12113. AND a.IsCancel = 0
  12114. AND c.dcProvinceID LIKE LTRIM(STR(@dcProvinceID))+'%'
  12115. AND c.IsLimitLogin<>9
  12116. ORDER BY InterviewDate
  12117. UPDATE a SET
  12118. JobIDs = STUFF(
  12119. (
  12120. SELECT TOP 3 ','+LTRIM(ISNULL(secondid,id))
  12121. FROM Job WITH(NOLOCK)
  12122. WHERE cpMainID = a.CpID
  12123. AND Valid = 1
  12124. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12125. FOR XML PATH('')
  12126. ),1,1,'')
  12127. ,
  12128. JobNames = STUFF(
  12129. (
  12130. SELECT TOP 3 ','+LTRIM(Name)
  12131. FROM Job WITH(NOLOCK)
  12132. WHERE cpMainID = a.CpID
  12133. AND Valid = 1
  12134. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12135. FOR XML PATH('')
  12136. ),1,1,'')
  12137. FROM #T a
  12138. SELECT * FROM #T ORDER BY CASE WHEN VIRoomID IS NULL THEN 1 ELSE 0 END,InterviewDate
  12139. DROP TABLE #T
  12140. END TRY
  12141. BEGIN CATCH
  12142. DROP TABLE #T
  12143. END CATCH
  12144. END
  12145. GO
  12146. /****** Object: StoredProcedure [dbo].[ProcViPlanByIDSelect] Script Date: 2018/12/13 19:12:25 ******/
  12147. SET ANSI_NULLS ON
  12148. GO
  12149. SET QUOTED_IDENTIFIER ON
  12150. GO
  12151. --#####################################################
  12152. --创建时间:2014.10.30
  12153. --创建人:John
  12154. --说明:获取面试计划数据
  12155. --#####################################################
  12156. CREATE PROCEDURE [dbo].[ProcViPlanByIDSelect]
  12157. (
  12158. @ID INT
  12159. )
  12160. AS
  12161. BEGIN
  12162. SELECT * FROM VIPlan WHERE id = @ID
  12163. END
  12164. GO
  12165. /****** Object: StoredProcedure [dbo].[ProcViPlanByRegionIDSelect] Script Date: 2018/12/13 19:12:25 ******/
  12166. SET ANSI_NULLS ON
  12167. GO
  12168. SET QUOTED_IDENTIFIER ON
  12169. GO
  12170. --#####################################################
  12171. --创建时间:2014.10.29
  12172. --创建人:John
  12173. --说明:根据区域位置获取该位置下所有面试计划
  12174. --#####################################################
  12175. CREATE PROCEDURE [dbo].[ProcViPlanByRegionIDSelect]
  12176. (
  12177. @RegionID VARCHAR(10),
  12178. @KeyWords VARCHAR(100)
  12179. )
  12180. AS
  12181. BEGIN
  12182. SELECT TOP 100 a.*,b.Name HrName,b.id caMainID,c.Name cpName,ISNULL(c.SecondID,c.ID) cpMainID,
  12183. STUFF(
  12184. (
  12185. SELECT TOP 3 ','+LTRIM(ISNULL(secondid,id))
  12186. FROM Job WITH(NOLOCK)
  12187. WHERE cpMainID = c.ID
  12188. AND Valid = 1
  12189. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12190. FOR XML PATH('')
  12191. ),1,1,''
  12192. ) JobIDs,
  12193. STUFF(
  12194. (
  12195. SELECT TOP 3 ','+LTRIM(Name)
  12196. FROM Job WITH(NOLOCK)
  12197. WHERE cpMainID = c.ID
  12198. AND Valid = 1
  12199. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12200. FOR XML PATH('')
  12201. ),1,1,''
  12202. ) JobNames
  12203. FROM ViPlan a LEFT JOIN caMain b ON b.ID = a.caMainID LEFT JOIN cpMain c ON c.ID = b.cpMainID
  12204. WHERE c.dcProvinceID LIKE @RegionID
  12205. AND c.Name LIKE @KeyWords
  12206. AND interviewdate > GETDATE()
  12207. And IsCancel = 0
  12208. AND c.IsLimitLogin <> 9
  12209. ORDER BY interviewdate DESC
  12210. END
  12211. GO
  12212. /****** Object: StoredProcedure [dbo].[ProcViPlanInviteInsert] Script Date: 2018/12/13 19:12:25 ******/
  12213. SET ANSI_NULLS ON
  12214. GO
  12215. SET QUOTED_IDENTIFIER ON
  12216. GO
  12217. --#####################################################
  12218. --创建时间:2014.10.29
  12219. --创建人:John
  12220. --说明:增加个人预约记录/企业邀请记录
  12221. --#####################################################
  12222. CREATE PROCEDURE [dbo].[ProcViPlanInviteInsert]
  12223. (
  12224. @VIPlanID INT,
  12225. @JobID INT,
  12226. @CvMainID INT,
  12227. @AddType BIT
  12228. )
  12229. AS
  12230. BEGIN
  12231. INSERT INTO ViPlanInviteLog(VIPlanID, JobID, CvMainID, AddType)
  12232. SELECT @VIPlanID, @JobID, @CvMainID, @AddType
  12233. END
  12234. GO
  12235. /****** Object: StoredProcedure [dbo].[ProcViRoomByRegionIDSelect] Script Date: 2018/12/13 19:12:26 ******/
  12236. SET ANSI_NULLS ON
  12237. GO
  12238. SET QUOTED_IDENTIFIER ON
  12239. GO
  12240. --#####################################################
  12241. --创建时间:2014.10.29
  12242. --创建人:John
  12243. --说明:根据区域位置获取该位置下所有面试室
  12244. --#####################################################
  12245. CREATE PROCEDURE [dbo].[ProcViRoomByRegionIDSelect]
  12246. (
  12247. @RegionID VARCHAR(10),
  12248. @KeyWords VARCHAR(100)
  12249. )
  12250. AS
  12251. BEGIN
  12252. SELECT TOP 100 a.*,b.Name HrName,b.id caMainID,c.Name cpName,IsNULL(c.SecondID,c.ID) cpMainID,
  12253. STUFF(
  12254. (
  12255. SELECT TOP 3 ','+LTRIM(ISNULL(secondid,id))
  12256. FROM Job WITH(NOLOCK)
  12257. WHERE cpMainID = c.ID
  12258. AND Valid = 1
  12259. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12260. FOR XML PATH('')
  12261. ),1,1,''
  12262. ) JobIDs,
  12263. STUFF(
  12264. (
  12265. SELECT TOP 3 ','+LTRIM(Name)
  12266. FROM Job WITH(NOLOCK)
  12267. WHERE cpMainID = c.ID
  12268. AND Valid = 1
  12269. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId),ID
  12270. FOR XML PATH('')
  12271. ),1,1,''
  12272. ) JobNames
  12273. FROM ViRoom a LEFT JOIN caMain b ON b.ID = a.caMainID LEFT JOIN cpMain c ON c.ID = b.cpMainID
  12274. WHERE c.dcProvinceID LIKE @RegionID
  12275. AND c.Name LIKE @KeyWords
  12276. AND EndDate IS NULL
  12277. AND c.IsLimitLogin <> 9
  12278. ORDER BY BeginDate DESC
  12279. END
  12280. GO
  12281. /****** Object: StoredProcedure [dbo].[ProcViRoomInsert] Script Date: 2018/12/13 19:12:26 ******/
  12282. SET ANSI_NULLS ON
  12283. GO
  12284. SET QUOTED_IDENTIFIER ON
  12285. GO
  12286. --#####################################################
  12287. --创建时间:2014.10.29
  12288. --创建人:John
  12289. --说明:企业创建房间
  12290. --#####################################################
  12291. CREATE PROCEDURE [dbo].[ProcViRoomInsert]
  12292. (
  12293. @caMainID INT,
  12294. @GUID VARCHAR(20)
  12295. )
  12296. AS
  12297. BEGIN
  12298. INSERT INTO viRoom(caMainID, LastRefreshTime, BeginDate, [GUID]) VALUES(@caMainID, GETDATE(), GETDATE(), @GUID)
  12299. END
  12300. GO
  12301. /****** Object: StoredProcedure [dbo].[ProcViRoomReplyResultUpdate] Script Date: 2018/12/13 19:12:26 ******/
  12302. SET ANSI_NULLS ON
  12303. GO
  12304. SET QUOTED_IDENTIFIER ON
  12305. GO
  12306. --#####################################################
  12307. --创建时间:2014.10.30
  12308. --创建人:John
  12309. --说明:修改邀请的答复状态
  12310. --#####################################################
  12311. CREATE PROCEDURE [dbo].[ProcViRoomReplyResultUpdate]
  12312. (
  12313. @ID INT,
  12314. @result INT,
  12315. @caMainID INT,
  12316. @paMainID INT
  12317. )
  12318. AS
  12319. BEGIN
  12320. DECLARE @SQL VARCHAR(1000)
  12321. SET @SQL = 'UPDATE viinterviewrecord SET ReplyDate = GETDATE(),ReplyResult = ' + CONVERT(VARCHAR(10), @result) + ' WHERE id = ' + CONVERT(VARCHAR(20), @ID)
  12322. IF(@caMainID > 0)
  12323. BEGIN
  12324. SET @SQL = @SQL + ' AND viRoomId IN (SELECT id FROM viroom WHERE camainid = '+ CONVERT(VARCHAR(20), @caMainID) + ')'
  12325. END
  12326. IF(@paMainID > 0)
  12327. BEGIN
  12328. SET @SQL = @SQL + ' AND paMainID = ' + CONVERT(VARCHAR(20), @paMainID)
  12329. END
  12330. EXEC(@SQL)
  12331. END
  12332. GO
  12333. /****** Object: StoredProcedure [dbo].[procVisitCountLogInsert] Script Date: 2018/12/13 19:12:26 ******/
  12334. SET ANSI_NULLS ON
  12335. GO
  12336. SET QUOTED_IDENTIFIER ON
  12337. GO
  12338. CREATE PROCEDURE [dbo].[procVisitCountLogInsert]
  12339. AS
  12340. SET NOCOUNT ON
  12341. BEGIN
  12342. INSERT INTO LogDb..VisitCountLog(IP, VisitCount)
  12343. SELECT IP, COUNT(1) FROM logdb..VisitLog GROUP BY IP HAVING COUNT(1) > 10
  12344. TRUNCATE TABLE LogDb..VisitLog
  12345. END
  12346. GO
  12347. /****** Object: StoredProcedure [dbo].[procVisitLogInsert] Script Date: 2018/12/13 19:12:26 ******/
  12348. SET ANSI_NULLS ON
  12349. GO
  12350. SET QUOTED_IDENTIFIER ON
  12351. GO
  12352. CREATE PROCEDURE [dbo].[procVisitLogInsert]
  12353. (
  12354. @IP VARCHAR(31)
  12355. )
  12356. AS
  12357. SET NOCOUNT ON
  12358. BEGIN
  12359. INSERT INTO logdb..VisitLog(IP) VALUES(@IP)
  12360. END
  12361. GO
  12362. /****** Object: StoredProcedure [dbo].[procvrExchangeByRecommendIDSelect] Script Date: 2018/12/13 19:12:27 ******/
  12363. SET ANSI_NULLS ON
  12364. GO
  12365. SET QUOTED_IDENTIFIER ON
  12366. GO
  12367. --#####################################################
  12368. --创建时间:2014.10.31
  12369. --创建人:Nick
  12370. --说明:得到兑换记录信息
  12371. --#####################################################
  12372. CREATE PROCEDURE [dbo].[procvrExchangeByRecommendIDSelect]
  12373. (
  12374. @RecommendID INT
  12375. )
  12376. AS
  12377. BEGIN TRY
  12378. SELECT a.*,b.GiftName
  12379. FROM marketDB..cvrExchange a WITH(NOLOCK),marketDB..cvrGift b WITH(NOLOCK)
  12380. WHERE a.cvrGift=b.ID
  12381. AND RecommendID=@RecommendID
  12382. ORDER BY a.ID DESC
  12383. END TRY
  12384. BEGIN CATCH
  12385. RETURN 0
  12386. END CATCH
  12387. GO
  12388. /****** Object: StoredProcedure [dbo].[procvrExchangeSelect] Script Date: 2018/12/13 19:12:27 ******/
  12389. SET ANSI_NULLS ON
  12390. GO
  12391. SET QUOTED_IDENTIFIER ON
  12392. GO
  12393. --#####################################################
  12394. --创建时间:2014.10.31
  12395. --创建人:Nick
  12396. --说明:得到兑换记录信息
  12397. --#####################################################
  12398. CREATE PROCEDURE [dbo].[procvrExchangeSelect]
  12399. AS
  12400. BEGIN TRY
  12401. SELECT TOP 20 a.ApplyTime,b.GiftName,c.Name paName,c.gender,c.ID
  12402. FROM marketDB..cvrExchange a with(nolock),marketDB..cvrGift b with(nolock),paMain c
  12403. WHERE a.cvrGift=b.ID
  12404. AND a.RecommendID=c.id
  12405. ORDER BY a.ID DESC
  12406. END TRY
  12407. BEGIN CATCH
  12408. RETURN 0
  12409. END CATCH
  12410. GO
  12411. /****** Object: StoredProcedure [dbo].[procvrGiftByIDSelect] Script Date: 2018/12/13 19:12:27 ******/
  12412. SET ANSI_NULLS ON
  12413. GO
  12414. SET QUOTED_IDENTIFIER ON
  12415. GO
  12416. --#####################################################
  12417. --创建时间:2014.10.31
  12418. --创建人:Nick
  12419. --说明:得到礼品的详细信息
  12420. --#####################################################
  12421. CREATE PROCEDURE [dbo].[procvrGiftByIDSelect]
  12422. (
  12423. @ID INT
  12424. )
  12425. AS
  12426. BEGIN TRY
  12427. SELECT * FROM marketdb..cvrGift WHERE isonline = 1 AND ID = @ID
  12428. END TRY
  12429. BEGIN CATCH
  12430. RETURN 0
  12431. END CATCH
  12432. GO
  12433. /****** Object: StoredProcedure [dbo].[proCvrGiftSelect] Script Date: 2018/12/13 19:12:27 ******/
  12434. SET ANSI_NULLS ON
  12435. GO
  12436. SET QUOTED_IDENTIFIER ON
  12437. GO
  12438. --#####################################################
  12439. --创建时间:2014.10.31
  12440. --创建人:Nick
  12441. --说明:获取礼品信息
  12442. --#####################################################
  12443. CREATE PROCEDURE [dbo].[proCvrGiftSelect]
  12444. AS
  12445. BEGIN TRY
  12446. SELECT * FROM marketdb..cvrGift WHERE isonline = 1 AND Remainder>0 ORDER BY Cost
  12447. END TRY
  12448. BEGIN CATCH
  12449. RETURN 0
  12450. END CATCH
  12451. GO
  12452. /****** Object: StoredProcedure [dbo].[procvrRecommendByIDSelect] Script Date: 2018/12/13 19:12:27 ******/
  12453. SET ANSI_NULLS ON
  12454. GO
  12455. SET QUOTED_IDENTIFIER ON
  12456. GO
  12457. --#####################################################
  12458. --创建时间:2014.10.31
  12459. --创建人:Nick
  12460. --说明:得到积分查询信息
  12461. --#####################################################
  12462. CREATE PROCEDURE [dbo].[procvrRecommendByIDSelect]
  12463. (
  12464. @ID INT
  12465. )
  12466. AS
  12467. BEGIN TRY
  12468. SELECT b.HasValid,b.mobile,HasReply,ReplyTime,b.DeductReason,p.id,p.name
  12469. FROM marketDb..cvrRecommend b WITH(NOLOCK),paMain p
  12470. WHERE b.UserID=p.id
  12471. AND b.RecommendID=@ID
  12472. ORDER BY b.id DESC
  12473. END TRY
  12474. BEGIN CATCH
  12475. RETURN 0
  12476. END CATCH
  12477. GO
  12478. /****** Object: StoredProcedure [dbo].[procvrRecommendRankingSelect] Script Date: 2018/12/13 19:12:28 ******/
  12479. SET ANSI_NULLS ON
  12480. GO
  12481. SET QUOTED_IDENTIFIER ON
  12482. GO
  12483. --#####################################################
  12484. --创建时间:2014.10.31
  12485. --创建人:Nick
  12486. --说明:推荐排行榜
  12487. --#####################################################
  12488. CREATE PROCEDURE [dbo].[procvrRecommendRankingSelect]
  12489. AS
  12490. BEGIN TRY
  12491. SELECT TOP 50 a.RecommendID,b.name,a.cnt,(
  12492. SELECT TOP 1 ReplyTime
  12493. FROM marketdb..cvrRecommend WITH(NOLOCK)
  12494. WHERE RecommendID=a.RecommendID
  12495. AND hasvalid = 3
  12496. AND HasReply=1
  12497. ORDER BY ReplyTime
  12498. ) ReplyTime,stuff((
  12499. SELECT TOP 4 ','+y.GiftName
  12500. FROM marketDB..cvrExchange x WITH(NOLOCK),marketDB..cvrGift y WITH(NOLOCK)
  12501. WHERE x.cvrGift=y.ID AND x.RecommendID=a.RecommendID And x.HasVerify =1
  12502. ORDER BY x.ID DESC for xml path('')),1,1,'') gifts
  12503. FROM (SELECT TOP 100 RecommendID,count(*) cnt
  12504. FROM marketdb..cvrRecommend WITH(NOLOCK)
  12505. WHERE hasvalid = 3
  12506. AND HasReply=1
  12507. GROUP BY RecommendID
  12508. ORDER BY cnt DESC) a,paMain b
  12509. WHERE a.RecommendID = b.id
  12510. END TRY
  12511. BEGIN CATCH
  12512. RETURN 0
  12513. END CATCH
  12514. GO
  12515. /****** Object: StoredProcedure [dbo].[ProcWebSafePaInfoInsert] Script Date: 2018/12/13 19:12:28 ******/
  12516. SET ANSI_NULLS ON
  12517. GO
  12518. SET QUOTED_IDENTIFIER ON
  12519. GO
  12520. CREATE PROCEDURE [dbo].[ProcWebSafePaInfoInsert]
  12521. AS
  12522. BEGIN
  12523. TRUNCATE TABLE ShortDb..WebSafePaInfoLog
  12524. SELECT Id, paMainId, ROW_NUMBER() OVER(PARTITION BY paMainId ORDER BY cvLevel DESC, ID DESC) RowNo
  12525. INTO #t
  12526. FROM cvMain
  12527. WHERE paMainId IN(SELECT Id FROM paMain WHERE AddDate > GETDATE() - 50 AND AddDate < GETDATE() - 10)
  12528. DELETE #t WHERE paMainId IN(SELECT User_Id FROM ShortDb..WebSafePaInfo)
  12529. INSERT INTO WebSafePaInfoLog(ICP_Code, DATA_TYPE, User_Id, User_Name, User_Password, STATUS, AddDate, Ip_Addr,
  12530. MAC_ADDR, MOBILE_IMEI, BIND_EMAIL, BIND_TEL, CONTACT_TEL, REAL_NAME, SEX, BIRTHDAY, CERTIFICATE_CODE,
  12531. PHOTO_FILE, RESUME_ID, DWELL_CITY, RESIDENCE, LIVE_CITY, JOB_CITY, JOB_POST, BLACKLIST, GRADUATE_SCHOOL,
  12532. GRADUATE_TIME, QUALIFICATION, MAJOR, LAST_COMPANY)
  12533. SELECT '10000013803693', 'JOB', a.ID, a.UserNameLower, a.Password, '新建', a.AddDate, LEFT(a.RegisterIp, 15),
  12534. '', '', a.Email, a.Mobile, a.Mobile, a.Name, a.Gender, a.BIRTHDAY, '',
  12535. '', b.Id, LivePlace, a.AccountPlace, a.GrowPlace, '', '', LEFT(a.HideConditions, 64), '',
  12536. '', '', '', ''
  12537. FROM paMain a, cvMain b
  12538. WHERE a.Id = b.paMainId
  12539. AND b.Id IN(SELECT Id FROM #t)
  12540. UPDATE WebSafePaInfoLog SET PhotoId = User_Id WHERE User_Id IN(SELECT paMainId FROM paPhoto)
  12541. UPDATE WebSafePaInfoLog SET PhotoPath = (PhotoId / 100000 + 1) * 100000
  12542. UPDATE WebSafePaInfoLog SET PhotoPath = '000' + PhotoPath WHERE PhotoId < 1000000
  12543. UPDATE WebSafePaInfoLog SET PhotoPath = '00' + PhotoPath WHERE PhotoId BETWEEN 1000000 AND 9999999
  12544. UPDATE WebSafePaInfoLog SET PhotoPath = '0' + PhotoPath WHERE PhotoId > 9999999
  12545. UPDATE WebSafePaInfoLog SET Photo_File = 'http://down.51rc.com/imagefolder/Photo/L' + PhotoPath + '/Processed/'
  12546. UPDATE a
  12547. SET a.Photo_File = 'http://down.51rc.com/imagefolder/Photo/L' + PhotoPath + '/Processed/' + b.PhotoProcessed
  12548. FROM WebSafePaInfoLog a, paPhoto b
  12549. WHERE a.User_Id = b.paMainId
  12550. UPDATE WebSafePaInfoLog SET CREATE_TIME = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), GETDATE(), 120), '-', ''), ' ', ''), ':', '')
  12551. UPDATE WebSafePaInfoLog
  12552. SET Ip_Addr = (SELECT TOP 1 LEFT(LoginIp, 15) FROM MainDb..paLoginLog b WHERE User_Id = b.paMainId ORDER BY ID DESC)
  12553. WHERE Ip_Addr not LIKE '%.%'
  12554. DELETE WebSafePaInfoLog WHERE Ip_Addr not LIKE '%.%'
  12555. UPDATE WebSafePaInfoLog SET SEX = '男' WHERE Sex = '0'
  12556. UPDATE WebSafePaInfoLog SET SEX = '女' WHERE Sex != '男'
  12557. UPDATE WebSafePaInfoLog SET BirthDay = LEFT(BirthDay, 6) + '15120000'
  12558. SELECT cvMainId, MAX(Id) ID, cvMainId JobId, SPACE(50) Region
  12559. INTO #t1
  12560. FROM MainDb..ExJobApply
  12561. GROUP BY cvMainId
  12562. UPDATE a
  12563. SET a.JobId = b.JobId
  12564. FROM #t1 a, MainDb..ExJobApply b
  12565. WHERE a.Id = b.Id
  12566. UPDATE a SET a.Region = c.Description
  12567. FROM #t1 a, MainDb..Job b, MainDb..dcRegion c
  12568. WHERE a.JobId = b.Id
  12569. AND b.dcRegionId = c.Id
  12570. UPDATE a
  12571. SET a.REGISTER_CITY = b.Region
  12572. FROM WebSafePaInfoLog a, #t1 b
  12573. WHERE a.Resume_Id = b.cvMainId
  12574. UPDATE a
  12575. SET a.DWELL_CITY = b.FullName
  12576. FROM WebSafePaInfoLog a, dcRegion b
  12577. WHERE a.DWELL_CITY = b.Id
  12578. UPDATE a
  12579. SET a.RESIDENCE = b.FullName
  12580. FROM WebSafePaInfoLog a, dcRegion b
  12581. WHERE a.RESIDENCE = b.Id
  12582. UPDATE a
  12583. SET a.LIVE_CITY = b.FullName
  12584. FROM WebSafePaInfoLog a, dcRegion b
  12585. WHERE a.LIVE_CITY = b.Id
  12586. SELECT cvMainId, dcRegionID, ROW_NUMBER() OVER(PARTITION BY cvMainId ORDER BY dcRegionId) RowNo
  12587. INTO #t2
  12588. FROM cvJobPlace
  12589. WHERE cvMainId IN(SELECT Resume_Id FROM WebSafePaInfoLog)
  12590. DELETE FROM #t2 WHERE RowNo > 1
  12591. UPDATE a
  12592. SET a.JOB_CITY = c.FullName
  12593. FROM WebSafePaInfoLog a, #t2 b, dcRegion c
  12594. WHERE a.Resume_Id = b.cvMainId
  12595. AND b.dcRegionId = c.ID
  12596. SELECT cvMainId, dcJobTypeID, ROW_NUMBER() OVER(PARTITION BY cvMainId ORDER BY dcJobTypeID) RowNo
  12597. INTO #t3
  12598. FROM cvJobType
  12599. WHERE cvMainId IN(SELECT Resume_Id FROM WebSafePaInfoLog)
  12600. DELETE FROM #t3 WHERE RowNo > 1
  12601. UPDATE a
  12602. SET a.JOB_Post= c.Description
  12603. FROM WebSafePaInfoLog a, #t3 b, dcJobType c
  12604. WHERE a.Resume_Id = b.cvMainId
  12605. AND b.dcJobTypeID = c.ID
  12606. UPDATE WebSafePaInfoLog SET BlackList = REPLACE(BlackList, '<>', '|') WHERE BlackList > ''
  12607. UPDATE WebSafePaInfoLog SET BlackList = REPLACE(REPLACE(BlackList, '<', ''), '>', '') WHERE BlackList > ''
  12608. SELECT cvMainId, GraduateCollage, Graduation, MajorName, Degree, SPACE(10) DegreeText,
  12609. ROW_NUMBER() OVER(PARTITION BY cvMainId ORDER BY Degree DESC) RowNo
  12610. INTO #t4
  12611. FROM cvEducation
  12612. WHERE cvMainId IN(SELECT Id FROM #t)
  12613. UPDATE #t4 SET DegreeText = (SELECT Description FROM dcEducation WHERE Id = Degree)
  12614. DELETE #t4 WHERE RowNo > 1
  12615. UPDATE a
  12616. SET a.GRADUATE_SCHOOL = b.GraduateCollage,
  12617. a.GRADUATE_TIME = LEFT(Graduation, 4),
  12618. a.QUALIFICATION = b.DegreeText,
  12619. a.Major = b.MajorName
  12620. FROM WebSafePaInfoLog a, #t4 b
  12621. WHERE a.Resume_Id = b.cvMainId
  12622. SELECT cvMainId, CompanyName,
  12623. ROW_NUMBER() OVER(PARTITION BY cvMainId ORDER BY BeginDate DESC) RowNo
  12624. INTO #t5
  12625. FROM cvExperience
  12626. WHERE cvMainId IN(SELECT Id FROM #t)
  12627. DELETE #t5 WHERE RowNo > 1
  12628. UPDATE a
  12629. SET a.LAST_COMPANY = b.CompanyName
  12630. FROM WebSafePaInfoLog a, #t5 b
  12631. WHERE a.Resume_Id = b.cvMainId
  12632. UPDATE WebSafePaInfoLog SET Ip_Addr = LEFT(Ip_Addr, CHARINDEX(',', Ip_Addr) - 1) WHERE Ip_Addr LIKE '%,%'
  12633. UPDATE WebSafePaInfoLog SET Ip_Addr = '101.41.69.195' WHERE Ip_Addr LIKE '%101.41.69.195%'
  12634. UPDATE WebSafePaInfoLog SET Ip_Addr = '58.14.0.0' WHERE Ip_Addr LIKE '%58.14.0.0%'
  12635. UPDATE WebSafePaInfoLog SET Ip_Addr = '117.136.5.11' WHERE Ip_Addr LIKE '辽宁 117.136.5.11'
  12636. UPDATE WebSafePaInfoLog SET Ip_Addr = REPLACE(Ip_Addr, '#', '') WHERE Ip_Addr LIKE '%#%'
  12637. UPDATE WebSafePaInfoLog SET Ip1 = LEFT(Ip_Addr, CHARINDEX('.', Ip_Addr) - 1) WHERE CHARINDEX('.', Ip_Addr) > 1
  12638. UPDATE WebSafePaInfoLog SET Ip_Addr = RIGHT(Ip_Addr, LEN(Ip_Addr) - LEN(Ip1) -1)
  12639. UPDATE WebSafePaInfoLog SET Ip2 = LEFT(Ip_Addr, CHARINDEX('.', Ip_Addr) - 1) WHERE CHARINDEX('.', Ip_Addr) > 1
  12640. UPDATE WebSafePaInfoLog SET Ip_Addr = RIGHT(Ip_Addr, LEN(Ip_Addr) - LEN(Ip2) -1)
  12641. UPDATE WebSafePaInfoLog SET Ip3 = LEFT(Ip_Addr, CHARINDEX('.', Ip_Addr) - 1) WHERE CHARINDEX('.', Ip_Addr) > 1
  12642. UPDATE WebSafePaInfoLog SET Ip_Addr = RIGHT(Ip_Addr, LEN(Ip_Addr) - LEN(Ip3) -1)
  12643. UPDATE WebSafePaInfolog SET Ip_Addr = '255' WHERE Ip_Addr LIKE '%.%'
  12644. UPDATE WebSafePaInfoLog SET Ip4 = Ip_Addr
  12645. UPDATE WebSafePaInfoLog SET IpINT = Ip1
  12646. UPDATE WebSafePaInfoLog SET Ip_Addr = IpINT * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4
  12647. DELETE WebSafePaInfoLog WHERE Ip1 IS NULL
  12648. UPDATE WebSafePaInfoLog SET Ip2 = 0 WHERE Ip2 IS NULL
  12649. UPDATE WebSafePaInfoLog SET Ip3 = 0 WHERE Ip3 IS NULL
  12650. UPDATE WebSafePaInfoLog SET Ip4 = 0 WHERE Ip4 IS NULL
  12651. UPDATE WebSafePaInfoLog SET Ip_Addr = IpINT * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4
  12652. WHERE Ip_Addr IS NULL
  12653. DELETE WebSafePaInfoLog WHERE Ip_Addr IS NULL
  12654. DELETE WebSafePaInfoLog WHERE Ip_Addr = '0'
  12655. INSERT INTO WebSafePaInfo(ICP_CODE, DATA_TYPE, USER_ID, USER_NAME, USER_PASSWORD, STATUS, CREATE_TIME,
  12656. IP_ADDR, MAC_ADDR, MOBILE_IMEI, BIND_EMAIL, BIND_TEL, CONTACT_TEL, REAL_NAME, SEX, BIRTHDAY,
  12657. CERTIFICATE_CODE, PHOTO_FILE, RESUME_ID, REGISTER_CITY, DWELL_CITY, RESIDENCE, LIVE_CITY, JOB_CITY,
  12658. JOB_POST, BLACKLIST, GRADUATE_SCHOOL, GRADUATE_TIME, QUALIFICATION, MAJOR, LAST_COMPANY, AddDate)
  12659. SELECT ICP_CODE, DATA_TYPE, USER_ID, USER_NAME, USER_PASSWORD, STATUS, CREATE_TIME,
  12660. IP_ADDR, MAC_ADDR, MOBILE_IMEI, BIND_EMAIL, BIND_TEL, CONTACT_TEL, REAL_NAME, SEX, BIRTHDAY,
  12661. CERTIFICATE_CODE, PHOTO_FILE, RESUME_ID, REGISTER_CITY, DWELL_CITY, RESIDENCE, LIVE_CITY, JOB_CITY,
  12662. JOB_POST, BLACKLIST, GRADUATE_SCHOOL, GRADUATE_TIME, QUALIFICATION, MAJOR, LAST_COMPANY, GETDATE()
  12663. FROM WebSafePaInfoLog
  12664. END
  12665. GO
  12666. /****** Object: StoredProcedure [dbo].[procWebSiteMonitorByIDUpdate] Script Date: 2018/12/13 19:12:28 ******/
  12667. SET ANSI_NULLS ON
  12668. GO
  12669. SET QUOTED_IDENTIFIER ON
  12670. GO
  12671. CREATE proc [dbo].[procWebSiteMonitorByIDUpdate]
  12672. (
  12673. @Id int
  12674. )
  12675. as
  12676. return
  12677. GO
  12678. /****** Object: StoredProcedure [dbo].[ProcWebVisitLogInsert] Script Date: 2018/12/13 19:12:28 ******/
  12679. SET ANSI_NULLS ON
  12680. GO
  12681. SET QUOTED_IDENTIFIER ON
  12682. GO
  12683. create PROCEDURE [dbo].[ProcWebVisitLogInsert]
  12684. (
  12685. @VisitId INT,
  12686. @VisitType INT
  12687. )
  12688. AS
  12689. SET NOCOUNT ON
  12690. BEGIN
  12691. INSERT INTO WebVisitLog(VisitId, VisitType, AddDate) SELECT @VisitId, @VisitType, GETDATE()
  12692. END
  12693. GO
  12694. /****** Object: StoredProcedure [dbo].[ProcWenWenProcess] Script Date: 2018/12/13 19:12:29 ******/
  12695. SET ANSI_NULLS ON
  12696. GO
  12697. SET QUOTED_IDENTIFIER ON
  12698. GO
  12699. CREATE PROCEDURE [dbo].[ProcWenWenProcess]
  12700. AS
  12701. BEGIN
  12702. UPDATE Marketdb..WenWenAnswer SET AnswerKeyWord='伍亿人才网' WHERE CHARINDEX('伍亿人才网',Answer)>0 AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12703. UPDATE Marketdb..WenWenAnswer SET IsLink=1 WHERE CHARINDEX('www.51rc.com',Lower(Answer))>0 AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12704. UPDATE a SET AnswerKeyWord=ISNULL(AnswerKeyWord,'')+','+b.SubSiteName FROM Marketdb..WenWenAnswer a,(
  12705. SELECT (SELECT TOP 1 SubSiteName FROM dcSubSite WHERE CHARINDEX(SubSiteName,f.Answer)>0 AND IsMainSite=1) SubSiteName,ID
  12706. FROM Marketdb..WenWenAnswer f WHERE EXISTS(SELECT 'x' FROM dcSubSite b WHERE CHARINDEX(SubSiteName ,f.Answer)>0 AND IsMainSite=1)
  12707. ) b
  12708. WHERE a.ID=b.ID AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12709. UPDATE Marketdb..WenWenAnswer SET AnswerKeyWord = RIGHT(AnswerKeyWord,LEN(AnswerKeyWord)-1) WHERE LEN(AnswerKeyWord)>0 AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12710. UPDATE a SET IsLink=1 FROM Marketdb..WenWenAnswer a,(
  12711. SELECT (SELECT TOP 1 Replace(SubSiteUrl,'www.','') FROM dcSubSite WHERE CHARINDEX(Replace(SubSiteUrl,'www.',''),f.Answer)>0 AND IsMainSite=1) ProvinceDomain,ID
  12712. FROM Marketdb..WenWenAnswer f WHERE EXISTS(SELECT 'x' FROM dcSubSite b WHERE CHARINDEX(Replace(SubSiteUrl,'www.','') ,f.Answer)>0)
  12713. ) b
  12714. WHERE a.ID=b.ID AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12715. UPDATE Marketdb..WenWenAnswer SET IsValid=0 WHERE AnswerKeyWord IS NULL AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120)
  12716. UPDATE a SET IsValid=0 FROM Marketdb..WenWenAnswer a WHERE
  12717. NOT EXISTS(SELECT b.a FROM dbo.FnSplit(a.AnswerKeyWord,',') b WHERE b.a IN(
  12718. SELECT d.SubSiteName FROM dbo.FnSplit(a.dcProvinceID,',') c,dcSubSite d WHERE c.a=d.ID
  12719. )) AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120) AND a.AnswerKeyWord<>'伍亿人才网' AND LEN(a.dcProvinceID)>0
  12720. UPDATE Marketdb..WenWenAnswer SET IsValid=0 WHERE AnswerKeyWord='伍亿人才网' AND LEN(dcProvinceID)>0
  12721. UPDATE Marketdb..WenWenAnswer SET IsValid=0 WHERE
  12722. (SELECT Type FROM WorkDate WITH(NOLOCK) WHERE WorkDate = CONVERT(VARCHAR(8), AnswerDate, 112))=1
  12723. AND AnswerDate>CONVERT(VARCHAR(10), AnswerDate, 120)+' 7:00' AND AnswerDate<CONVERT(VARCHAR(10), AnswerDate, 120)+' 18:00'
  12724. AND CheckDate>CONVERT(VARCHAR(10),GETDATE(),120) AND LEN(dcProvinceID)>0
  12725. END
  12726. GO
  12727. /****** Object: StoredProcedure [dbo].[procWishWallByCpMainIDSelect] Script Date: 2018/12/13 19:12:29 ******/
  12728. SET ANSI_NULLS ON
  12729. GO
  12730. SET QUOTED_IDENTIFIER ON
  12731. GO
  12732. CREATE PROCEDURE [dbo].[procWishWallByCpMainIDSelect]
  12733. (
  12734. @cpMainID INT
  12735. )
  12736. AS
  12737. SET NOCOUNT OFF
  12738. BEGIN
  12739. SELECT * FROM ShortDB..WishWall WITH(NOLOCK)
  12740. WHERE cpMainID = @cpMainID
  12741. END
  12742. SET NOCOUNT ON
  12743. GO
  12744. /****** Object: StoredProcedure [dbo].[procWishWallInsert] Script Date: 2018/12/13 19:12:29 ******/
  12745. SET ANSI_NULLS ON
  12746. GO
  12747. SET QUOTED_IDENTIFIER ON
  12748. GO
  12749. CREATE PROCEDURE [dbo].[procWishWallInsert]
  12750. (
  12751. @cpMainID INT,
  12752. @Content NVARCHAR(30)
  12753. )
  12754. AS
  12755. SET NOCOUNT OFF
  12756. BEGIN
  12757. DECLARE @GiftType TINYINT
  12758. SET @GiftType = ROUND((6 * RAND() + 1), 0)
  12759. IF EXISTS(SELECT 'X' FROM ShortDB..WishWall WITH(NOLOCK) WHERE cpMainID = @cpMainID)
  12760. RETURN 0
  12761. INSERT INTO ShortDB..WishWall(cpMainID, WishContent, GiftType) VALUES(@cpMainID, @Content, @GiftType)
  12762. IF @GiftType < 4
  12763. BEGIN
  12764. DECLARE @Balance INT, @Coin INT
  12765. SELECT TOP 1 @Balance = Balance FROM cpCoin WHERE cpMainID = @cpMainID ORDER BY ID DESC
  12766. IF @GiftType = 1
  12767. SET @Coin = 10
  12768. ELSE IF @GiftType = 2
  12769. SET @Coin = 20
  12770. ELSE IF @GiftType = 3
  12771. SET @Coin = 30
  12772. SET @Balance = ISNULL(@Balance, 0) + @Coin
  12773. INSERT INTO cpCoin(cpMainID, caOrderID, Coin, Balance, AddDate)
  12774. VALUES(@cpMainID, 0, @Coin, @Balance, GETDATE())
  12775. END
  12776. ELSE
  12777. BEGIN
  12778. DECLARE @Point INT
  12779. IF @GiftType = 4
  12780. SET @Point = 200
  12781. ELSE IF @GiftType = 5
  12782. SET @Point = 500
  12783. ELSE IF @GiftType = 6
  12784. SET @Point = 800
  12785. ELSE IF @GiftType = 7
  12786. SET @Point = 1000
  12787. INSERT INTO cpPoint(cpMainID, ChangeID, Point, Remark, LastModifyDate)
  12788. VALUES(@cpMainID, 18, @Point, '送祝福得积分', GETDATE())
  12789. END
  12790. RETURN @GiftType
  12791. END
  12792. SET NOCOUNT ON
  12793. GO
  12794. /****** Object: StoredProcedure [dbo].[procWishWallSelect] Script Date: 2018/12/13 19:12:29 ******/
  12795. SET ANSI_NULLS ON
  12796. GO
  12797. SET QUOTED_IDENTIFIER ON
  12798. GO
  12799. CREATE PROCEDURE [dbo].[procWishWallSelect]
  12800. AS
  12801. SET NOCOUNT OFF
  12802. BEGIN
  12803. SELECT TOP 60 a.*, b.Name CompanyName FROM ShortDB..WishWall a WITH(NOLOCK), cpMain b WITH(NOLOCK)
  12804. WHERE a.cpMainID = b.ID AND a.Valid = 1 ORDER BY a.ID DESC
  12805. END
  12806. SET NOCOUNT ON
  12807. GO
  12808. /****** Object: StoredProcedure [dbo].[procWishWallUpdate] Script Date: 2018/12/13 19:12:30 ******/
  12809. SET ANSI_NULLS ON
  12810. GO
  12811. SET QUOTED_IDENTIFIER ON
  12812. GO
  12813. CREATE PROCEDURE [dbo].[procWishWallUpdate]
  12814. (
  12815. @PassId VARCHAR(MAX),
  12816. @NoPassId VARCHAR(MAX)
  12817. )
  12818. AS
  12819. SET NOCOUNT ON
  12820. BEGIN
  12821. SET @PassId = dbo.SafeSQL(@PassId)
  12822. SET @NoPassId = dbo.SafeSQL(@NoPassId)
  12823. UPDATE shortdb..WishWall SET Valid = 1
  12824. WHERE ID IN(SELECT a FROM dbo.FnSplit(@PassId, ','))
  12825. UPDATE shortdb..WishWall SET Valid = 0
  12826. WHERE ID IN(SELECT a FROM dbo.FnSplit(@NoPassId, ','))
  12827. END
  12828. GO
  12829. /****** Object: StoredProcedure [dbo].[procWxAttenTionDelete] Script Date: 2018/12/13 19:12:30 ******/
  12830. SET ANSI_NULLS ON
  12831. GO
  12832. SET QUOTED_IDENTIFIER ON
  12833. GO
  12834. --#####################################################
  12835. --创建时间:2015.01.26
  12836. --创建人:Nick
  12837. --说明:删除WxAttenTion临时表
  12838. --#####################################################
  12839. CREATE PROCEDURE [dbo].[procWxAttenTionDelete]
  12840. AS
  12841. BEGIN
  12842. DELETE FROM WxAttenTion
  12843. END
  12844. GO
  12845. /****** Object: StoredProcedure [dbo].[procWxAttenTionUpdate] Script Date: 2018/12/13 19:12:31 ******/
  12846. SET ANSI_NULLS ON
  12847. GO
  12848. SET QUOTED_IDENTIFIER ON
  12849. GO
  12850. --#####################################################
  12851. --创建时间:2015.01.26
  12852. --创建人:Nick
  12853. --说明:更新WxAttenTion临时表
  12854. --#####################################################
  12855. CREATE PROCEDURE [dbo].[procWxAttenTionUpdate]
  12856. (
  12857. @WxServiceNo INT,
  12858. @OpenIDs VARCHAR(MAX)
  12859. )
  12860. AS
  12861. BEGIN
  12862. INSERT INTO WxAttention
  12863. SELECT @WxServiceNo,*,GETDATE() FROM dbo.fnsplit(@OpenIDs,',')
  12864. END
  12865. GO
  12866. /****** Object: StoredProcedure [dbo].[procWxFansByCaMainIDSelect] Script Date: 2018/12/13 19:12:31 ******/
  12867. SET ANSI_NULLS ON
  12868. GO
  12869. SET QUOTED_IDENTIFIER ON
  12870. GO
  12871. --#####################################################
  12872. --创建时间:2016.4.15
  12873. --创建人:Lucifer
  12874. --说明:查询企业账户是否已绑定微信
  12875. --#####################################################
  12876. CREATE PROCEDURE [dbo].[procWxFansByCaMainIDSelect]
  12877. (
  12878. @CaMainID INT
  12879. )
  12880. AS
  12881. BEGIN
  12882. SET NOCOUNT ON
  12883. SELECT * FROM MainDB..WxFans WITH(NOLOCK) WHERE CaMainID = @CaMainID AND caBindCancelDate IS NULL
  12884. SET NOCOUNT OFF
  12885. END
  12886. GO
  12887. /****** Object: StoredProcedure [dbo].[procWxFansByPaMainIDSelect] Script Date: 2018/12/13 19:12:31 ******/
  12888. SET ANSI_NULLS ON
  12889. GO
  12890. SET QUOTED_IDENTIFIER ON
  12891. GO
  12892. --#####################################################
  12893. --创建时间:2015.2.2
  12894. --创建人:John
  12895. --说明:查询个人账户是否已绑定微信
  12896. --#####################################################
  12897. CREATE PROCEDURE [dbo].[procWxFansByPaMainIDSelect]
  12898. (
  12899. @PaMainID INT
  12900. )
  12901. AS
  12902. BEGIN
  12903. SET NOCOUNT ON
  12904. SELECT * FROM MainDB..WxFans WHERE PaMainID = @PaMainID AND Status = 2
  12905. SET NOCOUNT OFF
  12906. END
  12907. GO
  12908. /****** Object: StoredProcedure [dbo].[procWxFunsByStatusUpdate] Script Date: 2018/12/13 19:12:31 ******/
  12909. SET ANSI_NULLS ON
  12910. GO
  12911. SET QUOTED_IDENTIFIER ON
  12912. GO
  12913. --#####################################################
  12914. --创建时间:2015.01.26
  12915. --创建人:Nick
  12916. --说明:更新用户关注状态
  12917. --#####################################################
  12918. CREATE PROCEDURE [dbo].[procWxFunsByStatusUpdate]
  12919. AS
  12920. BEGIN
  12921. --将取消关注的用户加入操作日志
  12922. INSERT INTO WxMessageReceive
  12923. SELECT ID, GETDATE(), '取消关注', 6
  12924. FROM WxFans
  12925. WHERE Status <> 0 AND OpenID NOT IN (
  12926. SELECT Rtrim(Ltrim(OpenID)) FROM WxAttenTion
  12927. )
  12928. --更新用户的关注状态
  12929. SELECT Status, OpenId INTO #t FROM WxFans WHERE Status <> 0
  12930. DELETE #t WHERE OpenID In(SELECT Rtrim(Ltrim(OpenID)) FROM WxAttenTion) AND Status <> 0
  12931. UPDATE WxFans SET Status=0, AttentionCancelDate = GETDATE()
  12932. WHERE OpenID In(SELECT OpenID FROM #t) AND Status <> 0
  12933. --UPDATE WxFans SET Status=0, AttentionCancelDate = GETDATE()
  12934. --WHERE OpenID Not In(SELECT Rtrim(Ltrim(OpenID)) FROM WxAttenTion)
  12935. --AND Status <> 0
  12936. --更新用户的关注状态
  12937. --UPDATE WxFans SET Status=1,AttentionDate=GETDATE() WHERE OpenID In(SELECT Ltrim(OpenID) FROM WxAttenTion) AND Status = 0
  12938. UPDATE a SET a.Status=1,a.AttentionDate=GETDATE(),a.WxServiceNoID = b.WxServiceNoID
  12939. FROM WxFans a,WxAttenTion b
  12940. WHERE a.OpenID = Rtrim(Ltrim(b.OpenID))
  12941. AND a.Status = 0
  12942. --将关注用户插入数据表
  12943. INSERT INTO WxFans (OpenID,AttentionDate,Status,WxServiceNoID)
  12944. SELECT Ltrim(OpenID),getdate(),1,WxServiceNoID
  12945. FROM WxAttenTion
  12946. WHERE Rtrim(Ltrim(OpenID)) NOT IN (SELECT OpenID FROM WxFans)
  12947. END
  12948. GO
  12949. /****** Object: StoredProcedure [dbo].[procWXLocationByOpenIDSelect] Script Date: 2018/12/13 19:12:31 ******/
  12950. SET ANSI_NULLS ON
  12951. GO
  12952. SET QUOTED_IDENTIFIER ON
  12953. GO
  12954. --#####################################################
  12955. --创建时间:2014.11.11
  12956. --创建人:NICK
  12957. --说明:绑定微信的openid
  12958. --#####################################################
  12959. CREATE PROCEDURE [dbo].[procWXLocationByOpenIDSelect]
  12960. (
  12961. @OpenID VARCHAR(100)
  12962. )
  12963. AS
  12964. BEGIN
  12965. SELECT TOP 1 *
  12966. FROM WXLocation
  12967. WHERE openid=@OpenID
  12968. AND adddate>DATEADD(hour,-1,getdate())
  12969. ORDER BY id DESC
  12970. END
  12971. GO
  12972. /****** Object: StoredProcedure [dbo].[procWXLocationInsert] Script Date: 2018/12/13 19:12:32 ******/
  12973. SET ANSI_NULLS ON
  12974. GO
  12975. SET QUOTED_IDENTIFIER ON
  12976. GO
  12977. --#####################################################
  12978. --创建时间:2014.11.11
  12979. --创建人:NICK
  12980. --说明:增加关注着的微信位置
  12981. --#####################################################
  12982. CREATE PROCEDURE [dbo].[procWXLocationInsert]
  12983. (
  12984. @OpenId VARCHAR(100),
  12985. @lng VARCHAR(20),
  12986. @lat VARCHAR(20)
  12987. )
  12988. AS
  12989. BEGIN
  12990. IF NOT EXISTS(SELECT 'x' FROM WXLocation WITH(NOLOCK) WHERE OpenId = @OpenId AND AddDate > DATEADD(MINUTE, -120, GETDATE()))
  12991. INSERT INTO WXLocation(OpenId, lng, lat) SELECT @OpenId, @lng, @lat
  12992. RETURN 1
  12993. END
  12994. GO
  12995. /****** Object: StoredProcedure [dbo].[procwxMessageByFromUserNameSelect] Script Date: 2018/12/13 19:12:32 ******/
  12996. SET ANSI_NULLS ON
  12997. GO
  12998. SET QUOTED_IDENTIFIER ON
  12999. GO
  13000. --#####################################################
  13001. --创建时间:2014.11.10
  13002. --创建人:Nick
  13003. --说明:获取wxMessage的内容
  13004. --#####################################################
  13005. CREATE PROCEDURE [dbo].[procwxMessageByFromUserNameSelect]
  13006. (
  13007. @FromUserName VARCHAR(100),
  13008. @type VARCHAR(10)
  13009. )
  13010. AS
  13011. BEGIN
  13012. IF @type = '11'
  13013. BEGIN
  13014. SELECT * FROM wxMessage WITH(NOLOCK) WHERE FromUserName=@FromUserName and Content ='推荐职位'
  13015. END
  13016. ELSE
  13017. BEGIN
  13018. SELECT * FROM wxMessage WITH(NOLOCK) WHERE FromUserName=@FromUserName and Content <>'推荐职位'
  13019. END
  13020. END
  13021. GO
  13022. /****** Object: StoredProcedure [dbo].[procwxMessageByNameSelect] Script Date: 2018/12/13 19:12:32 ******/
  13023. SET ANSI_NULLS ON
  13024. GO
  13025. SET QUOTED_IDENTIFIER ON
  13026. GO
  13027. --#####################################################
  13028. --创建时间:2014.11.10
  13029. --创建人:Nick
  13030. --说明:获取wxMessage的内容
  13031. --#####################################################
  13032. CREATE PROCEDURE [dbo].[procwxMessageByNameSelect]
  13033. (
  13034. @FromUserName VARCHAR(100)
  13035. )
  13036. AS
  13037. BEGIN
  13038. SELECT * FROM wxMessage WITH(NOLOCK) WHERE FromUserName=@FromUserName
  13039. END
  13040. GO
  13041. /****** Object: StoredProcedure [dbo].[procWxMessageReceiveInsert] Script Date: 2018/12/13 19:12:32 ******/
  13042. SET ANSI_NULLS ON
  13043. GO
  13044. SET QUOTED_IDENTIFIER ON
  13045. GO
  13046. --#####################################################
  13047. --创建时间:2015.01.30
  13048. --创建人:Nick
  13049. --说明:记录粉丝操作日志
  13050. --修改harry2017-4-17 增加企业绑定,取消时200积分
  13051. --#####################################################
  13052. CREATE PROCEDURE [dbo].[procWxMessageReceiveInsert]
  13053. (
  13054. @OpenID VARCHAR(100),
  13055. @LogType INT,
  13056. @ProvinceID INT,
  13057. @Message VARCHAR(200),
  13058. @PaMainID INT
  13059. )
  13060. AS
  13061. SET NOCOUNT ON
  13062. BEGIN
  13063. DECLARE @WxServiceNoID INT
  13064. --根据省份得到服务号id
  13065. SELECT TOP 1 @WxServiceNoID = ID FROM WxServiceNO WHERE ProvinceID = @ProvinceID
  13066. DECLARE @WxFansID INT
  13067. SELECT TOP 1 @WxFansID = ID FROM WxFans WHERE OpenID = @OpenID
  13068. IF @WxFansID IS NULL
  13069. BEGIN
  13070. --插入粉丝表
  13071. INSERT INTO WxFans(OpenID, AttentionDate, Status, WxServiceNoID, paMainId)
  13072. VALUES (@OpenID,GETDATE(),1,@WxServiceNoID, Null)
  13073. SELECT @WxFansID = @@IDENTITY
  13074. END
  13075. DECLARE @Content VARCHAR(50)
  13076. IF @LogType = 1 --关注
  13077. BEGIN
  13078. --更新粉丝表
  13079. UPDATE WxFans SET Status = 1,AttentionDate = GETDATE(),WxServiceNoID = @WxServiceNoID
  13080. WHERE ID = @WxFansID
  13081. SET @Content = '关注'
  13082. END
  13083. ELSE IF @LogType = 2 --取消关注
  13084. BEGIN
  13085. --更新粉丝表
  13086. UPDATE WxFans SET Status = 0,AttentionCancelDate=GETDATE() WHERE ID = @WxFansID
  13087. --删除 palogincontact
  13088. DELETE FROM PaLoginContact where OpenID = @OpenID AND ContactType=4
  13089. SET @Content = '取消关注'
  13090. END
  13091. ELSE IF @LogType = 3 --发送文本
  13092. BEGIN
  13093. --更新粉丝表最后发送消息
  13094. UPDATE WxFans SET LastSendMessage = @Message WHERE ID = @WxFansID
  13095. SET @Content = '发送文本'
  13096. END
  13097. ELSE IF @LogType = 4 --定位
  13098. BEGIN
  13099. SET @Content = '发送地理位置'
  13100. END
  13101. ELSE IF @LogType = 5 --菜单
  13102. BEGIN
  13103. SET @Content = '点击菜单'
  13104. END
  13105. ELSE IF @LogType = 6 --点击链接
  13106. BEGIN
  13107. SET @Content = '点击链接'
  13108. END
  13109. ELSE IF @LogType = 7
  13110. BEGIN
  13111. --更新粉丝表
  13112. IF @PaMainID = 0
  13113. UPDATE WxFans SET Status = 2, PaMainID = NULL WHERE ID = @WxFansID
  13114. ELSE
  13115. UPDATE WxFans SET Status = 2, PaMainID = @PaMainID WHERE ID = @WxFansID
  13116. SET @Content = '绑定个人账号'
  13117. END
  13118. ELSE IF @LogType = 8
  13119. BEGIN
  13120. --更新粉丝表
  13121. UPDATE WxFans SET Status = 1 WHERE ID = @WxFansID
  13122. --删除 palogincontact
  13123. DELETE FROM PaLoginContact where OpenID =@OpenID AND ContactType=4
  13124. SET @Content = '取消绑定个人账号'
  13125. END
  13126. ELSE IF @LogType = 10
  13127. BEGIN
  13128. SET @Content = '发送语音'
  13129. END
  13130. ELSE IF @LogType = 11
  13131. BEGIN
  13132. SET @Content = '发送视频'
  13133. END
  13134. ELSE IF @LogType = 12
  13135. BEGIN
  13136. SET @Content = '发送图片'
  13137. END
  13138. ELSE IF @LogType = 13
  13139. BEGIN
  13140. SET @Content = '扫描二维码'
  13141. END
  13142. ELSE IF @LogType = 14
  13143. BEGIN
  13144. --更新粉丝表
  13145. UPDATE WxFans SET caMainID = @PaMainID, caBindCancelDate = NULL WHERE ID = @WxFansID
  13146. SET @Content = '绑定企业账号'
  13147. --插入积分200
  13148. DECLARE @cpMainid1 INT
  13149. select top 1 @cpMainid1=cpMainID from camain where id=@PaMainID
  13150. INSERT INTO cpPoint (cpMainID,ChangeID,Point,LastModifyDate) VALUES(@cpMainid1 ,21,200,GETDATE())
  13151. END
  13152. ELSE IF @LogType = 15
  13153. BEGIN
  13154. --更新粉丝表
  13155. UPDATE WxFans SET caBindCancelDate = GETDATE() WHERE ID = @WxFansID
  13156. --删除 palogincontact
  13157. DELETE FROM PaLoginContact where OpenID =@OpenID AND ContactType=4
  13158. SET @Content = '取消绑定企业账号'
  13159. --删除积分200
  13160. DECLARE @cpMainid2 INT
  13161. select top 1 @cpMainid2=cpMainID from camain where id=@PaMainID
  13162. INSERT INTO cpPoint (cpMainID,ChangeID,Point,LastModifyDate) VALUES(@cpMainid2,22,-200,GETDATE())
  13163. END
  13164. --插入日志表
  13165. IF NOT EXISTS(SELECT 'x' FROM WxMessageReceive WITH(NOLOCK) WHERE AddDate > CONVERT(VARCHAR(10), GETDATE(), 120) AND WxFansId = @WxFansId) OR @Message > ''
  13166. INSERT INTO WxMessageReceive VALUES(@WxFansID, GETDATE(), @Message, @LogType)
  13167. END
  13168. GO