maindb-function.sql 150 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914
  1. USE [MainDB]
  2. GO
  3. /****** Object: UserDefinedFunction [dbo].[_51JobRegionToOurID] Script Date: 2018/12/13 18:28:19 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --sean 2013-6-25
  9. CREATE FUNCTION [dbo].[_51JobRegionToOurID]
  10. (
  11. @51JobRegin VARCHAR(50)
  12. )
  13. RETURNS VARCHAR(6)
  14. AS
  15. BEGIN
  16. DECLARE @Id VARCHAR(6), @Id2 VARCHAR(6), @Des VARCHAR(20)
  17. SELECT TOP 1 @id = ID, @Des = DESCRIPTION
  18. FROM dcRegion WHERE Description LIKE LEFT(@51JobRegin, 2) + '%'
  19. AND GRADE = 1
  20. ORDER BY ID
  21. IF @Id IS NULL
  22. SELECT TOP 1 @id = ID, @Des = DESCRIPTION
  23. FROM dcRegion WHERE Description LIKE LEFT(@51JobRegin, 2) + '%'
  24. AND GRADE = 2
  25. ORDER BY ID
  26. ELSE
  27. BEGIN
  28. SET @Des = REPLACE(@Des, '市', '')
  29. SET @Des = REPLACE(@Des, '省', '')
  30. SET @51JobRegin = REPLACE(@51JobRegin, @Des, '')
  31. SET @51JobRegin = REPLACE(@51JobRegin, '-', '')
  32. SET @51JobRegin = REPLACE(@51JobRegin, @Des, '')
  33. SET @51JobRegin = REPLACE(@51JobRegin, '-', '')
  34. SELECT TOP 1 @id2 = ID
  35. FROM dcRegion
  36. WHERE Description LIKE '%' + LEFT(@51JobRegin, 2) + '%'
  37. AND ID LIKE @Id + '%'
  38. ORDER BY Id
  39. END
  40. IF @Id2 > ''
  41. RETURN @ID2
  42. ELSE
  43. RETURN @ID
  44. RETURN ''
  45. END
  46. GO
  47. /****** Object: UserDefinedFunction [dbo].[AgeToBirth] Script Date: 2018/12/13 18:28:19 ******/
  48. SET ANSI_NULLS ON
  49. GO
  50. SET QUOTED_IDENTIFIER ON
  51. GO
  52. --######################################3
  53. --创建:Sean 2011-2-25
  54. --年龄to出生年月,用于简历搜索
  55. --######################################3
  56. CREATE FUNCTION [dbo].[AgeToBirth]
  57. (
  58. @Age TINYINT
  59. )
  60. RETURNS INT
  61. AS
  62. BEGIN
  63. DECLARE @Year AS INT
  64. DECLARE @Month AS INT
  65. SET @Year = YEAR(GETDATE()) - @Age
  66. SET @Month = MONTH(GETDATE())
  67. RETURN @Year * 100 + @Month
  68. END
  69. GO
  70. /****** Object: UserDefinedFunction [dbo].[BinToINT] Script Date: 2018/12/13 18:28:19 ******/
  71. SET ANSI_NULLS ON
  72. GO
  73. SET QUOTED_IDENTIFIER ON
  74. GO
  75. CREATE FUNCTION [dbo].[BinToINT]
  76. (
  77. @BinaryChar char(10)
  78. )
  79. RETURNS INT
  80. AS
  81. BEGIN
  82. DECLARE @stringLength int,@ReturnValue int,@Index int
  83. DECLARE @CurrentChar char(1)
  84. SET @Index = 0
  85. SET @ReturnValue = 0
  86. SET @stringLength = LEN(@BinaryChar)
  87. While @Index<@stringLength
  88. BEGIN
  89. SET @Index = @Index + 1
  90. SET @CurrentChar = SUBSTRING(@BinaryChar,@Index,1)
  91. IF(@CurrentChar='1' or @CurrentChar='0')
  92. BEGIN
  93. SET @ReturnValue = @ReturnValue + (CAST(@CurrentChar as int) * POWER(2,@stringLength - @Index))
  94. END
  95. END
  96. RETURN @ReturnValue
  97. END
  98. GO
  99. /****** Object: UserDefinedFunction [dbo].[BirthToAge] Script Date: 2018/12/13 18:28:19 ******/
  100. SET ANSI_NULLS ON
  101. GO
  102. SET QUOTED_IDENTIFIER ON
  103. GO
  104. --######################################3
  105. --创建:Sean 2011-2-25
  106. --年龄to出生年月,用于简历搜索
  107. --######################################3
  108. CREATE FUNCTION [dbo].[BirthToAge]
  109. (
  110. @BirthDay INT
  111. )
  112. RETURNS INT
  113. AS
  114. BEGIN
  115. RETURN (CONVERT(VARCHAR(6), GETDATE(), 112) - @BirthDay) / 100
  116. END
  117. GO
  118. /****** Object: UserDefinedFunction [dbo].[CheckCvPrivi] Script Date: 2018/12/13 18:28:19 ******/
  119. SET ANSI_NULLS ON
  120. GO
  121. SET QUOTED_IDENTIFIER ON
  122. GO
  123. --修改:harry 2018-4-18
  124. --修改:对企业个人参加同一场校园招聘会,投递的非开放简历进行显示
  125. CREATE FUNCTION [dbo].[CheckCvPrivi]
  126. (
  127. @cvMainID INT,
  128. @cpMainID INT
  129. )
  130. RETURNS BIT
  131. BEGIN
  132. DECLARE @MemberType TINYINT
  133. SELECT @MemberType = MemberType
  134. FROM cpMain WITH(NOLOCK)
  135. WHERE ID = @cpMainID
  136. IF @MemberType < 2
  137. RETURN 0
  138. DECLARE @inActiveLog TINYINT, @inDailyGiftLog TINYINT, @inApplyPassed TINYINT, @paMainID INT
  139. SELECT @inActiveLog = 0, @inDailyGiftLog = 0, @inApplyPassed = 0
  140. IF EXISTS(SELECT TOP 1 'X'
  141. FROM caDailyGiftLog WITH(NOLOCK INDEX(PK_caDailyGiftLog))
  142. WHERE cpMainID = @cpMainID
  143. AND cvMainID = @cvMainID
  144. )
  145. BEGIN
  146. SET @inDailyGiftLog = 1
  147. END
  148. IF @inDailyGiftLog = 0
  149. BEGIN
  150. SELECT @paMainId = paMainId FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID
  151. DECLARE @t AS TABLE(ID INT)
  152. INSERT INTO @t
  153. SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @paMainID
  154. IF EXISTS(SELECT TOP 1 'X'
  155. FROM caActiveLog WITH(NOLOCK INDEX(IX_caActiveLog_cpMainID))
  156. WHERE cpMainID = @cpMainID
  157. AND cvMainID IN(SELECT ID FROM @t)
  158. )
  159. BEGIN
  160. SET @inActiveLog = 1
  161. END
  162. END
  163. IF @inDailyGiftLog = 0 AND @inActiveLog = 0
  164. BEGIN
  165. IF EXISTS(SELECT TOP 1 'X'
  166. FROM ExJobApply a WITH(NOLOCK), Job b
  167. WHERE a.JobID = b.ID
  168. AND a.IsPassed = 1
  169. AND a.cvMainID IN(SELECT ID FROM @t)
  170. AND b.cpMainID = @cpMainID
  171. )
  172. BEGIN
  173. SET @inApplyPassed = 1
  174. END
  175. END
  176. IF @inActiveLog + @inDailyGiftLog + @inApplyPassed = 0
  177. BEGIN
  178. --判断 个人给企业投递了简历,个人与企业都报名参加了同一场招聘会--harry2018-4-18
  179. IF EXISTS(SELECT TOP 1 'X'
  180. FROM ExJobApply a WITH(NOLOCK), Job b
  181. WHERE a.JobID = b.ID
  182. AND a.IsPassed = 0--非开放
  183. AND a.cvMainID IN(SELECT ID FROM @t)
  184. AND b.cpMainID = @cpMainID
  185. )
  186. BEGIN
  187. --是否同时参加了一场校园招聘会
  188. IF EXISTS( SELECT TOP 1 'x'
  189. FROM marketdb..rmcompany a, marketdb..rmperson b
  190. WHERE a.cpMainId =@cpMainID
  191. AND b.paMainId=@paMainID
  192. AND a.recruitmentId= b.recruitmentId)
  193. BEGIN
  194. RETURN 1
  195. END
  196. ELSE
  197. BEGIN
  198. RETURN 0
  199. END
  200. END
  201. ELSE
  202. BEGIN
  203. RETURN 0
  204. END
  205. END
  206. RETURN 1
  207. END
  208. GO
  209. /****** Object: UserDefinedFunction [dbo].[CleanAddress] Script Date: 2018/12/13 18:28:19 ******/
  210. SET ANSI_NULLS ON
  211. GO
  212. SET QUOTED_IDENTIFIER ON
  213. GO
  214. --######################################3
  215. --创建:Sean 2011-2-25
  216. --年龄to出生年月,用于简历搜索
  217. --######################################3
  218. CREATE FUNCTION [dbo].[CleanAddress]
  219. (
  220. @Address NVARCHAR(100),
  221. @dcRegionId VARCHAR(6)
  222. )
  223. RETURNS NVARCHAR(100)
  224. AS
  225. BEGIN
  226. DECLARE @r VARCHAR(6), @A NVARCHAR(100), @l INT
  227. SELECT @a = @address
  228. SELECT @r = Description FROM dcRegion WHERE Id = LEFT(@dcRegionId, 2)
  229. SET @l = LEN(@r)
  230. IF(LEFT(@a, @l) = @r)
  231. SET @a = RIGHT(@a, LEN(@a) - @l)
  232. BEGIN
  233. IF RIGHT(LEFT(@a, @l), 1) NOT IN('路', '街', '道')
  234. IF(LEFT(@a, @l - 1) = LEFT(@r, @l - 1))
  235. SET @a = RIGHT(@a, LEN(@a) - @l + 1)
  236. END
  237. IF(LEN(@dcRegionId) > 2)
  238. BEGIN
  239. SELECT @r = Description FROM dcRegion WHERE Id = LEFT(@dcRegionId, 4)
  240. SET @l = LEN(@r)
  241. IF(LEFT(@a, @l) = @r)
  242. SET @a = RIGHT(@a, LEN(@a) - @l)
  243. ELSE IF(LEFT(@a, @l-1) = LEFT(@r, @l - 1))
  244. SET @a = RIGHT(@a, LEN(@a) - @l + 1)
  245. END
  246. IF(LEN(@dcRegionId) > 4)
  247. BEGIN
  248. SELECT @r = Description FROM dcRegion WHERE Id = LEFT(@dcRegionId, 6)
  249. SET @l = LEN(@r)
  250. IF(LEFT(@a, @l) = @r)
  251. SET @a = RIGHT(@a, LEN(@a) - @l)
  252. END
  253. RETURN @a
  254. END
  255. GO
  256. /****** Object: UserDefinedFunction [dbo].[ClearChinese] Script Date: 2018/12/13 18:28:19 ******/
  257. SET ANSI_NULLS ON
  258. GO
  259. SET QUOTED_IDENTIFIER ON
  260. GO
  261. CREATE function [dbo].[ClearChinese]
  262. (
  263. @str VARCHAR(MAX)
  264. )
  265. RETURNS VARCHAR(Max)
  266. AS
  267. BEGIN
  268. DECLARE @I AS INT, @str1 AS VARCHAR(MAX), @c AS NCHAR(1)
  269. SELECT @I = 1, @str1 = ''
  270. WHILE @I <= LEN(@str)
  271. BEGIN
  272. SELECT @c = SUBSTRING(@str, @i, 1)
  273. IF DATALENGTH(@c) = LEN(@c)
  274. SELECT @str1 = @str1 + @c
  275. SELECT @I = @I + 1
  276. END
  277. RETURN @str1
  278. END
  279. GO
  280. /****** Object: UserDefinedFunction [dbo].[clearhtml] Script Date: 2018/12/13 18:28:19 ******/
  281. SET ANSI_NULLS ON
  282. GO
  283. SET QUOTED_IDENTIFIER ON
  284. GO
  285. create function [dbo].[clearhtml]
  286. (
  287. @maco varchar(MAX)
  288. )
  289. returns varchar(MAX)
  290. as
  291. begin
  292. declare @randchar_one nvarchar(200)
  293. declare @randchar_two nvarchar(200)
  294. if(charindex('<<',@maco)>0)
  295. begin
  296. set @randchar_one='D4678B36-B958-4274-B81E-BBA636CFB427';
  297. set @randchar_two='49E374CC-9E1A-4850-897C-27074DE32E7F';
  298. set @maco=replace(@maco,'<<',@randchar_one)
  299. set @maco=replace(@maco,'>>',@randchar_two)
  300. end
  301. declare @i int
  302. while 1 = 1
  303. begin
  304. set @i=len(@maco)
  305. set @maco=replace(@maco, substring(@maco,charindex('<',@maco),
  306. charindex('>',@maco)-charindex('<',@maco)+1),space(0))
  307. if @i=len( @maco )
  308. break
  309. end
  310. set @maco=replace(@maco,' ','')
  311. set @maco=replace(@maco,'&nbsp;','')
  312. set @maco=ltrim(rtrim(@maco))
  313. set @maco=replace(@maco,char(9),'')
  314. set @maco=replace(@maco,char(10),'')
  315. set @maco=replace(@maco,char(13),'')
  316. if(charindex(@randchar_one,@maco)>0)
  317. begin
  318. set @maco=replace(@maco,'D4678B36-B958-4274-B81E-BBA636CFB427','<<')
  319. set @maco=replace(@maco,'49E374CC-9E1A-4850-897C-27074DE32E7F','>>')
  320. end
  321. return (@maco)
  322. end
  323. GO
  324. /****** Object: UserDefinedFunction [dbo].[ClearHTMLTag] Script Date: 2018/12/13 18:28:20 ******/
  325. SET ANSI_NULLS ON
  326. GO
  327. SET QUOTED_IDENTIFIER ON
  328. GO
  329. CREATE FUNCTION [dbo].[ClearHTMLTag]
  330. (
  331. @Cont VARCHAR(MAX)
  332. )
  333. RETURNS VARCHAR(MAX)
  334. AS
  335. BEGIN
  336. DECLARE @Txt VARCHAR(MAX), @I INT, @J INT
  337. SET @Txt = REPLACE(ISNULL(@Cont, ''), '&nbsp;', ' ')
  338. SELECT @i = CHARINDEX('<', @Txt, 0), @j = CHARINDEX('>', @Txt, 1)
  339. WHILE @i < @j
  340. BEGIN
  341. SELECT @Txt = REPLACE(@Txt, SUBSTRING(@txt, @i, @j - @i + 1), '')
  342. SELECT @i = CHARINDEX('<', @Txt, 0), @j = CHARINDEX('>', @Txt, 1)
  343. END
  344. RETURN @Txt
  345. END
  346. GO
  347. /****** Object: UserDefinedFunction [dbo].[CompanyNameNoCheck] Script Date: 2018/12/13 18:28:20 ******/
  348. SET ANSI_NULLS ON
  349. GO
  350. SET QUOTED_IDENTIFIER ON
  351. GO
  352. --######################################################3
  353. --信息员推广企业是,企业名称免检
  354. --######################################################3
  355. CREATE FUNCTION [dbo].[CompanyNameNoCheck]
  356. (
  357. @CompanyName NVARCHAR(50)
  358. )
  359. RETURNS BIT
  360. AS
  361. BEGIN
  362. IF @CompanyName LIKE '%香港%'
  363. RETURN 1
  364. IF @CompanyName LIKE '%台湾%'
  365. RETURN 1
  366. IF @CompanyName LIKE '%澳门%'
  367. RETURN 1
  368. RETURN 0
  369. END
  370. GO
  371. /****** Object: UserDefinedFunction [dbo].[ComputeCvLevel] Script Date: 2018/12/13 18:28:20 ******/
  372. SET ANSI_NULLS ON
  373. GO
  374. SET QUOTED_IDENTIFIER ON
  375. GO
  376. CREATE FUNCTION [dbo].[ComputeCvLevel]
  377. (
  378. @cvLevel CHAR(10),
  379. @Pos TINYINT,
  380. @Val CHAR(1)
  381. )
  382. RETURNS CHAR(10)
  383. AS
  384. BEGIN
  385. DECLARE @Level AS CHAR(10)
  386. SET @Level = LEFT(@cvLevel, @Pos - 1) + @Val + RIGHT(@cvLevel,10 - @Pos)
  387. --IF LEFT(@cvLevel, 1) <> '1'
  388. -- SET @Level = '1' + RIGHT(@Level, 9)
  389. RETURN @Level
  390. END
  391. GO
  392. /****** Object: UserDefinedFunction [dbo].[ComputeJobValid] Script Date: 2018/12/13 18:28:20 ******/
  393. SET ANSI_NULLS ON
  394. GO
  395. SET QUOTED_IDENTIFIER ON
  396. GO
  397. -- =============================================
  398. -- Author: <Author,,Name>
  399. -- Create date: <Create Date,,>
  400. -- Description: <Description,,>
  401. -- =============================================
  402. CREATE FUNCTION [dbo].[ComputeJobValid]
  403. (
  404. @IsDelete BIT,
  405. @VerifyResult TINYINT,
  406. @IssueDate SMALLDATETIME,
  407. @IssueEnd SMALLDATETIME
  408. )
  409. RETURNS BIT
  410. AS
  411. BEGIN
  412. IF @IsDelete = 1
  413. RETURN 0
  414. IF @VerifyResult<>1
  415. RETURN 0
  416. IF NOT(@IssueDate<GETDATE() AND @IssueEnd>GETDATE())
  417. RETURN 0
  418. RETURN 1
  419. END
  420. GO
  421. /****** Object: UserDefinedFunction [dbo].[CutWord] Script Date: 2018/12/13 18:28:20 ******/
  422. SET ANSI_NULLS ON
  423. GO
  424. SET QUOTED_IDENTIFIER ON
  425. GO
  426. CREATE Function [dbo].[CutWord]
  427. (
  428. @InWord NVARCHAR(20)
  429. )
  430. RETURNS NVARCHAR(20)
  431. AS
  432. BEGIN
  433. IF CHARINDEX('select', @InWord) > 0
  434. RETURN ''
  435. IF CHARINDEX('script', @InWord) > 0
  436. RETURN ''
  437. IF CHARINDEX('delete', @InWord) > 0
  438. RETURN ''
  439. IF CHARINDEX('update', @InWord) > 0
  440. RETURN ''
  441. IF CHARINDEX('drop', @InWord) > 0
  442. RETURN ''
  443. IF LEN(@InWord) > 4
  444. IF EXISTS(SELECT 'x' FROM cpMainPublish WITH(NOLOCK) WHERE Name = @InWord)
  445. RETURN @InWord
  446. DECLARE @OutWord NVARCHAR(20), @Word NVARCHAR(20), @Word1 NVARCHAR(20), @Word2 NVARCHAR(20), @Word3 NVARCHAR(20), @Id INT, @WordType INT
  447. SELECT @OutWord = ' ', @Id = 0
  448. DECLARE @t AS TABLE(Id INT IDENTITY(1, 1), Word NVARCHAR(20))
  449. INSERT INTO @t
  450. SELECT * FROM dbo.FnSplit(@InWord, ' ')
  451. WHILE EXISTS(SELECT 'x' FROM @t WHERE Id > @Id )
  452. BEGIN
  453. SELEcT TOP 1 @Id = Id, @Word = Word FROM @t WHERE Id > @Id ORDER BY Id
  454. IF EXISTS(SELECT 'x' FROM @t WHERE Id < @Id AND WOrd = @Word)
  455. CONTINUE
  456. IF LEN(@Word) < 4
  457. BEGIN
  458. SET @OutWord = @OutWord + ' ' + @Word
  459. CONTINUE
  460. END
  461. IF EXISTS(SELECT 'x' FROM WordList WHERE Word = @Word)
  462. SET @OutWord = @OutWord + ' ' + @Word
  463. ELSE
  464. BEGIN
  465. SET @Word1 = ''
  466. SELECT TOP 1 @WordType = WordType, @Word1 = Word FROM WordList WHERE CHARINDEX(Word, @Word) = 1 ORDER BY WordType, ID
  467. IF @Word1 > ''
  468. BEGIN
  469. SET @Word2 = RIGHT(@Word, LEN(@Word) - LEN(@Word1))
  470. IF @WordType = 1
  471. BEGIN
  472. SET @WordType = 0
  473. SELECT TOP 1 @WordType = WordType FROM WordList WHERE Word = @Word2
  474. IF @WordType = 1
  475. SET @OutWord = @OutWord + ' ' + @Word
  476. ELSE
  477. IF @WordType = 0
  478. BEGIN
  479. SELECT TOP 1 @WordType = WordType, @Word3 = Word
  480. FROM WordList WHERE CHARINDEX(Word, @Word2) = 1 ORDER BY WordType DESC, ID
  481. IF @WordType < 2
  482. SET @OutWord = @OutWord + ' ' + @Word
  483. ELSE
  484. SET @OutWord = @OutWord + ' ' + @Word1 + ' ' + @Word3 + ' ' + REPLACE(@Word2, @Word3, '')
  485. END
  486. ELSE
  487. SET @OutWord = @OutWord + ' ' + @Word1 + ' ' + @Word2
  488. END
  489. ELSE IF @WordType > 1
  490. BEGIN
  491. IF LEN(@Word) - LEN(@Word1) < 2
  492. SET @OutWord = @OutWord + ' ' + @Word
  493. ELSE
  494. SET @OutWord = @OutWord + ' ' + @Word1 + ' ' + RIGHT(@Word, LEN(@Word) - LEN(@Word1))
  495. END
  496. ELSE
  497. SET @OutWord = @OutWord + ' ' + @Word
  498. END
  499. ELSE
  500. SET @OutWord = @OutWord + ' ' + @Word
  501. END
  502. END
  503. RETURN LTRIM(@OutWord)
  504. END
  505. GO
  506. /****** Object: UserDefinedFunction [dbo].[cvMainValid] Script Date: 2018/12/13 18:28:20 ******/
  507. SET ANSI_NULLS ON
  508. GO
  509. SET QUOTED_IDENTIFIER ON
  510. GO
  511. CREATE FUNCTION [dbo].[cvMainValid]
  512. (
  513. @ID INT
  514. )
  515. RETURNS TINYINT
  516. AS
  517. BEGIN
  518. DECLARE @cvValid AS TINYINT
  519. SELECT @cvValid = (
  520. case [IsCvHidden]
  521. when (1) then (0)
  522. else
  523. case left([cvLevel],(6))+rtrim(CONVERT([char](2),[VerifyResult],(0)))
  524. when '1111111' then
  525. case left([cvLevelEng],(6))+rtrim(CONVERT([char](2),[VerifyResultEng],(0)))
  526. when '1111111' then (2)
  527. when '1111011' then (2)
  528. else (1)
  529. end
  530. when '1111011' then
  531. case left([cvLevelEng],(6))+rtrim(CONVERT([char](2),[VerifyResultEng],(0)))
  532. when '1111111' then (2)
  533. when '1111011' then (2)
  534. else (1)
  535. end
  536. else
  537. case left([cvLevelEng],(6))+rtrim(CONVERT([char](2),[VerifyResultEng],(0)))
  538. when '1111111' then (3)
  539. when '1111011' then (3)
  540. else (0)
  541. end
  542. end
  543. end)
  544. FROM cvMain WITH(NOLOCK) WHERE ID=@ID
  545. RETURN @cvValid
  546. END
  547. GO
  548. /****** Object: UserDefinedFunction [dbo].[DateTo] Script Date: 2018/12/13 18:28:20 ******/
  549. SET ANSI_NULLS ON
  550. GO
  551. SET QUOTED_IDENTIFIER ON
  552. GO
  553. --######################################3
  554. --创建:Richard 2011-4-27
  555. --日期转换
  556. --######################################3
  557. create FUNCTION [dbo].[DateTo]
  558. (
  559. @d INT
  560. )
  561. RETURNS INT
  562. AS
  563. BEGIN
  564. RETURN ((@d) / 60)*100+((@d) % 60)
  565. END
  566. GO
  567. /****** Object: UserDefinedFunction [dbo].[DateToReportDay] Script Date: 2018/12/13 18:28:21 ******/
  568. SET ANSI_NULLS ON
  569. GO
  570. SET QUOTED_IDENTIFIER ON
  571. GO
  572. --######################################3
  573. --创建:Lambo 2013-2-4
  574. --日期转换 将日期转换成天数 2012-1-1为1
  575. --######################################3
  576. CREATE FUNCTION [dbo].[DateToReportDay]
  577. (
  578. @d SMALLDATETIME
  579. )
  580. RETURNS INT
  581. AS
  582. BEGIN
  583. RETURN DATEDIFF(DAY,'2012-1-1',@d)
  584. END
  585. GO
  586. /****** Object: UserDefinedFunction [dbo].[DeCrypt] Script Date: 2018/12/13 18:28:21 ******/
  587. SET ANSI_NULLS ON
  588. GO
  589. SET QUOTED_IDENTIFIER ON
  590. GO
  591. --######################################################3
  592. --实现用户名解密的函数
  593. --######################################################3
  594. CREATE FUNCTION [dbo].[DeCrypt]
  595. (
  596. @strEncrypted VARCHAR(50)
  597. )
  598. RETURNS VARCHAR(50)
  599. AS
  600. BEGIN
  601. IF @strEncrypted IS NULL
  602. RETURN ''
  603. SET @strEncrypted = LTRIM(RTRIM(@strEncrypted))
  604. DECLARE @GKey AS CHAR(69)
  605. DECLARE @I AS INT
  606. DECLARE @iC AS INT
  607. DECLARE @iK AS INT
  608. DECLARE @iD AS INT
  609. DECLARE @strDecrypted AS VARCHAR(50)
  610. SET @strDecrypted = ''
  611. SET @I = 1
  612. SET @GKey = Char(1) + Char(3) + Char(2) + Char(4) + Char(2) + Char(4) + Char(1) + Char(3) + Char(2) + Char(4) + Char(1) + Char(3) + Char(2) + Char(4) + Char(3) + Char(1) + Char(4) + Char(2) + Char(3) + Char(1) + Char(2) + Char(2) + Char(4) + Char(1) + Char(4) + Char(1) + Char(4) + Char(3) + Char(2) + Char(3) + Char(2) + Char(4) + Char(1) + Char(4) + Char(2) + Char(3) + Char(4) + Char(1) + Char(3) + Char(1) + Char(4) + Char(2) + Char(4) + Char(4) + Char(2) + Char(3) + Char(1) + Char(3) + Char(2) + Char(4) + Char(3) + Char(1) + Char(4) + Char(2) + Char(4) + Char(1) + Char(3) + Char(2) + Char(4) + Char(1) + Char(3) + Char(2) + Char(4) + Char(3) + Char(1) + Char(4) + Char(1) + Char(3) + Char(4)
  613. WHILE @I <= LEN(@strEncrypted)
  614. BEGIN
  615. SET @iC = ASCII(SUBSTRING(@strEncrypted, @I, 1))
  616. SET @iK = ASCII(SUBSTRING(@GKey, @I, 1))
  617. SET @iD = @iK ^ @iC
  618. SET @strDecrypted = @strDecrypted + CHAR(@iD)
  619. SET @I = @I + 1
  620. END
  621. RETURN @strDecrypted
  622. END
  623. GO
  624. /****** Object: UserDefinedFunction [dbo].[ExistUserName] Script Date: 2018/12/13 18:28:21 ******/
  625. SET ANSI_NULLS ON
  626. GO
  627. SET QUOTED_IDENTIFIER ON
  628. GO
  629. --######################################3
  630. --创建:Sean 2010-12-2
  631. --推广时企业用户名是否可用
  632. --######################################3
  633. CREATE FUNCTION [dbo].[ExistUserName]
  634. (
  635. @UserName VARCHAR(50)
  636. )
  637. RETURNS BIT
  638. AS
  639. BEGIN
  640. IF EXISTS(SELECT 'x' FROM caMain WITH(NOLOCK) WHERE UserNameLower = @UserName)
  641. RETURN 1
  642. IF EXISTS(SELECT 'x' FROM Company_xinxi WITH(NOLOCK) WHERE UserNameLower = @UserName)
  643. RETURN 1
  644. RETURN 0
  645. END
  646. GO
  647. /****** Object: UserDefinedFunction [dbo].[f_add] Script Date: 2018/12/13 18:28:21 ******/
  648. SET ANSI_NULLS ON
  649. GO
  650. SET QUOTED_IDENTIFIER ON
  651. GO
  652. CREATE function [dbo].[f_add](@date datetime,@i int)
  653. returns datetime
  654. as
  655. begin
  656. declare @rt datetime
  657. set @rt=@date
  658. while @i>0
  659. begin
  660. set @rt=dateadd(d,1,@rt)
  661. if datepart(w,@rt) in(1,7) set @rt=dateadd(d,1,@rt) --7为周六,1为周日
  662. if datepart(w,@rt) in(1,7) set @rt=dateadd(d,1,@rt) --7为周六,1为周日
  663. set @i=@i-1
  664. end
  665. return @rt
  666. end
  667. GO
  668. /****** Object: UserDefinedFunction [dbo].[f_Convert] Script Date: 2018/12/13 18:28:21 ******/
  669. SET ANSI_NULLS ON
  670. GO
  671. SET QUOTED_IDENTIFIER ON
  672. GO
  673. CREATE FUNCTION [dbo].[f_Convert]
  674. (
  675. @str NVARCHAR(4000), --要转换的字符串
  676. @flag bit --转换标志, 0转换成半角, 1转换成全角
  677. )
  678. RETURNS nvarchar(4000)
  679. AS
  680. BEGIN
  681. DECLARE @pat nvarchar(8), @step int, @i int, @spc int
  682. IF @flag = 0
  683. SELECT @pat = N'%[!-~]%', @step = -65248,
  684. @str = REPLACE(@str, N' ', N' ')
  685. ELSE
  686. SELECT @pat = N'%[!-~]%', @step = 65248,
  687. @str = REPLACE(@str, N' ', N' ')
  688. SET @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str)
  689. WHILE @i > 0
  690. SELECT @str = REPLACE(@str,
  691. SUBSTRING(@str, @i, 1),
  692. NCHAR(UNICODE(SUBSTRING(@str, @i, 1))+@step)),
  693. @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str)
  694. RETURN(@str)
  695. END
  696. GO
  697. /****** Object: UserDefinedFunction [dbo].[FnctManageruserSuperior] Script Date: 2018/12/13 18:28:21 ******/
  698. SET ANSI_NULLS ON
  699. GO
  700. SET QUOTED_IDENTIFIER ON
  701. GO
  702. create function [dbo].[FnctManageruserSuperior](@sender int,@receiver int)
  703. returns int
  704. as
  705. begin
  706. declare @superior int,@r1 int,@r2 int,@r3 int,@s1 int,@s2 int,@s3 int
  707. select @s1=superior from manageruser with(nolock) where id=@sender
  708. select @r1=superior from manageruser with(nolock) where id=@receiver
  709. select @s2=superior from manageruser with(nolock) where id=@s1
  710. select @r2=superior from manageruser with(nolock) where id=@r1
  711. select @s3=superior from manageruser with(nolock) where id=@s2
  712. select @r3=superior from manageruser with(nolock) where id=@r2
  713. if @s1=@r1
  714. set @superior=@s1
  715. else if @s1=@r2
  716. set @superior=@s1
  717. else if @s2=@r1
  718. set @superior=@r1
  719. else if @s1=@r3
  720. set @superior=@s1
  721. else if @r1=@s3
  722. set @superior=@r1
  723. else if @r2=@s2
  724. set @superior=@s2
  725. else if @r2=@s3
  726. set @superior=@r2
  727. else if @s2=@r3
  728. set @superior=@s2
  729. else if @r3=@s3
  730. set @superior=@s3
  731. else
  732. set @superior=1
  733. return @superior
  734. end
  735. GO
  736. /****** Object: UserDefinedFunction [dbo].[fnRanString] Script Date: 2018/12/13 18:28:21 ******/
  737. SET ANSI_NULLS ON
  738. GO
  739. SET QUOTED_IDENTIFIER ON
  740. GO
  741. CREATE function [dbo].[fnRanString]
  742. (
  743. @Length int
  744. )
  745. returns varchar(100)
  746. begin
  747. DECLARE @RandomID varchar(32), @counter smallint, @RandomNumber float, @ValidCharactersLength int,
  748. @RandomNumberInt tinyint, @CurrentCharacter varchar(1), @ValidCharacters varchar(255)
  749. SET @ValidCharacters = 'abcdefghijklmnopqrstuvwxyz0123456789'
  750. SET @ValidCharactersLength = len(@ValidCharacters)
  751. SELECT @CurrentCharacter = '', @RandomNumber = 0, @RandomNumberInt = 0, @RandomID = '', @counter = 1
  752. WHILE @counter < (@Length + 1)
  753. BEGIN
  754. select @RandomNumber = re from v_rand
  755. SET @RandomNumberInt = Convert(tinyint, ((@ValidCharactersLength -1) * @RandomNumber + 1));
  756. SELECT @CurrentCharacter = SUBSTRING(@ValidCharacters, @RandomNumberInt, 1);
  757. SET @counter = @counter + 1;
  758. SET @RandomID = @RandomID + @CurrentCharacter;
  759. END
  760. Return @RandomID;
  761. end
  762. GO
  763. /****** Object: UserDefinedFunction [dbo].[FormatID] Script Date: 2018/12/13 18:28:21 ******/
  764. SET ANSI_NULLS ON
  765. GO
  766. SET QUOTED_IDENTIFIER ON
  767. GO
  768. --#############################333
  769. --格式化id,去掉所有不是数字的字符
  770. --#############################333
  771. CREATE FUNCTION [dbo].[FormatID]
  772. (
  773. @s VARCHAR(MAX)
  774. )
  775. RETURNS VARCHAR(MAX)
  776. AS
  777. BEGIN
  778. IF @s IS NULL
  779. RETURN ''
  780. DECLARE @i AS INT
  781. DECLARE @c AS CHAR(1)
  782. DECLARE @R AS VARCHAR(MAX)
  783. SET @R = ''
  784. SET @i = 0
  785. WHILE @i < LEN(@s)
  786. BEGIN
  787. IF SUBSTRING(@s, @i + 1, 1) IN ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0')
  788. SET @R = @R + SUBSTRING(@s, @i + 1, 1)
  789. SET @i = @i +1
  790. END
  791. RETURN @R
  792. END
  793. GO
  794. /****** Object: UserDefinedFunction [dbo].[FormatIDS] Script Date: 2018/12/13 18:28:21 ******/
  795. SET ANSI_NULLS ON
  796. GO
  797. SET QUOTED_IDENTIFIER ON
  798. GO
  799. --#############################333
  800. --格式化id,去掉所有不是数字和,的字符
  801. --#############################333
  802. create FUNCTION [dbo].[FormatIDS]
  803. (
  804. @s VARCHAR(MAX)
  805. )
  806. RETURNS VARCHAR(MAX)
  807. AS
  808. BEGIN
  809. IF @s IS NULL
  810. RETURN ''
  811. DECLARE @i AS INT
  812. DECLARE @c AS CHAR(1)
  813. DECLARE @R AS VARCHAR(MAX)
  814. SET @R = ''
  815. SET @i = 0
  816. WHILE @i < LEN(@s)
  817. BEGIN
  818. IF SUBSTRING(@s, @i + 1, 1) IN ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ',')
  819. SET @R = @R + SUBSTRING(@s, @i + 1, 1)
  820. SET @i = @i +1
  821. END
  822. RETURN @R
  823. END
  824. GO
  825. /****** Object: UserDefinedFunction [dbo].[FormatMobile] Script Date: 2018/12/13 18:28:21 ******/
  826. SET ANSI_NULLS ON
  827. GO
  828. SET QUOTED_IDENTIFIER ON
  829. GO
  830. CREATE FUNCTION [dbo].[FormatMobile]
  831. (
  832. @str AS VARCHAR(MAX)
  833. )
  834. RETURNS VARCHAR(MAX)
  835. AS
  836. BEGIN
  837. RETURN REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@str, '-', '-'), '0', '0'), '1', '0'), '2', '2'), '3', '3'), '4', '4'), '5', '5'), '6', '6'), '7', '7'), '8', '8'), '9', '9'), '(', '('), ')', ')'), '——', '-'), '—', '-'),',', ','), '、', ',')
  838. END
  839. GO
  840. /****** Object: UserDefinedFunction [dbo].[Full2Half] Script Date: 2018/12/13 18:28:21 ******/
  841. SET ANSI_NULLS ON
  842. GO
  843. SET QUOTED_IDENTIFIER ON
  844. GO
  845. CREATE FUNCTION [dbo].[Full2Half]
  846. (
  847. @str NVARCHAR(4000), --要转换的字符串
  848. @flag bit --转换标志,0转换成半角,1转换成全角
  849. )
  850. RETURNS nvarchar(4000)
  851. AS
  852. BEGIN
  853. DECLARE @pat nvarchar(8), @step int, @i int,@spc int
  854. IF @flag = 0
  855. SELECT @pat = N'%[!-~]%', @step = -65248,
  856. @str = REPLACE(@str, N' ', N' ')
  857. ELSE
  858. SELECT @pat = N'%[!-~]%', @step = 65248,
  859. @str = REPLACE(@str, N' ', N' ')
  860. SET @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str)
  861. WHILE @i > 0
  862. SELECT @str = REPLACE(@str,
  863. SUBSTRING(@str, @i, 1),
  864. NCHAR(UNICODE(SUBSTRING(@str, @i, 1)) + @step)),
  865. @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str)
  866. RETURN(@str)
  867. END
  868. GO
  869. /****** Object: UserDefinedFunction [dbo].[fullRegionName] Script Date: 2018/12/13 18:28:22 ******/
  870. SET ANSI_NULLS ON
  871. GO
  872. SET QUOTED_IDENTIFIER ON
  873. GO
  874. CREATE FUNCTION [dbo].[fullRegionName]
  875. (
  876. @Id VARCHAR(6)
  877. )
  878. RETURNS NVARCHAR(20)
  879. BEGIN
  880. RETURN (SELECT FullName FROM dcRegion WITH(NOLOCK) WHERE ID = @ID)
  881. END
  882. GO
  883. /****** Object: UserDefinedFunction [dbo].[GetBeiSenCvText] Script Date: 2018/12/13 18:28:22 ******/
  884. SET ANSI_NULLS ON
  885. GO
  886. SET QUOTED_IDENTIFIER ON
  887. GO
  888. CREATE FUNCTION [dbo].[GetBeiSenCvText]
  889. (
  890. @cvMainId INT
  891. )
  892. RETURNS NVARCHAR(MAX)
  893. AS
  894. BEGIN
  895. DECLARE @paName NVARCHAR(10), @Sex NVARCHAR(2), @BirthDay NVARCHAR(20), @LivePlace NVARCHAR(30), @Mobile VARCHAR(20),
  896. @Email VARCHAR(100), @Career NVARCHAR(30), @WorkYear NVARCHAR(10), @Salary VARCHAR(50), @JobType VARCHAR(100),
  897. @Industry VARCHAR(100), @WorkPlace VARCHAR(100), @Speciality NVARCHAR(500)
  898. SELECT @paName = ISNULL(a.Name, ''), @Sex = CASE WHEN Gender = 0 THEN '男' ELSE '女' END, @BirthDay = ISNULL(BirthDay, ''),
  899. @LivePlace = ISNULL((SELECT FullName FROM dcRegion WHERE Id = LivePlace), ''),
  900. @Mobile = ISNULL(Mobile, ''), @Email = Email,
  901. @Career = ISNULL((SELECT Description FROM dcCareerStatus WHERE Id = dcCareerStatus), 1),
  902. @WorkYear = LTRIM(STR(ISNULL(RelatedWorkYears, 0))) + '年',
  903. @Salary = ISNULL((SELECT Description FROM dcSalary WHERE id = dcSalaryId), ''),
  904. @Speciality = ISNULL(Speciality, '')
  905. FROM paMain a WITH(NOLOCK), cvMain b WITH(NOLOCK)
  906. WHERE b.Id = @cvMainId
  907. AND b.paMainId = a.Id
  908. IF LEN(@BirthDay) = 6
  909. SET @BirthDay = LEFT(@BirthDay, 4) + '年' + RIGHT(@BirthDay, 2) + '月'
  910. SELECT @Industry = ISNULL(@Industry, '') + DESCRIPTION + ' '
  911. FROM dcIndustry a, cvIndustry b
  912. WHERE a.Id = b.dcIndustryId
  913. AND b.cvMainId = @cvMainID
  914. SELECT @WorkPlace = ISNULL(@WorkPlace, '') + DESCRIPTION + ' '
  915. FROM dcRegion a, cvJobPlace b
  916. WHERE a.Id = b.dcRegionId
  917. AND b.cvMainId = @cvMainID
  918. SELECT @JobType = ISNULL(@JobType, '') + DESCRIPTION + ' '
  919. FROM dcJobtype a, cvJobType b
  920. WHERE a.Id = b.dcJobTypeId
  921. AND b.cvMainId = @cvMainID
  922. DECLARE @CvText NVARCHAR(MAX)
  923. SET @CvText =
  924. '<html xmlns="http://www.w3.org/1999/xhtml">
  925. <head>
  926. <title>个人简历</title>
  927. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  928. <style>
  929. tr{height:22px;}
  930. td{font-size:10.0pt;padding-left:2px;padding-right:2px}
  931. body{tab-interval:21.0pt}
  932. dd{margin:0; padding:0; float:left; clear:both;}dl{margin:0; padding:0;}
  933. </style>
  934. </head>
  935. <body>
  936. <h3>个人信息</h3>
  937. <table cellpadding="0" cellspacing="0" border="1" width="658" >
  938. <tr>
  939. <td><label>姓名:</label><span>' + ISNULL(@paName, '') + '</span></td>
  940. <td><label>性别:</label><span>' + ISNULL(@Sex, '') + '</span></td>
  941. </tr>
  942. <tr>
  943. <td><label>出生年月:</label><span>' + ISNULL(@BirthDay, '') + '</span></td>
  944. <td><label>现居住地:</label><span>' + ISNULL(@LivePlace, '') + '</span></td>
  945. </tr>
  946. <tr>
  947. <td><label>手机号:</label><span>' + ISNULL(@Mobile, '') + '</span></td>
  948. <td><label>电子邮箱:</label><span>' + ISNULL(@Email, '') + '</span></td>
  949. </tr>
  950. </table>'
  951. IF @Salary > '' AND @jobType > ''
  952. SET @cvText = @cvText + '
  953. <h3>求职意向</h3>
  954. <table cellpadding="0" cellspacing="0" border="1" width="658" >
  955. <tr>
  956. <td><label>求职状态:</label><span>' + ISNULL(@Career, '') + '</span></td>
  957. <td><label>相关工作经验:</label><span>' + ISNULL(@WorkYear, '') + '</span></td>
  958. </tr>
  959. <tr>
  960. <td><label>期望月薪:</label><span>' + ISNULL(@Salary, '') + '</span></td>
  961. <td><label>期望职位类别:</label><span>' + ISNULL(@jobType, '') + '</span></td>
  962. </tr>
  963. <tr>
  964. <td><label>期望工作地点:</label><span>' + ISNULL(@WorkPlace, '') + '</span></td>
  965. <td colspan="2"><label>期望从事行业:</label><span>' + ISNULL(@Industry, '') + '</span></td>
  966. </tr>
  967. </table>'
  968. -----------------------------------
  969. DECLARE @GraduateCollage AS VARCHAR(100), @EduDetail AS NVARCHAR(500), @Graduation AS VARCHAR(20),
  970. @Degree VARCHAR(10), @MajorName NVARCHAR(50)
  971. SELECT TOP 1 @GraduateCollage = ISNULL(GraduateCollage, ''),
  972. @EduDetail = ISNULL(LEFT(Details, 500), ''),
  973. @Graduation = ISNULL(Graduation, ''),
  974. @Degree = ISNULL((SELECT Description FROM dcEducation WHERE id = Degree), ''),
  975. @MajorName = ISNULL(MajorName, '')
  976. FROM cvEducation WHERE cvMainId = @cvMainId ORDER BY Degree DESC, Graduation DESC
  977. IF LEN(@Graduation) = 6
  978. SET @Graduation = LEFT(@Graduation, 4) + '年' + RIGHT(@Graduation, 2) + '月'
  979. SET @cvText = @cvText + '
  980. <h3>教育背景</h3>
  981. <table cellpadding="0" cellspacing="0" border="1" width="658" >
  982. <tr>
  983. <td><label>学校名称:</label><span>' + ISNULL(@GraduateCollage, '') + '</span></td>
  984. <td><label>毕业时间:</label><span>' + ISNULL(@Graduation, '') + '</span></td>
  985. </tr>
  986. <tr>
  987. <td><label>学历:</label><span>' + ISNULL(@Degree, '') + '</span></td>
  988. <td><label>专业:</label><span>' + ISNULL(@MajorName, '') + '</span></td>
  989. </tr>'
  990. IF LEN(ISNULL(@EduDetail, '')) > 0
  991. SET @cvText = @cvText + '
  992. <tr>
  993. <td colspan="2"><label>学习经历:</label><span>' + @EduDetail + '</span></td>
  994. </tr>'
  995. SET @cvText = @cvText + '
  996. </table>'
  997. --------------------------------------------------
  998. DECLARE @CompanyName AS VARCHAR(100), @companyIndustry AS VARCHAR(50), @CompanyPost AS VARCHAR(50), @BeginDate VARCHAR(10),
  999. @EndDate VARCHAR(10), @CompanyDesc NVARCHAR(500)
  1000. SELECT TOP 1 @CompanyName = ISNULL(CompanyName, ''),
  1001. @companyIndustry = ISNULL((SELECT Description FROM dcIndustry WHERE Id = dcIndustryId), ''),
  1002. @CompanyPost = ISNULL(JobName, ''),
  1003. @BeginDate = ISNULL(BeginDate, ''),
  1004. @EndDate = ISNULL(EndDate, ''),
  1005. @CompanyDesc = ISNULL(LEFT(Description, 500), '')
  1006. FROM cvExperience WHERE cvMainId = @cvMainId ORDER BY BeginDate DESC, EndDate DESC
  1007. IF LEN(@BeginDate) = 6 AND LEN(@EndDate) = 6
  1008. BEGIN
  1009. SET @cvText = @cvText + '
  1010. <h3>工作经历</h3>
  1011. <table cellpadding="0" cellspacing="0" border="1" width="658" >
  1012. <tr>
  1013. <td><label>企业名称:</label><span>' + ISNULL(@CompanyName, '') + '</span></td>
  1014. <td><label>所属行业:</label><span>' + ISNULL(@companyIndustry, '') + '</span></td>
  1015. </tr>
  1016. <tr>
  1017. <td><label>岗位名称:</label><span>' + ISNULL(@CompanyPost, '') + '</span></td>
  1018. <td><label>工作时间:</label><span>' + LEFT(@BeginDate, 4) + '年' + RIGHT(@BeginDate, 2) + '月至' + CASE WHEN @EndDate = 999999 THEN '今' ELSE LEFT(@EndDate, 4) + '年' + RIGHT(@EndDate, 2) + '月' END + '</span></td>
  1019. </tr>'
  1020. IF @CompanyDesc > ''
  1021. SET @cvText = @cvText + '
  1022. <tr>
  1023. <td colspan="2"><label>工作描述:</label><span>' + @CompanyDesc + '</span></td>
  1024. </tr>'
  1025. SET @cvText = @cvText + '
  1026. </table>'
  1027. END
  1028. IF @Speciality > ''
  1029. SET @cvTExt = @cvText + '
  1030. <h3>工作能力</h3>
  1031. <table cellpadding="0" cellspacing="0" border="1" width="658" >
  1032. <tr>
  1033. <td colspan="2"><label>工作描述:</label><span>' + @Speciality + '</span></td>
  1034. </tr>
  1035. </table>'
  1036. SET @CvText = @CvText + '
  1037. </body>
  1038. </html>'
  1039. RETURN @cvText
  1040. END
  1041. GO
  1042. /****** Object: UserDefinedFunction [dbo].[GetBit] Script Date: 2018/12/13 18:28:22 ******/
  1043. SET ANSI_NULLS ON
  1044. GO
  1045. SET QUOTED_IDENTIFIER ON
  1046. GO
  1047. create FUNCTION [dbo].[GetBit](@val INT, @pos INT)
  1048. RETURNS BIT
  1049. AS
  1050. BEGIN
  1051. RETURN (@Val / POWER(2, @pos - 1)) & 1
  1052. END
  1053. GO
  1054. /****** Object: UserDefinedFunction [dbo].[GetCaName] Script Date: 2018/12/13 18:28:22 ******/
  1055. SET ANSI_NULLS ON
  1056. GO
  1057. SET QUOTED_IDENTIFIER ON
  1058. GO
  1059. CREATE FUNCTION [dbo].[GetCaName]
  1060. (
  1061. @caMainID INT
  1062. )
  1063. RETURNS VARCHAR(50)
  1064. AS
  1065. BEGIN
  1066. DECLARE @Name VARCHAR(20)
  1067. DECLARE @Gender BIT
  1068. DECLARE @IsNameHide BIT
  1069. SELECT @Name = Name, @Gender = Gender, @IsNameHide = IsNameHide
  1070. FROM caMain WHERE ID = @caMainID
  1071. IF @IsNameHide = 1
  1072. BEGIN
  1073. IF @Gender = 1
  1074. SELECT @Name = LEFT(@Name,1) + '女士'
  1075. ELSE
  1076. SELECT @Name = LEFT(@Name,1) + '先生'
  1077. END
  1078. RETURN @Name
  1079. END
  1080. GO
  1081. /****** Object: UserDefinedFunction [dbo].[GetCaOnlineStatus] Script Date: 2018/12/13 18:28:23 ******/
  1082. SET ANSI_NULLS ON
  1083. GO
  1084. SET QUOTED_IDENTIFIER ON
  1085. GO
  1086. CREATE FUNCTION [dbo].[GetCaOnlineStatus]
  1087. (
  1088. @caMainID INT
  1089. )
  1090. RETURNS BIT
  1091. AS
  1092. BEGIN
  1093. DECLARE @IsOnline AS BIT
  1094. SELECT @IsOnline = IsOnline FROM caOnline WITH(NOLOCK) WHERE caMainID = @caMainID
  1095. -- IF EXISTS(SELECT 'X' FROM caOnline WHERE caMainID = @caMainID AND (DATEDIFF(s, RefreshDate, GETDATE()) < 120))
  1096. -- SELECT @IsOnline = 1
  1097. RETURN ISNULL(@IsOnline, 0)
  1098. END
  1099. GO
  1100. /****** Object: UserDefinedFunction [dbo].[GetChatPrivi] Script Date: 2018/12/13 18:28:23 ******/
  1101. SET ANSI_NULLS ON
  1102. GO
  1103. SET QUOTED_IDENTIFIER ON
  1104. GO
  1105. CREATE FUNCTION [dbo].[GetChatPrivi]
  1106. (
  1107. @cvMainID INT,
  1108. @cpMainID INT
  1109. )
  1110. RETURNS BIT
  1111. AS
  1112. BEGIN
  1113. IF EXISTS(
  1114. SELECT TOP 1 'X' FROM ChatOnline WITH(NOLOCK) WHERE caMainID IN(
  1115. SELECT ID FROM caMain WITH(NOLOCK) WHERE cpMainID = @cpMainID
  1116. ) AND cvMainID = @cvMainID AND Initiative = 1
  1117. )
  1118. BEGIN
  1119. IF EXISTS(SELECT TOP 1 'X' FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID AND MemberType < 2)
  1120. RETURN 0
  1121. ELSE
  1122. RETURN 1
  1123. END
  1124. RETURN dbo.CheckCvPrivi(@cvMainID, @cpMainID)
  1125. END
  1126. GO
  1127. /****** Object: UserDefinedFunction [dbo].[GetContactPrivi] Script Date: 2018/12/13 18:28:23 ******/
  1128. SET ANSI_NULLS ON
  1129. GO
  1130. SET QUOTED_IDENTIFIER ON
  1131. GO
  1132. create FUNCTION [dbo].[GetContactPrivi]
  1133. (
  1134. @caMainID INT,
  1135. @cvMainID INT
  1136. )
  1137. RETURNS TINYINT --0无权限; 1显示手机号,email; 2显示手机号;3、显示手机号、email
  1138. AS
  1139. BEGIN
  1140. DECLARE @cpMainID AS INT,
  1141. @MemberType AS TINYINT,
  1142. @Valid AS TINYINT,
  1143. @VerifyResult AS TINYINT,
  1144. @VerifyResultEng AS TINYINT,
  1145. @IsPassed AS BIT,
  1146. @IsCvHidden AS BIT
  1147. SELECT @cpMainID = cpMainID FROM caMain WITH(NOLOCK) WHERE ID = @caMainId
  1148. SELECT @MemberType = MemberType FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID
  1149. SELECT @Valid = Valid, @VerifyResult = VerifyResult, @VerifyResultEng = VerifyResultEng, @IsCvHidden = IsCvHidden
  1150. FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID
  1151. ----有问题
  1152. IF @VerifyResult = 10 OR @VerifyResultEng = 10
  1153. RETURN 0
  1154. ----未认证会员
  1155. IF @MemberType IN(0, 1)
  1156. RETURN 0
  1157. ----普通会员
  1158. IF @MemberType IN(2, 3)
  1159. BEGIN
  1160. IF EXISTS(SELECT 'x' FROM exJobApply WITH(NOLOCK)
  1161. WHERE cvMainID = @cvMainID AND IsPassed = 1
  1162. AND JobID IN(SELECT ID FROM Job WITH(NOLOCK) WHERE cpMainID = @cpMainID))
  1163. RETURN 1
  1164. IF EXISTS(SELECT 'x' FROM caActiveLog WITH(NOLOCK)
  1165. WHERE cpMainID = @cpMainID
  1166. AND cvMainID = @cvMainID)
  1167. RETURN 1
  1168. IF EXISTS(SELECT 'x' FROM caDailyGiftLog WITH(NOLOCK)
  1169. WHERE cpMainID = @cpMainID
  1170. AND cvMainID = @cvMainID)
  1171. RETURN 1
  1172. RETURN 0
  1173. END
  1174. ----正式会员
  1175. IF @MemberType = 10
  1176. BEGIN
  1177. IF EXISTS(SELECT 'x' FROM exJobApply WITH(NOLOCK)
  1178. WHERE cvMainID = @cvMainID AND IsPassed = 1
  1179. AND JobID IN(SELECT ID FROM Job WITH(NOLOCK) WHERE cpMainID = @cpMainID))
  1180. RETURN 3
  1181. IF @IsCvHidden = 1
  1182. RETURN 0
  1183. RETURN 2
  1184. END
  1185. ----储值会员
  1186. IF @MemberType = 11
  1187. BEGIN
  1188. IF EXISTS(SELECT 'x' FROM caCvQuotaLog WITH(NOLOCK)
  1189. WHERE cvMainID = @cvMainID
  1190. AND cpMainID = @cpMainID)
  1191. RETURN 3
  1192. IF @IsCvHidden = 1
  1193. RETURN 0
  1194. RETURN 2
  1195. END
  1196. RETURN 0
  1197. END
  1198. GO
  1199. /****** Object: UserDefinedFunction [dbo].[GetCpIndustry] Script Date: 2018/12/13 18:28:23 ******/
  1200. SET ANSI_NULLS ON
  1201. GO
  1202. SET QUOTED_IDENTIFIER ON
  1203. GO
  1204. CREATE FUNCTION [dbo].[GetCpIndustry]
  1205. (
  1206. @cpMainID INT
  1207. )
  1208. RETURNS VARCHAR(MAX)
  1209. AS
  1210. BEGIN
  1211. DECLARE @strIndustry NVARCHAR(100)
  1212. SET @strIndustry = ''
  1213. SELECT @strIndustry = @strIndustry + RTRIM(LTRIM(b.Description)) + ',' FROM cpIndustry a WITH(NOLOCK),dcIndustry b WITH(NOLOCK) WHERE a.dcIndustryID=b.ID AND a.cpMainID=@cpMainID
  1214. IF LEN(@strIndustry) > 0
  1215. SET @strIndustry = LEFT(@strIndustry,LEN(@strIndustry)-1)
  1216. RETURN @strIndustry
  1217. END
  1218. GO
  1219. /****** Object: UserDefinedFunction [dbo].[GetCpIndustryId] Script Date: 2018/12/13 18:28:23 ******/
  1220. SET ANSI_NULLS ON
  1221. GO
  1222. SET QUOTED_IDENTIFIER ON
  1223. GO
  1224. CREATE FUNCTION [dbo].[GetCpIndustryId]
  1225. (
  1226. @cpMainID INT
  1227. )
  1228. RETURNS VARCHAR(MAX)
  1229. AS
  1230. BEGIN
  1231. DECLARE @strIndustry NVARCHAR(100)
  1232. SET @strIndustry = ''
  1233. SELECT @strIndustry = @strIndustry + RTRIM(LTRIM(dcIndustryID)) + ',' FROM cpIndustry WITH(NOLOCK)
  1234. WHERE cpMainID = @cpMainID
  1235. IF LEN(@strIndustry) > 0
  1236. SET @strIndustry = LEFT(@strIndustry, LEN(@strIndustry)-1)
  1237. RETURN @strIndustry
  1238. END
  1239. GO
  1240. /****** Object: UserDefinedFunction [dbo].[GetCpLogo] Script Date: 2018/12/13 18:28:23 ******/
  1241. SET ANSI_NULLS ON
  1242. GO
  1243. SET QUOTED_IDENTIFIER ON
  1244. GO
  1245. CREATE FUNCTION [dbo].[GetCpLogo]
  1246. (
  1247. @cpMainID INT
  1248. )
  1249. RETURNS VARCHAR(MAX)
  1250. AS
  1251. BEGIN
  1252. DECLARE @strLogoPath NVARCHAR(1000)
  1253. SELECT @strLogoPath = ISNULL(LogoFile, '')
  1254. FROM cpMain WITH(NOLOCK)
  1255. WHERE ID = @cpMainID
  1256. RETURN @strLogoPath
  1257. END
  1258. GO
  1259. /****** Object: UserDefinedFunction [dbo].[GetCvJobType] Script Date: 2018/12/13 18:28:23 ******/
  1260. SET ANSI_NULLS ON
  1261. GO
  1262. SET QUOTED_IDENTIFIER ON
  1263. GO
  1264. CREATE FUNCTION [dbo].[GetCvJobType]
  1265. (
  1266. @cvMainID INT
  1267. )
  1268. RETURNS VARCHAR(MAX)
  1269. AS
  1270. BEGIN
  1271. DECLARE @strJobType NVARCHAR(100)
  1272. SET @strJobType = ''
  1273. SELECT @strJobType = @strJobType + RTRIM(LTRIM(b.Description)) + ',' FROM cvJobType a,dcJobType b WHERE a.dcJobTypeID=b.ID AND a.cvMainID=@cvMainID
  1274. IF LEN(@strJobType) > 0
  1275. SET @strJobType = LEFT(@strJobType,LEN(@strJobType)-1)
  1276. RETURN @strJobType
  1277. END
  1278. GO
  1279. /****** Object: UserDefinedFunction [dbo].[GetCvMatch] Script Date: 2018/12/13 18:28:23 ******/
  1280. SET ANSI_NULLS ON
  1281. GO
  1282. SET QUOTED_IDENTIFIER ON
  1283. GO
  1284. --######################################3
  1285. --创建:Lambo 20120329
  1286. --计算简历和职位的匹配度
  1287. --######################################3
  1288. CREATE FUNCTION [dbo].[GetCvMatch]
  1289. (
  1290. @cvMainID INT,
  1291. @JobID INT
  1292. )
  1293. RETURNS VARCHAR(MAX)
  1294. AS
  1295. BEGIN
  1296. DECLARE @JobTypeMatch AS DECIMAL(18,2) --职位类别的匹配度
  1297. DECLARE @RegionMatch AS DECIMAL(18,2) --办公室地点的匹配度
  1298. DECLARE @ExperienceMatch AS DECIMAL(18,2) --相关工作经验的匹配度
  1299. DECLARE @SalaryMatch AS DECIMAL(18,2) --月薪的匹配度
  1300. DECLARE @EducationMatch AS DECIMAL(18,2) --学历的匹配度
  1301. DECLARE @IndustryMatch AS DECIMAL(18,2) --行业的匹配度
  1302. DECLARE @AgeMatch AS DECIMAL(18,2) --年龄的匹配度
  1303. SET @JobTypeMatch = 0
  1304. SET @RegionMatch = 0
  1305. SET @ExperienceMatch = 0
  1306. SET @SalaryMatch = 0
  1307. SET @EducationMatch = 0
  1308. SET @IndustryMatch = 0
  1309. SET @AgeMatch = 0
  1310. DECLARE @JobTypeID AS INT --职位的主要职位类别
  1311. DECLARE @dcRegionID AS INT --办公室地点
  1312. DECLARE @cpIndustry AS VARCHAR(100) --企业所属行业
  1313. DECLARE @MinExperience INT --相关工作经验
  1314. DECLARE @dcSalaryID INT --最低月薪
  1315. DECLARE @dcEducationID AS INT --学历要求
  1316. DECLARE @MinAge AS INT --最小年龄
  1317. DECLARE @MaxAge AS INT --最大年龄
  1318. SELECT
  1319. @JobTypeID=dcJobTypeID,
  1320. @dcRegionID = dcRegionID,
  1321. @MinExperience = MinExperience,
  1322. @dcSalaryID = dcSalaryID,
  1323. @dcEducationID = dcEducationID,
  1324. @MinAge = MinAge,
  1325. @MaxAge = MaxAge,
  1326. @cpIndustry = ','+STUFF((SELECT ','+LTRIM(a.dcIndustryid)+',c'+LTRIM(b.CateGoryId) FROM cpIndustry a,dcIndustryCategory b WHERE a.dcIndustryid = b.dcIndustryid AND cpMainid = JOB.cpMainID FOR XML PATH('')),1,1,'')+','
  1327. FROM JOB WITH(NOLOCK)
  1328. WHERE ID = @JobID
  1329. DECLARE @cvJobType AS INT --期望职位类别
  1330. DECLARE @cvJobPlace AS VARCHAR(100) --期望工作地点
  1331. DECLARE @cvIndustry AS VARCHAR(100) --期望从事行业
  1332. DECLARE @cvRelatedWorkYears AS INT --个人工作经验
  1333. DECLARE @cvDcSalaryID AS INT --期望月薪
  1334. DECLARE @IsNegotiable AS BIT --是否面议
  1335. DECLARE @Degree AS INT --个人学历
  1336. DECLARE @Age AS INT --个人年龄
  1337. DECLARE @INTTemp AS INT --临时变量
  1338. DECLARE @INTTemp2 AS INT
  1339. --匹配职位类别
  1340. SELECT @JobTypeMatch = ISNULL(MAX(
  1341. CASE
  1342. WHEN dcJobTypeID=@JobTypeID OR @JobTypeID LIKE LTRIM(dcJobTypeID)+'%' THEN 1
  1343. WHEN LEFT(LTRIM(@JobTypeID),2) = LEFT(dcJobTypeID,2) THEN 0.5
  1344. END),'0')
  1345. FROM cvJobType WITH(NOLOCK) WHERE cvMainID=@cvMainID
  1346. /*
  1347. IF @JobTypeMatch <> 1
  1348. SELECT @JobTypeMatch = ISNULL(Max(a.Coefficient)/10.0,@JobTypeMatch)
  1349. FROM dcJobTypeSimilar a WITH(NOLOCK) ,cvJobType b WITH(NOLOCK)
  1350. WHERE b.cvMainID=@cvMainID
  1351. AND (
  1352. (
  1353. a.dcJobTypeID = @JobTypeID
  1354. AND a.SimilarId = b.dcJobTypeID
  1355. )
  1356. OR
  1357. (
  1358. SimilarId = @JobTypeID
  1359. AND a.dcJobTypeID = b.dcJobTypeID
  1360. )
  1361. )
  1362. */
  1363. --匹配工作地点
  1364. IF EXISTS( SELECT top 1 'x' FROM cvJobPlace WITH(NOLOCK)
  1365. WHERE cvMainID = @cvMainID
  1366. AND (
  1367. dcRegionID = @dcRegionID
  1368. OR
  1369. (
  1370. @dcRegionID LIKE ''+LTRIM(dcRegionID)+'%' AND (LEN(dcRegionID)=4 Or LEN(dcRegionID)=2)
  1371. )
  1372. )
  1373. )
  1374. SET @RegionMatch = 1
  1375. --循环匹配行业
  1376. DECLARE @iIndex AS INT
  1377. SET @iIndex = 0
  1378. DECLARE #Industry CURSOR FOR
  1379. SELECT a.dcIndustryID,b.CategoryID
  1380. FROM cvIndustry a WITH(NOLOCK) ,dcIndustryCategory b WITH(NOLOCK)
  1381. WHERE a.dcIndustryid = b.dcIndustryid
  1382. AND cvMainID=@cvMainID
  1383. ORDER BY a.dcIndustryID
  1384. OPEN #Industry
  1385. FETCH NEXT FROM #Industry INTO @INTTemp,@INTTemp2
  1386. WHILE @@FETCH_STATUS = 0 AND @IndustryMatch<>1
  1387. BEGIN
  1388. SET @iIndex = @iIndex + 1
  1389. IF CHARINDEX(','+LTRIM(@INTTemp)+',',LTRIM(@cpIndustry))>0
  1390. SET @IndustryMatch=1
  1391. ELSE IF CHARINDEX(',c'+LTRIM(@INTTemp2)+',',LTRIM(@cpIndustry))>0
  1392. SET @IndustryMatch=0.5
  1393. FETCH NEXT FROM #Industry INTO @INTTemp,@INTTemp2
  1394. END
  1395. CLOSE #Industry
  1396. DEALLOCATE #Industry
  1397. IF @iIndex = 0
  1398. SET @IndustryMatch = 1
  1399. --取简历数据
  1400. SELECT
  1401. @Degree = Degree,
  1402. @cvRelatedWorkYears = ISNULL(RelatedWorkYears,0),
  1403. @cvDcSalaryID = dcSalaryID,
  1404. @IsNegotiable = IsNegotiable,
  1405. @Age = dbo.BirthToAge(b.Birthday)
  1406. From cvMain a WITH(NOLOCK), paMain b WITH(NOLOCK)
  1407. WHERE a.id=@cvMainID
  1408. AND a.paMainID = b.ID
  1409. --匹配工作经验
  1410. IF @MinExperience = 0
  1411. SET @ExperienceMatch = 1
  1412. ELSE IF @MinExperience = 1
  1413. BEGIN
  1414. IF @cvRelatedWorkYears<1
  1415. SET @ExperienceMatch = 0.5
  1416. ELSE IF @cvRelatedWorkYears>2
  1417. SET @ExperienceMatch = 1 + (@cvRelatedWorkYears-2) * -0.1
  1418. ELSE
  1419. SET @ExperienceMatch = 1
  1420. END
  1421. ELSE IF @MinExperience = 2
  1422. BEGIN
  1423. IF @cvRelatedWorkYears<3
  1424. BEGIN
  1425. IF @cvRelatedWorkYears >=1 AND @cvRelatedWorkYears <=2
  1426. SET @ExperienceMatch = 0.5
  1427. END
  1428. ELSE IF @cvRelatedWorkYears>5
  1429. SET @ExperienceMatch = 1 + (@cvRelatedWorkYears-2) * -0.1
  1430. ELSE
  1431. SET @ExperienceMatch = 1
  1432. END
  1433. ELSE IF @MinExperience = 3
  1434. BEGIN
  1435. IF @cvRelatedWorkYears<6
  1436. BEGIN
  1437. IF @cvRelatedWorkYears >=3 AND @cvRelatedWorkYears <=5
  1438. SET @ExperienceMatch = 0.5
  1439. END
  1440. ELSE IF @cvRelatedWorkYears>10
  1441. SET @ExperienceMatch = 1 + (@cvRelatedWorkYears-2) * -0.1
  1442. ELSE
  1443. SET @ExperienceMatch = 1
  1444. END
  1445. ELSE IF @MinExperience = 4
  1446. BEGIN
  1447. IF @cvRelatedWorkYears<10
  1448. BEGIn
  1449. IF @cvRelatedWorkYears >=6 AND @cvRelatedWorkYears <=10
  1450. SET @ExperienceMatch = 0.5
  1451. END
  1452. ELSE
  1453. SET @ExperienceMatch = 1
  1454. END
  1455. ELSE IF @MinExperience = 5
  1456. SET @ExperienceMatch = 1 +(ISNULL(@cvRelatedWorkYears,0) * -0.1)
  1457. ELSE
  1458. SET @ExperienceMatch = 1
  1459. --匹配月薪
  1460. IF @dcSalaryID = @cvDcSalaryID OR @dcSalaryID = 100 OR @IsNegotiable = 1
  1461. SET @SalaryMatch = 1
  1462. ELSE IF @dcSalaryID - @cvDcSalaryID = 1 OR @dcSalaryID - @cvDcSalaryID = -1
  1463. SET @SalaryMatch = 0.5
  1464. --匹配学历
  1465. IF @Degree = @dcEducationID
  1466. SET @EducationMatch = 1
  1467. ELSE IF @Degree - @dcEducationID = 1
  1468. SET @EducationMatch = 0.8
  1469. ELSE IF @Degree - @dcEducationID = 2
  1470. SET @EducationMatch = 0.5
  1471. --匹配年龄
  1472. IF (@MinAge = 99 AND @MaxAge = 99) OR (@MinAge = 0 AND @MaxAge = 0)
  1473. SET @AgeMatch = 1
  1474. ELSE IF @Age < @MinAge
  1475. BEGIN
  1476. IF @MinAge - @Age = 1
  1477. SET @AgeMatch = 0.8
  1478. ELSE IF @MinAge-@Age = 2
  1479. SET @AgeMatch = 0.5
  1480. end
  1481. ELSE IF @Age > @MaxAge
  1482. BEGIN
  1483. IF @Age - @MaxAge = 1
  1484. SET @AgeMatch = 0.8
  1485. ELSE IF @Age - @MaxAge = 2
  1486. SET @AgeMatch = 0.5
  1487. END
  1488. ELSE
  1489. SET @AgeMatch = 1
  1490. RETURN CONVERT(INT,(@JobTypeMatch+@RegionMatch+@ExperienceMatch+@SalaryMatch+@EducationMatch+@IndustryMatch+@AgeMatch)/7*100)
  1491. END
  1492. GO
  1493. /****** Object: UserDefinedFunction [dbo].[GetJobFullRegionName] Script Date: 2018/12/13 18:28:23 ******/
  1494. SET ANSI_NULLS ON
  1495. GO
  1496. SET QUOTED_IDENTIFIER ON
  1497. GO
  1498. CREATE FUNCTION [dbo].[GetJobFullRegionName]
  1499. (
  1500. @JobID INT
  1501. )
  1502. RETURNS NVARCHAR(100)
  1503. AS
  1504. BEGIN
  1505. DECLARE @strRegionID NVARCHAR(100)
  1506. SET @strRegionID = ''
  1507. SELECT @strRegionID = @strRegionID + RTRIM(LTRIM(b.fullname)) + ','
  1508. FROM JobRegion a WITH(NOLOCK),
  1509. dcRegion b WITH(NOLOCK)
  1510. WHERE a.JobID = @JobID
  1511. AND a.dcRegionID = b.ID
  1512. IF LEN(@strRegionID) > 0
  1513. SET @strRegionID = LEFT(@strRegionID, LEN(@strRegionID) - 1)
  1514. RETURN @strRegionID
  1515. END
  1516. GO
  1517. /****** Object: UserDefinedFunction [dbo].[GetJobIds] Script Date: 2018/12/13 18:28:23 ******/
  1518. SET ANSI_NULLS ON
  1519. GO
  1520. SET QUOTED_IDENTIFIER ON
  1521. GO
  1522. CREATE FUNCTION [dbo].[GetJobIds]
  1523. (
  1524. @cpMainID INT
  1525. )
  1526. RETURNS VARCHAR(MAX)
  1527. AS
  1528. BEGIN
  1529. DECLARE @ids AS VARCHAR(MAX)
  1530. SET @ids = ''
  1531. SELECT TOP 10 @ids = @ids +
  1532. CASE LEN(@ids) WHEN 0 THEN '' ELSE ',' END +
  1533. --ISNULL((SELECT IsFollow FROM MarketDb..PageBaiduInclude WHERE PageType = 2 AND PageId = SecondID), '') +
  1534. LTRIM(STR(ID))
  1535. FROM Job WITH(NOLOCK)
  1536. WHERE cpMainId = @cpMainId
  1537. AND Valid = 1
  1538. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId)
  1539. RETURN @ids
  1540. END
  1541. GO
  1542. /****** Object: UserDefinedFunction [dbo].[GetJobIdsNew] Script Date: 2018/12/13 18:28:24 ******/
  1543. SET ANSI_NULLS ON
  1544. GO
  1545. SET QUOTED_IDENTIFIER ON
  1546. GO
  1547. CREATE FUNCTION [dbo].[GetJobIdsNew]
  1548. (
  1549. @cpMainID INT
  1550. )
  1551. RETURNS VARCHAR(MAX)
  1552. AS
  1553. BEGIN
  1554. DECLARE @ids AS VARCHAR(MAX)
  1555. SET @ids = ''
  1556. SELECT TOP 20 @ids = @ids + CASE LEN(@ids) WHEN 0 THEN '' ELSE ',' END +
  1557. --(SELECT IsFollow FROM MarketDb..PageBaiduInclude WHERE PageType = 2 AND PageId = ID) +
  1558. LTRIM(STR(ID))
  1559. FROM Job WITH(NOLOCK)
  1560. WHERE cpMainId = @cpMainId
  1561. AND Valid = 1
  1562. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId)
  1563. RETURN @ids
  1564. END
  1565. GO
  1566. /****** Object: UserDefinedFunction [dbo].[GetJobIdsOld] Script Date: 2018/12/13 18:28:24 ******/
  1567. SET ANSI_NULLS ON
  1568. GO
  1569. SET QUOTED_IDENTIFIER ON
  1570. GO
  1571. create FUNCTION [dbo].[GetJobIdsOld]
  1572. (
  1573. @cpMainID INT
  1574. )
  1575. RETURNS VARCHAR(MAX)
  1576. AS
  1577. BEGIN
  1578. DECLARE @ids AS VARCHAR(MAX)
  1579. SET @ids = ''
  1580. SELECT TOP 20 @ids = @ids + CASE LEN(@ids) WHEN 0 THEN '' ELSE ',' END + LTRIM(STR(ID))
  1581. FROM Job WITH(NOLOCK)
  1582. WHERE cpMainId = @cpMainId
  1583. AND Valid = 1
  1584. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId)
  1585. RETURN @ids
  1586. END
  1587. GO
  1588. /****** Object: UserDefinedFunction [dbo].[GetJobNames] Script Date: 2018/12/13 18:28:24 ******/
  1589. SET ANSI_NULLS ON
  1590. GO
  1591. SET QUOTED_IDENTIFIER ON
  1592. GO
  1593. CREATE FUNCTION [dbo].[GetJobNames]
  1594. (
  1595. @cpMainID INT
  1596. )
  1597. RETURNS VARCHAR(MAX)
  1598. AS
  1599. BEGIN
  1600. DECLARE @ids AS VARCHAR(MAX)
  1601. SET @ids = ''
  1602. SELECT TOP 10 @ids = @ids + CASE LEN(@ids) WHEN 0 THEN '' ELSE ',' END + REPLACE(Name, ',', ',')
  1603. FROM Job WITH(NOLOCK)
  1604. WHERE cpMainId = @cpMainId
  1605. AND Valid = 1
  1606. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId), ID
  1607. RETURN @ids
  1608. END
  1609. GO
  1610. /****** Object: UserDefinedFunction [dbo].[GetJobSecondIds] Script Date: 2018/12/13 18:28:24 ******/
  1611. SET ANSI_NULLS ON
  1612. GO
  1613. SET QUOTED_IDENTIFIER ON
  1614. GO
  1615. CREATE FUNCTION [dbo].[GetJobSecondIds]
  1616. (
  1617. @cpMainID INT
  1618. )
  1619. RETURNS VARCHAR(MAX)
  1620. AS
  1621. BEGIN
  1622. DECLARE @ids AS VARCHAR(MAX)
  1623. SET @ids = ''
  1624. SELECT TOP 10 @ids = @ids +
  1625. CASE LEN(@ids) WHEN 0 THEN '' ELSE ',' END +
  1626. --ISNULL((SELECT '_' FROM MarketDb..PageBaiduInclude WITH(NOLOCK) WHERE PageType = 2 AND PageId = SecondID AND IsFollow = 'n'), '') +
  1627. SecondId
  1628. FROM Job WITH(NOLOCK)
  1629. WHERE cpMainId = @cpMainId
  1630. AND Valid = 1
  1631. ORDER BY DisplayNo, CONVERT(VARCHAR(4), dcJobtypeId), ID
  1632. RETURN @ids
  1633. END
  1634. GO
  1635. /****** Object: UserDefinedFunction [dbo].[GetLotteryGiftType] Script Date: 2018/12/13 18:28:24 ******/
  1636. SET ANSI_NULLS ON
  1637. GO
  1638. SET QUOTED_IDENTIFIER ON
  1639. GO
  1640. CREATE FUNCTION [dbo].[GetLotteryGiftType]
  1641. (
  1642. @IsAgent TINYINT,
  1643. @GiftNo INT,
  1644. @IsVip TINYINT
  1645. )
  1646. RETURNS TINYINT
  1647. AS
  1648. BEGIN
  1649. --奖品类型:1、50职位并发 2、50份简历 3、记事本(100份简历) 4、100条短信数 5、2周六分之一图片 6、2周知名企业 7、2周职位置顶 8、200次职位刷新(2周职位自动刷新) 9、2周六分之二 10、蓝皮书(Vip会员—季度) 11、满1000-50优惠券 12、电热水壶 99、没中奖
  1650. DECLARE @GiftType TINYINT
  1651. IF @IsAgent = 0
  1652. BEGIN
  1653. IF @IsVip = 0
  1654. BEGIN
  1655. IF @GiftNo BETWEEN 1 AND 100 --六分之一广告 10%概率
  1656. SET @GiftType = 5
  1657. ELSE IF @GiftNo BETWEEN 101 AND 250 --2周知名企业 15%概率
  1658. SET @GiftType = 6
  1659. ELSE IF @GiftNo BETWEEN 251 AND 300 --两周职位置顶 5%概率
  1660. SET @GiftType = 7
  1661. ELSE IF @GiftNo BETWEEN 301 AND 450 --200次职位刷新 15%概率
  1662. SET @GiftType = 8
  1663. ELSE IF @GiftNo BETWEEN 451 AND 550 --六分之二广告 10%概率
  1664. SET @GiftType = 9
  1665. ELSE --满1000-50优惠券 45%概率
  1666. SET @GiftType = 11
  1667. END
  1668. ELSE
  1669. BEGIN
  1670. IF @GiftNo BETWEEN 1 AND 150 --50职位并发 15%概率
  1671. SET @GiftType = 1
  1672. ELSE IF @GiftNo BETWEEN 151 AND 300 --50份简历 15%概率
  1673. SET @GiftType = 2
  1674. ELSE IF @GiftNo BETWEEN 301 AND 430 --100条短信数 13%概率
  1675. SET @GiftType = 4
  1676. ELSE IF @GiftNo BETWEEN 431 AND 530 --六分之一广告 10%概率
  1677. SET @GiftType = 5
  1678. ELSE IF @GiftNo BETWEEN 531 AND 630 --2周知名企业 10%概率
  1679. SET @GiftType = 6
  1680. ELSE IF @GiftNo BETWEEN 631 AND 680 --两周职位置顶 5%概率
  1681. SET @GiftType = 7
  1682. ELSE IF @GiftNo BETWEEN 681 AND 880 --200次职位刷新 20%概率
  1683. SET @GiftType = 8
  1684. ELSE IF @GiftNo BETWEEN 881 AND 980 --六分之二广告 10%概率
  1685. SET @GiftType = 9
  1686. ELSE --满1000-50优惠券 10%概率
  1687. SET @GiftType = 11
  1688. END
  1689. END
  1690. ELSE
  1691. BEGIN
  1692. IF @GiftNo BETWEEN 1 AND 300 --50职位并发 30%概率
  1693. SET @GiftType = 1
  1694. ELSE IF @GiftNo BETWEEN 301 AND 500 --50份简历 20%概率
  1695. SET @GiftType = 2
  1696. ELSE IF @GiftNo BETWEEN 501 AND 600 --100条短信数 10%概率
  1697. SET @GiftType = 4
  1698. ELSE --200次自动刷新 50%概率
  1699. SET @GiftType = 8
  1700. END
  1701. RETURN @GiftType
  1702. END
  1703. GO
  1704. /****** Object: UserDefinedFunction [dbo].[GetMemberTypeWithRealName] Script Date: 2018/12/13 18:28:24 ******/
  1705. SET ANSI_NULLS ON
  1706. GO
  1707. SET QUOTED_IDENTIFIER ON
  1708. GO
  1709. --######################################3
  1710. --创建:Sean 2010-11-16
  1711. --判断企业用户类型
  1712. --######################################3
  1713. CREATE FUNCTION [dbo].[GetMemberTypeWithRealName]
  1714. (
  1715. @ID INT
  1716. )
  1717. RETURNS TINYINT
  1718. AS
  1719. BEGIN
  1720. DECLARE @HasLicence AS BIT, @BalanceDate AS SMALLDATETIME, @UnlimitedDate AS SMALLDATETIME,
  1721. @Address AS VARCHAR(100), @Name AS NVARCHAR(6), @Gender AS BIT,
  1722. @MemberType AS TINYINT, @IsDelete AS BIT, @Mobile VARCHAR(100), @RealName TINYINT
  1723. SELECT @HasLicence = ISNULL(HasLicence, 0),
  1724. @BalanceDate = ISNULL(BalanceDate, '1900-1-1'),
  1725. @UnlimitedDate = ISNULL(UnlimitedDate, '1900-1-1'),
  1726. @Address = ISNULL(Address, ''),
  1727. @IsDelete = IsDelete, @RealName = RealName
  1728. FROM cpMain WITH(NOLOCK)
  1729. WHERE ID = @ID
  1730. SELECT @Name = Name, @Gender = Gender, @Mobile = ISNULL(Mobile, ISNULL(TelePhone, '')) FROM caMain WITH(NOLOCK)
  1731. WHERE cpMainID = @ID AND AccountType = 1
  1732. ----企业资料不完整,=0
  1733. IF ISNULL(@Address, '') = '' OR @IsDelete = 1 OR ISNULL(@Name, '') = '' OR @Gender IS NULL OR @Mobile = ''
  1734. SET @MemberType = 0
  1735. ----已经上传营业执照,只能是普通会员:2、无限制:10、储值:11、vip:3之一
  1736. ELSE IF @HasLicence = 0
  1737. SET @MemberType = 1
  1738. ----检查订单
  1739. ELSE IF EXISTS(SELECT 'x' FROM caOrder WITH(NOLOCK)
  1740. WHERE cpMainID = @ID AND OrderType = 8
  1741. AND BeginDate <= GETDATE() AND EndDate > DATEADD(MINUTE, -4, GETDATE())
  1742. AND IsDeleted = 0
  1743. )
  1744. BEGIN
  1745. IF @RealName = 1
  1746. SET @MemberType = 31
  1747. ELSE
  1748. SET @MemberType = 3
  1749. END
  1750. ELSE
  1751. BEGIN
  1752. IF @RealName = 1
  1753. SET @MemberType = 21
  1754. ELSE
  1755. SET @MemberType = 2
  1756. END
  1757. RETURN @MemberType
  1758. END
  1759. GO
  1760. /****** Object: UserDefinedFunction [dbo].[GetNextMSSchedule] Script Date: 2018/12/13 18:28:24 ******/
  1761. SET ANSI_NULLS ON
  1762. GO
  1763. SET QUOTED_IDENTIFIER ON
  1764. GO
  1765. create function [dbo].[GetNextMSSchedule]
  1766. (
  1767. @msScheduleId AS INT
  1768. )
  1769. RETURNS SMALLDATETIME
  1770. AS
  1771. BEGIN
  1772. DECLARE @FreqType AS TINYINT,
  1773. @FreqINTerval AS TINYINT,
  1774. @FreqSubdayType AS TINYINT,
  1775. @FreqSubdayInterval AS SMALLINT,
  1776. @ActiveStartDate AS VARCHAR(8),
  1777. @ActiveEndDate AS VARCHAR(8),
  1778. @ActiveStartTime AS VARCHAR(4),
  1779. @ActiveEndTime AS VARCHAR(4),
  1780. @StartDate AS SMALLDATETIME,
  1781. @EndDate AS SMALLDATETIME,
  1782. @NextRunTime AS SMALLDATETIME,
  1783. @PlanTime AS SMALLDATETIME,
  1784. @I AS INT,
  1785. @II AS INT,
  1786. @Exceeding AS INT,
  1787. @IsOk AS INT,
  1788. @Now AS SMALLDATETIME
  1789. --获取计划任务数据
  1790. SELECT @FreqType = FreqType,
  1791. @FreqInterval = FreqInterval,
  1792. @FreqSubdayType = FreqSubdayType,
  1793. @FreqSubdayInterval = FreqSubdayInterval,
  1794. @ActiveStartDate = CONVERT(VARCHAR(8), ActiveStartDate),
  1795. @ActiveEndDate = CONVERT(VARCHAR(8), ActiveEndDate),
  1796. @ActiveStartTime = CONVERT(VARCHAR(4), ActiveStartTime),
  1797. @ActiveEndTime = CONVERT(VARCHAR(4), ActiveEndTime),
  1798. @IsOk = 0,
  1799. @Now = CONVERT(VARCHAR(16), GETDATE(),120)
  1800. FROM MainDb..msSchedule WITH(NOLOCK)
  1801. WHERE ID = @msScheduleId
  1802. --计算开始时间和结束时间
  1803. SELECT @StartDate = dbo.MergeDate(@ActiveStartDate, @ActiveStartTime),
  1804. @EndDate = dbo.MergeDate(@ActiveEndDate, @ActiveEndTime)
  1805. IF @EndDate <= @Now --如果结束时间<当前,直接退出
  1806. BEGIN
  1807. SELECT @NextRunTime = NULL
  1808. END
  1809. ELSE IF @FreqType = 1 --执行一次
  1810. BEGIN
  1811. --如果开始时间>当前,则返回开始时间,否则返回null
  1812. IF @StartDate > @Now
  1813. SELECT @NextRunTime = @StartDate
  1814. ELSE
  1815. SELECT @NextRunTime = NULL
  1816. END
  1817. ELSE IF @FreqType = 4 --每日执行
  1818. BEGIN
  1819. IF @StartDate > @Now --如果开始时间>当前,下一次=开始时间
  1820. SELECT @PlanTime = @StartDate
  1821. ELSE
  1822. BEGIN
  1823. --计算从今天起再过几天(@Exceeding)是下次执行日期
  1824. SELECT @Exceeding = DATEDIFF(DAY, @StartDate, @Now) % @FreqInterval
  1825. IF(@Exceeding > 0)
  1826. SELECT @Exceeding = @FreqInterval - @Exceeding
  1827. --得出自今日-点期最近一次执行日期
  1828. SELECT @PlanTime = dbo.MergeDate(@Now + @Exceeding, @ActiveStartTime)
  1829. IF @PlanTime > @Now
  1830. SELECT @NextRunTime = @PlanTime, @IsOk = 1
  1831. ELSE
  1832. BEGIN
  1833. --下次执行日期<当前
  1834. --如果间隔内循环 分钟
  1835. IF @FreqSubdayType >= 4
  1836. BEGIN
  1837. IF @FreqSubdayType = 8
  1838. SELECT @FreqSubdayInterval = @FreqSubdayInterval * 60
  1839. --计算到下次执行,间隔多少分钟
  1840. SELECT @Exceeding = DATEDIFF(MINUTE, @PlanTime, @Now) % @FreqSubdayInterval
  1841. IF(@Exceeding > 0)
  1842. SELECT @Exceeding = @FreqSubdayInterval - @Exceeding
  1843. SELECT @NextRunTime = DATEADD(MINUTE, @Exceeding, @Now)
  1844. IF @NextRunTime <= @Now --如果是当前一分钟,则+1分钟
  1845. SELECT @NextRunTime = DATEADD(MINUTE, @FreqSubdayInterval, @NextRunTime)
  1846. IF @NextRunTime < CONVERT(VARCHAR(10), @Now + 1, 120)
  1847. SELECT @IsOk = 1
  1848. END
  1849. IF(@IsOk = 0) --间隔内不循环或者本日无法循环,则到下一执行日期
  1850. SET @NextRunTime = @PlanTime + @FreqInterval
  1851. END
  1852. END
  1853. END
  1854. ELSE IF @FreqType = 8 --按周间隔,周、月都是执行一次
  1855. BEGIN
  1856. DECLARE @w AS INT, @TodayPower AS INT
  1857. SELECT @w = DATEPART(W, @Now) --1周日,2 周一,。。。7周六
  1858. SELECT @TodayPower = POWER(2, @w - 1), @i = 8, @Exceeding = 7
  1859. IF (@FreqInterval & @TodayPower = @TodayPower) --今日是执行日期
  1860. BEGIN
  1861. SELECT @PlanTime = dbo.MergeDate(@Now, @ActiveStartTime)
  1862. IF @PlanTime > @Now --执行时间
  1863. SELECT @NextRunTime = @PlanTime, @IsOk = 1
  1864. END
  1865. IF(@IsOk = 0) --本日不执行,或者本日时间已过,则到下一执行日期
  1866. BEGIN
  1867. WHILE @I < 15
  1868. BEGIN
  1869. IF (@FreqInterval & POWER(2, @I - 8) = POWER(2, @I - 8))
  1870. BEGIN
  1871. SELECT @II = (@i - @w) % 7
  1872. IF(@Exceeding > @II AND @II > 0)
  1873. SET @Exceeding = @II
  1874. END
  1875. SET @i = @i + 1
  1876. END
  1877. SELECT @NextRunTime = dbo.MergeDate(@Now, @ActiveStartTime) + @Exceeding, @IsOk = 1
  1878. END
  1879. END
  1880. ELSE IF @FreqType = 16 --按月间隔,周、月都是执行一次
  1881. BEGIN
  1882. SELECT @Exceeding = DATEDIFF(MONTH, @StartDate, @Now) / @FreqInterval, @I = 1
  1883. SELECT @PlanTime = DATEADD(MONTH, @Exceeding * @FreqInterval, @StartDate)
  1884. WHILE @PlanTime < @Now
  1885. BEGIN
  1886. SELECT @PlanTime = DATEADD(MONTH, @FreqInterval, @PlanTime)
  1887. SELECT @I = @I + 1
  1888. END
  1889. SET @NextRunTime = @PlanTime
  1890. END
  1891. RETURN @NextRunTime
  1892. END
  1893. GO
  1894. /****** Object: UserDefinedFunction [dbo].[GetNextSchedule] Script Date: 2018/12/13 18:28:24 ******/
  1895. SET ANSI_NULLS ON
  1896. GO
  1897. SET QUOTED_IDENTIFIER ON
  1898. GO
  1899. create function [dbo].[GetNextSchedule]
  1900. (
  1901. @schScheduleId AS INT
  1902. )
  1903. RETURNS SMALLDATETIME
  1904. AS
  1905. BEGIN
  1906. DECLARE @FreqType AS TINYINT,
  1907. @FreqINTerval AS TINYINT,
  1908. @FreqSubdayType AS TINYINT,
  1909. @FreqSubdayInterval AS SMALLINT,
  1910. @ActiveStartDate AS VARCHAR(8),
  1911. @ActiveEndDate AS VARCHAR(8),
  1912. @ActiveStartTime AS VARCHAR(4),
  1913. @ActiveEndTime AS VARCHAR(4),
  1914. @StartDate AS SMALLDATETIME,
  1915. @EndDate AS SMALLDATETIME,
  1916. @NextRunTime AS SMALLDATETIME,
  1917. @PlanTime AS SMALLDATETIME,
  1918. @I AS INT,
  1919. @II AS INT,
  1920. @Exceeding AS INT,
  1921. @IsOk AS INT,
  1922. @Now AS SMALLDATETIME
  1923. --获取计划任务数据
  1924. SELECT @FreqType = FreqType,
  1925. @FreqInterval = FreqInterval,
  1926. @FreqSubdayType = FreqSubdayType,
  1927. @FreqSubdayInterval = FreqSubdayInterval,
  1928. @ActiveStartDate = CONVERT(VARCHAR(8), ActiveStartDate),
  1929. @ActiveEndDate = CONVERT(VARCHAR(8), ActiveEndDate),
  1930. @ActiveStartTime = CONVERT(VARCHAR(4), ActiveStartTime),
  1931. @ActiveEndTime = CONVERT(VARCHAR(4), ActiveEndTime),
  1932. @IsOk = 0,
  1933. @Now = CONVERT(VARCHAR(16), GETDATE(),120)
  1934. FROM MainDb..schSchedule WITH(NOLOCK)
  1935. WHERE ID = @schScheduleId
  1936. --计算开始时间和结束时间
  1937. SELECT @StartDate = dbo.MergeDate(@ActiveStartDate, @ActiveStartTime),
  1938. @EndDate = dbo.MergeDate(@ActiveEndDate, @ActiveEndTime)
  1939. IF @EndDate <= @Now --如果结束时间<当前,直接退出
  1940. BEGIN
  1941. SELECT @NextRunTime = NULL
  1942. END
  1943. ELSE IF @FreqType = 1 --执行一次
  1944. BEGIN
  1945. --如果开始时间>当前,则返回开始时间,否则返回null
  1946. IF @StartDate > @Now
  1947. SELECT @NextRunTime = @StartDate
  1948. ELSE
  1949. SELECT @NextRunTime = NULL
  1950. END
  1951. ELSE IF @FreqType = 4 --每日执行
  1952. BEGIN
  1953. IF @StartDate > @Now --如果开始时间>当前,下一次=开始时间
  1954. SELECT @PlanTime = @StartDate
  1955. ELSE
  1956. BEGIN
  1957. --计算从今天起再过几天(@Exceeding)是下次执行日期
  1958. SELECT @Exceeding = DATEDIFF(DAY, @StartDate, @Now) % @FreqInterval
  1959. IF(@Exceeding > 0)
  1960. SELECT @Exceeding = @FreqInterval - @Exceeding
  1961. --得出自今日-点期最近一次执行日期
  1962. SELECT @PlanTime = dbo.MergeDate(@Now + @Exceeding, @ActiveStartTime)
  1963. IF @PlanTime > @Now
  1964. SELECT @NextRunTime = @PlanTime, @IsOk = 1
  1965. ELSE
  1966. BEGIN
  1967. --下次执行日期<当前
  1968. --如果间隔内循环 分钟
  1969. IF @FreqSubdayType >= 4
  1970. BEGIN
  1971. IF @FreqSubdayType = 8
  1972. SELECT @FreqSubdayInterval = @FreqSubdayInterval * 60
  1973. --计算到下次执行,间隔多少分钟
  1974. SELECT @Exceeding = DATEDIFF(MINUTE, @PlanTime, @Now) % @FreqSubdayInterval
  1975. IF(@Exceeding > 0)
  1976. SELECT @Exceeding = @FreqSubdayInterval - @Exceeding
  1977. SELECT @NextRunTime = DATEADD(MINUTE, @Exceeding, @Now)
  1978. IF @NextRunTime <= @Now --如果是当前一分钟,则+1分钟
  1979. SELECT @NextRunTime = DATEADD(MINUTE, @FreqSubdayInterval, @NextRunTime)
  1980. IF @NextRunTime < CONVERT(VARCHAR(10), @Now + 1, 120)
  1981. SELECT @IsOk = 1
  1982. END
  1983. IF(@IsOk = 0) --间隔内不循环或者本日无法循环,则到下一执行日期
  1984. SET @NextRunTime = @PlanTime + @FreqInterval
  1985. END
  1986. END
  1987. END
  1988. ELSE IF @FreqType = 8 --按周间隔,周、月都是执行一次
  1989. BEGIN
  1990. DECLARE @w AS INT, @TodayPower AS INT
  1991. SELECT @w = DATEPART(W, @Now) --1周日,2 周一,。。。7周六
  1992. SELECT @TodayPower = POWER(2, @w - 1), @i = 8, @Exceeding = 7
  1993. IF (@FreqInterval & @TodayPower = @TodayPower) --今日是执行日期
  1994. BEGIN
  1995. SELECT @PlanTime = dbo.MergeDate(@Now, @ActiveStartTime)
  1996. IF @PlanTime > @Now --执行时间
  1997. SELECT @NextRunTime = @PlanTime, @IsOk = 1
  1998. END
  1999. IF(@IsOk = 0) --本日不执行,或者本日时间已过,则到下一执行日期
  2000. BEGIN
  2001. WHILE @I < 15
  2002. BEGIN
  2003. IF (@FreqInterval & POWER(2, @I - 8) = POWER(2, @I - 8))
  2004. BEGIN
  2005. SELECT @II = (@i - @w) % 7
  2006. IF(@Exceeding > @II AND @II > 0)
  2007. SET @Exceeding = @II
  2008. END
  2009. SET @i = @i + 1
  2010. END
  2011. SELECT @NextRunTime = dbo.MergeDate(@Now, @ActiveStartTime) + @Exceeding, @IsOk = 1
  2012. END
  2013. END
  2014. ELSE IF @FreqType = 16 --按月间隔,周、月都是执行一次
  2015. BEGIN
  2016. SELECT @Exceeding = DATEDIFF(MONTH, @StartDate, @Now) / @FreqInterval, @I = 1
  2017. SELECT @PlanTime = DATEADD(MONTH, @Exceeding * @FreqInterval, @StartDate)
  2018. WHILE @PlanTime < @Now
  2019. BEGIN
  2020. SELECT @PlanTime = DATEADD(MONTH, @FreqInterval, @PlanTime)
  2021. SELECT @I = @I + 1
  2022. END
  2023. SET @NextRunTime = @PlanTime
  2024. END
  2025. RETURN @NextRunTime
  2026. END
  2027. GO
  2028. /****** Object: UserDefinedFunction [dbo].[GetNumber] Script Date: 2018/12/13 18:28:25 ******/
  2029. SET ANSI_NULLS ON
  2030. GO
  2031. SET QUOTED_IDENTIFIER ON
  2032. GO
  2033. CREATE FUNCTION [dbo].[GetNumber]
  2034. (
  2035. @Text NVARCHAR(100)
  2036. )
  2037. RETURNS INT
  2038. AS
  2039. BEGIN
  2040. DECLARE @I INT, @chr NCHAR(1), @Id VARCHAR(10)
  2041. SELECT @i = 0, @Id = ''
  2042. WHILE @i < LEN(@Text)
  2043. BEGIN
  2044. SET @i = @i + 1
  2045. SET @chr = SUBSTRING(@Text, @i, 1)
  2046. IF @Chr IN('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
  2047. SET @Id = @Id + @Chr
  2048. ELSE
  2049. IF LEN(@Id) > 0
  2050. BREAK
  2051. END
  2052. IF LEN(@Id) > 0
  2053. SET @i = CONVERT(INT, @Id)
  2054. ELSE
  2055. SET @i = 0
  2056. RETURN @i
  2057. END
  2058. GO
  2059. /****** Object: UserDefinedFunction [dbo].[GetOldManagerUserName] Script Date: 2018/12/13 18:28:25 ******/
  2060. SET ANSI_NULLS ON
  2061. GO
  2062. SET QUOTED_IDENTIFIER ON
  2063. GO
  2064. CREATE function [dbo].[GetOldManagerUserName]
  2065. (
  2066. @ManagerUserId INT,
  2067. @Date DATETIME
  2068. )
  2069. RETURNS NVARCHAR(10)
  2070. AS
  2071. BEGIN
  2072. DECLARE @N AS NVARCHAR(10)
  2073. SELECT TOP 1 @n = a.Name
  2074. FROM OaDb..WorkUser a, Oadb..Contract b
  2075. WHERE a.ManagerUserId = @ManagerUserId
  2076. AND a.Id = b.WorkUserId
  2077. AND @Date BETWEEN b.BeginDate AND b.RealEndDate
  2078. --ORDER BY ISNULL(AnnualDate, AddDate + 365) DESC
  2079. IF ISNULL(@N, '') = ''
  2080. SELECT @n = Name FROM MainDb..ManagerUser WHERE Id = @ManagerUSerId
  2081. RETURN @n
  2082. END
  2083. GO
  2084. /****** Object: UserDefinedFunction [dbo].[GetPaName] Script Date: 2018/12/13 18:28:25 ******/
  2085. SET ANSI_NULLS ON
  2086. GO
  2087. SET QUOTED_IDENTIFIER ON
  2088. GO
  2089. --#########################################################33
  2090. --Lambo 20110221
  2091. --Lucifer 20180425
  2092. --#########################################################33
  2093. CREATE FUNCTION [dbo].[GetPaName]
  2094. (
  2095. @cvMainID INT,
  2096. @cpMainID INT
  2097. )
  2098. RETURNS NVARCHAR(20)
  2099. AS
  2100. BEGIN
  2101. DECLARE @ReturnName NVARCHAR(20),
  2102. @cpMemeberType INT,
  2103. @Name NVARCHAR(20),
  2104. @JobName NVARCHAR(50),
  2105. @IsNameHiden BIT,
  2106. @Gender BIT,
  2107. @showType INT,
  2108. @SecondId VARCHAR(10)
  2109. SELECT TOP 1 @Name = b.Name,
  2110. @Gender = b.Gender,
  2111. @JobName = a.JobName,
  2112. @IsNameHiden = a.IsNameHidden ,
  2113. @SecondId = a.SecondId
  2114. FROM cvMain a WITH(NOLOCK)
  2115. INNER JOIN paMain b WITH(NOLOCK) ON a.paMainID = b.ID
  2116. WHERE a.ID = @cvMainID
  2117. SET @showType = dbo.GetChatPrivi(@cvMainID, @cpMainID)
  2118. IF @showType = 0
  2119. BEGIN
  2120. SET @ReturnName = ISNULL(@JobName, @SecondId)
  2121. END
  2122. ELSE
  2123. BEGIN
  2124. IF EXISTS (SELECT 'x' FROM ExJobApply a WITH(NOLOCK),Job b
  2125. WHERE a.JobID = b.ID
  2126. AND a.cvMainID = @cvMainID
  2127. AND b.cpMainID = @cpMainID
  2128. )
  2129. SET @ReturnName = @Name
  2130. ELSE
  2131. BEGIN
  2132. IF @IsNameHiden = 1
  2133. BEGIN
  2134. IF @Gender = 1
  2135. SET @ReturnName = LEFT(@Name, 1) + '女士/小姐'
  2136. ELSE
  2137. SET @ReturnName = LEFT(@Name, 1) + '先生'
  2138. END
  2139. ELSE
  2140. SET @ReturnName = @Name
  2141. END
  2142. END
  2143. RETURN @ReturnName
  2144. END
  2145. GO
  2146. /****** Object: UserDefinedFunction [dbo].[GetPaOnlineStatus] Script Date: 2018/12/13 18:28:25 ******/
  2147. SET ANSI_NULLS ON
  2148. GO
  2149. SET QUOTED_IDENTIFIER ON
  2150. GO
  2151. CREATE FUNCTION [dbo].[GetPaOnlineStatus]
  2152. (
  2153. @paMainID INT
  2154. )
  2155. RETURNS BIT
  2156. AS
  2157. BEGIN
  2158. DECLARE @IsOnline AS BIT
  2159. SELECT @IsOnline = IsOnline FROM paOnline With(NOLOCK) WHERE paMainID = @paMainID
  2160. RETURN ISNULL(@IsOnline, 0)
  2161. END
  2162. GO
  2163. /****** Object: UserDefinedFunction [dbo].[GetPaPhotoByCpView] Script Date: 2018/12/13 18:28:25 ******/
  2164. SET ANSI_NULLS ON
  2165. GO
  2166. SET QUOTED_IDENTIFIER ON
  2167. GO
  2168. CREATE FUNCTION [dbo].[GetPaPhotoByCpView]
  2169. (
  2170. @cvMainID INT,
  2171. @cpMainID INT
  2172. )
  2173. RETURNS VARCHAR(50)
  2174. AS
  2175. BEGIN
  2176. DECLARE @PhotoPath VARCHAR(50)
  2177. DECLARE @MemberType TINYINT
  2178. SELECT @MemberType = MemberType
  2179. FROM cpMain WITH(NOLOCK)
  2180. WHERE id = @cpMainID
  2181. IF @MemberType < 2
  2182. RETURN ''
  2183. DECLARE @isInActiveLog INT, @isInDailyGiftLog INT, @isApplyCount INT, @paMainID INT
  2184. SELECT @isInActiveLog = 0, @isInDailyGiftLog = 0, @isApplyCount = 0
  2185. IF EXISTS(SELECT TOP 1 'x'
  2186. FROM cpCvPrivi WITH(NOLOCK)
  2187. WHERE cpMainID = @cpMainID
  2188. AND cvMainID = @cvMainID)
  2189. SET @isInDailyGiftLog = 1
  2190. --sean modify at 2018-3-6
  2191. -- IF @isInDailyGiftLog = 0
  2192. -- IF EXISTS(SELECT TOP 1 'x'
  2193. -- FROM caDailyGiftLog WITH(NOLOCK INDEX(PK_caDailyGiftLog))
  2194. -- WHERE cpMainID = @cpMainID
  2195. -- AND cvMainID = @cvMainID)
  2196. -- SET @isInDailyGiftLog = 1
  2197. --
  2198. -- IF @isInDailyGiftLog = 0
  2199. -- BEGIN
  2200. -- DECLARE @t AS TABLE(ID INT)
  2201. -- INSERT INTO @t
  2202. -- SELECT ID FROM cvMain WITH(NOLOCK) WHERE paMainId = @paMainID
  2203. --
  2204. -- IF EXISTS(SELECT TOP 1 'x'
  2205. -- FROM caActiveLog WITH(NOLOCK INDEX(IX_caActiveLog_cpMainID))
  2206. -- WHERE cpMainID = @cpMainID
  2207. -- AND cvMainID IN(SELECT ID FROM @t))
  2208. -- SET @isInActiveLog = 1
  2209. --
  2210. -- IF @isInActiveLog = 0
  2211. -- IF EXISTS(SELECT TOP 1 'x'
  2212. -- FROM ExJobApply a WITH(NOLOCK), Job b
  2213. -- WHERE a.JobID = b.ID
  2214. -- AND a.IsPassed = 1
  2215. -- AND a.cvMainID IN(SELECT ID FROM @t)
  2216. -- AND b.cpMainID = @cpMainID)
  2217. -- SET @isApplyCount = 1
  2218. -- END
  2219. IF @isInActiveLog + @isInDailyGiftLog + @isApplyCount = 0
  2220. RETURN ''
  2221. SELECT @paMainId = paMainId FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID
  2222. SELECT @PhotoPath = PhotoProcessed
  2223. FROM paPhoto a WITH(NOLOCK INDEX(IX_paPhoto_paMainId))
  2224. WHERE paMainID = @paMainId
  2225. RETURN @PhotoPath
  2226. END
  2227. GO
  2228. /****** Object: UserDefinedFunction [dbo].[GetPersonName] Script Date: 2018/12/13 18:28:25 ******/
  2229. SET ANSI_NULLS ON
  2230. GO
  2231. SET QUOTED_IDENTIFIER ON
  2232. GO
  2233. --#########################################################33
  2234. --Lucifer 20131202
  2235. --Lucifer 20180425
  2236. --#########################################################33
  2237. CREATE FUNCTION [dbo].[GetPersonName]
  2238. (
  2239. @cvMainID INT,
  2240. @cpMainID INT
  2241. )
  2242. RETURNS VARCHAR(50)
  2243. AS
  2244. BEGIN
  2245. RETURN dbo.GetPaName(@cvMainID, @cpMainID)
  2246. --DECLARE @ReturnName NVARCHAR(20)
  2247. --DECLARE @cpMemeberType INT
  2248. --DECLARE @Name NVARCHAR(20)
  2249. --DECLARE @JobName NVARCHAR(20)
  2250. --DECLARE @IsNameHiden BIT
  2251. --DECLARE @Gender BIT
  2252. --DECLARE @showType INT
  2253. --DECLARE @showDownload INT
  2254. --SELECT TOP 1 @Name = b.Name,
  2255. -- @Gender = b.Gender,
  2256. -- @JobName = a.JobName,
  2257. -- @IsNameHiden = a.IsNameHidden
  2258. --FROM cvMain a WITH(NOLOCK)
  2259. --INNER JOIN paMain b WITH(NOLOCK) ON a.paMainID = b.ID
  2260. --WHERE a.ID = @cvMainID
  2261. --SELECT @cpMemeberType = MemberType FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID
  2262. --SET @showType = 1 --0姓名;1职位, 2不隐藏姓名
  2263. --SET @showDownload = 0
  2264. --IF EXISTS (
  2265. -- SELECT 'x' FROM ExJobApply a WITH(NOLOCK),Job b
  2266. -- WHERE a.JobID = b.ID
  2267. -- AND a.cvMainID = @cvMainID
  2268. -- AND b.cpMainID = @cpMainID
  2269. --)
  2270. -- SET @showType = 2
  2271. --ELSE IF @cpMemeberType IN(10, 11)
  2272. --BEGIN
  2273. -- IF EXISTS(
  2274. -- SELECT 'x' FROM CaCvQuotaLog WITH(NOLOCK)
  2275. -- WHERE cpMainID = @cpMainID
  2276. -- AND cvMainID = @cvMainID
  2277. -- )
  2278. -- SET @showType = 0
  2279. -- ELSE
  2280. -- BEGIN
  2281. -- IF @cpMemeberType = 11
  2282. -- IF EXISTS(
  2283. -- SELECT 'x' FROM caBalanceLog WITH(NOLOCK)
  2284. -- WHERE cpMainID = @cpMainID
  2285. -- AND cvMainID = @cvMainID
  2286. -- AND CONVERT(VARCHAR(100), AddDate, 23) = CONVERT(VARCHAR(100), GETDATE(), 23)
  2287. -- )
  2288. -- SET @showType = 0
  2289. -- END
  2290. --END
  2291. --ELSE
  2292. --BEGIN
  2293. -- DECLARE @isInActiveLog INT
  2294. -- DECLARE @isInDailyGiftLog INT
  2295. -- ----日赠送中有下载
  2296. -- SELECT @isInDailyGiftLog = COUNT(1) FROM caDailyGiftLog WITH(NOLOCK)
  2297. -- WHERE cpMainID = @cpMainID
  2298. -- AND cvMainID = @cvMainID
  2299. -- IF @isInDailyGiftLog > 0
  2300. -- BEGIN
  2301. -- SET @showType = 0
  2302. -- SET @showDownload = 1
  2303. -- END
  2304. -- ELSE
  2305. -- BEGIN
  2306. -- ----简历下载中有下载
  2307. -- SELECT @isInActiveLog = COUNT(1) FROM caActiveLog WITH(NOLOCK)
  2308. -- WHERE cpMainID = @cpMainID
  2309. -- AND cvMainID = @cvMainID
  2310. -- If @isInActiveLog>0
  2311. -- BEGIN
  2312. -- SET @showType = 0
  2313. -- SET @showDownload = 1
  2314. -- END
  2315. -- ELSE
  2316. -- BEGIN
  2317. -- ----申请职位是的新状态是pass
  2318. -- IF EXISTS (
  2319. -- SELECT 'x' FROM ExJobApply a WITH(NOLOCK),Job b WITH(NOLOCK)
  2320. -- WHERE a.JobID = b.ID
  2321. -- AND a.IsPassed = 1
  2322. -- AND a.cvMainID = @cvMainID
  2323. -- AND b.cpMainID = @cpMainID
  2324. -- )
  2325. -- SET @showType = 0
  2326. -- END
  2327. -- END
  2328. --END
  2329. --IF @showType = 0 --姓名
  2330. --BEGIN
  2331. -- SET @ReturnName = @Name
  2332. -- IF @IsNameHiden = 1
  2333. -- IF @Gender = 1
  2334. -- SET @ReturnName = LEFT(@ReturnName, 1) + '女士/小姐'
  2335. -- ELSE
  2336. -- SET @ReturnName = LEFT(@ReturnName, 1) + '先生'
  2337. --END
  2338. --ELSE IF @showType = 2 --姓名
  2339. -- SET @ReturnName = @Name
  2340. --ELSE
  2341. -- SET @ReturnName = ISNULL(@JobName, LTRIM(STR(@cvMainID)))
  2342. --IF @showDownload > 0
  2343. -- SET @ReturnName = '$$##' + @ReturnName
  2344. --RETURN @ReturnName
  2345. END
  2346. GO
  2347. /****** Object: UserDefinedFunction [dbo].[GetPrivi] Script Date: 2018/12/13 18:28:25 ******/
  2348. SET ANSI_NULLS ON
  2349. GO
  2350. SET QUOTED_IDENTIFIER ON
  2351. GO
  2352. CREATE FUNCTION [dbo].[GetPrivi]
  2353. (
  2354. @ManagerUserID AS SMALLINT,
  2355. @DataSourceID INT,
  2356. @Pos INT
  2357. )
  2358. RETURNS CHAR(1)
  2359. AS
  2360. BEGIN
  2361. DECLARE @RoleID AS INT, @Privi AS VARCHAR(20)
  2362. SELECT @RoleID = RoleID FROM ManagerUser WITH(NOLOCK) WHERE ID = @ManagerUserID
  2363. SELECT @Privi = Privi
  2364. FROM Role_DataSource WITH(NOLOCK)
  2365. WHERE RoleID = @RoleID
  2366. AND DataSourceID = @DataSourceID
  2367. IF LEN(ISNULL(@Privi, '')) = 0
  2368. RETURN 'x'
  2369. RETURN SUBSTRING(@Privi, @Pos, 1)
  2370. END
  2371. GO
  2372. /****** Object: UserDefinedFunction [dbo].[GetPyFirst] Script Date: 2018/12/13 18:28:25 ******/
  2373. SET ANSI_NULLS ON
  2374. GO
  2375. SET QUOTED_IDENTIFIER ON
  2376. GO
  2377. CREATE FUNCTION [dbo].[GetPyFirst](
  2378. @str NVARCHAR(100)
  2379. )
  2380. RETURNS NVARCHAR(4000)
  2381. AS
  2382. BEGIN
  2383. DECLARE @intLen INT
  2384. DECLARE @strRet NVARCHAR(4000)
  2385. DECLARE @temp NVARCHAR(100)
  2386. SET @intLen = LEN(@str)
  2387. SET @strRet = ''
  2388. WHILE @intLen > 0
  2389. BEGIN
  2390. SET @temp = ''
  2391. SELECT @temp = CASE
  2392. WHEN SUBSTRING(@str,@intLen,1) >= '帀' THEN 'Z'
  2393. WHEN SUBSTRING(@str,@intLen,1) >= '丫' THEN 'Y'
  2394. WHEN SUBSTRING(@str,@intLen,1) >= '夕' THEN 'X'
  2395. WHEN SUBSTRING(@str,@intLen,1) >= '屲' THEN 'W'
  2396. WHEN SUBSTRING(@str,@intLen,1) >= '他' THEN 'T'
  2397. WHEN SUBSTRING(@str,@intLen,1) >= '仨' THEN 'S'
  2398. WHEN SUBSTRING(@str,@intLen,1) >= '呥' THEN 'R'
  2399. WHEN SUBSTRING(@str,@intLen,1) >= '七' THEN 'Q'
  2400. WHEN SUBSTRING(@str,@intLen,1) >= '妑' THEN 'P'
  2401. WHEN SUBSTRING(@str,@intLen,1) >= '噢' THEN 'O'
  2402. WHEN SUBSTRING(@str,@intLen,1) >= '拏' THEN 'N'
  2403. WHEN SUBSTRING(@str,@intLen,1) >= '嘸' THEN 'M'
  2404. WHEN SUBSTRING(@str,@intLen,1) >= '垃' THEN 'L'
  2405. WHEN SUBSTRING(@str,@intLen,1) >= '咔' THEN 'K'
  2406. WHEN SUBSTRING(@str,@intLen,1) >= '丌' THEN 'J'
  2407. WHEN SUBSTRING(@str,@intLen,1) >= '铪' THEN 'H'
  2408. WHEN SUBSTRING(@str,@intLen,1) >= '旮' THEN 'G'
  2409. WHEN SUBSTRING(@str,@intLen,1) >= '发' THEN 'F'
  2410. WHEN SUBSTRING(@str,@intLen,1) >= '妸' THEN 'E'
  2411. WHEN SUBSTRING(@str,@intLen,1) >= '咑' THEN 'D'
  2412. WHEN SUBSTRING(@str,@intLen,1) >= '嚓' THEN 'C'
  2413. WHEN SUBSTRING(@str,@intLen,1) >= '八' THEN 'B'
  2414. WHEN SUBSTRING(@str,@intLen,1) >= '吖' THEN 'A'
  2415. ELSE RTRIM(LTRIM(SUBSTRING(@str,@intLen,1)))
  2416. END
  2417. --对于汉字特殊字符,不生成拼音码
  2418. IF ASCII(@temp) > 127
  2419. SET @temp = ''
  2420. --对于英文中小括号,不生成拼音码
  2421. IF @temp = '(' OR @temp = ')'
  2422. SET @temp = ''
  2423. SELECT @strRet = @temp + @strRet
  2424. SET @intLen = @intLen - 1
  2425. END
  2426. RETURN LOWER(@strRet)
  2427. END
  2428. GO
  2429. /****** Object: UserDefinedFunction [dbo].[GetRegionAll] Script Date: 2018/12/13 18:28:25 ******/
  2430. SET ANSI_NULLS ON
  2431. GO
  2432. SET QUOTED_IDENTIFIER ON
  2433. GO
  2434. CREATE function [dbo].[GetRegionAll]
  2435. (
  2436. @ID VARCHAR(6)
  2437. )
  2438. RETURNS NVARCHAR(20)
  2439. AS
  2440. BEGIN
  2441. RETURN (SELECT FullName FROM dcREgion WITH(NOLOCK) WHERE ID = @ID)
  2442. END
  2443. GO
  2444. /****** Object: UserDefinedFunction [dbo].[GetTop5JobIDs] Script Date: 2018/12/13 18:28:26 ******/
  2445. SET ANSI_NULLS ON
  2446. GO
  2447. SET QUOTED_IDENTIFIER ON
  2448. GO
  2449. create FUNCTION [dbo].[GetTop5JobIDs]
  2450. (
  2451. @JobIds AS VARCHAR(MAX)
  2452. )
  2453. RETURNS VARCHAR(MAX)
  2454. AS
  2455. BEGIN
  2456. DECLARE @i INT, @Num INT, @StrSource VARCHAR(MAX), @s VARCHAR(50)
  2457. SELECT @StrSource = RTRIM(LTRIM(@JobIds))
  2458. SELECT @i = CHARINDEX(',', @StrSource), @Num = 0, @s = ''
  2459. IF @i = 0
  2460. RETURN @StrSource
  2461. WHILE @i >= 1 AND @Num < 5
  2462. BEGIN
  2463. IF LEFT(@StrSource, @i - 1) > ''
  2464. SELECT @s = @s + ',' + LEFT(@StrSource, @i - 1), @Num = @Num + 1
  2465. SELECT @StrSource = SUBSTRING(@StrSource, @i + 1, LEN(@StrSource) - @i)
  2466. SELECT @i = CHARINDEX(',', @StrSource)
  2467. END
  2468. IF @Num < 5 AND @StrSource <> '' AND @i = 0
  2469. SELECT @s = @s + ',' + @StrSource
  2470. IF LEFT(@s, 1) = ','
  2471. SELECT @s = RIGHT(@s, LEN(@s) - 1)
  2472. RETURN @s
  2473. END
  2474. GO
  2475. /****** Object: UserDefinedFunction [dbo].[HaveChinese] Script Date: 2018/12/13 18:28:26 ******/
  2476. SET ANSI_NULLS ON
  2477. GO
  2478. SET QUOTED_IDENTIFIER ON
  2479. GO
  2480. CREATE Function [dbo].[HaveChinese]
  2481. (
  2482. @Str varchar(4000)
  2483. )
  2484. RETURNS BIT
  2485. AS
  2486. BEGIN
  2487. DECLARE @IsHave BIT
  2488. IF @Str LIKE N'%[吖-咗]%' COLLATE Chinese_PRC_CI_AS
  2489. BEGIN
  2490. SET @IsHave = 1
  2491. END
  2492. ELSE
  2493. BEGIN
  2494. SET @IsHave = 0
  2495. END
  2496. RETURN @IsHave
  2497. END
  2498. GO
  2499. /****** Object: UserDefinedFunction [dbo].[HtmlPos] Script Date: 2018/12/13 18:28:26 ******/
  2500. SET ANSI_NULLS ON
  2501. GO
  2502. SET QUOTED_IDENTIFIER ON
  2503. GO
  2504. CREATE FUNCTION [dbo].[HtmlPos]
  2505. (
  2506. @s VARCHAR(MAX)
  2507. )
  2508. RETURNS INT
  2509. AS
  2510. BEGIN
  2511. DECLARE @t AS TABLE(P INT)
  2512. INSERT @t SELECT CHARINDEX('<p', @s)
  2513. INSERT @t SELECT CHARINDEX('<strong', @s)
  2514. INSERT @t SELECT CHARINDEX('<div', @s)
  2515. INSERT @t SELECT CHARINDEX('<font', @s)
  2516. INSERT @t SELECT CHARINDEX('<span', @s)
  2517. INSERT @t SELECT CHARINDEX('<b', @s)
  2518. INSERT @t SELECT CHARINDEX('</', @s)
  2519. RETURN ISNULL((SELECT MIN(p) FROM @t WHERE p > 0), 0)
  2520. END
  2521. GO
  2522. /****** Object: UserDefinedFunction [dbo].[Int2Bin] Script Date: 2018/12/13 18:28:26 ******/
  2523. SET ANSI_NULLS ON
  2524. GO
  2525. SET QUOTED_IDENTIFIER ON
  2526. GO
  2527. create FUNCTION [dbo].[Int2Bin](@i int)
  2528. returns varchar(31)
  2529. as
  2530. begin
  2531. declare @s varchar(31);
  2532. set @s=''
  2533. while (@i>0)
  2534. select @s=cast(@i%2 as varchar)+@s, @i=@i/2
  2535. return(@s)
  2536. end
  2537. GO
  2538. /****** Object: UserDefinedFunction [dbo].[IpPlace] Script Date: 2018/12/13 18:28:26 ******/
  2539. SET ANSI_NULLS ON
  2540. GO
  2541. SET QUOTED_IDENTIFIER ON
  2542. GO
  2543. CREATE Function [dbo].[IpPlace]
  2544. (
  2545. @Str varchar(31)
  2546. )
  2547. RETURNS NVARCHAR(100)
  2548. AS
  2549. BEGIN
  2550. DECLARE @A1 VARCHAR(3), @A2 VARCHAR(3), @A3 VARCHAR(3), @A4 VARCHAR(3)
  2551. DECLARE @b1 BIGINT, @b2 INT, @B3 INT, @B4 INT
  2552. SELECT @A1 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2553. SELECT @A2 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2554. SELECT @A3 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2555. SELECT @A4 = @str
  2556. SELECT @B1 = CONVERT(INT, REPLACE(@A1, '.', '')),
  2557. @B2 = CONVERT(INT, REPLACE(@A2, '.', '')),
  2558. @B3 = CONVERT(INT, REPLACE(@A3, '.', '')),
  2559. @B4 = CONVERT(INT, REPLACE(@A4, '.', ''))
  2560. SELECT @B1 = @B1 * 256*256*256 + @B2 * 256*256 + @b3 * 256 + @b4
  2561. RETURN (SELECT TOP 1 City + ' ' + Provider FROM dcIpPlace WITH(NOLOCK) WHERE @B1 BETWEEN IpStart AND IpEnd)
  2562. END
  2563. GO
  2564. /****** Object: UserDefinedFunction [dbo].[IpPlaceToInt] Script Date: 2018/12/13 18:28:26 ******/
  2565. SET ANSI_NULLS ON
  2566. GO
  2567. SET QUOTED_IDENTIFIER ON
  2568. GO
  2569. CREATE Function [dbo].[IpPlaceToInt]
  2570. (
  2571. @Str varchar(31)
  2572. )
  2573. RETURNS BIGINT
  2574. AS
  2575. BEGIN
  2576. IF @Str NOT LIKE '%.%.%.%'
  2577. RETURN 0
  2578. DECLARE @A1 VARCHAR(3), @A2 VARCHAR(3), @A3 VARCHAR(3), @A4 VARCHAR(3)
  2579. DECLARE @b1 BIGINT, @b2 INT, @B3 INT, @B4 INT
  2580. SELECT @A1 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2581. SELECT @A2 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2582. SELECT @A3 = SUBSTRING(@Str, 1, CHARINDEX('.', @Str)), @Str = SUBSTRING(@Str, CHARINDEX('.', @Str) + 1, LEN(@Str))
  2583. SELECT @A4 = @str
  2584. SELECT @B1 = CONVERT(INT, REPLACE(@A1, '.', '')),
  2585. @B2 = CONVERT(INT, REPLACE(@A2, '.', '')),
  2586. @B3 = CONVERT(INT, REPLACE(@A3, '.', '')),
  2587. @B4 = CONVERT(INT, REPLACE(@A4, '.', ''))
  2588. RETURN @B1 * 256*256*256 + @B2 * 256*256 + @b3 * 256 + @b4
  2589. END
  2590. GO
  2591. /****** Object: UserDefinedFunction [dbo].[IsAccount] Script Date: 2018/12/13 18:28:26 ******/
  2592. SET ANSI_NULLS ON
  2593. GO
  2594. SET QUOTED_IDENTIFIER ON
  2595. GO
  2596. --######################################################3
  2597. --检查是否有效账号
  2598. --######################################################3
  2599. CREATE FUNCTION [dbo].[IsAccount]
  2600. (
  2601. @str VARCHAR(50)
  2602. )
  2603. RETURNS BIT
  2604. AS
  2605. BEGIN
  2606. DECLARE @ok AS BIT
  2607. SET @ok = 1
  2608. IF @str IS NULL
  2609. SET @ok = 0
  2610. IF @ok = 1
  2611. BEGIN
  2612. SET @str = LOWER(LTRIM(RTRIM(@str)))
  2613. IF (LEN(@str) > 50) OR (LEN(@str) < 6)
  2614. SET @ok = 0
  2615. END
  2616. IF @str LIKE '% %'
  2617. RETURN 0
  2618. IF @ok = 1
  2619. BEGIN
  2620. DECLARE @I AS INT
  2621. DECLARE @ValidChars AS VARCHAR(39)
  2622. SET @ValidChars = 'abcdefghijklmnopqrstuvwxyz0123456789-_.'
  2623. SET @I = 1
  2624. WHILE @I <= LEN(@str)
  2625. BEGIN
  2626. IF CHARINDEX(SUBSTRING(@str, @I, 1), @ValidChars) > 0
  2627. SET @I = @I + 1
  2628. ELSE
  2629. BEGIN
  2630. SET @ok = 0
  2631. SET @I = 100
  2632. END
  2633. END
  2634. END
  2635. RETURN @ok
  2636. END
  2637. GO
  2638. /****** Object: UserDefinedFunction [dbo].[IsChinese] Script Date: 2018/12/13 18:28:26 ******/
  2639. SET ANSI_NULLS ON
  2640. GO
  2641. SET QUOTED_IDENTIFIER ON
  2642. GO
  2643. --######################################################3
  2644. --检查是否汉字
  2645. --######################################################3
  2646. CREATE FUNCTION [dbo].[IsChinese]
  2647. (
  2648. @str VARCHAR(MAX)
  2649. )
  2650. RETURNS BIT
  2651. AS
  2652. BEGIN
  2653. DECLARE @ok AS BIT
  2654. SET @ok = 1
  2655. IF ISNULL(@str, '') = ''
  2656. SET @ok = 0
  2657. IF @ok = 1
  2658. BEGIN
  2659. DECLARE @I AS INT
  2660. SET @I = 1
  2661. WHILE @I <= LEN(@str)
  2662. BEGIN
  2663. IF dbo.HaveChinese(SUBSTRING(@str, @I, 1)) = 1
  2664. SET @I = @I + 1
  2665. ELSE
  2666. BEGIN
  2667. SET @ok = 0
  2668. SET @I = LEN(@str) + 1
  2669. END
  2670. END
  2671. END
  2672. RETURN @ok
  2673. END
  2674. GO
  2675. /****** Object: UserDefinedFunction [dbo].[IsEmail] Script Date: 2018/12/13 18:28:26 ******/
  2676. SET ANSI_NULLS ON
  2677. GO
  2678. SET QUOTED_IDENTIFIER ON
  2679. GO
  2680. --######################################################3
  2681. --检查是否有效邮箱
  2682. --######################################################3
  2683. CREATE FUNCTION [dbo].[IsEmail]
  2684. (
  2685. @str VARCHAR(100)
  2686. )
  2687. RETURNS BIT
  2688. AS
  2689. BEGIN
  2690. DECLARE @ok AS BIT
  2691. SET @ok = 1
  2692. IF @str IS NULL
  2693. SET @ok = 0
  2694. IF @ok = 1
  2695. BEGIN
  2696. SET @str = LOWER(LTRIM(RTRIM(@str)))
  2697. IF LEN(@str) > 50 OR LEN(@str) < 6
  2698. SET @ok = 0
  2699. END
  2700. IF @Str LIKE '% %'
  2701. RETURN 0
  2702. IF @ok = 1
  2703. BEGIN
  2704. DECLARE @t AS TABLE(ID INT IDENTITY(1, 1), S VARCHAR(50))
  2705. INSERT INTO @t (s)
  2706. SELECT * FROM dbo.fnSplit(@str, '@')
  2707. IF(SELECT COUNT(1) FROM @t) <> 2
  2708. SET @ok = 0
  2709. ELSE
  2710. BEGIN
  2711. DECLARE @str1 AS VARCHAR(50)
  2712. SELECT @str1 = S FROM @t WHERE ID = 1
  2713. IF dbo.IsEmailText(@str1, 1) = 0
  2714. SET @ok = 0
  2715. ELSE
  2716. BEGIN
  2717. SELECT @str1 = S FROM @t WHERE ID = 2
  2718. IF dbo.IsEmailText(@str1, 2) = 0
  2719. SET @ok = 0
  2720. END
  2721. END
  2722. END
  2723. RETURN @ok
  2724. END
  2725. GO
  2726. /****** Object: UserDefinedFunction [dbo].[IsEmailText] Script Date: 2018/12/13 18:28:26 ******/
  2727. SET ANSI_NULLS ON
  2728. GO
  2729. SET QUOTED_IDENTIFIER ON
  2730. GO
  2731. --######################################################3
  2732. --检查是否有效邮箱文本,@前后的一部分
  2733. --######################################################3
  2734. CREATE FUNCTION [dbo].[IsEmailText]
  2735. (
  2736. @str VARCHAR(50),
  2737. @Pos INT --1@前,2@后
  2738. )
  2739. RETURNS BIT
  2740. AS
  2741. BEGIN
  2742. DECLARE @ok AS BIT
  2743. SET @ok = 1
  2744. IF @str IS NULL
  2745. SET @ok = 0
  2746. IF @ok = 1
  2747. BEGIN
  2748. SET @str = LOWER(LTRIM(RTRIM(@str)))
  2749. IF (LEN(@str) > 45) OR (LEN(@str) < 1)
  2750. SET @ok = 0
  2751. END
  2752. IF @ok = 1
  2753. BEGIN
  2754. IF @Pos = 1 AND (LEFT(@str, 1) IN ('.', '-', '_') OR RIGHT(@str, 1) IN ('.', '-', '_'))
  2755. SET @ok = 0
  2756. IF @Pos = 2 AND (LEFT(@str, 1) = ('.') OR RIGHT(@str, 1) IN ('.', '-', '_'))
  2757. SET @ok = 0
  2758. IF CHARINDEX('..', @str) > 0
  2759. SET @ok = 0
  2760. END
  2761. IF @ok = 1
  2762. IF @pos = 2
  2763. IF CHARINDEX('.', @str) = 0
  2764. SET @ok = 0
  2765. ELSE
  2766. BEGIN
  2767. DECLARE @t AS TABLE(ID INT IDENTITY(1, 1), S VARCHAR(50))
  2768. INSERT INTO @t(S) SELECT * FROM dbo.fnSplit(@str, '.')
  2769. DECLARE @s AS VARCHAR(50)
  2770. SELECT TOP 1 @s = S FROM @t ORDER BY ID DESC
  2771. IF LEN(@s) < 2 OR LEN(@s) > 8
  2772. SET @ok = 0
  2773. END
  2774. IF @ok = 1
  2775. BEGIN
  2776. DECLARE @I AS INT, @ValidChars AS VARCHAR(39)
  2777. SET @ValidChars = 'abcdefghijklmnopqrstuvwxyz0123456789-_.'
  2778. SET @I = 1
  2779. WHILE @I <= LEN(@str)
  2780. BEGIN
  2781. IF CHARINDEX(SUBSTRING(@str, @I, 1) collate Chinese_PRC_CI_AS_KS_WS, @ValidChars) > 0
  2782. SET @I = @I + 1
  2783. ELSE
  2784. BEGIN
  2785. SET @ok = 0
  2786. SET @I = 100
  2787. END
  2788. END
  2789. END
  2790. RETURN @ok
  2791. END
  2792. GO
  2793. /****** Object: UserDefinedFunction [dbo].[IsEnglish] Script Date: 2018/12/13 18:28:26 ******/
  2794. SET ANSI_NULLS ON
  2795. GO
  2796. SET QUOTED_IDENTIFIER ON
  2797. GO
  2798. --######################################################3
  2799. --检查是否English
  2800. --######################################################3
  2801. CREATE FUNCTION [dbo].[IsEnglish]
  2802. (
  2803. @str VARCHAR(MAX)
  2804. )
  2805. RETURNS BIT
  2806. AS
  2807. BEGIN
  2808. DECLARE @ok AS BIT
  2809. SET @ok = 1
  2810. IF @str IS NULL
  2811. SET @ok = 0
  2812. IF @ok = 1
  2813. BEGIN
  2814. DECLARE @I AS INT
  2815. DECLARE @ValidChars AS VARCHAR(39)
  2816. SET @ValidChars = 'abcdefghijklmnopqrstuvwxyz'
  2817. SET @I = 1
  2818. WHILE @I <= LEN(@str)
  2819. BEGIN
  2820. IF CHARINDEX(SUBSTRING(@str, @I, 1), @ValidChars) > 0
  2821. SET @I = @I + 1
  2822. ELSE
  2823. BEGIN
  2824. SET @ok = 0
  2825. SET @I = LEN(@str) + 1
  2826. END
  2827. END
  2828. END
  2829. RETURN @ok
  2830. END
  2831. GO
  2832. /****** Object: UserDefinedFunction [dbo].[IsFullWidth] Script Date: 2018/12/13 18:28:27 ******/
  2833. SET ANSI_NULLS ON
  2834. GO
  2835. SET QUOTED_IDENTIFIER ON
  2836. GO
  2837. --######################################################3
  2838. --检查是否全角
  2839. --######################################################3
  2840. CREATE FUNCTION [dbo].[IsFullWidth]
  2841. (
  2842. @str VARCHAR(MAX)
  2843. )
  2844. RETURNS BIT
  2845. AS
  2846. BEGIN
  2847. DECLARE @ok AS BIT
  2848. IF DATALENGTH(@str) = LEN(@str) * 2
  2849. SET @ok = 1
  2850. ELSE
  2851. SET @ok = 0
  2852. IF LEN(ISNULL(@str, '')) = 0
  2853. SET @ok = 0
  2854. RETURN @ok
  2855. END
  2856. GO
  2857. /****** Object: UserDefinedFunction [dbo].[IsINT] Script Date: 2018/12/13 18:28:27 ******/
  2858. SET ANSI_NULLS ON
  2859. GO
  2860. SET QUOTED_IDENTIFIER ON
  2861. GO
  2862. --######################################################3
  2863. --检查是否INT
  2864. --######################################################3
  2865. CREATE FUNCTION [dbo].[IsINT]
  2866. (
  2867. @str VARCHAR(MAX)
  2868. )
  2869. RETURNS BIT
  2870. AS
  2871. BEGIN
  2872. DECLARE @ok AS BIT
  2873. SET @ok = 1
  2874. IF @str IS NULL
  2875. SET @ok = 0
  2876. IF @ok = 1
  2877. BEGIN
  2878. DECLARE @I AS INT
  2879. DECLARE @ValidChars AS VARCHAR(39)
  2880. SET @ValidChars = '0123456789'
  2881. SET @I = 1
  2882. WHILE @I <= LEN(@str)
  2883. BEGIN
  2884. IF CHARINDEX(SUBSTRING(@str, @I, 1), @ValidChars) > 0
  2885. SET @I = @I + 1
  2886. ELSE
  2887. BEGIN
  2888. SET @ok = 0
  2889. SET @I = LEN(@str) + 1
  2890. END
  2891. END
  2892. END
  2893. RETURN @ok
  2894. END
  2895. GO
  2896. /****** Object: UserDefinedFunction [dbo].[IsJobApplyFilter] Script Date: 2018/12/13 18:28:27 ******/
  2897. SET ANSI_NULLS ON
  2898. GO
  2899. SET QUOTED_IDENTIFIER ON
  2900. GO
  2901. CREATE FUNCTION [dbo].[IsJobApplyFilter]
  2902. (
  2903. @JobID INT,
  2904. @cvMainID INT
  2905. )
  2906. RETURNS BIT
  2907. AS
  2908. BEGIN
  2909. --获取职位的过滤条件
  2910. DECLARE @FilterMaxDegree AS TINYINT
  2911. DECLARE @FilterMinDegree AS TINYINT
  2912. DECLARE @FilterMaxWorkYear AS TINYINT
  2913. DECLARE @FilterMinWorkYear AS TINYINT
  2914. DECLARE @FilterMaxAge AS TINYINT
  2915. DECLARE @FilterMinAge AS TINYINT
  2916. DECLARE @FilterGender AS VARCHAR(1)
  2917. DECLARE @FilterJobRegion AS VARCHAR(6)
  2918. DECLARE @FilterCvMainID AS VARCHAR(200)
  2919. DECLARE @cpMainID AS INT
  2920. SELECT
  2921. @FilterMaxDegree = FilterMaxDegree,
  2922. @FilterMinDegree = FilterMinDegree,
  2923. @FilterMaxWorkYear = FilterMaxWorkYear,
  2924. @FilterMinWorkYear = FilterMinWorkYear,
  2925. @FilterMaxAge = FilterMaxAge,
  2926. @FilterMinAge = FilterMinAge,
  2927. @FilterGender = FilterGender,
  2928. @FilterJobRegion = FilterJobRegion,
  2929. @FilterCvMainID = FilterCvMainID,
  2930. @cpMainID = cpMainID
  2931. FROM Job WITH(NOLOCK)
  2932. WHERE ID = @JobID
  2933. --获取简历的相关条件
  2934. DECLARE @Gender AS BIT
  2935. DECLARE @Age AS TINYINT
  2936. DECLARE @LivePlace AS VARCHAR(6)
  2937. DECLARE @RelatedWorkYears AS TINYINT
  2938. DECLARE @Degree AS TINYINT
  2939. SELECT
  2940. @LivePlace = b.LivePlace,
  2941. @Gender = b.Gender,
  2942. @Age = dbo.BirthToAge(b.birthday),
  2943. @RelatedWorkYears = a.RelatedWorkYears,
  2944. @Degree = a.Degree
  2945. FROM cvMain a,paMain b WHERE a.ID=@cvMainID AND a.paMainID=b.ID
  2946. --判断性别
  2947. IF LEN(@Gender) <> 0 AND LEN(@FilterGender) <> 0
  2948. BEGIN
  2949. IF @Gender <> @FilterGender
  2950. RETURN 1
  2951. END
  2952. --判断年龄
  2953. IF LEN(@Age) <> 0
  2954. BEGIN
  2955. IF LEN(@FilterMaxAge) <> 0 AND @FilterMaxAge <> 99
  2956. BEGIN
  2957. IF @Age > @FilterMaxAge
  2958. BEGIN
  2959. RETURN 1
  2960. END
  2961. END
  2962. IF LEN(@FilterMinAge) <> 0 AND @FilterMinAge <> 99
  2963. BEGIN
  2964. IF @Age < @FilterMinAge
  2965. BEGIN
  2966. RETURN 1
  2967. END
  2968. END
  2969. END
  2970. --判断工作年限
  2971. IF LEN(@RelatedWorkYears) <> 0
  2972. BEGIN
  2973. IF LEN(@FilterMaxWorkYear) <> 0 AND @FilterMaxWorkYear <> 0
  2974. IF @RelatedWorkYears > @FilterMaxWorkYear
  2975. RETURN 1
  2976. IF LEN(@FilterMinWorkYear) <> 0 AND @FilterMinWorkYear <> 0
  2977. IF @RelatedWorkYears < @FilterMinWorkYear
  2978. RETURN 1
  2979. END
  2980. --判断学历
  2981. IF LEN(@Degree) <> 0
  2982. BEGIN
  2983. IF LEN(@FilterMaxDegree) <> 0 AND @FilterMaxDegree <> 0
  2984. IF @Degree > @FilterMaxDegree
  2985. RETURN 1
  2986. IF LEN(@FilterMinDegree) <> 0 AND @FilterMinDegree <> 0
  2987. IF @Degree < @FilterMinDegree
  2988. RETURN 1
  2989. END
  2990. --判断地区
  2991. IF LEN(@LivePlace) <> 0 AND LEN(@FilterJobRegion) <> 0 AND @FilterJobRegion <> 0
  2992. BEGIN
  2993. IF LEN(@LivePlace) >= LEN(@FilterJobRegion)
  2994. BEGIN
  2995. IF SUBSTRING(@LivePlace,1,LEN(@FilterJobRegion)) <> @FilterJobRegion
  2996. RETURN 1
  2997. END
  2998. ELSE
  2999. BEGIN
  3000. IF SUBSTRING(@FilterJobRegion,1,LEN(@LivePlace)) <> @LivePlace
  3001. RETURN 1
  3002. END
  3003. END
  3004. --判断是否在过滤简历表中
  3005. IF EXISTS(SELECT 'X' FROM cpCvShield WITH(NOLOCK) WHERE cpMainID = @cpMainID and cvMainID=@cvMainID)
  3006. RETURN 1
  3007. RETURN 0
  3008. END
  3009. GO
  3010. /****** Object: UserDefinedFunction [dbo].[ISJobApplyPassed] Script Date: 2018/12/13 18:28:27 ******/
  3011. SET ANSI_NULLS ON
  3012. GO
  3013. SET QUOTED_IDENTIFIER ON
  3014. GO
  3015. --######################################3
  3016. --创建:Sean 2010-11-16
  3017. --判断是否Vip会员
  3018. --######################################3
  3019. CREATE FUNCTION [dbo].[ISJobApplyPassed]
  3020. (
  3021. @JobID INT,
  3022. @cvMainID INT
  3023. )
  3024. RETURNS BIT
  3025. AS
  3026. BEGIN
  3027. DECLARE @cpMainID AS INT
  3028. DECLARE @IsOpen AS BIT
  3029. DECLARE @MemberType AS SMALLDATETIME
  3030. DECLARE @Valid AS INT
  3031. SELECT @IsOpen = IsOpen FROM cvMain WITH(NOLOCK) WHERE ID = @cvMainID
  3032. SELECT @cpMainID = a.ID,
  3033. @MemberType = a.MemberType,
  3034. @Valid = a.Valid
  3035. FROM cpMain a WITH(NOLOCK)
  3036. INNER JOIN Job b WITH(NOLOCK)
  3037. ON a.ID = b.cpMainID
  3038. WHERE b.ID = @JobID
  3039. IF @Valid = 0 ------企业信息无效,返回0
  3040. RETURN 0
  3041. IF @MemberType >= 10 ------储值会员或无限制会员,不享受套餐vip
  3042. RETURN 0
  3043. IF (@IsOpen = 1 AND @MemberType = 2) OR @MemberType = 3 ------开放简历,只要申请,企业就可以查看
  3044. RETURN 1
  3045. RETURN 0
  3046. END
  3047. GO
  3048. /****** Object: UserDefinedFunction [dbo].[IsMobile] Script Date: 2018/12/13 18:28:27 ******/
  3049. SET ANSI_NULLS ON
  3050. GO
  3051. SET QUOTED_IDENTIFIER ON
  3052. GO
  3053. --######################################################3
  3054. --检查是否mobile
  3055. --######################################################3
  3056. CREATE FUNCTION [dbo].[IsMobile]
  3057. (
  3058. @str VARCHAR(MAX)
  3059. )
  3060. RETURNS BIT
  3061. AS
  3062. BEGIN
  3063. DECLARE @ok AS BIT
  3064. SET @ok = 1
  3065. IF @str IS NULL
  3066. RETURN 0
  3067. IF LEN(@str) <> 11
  3068. RETURN 0
  3069. IF LEFT(@str, 2) NOT IN ('13', '14', '15', '16', '17', '18', '19')
  3070. RETURN 0
  3071. --IF CHARINDEX('@', @str) > 0
  3072. -- RETURN 0
  3073. DECLARE @I AS INT
  3074. DECLARE @ValidChars AS VARCHAR(39)
  3075. SET @ValidChars = '0123456789'
  3076. SET @I = 1
  3077. WHILE @I <= LEN(@str)
  3078. BEGIN
  3079. IF CHARINDEX(SUBSTRING(@str, @I, 1), @ValidChars) > 0
  3080. SET @I = @I + 1
  3081. ELSE
  3082. RETURN 0
  3083. END
  3084. RETURN @ok
  3085. END
  3086. GO
  3087. /****** Object: UserDefinedFunction [dbo].[IsNumeric] Script Date: 2018/12/13 18:28:27 ******/
  3088. SET ANSI_NULLS ON
  3089. GO
  3090. SET QUOTED_IDENTIFIER ON
  3091. GO
  3092. --######################################################3
  3093. --检查是否Numeric
  3094. --######################################################3
  3095. CREATE FUNCTION [dbo].[IsNumeric]
  3096. (
  3097. @str VARCHAR(MAX)
  3098. )
  3099. RETURNS BIT
  3100. AS
  3101. BEGIN
  3102. DECLARE @ok AS BIT
  3103. SET @ok = 1
  3104. IF @str IS NULL
  3105. SET @ok = 0
  3106. DECLARE @s AS VARCHAR(MAX)
  3107. SET @s = REPLACE(@str, '.', '')
  3108. IF LEN(@s) < LEN(@str) - 1
  3109. SET @ok = 0
  3110. IF @ok = 1
  3111. BEGIN
  3112. DECLARE @I AS INT
  3113. DECLARE @ValidChars AS VARCHAR(39)
  3114. SET @ValidChars = '0123456789'
  3115. SET @I = 1
  3116. WHILE @I <= LEN(@s)
  3117. BEGIN
  3118. IF CHARINDEX(SUBSTRING(@s, @I, 1), @ValidChars) > 0
  3119. SET @I = @I + 1
  3120. ELSE
  3121. BEGIN
  3122. SET @ok = 0
  3123. SET @I = LEN(@s) + 1
  3124. END
  3125. END
  3126. END
  3127. RETURN @ok
  3128. END
  3129. GO
  3130. /****** Object: UserDefinedFunction [dbo].[IsPassword] Script Date: 2018/12/13 18:28:28 ******/
  3131. SET ANSI_NULLS ON
  3132. GO
  3133. SET QUOTED_IDENTIFIER ON
  3134. GO
  3135. --######################################################3
  3136. ----检查是否有效密码 = 检查是否有效账号(tmp)
  3137. --######################################################3
  3138. CREATE FUNCTION [dbo].[IsPassword]
  3139. (
  3140. @str VARCHAR(60)
  3141. )
  3142. RETURNS BIT
  3143. AS
  3144. BEGIN
  3145. IF LEN(ISNULL(@Str, '')) <> 60
  3146. RETURN 0
  3147. RETURN 1
  3148. /*
  3149. DECLARE @ok AS BIT
  3150. SET @ok = 1
  3151. IF @str IS NULL
  3152. SET @ok = 0
  3153. IF @ok = 1
  3154. BEGIN
  3155. SET @str = LOWER(LTRIM(RTRIM(@str)))
  3156. IF (LEN(@str) > 50) OR (LEN(@str) < 6)
  3157. SET @ok = 0
  3158. END
  3159. IF @ok = 1
  3160. BEGIN
  3161. DECLARE @I AS INT
  3162. DECLARE @ValidChars AS VARCHAR(39)
  3163. SET @ValidChars = 'abcdefghijklmnopqrstuvwxyz0123456789-_.'
  3164. SET @I = 1
  3165. WHILE @I <= LEN(@str)
  3166. BEGIN
  3167. IF CHARINDEX(SUBSTRING(@str, @I, 1), @ValidChars) > 0
  3168. SET @I = @I + 1
  3169. ELSE
  3170. BEGIN
  3171. SET @ok = 0
  3172. SET @I = 100
  3173. END
  3174. END
  3175. END
  3176. RETURN @ok
  3177. */
  3178. END
  3179. GO
  3180. /****** Object: UserDefinedFunction [dbo].[IsSafeSQL] Script Date: 2018/12/13 18:28:28 ******/
  3181. SET ANSI_NULLS ON
  3182. GO
  3183. SET QUOTED_IDENTIFIER ON
  3184. GO
  3185. --#############################333
  3186. --安全的sql语句用于exec
  3187. --Sean 2013-8-23
  3188. --#############################333
  3189. CREATE FUNCTION [dbo].[IsSafeSQL]
  3190. (
  3191. @inputText VARCHAR(MAX)
  3192. )
  3193. RETURNS INT
  3194. AS
  3195. BEGIN
  3196. IF @inputText IS NULL
  3197. RETURN 1
  3198. DECLARE @sText VARCHAR(Max)
  3199. SET @SText = @inputText
  3200. SET @sText = REPLACE(@sText, '--','——')
  3201. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  3202. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  3203. SET @sText = REPLACE(@sText, 'create ','create&nbsp;')
  3204. SET @sText = REPLACE(@sText, 'drop ','drop&nbsp;')
  3205. SET @sText = REPLACE(@sText, 'insert ','insert&nbsp;')
  3206. SET @sText = REPLACE(@sText, 'chr(','chr(&nbsp;')
  3207. SET @sText = REPLACE(@sText, 'master ','master&nbsp;')
  3208. SET @sText = REPLACE(@sText, 'net user','net&nbsp;user')
  3209. SET @sText = REPLACE(@sText, 'declare ','declare&nbsp;')
  3210. SET @sText = REPLACE(@sText, 'char(','char(&nbsp;')
  3211. SET @sText = REPLACE(@sText, 'mid(','mid(&nbsp;')
  3212. SET @sText = REPLACE(@sText, 'count ','count&nbsp;')
  3213. SET @sText = REPLACE(@sText, 'xp_cmdshell','xp_cmdshell&nbsp;')
  3214. SET @sText = REPLACE(@sText, 'exec ','exec&nbsp;')
  3215. SET @sText = REPLACE(@sText, 'truncate ','truncate&nbsp;')
  3216. SET @sText = REPLACE(@sText, 'ascii(','ascii(&nbsp;')
  3217. SET @sText = REPLACE(@sText, 'substring(','substring(&nbsp;')
  3218. SET @sText = REPLACE(@sText, 'localgroup ','localgroup&nbsp;')
  3219. SET @sText = REPLACE(@sText, 'administrators ','administrators&nbsp;')
  3220. SET @sText = REPLACE(@sText, 'dbcc ','dbcc&nbsp;')
  3221. SET @sText = REPLACE(@sText, 'checkdb(','checkdb(&nbsp;')
  3222. SET @sText = REPLACE(@sText, 'sp_addsrvrolemember','p_addsrvrolemember&nbsp;')
  3223. SET @sText = REPLACE(@sText, 'wscript.shell','wscript.shell&nbsp;')
  3224. IF @SText = @inputText
  3225. RETURN 1
  3226. ELSE
  3227. RETURN 0
  3228. RETURN 0
  3229. END
  3230. GO
  3231. /****** Object: UserDefinedFunction [dbo].[JobApplyName] Script Date: 2018/12/13 18:28:28 ******/
  3232. SET ANSI_NULLS ON
  3233. GO
  3234. SET QUOTED_IDENTIFIER ON
  3235. GO
  3236. CREATE FUNCTION [dbo].[JobApplyName]
  3237. (
  3238. @IsNameHidden BIT,
  3239. @paName VARCHAR(12),
  3240. @Gender BIT
  3241. )
  3242. RETURNS VARCHAR(50)
  3243. AS
  3244. BEGIN
  3245. IF @IsNameHidden = 0
  3246. RETURN @paName
  3247. SET @paName = LEFT(@paName, 1)
  3248. IF @Gender = 0
  3249. RETURN @paName + '先生'
  3250. RETURN @paName + '女士/小姐'
  3251. END
  3252. GO
  3253. /****** Object: UserDefinedFunction [dbo].[JobValid] Script Date: 2018/12/13 18:28:28 ******/
  3254. SET ANSI_NULLS ON
  3255. GO
  3256. SET QUOTED_IDENTIFIER ON
  3257. GO
  3258. CREATE FUNCTION [dbo].[JobValid]
  3259. (
  3260. @IsDelete BIT,
  3261. @VerifyResult TINYINT,
  3262. @IssueDate SMALLDATETIME,
  3263. @IssueEnd SMALLDATETIME
  3264. )
  3265. RETURNS BIT
  3266. AS
  3267. BEGIN
  3268. IF @IsDelete = 1
  3269. RETURN 0
  3270. IF @VerifyResult<>1
  3271. RETURN 0
  3272. IF @IssueDate<GETDATE() AND @IssueEnd>GETDATE()
  3273. RETURN 1
  3274. RETURN 0
  3275. END
  3276. GO
  3277. /****** Object: UserDefinedFunction [dbo].[MapBarRegionName] Script Date: 2018/12/13 18:28:28 ******/
  3278. SET ANSI_NULLS ON
  3279. GO
  3280. SET QUOTED_IDENTIFIER ON
  3281. GO
  3282. CREATE FUNCTION [dbo].[MapBarRegionName]
  3283. (
  3284. @Id VARCHAR(6)
  3285. )
  3286. RETURNS NVARCHAR(20)
  3287. BEGIN
  3288. RETURN (SELECT MapBarName FROM dcREgion WITH(NOLOCK) WHERE ID = @ID)
  3289. END
  3290. GO
  3291. /****** Object: UserDefinedFunction [dbo].[MemberType] Script Date: 2018/12/13 18:28:28 ******/
  3292. SET ANSI_NULLS ON
  3293. GO
  3294. SET QUOTED_IDENTIFIER ON
  3295. GO
  3296. --######################################3
  3297. --创建:Sean 2010-11-16
  3298. --判断企业用户类型
  3299. --######################################3
  3300. CREATE FUNCTION [dbo].[MemberType]
  3301. (
  3302. @ID INT
  3303. )
  3304. RETURNS TINYINT
  3305. AS
  3306. BEGIN
  3307. DECLARE @HasLicence AS BIT, @BalanceDate AS SMALLDATETIME, @UnlimitedDate AS SMALLDATETIME,
  3308. @Address AS VARCHAR(100), @Name AS NVARCHAR(6), @Gender AS BIT,
  3309. @MemberType AS TINYINT, @IsDelete AS BIT, @Mobile VARCHAR(100)
  3310. SELECT @HasLicence = ISNULL(HasLicence, 0),
  3311. @BalanceDate = ISNULL(BalanceDate, '1900-1-1'),
  3312. @UnlimitedDate = ISNULL(UnlimitedDate, '1900-1-1'),
  3313. @Address = ISNULL(Address, ''),
  3314. @IsDelete = IsDelete
  3315. FROM cpMain WITH(NOLOCK)
  3316. WHERE ID = @ID
  3317. SELECT @Name = Name, @Gender = Gender, @Mobile = ISNULL(Mobile, ISNULL(TelePhone, '')) FROM caMain WITH(NOLOCK)
  3318. WHERE cpMainID = @ID AND AccountType = 1
  3319. ----企业资料不完整,=0
  3320. IF ISNULL(@Address, '') = '' OR @IsDelete = 1 OR ISNULL(@Name, '') = '' OR @Gender IS NULL OR @Mobile = ''
  3321. SET @MemberType = 0
  3322. ----已经上传营业执照,只能是普通会员:2、无限制:10、储值:11、vip:3之一
  3323. ELSE IF @HasLicence = 0
  3324. SET @MemberType = 1
  3325. --无限制
  3326. --ELSE IF @UnlimitedDate >= CONVERT(SMALLDATETIME, GETDATE())
  3327. -- SET @MemberType = 10
  3328. --储值
  3329. --ELSE IF @BalanceDate >= CONVERT(SMALLDATETIME, GETDATE())
  3330. -- SET @MemberType = 11
  3331. ----检查订单
  3332. ELSE IF EXISTS(SELECT 'x' FROM caOrder WITH(NOLOCK)
  3333. WHERE cpMainID = @ID AND OrderType = 8
  3334. AND BeginDate <= GETDATE() AND ENDDATE > DATEADD(MINUTE, -4, GETDATE())
  3335. AND IsDeleted = 0
  3336. )
  3337. SET @MemberType = 3
  3338. ELSE
  3339. SET @MemberType = 2
  3340. RETURN @MemberType
  3341. END
  3342. GO
  3343. /****** Object: UserDefinedFunction [dbo].[MemberType1] Script Date: 2018/12/13 18:28:28 ******/
  3344. SET ANSI_NULLS ON
  3345. GO
  3346. SET QUOTED_IDENTIFIER ON
  3347. GO
  3348. --######################################3
  3349. --创建:Sean 2010-11-16
  3350. --判断企业用户类型
  3351. --######################################3
  3352. CREATE FUNCTION [dbo].[MemberType1]
  3353. (
  3354. @ID INT
  3355. )
  3356. RETURNS TINYINT
  3357. AS
  3358. BEGIN
  3359. DECLARE @HasLicence AS BIT
  3360. DECLARE @BalanceDate AS SMALLDATETIME
  3361. DECLARE @Balance AS INT
  3362. DECLARE @UnlimitedDate AS SMALLDATETIME
  3363. DECLARE @Address AS VARCHAR(100)
  3364. DECLARE @Name AS NVARCHAR(6)
  3365. DECLARE @MemberType AS TINYINT
  3366. DECLARE @IsDelete AS BIT
  3367. SELECT @HasLicence = ISNULL(HasLicence, 0),
  3368. @BalanceDate = ISNULL(BalanceDate, '1900-1-1'),
  3369. @Balance = ISNULL(Balance, 0),
  3370. @UnlimitedDate = ISNULL(UnlimitedDate, '1900-1-1'),
  3371. @Address = ISNULL(Address, ''),
  3372. @IsDelete = IsDelete
  3373. FROM cpMain WITH(NOLOCK)
  3374. WHERE ID = @ID
  3375. SELECT @Name = Name FROM caMain WITH(NOLOCK)
  3376. WHERE cpMainID = @ID AND AccountType = 1
  3377. ----企业资料不完整,=0
  3378. IF ISNULL(@Address, '') = '' OR @IsDelete = 1
  3379. BEGIN
  3380. SET @MemberType = 0
  3381. GOTO ret
  3382. END
  3383. IF @HasLicence = 0
  3384. BEGIN
  3385. SET @MemberType = 1
  3386. GOTO ret
  3387. END
  3388. ----已经上传营业执照,只能是普通会员:2、无限制:10、储值:11、vip:3之一
  3389. IF @HasLicence = 1
  3390. BEGIN
  3391. --无限制
  3392. IF @UnlimitedDate > GETDATE()
  3393. BEGIN
  3394. SET @MemberType = 10
  3395. GOTO ret
  3396. END
  3397. --储值
  3398. IF @BalanceDate > GETDATE() AND @Balance > 0
  3399. BEGIN
  3400. SET @MemberType = 11
  3401. GOTO ret
  3402. END
  3403. ----检查订单
  3404. IF EXISTS(SELECT 'x' FROM caOrder WITH(NOLOCK)
  3405. WHERE cpMainID = @ID AND OrderType = 8
  3406. AND BEGINDATE<GETDATE() AND ENDDATE > GETDATE())
  3407. SET @MemberType = 3
  3408. ELSE
  3409. SET @MemberType = 2
  3410. GOTO ret
  3411. END
  3412. ret:
  3413. RETURN @MemberType
  3414. END
  3415. GO
  3416. /****** Object: UserDefinedFunction [dbo].[MergeDate] Script Date: 2018/12/13 18:28:28 ******/
  3417. SET ANSI_NULLS ON
  3418. GO
  3419. SET QUOTED_IDENTIFIER ON
  3420. GO
  3421. create function [dbo].[MergeDate]
  3422. (
  3423. @D SMALLDATETIME,
  3424. @t INT
  3425. )
  3426. RETURNS SMALLDATETIME
  3427. AS
  3428. BEGIN
  3429. DECLARE @c AS VARCHAR(30)
  3430. SET @c = CONVERT(VARCHAR(10), @d, 120) + ' '
  3431. IF @t < 10
  3432. SET @c = @c + '00:0' + LTRIM(STR(@t))
  3433. ELSE IF @t < 100
  3434. SET @c = @c + '00:' + LTRIM(STR(@t))
  3435. ELSE IF @t < 1000
  3436. SET @c = @c + '0' + LEFT(@t, 1) + ':' + RIGHT(@t, 2)
  3437. ELSE
  3438. SET @c = @c + LEFT(@t, 2) + ':' + RIGHT(@t, 2)
  3439. RETURN CONVERT(SMALLDATETIME, @c)
  3440. END
  3441. GO
  3442. /****** Object: UserDefinedFunction [dbo].[MtNo2RtxId] Script Date: 2018/12/13 18:28:29 ******/
  3443. SET ANSI_NULLS ON
  3444. GO
  3445. SET QUOTED_IDENTIFIER ON
  3446. GO
  3447. CREATE FUNCTION [dbo].[MtNo2RtxId]
  3448. (
  3449. @MtNo TINYINT
  3450. )
  3451. RETURNS INT
  3452. AS
  3453. BEGIN
  3454. IF @MtNo = 1
  3455. RETURN 1003
  3456. ELSE IF @MtNo = 2
  3457. RETURN 1002
  3458. ELSE IF @MtNo = 3
  3459. RETURN 1004
  3460. ELSE IF @MtNo = 8
  3461. RETURN 1005
  3462. ELSE IF @MtNo = 9
  3463. RETURN 1006
  3464. RETURN 0
  3465. END
  3466. GO
  3467. /****** Object: UserDefinedFunction [dbo].[photoPath] Script Date: 2018/12/13 18:28:29 ******/
  3468. SET ANSI_NULLS ON
  3469. GO
  3470. SET QUOTED_IDENTIFIER ON
  3471. GO
  3472. CREATE FUNCTION [dbo].[photoPath](@id INT,@fileType INT)
  3473. RETURNS varchar(50)
  3474. AS
  3475. BEGIN
  3476. DECLARE @result VARCHAR(50)
  3477. DECLARE @path VARCHAR(50),@i INT,@photo VARCHAR(20)
  3478. SET @i = 1
  3479. IF @filetype <=3
  3480. BEGIN
  3481. SET @path = CONVERT(VARCHAR(50),((@id / 100000) + 1) * 100000)
  3482. SET @photo = @path
  3483. WHILE @i<=(9-LEN(@photo))
  3484. BEGIN
  3485. SET @path = '0' + @path
  3486. SET @i = @i + 1
  3487. END
  3488. END
  3489. ELSE
  3490. BEGIN
  3491. SET @path = CONVERT(VARCHAR(50),((@id / 10000) + 1) * 10000)
  3492. SET @photo = @path
  3493. WHILE @i<=(6-LEN(@photo))
  3494. BEGIN
  3495. SET @path = '0' + @path
  3496. SET @i = @i + 1
  3497. END
  3498. END
  3499. SET @path = 'L' + @path
  3500. SET @result = @path
  3501. RETURN @result
  3502. END
  3503. GO
  3504. /****** Object: UserDefinedFunction [dbo].[RemoveBR] Script Date: 2018/12/13 18:28:29 ******/
  3505. SET ANSI_NULLS ON
  3506. GO
  3507. SET QUOTED_IDENTIFIER ON
  3508. GO
  3509. CREATE FUNCTION [dbo].[RemoveBR]
  3510. (
  3511. @Str VARCHAR(MAX)
  3512. )
  3513. RETURNS VARCHAR(MAX)
  3514. AS
  3515. BEGIN
  3516. RETURN REPLACE(REPLACE(@str, '<br>', ''), '&nbsp;', ' ')
  3517. END
  3518. GO
  3519. /****** Object: UserDefinedFunction [dbo].[RemoveNullChars] Script Date: 2018/12/13 18:28:29 ******/
  3520. SET ANSI_NULLS ON
  3521. GO
  3522. SET QUOTED_IDENTIFIER ON
  3523. GO
  3524. CREATE FUNCTION [dbo].[RemoveNullChars]
  3525. (
  3526. @string NVARCHAR(MAX)
  3527. )
  3528. RETURNS NVARCHAR(MAX)
  3529. WITH RETURNS NULL ON NULL INPUT
  3530. AS
  3531. BEGIN
  3532. DECLARE @Result NVARCHAR(MAX)
  3533. SET @Result = ''
  3534. DECLARE @counter INT
  3535. SET @counter = 0
  3536. WHILE (@counter <= LEN(@string))
  3537. BEGIN
  3538. IF UNICODE(SUBSTRING(@string, @counter,1)) <> 0
  3539. SET @Result = @Result + SUBSTRING(@string, @counter, 1)
  3540. SET @counter = @counter + 1
  3541. END
  3542. RETURN @Result
  3543. END
  3544. GO
  3545. /****** Object: UserDefinedFunction [dbo].[ReplyInterval] Script Date: 2018/12/13 18:28:29 ******/
  3546. SET ANSI_NULLS ON
  3547. GO
  3548. SET QUOTED_IDENTIFIER ON
  3549. GO
  3550. CREATE function [dbo].[ReplyInterval](@adddate smalldatetime,@replydate smalldatetime)
  3551. returns int
  3552. as
  3553. begin
  3554. declare @result int
  3555. if @replydate is null set @replydate=getdate()
  3556. if datepart(w,@adddate)=1
  3557. set @result=datediff(n,cast(cast(year(@adddate+1) as varchar)+'-'+cast(month(@adddate+1) as varchar)+'-'+cast(day(@adddate+1) as varchar)+' 8:30' as smalldatetime),@replydate)
  3558. else if datepart(w,@adddate)=7
  3559. and @adddate>cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 17:30' as smalldatetime)
  3560. and @adddate<=cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 23:59' as smalldatetime)
  3561. set @result=datediff(n,cast(cast(year(@adddate+2) as varchar)+'-'+cast(month(@adddate+2) as varchar)+'-'+cast(day(@adddate+2) as varchar)+' 8:30' as smalldatetime),@replydate)
  3562. else if @adddate>=cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 0:0' as smalldatetime)
  3563. and @adddate<cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 8:30' as smalldatetime)
  3564. --没上班之前的
  3565. set @result=datediff(n,cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 8:30' as smalldatetime),@replydate)
  3566. else if @adddate>cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 17:30' as smalldatetime)
  3567. and @adddate<=cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 23:59' as smalldatetime) --没上班之前的
  3568. set @result=datediff(n,cast(cast(year(@adddate+1) as varchar)+'-'+cast(month(@adddate+1) as varchar)+'-'+cast(day(@adddate+1) as varchar)+' 8:30' as smalldatetime),@replydate)
  3569. else if @adddate>cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 10:00' as smalldatetime)
  3570. and @adddate<=cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 12:00' as smalldatetime) --10:00-12:00
  3571. set @result=datediff(n,@adddate,@replydate)-60
  3572. else if @adddate>cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 12:00' as smalldatetime)
  3573. and @adddate<=cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 13:00' as smalldatetime) --12:00-13:00
  3574. set @result=datediff(n,cast(cast(year(@adddate) as varchar)+'-'+cast(month(@adddate) as varchar)+'-'+cast(day(@adddate) as varchar)+' 13:00' as smalldatetime),@replydate)
  3575. else
  3576. set @result=datediff(n,@adddate,@replydate)
  3577. return @result
  3578. end
  3579. GO
  3580. /****** Object: UserDefinedFunction [dbo].[ReportDayToDate] Script Date: 2018/12/13 18:28:29 ******/
  3581. SET ANSI_NULLS ON
  3582. GO
  3583. SET QUOTED_IDENTIFIER ON
  3584. GO
  3585. --######################################3
  3586. --创建:Lambo 2013-2-4
  3587. --日期转换 取多少天之前的天数 2012-1-1为1
  3588. --######################################3
  3589. CREATE FUNCTION [dbo].[ReportDayToDate]
  3590. (
  3591. @d int
  3592. )
  3593. RETURNS INT
  3594. AS
  3595. BEGIN
  3596. RETURN DATEDIFF(DAY,'2012-1-1',GETDATE()-@d)
  3597. END
  3598. GO
  3599. /****** Object: UserDefinedFunction [dbo].[SafeSQL] Script Date: 2018/12/13 18:28:29 ******/
  3600. SET ANSI_NULLS ON
  3601. GO
  3602. SET QUOTED_IDENTIFIER ON
  3603. GO
  3604. --#############################333
  3605. --安全的sql语句用于exec
  3606. --#############################333
  3607. CREATE FUNCTION [dbo].[SafeSQL]
  3608. (
  3609. @sText VARCHAR(MAX)
  3610. )
  3611. RETURNS VARCHAR(MAX)
  3612. AS
  3613. BEGIN
  3614. IF @sText IS NULL
  3615. RETURN ''
  3616. -- SET @sText = REPLACE(@sText, 'and ','and&nbsp;')
  3617. -- SET @sText = REPLACE(@sText, 'or ','or&nbsp;')
  3618. -- SET @sText = REPLACE(@sText, 'exists','exists&nbsp;')
  3619. -- SET @sText = REPLACE(@sText, 'union ','union&nbsp;')
  3620. -- SET @sText = REPLACE(@sText, '<','<')
  3621. -- SET @sText = REPLACE(@sText, '>','>')
  3622. -- SET @sText = REPLACE(@sText, 'from ','from&nbsp;')
  3623. -- SET @sText = REPLACE(@sText, 'select ','select&nbsp;')
  3624. SET @sText = REPLACE(@sText, ' ','')
  3625. SET @sText = REPLACE(@sText, 'script','script')
  3626. SET @sText = REPLACE(@sText, 'src','src')
  3627. SET @sText = REPLACE(@sText, 'iframe','iframe')
  3628. SET @sText = REPLACE(@sText, '--','——')
  3629. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  3630. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  3631. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  3632. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  3633. SET @sText = REPLACE(@sText, 'delete
  3634. ','delete&nbsp;')
  3635. SET @sText = REPLACE(@sText, 'update
  3636. ','update&nbsp;')
  3637. SET @sText = REPLACE(@sText, 'create','create&nbsp;')
  3638. SET @sText = REPLACE(@sText, 'drop','drop&nbsp;')
  3639. SET @sText = REPLACE(@sText, 'insert','insert&nbsp;')
  3640. SET @sText = REPLACE(@sText, 'chr(','chr(&nbsp;')
  3641. SET @sText = REPLACE(@sText, 'master','master&nbsp;')
  3642. SET @sText = REPLACE(@sText, 'net user','net&nbsp;user')
  3643. SET @sText = REPLACE(@sText, 'declare','declare&nbsp;')
  3644. SET @sText = REPLACE(@sText, 'char(','char(&nbsp;')
  3645. SET @sText = REPLACE(@sText, 'mid(','mid(&nbsp;')
  3646. SET @sText = REPLACE(@sText, 'xp_cmdshell','xp_cmdshell&nbsp;')
  3647. SET @sText = REPLACE(@sText, 'exec','exec&nbsp;')
  3648. SET @sText = REPLACE(@sText, 'truncate','truncate&nbsp;')
  3649. SET @sText = REPLACE(@sText, 'ascii(','ascii(&nbsp;')
  3650. SET @sText = REPLACE(@sText, 'substring(','substring(&nbsp;')
  3651. SET @sText = REPLACE(@sText, 'localgroup ','localgroup&nbsp;')
  3652. SET @sText = REPLACE(@sText, 'administrators ','administrators&nbsp;')
  3653. SET @sText = REPLACE(@sText, 'dbcc','dbcc&nbsp;')
  3654. SET @sText = REPLACE(@sText, 'checkdb(','checkdb(&nbsp;')
  3655. SET @sText = REPLACE(@sText, 'sp_addsrvrolemember','p_addsrvrolemember&nbsp;')
  3656. SET @sText = REPLACE(@sText, 'wscript.shell','wscript.shell&nbsp;')
  3657. RETURN @sText
  3658. END
  3659. GO
  3660. /****** Object: UserDefinedFunction [dbo].[SafeSQLBack] Script Date: 2018/12/13 18:28:29 ******/
  3661. SET ANSI_NULLS ON
  3662. GO
  3663. SET QUOTED_IDENTIFIER ON
  3664. GO
  3665. --#############################333
  3666. --安全的sql语句用于exec
  3667. --#############################333
  3668. CREATE FUNCTION [dbo].[SafeSQLBack]
  3669. (
  3670. @sText VARCHAR(MAX)
  3671. )
  3672. RETURNS VARCHAR(MAX)
  3673. AS
  3674. BEGIN
  3675. IF @sText IS NULL
  3676. RETURN ''
  3677. -- SET @sText = REPLACE(@sText, 'and ','and&nbsp;')
  3678. -- SET @sText = REPLACE(@sText, 'or ','or&nbsp;')
  3679. -- SET @sText = REPLACE(@sText, 'from ','from&nbsp;')
  3680. -- SET @sText = REPLACE(@sText, 'exists','exists&nbsp;')
  3681. -- SET @sText = REPLACE(@sText, 'select ','select&nbsp;')
  3682. -- SET @sText = REPLACE(@sText, 'union ','union&nbsp;')
  3683. -- SET @sText = REPLACE(@sText, '<','<')
  3684. -- SET @sText = REPLACE(@sText, '>','>')
  3685. SET @sText = REPLACE(@sText, ' ','')
  3686. SET @sText = REPLACE(@sText, 'script','script')
  3687. SET @sText = REPLACE(@sText, 'src','src')
  3688. SET @sText = REPLACE(@sText, 'iframe','iframe')
  3689. SET @sText = REPLACE(@sText, '--','——')
  3690. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  3691. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  3692. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  3693. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  3694. SET @sText = REPLACE(@sText, 'delete
  3695. ','delete&nbsp;')
  3696. SET @sText = REPLACE(@sText, 'update
  3697. ','update&nbsp;')
  3698. SET @sText = REPLACE(@sText, 'create ','create&nbsp;')
  3699. SET @sText = REPLACE(@sText, 'drop ','drop&nbsp;')
  3700. SET @sText = REPLACE(@sText, 'insert ','insert&nbsp;')
  3701. SET @sText = REPLACE(@sText, 'chr(','chr(&nbsp;')
  3702. SET @sText = REPLACE(@sText, 'master ','master&nbsp;')
  3703. SET @sText = REPLACE(@sText, 'net user','net&nbsp;user')
  3704. SET @sText = REPLACE(@sText, 'declare ','declare&nbsp;')
  3705. SET @sText = REPLACE(@sText, 'char(','char(&nbsp;')
  3706. SET @sText = REPLACE(@sText, 'mid(','mid(&nbsp;')
  3707. --SET @sText = REPLACE(@sText, 'count ','count&nbsp;')
  3708. SET @sText = REPLACE(@sText, 'xp_cmdshell','xp_cmdshell&nbsp;')
  3709. SET @sText = REPLACE(@sText, 'exec ','exec&nbsp;')
  3710. SET @sText = REPLACE(@sText, 'truncate ','truncate&nbsp;')
  3711. SET @sText = REPLACE(@sText, 'ascii(','ascii(&nbsp;')
  3712. SET @sText = REPLACE(@sText, 'substring(','substring(&nbsp;')
  3713. SET @sText = REPLACE(@sText, 'localgroup ','localgroup&nbsp;')
  3714. SET @sText = REPLACE(@sText, 'administrators ','administrators&nbsp;')
  3715. SET @sText = REPLACE(@sText, 'dbcc ','dbcc&nbsp;')
  3716. SET @sText = REPLACE(@sText, 'checkdb(','checkdb(&nbsp;')
  3717. SET @sText = REPLACE(@sText, 'sp_addsrvrolemember','p_addsrvrolemember&nbsp;')
  3718. SET @sText = REPLACE(@sText, 'wscript.shell','wscript.shell&nbsp;')
  3719. RETURN @sText
  3720. END
  3721. GO
  3722. /****** Object: UserDefinedFunction [dbo].[ScheduleRunTime] Script Date: 2018/12/13 18:28:29 ******/
  3723. SET ANSI_NULLS ON
  3724. GO
  3725. SET QUOTED_IDENTIFIER ON
  3726. GO
  3727. CREATE Function [dbo].[ScheduleRunTime]
  3728. (
  3729. @RunDate INT,
  3730. @RunTime INT
  3731. )
  3732. RETURNS DATETIME
  3733. AS
  3734. BEGIN
  3735. DECLARE @time AS VARCHAR(30)
  3736. SET @Time = LTRIM(STR(@RunTime / 10000)) + ':'
  3737. SET @RunTime = @RunTime % 10000
  3738. SET @Time = @Time + LTRIM(STR(@RunTime / 100)) + ':00'
  3739. RETURN CONVERT(DATETIME, LTRIM(STR(@RunDate)) + ' ' + @Time)
  3740. END
  3741. GO
  3742. /****** Object: UserDefinedFunction [dbo].[schGetCaCvExChange] Script Date: 2018/12/13 18:28:29 ******/
  3743. SET ANSI_NULLS ON
  3744. GO
  3745. SET QUOTED_IDENTIFIER ON
  3746. GO
  3747. CREATE FUNCTION [dbo].[schGetCaCvExChange]
  3748. (
  3749. @caMainID INT,
  3750. @DateType TINYINT
  3751. )
  3752. RETURNS VARCHAR(MAX)
  3753. AS
  3754. BEGIN
  3755. DECLARE @JobID INT,@JobName NVARCHAR(50),@Count INT,@StartTime VARCHAR(20),
  3756. @EndTime VARCHAR(20),@Today VARCHAR(10),@Content VARCHAR(MAX)
  3757. SET @Content = ''
  3758. IF @DateType = 1
  3759. BEGIN
  3760. IF DATEPART(HOUR,GETDATE()) > 0 AND DATEPART(HOUR,GETDATE()) < 9
  3761. BEGIN
  3762. SET @StartTime = CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),120) + ' 00:00:00'
  3763. SET @EndTime = CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),120) + ' 23:59:59'
  3764. SET @Today = CONVERT(VARCHAR(10),DATEADD(DAY,-1,GETDATE()),120)
  3765. END
  3766. ELSE
  3767. BEGIN
  3768. SET @StartTime = CONVERT(VARCHAR(10),GETDATE(),120) + ' 00:00:00'
  3769. SET @EndTime = CONVERT(VARCHAR(10),GETDATE(),120) + ' 23:59:59'
  3770. SET @Today = CONVERT(VARCHAR(10),GETDATE(),120)
  3771. END
  3772. END
  3773. ELSE
  3774. BEGIN
  3775. SET @StartTime = CONVERT(VARCHAR(10),DATEADD(ww,-1,GETDATE()),120) + ' 00:00:00'
  3776. SET @EndTime = CONVERT(VARCHAR(10),GETDATE(),120) + ' 23:59:59'
  3777. SET @Today = CONVERT(VARCHAR(10),DATEADD(ww,-1,GETDATE()),120)
  3778. END
  3779. SELECT @Count=COUNT(1) FROM exMessageP2C WITH(NOLOCK) WHERE caMainID=@caMainID AND AddDate>CONVERT(SMALLDATETIME,@StartTime) And AddDate<CONVERT(SMALLDATETIME,@EndTime)
  3780. IF @Count > 0
  3781. SET @Content = @Content + '<br>&nbsp;&nbsp;您总共收到了' + CONVERT(VARCHAR,@Count) + '条求职者发来的新留言;'
  3782. DECLARE curJob CURSOR FOR SELECT TOP 10 ID,Name FROM Job WITH(NOLOCK) WHERE Valid=1 AND caMainID=@caMainID
  3783. OPEN curJob
  3784. FETCH NEXT FROM curJob INTO @JobID,@JobName
  3785. IF @@FETCH_STATUS >= 0
  3786. BEGIN
  3787. WHILE @@FETCH_STATUS = 0
  3788. BEGIN
  3789. SELECT @Count=COUNT(1) FROM exJobApply a WITH(NOLOCK),cvMain b WITH(NOLOCK)
  3790. WHERE a.cvMainID=b.ID AND b.VerifyResult=1 AND a.JobID=@JobID
  3791. AND a.AddDate<CONVERT(SMALLDATETIME,@EndTime) AND a.AddDate>CONVERT(SMALLDATETIME,@StartTime)
  3792. IF @Count > 0
  3793. SET @Content = @Content + '<br>&nbsp;&nbsp;有' + CONVERT(VARCHAR,@Count) + '个求职者给[' + @JobName + ']投递了简历;'
  3794. FETCH NEXT FROM curJob INTO @JobID,@JobName
  3795. END
  3796. END
  3797. CLOSE curJob
  3798. DEALLOCATE curJob
  3799. IF LEN(@Content) > 0
  3800. BEGIN
  3801. IF @DateType = 1
  3802. SET @Content = '在' + @Today + '的24小时内:' + @Content
  3803. ELSE
  3804. SET @Content = '在' + CONVERT(VARCHAR(10),@StartTime) + '至' + CONVERT(VARCHAR(10),@EndTime) + '的一周内:' + @Content
  3805. END
  3806. RETURN @Content
  3807. END
  3808. GO
  3809. /****** Object: UserDefinedFunction [dbo].[schGetOrderDesc] Script Date: 2018/12/13 18:28:30 ******/
  3810. SET ANSI_NULLS ON
  3811. GO
  3812. SET QUOTED_IDENTIFIER ON
  3813. GO
  3814. CREATE FUNCTION [dbo].[schGetOrderDesc]
  3815. (
  3816. @ServiceType SMALLINT,
  3817. @OrderType SMALLINT,
  3818. @Paid NUMERIC(18,2),
  3819. @TimeTitle VARCHAR(500),
  3820. @ActiveQuota INT,
  3821. @JobNumber INT,
  3822. @UserNumber INT,
  3823. @PayMethod SMALLINT,
  3824. @Receiver VARCHAR(200),
  3825. @Account VARCHAR(200),
  3826. @BankName VARCHAR(200),
  3827. @NeedInvoice BIT,
  3828. @OrderID INT
  3829. )
  3830. RETURNS VARCHAR(MAX)
  3831. AS
  3832. BEGIN
  3833. DECLARE @tmp@ServiceType NVARCHAR(20)
  3834. DECLARE @strOrderDesc NVARCHAR(500)
  3835. SET @strOrderDesc = ''
  3836. SET @tmp@ServiceType = ''
  3837. If @ServiceType = 100
  3838. SET @tmp@ServiceType = '一周'
  3839. If @ServiceType = 1
  3840. SET @tmp@ServiceType = '一个月'
  3841. If @ServiceType = 2
  3842. SET @tmp@ServiceType = '一个季度'
  3843. If @ServiceType = 3
  3844. SET @tmp@ServiceType = '半年'
  3845. If @ServiceType = 4
  3846. SET @tmp@ServiceType = '一年'
  3847. If @OrderType = 1
  3848. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为申请' + @tmp@ServiceType + '正式会员,费用为' + convert(varchar(10),@Paid) + '元,'
  3849. If @OrderType = 2
  3850. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为申请储值会员,加值金额为' + convert(varchar(10),@Paid) + '元,'
  3851. If @OrderType = 4
  3852. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为申请广告位,费用为' + convert(varchar(10),@Paid) + '元,'
  3853. If @OrderType = 7
  3854. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为首页知名企业招聘,费用为' + convert(varchar(10),@Paid) + '元,'
  3855. If @OrderType = 8
  3856. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为申请' + @TimeTitle + 'VIP套餐服务,费用为' + convert(varchar(10),@Paid) + '元,'
  3857. If @OrderType = 9
  3858. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为购买' + LTRIM(STR(@ActiveQuota)) + '个简历下载数,费用为' + convert(varchar(10),@Paid) + '元,'
  3859. If @OrderType = 10
  3860. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为购买' + LTRIM(STR(@JobNumber)) + '个职位并发数,费用为' + convert(varchar(10),@Paid) + '元,'
  3861. If @OrderType = 11
  3862. SET @strOrderDesc = @strOrderDesc + '&nbsp;&nbsp;您的订单内容为购买' + LTRIM(STR(@UserNumber)) + '个用户数,费用为' + convert(varchar(10),@Paid) + '元,'
  3863. SET @strOrderDesc = @strOrderDesc + '为方便您能够及时开通服务,现将付款流程发送给您,如下:<br>'
  3864. If @PayMethod = 1
  3865. Begin
  3866. SET @strOrderDesc = @strOrderDesc + '1、对公汇款<br>'
  3867. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人:' + @Receiver + '<br>'
  3868. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3869. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3870. SET @strOrderDesc = @strOrderDesc + '&nbsp;汇款用途:会员服务费,订单号' + LTRIM(STR(@OrderID)) + '<br>'
  3871. SET @strOrderDesc = @strOrderDesc + '2、将银行电汇回单传真至:010-65800851 或者 021-61916451<br>'
  3872. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在银行电汇回单传真、营业执照齐全后',@NeedInvoice)
  3873. End
  3874. If @PayMethod = 2
  3875. BEGIN
  3876. SET @strOrderDesc = @strOrderDesc + '1、邮局汇款<br>'
  3877. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人:' + @Receiver + '<br>'
  3878. SET @strOrderDesc = @strOrderDesc + '&nbsp;通信地址:' + @BankName + '<br>'
  3879. SET @strOrderDesc = @strOrderDesc + '&nbsp;邮政编码:' + @Account + '<br>'
  3880. SET @strOrderDesc = @strOrderDesc + '&nbsp;附言:订单号' + LTRIM(STR(@OrderID)) + '<br>'
  3881. SET @strOrderDesc = @strOrderDesc + '2、在邮政汇款收据上,标上订单号,并传真至:010-65800851 或者 021-61916451<br>'
  3882. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在邮政汇款收据传真、营业执照齐全后',@NeedInvoice)
  3883. End
  3884. If @PayMethod = 6
  3885. BEGIN
  3886. SET @strOrderDesc = @strOrderDesc + '请前来付费:<br>'
  3887. SET @strOrderDesc = @strOrderDesc + '&nbsp;' + @Receiver + '<br>'
  3888. SET @strOrderDesc = @strOrderDesc + '&nbsp;地址:' + @BankName + '<br>'
  3889. End
  3890. If @PayMethod = 7
  3891. BEGIN
  3892. SET @strOrderDesc = @strOrderDesc + '1、工商银行<br>'
  3893. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3894. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3895. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3896. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3897. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3898. End
  3899. If @PayMethod = 9
  3900. BEGIN
  3901. SET @strOrderDesc = @strOrderDesc + '1、招商银行<br>'
  3902. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3903. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3904. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3905. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3906. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3907. End
  3908. If @PayMethod = 10
  3909. BEGIN
  3910. SET @strOrderDesc = @strOrderDesc + '1、农业银行<br>'
  3911. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3912. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3913. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3914. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3915. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3916. End
  3917. If @PayMethod = 19
  3918. BEGIN
  3919. SET @strOrderDesc = @strOrderDesc + '1、支付宝支付(支持全国银行卡,网上付款,自动开通)<br>'
  3920. SET @strOrderDesc = @strOrderDesc + '&nbsp;请到网站在线支付,'
  3921. If @OrderType = 1 Or @OrderType = 2 Or @OrderType = 5 Or @OrderType = 8 Or @OrderType = 9 Or @OrderType = 10 Or @OrderType = 11
  3922. SET @strOrderDesc = @strOrderDesc + '支付完成后,自动开通。' + '<br>'
  3923. If @OrderType = 4
  3924. SET @strOrderDesc = @strOrderDesc + '支付完成后,工作日10分钟之内我们电话与您联系广告制作与播放。' + '<br>'
  3925. If @OrderType = 7
  3926. SET @strOrderDesc = @strOrderDesc + '4、确认收到汇款后,工作日10分钟之内您的单位名称出现在“首页知名企业招聘”。' + '<br>'
  3927. If @NeedInvoice = 1
  3928. SET @strOrderDesc = @strOrderDesc + '汇款到帐后您可以索取发票,在三个工作日内,将您的发票挂号信寄出。<br>'
  3929. End
  3930. If @PayMethod = 12
  3931. BEGIN
  3932. SET @strOrderDesc = @strOrderDesc + '1、建设银行<br>'
  3933. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3934. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3935. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3936. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3937. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3938. End
  3939. If @PayMethod = 13
  3940. BEGIN
  3941. SET @strOrderDesc = @strOrderDesc + '1、中国银行<br>'
  3942. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3943. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3944. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3945. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3946. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3947. End
  3948. If @PayMethod = 14
  3949. BEGIN
  3950. SET @strOrderDesc = @strOrderDesc + '1、交通银行<br>'
  3951. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3952. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3953. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3954. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3955. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3956. End
  3957. If @PayMethod = 17
  3958. BEGIN
  3959. SET @strOrderDesc = @strOrderDesc + '1、转帐支票<br>'
  3960. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人:' + @Receiver + '<br>'
  3961. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3962. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3963. SET @strOrderDesc = @strOrderDesc + '&nbsp;汇款用途:会员服务费,订单号' + LTRIM(STR(@OrderID)) + '<br>'
  3964. SET @strOrderDesc = @strOrderDesc + '2、您可以将支票快递给我们,也可以将支票亲自送过来。<br>'
  3965. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在收到转帐支票、营业执照齐全后',@NeedInvoice)
  3966. End
  3967. If @PayMethod = 18
  3968. BEGIN
  3969. SET @strOrderDesc = @strOrderDesc + '1、同城转帐<br>'
  3970. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人:' + @Receiver + '<br>'
  3971. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3972. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3973. SET @strOrderDesc = @strOrderDesc + '&nbsp;汇款用途:会员服务费,订单号' + LTRIM(STR(@OrderID)) + '<br>'
  3974. SET @strOrderDesc = @strOrderDesc + '2、将同城转帐回单传真至:010-65800851 或者 021-61916451<br>'
  3975. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在同城转帐回单传真、营业执照齐全后',@NeedInvoice)
  3976. End
  3977. If @PayMethod = 20
  3978. BEGIN
  3979. SET @strOrderDesc = @strOrderDesc + '1、邮政储蓄银行<br>'
  3980. SET @strOrderDesc = @strOrderDesc + '&nbsp;收款人全称:' + @Receiver + '<br>'
  3981. SET @strOrderDesc = @strOrderDesc + '&nbsp;帐号:' + @Account + '<br>'
  3982. SET @strOrderDesc = @strOrderDesc + '&nbsp;开户银行:' + @BankName + '<br>'
  3983. SET @strOrderDesc = @strOrderDesc + '2、汇款成功后,请立即打电话或者发邮件通知我们订单号以及汇款金额。<br>'
  3984. SET @strOrderDesc = @strOrderDesc + dbo.schGetPayDesc(@OrderType,'在营业执照齐全,并确认收到汇款后',@NeedInvoice)
  3985. End
  3986. RETURN @strOrderDesc
  3987. END
  3988. GO
  3989. /****** Object: UserDefinedFunction [dbo].[schGetPayDesc] Script Date: 2018/12/13 18:28:31 ******/
  3990. SET ANSI_NULLS ON
  3991. GO
  3992. SET QUOTED_IDENTIFIER ON
  3993. GO
  3994. CREATE FUNCTION [dbo].[schGetPayDesc]
  3995. (
  3996. @OrderType TINYINT,
  3997. @strDesc NVARCHAR(200),
  3998. @NeedInvoice BIT
  3999. )
  4000. RETURNS VARCHAR(MAX)
  4001. AS
  4002. BEGIN
  4003. DECLARE @PayDesc NVARCHAR(500)
  4004. SET @PayDesc = '3、如果贵单位还没有通过营业执照审核,请先上传营业执照,或者传真到 010-65800851 或者 021-61916451<br>'
  4005. If @OrderType = 1 Or @OrderType = 2 Or @OrderType = 8 Or @OrderType = 9 Or @OrderType = 10 Or @OrderType = 11
  4006. SET @PayDesc = @PayDesc + '4、' + @strDesc + ',工作日10分钟之内开通,并通过E-mail通知。<br>'
  4007. If @OrderType = 4
  4008. SET @PayDesc = @PayDesc + '4、' + @strDesc + ',工作日10分钟之内我们电话与您联系广告制作与播放。<br>'
  4009. If @OrderType = 7
  4010. SET @PayDesc = @PayDesc + '4、确认收到汇款后,工作日10分钟之内您的单位名称出现在“首页知名企业招聘”。<br>'
  4011. If @NeedInvoice = 1
  4012. SET @PayDesc = @PayDesc + '5、汇款到帐后您可以索取发票,在三个工作日内,将您的发票挂号信寄出。<br>'
  4013. RETURN @PayDesc
  4014. END
  4015. GO
  4016. /****** Object: UserDefinedFunction [dbo].[SHA1] Script Date: 2018/12/13 18:28:31 ******/
  4017. SET ANSI_NULLS ON
  4018. GO
  4019. SET QUOTED_IDENTIFIER ON
  4020. GO
  4021. create FUNCTION [dbo].[SHA1]
  4022. (
  4023. @Str VARCHAR(40)
  4024. )
  4025. RETURNS VARCHAR(40)
  4026. AS
  4027. BEGIN
  4028. RETURN RIGHT(SYS.fn_VarBinToHexStr(hashbytes('SHA1', LOWER(@Str))), 40)
  4029. END
  4030. GO
  4031. /****** Object: UserDefinedFunction [dbo].[ShowContact] Script Date: 2018/12/13 18:28:31 ******/
  4032. SET ANSI_NULLS ON
  4033. GO
  4034. SET QUOTED_IDENTIFIER ON
  4035. GO
  4036. CREATE FUNCTION [dbo].[ShowContact]
  4037. (
  4038. @cvMainID INT,
  4039. @cpMainID INT
  4040. )
  4041. RETURNS BIT
  4042. AS
  4043. BEGIN
  4044. DECLARE @cpMemeberType INT
  4045. SELECT @cpMemeberType = MemberType FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID
  4046. IF @cpMemeberType IN(3, 10)
  4047. RETURN 1
  4048. ELSE IF @cpMemeberType = 11
  4049. BEGIN
  4050. BEGIN
  4051. IF EXISTS(
  4052. SELECT 'x' FROM caBalanceLog WITH(NOLOCK)
  4053. WHERE cpMainID = @cpMainID
  4054. AND cvMainID = @cvMainID
  4055. AND CONVERT(VARCHAR(100), AddDate, 23) = CONVERT(VARCHAR(100), GETDATE(), 23)
  4056. ) OR EXISTS(
  4057. SELECT 'x' FROM CaCvQuotaLog WITH(NOLOCK)
  4058. WHERE cpMainID = @cpMainID
  4059. AND cvMainID = @cvMainID
  4060. )
  4061. RETURN 1
  4062. END
  4063. END
  4064. ELSE
  4065. BEGIN
  4066. DECLARE @isInActiveLog INT
  4067. DECLARE @isInDailyGiftLog INT
  4068. SELECT @isInDailyGiftLog = count(1) FROM caDailyGiftLog WITH(NOLOCK)
  4069. WHERE cpMainID = @cpMainID
  4070. AND cvMainID = @cvMainID
  4071. IF @isInDailyGiftLog > 0
  4072. RETURN 1
  4073. SELECT @isInActiveLog = count(1) FROM caActiveLog WITH(NOLOCK)
  4074. WHERE cpMainID = @cpMainID
  4075. AND cvMainID = @cvMainID
  4076. If @isInActiveLog > 0
  4077. RETURN 1
  4078. IF EXISTS (
  4079. SELECT 'x' FROM ExJobApply a WITH(NOLOCK),Job b
  4080. WHERE a.JobID = b.ID
  4081. AND a.IsPassed = 1
  4082. AND a.cvMainID = @cvMainID
  4083. AND b.cpMainID = @cpMainID
  4084. )
  4085. RETURN 1
  4086. END
  4087. RETURN 0
  4088. END
  4089. GO
  4090. /****** Object: UserDefinedFunction [dbo].[ShowContactByExcel] Script Date: 2018/12/13 18:28:31 ******/
  4091. SET ANSI_NULLS ON
  4092. GO
  4093. SET QUOTED_IDENTIFIER ON
  4094. GO
  4095. CREATE FUNCTION [dbo].[ShowContactByExcel]
  4096. (
  4097. @cvMainID INT,
  4098. @cpMainID INT
  4099. )
  4100. RETURNS BIT
  4101. AS
  4102. BEGIN
  4103. DECLARE @cpMemeberType INT
  4104. SELECT @cpMemeberType = MemberType FROM cpMain WITH(NOLOCK) WHERE ID = @cpMainID
  4105. IF @cpMemeberType = 10 Or @cpMemeberType = 11
  4106. BEGIN
  4107. IF @cpMemeberType = 10
  4108. RETURN 1
  4109. ELSE
  4110. BEGIN
  4111. IF EXISTS(
  4112. SELECT 'x' FROM caBalanceLog WITH(NOLOCK)
  4113. WHERE cpMainID = @cpMainID
  4114. AND cvMainID = @cvMainID
  4115. AND CONVERT(VARCHAR(100), AddDate, 23) = CONVERT(VARCHAR(100), GETDATE(), 23)
  4116. )
  4117. RETURN 1
  4118. END
  4119. END
  4120. ELSE
  4121. BEGIN
  4122. DECLARE @isInActiveLog INT
  4123. DECLARE @isInDailyGiftLog INT
  4124. SELECT @isInDailyGiftLog = count(1) FROM caDailyGiftLog WITH(NOLOCK)
  4125. WHERE cpMainID = @cpMainID
  4126. AND cvMainID = @cvMainID
  4127. IF @isInDailyGiftLog > 0
  4128. RETURN 1
  4129. SELECT @isInActiveLog = count(1) FROM caActiveLog WITH(NOLOCK)
  4130. WHERE cpMainID = @cpMainID
  4131. AND cvMainID = @cvMainID
  4132. If @isInActiveLog > 0
  4133. RETURN 1
  4134. IF EXISTS (
  4135. SELECT 'x' FROM cvMain
  4136. WHERE ID = @cvMainID
  4137. AND IsOpen = 1
  4138. )
  4139. RETURN 1
  4140. END
  4141. RETURN 0
  4142. END
  4143. GO
  4144. /****** Object: UserDefinedFunction [dbo].[StripHTML] Script Date: 2018/12/13 18:28:31 ******/
  4145. SET ANSI_NULLS ON
  4146. GO
  4147. SET QUOTED_IDENTIFIER ON
  4148. GO
  4149. CREATE FUNCTION [dbo].[StripHTML]
  4150. (
  4151. @HTMLText VARCHAR(MAX)
  4152. )
  4153. RETURNS VARCHAR(MAX)
  4154. AS
  4155. BEGIN
  4156. DECLARE @Start INT
  4157. DECLARE @End INT
  4158. DECLARE @Length INT
  4159. SET @HTMLText = REPLACE(@HTMLText, '&amp;nbsp;', ' ')
  4160. SET @HTMLText = REPLACE(@HTMLText, '&nbsp;', ' ')
  4161. --SET @HTMLText = REPLACE(LTRIM(RTRIM(@HTMLText)), ' ', '&nbsp; &nbsp; ')
  4162. SET @HTMLText = REPLACE(@HTMLText, '<br>'+Char(13)+Char(10), Char(13)+Char(10))
  4163. SET @HTMLText = REPLACE(@HTMLText, '<br >'+Char(13)+Char(10), Char(13)+Char(10))
  4164. SET @HTMLText = REPLACE(@HTMLText, '<br />'+Char(13)+Char(10), Char(13)+Char(10))
  4165. --SET @HTMLText = REPLACE(@HTMLText, '</p>'+Char(13)+Char(10), '')
  4166. --SET @HTMLText = REPLACE(@HTMLText, '</div>'+Char(13)+Char(10), '')
  4167. SET @HTMLText = REPLACE(@HTMLText, '<br>'+Char(13), Char(13)+Char(10))
  4168. SET @HTMLText = REPLACE(@HTMLText, '<br >'+Char(13), Char(13)+Char(10))
  4169. SET @HTMLText = REPLACE(@HTMLText, '<br />'+Char(13), Char(13)+Char(10))
  4170. SET @HTMLText = REPLACE(@HTMLText, '<br>'+Char(10), Char(13)+Char(10))
  4171. SET @HTMLText = REPLACE(@HTMLText, '<br >'+Char(10), Char(13)+Char(10))
  4172. SET @HTMLText = REPLACE(@HTMLText, '<br />'+Char(10), Char(13)+Char(10))
  4173. --SET @HTMLText = REPLACE(@HTMLText, '</p>'+Char(10), '')
  4174. --SET @HTMLText = REPLACE(@HTMLText, '</div>'+Char(10), '')
  4175. SET @HTMLText = REPLACE(@HTMLText, '<br>', Char(13)+Char(10))
  4176. SET @HTMLText = REPLACE(@HTMLText, '<br >', Char(13)+Char(10))
  4177. SET @HTMLText = REPLACE(@HTMLText, '<br />', Char(13)+Char(10))
  4178. --SET @HTMLText = REPLACE(@HTMLText, '</p>', '')
  4179. --SET @HTMLText = REPLACE(@HTMLText, '</div>', '')
  4180. /*
  4181. SET @Start = dbo.HtmlPos(@HTMLText)
  4182. SET @End = CHARINDEX('>', @HTMLText, @Start)
  4183. SET @Length = (@End - @Start) + 1
  4184. WHILE @Start > 0 AND @End > 0 AND @Length > 0
  4185. BEGIN
  4186. SET @HTMLText = STUFF(@HTMLText, @Start, @Length, '')
  4187. SET @Start = dbo.HtmlPos(@HTMLText)
  4188. SET @End = CHARINDEX('>', @HTMLText, @Start)
  4189. SET @Length = (@End - @Start) + 1
  4190. END
  4191. SET @HTMLText = REPLACE(@HTMLText, '<', '&lt;')
  4192. SET @HTMLText = REPLACE(@HTMLText, '>', '&gt;')
  4193. */
  4194. RETURN RTRIM(@HTMLText)
  4195. END
  4196. GO
  4197. /****** Object: UserDefinedFunction [dbo].[TextTrim] Script Date: 2018/12/13 18:28:31 ******/
  4198. SET ANSI_NULLS ON
  4199. GO
  4200. SET QUOTED_IDENTIFIER ON
  4201. GO
  4202. --#############################333
  4203. --文本框前导4个空格
  4204. --#############################333
  4205. CREATE FUNCTION [dbo].[TextTrim]
  4206. (
  4207. @sText VARCHAR(MAX)
  4208. )
  4209. RETURNS VARCHAR(MAX)
  4210. AS
  4211. BEGIN
  4212. IF LTRIM(@sText) = ''
  4213. RETURN NULL
  4214. SET @sText = REPLACE(RTRIM(@sText), '&nbsp;', ' ')
  4215. IF LEFT(@sText , 4) = ' '
  4216. SET @sText = ' ' + LTRIM(@sText)
  4217. RETURN @sText
  4218. END
  4219. GO
  4220. /****** Object: UserDefinedFunction [dbo].[TheMonth] Script Date: 2018/12/13 18:28:31 ******/
  4221. SET ANSI_NULLS ON
  4222. GO
  4223. SET QUOTED_IDENTIFIER ON
  4224. GO
  4225. CREATE FUNCTION [dbo].[TheMonth]
  4226. (
  4227. @CountDate INT
  4228. )
  4229. RETURNS INT
  4230. AS
  4231. BEGIN
  4232. DECLARE @Result INT
  4233. IF CAST(RIGHT(STR(@CountDate), 2) AS INT) >= 26
  4234. BEGIN
  4235. DECLARE @dd SMALLDATETIME
  4236. SET @dd = DATEADD(m, 1, LEFT(LTRIM(RTRIM(STR(@CountDate))),4) + '-' + RIGHT(LEFT(LTRIM(RTRIM(STR(@CountDate))),6),2)+'-1 00:00')
  4237. SET @Result=YEAR(@dd)*100+MONTH(@dd)
  4238. END
  4239. ELSE
  4240. BEGIN
  4241. SET @Result=@CountDate/100
  4242. END
  4243. RETURN @Result
  4244. END
  4245. GO
  4246. /****** Object: UserDefinedFunction [dbo].[ToJianPin] Script Date: 2018/12/13 18:28:31 ******/
  4247. SET ANSI_NULLS ON
  4248. GO
  4249. SET QUOTED_IDENTIFIER ON
  4250. GO
  4251. CREATE FUNCTION [dbo].[ToJianPin](@Words NVARCHAR(2000))
  4252. RETURNS VARCHAR(8000)
  4253. AS
  4254. BEGIN
  4255. DECLARE @Word nchar(1)
  4256. DECLARE @PinYin VARCHAR(8000)
  4257. DECLARE @Index int
  4258. DECLARE @WordLenth int
  4259. DECLARE @Unicode int
  4260. SET @Index = 1
  4261. SET @Words = LTRIM(RTRIM(@Words))
  4262. SET @WordLenth = LEN(@Words)
  4263. WHILE (@Index <= @WordLenth) --循环取字符
  4264. BEGIN
  4265. SET @Word = SUBSTRING(@Words, @Index, 1)
  4266. SET @Unicode = UNICODE(@Word)
  4267. SET @PinYin = ISNULL(@PinYin,'')+
  4268. (
  4269. CASE WHEN UNICODE(@Word) BETWEEN 19968 AND 19968+20901 THEN
  4270. (
  4271. SELECT TOP 1 PinYin FROM
  4272. (
  4273. SELECT 'a' AS PinYin, '驁' AS Word
  4274. UNION ALL SELECT 'b', '簿'
  4275. UNION ALL SELECT 'c', '錯'
  4276. UNION ALL SELECT 'd', '鵽'
  4277. UNION ALL SELECT 'e', '樲'
  4278. UNION ALL SELECT 'f', '猤'
  4279. UNION ALL SELECT 'g', '腂'
  4280. UNION ALL SELECT 'h', '夻'
  4281. UNION ALL SELECT 'j', '攈'
  4282. UNION ALL SELECT 'k', '穒'
  4283. UNION ALL SELECT 'l', '鱳'
  4284. UNION ALL SELECT 'm', '旀'
  4285. UNION ALL SELECT 'n', '桛'
  4286. UNION ALL SELECT 'o', '漚'
  4287. UNION ALL SELECT 'p', '曝'
  4288. UNION ALL SELECT 'q', '囕'
  4289. UNION ALL SELECT 'r', '鶸'
  4290. UNION ALL SELECT 's', '蜶'
  4291. UNION ALL SELECT 't', '籜'
  4292. UNION ALL SELECT 'w', '鶩'
  4293. UNION ALL SELECT 'x', '鑂'
  4294. UNION ALL SELECT 'y', '韻'
  4295. UNION ALL SELECT 'z', '咗'
  4296. ) Temp
  4297. WHERE Word >= @Word COLLATE Chinese_PRC_CS_AS_KS_WS
  4298. ORDER BY Word COLLATE Chinese_PRC_CS_AS_KS_WS ASC
  4299. )
  4300. ELSE @Word END
  4301. )
  4302. SET @Index = @Index + 1
  4303. END
  4304. RETURN @PinYin
  4305. END
  4306. GO
  4307. /****** Object: UserDefinedFunction [dbo].[ToPinYin] Script Date: 2018/12/13 18:28:31 ******/
  4308. SET ANSI_NULLS ON
  4309. GO
  4310. SET QUOTED_IDENTIFIER ON
  4311. GO
  4312. create FUNCTION [dbo].[ToPinYin](@Words NVARCHAR(2000))
  4313. RETURNS VARCHAR(8000)
  4314. AS
  4315. BEGIN
  4316. DECLARE @Word nchar(1)
  4317. DECLARE @PinYin VARCHAR(8000)
  4318. DECLARE @Index int
  4319. DECLARE @WordLenth int
  4320. DECLARE @Unicode int
  4321. SET @Index = 1
  4322. SET @Words = LTRIM(RTRIM(@Words))
  4323. SET @WordLenth = LEN(@Words)
  4324. WHILE (@Index <= @WordLenth) --循环取字符
  4325. BEGIN
  4326. SET @Word = SUBSTRING(@Words, @Index, 1)
  4327. SET @Unicode = UNICODE(@Word)
  4328. SET @PinYin = ISNULL(@PinYin,'')+
  4329. (
  4330. CASE WHEN UNICODE(@Word) BETWEEN 19968 AND 19968+20901 THEN
  4331. (
  4332. SELECT TOP 1 PinYin FROM
  4333. (
  4334. SELECT 'a' AS PinYin,N'厑' AS Word
  4335. UNION ALL SELECT 'ai',N'靉'
  4336. UNION ALL SELECT 'an',N'黯'
  4337. UNION ALL SELECT 'ang',N'醠'
  4338. UNION ALL SELECT 'ao',N'驁'
  4339. UNION ALL SELECT 'ba',N'欛'
  4340. UNION ALL SELECT 'bai',N'瓸'
  4341. UNION ALL SELECT 'ban',N'瓣'
  4342. UNION ALL SELECT 'bang',N'鎊'
  4343. UNION ALL SELECT 'bao',N'鑤'
  4344. UNION ALL SELECT 'bei',N'鐾'
  4345. UNION ALL SELECT 'ben',N'輽'
  4346. UNION ALL SELECT 'beng',N'鏰'
  4347. UNION ALL SELECT 'bi',N'鼊'
  4348. UNION ALL SELECT 'bian',N'變'
  4349. UNION ALL SELECT 'biao',N'鰾'
  4350. UNION ALL SELECT 'bie',N'彆'
  4351. UNION ALL SELECT 'bin',N'鬢'
  4352. UNION ALL SELECT 'bing',N'靐'
  4353. UNION ALL SELECT 'bo',N'蔔'
  4354. UNION ALL SELECT 'bu',N'簿'
  4355. UNION ALL SELECT 'ca',N'囃'
  4356. UNION ALL SELECT 'cai',N'乲'
  4357. UNION ALL SELECT 'can',N'爘'
  4358. UNION ALL SELECT 'cang',N'賶'
  4359. UNION ALL SELECT 'cao',N'鼜'
  4360. UNION ALL SELECT 'ce',N'簎'
  4361. UNION ALL SELECT 'cen',N'笒'
  4362. UNION ALL SELECT 'ceng',N'乽' --硛硳岾猠乽
  4363. UNION ALL SELECT 'cha',N'詫'
  4364. UNION ALL SELECT 'chai',N'囆'
  4365. UNION ALL SELECT 'chan',N'顫'
  4366. UNION ALL SELECT 'chang',N'韔'
  4367. UNION ALL SELECT 'chao',N'觘'
  4368. UNION ALL SELECT 'che',N'爡'
  4369. UNION ALL SELECT 'chen',N'讖'
  4370. UNION ALL SELECT 'cheng',N'秤'
  4371. UNION ALL SELECT 'chi',N'鷘'
  4372. UNION ALL SELECT 'chong',N'銃'
  4373. UNION ALL SELECT 'chou',N'殠'
  4374. UNION ALL SELECT 'chu',N'矗'
  4375. UNION ALL SELECT 'chuai',N'踹'
  4376. UNION ALL SELECT 'chuan',N'鶨'
  4377. UNION ALL SELECT 'chuang',N'愴'
  4378. UNION ALL SELECT 'chui',N'顀'
  4379. UNION ALL SELECT 'chun',N'蠢'
  4380. UNION ALL SELECT 'chuo',N'縒'
  4381. UNION ALL SELECT 'ci',N'嗭' --賜嗭
  4382. UNION ALL SELECT 'cong',N'謥'
  4383. UNION ALL SELECT 'cou',N'輳'
  4384. UNION ALL SELECT 'cu',N'顣'
  4385. UNION ALL SELECT 'cuan',N'爨'
  4386. UNION ALL SELECT 'cui',N'臎'
  4387. UNION ALL SELECT 'cun',N'籿'
  4388. UNION ALL SELECT 'cuo',N'錯'
  4389. UNION ALL SELECT 'da',N'橽'
  4390. UNION ALL SELECT 'dai',N'靆'
  4391. UNION ALL SELECT 'dan',N'饏'
  4392. UNION ALL SELECT 'dang',N'闣'
  4393. UNION ALL SELECT 'dao',N'纛'
  4394. UNION ALL SELECT 'de',N'的'
  4395. UNION ALL SELECT 'den',N'扽'
  4396. UNION ALL SELECT 'deng',N'鐙'
  4397. UNION ALL SELECT 'di',N'螮'
  4398. UNION ALL SELECT 'dia',N'嗲'
  4399. UNION ALL SELECT 'dian',N'驔'
  4400. UNION ALL SELECT 'diao',N'鑃'
  4401. UNION ALL SELECT 'die',N'嚸' --眰嚸
  4402. UNION ALL SELECT 'ding',N'顁'
  4403. UNION ALL SELECT 'diu',N'銩'
  4404. UNION ALL SELECT 'dong',N'霘'
  4405. UNION ALL SELECT 'dou',N'鬭'
  4406. UNION ALL SELECT 'du',N'蠹'
  4407. UNION ALL SELECT 'duan',N'叾' --籪叾
  4408. UNION ALL SELECT 'dui',N'譵'
  4409. UNION ALL SELECT 'dun',N'踲'
  4410. UNION ALL SELECT 'duo',N'鵽'
  4411. UNION ALL SELECT 'e',N'鱷'
  4412. UNION ALL SELECT 'en',N'摁'
  4413. UNION ALL SELECT 'eng',N'鞥'
  4414. UNION ALL SELECT 'er',N'樲'
  4415. UNION ALL SELECT 'fa',N'髮'
  4416. UNION ALL SELECT 'fan',N'瀪'
  4417. UNION ALL SELECT 'fang',N'放'
  4418. UNION ALL SELECT 'fei',N'靅'
  4419. UNION ALL SELECT 'fen',N'鱝'
  4420. UNION ALL SELECT 'feng',N'覅'
  4421. UNION ALL SELECT 'fo',N'梻'
  4422. UNION ALL SELECT 'fou',N'鴀'
  4423. UNION ALL SELECT 'fu',N'猤' --鰒猤
  4424. UNION ALL SELECT 'ga',N'魀'
  4425. UNION ALL SELECT 'gai',N'瓂'
  4426. UNION ALL SELECT 'gan',N'灨'
  4427. UNION ALL SELECT 'gang',N'戇'
  4428. UNION ALL SELECT 'gao',N'鋯'
  4429. UNION ALL SELECT 'ge',N'獦'
  4430. UNION ALL SELECT 'gei',N'給'
  4431. UNION ALL SELECT 'gen',N'搄'
  4432. UNION ALL SELECT 'geng',N'堩' --亙堩啹喼嗰
  4433. UNION ALL SELECT 'gong',N'兣' --熕贑兝兣
  4434. UNION ALL SELECT 'gou',N'購'
  4435. UNION ALL SELECT 'gu',N'顧'
  4436. UNION ALL SELECT 'gua',N'詿'
  4437. UNION ALL SELECT 'guai',N'恠'
  4438. UNION ALL SELECT 'guan',N'鱹'
  4439. UNION ALL SELECT 'guang',N'撗'
  4440. UNION ALL SELECT 'gui',N'鱥'
  4441. UNION ALL SELECT 'gun',N'謴'
  4442. UNION ALL SELECT 'guo',N'腂'
  4443. UNION ALL SELECT 'ha',N'哈'
  4444. UNION ALL SELECT 'hai',N'饚'
  4445. UNION ALL SELECT 'han',N'鶾'
  4446. UNION ALL SELECT 'hang',N'沆'
  4447. UNION ALL SELECT 'hao',N'兞'
  4448. UNION ALL SELECT 'he',N'靏'
  4449. UNION ALL SELECT 'hei',N'嬒'
  4450. UNION ALL SELECT 'hen',N'恨'
  4451. UNION ALL SELECT 'heng',N'堼' --堼囍
  4452. UNION ALL SELECT 'hong',N'鬨'
  4453. UNION ALL SELECT 'hou',N'鱟'
  4454. UNION ALL SELECT 'hu',N'鸌'
  4455. UNION ALL SELECT 'hua',N'蘳'
  4456. UNION ALL SELECT 'huai',N'蘾'
  4457. UNION ALL SELECT 'huan',N'鰀'
  4458. UNION ALL SELECT 'huang',N'鎤'
  4459. UNION ALL SELECT 'hui',N'顪'
  4460. UNION ALL SELECT 'hun',N'諢'
  4461. UNION ALL SELECT 'huo',N'夻'
  4462. UNION ALL SELECT 'ji',N'驥'
  4463. UNION ALL SELECT 'jia',N'嗧'
  4464. UNION ALL SELECT 'jian',N'鑳'
  4465. UNION ALL SELECT 'jiang',N'謽'
  4466. UNION ALL SELECT 'jiao',N'釂'
  4467. UNION ALL SELECT 'jie',N'繲'
  4468. UNION ALL SELECT 'jin',N'齽'
  4469. UNION ALL SELECT 'jing',N'竸'
  4470. UNION ALL SELECT 'jiong',N'蘔'
  4471. UNION ALL SELECT 'jiu',N'欍'
  4472. UNION ALL SELECT 'ju',N'爠'
  4473. UNION ALL SELECT 'juan',N'羂'
  4474. UNION ALL SELECT 'jue',N'钁'
  4475. UNION ALL SELECT 'jun',N'攈'
  4476. UNION ALL SELECT 'ka',N'鉲'
  4477. UNION ALL SELECT 'kai',N'乫' --鎎乫
  4478. UNION ALL SELECT 'kan',N'矙'
  4479. UNION ALL SELECT 'kang',N'閌'
  4480. UNION ALL SELECT 'kao',N'鯌'
  4481. UNION ALL SELECT 'ke',N'騍'
  4482. UNION ALL SELECT 'ken',N'褃'
  4483. UNION ALL SELECT 'keng',N'鏗' --巪乬唟厼怾
  4484. UNION ALL SELECT 'kong',N'廤'
  4485. UNION ALL SELECT 'kou',N'鷇'
  4486. UNION ALL SELECT 'ku',N'嚳'
  4487. UNION ALL SELECT 'kua',N'骻'
  4488. UNION ALL SELECT 'kuai',N'鱠'
  4489. UNION ALL SELECT 'kuan',N'窾'
  4490. UNION ALL SELECT 'kuang',N'鑛'
  4491. UNION ALL SELECT 'kui',N'鑎'
  4492. UNION ALL SELECT 'kun',N'睏'
  4493. UNION ALL SELECT 'kuo',N'穒'
  4494. UNION ALL SELECT 'la',N'鞡'
  4495. UNION ALL SELECT 'lai',N'籟'
  4496. UNION ALL SELECT 'lan',N'糷'
  4497. UNION ALL SELECT 'lang',N'唥'
  4498. UNION ALL SELECT 'lao',N'軂'
  4499. UNION ALL SELECT 'le',N'餎'
  4500. UNION ALL SELECT 'lei',N'脷' --嘞脷
  4501. UNION ALL SELECT 'leng',N'睖'
  4502. UNION ALL SELECT 'li',N'瓈'
  4503. UNION ALL SELECT 'lia',N'倆'
  4504. UNION ALL SELECT 'lian',N'纞'
  4505. UNION ALL SELECT 'liang',N'鍄'
  4506. UNION ALL SELECT 'liao',N'瞭'
  4507. UNION ALL SELECT 'lie',N'鱲'
  4508. UNION ALL SELECT 'lin',N'轥' --轥拎
  4509. UNION ALL SELECT 'ling',N'炩'
  4510. UNION ALL SELECT 'liu',N'咯' --瓼甅囖咯
  4511. UNION ALL SELECT 'long',N'贚'
  4512. UNION ALL SELECT 'lou',N'鏤'
  4513. UNION ALL SELECT 'lu',N'氇'
  4514. UNION ALL SELECT 'lv',N'鑢'
  4515. UNION ALL SELECT 'luan',N'亂'
  4516. UNION ALL SELECT 'lue',N'擽'
  4517. UNION ALL SELECT 'lun',N'論'
  4518. UNION ALL SELECT 'luo',N'鱳'
  4519. UNION ALL SELECT 'ma',N'嘛'
  4520. UNION ALL SELECT 'mai',N'霢'
  4521. UNION ALL SELECT 'man',N'蘰'
  4522. UNION ALL SELECT 'mang',N'蠎'
  4523. UNION ALL SELECT 'mao',N'唜'
  4524. UNION ALL SELECT 'me',N'癦' --癦呅
  4525. UNION ALL SELECT 'mei',N'嚜'
  4526. UNION ALL SELECT 'men',N'們'
  4527. UNION ALL SELECT 'meng',N'霥' --霿踎
  4528. UNION ALL SELECT 'mi',N'羃'
  4529. UNION ALL SELECT 'mian',N'麵'
  4530. UNION ALL SELECT 'miao',N'廟'
  4531. UNION ALL SELECT 'mie',N'鱴' --鱴瓱
  4532. UNION ALL SELECT 'min',N'鰵'
  4533. UNION ALL SELECT 'ming',N'詺'
  4534. UNION ALL SELECT 'miu',N'謬'
  4535. UNION ALL SELECT 'mo',N'耱' --耱乮
  4536. UNION ALL SELECT 'mou',N'麰' --麰蟱
  4537. UNION ALL SELECT 'mu',N'旀'
  4538. UNION ALL SELECT 'na',N'魶'
  4539. UNION ALL SELECT 'nai',N'錼'
  4540. UNION ALL SELECT 'nan',N'婻'
  4541. UNION ALL SELECT 'nang',N'齉'
  4542. UNION ALL SELECT 'nao',N'臑'
  4543. UNION ALL SELECT 'ne',N'呢'
  4544. UNION ALL SELECT 'nei',N'内' --嫩焾
  4545. UNION ALL SELECT 'nen',N'嫩'
  4546. UNION ALL SELECT 'neng',N'能' --莻嗯鈪銰啱
  4547. UNION ALL SELECT 'ni',N'嬺'
  4548. UNION ALL SELECT 'nian',N'艌'
  4549. UNION ALL SELECT 'niang',N'釀'
  4550. UNION ALL SELECT 'niao',N'脲'
  4551. UNION ALL SELECT 'nie',N'钀'
  4552. UNION ALL SELECT 'nin',N'拰'
  4553. UNION ALL SELECT 'ning',N'濘'
  4554. UNION ALL SELECT 'niu',N'靵'
  4555. UNION ALL SELECT 'nong',N'齈'
  4556. UNION ALL SELECT 'nou',N'譳'
  4557. UNION ALL SELECT 'nu',N'搙'
  4558. UNION ALL SELECT 'nv',N'衄'
  4559. UNION ALL SELECT 'nue',N'瘧'
  4560. UNION ALL SELECT 'nuan',N'燶' --硸黁燶郍
  4561. UNION ALL SELECT 'nuo',N'桛'
  4562. UNION ALL SELECT 'o',N'鞰' --毮夞乯鞰
  4563. UNION ALL SELECT 'ou',N'漚'
  4564. UNION ALL SELECT 'pa',N'袙'
  4565. UNION ALL SELECT 'pai',N'磗' --鎃磗
  4566. UNION ALL SELECT 'pan',N'鑻'
  4567. UNION ALL SELECT 'pang',N'胖'
  4568. UNION ALL SELECT 'pao',N'礮'
  4569. UNION ALL SELECT 'pei',N'轡'
  4570. UNION ALL SELECT 'pen',N'喯'
  4571. UNION ALL SELECT 'peng',N'喸' --浌巼闏乶喸
  4572. UNION ALL SELECT 'pi',N'鸊'
  4573. UNION ALL SELECT 'pian',N'騙'
  4574. UNION ALL SELECT 'piao',N'慓'
  4575. UNION ALL SELECT 'pie',N'嫳'
  4576. UNION ALL SELECT 'pin',N'聘'
  4577. UNION ALL SELECT 'ping',N'蘋'
  4578. UNION ALL SELECT 'po',N'魄'
  4579. UNION ALL SELECT 'pou',N'哛' --兺哛
  4580. UNION ALL SELECT 'pu',N'曝'
  4581. UNION ALL SELECT 'qi',N'蟿'
  4582. UNION ALL SELECT 'qia',N'髂'
  4583. UNION ALL SELECT 'qian',N'縴'
  4584. UNION ALL SELECT 'qiang',N'瓩' --羻兛瓩
  4585. UNION ALL SELECT 'qiao',N'躈'
  4586. UNION ALL SELECT 'qie',N'籡'
  4587. UNION ALL SELECT 'qin',N'藽'
  4588. UNION ALL SELECT 'qing',N'櫦'
  4589. UNION ALL SELECT 'qiong',N'瓗'
  4590. UNION ALL SELECT 'qiu',N'糗'
  4591. UNION ALL SELECT 'qu',N'覻'
  4592. UNION ALL SELECT 'quan',N'勸'
  4593. UNION ALL SELECT 'que',N'礭'
  4594. UNION ALL SELECT 'qun',N'囕'
  4595. UNION ALL SELECT 'ran',N'橪'
  4596. UNION ALL SELECT 'rang',N'讓'
  4597. UNION ALL SELECT 'rao',N'繞'
  4598. UNION ALL SELECT 're',N'熱'
  4599. UNION ALL SELECT 'ren',N'餁'
  4600. UNION ALL SELECT 'reng',N'陾'
  4601. UNION ALL SELECT 'ri',N'馹'
  4602. UNION ALL SELECT 'rong',N'穃'
  4603. UNION ALL SELECT 'rou',N'嶿'
  4604. UNION ALL SELECT 'ru',N'擩'
  4605. UNION ALL SELECT 'ruan',N'礝'
  4606. UNION ALL SELECT 'rui',N'壡'
  4607. UNION ALL SELECT 'run',N'橍' --橍挼
  4608. UNION ALL SELECT 'ruo',N'鶸'
  4609. UNION ALL SELECT 'sa',N'栍' --櫒栍
  4610. UNION ALL SELECT 'sai',N'虄' --簺虄
  4611. UNION ALL SELECT 'san',N'閐'
  4612. UNION ALL SELECT 'sang',N'喪'
  4613. UNION ALL SELECT 'sao',N'髞'
  4614. UNION ALL SELECT 'se',N'飋' --裇聓
  4615. UNION ALL SELECT 'sen',N'篸'
  4616. UNION ALL SELECT 'seng',N'縇' --閪縇
  4617. UNION ALL SELECT 'sha',N'霎'
  4618. UNION ALL SELECT 'shai',N'曬'
  4619. UNION ALL SELECT 'shan',N'鱔'
  4620. UNION ALL SELECT 'shang',N'緔'
  4621. UNION ALL SELECT 'shao',N'潲'
  4622. UNION ALL SELECT 'she',N'欇'
  4623. UNION ALL SELECT 'shen',N'瘮'
  4624. UNION ALL SELECT 'sheng',N'賸'
  4625. UNION ALL SELECT 'shi',N'瓧' --鰘齛兙瓧
  4626. UNION ALL SELECT 'shou',N'鏉'
  4627. UNION ALL SELECT 'shu',N'虪'
  4628. UNION ALL SELECT 'shua',N'誜'
  4629. UNION ALL SELECT 'shuai',N'卛'
  4630. UNION ALL SELECT 'shuan',N'腨'
  4631. UNION ALL SELECT 'shuang',N'灀'
  4632. UNION ALL SELECT 'shui',N'睡'
  4633. UNION ALL SELECT 'shun',N'鬊'
  4634. UNION ALL SELECT 'shuo',N'鑠'
  4635. UNION ALL SELECT 'si',N'乺' --瀃螦乺
  4636. UNION ALL SELECT 'song',N'鎹'
  4637. UNION ALL SELECT 'sou',N'瘶'
  4638. UNION ALL SELECT 'su',N'鷫'
  4639. UNION ALL SELECT 'suan',N'算'
  4640. UNION ALL SELECT 'sui',N'鐩'
  4641. UNION ALL SELECT 'sun',N'潠'
  4642. UNION ALL SELECT 'suo',N'蜶'
  4643. UNION ALL SELECT 'ta',N'襨' --躢襨
  4644. UNION ALL SELECT 'tai',N'燤'
  4645. UNION ALL SELECT 'tan',N'賧'
  4646. UNION ALL SELECT 'tang',N'燙'
  4647. UNION ALL SELECT 'tao',N'畓' --討畓
  4648. UNION ALL SELECT 'te',N'蟘'
  4649. UNION ALL SELECT 'teng',N'朰' --霯唞朰
  4650. UNION ALL SELECT 'ti',N'趯'
  4651. UNION ALL SELECT 'tian',N'舚'
  4652. UNION ALL SELECT 'tiao',N'糶'
  4653. UNION ALL SELECT 'tie',N'餮'
  4654. UNION ALL SELECT 'ting',N'乭' --濎乭
  4655. UNION ALL SELECT 'tong',N'憅'
  4656. UNION ALL SELECT 'tou',N'透'
  4657. UNION ALL SELECT 'tu',N'鵵'
  4658. UNION ALL SELECT 'tuan',N'褖'
  4659. UNION ALL SELECT 'tui',N'駾'
  4660. UNION ALL SELECT 'tun',N'坉'
  4661. UNION ALL SELECT 'tuo',N'籜'
  4662. UNION ALL SELECT 'wa',N'韤'
  4663. UNION ALL SELECT 'wai',N'顡'
  4664. UNION ALL SELECT 'wan',N'贎'
  4665. UNION ALL SELECT 'wang',N'朢'
  4666. UNION ALL SELECT 'wei',N'躛'
  4667. UNION ALL SELECT 'wen',N'璺'
  4668. UNION ALL SELECT 'weng',N'齆'
  4669. UNION ALL SELECT 'wo',N'齷'
  4670. UNION ALL SELECT 'wu',N'鶩'
  4671. UNION ALL SELECT 'xi',N'衋'
  4672. UNION ALL SELECT 'xia',N'鏬'
  4673. UNION ALL SELECT 'xian',N'鼸'
  4674. UNION ALL SELECT 'xiang',N'鱌'
  4675. UNION ALL SELECT 'xiao',N'斆'
  4676. UNION ALL SELECT 'xie',N'躞'
  4677. UNION ALL SELECT 'xin',N'釁'
  4678. UNION ALL SELECT 'xing',N'臖'
  4679. UNION ALL SELECT 'xiong',N'敻'
  4680. UNION ALL SELECT 'xiu',N'齅'
  4681. UNION ALL SELECT 'xu',N'蓿'
  4682. UNION ALL SELECT 'xuan',N'贙'
  4683. UNION ALL SELECT 'xue',N'瀥'
  4684. UNION ALL SELECT 'xun',N'鑂'
  4685. UNION ALL SELECT 'ya',N'齾'
  4686. UNION ALL SELECT 'yan',N'灩'
  4687. UNION ALL SELECT 'yang',N'樣'
  4688. UNION ALL SELECT 'yao',N'鑰'
  4689. UNION ALL SELECT 'ye',N'岃' --鸈膶岃
  4690. UNION ALL SELECT 'yi',N'齸'
  4691. UNION ALL SELECT 'yin',N'檼'
  4692. UNION ALL SELECT 'ying',N'譍'
  4693. UNION ALL SELECT 'yo',N'喲'
  4694. UNION ALL SELECT 'yong',N'醟'
  4695. UNION ALL SELECT 'you',N'鼬'
  4696. UNION ALL SELECT 'yu',N'爩'
  4697. UNION ALL SELECT 'yuan',N'願'
  4698. UNION ALL SELECT 'yue',N'鸙'
  4699. UNION ALL SELECT 'yun',N'韻'
  4700. UNION ALL SELECT 'za',N'雥'
  4701. UNION ALL SELECT 'zai',N'縡'
  4702. UNION ALL SELECT 'zan',N'饡'
  4703. UNION ALL SELECT 'zang',N'臟'
  4704. UNION ALL SELECT 'zao',N'竈'
  4705. UNION ALL SELECT 'ze',N'稄'
  4706. UNION ALL SELECT 'zei',N'鱡'
  4707. UNION ALL SELECT 'zen',N'囎'
  4708. UNION ALL SELECT 'zeng',N'贈'
  4709. UNION ALL SELECT 'zha',N'醡'
  4710. UNION ALL SELECT 'zhai',N'瘵'
  4711. UNION ALL SELECT 'zhan',N'驏'
  4712. UNION ALL SELECT 'zhang',N'瞕'
  4713. UNION ALL SELECT 'zhao',N'羄'
  4714. UNION ALL SELECT 'zhe',N'鷓'
  4715. UNION ALL SELECT 'zhen',N'黮'
  4716. UNION ALL SELECT 'zheng',N'證'
  4717. UNION ALL SELECT 'zhi',N'豒'
  4718. UNION ALL SELECT 'zhong',N'諥'
  4719. UNION ALL SELECT 'zhou',N'驟'
  4720. UNION ALL SELECT 'zhu',N'鑄'
  4721. UNION ALL SELECT 'zhua',N'爪'
  4722. UNION ALL SELECT 'zhuai',N'跩'
  4723. UNION ALL SELECT 'zhuan',N'籑'
  4724. UNION ALL SELECT 'zhuang',N'戅'
  4725. UNION ALL SELECT 'zhui',N'鑆'
  4726. UNION ALL SELECT 'zhun',N'稕'
  4727. UNION ALL SELECT 'zhuo',N'籱'
  4728. UNION ALL SELECT 'zi',N'漬'
  4729. UNION ALL SELECT 'zong',N'縱'
  4730. UNION ALL SELECT 'zou',N'媰'
  4731. UNION ALL SELECT 'zu',N'謯'
  4732. UNION ALL SELECT 'zuan',N'攥'
  4733. UNION ALL SELECT 'zui',N'欈'
  4734. UNION ALL SELECT 'zun',N'銌'
  4735. UNION ALL SELECT 'zuo',N'咗'
  4736. ) Temp
  4737. WHERE Word >= @Word COLLATE Chinese_PRC_CS_AS_KS_WS
  4738. ORDER BY Word COLLATE Chinese_PRC_CS_AS_KS_WS ASC
  4739. )
  4740. ELSE @Word END
  4741. )
  4742. SET @Index = @Index + 1
  4743. END
  4744. RETURN @PinYin
  4745. END
  4746. GO
  4747. /****** Object: UserDefinedFunction [dbo].[TransAreaNo] Script Date: 2018/12/13 18:28:32 ******/
  4748. SET ANSI_NULLS ON
  4749. GO
  4750. SET QUOTED_IDENTIFIER ON
  4751. GO
  4752. --######################################################3
  4753. --实现功能 的函数 将037155611698 转换为 0371-155611698
  4754. --######################################################3
  4755. CREATE FUNCTION [dbo].[TransAreaNo]
  4756. (
  4757. @TelephoneNo VARCHAR(50)
  4758. )
  4759. RETURNS VARCHAR(50)
  4760. AS
  4761. BEGIN
  4762. DECLARE @Temp VARCHAR(50)
  4763. set @TelephoneNo=right(@TelephoneNo,len(@TelephoneNo)-1)
  4764. select @Temp=areano from dctelarea with(nolock)
  4765. where areano like left(@TelephoneNo,len(areano))
  4766. set @TelephoneNo=right(@TelephoneNo,len(@TelephoneNo)-len(@Temp))
  4767. RETURN '0'+@Temp+'-'+@TelephoneNo
  4768. END
  4769. GO
  4770. /****** Object: UserDefinedFunction [dbo].[Trim] Script Date: 2018/12/13 18:28:32 ******/
  4771. SET ANSI_NULLS ON
  4772. GO
  4773. SET QUOTED_IDENTIFIER ON
  4774. GO
  4775. --#############################333
  4776. --Trim函数
  4777. --#############################333
  4778. create FUNCTION [dbo].[Trim]
  4779. (
  4780. @sText VARCHAR(MAX)
  4781. )
  4782. RETURNS VARCHAR(MAX)
  4783. AS
  4784. BEGIN
  4785. RETURN LTRIM(RTRIM(@sText))
  4786. END
  4787. GO
  4788. /****** Object: UserDefinedFunction [dbo].[TrimNULL] Script Date: 2018/12/13 18:28:32 ******/
  4789. SET ANSI_NULLS ON
  4790. GO
  4791. SET QUOTED_IDENTIFIER ON
  4792. GO
  4793. --#############################333
  4794. --Trim函数, 如果=‘’,则为null
  4795. --#############################333
  4796. CREATE FUNCTION [dbo].[TrimNULL]
  4797. (
  4798. @sText VARCHAR(MAX)
  4799. )
  4800. RETURNS VARCHAR(MAX)
  4801. AS
  4802. BEGIN
  4803. SET @sText = LTRIM(RTRIM(@sText))
  4804. IF LEN(@sText) = 0
  4805. SET @sText = NULL
  4806. RETURN @sText
  4807. END
  4808. GO
  4809. /****** Object: UserDefinedFunction [dbo].[TruncJobIDs] Script Date: 2018/12/13 18:28:32 ******/
  4810. SET ANSI_NULLS ON
  4811. GO
  4812. SET QUOTED_IDENTIFIER ON
  4813. GO
  4814. CREATE FUNCTION [dbo].[TruncJobIDs]
  4815. (
  4816. @JobIds AS VARCHAR(MAX)
  4817. )
  4818. RETURNS VARCHAR(MAX)
  4819. AS
  4820. BEGIN
  4821. DECLARE @i INT, @Num INT, @StrSource VARCHAR(MAX), @s VARCHAR(50)
  4822. SELECT @StrSource = RTRIM(LTRIM(@JobIds))
  4823. SELECT @i = CHARINDEX(',', @StrSource), @Num = 0, @s = ''
  4824. IF @i = 0
  4825. RETURN @StrSource
  4826. WHILE @i >= 1 AND @Num < 3
  4827. BEGIN
  4828. IF LEFT(@StrSource, @i - 1) > ''
  4829. SELECT @s = @s + ',' + LEFT(@StrSource, @i - 1), @Num = @Num + 1
  4830. SELECT @StrSource = SUBSTRING(@StrSource, @i + 1, LEN(@StrSource) - @i)
  4831. SELECT @i = CHARINDEX(',', @StrSource)
  4832. END
  4833. IF @Num < 3 AND @StrSource <> '' AND @i = 0
  4834. SELECT @s = @s + ',' + @StrSource
  4835. IF LEFT(@s, 1) = ','
  4836. SELECT @s = RIGHT(@s, LEN(@s) - 1)
  4837. RETURN @s
  4838. END
  4839. GO
  4840. /****** Object: UserDefinedFunction [dbo].[v2018_CheckHasCompleteCv] Script Date: 2018/12/13 18:28:32 ******/
  4841. SET ANSI_NULLS ON
  4842. GO
  4843. SET QUOTED_IDENTIFIER ON
  4844. GO
  4845. --####################################################
  4846. --添加人:Peter
  4847. --添加时间:2018-8-23
  4848. --描述:检查个人是否有可以申请职位的家里
  4849. --####################################################
  4850. CREATE FUNCTION [dbo].[v2018_CheckHasCompleteCv](@PaMainID INT)
  4851. RETURNS BIT
  4852. AS
  4853. BEGIN
  4854. IF EXISTS(
  4855. SELECT *
  4856. FROM cvMain WITH(NOLOCK)
  4857. WHERE paMainID = @PaMainID
  4858. AND (
  4859. (cvLevel LIKE '111__1%' AND VerifyResult = 1) OR
  4860. (cvLevelEng LIKE '111__1%' AND VerifyResultEng = 1)
  4861. )
  4862. )
  4863. BEGIN
  4864. RETURN 1
  4865. END
  4866. ELSE
  4867. BEGIN
  4868. RETURN 0
  4869. END
  4870. RETURN 0
  4871. END
  4872. GO
  4873. /****** Object: UserDefinedFunction [dbo].[v2018_SafeParam] Script Date: 2018/12/13 18:28:32 ******/
  4874. SET ANSI_NULLS ON
  4875. GO
  4876. SET QUOTED_IDENTIFIER ON
  4877. GO
  4878. --#######################################
  4879. --添加人:Lucifer
  4880. --添加时间:2018-7-27
  4881. --用途:过滤不安全的SQL语法
  4882. --#######################################
  4883. CREATE FUNCTION [dbo].[v2018_SafeParam]
  4884. (
  4885. @sText VARCHAR(MAX)
  4886. )
  4887. RETURNS VARCHAR(MAX)
  4888. AS
  4889. BEGIN
  4890. IF @sText IS NULL
  4891. RETURN ''
  4892. -- SET @sText = REPLACE(@sText, 'and ','and&nbsp;')
  4893. -- SET @sText = REPLACE(@sText, 'or ','or&nbsp;')
  4894. -- SET @sText = REPLACE(@sText, 'exists','exists&nbsp;')
  4895. -- SET @sText = REPLACE(@sText, 'union ','union&nbsp;')
  4896. -- SET @sText = REPLACE(@sText, '<','<')
  4897. -- SET @sText = REPLACE(@sText, '>','>')
  4898. -- SET @sText = REPLACE(@sText, 'from ','from&nbsp;')
  4899. -- SET @sText = REPLACE(@sText, 'select ','select&nbsp;')
  4900. SET @sText = REPLACE(@sText, ' ','')
  4901. SET @sText = REPLACE(@sText, 'script','script')
  4902. SET @sText = REPLACE(@sText, 'src','src')
  4903. SET @sText = REPLACE(@sText, 'iframe','iframe')
  4904. SET @sText = REPLACE(@sText, '--','——')
  4905. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  4906. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  4907. SET @sText = REPLACE(@sText, 'delete ','delete&nbsp;')
  4908. SET @sText = REPLACE(@sText, 'update ','update&nbsp;')
  4909. SET @sText = REPLACE(@sText, 'delete
  4910. ','delete&nbsp;')
  4911. SET @sText = REPLACE(@sText, 'update
  4912. ','update&nbsp;')
  4913. SET @sText = REPLACE(@sText, 'create','create&nbsp;')
  4914. SET @sText = REPLACE(@sText, 'drop','drop&nbsp;')
  4915. SET @sText = REPLACE(@sText, 'insert','insert&nbsp;')
  4916. SET @sText = REPLACE(@sText, 'chr(','chr(&nbsp;')
  4917. SET @sText = REPLACE(@sText, 'master','master&nbsp;')
  4918. SET @sText = REPLACE(@sText, 'net user','net&nbsp;user')
  4919. SET @sText = REPLACE(@sText, 'declare','declare&nbsp;')
  4920. SET @sText = REPLACE(@sText, 'char(','char(&nbsp;')
  4921. SET @sText = REPLACE(@sText, 'mid(','mid(&nbsp;')
  4922. SET @sText = REPLACE(@sText, 'xp_cmdshell','xp_cmdshell&nbsp;')
  4923. SET @sText = REPLACE(@sText, 'exec','exec&nbsp;')
  4924. SET @sText = REPLACE(@sText, 'truncate','truncate&nbsp;')
  4925. SET @sText = REPLACE(@sText, 'ascii(','ascii(&nbsp;')
  4926. SET @sText = REPLACE(@sText, 'substring(','substring(&nbsp;')
  4927. SET @sText = REPLACE(@sText, 'localgroup ','localgroup&nbsp;')
  4928. SET @sText = REPLACE(@sText, 'administrators ','administrators&nbsp;')
  4929. SET @sText = REPLACE(@sText, 'dbcc','dbcc&nbsp;')
  4930. SET @sText = REPLACE(@sText, 'checkdb(','checkdb(&nbsp;')
  4931. SET @sText = REPLACE(@sText, 'sp_addsrvrolemember','p_addsrvrolemember&nbsp;')
  4932. SET @sText = REPLACE(@sText, 'wscript.shell','wscript.shell&nbsp;')
  4933. RETURN @sText
  4934. END
  4935. GO
  4936. /****** Object: UserDefinedFunction [dbo].[v2018_SetIntNull] Script Date: 2018/12/13 18:28:32 ******/
  4937. SET ANSI_NULLS ON
  4938. GO
  4939. SET QUOTED_IDENTIFIER ON
  4940. GO
  4941. --######################################################3
  4942. --选填的空值,需要改成Null
  4943. --######################################################3
  4944. CREATE FUNCTION [dbo].[v2018_SetIntNull]
  4945. (
  4946. @str INT
  4947. )
  4948. RETURNS INT
  4949. AS
  4950. BEGIN
  4951. IF @str = 0
  4952. SET @str = NULL
  4953. RETURN @str
  4954. END
  4955. GO
  4956. /****** Object: UserDefinedFunction [dbo].[v2018_SetVarcharNull] Script Date: 2018/12/13 18:28:32 ******/
  4957. SET ANSI_NULLS ON
  4958. GO
  4959. SET QUOTED_IDENTIFIER ON
  4960. GO
  4961. --######################################################3
  4962. --选填的空值,需要改成Null
  4963. --######################################################3
  4964. CREATE FUNCTION [dbo].[v2018_SetVarcharNull]
  4965. (
  4966. @Str VARCHAR(MAX)
  4967. )
  4968. RETURNS VARCHAR(MAX)
  4969. AS
  4970. BEGIN
  4971. SET @Str = dbo.v2018_SafeParam(@Str)
  4972. IF LEN(ISNULL(@Str, '')) = 0
  4973. SET @Str = NULL
  4974. RETURN @Str
  4975. END
  4976. GO
  4977. /****** Object: UserDefinedFunction [dbo].[VipJobNumber] Script Date: 2018/12/13 18:28:32 ******/
  4978. SET ANSI_NULLS ON
  4979. GO
  4980. SET QUOTED_IDENTIFIER ON
  4981. GO
  4982. --######################################3
  4983. --创建:Sean 2011-01-25
  4984. --贵宾会员的职位数量
  4985. --######################################3
  4986. CREATE FUNCTION [dbo].[VipJobNumber]
  4987. (
  4988. @ID INT
  4989. )
  4990. RETURNS INT
  4991. AS
  4992. BEGIN
  4993. DECLARE @Number AS INT, @Sn INT
  4994. SELECT @Number = SUM(JobNumber) FROM caOrder WITH(NOLOCK)
  4995. WHERE cpMainID = @ID
  4996. AND BeginDate <= GETDATE() AND EndDate >= CONVERT(SMALLDATETIME, GETDATE())
  4997. AND OpenDate IS NOT NULL
  4998. SET @Sn = 5
  4999. IF EXISTS(SELECT 'x' FROM cpMain WITH(NOLOCK) WHERE Id = @Id AND RealName = 1)
  5000. SET @Sn = 10
  5001. RETURN ISNULL(@Number, 0) + @Sn
  5002. END
  5003. GO
  5004. /****** Object: UserDefinedFunction [dbo].[VipUserNumber] Script Date: 2018/12/13 18:28:32 ******/
  5005. SET ANSI_NULLS ON
  5006. GO
  5007. SET QUOTED_IDENTIFIER ON
  5008. GO
  5009. --######################################3
  5010. --创建:Sean 2011-01-25
  5011. --贵宾会员的用户数量
  5012. --######################################3
  5013. CREATE FUNCTION [dbo].[VipUserNumber]
  5014. (
  5015. @ID INT
  5016. )
  5017. RETURNS INT
  5018. AS
  5019. BEGIN
  5020. DECLARE @Number AS INT
  5021. SELECT @Number = SUM(UserNumber) FROM caOrder WITH(NOLOCK)
  5022. WHERE cpMainID = @ID
  5023. AND BeginDate <= GETDATE() AND EndDate >= CONVERT(SMALLDATETIME, GETDATE())
  5024. AND OpenDate IS NOT NULL
  5025. RETURN ISNULL(@Number, 0) + 1
  5026. END
  5027. GO
  5028. /****** Object: UserDefinedFunction [dbo].[WorkDateAdd] Script Date: 2018/12/13 18:28:32 ******/
  5029. SET ANSI_NULLS ON
  5030. GO
  5031. SET QUOTED_IDENTIFIER ON
  5032. GO
  5033. CREATE Function [dbo].[WorkDateAdd]
  5034. (
  5035. @Date DATETIME,
  5036. @Hours DECIMAL(9, 2)
  5037. )
  5038. RETURNS DATETIME
  5039. AS
  5040. BEGIN
  5041. ----检查输入参数是否正确
  5042. IF ISNULL(@Hours, 0) = 0
  5043. RETURN @Date
  5044. IF @Date IS NULL
  5045. RETURN NULL
  5046. DECLARE @Minutes AS INT, @s AS VARCHAR(8), @StartDate AS DATETIME, @CostMinute AS INT
  5047. ----获取第一个工作日
  5048. IF NOT EXISTS(SELECT 'x' FROM OaDb..WorkDate WITH(NOLOCK) WHERE WorkDate = CONVERT(VARCHAR(8), @Date, 112) AND WorkType = 1)
  5049. BEGIN
  5050. SELECT TOP 1 @S = a.WorkDate
  5051. FROM OaDb..WorkDate a WITH(NOLOCK)
  5052. WHERE a.WorkDate > CONVERT(VARCHAR(8), @Date, 112)
  5053. AND WorkType = 1
  5054. ORDER BY a.WorkDate
  5055. SET @StartDate = @S
  5056. END
  5057. ELSE
  5058. SET @StartDate = CONVERT(DATETIME, CONVERT(VARCHAR(10), @Date, 120))
  5059. ----如果当天是工作日,则计算是已运行的工作时间
  5060. IF CONVERT(VARCHAR(8), @Date, 112) = CONVERT(VARCHAR(8), @StartDate, 112)
  5061. BEGIN
  5062. SET @Minutes = DATEPART(HOUR, @Date) * 100 + DATEPART(MINUTE, @Date)
  5063. IF @Minutes < 830
  5064. SELECT @CostMinute = 0
  5065. ELSE IF @Minutes < 1201
  5066. SELECT @CostMinute = DATEDIFF(MINUTE, dbo.MergeDate(@Date, 830), @Date)
  5067. ELSE IF @Minutes < 1300
  5068. SELECT @CostMinute = 210
  5069. ELSE IF @Minutes < 1731
  5070. SELECT @CostMinute = DATEDIFF(MINUTE, dbo.MergeDate(@Date, 1300), @Date) + 210
  5071. ELSE
  5072. SELECT @CostMinute = 480
  5073. END
  5074. ELSE
  5075. SET @CostMinute = 0
  5076. SET @Minutes = @Hours * 60 + @CostMinute ----从第一个工作日开始,需要工作的分钟数
  5077. DECLARE @DayInterval AS INT, --除8等于天数
  5078. @MinuteLast AS INT,
  5079. @ExpireDate AS DATETIME,
  5080. @TempDate AS DATETIME
  5081. SET @DayInterval = @Minutes / 480
  5082. SELECT @MinuteLast = @Minutes - @DayInterval * 480
  5083. SET @DayInterval = @DayInterval + 1
  5084. DECLARE @t AS TABLE(
  5085. ID INT IDENTITY(1,1) NOT NULL,
  5086. WorkDate VARCHAR(8)
  5087. )
  5088. ----函数中无法使用临时表和(),所以只有使用表变量
  5089. INSERT INTO @t(WorkDate)
  5090. SELECT TOP (@DayInterval) WorkDate
  5091. FROM OaDb..WorkDate WITH(NOLOCK)
  5092. WHERE WorkType = 1
  5093. AND WorkDate >= CONVERT(VARCHAR(8), @StartDate, 112)
  5094. ORDER BY WorkDate
  5095. SELECT TOP 1 @S = WorkDate FROM @t ORDER BY ID DESC
  5096. SET @ExpireDate = @S
  5097. IF @MinuteLast > 210
  5098. SET @MinuteLast = @MinuteLast + 60
  5099. SET @ExpireDate = DATEADD(MINUTE, @MinuteLast, dbo.MergeDate(@ExpireDate, 830))
  5100. RETURN @ExpireDate
  5101. END
  5102. GO
  5103. /****** Object: UserDefinedFunction [dbo].[ZhaopinRegionToOurID] Script Date: 2018/12/13 18:28:32 ******/
  5104. SET ANSI_NULLS ON
  5105. GO
  5106. SET QUOTED_IDENTIFIER ON
  5107. GO
  5108. --sean 2013-6-25
  5109. CREATE FUNCTION [dbo].[ZhaopinRegionToOurID]
  5110. (
  5111. @ZhaopinRegin VARCHAR(50)
  5112. )
  5113. RETURNS VARCHAR(6)
  5114. AS
  5115. BEGIN
  5116. DECLARE @Id VARCHAR(6), @Id2 VARCHAR(6), @Des VARCHAR(20)
  5117. SELECT TOP 1 @id = ID, @Des = DESCRIPTION
  5118. FROM dcRegion WHERE Description LIKE LEFT(@ZhaopinRegin, 2) + '%'
  5119. AND GRADE = 1
  5120. ORDER BY ID
  5121. SET @Des = REPLACE(@Des, '市', '')
  5122. SET @Des = REPLACE(@Des, '省', '')
  5123. SET @ZhaopinRegin = REPLACE(@ZhaopinRegin, @Des, '')
  5124. SELECT TOP 1 @id2 = ID
  5125. FROM dcRegion
  5126. WHERE Description LIKE '%' + RIGHT(@ZhaopinRegin, 2) + '%'
  5127. AND ID LIKE @Id + '%'
  5128. ORDER BY Id
  5129. IF @Id2 > ''
  5130. RETURN @ID2
  5131. ELSE
  5132. RETURN @ID
  5133. RETURN ''
  5134. END
  5135. GO