JOMsgViewController.m 190 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428
  1. //
  2. // JOMsgViewController.m
  3. // shiku_im
  4. //
  5. // Created by on 2017/2/27.
  6. // Copyright © 2017年 UAS. All rights reserved.
  7. //
  8. #import "JOMsgViewController.h"
  9. #import "JXChatViewController.h"
  10. #import "AppDelegate.h"
  11. #import "JXLabel.h"
  12. #import "JXImageView.h"
  13. #import "JXCell.h"
  14. #import "JXRoomPool.h"
  15. #import "JXTableView.h"
  16. #import "JXFriendObject.h"
  17. #import "loginVC.h"
  18. #import "WeiboViewControlle.h"
  19. #import "JXInputView.h"
  20. #import "addMsgVC.h"
  21. #import "commentVC.h"
  22. #import "mvViewController.h"
  23. #import "JXNewFriendViewController.h"
  24. #import "JXUserInfoVC.h"
  25. #import "JXRoomObject.h"
  26. #import "JXRoomRemind.h"
  27. #import "FMDatabase.h"
  28. #import "MJRefresh.h"
  29. #import "ERPHandleTaskVC.h"
  30. //#import "ApprovalprocessVC.h"//我的审批
  31. #import "UASNewapprovalprocessVC.h" //新的我的审批
  32. #import "B2BApprovalVC.h"//我的审批(独立版)
  33. #import "JONEWDYTableView.h"//我的订阅
  34. #import "B2BAddTaskVC.h"//我的任务(独立版)
  35. #import "B2BMyHandleWorkVC.h"//改版后的任务
  36. #import "AppointmentVC.h"//预约小秘书
  37. #import "ScheduleManageVC.h"//日程管理
  38. #import "LYYUUHleperVC.h" //UU小助手
  39. #import "LYYMsgHeaderCell.h"
  40. #import "TestViewControllerTwo.h"
  41. #import "JOAddressBookVC.h"
  42. #import "PSWoViewController.h"
  43. #import "JXMessageObject1.h"
  44. #import <AMapFoundationKit/AMapUtility.h>
  45. //搜索
  46. #import "JOSearchBar.h"
  47. #import "JOABSearchBarVC.h"
  48. #import "JLMsgModel.h"
  49. #import "JLMsgModel.h"
  50. //数据库
  51. //系统消息类
  52. #import "JLHONGDIANDetailVC.h"
  53. #import "NSStrUtil.h"
  54. #import "LYYMonitorLogModel.h"
  55. #import "UserFeedbackVC.h"
  56. #import "LYYNetWorkTXL.h"
  57. #import "ContactsModel.h"
  58. #import "JOEmployeeModel.h"
  59. #import "UASTabbar.h"
  60. //#import "LYHealthKitManage.h"
  61. #import "LYYUUSprotsRankingVC.h"
  62. #import "StoreListVC.h"
  63. #import <CoreMotion/CoreMotion.h>
  64. #import "LYYSeePlanVC.h" //看版
  65. #import "LYYBussnessMTVC.h" //商家统计
  66. #import "LYYDAKAManager.h"
  67. #import "UASUserInfo.h"
  68. #import "MobileChangeVC.h"
  69. #import "UASLinkAdVC.h"
  70. //人脸识别
  71. #import "DetectionViewController.h"
  72. #import "NetAccessModel.h"
  73. #import <IDLFaceSDK/IDLFaceSDK.h>
  74. #define ERPordertimeArray @"ERP_ordertimeArr"
  75. #define B2BordertimeArray @"B2B_ordertimeArr"
  76. #define PersonalordertimeArray @"Personal_ordertimeArr"
  77. #define ERPordersubtitleArr @"_ordersubtitleArray"
  78. #define B2BordersubtitleArr @"_ordersubtitleArray"
  79. #define PersonalordersubtitleArr @"_ordersubtitleArray"
  80. #define ERPbageCount @"ERP_orderBageCountArray"
  81. #define B2BbageCount @"B2B_orderBageountArray"
  82. #define PersonalbageCount @"Personal_orderBageountArray"
  83. #define tableNames11 @"JOMsgtableName11"
  84. #define tableNames @"JOMsgtableName"
  85. @interface JOMsgViewController()<UIAlertViewDelegate,LYYDAKaManagerDelegate>
  86. @property(copy,nonatomic)NSString *erpSubTitleStr;
  87. @property(copy,nonatomic)NSString *b2bSubTitleStr;
  88. @property(copy,nonatomic)NSString *erpTimeArrStr;
  89. @property(copy,nonatomic)NSString *b2bTimerArrStr;
  90. @property(nonatomic,strong)CMPedometer *step;
  91. @property (assign ,atomic) NSInteger indexPath1; //显示行数
  92. @property (assign , nonatomic) NSInteger dakaYes;//是否能够打卡
  93. @property (assign , atomic) NSInteger indexpath11; //
  94. @property (strong , nonatomic) UILabel *titleLabel;
  95. @property(strong,nonatomic)UIButton *rigBtn;
  96. @property(strong,nonatomic)LYYMsgHeaderCell *headerView;
  97. @property (assign,nonatomic) BOOL needValidateFace;
  98. @end
  99. @implementation JOMsgViewController
  100. {
  101. NSMutableArray * _letterOfName;
  102. NSMutableArray * _SeePanelArr; //实时看版的数组
  103. NSMutableArray * _HongDianArr;//红点数组
  104. NSMutableArray * _dakaDataArr;
  105. }
  106. @synthesize noWangView,conn;
  107. #pragma mark -- VCInit方法
  108. - (id)init
  109. {
  110. self = [super initWithIsNoRefreshFooterAndHeader:YES];
  111. if (self)
  112. {
  113. [self registerNotification];
  114. if (iOS11) {
  115. }else{
  116. [self setUpUI];
  117. }
  118. }
  119. return self;
  120. }
  121. -(void)setUpUI{
  122. //1,构建页面
  123. self.heightHeader = 0;
  124. self.heightFooter = 0;
  125. self.view.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
  126. self.isNoRefreshFooterAndHeader=YES;
  127. [self createHeadAndFoot];
  128. self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  129. _titleLabel = [[UILabel alloc] init];
  130. _titleLabel.frame = CGRectMake(0, 5, 200, 30);
  131. _titleLabel.text = Localized(@"UU_TabBarLabel1");
  132. _titleLabel.textColor = [UIColor whiteColor];
  133. _titleLabel.font = FONT_SIZE(18);
  134. UIBarButtonItem *leftItem = [[UIBarButtonItem alloc]initWithCustomView:_titleLabel];
  135. leftItem.width = 200;
  136. self.navigationItem.leftBarButtonItem = leftItem;
  137. [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
  138. make.top.left.right.equalTo(self.view);
  139. if (iOS10) {
  140. make.bottom.equalTo(self.view).offset(-50);
  141. }else{
  142. make.bottom.equalTo(self.view);
  143. }
  144. }];
  145. self.headerView = [[LYYMsgHeaderCell alloc]initWithFrame:CGRectMake(0, -121, self_width, 121)];
  146. [self.headerView setMyblock:^{
  147. //[MBProgressHUD showMessage:@"正在打卡...."];
  148. if (_needValidateFace) {
  149. [LYYDAKAManager ShareTXLDAT].isYesfaceDaka = NO;
  150. [[LYYDAKAManager ShareTXLDAT] getDatelistFromServer];
  151. }else{
  152. [LYYDAKAManager ShareTXLDAT].isYesfaceDaka = YES;
  153. [[LYYDAKAManager ShareTXLDAT] getDatelistFromServer];
  154. }
  155. }];
  156. self.tableView.estimatedRowHeight = 0;
  157. [self.tableView insertSubview:self.headerView atIndex:1];
  158. [UIView setExtraCellLineHidden:self.tableView];
  159. self.headerView.hidden = YES;
  160. //10,搜索框和无网提醒
  161. // searchBarView=[[UIView alloc]initWithFrame:CGRectMake(0,0,self_width,40)];
  162. // searchBarView.backgroundColor=JOColor(235,233,233,1.0);
  163. // JOSearchBar * searcher=[JOSearchBar searchBar];
  164. // searcher.frame=CGRectMake(10,5,self_width-20,30);
  165. // searcher.backgroundColor=[UIColor whiteColor];
  166. // [searchBarView addSubview:searcher];
  167. // searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self_width, 120)];
  168. // searchBarView.backgroundColor = [UIColor redColor];
  169. UIButton * searchBtn=[UIButton buttonWithType:UIButtonTypeCustom];
  170. searchBtn.frame=CGRectMake(0, 0,self_width-20,30);
  171. searchBtn.tag = 1000;
  172. [searchBtn setTitle:@"" forState:UIControlStateNormal];
  173. [searchBtn addTarget:self action:@selector(pushToSeachVC:) forControlEvents:UIControlEventTouchUpInside];
  174. UIButton * BigBtn =[[UIButton alloc]initWithFrame:CGRectMake(SCREEN_WIDTH-58, 0, 40, 30)];
  175. BigBtn.tag = 1001;
  176. [BigBtn addTarget:self action:@selector(pushToSeachVC:) forControlEvents:UIControlEventTouchUpInside];
  177. UIButton * btnn = [[UIButton alloc]initWithFrame:CGRectMake(15,7 , 16,16 )];
  178. btnn.tag = 1001;
  179. [btnn setImage:[UIImage imageNamed:@"icon-searcher-custom"] forState:UIControlStateNormal];
  180. [btnn addTarget:self action:@selector(pushToSeachVC:) forControlEvents:UIControlEventTouchUpInside];
  181. [BigBtn addSubview:btnn];
  182. [searchBtn addSubview:BigBtn];
  183. // [searcher addSubview:searchBtn];
  184. noWangView=[[UIView alloc]initWithFrame:CGRectMake(0,40,self_width,30)];
  185. noWangView.backgroundColor=Color(252,216,216,1.0);
  186. UIImageView * images=[[UIImageView alloc]initWithFrame:CGRectMake(50,8,15,15)];
  187. images.image=[UIImage imageNamed:@"uu_xiaoxi_icon_tishi_nor3"];
  188. images.userInteractionEnabled=YES;
  189. [noWangView addSubview:images];
  190. UILabel * label=[[UILabel alloc]initWithFrame:CGRectMake(70,8,300,15)];
  191. label.text = Localized(@"UU_custom_networkFaildPleaseCheck");
  192. label.textColor=Color(87,87,87,1.0);
  193. label.font=FONT_SIZE(12);
  194. label.userInteractionEnabled=YES;
  195. [noWangView addSubview:label];
  196. UIButton * btn=[UIButton buttonWithType:UIButtonTypeCustom];
  197. btn.frame=CGRectMake(0,0,self_width,30);
  198. [btn setTitle:@"" forState:UIControlStateNormal];
  199. [btn addTarget:self action:@selector(pushToSysSetting) forControlEvents:UIControlEventTouchUpInside];
  200. [noWangView addSubview:btn];
  201. // self.tableView.tableHeaderView=searchBarView;
  202. self.conn = [Reachability reachabilityForInternetConnection];
  203. [self.conn startNotifier];
  204. NSDictionary *dic = [[NSUserDefaults standardUserDefaults] objectForKey:@"masterDic"];
  205. NSString * companyName=[dic objectForKey:@"ma_function"];
  206. NSArray *masterArr = [[NSUserDefaults standardUserDefaults] objectForKey:@"doubleMasterArray"];
  207. NSArray *erpArr = [[NSUserDefaults standardUserDefaults] objectForKey:@"erpNameAndIpArray"];
  208. if (dic!=nil && (companyName==nil || [companyName isEqualToString:@""]) && masterArr != nil && erpArr != nil)
  209. {
  210. if (g_ERPUser) {
  211. [JOShowMessageFromNavi showDropViewWithMessage:@"ERP未登录" ToNavi:self.navigationController withColor:nil];
  212. return;
  213. }
  214. }
  215. companyName=[companyName stringByReplacingOccurrencesOfString:@"(" withString:@""];
  216. companyName=[companyName stringByReplacingOccurrencesOfString:@")" withString:@""];
  217. __weak typeof(self) weakSelf = self;
  218. [self selectTablewithtableName:companyName completed:^(NSArray *arr) {
  219. __strong typeof(JOMsgViewController) *strongSelf = weakSelf;
  220. strongSelf->_letterOfName = [arr mutableCopy];
  221. }];
  222. DLog(@"数据是什么呢:%@",_letterOfName);
  223. // 12,下啦刷新
  224. //下拉刷新相关函数
  225. _table.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
  226. g_remind.msgTotal=0;
  227. if (_indexPath1==2) {
  228. [_table.mj_header endRefreshing];
  229. }
  230. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  231. if (g_B2BUser)
  232. {
  233. //我的任务和审批流
  234. [self B2BGetTaskCount];
  235. [self B2BGetMsgCounts];
  236. //4.预约小秘书
  237. // [self getBookingAppointmentCount];
  238. }
  239. else if (g_PersonalUser)
  240. {
  241. //预约小秘书
  242. [self getBookingAppointmentCount];
  243. }
  244. else{
  245. //1,我的审批
  246. [self getSPLCount];
  247. //2,我的任务
  248. [self getMyTaskCount];
  249. //3,我的订阅
  250. [self getMySubscribeCount];
  251. //4.预约小秘书
  252. // [self getBookingAppointmentCount];
  253. //4.日程管理
  254. [self getScheduleCount];
  255. //4,获取多个类型数据
  256. [self getThreeObjCount];
  257. //5,获取考勤提醒
  258. [self getKaoQingCount];
  259. //6.获取实时看版数据
  260. [self getSeePannelData];
  261. }
  262. [_table reloadData];
  263. [_table.mj_header endRefreshing];
  264. });
  265. }];
  266. }
  267. #pragma mark --- 人脸识别开始
  268. -(void)FaceLoginJudgeMyself
  269. {
  270. // 设置鉴权
  271. NSString* licensePath = [[NSBundle mainBundle] pathForResource:FACE_LICENSE_NAME ofType:FACE_LICENSE_SUFFIX];
  272. NSAssert([[NSFileManager defaultManager] fileExistsAtPath:licensePath], @"license文件路径不对,请仔细查看文档");
  273. [[FaceSDKManager sharedInstance] setLicenseID:FACE_LICENSE_ID andLocalLicenceFile:licensePath];
  274. [SVProgressHUD appearance].defaultStyle = SVProgressHUDStyleDark;
  275. [[NetAccessModel sharedInstance] getAccessTokenWithAK:FACE_API_KEY SK:FACE_SECRET_KEY];
  276. __weak typeof(self) weakSelf = self;
  277. DetectionViewController *dvc = [[DetectionViewController alloc] init];
  278. [dvc autorelease];
  279. dvc.completion = ^(NSDictionary* images, UIImage* originImage){
  280. if (images[@"bestImage"] != nil && [images[@"bestImage"] count] != 0) {
  281. NSData* data = [[NSData alloc] initWithBase64EncodedString:[images[@"bestImage"] lastObject] options:NSDataBase64DecodingIgnoreUnknownCharacters];
  282. UIImage* bestImage = [UIImage imageWithData:data];
  283. DLog(@"bestImage = %@",bestImage);
  284. NSString* bestImageStr = [[images[@"bestImage"] lastObject] copy];
  285. [weakSelf identify:bestImageStr originImage:images[@"cropImage"]?:originImage andViewController:dvc];
  286. }
  287. };
  288. [self presentViewController:dvc animated:YES completion:nil];
  289. }
  290. #pragma mark --- 人脸验证流程
  291. - (void)identify:(NSString*)bestImageStr originImage:(UIImage *)originImage andViewController:(DetectionViewController *)dvc{
  292. __weak typeof(self) weakSelf = self;
  293. [[NetAccessModel sharedInstance] identifyUserLivenessWithFaceImageStr:bestImageStr completion:^(NSError *error, id resultObject) {
  294. if (resultObject) {
  295. NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:resultObject options:NSJSONReadingAllowFragments error:nil];
  296. SLog(@"人脸识别数据:%@",dict);
  297. //先判断接口请求是否成功
  298. NSString *success = FORMAT(@"%@",dict[@"error_msg"]);
  299. if ([success isEqualToString:@"SUCCESS"]) {
  300. //判断人脸库是否存在当前用户
  301. NSArray *userList = dict[@"result"][@"user_list"];
  302. if (userList.count == 0) {
  303. //无此用户走人脸注册流程
  304. [UASAlertView showWithTitle:nil content:@"您未录入人脸照片,点击“确定”录入系统" sureTitle:@"确定录入" cancelTitle:Localized(@"UU_custom_cancle") click:^(NSInteger index) {
  305. if (index == 2) {
  306. [weakSelf RegisterUserFactToBaiduFaceListWithFaceImageString:bestImageStr andViewController:dvc];
  307. }
  308. if (index == 1) {
  309. [dvc dismissViewControllerAnimated:YES completion:nil];
  310. }
  311. }];
  312. }else{
  313. NSDictionary *userDic = userList[0];
  314. float score = [[userDic objectForKey:@"score"] floatValue];
  315. if (score > 85) {
  316. //是本人,走打卡流程
  317. [dvc dismissViewControllerAnimated:YES completion:nil];
  318. [LYYDAKAManager ShareTXLDAT].isYesfaceDaka = YES;
  319. [[LYYDAKAManager ShareTXLDAT] getDatelistFromServer];
  320. }else{
  321. //不是本人
  322. [UASAlertView showWithTitle:nil content:@"抱歉,没有认出你哦" sureTitle:@"再试一次" cancelTitle:Localized(@"UU_custom_cancle") click:^(NSInteger index) {
  323. if (index == 2) {
  324. [IDLFaceDetectionManager.sharedInstance reset];
  325. [[IDLFaceDetectionManager sharedInstance] startInitial];
  326. dvc.hasFinished = NO;
  327. [dvc startCapture];
  328. }
  329. if (index == 1) {
  330. [dvc dismissViewControllerAnimated:YES completion:nil];
  331. }
  332. }];
  333. }
  334. }
  335. }
  336. else if ([success isEqualToString:@"liveness check fail"]){
  337. [UASAlertView showWithTitle:nil content:@"不能拿照片骗我哦" sureTitle:@"再试一次" cancelTitle:Localized(@"UU_custom_cancle") click:^(NSInteger index) {
  338. if (index == 2) {
  339. [IDLFaceDetectionManager.sharedInstance reset];
  340. [[IDLFaceDetectionManager sharedInstance] startInitial];
  341. dvc.hasFinished = NO;
  342. [dvc startCapture];
  343. }
  344. if (index == 1) {
  345. [dvc dismissViewControllerAnimated:YES completion:nil];
  346. }
  347. }];
  348. }
  349. else{
  350. if ([FORMAT(@"%@",[dict objectForKey:@"error_code"])isEqualToString:@"222207"]) {
  351. //无此用户走人脸注册流程
  352. [UASAlertView showWithTitle:nil content:@"您未录入人脸照片,点击“确定”录入系统" sureTitle:@"确定录入" cancelTitle:Localized(@"UU_custom_cancle") click:^(NSInteger index) {
  353. if (index == 2) {
  354. [weakSelf RegisterUserFactToBaiduFaceListWithFaceImageString:bestImageStr andViewController:dvc];
  355. }
  356. if (index == 1) {
  357. [dvc dismissViewControllerAnimated:YES completion:nil];
  358. }
  359. }];
  360. }else{
  361. [UASAlertView showWithTitle:nil content:success sureTitle:@"再试一次" cancelTitle:Localized(@"UU_custom_cancle") click:^(NSInteger index) {
  362. if (index == 2) {
  363. [IDLFaceDetectionManager.sharedInstance reset];
  364. [[IDLFaceDetectionManager sharedInstance] startInitial];
  365. dvc.hasFinished = NO;
  366. [dvc startCapture];
  367. }
  368. if (index == 1) {
  369. [dvc dismissViewControllerAnimated:YES completion:nil];
  370. }
  371. }];
  372. }
  373. }
  374. }
  375. }];
  376. }
  377. #pragma mark --- 人脸注册
  378. -(void)RegisterUserFactToBaiduFaceListWithFaceImageString:(NSString*)bestImageStr andViewController:(DetectionViewController *)dvc
  379. {
  380. // __weak typeof(self) weakSelf = self;
  381. [[NetAccessModel sharedInstance] registerFaceWithImageBaseString:bestImageStr completion:^(NSError *error, id resultObject) {
  382. NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:resultObject options:NSJSONReadingAllowFragments error:nil];
  383. SLog(@"人脸识别数据:%@",dict);
  384. //先判断接口请求是否成功
  385. NSString *success = FORMAT(@"%@",dict[@"error_msg"]);
  386. if ([success isEqualToString:@"SUCCESS"]) {
  387. [dvc dismissViewControllerAnimated:YES completion:nil];
  388. //注册成功后,走打卡流程
  389. [LYYDAKAManager ShareTXLDAT].isYesfaceDaka = YES;
  390. [[LYYDAKAManager ShareTXLDAT] getDatelistFromServer];
  391. }
  392. }];
  393. }
  394. #pragma mark -- 通知相关
  395. -(void)registerNotification{
  396. //2,登陆监听
  397. [self onLoginChanged:nil];
  398. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onLoginChanged:) name:kXmppLoginNotifaction object:nil];
  399. //3,收到消息,刷新最近的那条聊天,同时显示数量
  400. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMsgCome:) name:kXMPPNewMsgNotifaction object:nil];
  401. //4,发出消息,刷新最近的那条聊天,但不显示数量
  402. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMsgSend:) name:kXMPPMyLastSendNotifaction object:nil];
  403. //5,收到加好友请求,刷新UI
  404. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newRequest:) name:kXMPPNewRequestNotifaction object:nil];
  405. //6,删除好友
  406. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(delFriend:) name:kDeleteUserNotifaction object:nil];
  407. //7,群聊
  408. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReceiveRoomRemind:) name:kXMPPRoomNotifaction object:nil];
  409. //8,退出房间
  410. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onQuitRoom:) name:kQuitRoomNotifaction object:nil];
  411. //9,获取Count
  412. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(msgCount:) name:@"msgCount" object:nil];
  413. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(msgCount:) name:@"refreshTable" object:nil];
  414. //10,消息刷新
  415. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(JORefrashTable:) name:@"JOMSGREFRASHTABLE" object:nil];
  416. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getServerData) name:@"changTabbarLanguage" object:nil];
  417. //保存日志
  418. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveMonitorLog:) name:@"saveMonitorLogALLL" object:@"monitorLog"];
  419. //上传日志
  420. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveMonitorLog1:) name:@"uapateMonitorLogALLL" object:nil];
  421. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(b2bUserLoginSuccess) name:@"platformSignal" object:nil];
  422. //11,网络监控
  423. //监听
  424. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange:) name:kAFReachabilityChangedNotification object:nil];
  425. //12.登录超时
  426. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(LoginOverTime) name:@"theLoginOverTime" object:nil];
  427. //13.在其他设备上登录
  428. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accountHadLoginedInOtherDevice) name:@"theAccountHaveLoginedInOtherDevice" object:nil];
  429. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dakaHeadView) name:@"OpenORClosedPlayingCarD" object:nil];
  430. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pushToAdvertiseVC) name:@"UULinkToAdvertiseDetail" object:nil];
  431. }
  432. -(void)removeAllNotification{
  433. [[NSNotificationCenter defaultCenter] removeObserver:self name:kQuitRoomNotifaction object:nil];
  434. [[NSNotificationCenter defaultCenter] removeObserver:self name:kXMPPRoomNotifaction object:nil];
  435. [[NSNotificationCenter defaultCenter] removeObserver:self name:kXmppLoginNotifaction object:nil];
  436. [[NSNotificationCenter defaultCenter] removeObserver:self name:kXMPPMyLastSendNotifaction object:nil];
  437. [[NSNotificationCenter defaultCenter] removeObserver:self name:kXMPPNewMsgNotifaction object:nil];
  438. [[NSNotificationCenter defaultCenter] removeObserver:self name:kXMPPNewRequestNotifaction object:nil];
  439. [[NSNotificationCenter defaultCenter] removeObserver:self name:kDeleteUserNotifaction object:nil];
  440. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"msgCount" object:nil];
  441. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"refreshTable" object:nil];
  442. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"JOMSGREFRASHTABLE" object:nil];
  443. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"saveMonitorLogALLL" object:@"monitorLog"];
  444. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"uapateMonitorLogALLL" object:nil];
  445. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"theLoginOverTime" object:nil];
  446. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"theAccountHaveLoginedInOtherDevice" object:nil];
  447. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"OpenORClosedPlayingCarD" object:nil];
  448. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UULinkToAdvertiseDetail" object:nil];
  449. }
  450. #pragma mark----
  451. #pragma mark ----设置打卡界面关闭或者打开
  452. -(void)dakaHeadView{
  453. [self settting:21];
  454. [[LYYDAKAManager ShareTXLDAT] loadDataServerData];
  455. if(self.headerView)
  456. {
  457. if (_indexPath1 ==21) {
  458. self.headerView.hidden = NO;
  459. self.rigBtn.userInteractionEnabled = NO;
  460. [UIView animateWithDuration:1 animations:^{
  461. [self.tableView setContentOffset:CGPointMake(0, -121)];
  462. } completion:^(BOOL finished) {
  463. self.tableView.contentInset = UIEdgeInsetsMake(121, 0, 0, 0);
  464. self.rigBtn.userInteractionEnabled = YES;
  465. _indexPath1 = 2;
  466. }];
  467. }else{
  468. self.headerView.hidden = YES;
  469. }
  470. }
  471. }
  472. -(void)b2bUserLoginSuccess{
  473. [self JOBORrefrashTable];
  474. [_table reloadData];
  475. }
  476. -(void)LoginOverTime{
  477. [UASAlertView showWithTitle:nil content:Localized(@"UU_custom_loginOverTime") sureTitle:Localized(@"UU_custom_sure") cancelTitle:nil click:^(NSInteger index) {
  478. if (index == 2) {
  479. [self doLogout];
  480. }
  481. }];
  482. }
  483. -(void)accountHadLoginedInOtherDevice{
  484. [UASAlertView showWithTitle:nil content:Localized(@"UU_custom_loginInOtherDevice") sureTitle:Localized(@"UU_custom_sure") cancelTitle:nil click:^(NSInteger index) {
  485. if (index == 2) {
  486. [self doLogout];
  487. }
  488. }];
  489. }
  490. - (void)saveMonitorLog:(NSNotification *)noti
  491. {
  492. NSDictionary *dic = noti.userInfo;
  493. [self createMontorLog];
  494. [self insertUUMonitorLogDetaiSurface:dic];
  495. }
  496. - (void)saveMonitorLog1:(NSNotification *)noti
  497. {
  498. __weak typeof(self) weakSelf = self;
  499. dispatch_async(dispatch_get_global_queue(0, 0 ),^{
  500. [weakSelf uploadMonitorLog];
  501. });
  502. }
  503. -(void)pushToAdvertiseVC{
  504. UASLinkAdVC *adVC = [UASLinkAdVC new];
  505. [self.navigationController pushViewController:adVC animated:YES];
  506. }
  507. #pragma mark --消息导航栏显示网络请求状态
  508. -(void)onLoginChanged:(NSNotification *)notifacation
  509. {
  510. switch ([JXXMPP sharedInstance].isLogined)
  511. {
  512. case login_status_ing:
  513. _titleLabel.text = @"消息(连接中)";
  514. break;
  515. case login_status_no:
  516. _titleLabel.text = @"消息(离线)";
  517. break;
  518. case login_status_yes:
  519. [[NSUserDefaults standardUserDefaults] setBool:YES forKey:isAutoLoginOrNot];
  520. _titleLabel.text = Localized(@"UU_TabBarLabel0") ;
  521. [self removeheaderView];
  522. break;
  523. }
  524. }
  525. -(void)setrightView{
  526. UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
  527. btn.frame = CGRectMake(0, 5, 22, 22);
  528. CGFloat imageY = 0;
  529. if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0) {
  530. imageY = 5;
  531. }
  532. [btn setImage:[UIImage imageNamed:@"UU_msg_快捷打卡"] forState:UIControlStateNormal];
  533. self.rigBtn = btn;
  534. [btn addTarget:self action:@selector(backAction11:) forControlEvents:UIControlEventTouchUpInside];
  535. btn.tag = 1001;
  536. UIBarButtonItem *bbi2 = [[UIBarButtonItem alloc]initWithCustomView:btn];
  537. UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeSystem];
  538. btn1.frame = CGRectMake(0, 5, 22, 22);
  539. UIImageView *image1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, imageY, 22, 22)];
  540. image1.image = [UIImage imageNamed:@"UU_MSG_search1"];
  541. [btn1 addSubview:image1];
  542. [btn1 addTarget:self action:@selector(backAction111) forControlEvents:UIControlEventTouchUpInside];
  543. self.navigationItem.rightBarButtonItems = @[bbi2];
  544. }
  545. #pragma 打卡界面
  546. - (void)backAction111{
  547. }
  548. #pragma mark ---
  549. #pragma mark ---- 打卡界面隐藏 关闭
  550. - (void)backAction11:(UIButton *)sender
  551. {
  552. sender.userInteractionEnabled = NO;
  553. if (_dakaYes ==1) {
  554. if (_indexPath1 == 1) {
  555. [self settting:2];
  556. self.headerView.hidden = NO;
  557. [UIView animateWithDuration:1 animations:^{
  558. [self.tableView setContentOffset:CGPointMake(0, -121)];
  559. } completion:^(BOOL finished) {
  560. self.tableView.contentInset = UIEdgeInsetsMake(121, 0, 0,0);
  561. sender.userInteractionEnabled = YES;
  562. }];
  563. }else {
  564. [UIView animateWithDuration:1 animations:^{
  565. [self.tableView setContentOffset:CGPointMake(0, 0)];
  566. } completion:^(BOOL finished) {
  567. self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0);
  568. self.headerView.hidden = YES;
  569. [self settting:1];
  570. sender.userInteractionEnabled = YES;
  571. }];
  572. }
  573. }else{
  574. [JOShowMessageFromNavi showDropViewWithMessage:@"没有打卡班次" ToNavi:self.navigationController withColor:nil];
  575. sender.userInteractionEnabled = YES;
  576. }
  577. }
  578. #pragma mark -- 搜索按钮
  579. - (void)pushToSeachVC:(UIView *)sender
  580. {
  581. JOABSearchBarVC * vc=[[JOABSearchBarVC alloc]init];
  582. if (sender.tag==1001) {
  583. vc.type = @"voice";
  584. }else{
  585. vc.type = @"text";
  586. }
  587. [self.navigationController pushViewController:vc animated:YES];
  588. }
  589. #pragma mark -- 网络监控
  590. //监控
  591. - (void)networkStateChange:(NSNotification *)noti
  592. {
  593. NSDictionary *dic = noti.userInfo;
  594. AFNetworkReachabilityStatus status = [dic[@"status"] intValue];
  595. if(status == AFNetworkReachabilityStatusNotReachable){
  596. [self addheaderView];
  597. [self createMontorLog];
  598. NSString * times=[NSString getLongCurrenTime];
  599. NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
  600. times,@"aa_date",
  601. @"iOS网络监控",@"aa_type",
  602. @"没有网络",@"aa_remark",
  603. @"监控网络不获取地址",@"aa_location",
  604. [[NSUserDefaults standardUserDefaults] objectForKey:kMY_USER_LoginName],@"aa_telephone",
  605. nil];
  606. [self insertUUMonitorLogDetaiSurface:dic];
  607. }else{
  608. [self removeheaderView];
  609. if (status == AFNetworkReachabilityStatusReachableViaWiFi) {
  610. [self createMontorLog];
  611. NSString * times=[NSString getLongCurrenTime];
  612. NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
  613. times,@"aa_date",
  614. @"iOS网络监控",@"aa_type",
  615. @"有Wifi网络",@"aa_remark",
  616. @"监控网络不获取地址",@"aa_location",
  617. [[NSUserDefaults standardUserDefaults] objectForKey:kMY_USER_LoginName],@"aa_telephone",
  618. nil];
  619. [self insertUUMonitorLogDetaiSurface:dic];
  620. }else if(status == AFNetworkReachabilityStatusReachableViaWWAN){
  621. [self removeheaderView];
  622. //[((AppDelegate*)[[UIApplication sharedApplication] delegate]) showAlert:@"2G3G4G网络"];
  623. [self createMontorLog];
  624. NSString * times=[NSString getLongCurrenTime];
  625. NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
  626. times,@"aa_date",
  627. @"iOS网络监控",@"aa_type",
  628. @"2G3G4G网络",@"aa_remark",
  629. @"监控网络不获取地址",@"aa_location",
  630. [[NSUserDefaults standardUserDefaults] objectForKey:kMY_USER_LoginName],@"aa_telephone",
  631. nil];
  632. [self insertUUMonitorLogDetaiSurface:dic];
  633. }
  634. }
  635. }
  636. #pragma mark -----------------------------上传工作日志
  637. - (void)uploadMonitorLog
  638. {
  639. NSArray *arr = [self searchMotonerlog];
  640. if (arr.count != 0) {
  641. NSString *gridAllStr = nil;
  642. NSMutableArray *dataArr = [NSMutableArray array];
  643. for (NSInteger i = 0; i < arr.count; i ++) {
  644. LYYMonitorLogModel *model1 = arr[i];
  645. NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:model1.aa_type,@"aa_type",
  646. model1.aa_telephone,@"aa_telephone",
  647. model1.aa_location,@"aa_location",
  648. model1.aa_remark,@"aa_remark",
  649. model1.aa_date,@"aa_date",
  650. nil];
  651. NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
  652. NSString *gridStr=[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
  653. if (![dataArr containsObject:gridStr]) {
  654. [dataArr addObject:gridStr];
  655. }
  656. }
  657. gridAllStr = [dataArr componentsJoinedByString:@","];
  658. // NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:FORMAT(@"[%@]",gridAllStr),@"map", nil];
  659. [LYHTTPRequest Post:ERP_Monitor_Log page:FORMAT(@"[%@]",gridAllStr) Completion:^(id ObjectData, NSError *error) {
  660. if (error == nil) {
  661. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  662. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  663. [db executeUpdate:[NSString stringWithFormat:@"delete from %@",@"UU_monitor_log_detail"]];
  664. }];
  665. }else{
  666. if (arr.count > 20) {
  667. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  668. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  669. [db executeUpdate:[NSString stringWithFormat:@"delete from %@",@"UU_monitor_log_detail"]];
  670. }];
  671. }
  672. DLog(@"上传失败%@",error);
  673. }
  674. }];
  675. //gridAllStr = nil;
  676. }
  677. }
  678. //添加提醒栏
  679. - (void)addheaderView
  680. {
  681. // [searchBarView addSubview:noWangView];
  682. // searchBarView.height=120;
  683. // self.tableView.tableHeaderView=searchBarView;
  684. }
  685. //移除提醒栏
  686. - (void)removeheaderView
  687. {
  688. [noWangView removeFromSuperview];
  689. // searchBarView.height=40;
  690. // self.tableView.tableHeaderView=searchBarView;
  691. }
  692. //跳转到设置页面
  693. - (void)pushToSysSetting
  694. {
  695. NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
  696. if( [[UIApplication sharedApplication]canOpenURL:url] )
  697. {
  698. [[UIApplication sharedApplication] openURL:url];
  699. }
  700. }
  701. #pragma mark -- 切换装套时清空消息界面上的数据
  702. -(void)JORefrashTable:(NSNotification *)noti
  703. {
  704. g_remind.msgTotal=0;
  705. for (int i=0; i<18; i++)
  706. {
  707. if (_subtitleArray.count > i) {
  708. [_subtitleArray replaceObjectAtIndex:i withObject:@""];
  709. }
  710. if (_timeArray.count > i) {
  711. [_timeArray replaceObjectAtIndex:i withObject:@""];
  712. }
  713. if (_bageCountArray.count > i) {
  714. [_bageCountArray replaceObjectAtIndex:i withObject:@"0"];
  715. }
  716. }
  717. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  718. _refreshCount++;
  719. [_table reloadData];
  720. [self JOBORrefrashTable];
  721. }
  722. #pragma mark -- 刷新消息页面上的数据
  723. - (void)JOBORrefrashTable
  724. {
  725. NeedRefrash=NO;
  726. g_remind.msgTotal=0;
  727. [self getServerData];
  728. if (g_B2BUser)
  729. {
  730. _indexPath1 = 1;
  731. //我的任务和审批流
  732. [self B2BGetTaskCount];
  733. [self B2BGetMsgCounts];
  734. //预约小秘书
  735. [self getBookingAppointmentCount];
  736. }else if (g_PersonalUser){
  737. //预约小秘书
  738. [self getBookingAppointmentCount];
  739. }else{
  740. //1,我的审批
  741. [self getSPLCount];
  742. //2,我的任务
  743. [self getMyTaskCount];
  744. //3,我的订阅
  745. [self getMySubscribeCount];
  746. //4.预约小秘书
  747. [self getBookingAppointmentCount];
  748. //4.日程管理
  749. [self getScheduleCount];
  750. //4,获取多个类型数据
  751. [self getThreeObjCount];
  752. //5,获取考勤提醒
  753. [self getKaoQingCount];
  754. //6.获取实时看版数据
  755. [self getSeePannelData];
  756. }
  757. [_table reloadData];
  758. }
  759. #pragma mark-----------------------------------获取实时看版数据
  760. - (void)getSeePannelData
  761. {
  762. if (_SeePanelArr.count == 0) {
  763. [LYHTTPRequest Get:UU_SeePlan_GetDatail page:0 condition:@"" Completion:^(id ObjectData, NSError *error) {
  764. if (error == nil) {
  765. NSArray *subsArr = ObjectData[@"subs"];
  766. if (subsArr.count != 0) {
  767. JXMsgAndUserObject *obj = [JXMsgAndUserObject new];
  768. obj.message = [JXMessageObject new];
  769. obj.user = [JXUserObject new];
  770. obj.user.userId = @"10032";
  771. obj.user.userNickname = @"实时看板";
  772. [_ShowArray addObject:obj];
  773. [_SeePanelArr addObject:FORMAT(@"%lu",(unsigned long)_ShowArray.count)];
  774. }
  775. }
  776. }];
  777. }
  778. //
  779. }
  780. - (void)JOBORRefrashTableView
  781. {
  782. if (NeedRefrash==YES)
  783. {
  784. if (g_B2BUser)
  785. {
  786. _indexPath1 = 1;
  787. //我的任务和审批流
  788. [self B2BGetTaskCount];
  789. [self B2BGetMsgCounts];
  790. //预约小秘书
  791. [self getBookingAppointmentCount];
  792. }else{
  793. //1,我的审批
  794. [self getSPLCount];
  795. //2,我的任务
  796. [self getMyTaskCount];
  797. //3,我的订阅
  798. [self getMySubscribeCount];
  799. //4.预约小秘书
  800. [self getBookingAppointmentCount];
  801. //4.日程管理
  802. [self getScheduleCount];
  803. //4,获取多个类型数据
  804. [self getThreeObjCount];
  805. //5,获取考勤提醒
  806. [self getKaoQingCount];
  807. //6.获取实时看版数据
  808. [self getSeePannelData];
  809. }
  810. }
  811. }
  812. #pragma mark -- B2B接口
  813. - (void)B2BGetTaskCount
  814. {
  815. [B2BHTTPRequest Get:B2B_Get_MyTaskS_Number pageSize:0 condition:nil Completion:^(id ObjectData, NSError *error) {
  816. if (error==nil)
  817. {
  818. DLog(@"%@",ObjectData);
  819. int a=[[ObjectData objectForKey:@"processcount"] integerValue];
  820. int b=[[ObjectData objectForKey:@"taskcount"] integerValue];
  821. if (a>0)
  822. {
  823. if([ObjectData objectForKey:@"lastProcess"] != nil){
  824. [_subtitleArray replaceObjectAtIndex:0 withObject:[ObjectData objectForKey:@"lastProcess"]];
  825. }
  826. [_timeArray replaceObjectAtIndex:0 withObject:@"刚刚"];
  827. [_bageCountArray replaceObjectAtIndex:0 withObject:FORMAT(@"%d",a)];
  828. }else{
  829. [_subtitleArray replaceObjectAtIndex:0 withObject:@""];
  830. [_timeArray replaceObjectAtIndex:0 withObject:@""];
  831. [_bageCountArray replaceObjectAtIndex:0 withObject:@"0"];
  832. }
  833. if (b>0)
  834. {
  835. [_subtitleArray replaceObjectAtIndex:1 withObject:[ObjectData objectForKey:@"lasttask"]];
  836. [_timeArray replaceObjectAtIndex:1 withObject:@"刚刚"];
  837. [_bageCountArray replaceObjectAtIndex:1 withObject:FORMAT(@"%d",b)];
  838. }else{
  839. [_subtitleArray replaceObjectAtIndex:1 withObject:@""];
  840. [_timeArray replaceObjectAtIndex:1 withObject:@""];
  841. [_bageCountArray replaceObjectAtIndex:1 withObject:@"0"];
  842. }
  843. [self saveDataInSandbox];
  844. [self caculateBages:0];
  845. _refreshCount++;
  846. [_table reloadData];
  847. }else{
  848. DLog(@"%@",error);
  849. }
  850. }];
  851. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:B2BbageCount];
  852. }
  853. #pragma mark -- B2B消息接口
  854. - (void)B2BGetMsgCounts
  855. {
  856. [B2BHTTPRequest Get:B2B_Get_MSGCOUNT pageSize:0 condition:@"" Completion:^(id ObjectData, NSError *error) {
  857. if (error==nil)
  858. {
  859. DLog(@"b2b消息%@",ObjectData);
  860. NSMutableArray * arr=[[NSMutableArray alloc]init];
  861. arr=[ObjectData objectForKey:@"listdata"];
  862. if ([[arr[0] allKeys]containsObject:@"lastTime"]) {
  863. for (int i=0; i<arr.count; i++)
  864. {
  865. if ([@"b2b" isEqualToString:RED_B2B])
  866. {
  867. NSString *str =[NSString timeWithTimeIntervalString: [arr[i] objectForKey:@"lastTime"]];
  868. if ([str containsString:@"1970-01-01 08:00:00"]) {
  869. arr[i][@"lastTime"] = @"";
  870. }else{
  871. arr[i][@"lastTime"] = str;
  872. }
  873. if ([_IsSHowOrHideArray[11] isEqualToString:@"hide"])
  874. {
  875. for (int i=0; i<_originalArray.count; i++)
  876. {
  877. JXMsgAndUserObject * obj=_originalArray[i];
  878. if ([obj.user.content isEqualToString:@"b2b"])
  879. {
  880. [_ShowArray insertObject:obj atIndex:_recordCount];
  881. }
  882. obj=nil;
  883. }
  884. [self showSysMsgWithIndex:11 andString1:[arr[i] objectForKey:@"lastMessage"] andString2:FORMAT(@"%@",[arr[i] objectForKey:@"count"]) andTimes:[arr[i] objectForKey:@"lastTime"]];
  885. [_IsSHowOrHideArray replaceObjectAtIndex:11 withObject:@"show"];
  886. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  887. }else{
  888. [self showSysMsgWithIndex:11 andString1:[arr[i] objectForKey:@"lastMessage"] andString2:FORMAT(@"%@",[arr[i] objectForKey:@"count"]) andTimes:[arr[i] objectForKey:@"lastTime"]];
  889. }
  890. }
  891. }
  892. [self saveDataInSandbox];
  893. [self caculateBages:0];
  894. _refreshCount++;
  895. [_table reloadData];
  896. }
  897. }else{
  898. DLog(@"b2b消息失败");
  899. }
  900. }];
  901. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  902. }
  903. - (void)postBack:(NSString *)ids
  904. {
  905. [B2BHTTPRequest Post:B2B_Post_MSGCOUNT pageSize:0 condictonOne:ids condictonTwo:nil Completion:^(id ObjectData, NSError *error) {
  906. if (error==nil)
  907. {
  908. DLog(@"回调成功");
  909. }
  910. }];
  911. }
  912. #pragma mark --拿XMPP数据库消息类数据
  913. -(void)getServerData
  914. {
  915. [self stopLoading];
  916. [[JXUserObject sharedInstance] createSystemFriend];
  917. if(_originalArray==nil||_page ==0)
  918. {
  919. [_originalArray removeAllObjects];
  920. [_originalArray release];
  921. _originalArray = [[NSMutableArray alloc]init];
  922. [_ShowArray removeAllObjects];
  923. [_ShowArray release];
  924. [_SeePanelArr removeAllObjects];
  925. [_SeePanelArr release];
  926. _SeePanelArr = [[NSMutableArray alloc]init];
  927. _ShowArray = [[NSMutableArray alloc]init];
  928. [_IsSHowOrHideArray removeAllObjects];
  929. [_IsSHowOrHideArray release];
  930. _IsSHowOrHideArray = [[NSMutableArray alloc]init];
  931. [_subtitleArray removeAllObjects];
  932. [_subtitleArray release];
  933. _subtitleArray=[[NSMutableArray alloc]init];
  934. [_bageCountArray removeAllObjects];
  935. [_bageCountArray release];
  936. _bageCountArray = [[NSMutableArray alloc]init];
  937. [_timeArray removeAllObjects];
  938. [_timeArray release];
  939. _timeArray=[[NSMutableArray alloc]init];
  940. _refreshCount++;
  941. }
  942. NSMutableArray* p = [[JXMessageObject sharedInstance] fetchRecentChatByPage:_page];
  943. if (p.count>0 || _page == 0)
  944. {
  945. [_originalArray addObjectsFromArray:p];
  946. SLog(@"请求来什么数据1:%@",_originalArray);
  947. //[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"UAS_SHOW_REDMASSAGE"];
  948. if (g_B2BUser) {
  949. _IsSHowOrHideArray = [[NSMutableArray alloc]init];
  950. }else{
  951. _IsSHowOrHideArray = [[NSMutableArray alloc]initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"UAS_SHOW_REDMASSAGE"]];
  952. }
  953. if (g_B2BUser)
  954. {
  955. _recordCount = 2;
  956. [_IsSHowOrHideArray removeAllObjects];
  957. }
  958. else if (g_PersonalUser)
  959. {
  960. _recordCount = 1;
  961. [_IsSHowOrHideArray removeAllObjects];
  962. }
  963. else{
  964. _recordCount = 4;
  965. // [_IsSHowOrHideArray removeAllObjects];
  966. }
  967. if (_IsSHowOrHideArray==nil || _IsSHowOrHideArray.count==0)//没有缓存数据
  968. {
  969. for (int i=0; i<_recordCount; i++)
  970. {
  971. if (g_PersonalUser) {
  972. [_ShowArray addObject:_originalArray[3]];
  973. }
  974. else if (g_B2BUser) {
  975. if (i == 2) {
  976. [_ShowArray addObject:_originalArray[3]];
  977. }else{
  978. [_ShowArray addObject:_originalArray[i]];
  979. }
  980. }
  981. else{
  982. [_ShowArray addObject:_originalArray[i]];
  983. }
  984. }
  985. for (int i=0; i<18; i++)
  986. {
  987. if (g_PersonalUser) {
  988. if (i == 3) {
  989. [_IsSHowOrHideArray addObject:@"show"];
  990. }
  991. else{
  992. [_IsSHowOrHideArray addObject:@"hide"];
  993. }
  994. }
  995. else if (g_B2BUser) {
  996. if (i == 0 || i == 1) {
  997. [_IsSHowOrHideArray addObject:@"show"];
  998. }
  999. else{
  1000. [_IsSHowOrHideArray addObject:@"hide"];
  1001. }
  1002. }
  1003. else{
  1004. if (i>_recordCount-1)
  1005. {
  1006. [_IsSHowOrHideArray addObject:@"hide"];
  1007. }else{
  1008. if (i==3) {
  1009. [_IsSHowOrHideArray addObject:@"hide"];
  1010. }else{
  1011. [_IsSHowOrHideArray addObject:@"show"];
  1012. }
  1013. }
  1014. }
  1015. }
  1016. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1017. }
  1018. else if (_IsSHowOrHideArray.count == 17)//有预约小秘书,没有日程管理的情况
  1019. {
  1020. [_IsSHowOrHideArray insertObject:@"show" atIndex:4];
  1021. [_IsSHowOrHideArray replaceObjectAtIndex:3 withObject:@"hide"];
  1022. for (int i=0; i<_IsSHowOrHideArray.count; i++)
  1023. {
  1024. if ([_IsSHowOrHideArray[i] isEqualToString:@"show"])
  1025. {
  1026. [_ShowArray addObject:_originalArray[i]];
  1027. }
  1028. }
  1029. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1030. }
  1031. else if (_IsSHowOrHideArray.count == 16)//没有预约小秘书
  1032. {
  1033. [_IsSHowOrHideArray insertObject:@"show" atIndex:3];
  1034. for (int i=0; i<_IsSHowOrHideArray.count; i++)
  1035. {
  1036. if ([_IsSHowOrHideArray[i] isEqualToString:@"show"])
  1037. {
  1038. [_ShowArray addObject:_originalArray[i]];
  1039. }
  1040. }
  1041. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1042. }
  1043. else if (_IsSHowOrHideArray.count == 15)//
  1044. {
  1045. [_IsSHowOrHideArray addObject:@"hide"];
  1046. [_IsSHowOrHideArray addObject:@"hide"];
  1047. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1048. }else if (_IsSHowOrHideArray.count == 14)//
  1049. {
  1050. [_IsSHowOrHideArray addObject:@"hide"];
  1051. [_IsSHowOrHideArray addObject:@"hide"];
  1052. [_IsSHowOrHideArray addObject:@"hide"];
  1053. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1054. }
  1055. else{
  1056. /*ERP用户为前五个定死*/
  1057. [_IsSHowOrHideArray replaceObjectAtIndex:0 withObject:@"show"];
  1058. [_IsSHowOrHideArray replaceObjectAtIndex:1 withObject:@"show"];
  1059. [_IsSHowOrHideArray replaceObjectAtIndex:2 withObject:@"show"];
  1060. [_IsSHowOrHideArray replaceObjectAtIndex:3 withObject:@"hide"];
  1061. [_IsSHowOrHideArray replaceObjectAtIndex:4 withObject:@"show"];
  1062. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1063. for (int i=0; i<_IsSHowOrHideArray.count; i++)
  1064. {
  1065. if ([_IsSHowOrHideArray[i] isEqualToString:@"show"])
  1066. {
  1067. [_ShowArray addObject:_originalArray[i]];
  1068. }
  1069. }
  1070. }
  1071. if (g_PersonalUser) {
  1072. [self personalUserGetData];
  1073. _recordCount = 7;
  1074. }
  1075. if (_originalArray.count>18)
  1076. {
  1077. for (int i=0; i<_originalArray.count-18;i++)
  1078. {
  1079. [_ShowArray addObject:_originalArray[18+i]];
  1080. }
  1081. }
  1082. // SLog(@"状态:%@",_IsSHowOrHideArray);
  1083. // SLog(@"请求来什么数据2:%@",_ShowArray);
  1084. [_table reloadData];
  1085. self.isShowFooterPull = p.count>=PAGE_SHOW_COUNT;
  1086. }
  1087. if(g_B2BUser){//b2b用户
  1088. _timeArray = [[NSUserDefaults standardUserDefaults] objectForKey:B2BordertimeArray];
  1089. NSMutableArray *timeTempArr = [_timeArray mutableCopy];
  1090. _timeArray = [timeTempArr mutableCopy];
  1091. _subtitleArray = [[NSUserDefaults standardUserDefaults] objectForKey:B2BordersubtitleArr];
  1092. NSMutableArray *subArrTemp = [_subtitleArray mutableCopy];
  1093. _subtitleArray = [subArrTemp mutableCopy];
  1094. _bageCountArray = [[NSUserDefaults standardUserDefaults] objectForKey:B2BbageCount];
  1095. NSMutableArray *tempArr = [_bageCountArray mutableCopy];
  1096. _bageCountArray = [tempArr mutableCopy];
  1097. if (_bageCountArray == nil) {
  1098. _bageCountArray = [[NSMutableArray alloc]init];
  1099. for (int i=0; i<18; i++)
  1100. {
  1101. [_bageCountArray addObject:@"0"];
  1102. }
  1103. }else if (_bageCountArray.count != 18)
  1104. {
  1105. [_bageCountArray insertObject:@"0" atIndex:3];
  1106. }
  1107. if (_subtitleArray == nil) {
  1108. _subtitleArray = [[NSMutableArray alloc]init];
  1109. for (int i=0; i<18; i++)
  1110. {
  1111. [_subtitleArray addObject:@""];
  1112. }
  1113. }else if (_subtitleArray.count != 18)
  1114. {
  1115. [_subtitleArray insertObject:@"" atIndex:3];
  1116. }
  1117. if (_timeArray == nil) {
  1118. _timeArray = [[NSMutableArray alloc]init];
  1119. for (int i=0; i<18; i++)
  1120. {
  1121. [_timeArray addObject:@""];
  1122. }
  1123. }else if (_timeArray.count != 18)
  1124. {
  1125. [_timeArray insertObject:@"" atIndex:3];
  1126. }
  1127. }
  1128. else if (g_PersonalUser){//个人用户
  1129. _timeArray = [[NSUserDefaults standardUserDefaults] objectForKey:PersonalordertimeArray];
  1130. NSMutableArray *timeTempArr = [_timeArray mutableCopy];
  1131. _timeArray = [timeTempArr mutableCopy];
  1132. _subtitleArray = [[NSUserDefaults standardUserDefaults] objectForKey:PersonalordersubtitleArr];
  1133. NSMutableArray *subArrTemp = [_subtitleArray mutableCopy];
  1134. _subtitleArray = [subArrTemp mutableCopy];
  1135. _bageCountArray = [[NSUserDefaults standardUserDefaults] objectForKey:PersonalbageCount];
  1136. NSMutableArray *tempArr = [_bageCountArray mutableCopy];
  1137. _bageCountArray = [tempArr mutableCopy];
  1138. if (_bageCountArray == nil) {
  1139. _bageCountArray = [[NSMutableArray alloc]init];
  1140. for (int i=0; i<18; i++)
  1141. {
  1142. [_bageCountArray addObject:@"0"];
  1143. }
  1144. }
  1145. if (_subtitleArray == nil) {
  1146. _subtitleArray = [[NSMutableArray alloc]init];
  1147. for (int i=0; i<18; i++)
  1148. {
  1149. [_subtitleArray addObject:@""];
  1150. }
  1151. }
  1152. if (_timeArray == nil) {
  1153. _timeArray = [[NSMutableArray alloc]init];
  1154. for (int i=0; i<18; i++)
  1155. {
  1156. [_timeArray addObject:@""];
  1157. }
  1158. }
  1159. }
  1160. else{//erp用户
  1161. _timeArray = [[NSUserDefaults standardUserDefaults] objectForKey:ERPordertimeArray];
  1162. NSMutableArray *timeTempArr = [_timeArray mutableCopy];
  1163. _timeArray = [timeTempArr mutableCopy];
  1164. _subtitleArray = [[NSUserDefaults standardUserDefaults] objectForKey:ERPordersubtitleArr];
  1165. NSMutableArray *subArrTemp = [_subtitleArray mutableCopy];
  1166. _subtitleArray = [subArrTemp mutableCopy];
  1167. _bageCountArray = [[NSUserDefaults standardUserDefaults] objectForKey:ERPbageCount];
  1168. NSMutableArray *tempArr = [_bageCountArray mutableCopy];
  1169. _bageCountArray = [tempArr mutableCopy];
  1170. if (_bageCountArray == nil) {
  1171. _bageCountArray = [[NSMutableArray alloc]init];
  1172. for (int i=0; i<18; i++)
  1173. {
  1174. [_bageCountArray addObject:@"0"];
  1175. }
  1176. }else if (_bageCountArray.count == 17)
  1177. {
  1178. [_bageCountArray insertObject:@"0" atIndex:4];
  1179. }else if (_bageCountArray.count == 16)
  1180. {
  1181. [_bageCountArray insertObject:@"0" atIndex:3];
  1182. }
  1183. else if (_bageCountArray.count == 15) {
  1184. [_bageCountArray addObject:@"0"];
  1185. [_bageCountArray addObject:@"0"];
  1186. }
  1187. if (_subtitleArray == nil) {
  1188. _subtitleArray = [[NSMutableArray alloc]init];
  1189. for (int i=0; i<18; i++)
  1190. {
  1191. [_subtitleArray addObject:@""];
  1192. }
  1193. }else if (_subtitleArray.count == 17)
  1194. {
  1195. [_subtitleArray insertObject:@"" atIndex:4];
  1196. }else if (_subtitleArray.count == 16)
  1197. {
  1198. [_subtitleArray insertObject:@"" atIndex:3];
  1199. }
  1200. if (_timeArray == nil) {
  1201. _timeArray = [[NSMutableArray alloc]init];
  1202. for (int i=0; i<18; i++)
  1203. {
  1204. [_timeArray addObject:@""];
  1205. }
  1206. }else if (_timeArray.count == 17)
  1207. {
  1208. [_timeArray insertObject:@"" atIndex:4];
  1209. }else if (_timeArray.count == 16)
  1210. {
  1211. [_timeArray insertObject:@"" atIndex:3];
  1212. }
  1213. }
  1214. [p removeAllObjects];
  1215. [p release];
  1216. }
  1217. -(void)personalUserGetData{
  1218. for (int i = 0; i<6; i++) {
  1219. JXMsgAndUserObject *obj = [JXMsgAndUserObject new];
  1220. obj.message = [JXMessageObject new];
  1221. obj.user = [JXUserObject new];
  1222. if (i==0) {//餐饮
  1223. obj.user.userId = @"10026";
  1224. obj.user.userNickname = @"餐饮";
  1225. }else if(i==1){//美容美发
  1226. obj.user.userId = @"10027";
  1227. obj.user.userNickname = @"美容美发";
  1228. }else if(i==2){//KTV
  1229. obj.user.userId = @"10028";
  1230. obj.user.userNickname = @"KTV";
  1231. }else if(i==3){//运动健身
  1232. obj.user.userId = @"10029";
  1233. obj.user.userNickname = @"运动健身";
  1234. }else if(i==4){//会所
  1235. obj.user.userId = @"10030";
  1236. obj.user.userNickname = @"会所";
  1237. }else if(i==5){//医院挂号
  1238. obj.user.userId = @"10031";
  1239. obj.user.userNickname = @"医院挂号";
  1240. }
  1241. [_ShowArray addObject:obj];
  1242. }
  1243. }
  1244. #pragma mark -- 请求朋友圈
  1245. -(void)msgCount:(NSNotification *)noti
  1246. {
  1247. //我->我的朋友圈提醒
  1248. [((AppDelegate*)[[UIApplication sharedApplication] delegate]).jxServer listMessage:0 messageId:@"" toView:self];
  1249. }
  1250. #pragma mark -- 计算总的bage
  1251. - (void)caculateBages:(int)count
  1252. { //此处为固定模块bage;
  1253. int k=0;
  1254. for (int i=0; i<17;i++)
  1255. {
  1256. k+=[_bageCountArray[i] integerValue];
  1257. }
  1258. //即时通讯的bage
  1259. for (int i = 0 ; i < _ShowArray.count; i++) {
  1260. JXMsgAndUserObject *model = _ShowArray[i];
  1261. k += [model.user.newMsgs intValue];
  1262. }
  1263. g_remind.msgTotal = k+count;
  1264. UASTabbar *tarbar = (UASTabbar *)self.tabBarController.tabBar;
  1265. tarbar.remindCount = g_remind.msgTotal;
  1266. [UIApplication sharedApplication].applicationIconBadgeNumber = k+count;
  1267. }
  1268. #pragma mark -- 审批流消息条数
  1269. -(void)getSPLCount
  1270. {
  1271. [LYHTTPRequest Get:HDian_get_Approval_Flow_Number page:0 condition:nil Completion:^(id ObjectData, NSError *error) {
  1272. if (error == nil)
  1273. {
  1274. NSMutableArray *arr = [[NSMutableArray alloc]init];
  1275. for (id obj in ObjectData[@"data"])
  1276. {
  1277. if (![obj[@"TYPECODE"] isEqualToString:@"unprocess"])
  1278. {
  1279. [arr addObject:obj];
  1280. }
  1281. }
  1282. NSInteger ii = 0;
  1283. if (arr.count>0)//如果有新任务
  1284. {
  1285. NSDictionary *dic11 = arr[0];
  1286. NSString *str1 =FORMAT(@"%@",dic11[@"JP_LAUNCHTIME"]);
  1287. for (NSInteger i = 1; i < arr.count; i ++) {
  1288. NSDictionary *dic111 = arr[i];
  1289. NSString *str2 =FORMAT(@"%@",dic111[@"JP_LAUNCHTIME"]);
  1290. if([str2 compare:str1 options:NSNumericSearch] == 1){ //同上potions NSNumericSearch = 64,
  1291. ii = i ;
  1292. str1 =str2 ;
  1293. }
  1294. }
  1295. [_subtitleArray replaceObjectAtIndex:0 withObject:[[arr[ii] objectForKey:@"JP_LAUNCHERNAME"] stringByAppendingString:[NSString stringWithFormat:@"的%@",[arr[ii] objectForKey:@"JP_NAME"]]]];
  1296. [_timeArray replaceObjectAtIndex:0 withObject:FORMAT(@"%@",[NSString calculaterTimes: [NSString timeWithTimeIntervalString:[arr[ii] objectForKey:@"JP_LAUNCHTIME"]]])];
  1297. NSString *newBage = [self caculateBagesWithOldBage:0 andNewBage:FORMAT(@"%lu",(unsigned long)arr.count)];
  1298. [_bageCountArray replaceObjectAtIndex:0 withObject:newBage];
  1299. [self caculateBages:0];
  1300. }else{//没有新任务
  1301. // [_subtitleArray replaceObjectAtIndex:0 withObject:@""];
  1302. [_timeArray replaceObjectAtIndex:0 withObject:@""];
  1303. [_bageCountArray replaceObjectAtIndex:0 withObject:@"0"];
  1304. [self caculateBages:0];
  1305. }
  1306. [self saveDataInSandbox];
  1307. _refreshCount++;
  1308. }else{
  1309. DLog(@"审批流失败");
  1310. }
  1311. }];
  1312. }
  1313. #pragma mark -- 获取我的任务条数
  1314. - (void)getMyTaskCount
  1315. {
  1316. [LYHTTPRequest Get:WorkingDo_Alldata page:100 condition:nil Completion:^(id ObjectData, NSError *error) {
  1317. if (error == nil)
  1318. {
  1319. SLog(@"我的任务列表%@",ObjectData);
  1320. NSDictionary * dict=[NSDictionary changeType:ObjectData];
  1321. NSArray *taskArray=[dict objectForKey:@"data"];
  1322. if (taskArray.count>0)
  1323. {
  1324. [_subtitleArray replaceObjectAtIndex:1 withObject:FORMAT(@"%@",[[taskArray lastObject] objectForKey:@"ra_taskname"])];
  1325. [_timeArray replaceObjectAtIndex:1 withObject:FORMAT(@"%@",[NSString calculaterTimes: [[taskArray lastObject] objectForKey:@"ra_startdate"]])];
  1326. //[_timeArray replaceObjectAtIndex:1 withObject:@"刚刚"];
  1327. NSString *newBageStr = [self caculateBagesWithOldBage:1 andNewBage:FORMAT(@"%lu",(unsigned long)taskArray.count)];
  1328. [_bageCountArray replaceObjectAtIndex:1 withObject:newBageStr];
  1329. [self caculateBages:0];
  1330. }else{
  1331. [_subtitleArray replaceObjectAtIndex:1 withObject:@""];
  1332. [_timeArray replaceObjectAtIndex:1 withObject:@""];
  1333. [_bageCountArray replaceObjectAtIndex:1 withObject:@"0"];
  1334. [self caculateBages:0];
  1335. }
  1336. [self saveDataInSandbox];
  1337. _refreshCount++;
  1338. }else{
  1339. DLog(@"我的任务失败");
  1340. }
  1341. }];
  1342. }
  1343. #pragma mark -- 我的订阅
  1344. - (void)getMySubscribeCount
  1345. {
  1346. NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
  1347. [formatter setDateFormat:@"YYYYMMdd"];
  1348. NSString * thisDay=[formatter stringFromDate:[NSDate date]];
  1349. if ([_IsSHowOrHideArray[2] isEqualToString:@"hide"])
  1350. {
  1351. [_IsSHowOrHideArray replaceObjectAtIndex:2 withObject:@"show"];
  1352. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1353. for (int i=0; i<_originalArray.count; i++)
  1354. {
  1355. JXMsgAndUserObject * obj=_originalArray[i];
  1356. if ([obj.user.userId isEqualToString:@"10012"])
  1357. {
  1358. [_ShowArray insertObject:obj atIndex:2];
  1359. }
  1360. obj=nil;
  1361. }
  1362. _refreshCount++;
  1363. }
  1364. if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"myOrderMassageThisDay"] isEqualToString:thisDay])
  1365. {
  1366. return;
  1367. }
  1368. [LYHTTPRequest Get:HDian_get_Subscribe_Number page:0 condition:thisDay Completion:^(id ObjectData, NSError *error) {
  1369. if (error == nil)
  1370. {
  1371. SLog(@"我的订阅%@",ObjectData);
  1372. NSMutableArray * arr=[[NSMutableArray alloc]init];
  1373. if ([ObjectData objectForKey:@"data"]!=nil)
  1374. {
  1375. arr=[ObjectData objectForKey:@"data"];
  1376. }
  1377. NSMutableArray * brr=[[NSMutableArray alloc]init];
  1378. for (int i=0; i<arr.count; i++)
  1379. {
  1380. NSString * num=[NSString stringWithFormat:@"%@",[arr[i] objectForKey:@"STATUS_"]];
  1381. if ([num isEqualToString:@"0"])
  1382. {
  1383. [brr addObject:[arr[i] objectForKey:@"TITLE_"]];
  1384. }
  1385. }
  1386. if (brr.count>0)//如果有新的数据,则重置角标
  1387. {
  1388. [_subtitleArray replaceObjectAtIndex:2 withObject:FORMAT(@"%@",[brr lastObject])];
  1389. //
  1390. //[_timeArray replaceObjectAtIndex:2 withObject:@"刚刚"];
  1391. [_timeArray replaceObjectAtIndex:2 withObject:FORMAT(@"%@",[NSString calculaterTimes: [NSString timeWithTimeIntervalString:[[arr lastObject] objectForKey:@"CREATEDATE_"]]])];
  1392. [_bageCountArray replaceObjectAtIndex:2 withObject:FORMAT(@"%lu",(unsigned long)brr.count)];
  1393. [self caculateBages:0];
  1394. [[NSUserDefaults standardUserDefaults] setObject:thisDay forKey:@"myOrderMassageThisDay"];
  1395. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  1396. }else{
  1397. // [_subtitleArray replaceObjectAtIndex:2 withObject:@""];
  1398. [_timeArray replaceObjectAtIndex:2 withObject:@""];
  1399. [_bageCountArray replaceObjectAtIndex:2 withObject:@"0"];
  1400. [self caculateBages:0];
  1401. }
  1402. [self saveDataInSandbox];
  1403. _refreshCount++;
  1404. }else{
  1405. DLog(@"我的订阅失败");
  1406. }
  1407. }];
  1408. }
  1409. #pragma mark --- 预约小秘书条数
  1410. -(void)getBookingAppointmentCount
  1411. {
  1412. [self showSysMsgWithIndex:16 andString1:@""andString2:@"" andTimes:@""];
  1413. [self NewMsgObjFromOrignalArr:RED_UUSPORTS];
  1414. if (_IsSHowOrHideArray.count>16) {
  1415. if ([_IsSHowOrHideArray[16] isEqualToString:@"hide"])
  1416. {
  1417. [self addMsgObjFromOrignalArr:RED_UUSPORTS];
  1418. [_IsSHowOrHideArray replaceObjectAtIndex:16 withObject:@"show"];
  1419. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1420. }
  1421. }
  1422. [self isAdmin];
  1423. NSString *url = [NSString stringWithFormat:@"%@%@?userid=%@&token=%@",g_config.apiUrl,act_BookingCount,g_server.myself.userId,g_token];
  1424. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  1425. UASNetworkManager *manager = [UASNetworkManager shareManager];
  1426. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1427. [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  1428. SLog(@"预约小秘书条数:%@",responseObject);
  1429. if (responseObject[@"resultMsg"]) {
  1430. SLog(@"error:%@",responseObject[@"resultMsg"]);
  1431. }
  1432. if (responseObject[@"count"]) {
  1433. NSString *count = FORMAT(@"%@",responseObject[@"count"]);
  1434. if ([count isEqualToString:@"0"]) {
  1435. [_subtitleArray replaceObjectAtIndex:3 withObject:@""];
  1436. [_timeArray replaceObjectAtIndex:3 withObject:@""];
  1437. NSString *newBage = [self caculateBagesWithOldBage:3 andNewBage:count];
  1438. [_bageCountArray replaceObjectAtIndex:3 withObject:newBage];
  1439. [self caculateBages:0];
  1440. }else{
  1441. [_subtitleArray replaceObjectAtIndex:3 withObject:@"您有新的预约"];
  1442. [_timeArray replaceObjectAtIndex:3 withObject:@""];
  1443. NSString *newBage = [self caculateBagesWithOldBage:3 andNewBage:count];
  1444. [_bageCountArray replaceObjectAtIndex:3 withObject:newBage];
  1445. [self caculateBages:0];
  1446. }
  1447. _refreshCount++;
  1448. [_table reloadData];
  1449. }
  1450. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  1451. }];
  1452. }
  1453. #pragma mark --- 日程管理条数统计
  1454. -(void)getScheduleCount
  1455. {
  1456. NSString *url = [NSString stringWithFormat:@"%@/schedule/schedule/getSchedule",scheduleIp];
  1457. NSDictionary *param = @{
  1458. @"imid":g_server.myself.userId,
  1459. @"emcode":g_emcode != nil ? g_emcode :@"",
  1460. @"master":g_master!= nil ? g_master :@"",
  1461. @"sessionId":g_sessionId != nil ? g_sessionId :@"",
  1462. @"uasUrl":g_id!= nil ? g_id :@"",
  1463. };
  1464. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  1465. UASNetworkManager *manager = [UASNetworkManager shareManager];
  1466. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1467. [manager request:url method:GET parameters:param progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  1468. if (responseObject[@"data"]) {
  1469. NSString *count = FORMAT(@"%@",responseObject[@"data"]);
  1470. if ([count isEqualToString:@"0"]) {
  1471. [_subtitleArray replaceObjectAtIndex:4 withObject:@""];
  1472. [_timeArray replaceObjectAtIndex:4 withObject:@""];
  1473. NSString *newBage = [self caculateBagesWithOldBage:4 andNewBage:count];
  1474. [_bageCountArray replaceObjectAtIndex:4 withObject:newBage];
  1475. [self caculateBages:0];
  1476. }else{
  1477. [_subtitleArray replaceObjectAtIndex:4 withObject:@"您有新的日程"];
  1478. [_timeArray replaceObjectAtIndex:4 withObject:@""];
  1479. NSString *newBage = [self caculateBagesWithOldBage:4 andNewBage:count];
  1480. [_bageCountArray replaceObjectAtIndex:4 withObject:newBage];
  1481. [self caculateBages:0];
  1482. }
  1483. _refreshCount++;
  1484. [_table reloadData];
  1485. }
  1486. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  1487. }];
  1488. }
  1489. #pragma mark --- 商家统计的权限
  1490. - (void)isAdmin
  1491. {
  1492. NSString *url;
  1493. url = [NSString stringWithFormat:@"%@%@?companyid=%@&userid=%@&token=%@",g_config.apiUrl,act_ServerCompanyAdmin,g_B2B_enuu,g_server.myself.userId,g_token];
  1494. // [[[NSUserDefaults standardUserDefaults] objectForKey:@"userManageAllDataDic"] objectForKey:@"imid"]
  1495. SLog(@"此时的URL:%@",url);
  1496. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  1497. UASNetworkManager *manager = [UASNetworkManager shareManager];
  1498. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1499. [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  1500. SLog(@"被约3223333呵呵:%@",responseObject);
  1501. responseObject = [NSDictionary changeType:responseObject];
  1502. NSString * str = responseObject[@"result"];
  1503. [[NSUserDefaults standardUserDefaults] setObject:str forKey:@"MerchantSettingKey"];
  1504. // if (responseObject[@"url"]) {
  1505. NSString * ImageUrl = responseObject[@"url"];
  1506. // NSData * imageData =[NSData dataWithContentsOfURL:[NSURL URLWithString:ImageUrl]];
  1507. [[NSUserDefaults standardUserDefaults] setObject:ImageUrl forKey:@"ImageUrlStrKey"];
  1508. // }
  1509. if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"MerchantSettingKey"] isEqualToString:@"1"]) {
  1510. [self showSysMsgWithIndex:17 andString1:@""andString2:@"" andTimes:@""];
  1511. [self NewMsgObjFromOrignalArr:RED_BUSSNESSCOUNT];
  1512. if ([_IsSHowOrHideArray[17] isEqualToString:@"hide"])
  1513. {
  1514. [self addMsgObjFromOrignalArr:RED_BUSSNESSCOUNT];
  1515. [_IsSHowOrHideArray replaceObjectAtIndex:17 withObject:@"show"];
  1516. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1517. }
  1518. }else{
  1519. [_IsSHowOrHideArray replaceObjectAtIndex:17 withObject:@"hide"];
  1520. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1521. }
  1522. [self.tableView reloadData];
  1523. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  1524. DLog(@"请求失败:%@",error);
  1525. [_IsSHowOrHideArray replaceObjectAtIndex:16 withObject:@"hide"];
  1526. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1527. [self.tableView reloadData];
  1528. NSData *returnData = [[error userInfo] objectForKey:@"com.alamofire.serialization.response.error.data"];
  1529. if (returnData) {
  1530. NSDictionary *content = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil];//转换数据格式
  1531. NSString *errorStr = [NSString stringWithFormat:@"%@",[content objectForKey:@"exceptionInfo"]];
  1532. DLog(@"错误的原因:%@",errorStr);
  1533. }
  1534. else{
  1535. }
  1536. }];
  1537. }
  1538. #pragma mark -- 工作提醒,通知公告
  1539. - (void)getThreeObjCount
  1540. {
  1541. // [self showSysMsgWithIndex:15 andString1:@""andString2:@"" andTimes:@""];
  1542. //
  1543. // [self NewMsgObjFromOrignalArr:RED_UUSPORTS];
  1544. // if (_IsSHowOrHideArray.count>15) {
  1545. // if ([_IsSHowOrHideArray[15] isEqualToString:@"hide"])
  1546. // {
  1547. // [self addMsgObjFromOrignalArr:RED_UUSPORTS];
  1548. //
  1549. // [_IsSHowOrHideArray replaceObjectAtIndex:15 withObject:@"show"];
  1550. // [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1551. //
  1552. // }
  1553. // }
  1554. [_HongDianArr removeAllObjects];
  1555. [_HongDianArr release];
  1556. _HongDianArr = [[NSMutableArray alloc]init];
  1557. [LYHTTPRequest Get:HDian_Query_Em_News page:0 condition:nil Completion:^(id ObjectData, NSError *error) {
  1558. if (error == nil)
  1559. {
  1560. SLog(@"消息列表%@",ObjectData);
  1561. NSMutableArray * arr=[[NSMutableArray alloc]init];
  1562. if ([ObjectData objectForKey:@"listdata"]!=nil)
  1563. {
  1564. arr=[ObjectData objectForKey:@"listdata"];
  1565. }
  1566. NSMutableArray * sysTitleArr=[[NSMutableArray alloc]init];
  1567. /*
  1568. 来新消息,要显示出来
  1569. 1,状态是show
  1570. 不用加入数组
  1571. 2,状态是hide
  1572. 加入数组并更改状态
  1573. */
  1574. for (int i=0; i<arr.count; i++)
  1575. {
  1576. [sysTitleArr addObject:FORMAT(@"%@",[arr[i] objectForKey:@"type"])];
  1577. NSMutableArray *dataArr = [NSMutableArray arrayWithArray:arr[i][@"detail"]];
  1578. [self CreateFMDB];
  1579. [self JOInsetTableWithMsgDataArray:dataArr withTableName:tableNames11];
  1580. [self upadte11:dataArr with:[arr[i] objectForKey:@"type"]];
  1581. [_HongDianArr addObject:arr[i]];
  1582. }
  1583. [self setType:RED_WORKWAR index:5];
  1584. [self setType:RED_NOTE index:6];
  1585. [self setType:RED_CRM index:7];
  1586. [self setType:RED_MEET index:9];
  1587. [self setType:RED_PRO index:10];
  1588. [self setType:RED_TASK index:11];
  1589. [self setType:RED_JOB index:12];
  1590. [self setType:RED_B2B index:13];
  1591. [self setType:RED_SYSTEM index:14];
  1592. [self setType:RED_COMMON index:15];
  1593. //删除状态
  1594. NSArray * titleArr=@[RED_WORKWAR,RED_NOTE,RED_CRM,RED_KPI,RED_MEET,RED_PRO,RED_TASK,RED_JOB,RED_B2B,RED_SYSTEM,RED_COMMON,RED_UUSPORTS];
  1595. for (int i=0; i<titleArr.count; i++)
  1596. {
  1597. if ([sysTitleArr indexOfObject:titleArr[i]]==NSNotFound)
  1598. {
  1599. for (int j=0; j<_ShowArray.count; j++)
  1600. {
  1601. JXMsgAndUserObject * obj=_ShowArray[j];
  1602. if ([obj.user.content isEqualToString:titleArr[i]])
  1603. {
  1604. [self deleteSysMsg:obj withStatu:@"show"];
  1605. }
  1606. obj=nil;
  1607. }
  1608. }
  1609. }
  1610. [sysTitleArr removeAllObjects];
  1611. [sysTitleArr release];
  1612. titleArr=nil;
  1613. [titleArr release];
  1614. [self saveDataInSandbox];
  1615. [self caculateBages:0];
  1616. _refreshCount++;
  1617. [_table reloadData];
  1618. }
  1619. else
  1620. {
  1621. if (error.code==-1009)
  1622. {
  1623. // [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkDisconnect") ToNavi:self.navigationController withColor:nil];
  1624. }else if (error.code==-1001)
  1625. {
  1626. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkTimeOut") ToNavi:self.navigationController withColor:nil];
  1627. }
  1628. else{
  1629. //[JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_getDataFaild") ToNavi:self.navigationController withColor:nil];
  1630. }
  1631. }
  1632. }];
  1633. }
  1634. - (void)setType:(NSString *)type index:(NSInteger)index{
  1635. NSArray *arr = [self JOSelectTableForMsgTable11:g_master AndUUID:g_emcode with:type];
  1636. if (arr.count > 0) {
  1637. JLMsgModel *model = [arr lastObject];
  1638. [self showSysMsgWithIndex:index andString1:model.subTitle andString2:FORMAT(@"%ld",arr.count) andTimes:model.createTime];
  1639. [self NewMsgObjFromOrignalArr:type];
  1640. if ([_IsSHowOrHideArray[index] isEqualToString:@"hide"])
  1641. {
  1642. [self addMsgObjFromOrignalArr:type];
  1643. [_IsSHowOrHideArray replaceObjectAtIndex:index withObject:@"show"];
  1644. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1645. }
  1646. }
  1647. [arr release];
  1648. }
  1649. #pragma mark -- 单独考勤消息
  1650. - (void)getKaoQingCount
  1651. {
  1652. NSMutableArray * arr=[[NSMutableArray alloc]initWithArray:[self JOSelectTableForMsgTable]];
  1653. NSMutableArray * brr=[[NSMutableArray alloc]init];
  1654. //遍历数据库中的数组,如果有未读的信息,则将其添加到新创建的数组中
  1655. for (int i=0; i<arr.count; i++)
  1656. {
  1657. if ([arr[i] isEqualToString:@"未读"])
  1658. {
  1659. [brr addObject:arr[i]];
  1660. }
  1661. }
  1662. if (brr.count>0)
  1663. {
  1664. [self showSysMsgWithIndex:8 andString1:FORMAT(@"%@",arr[1]) andString2:FORMAT(@"%lu",(unsigned long)brr.count) andTimes:FORMAT(@"%@:00",arr[0])];
  1665. [self NewMsgObjFromOrignalArr:RED_KPI];
  1666. if ([_IsSHowOrHideArray[8] isEqualToString:@"hide"])
  1667. {
  1668. [self addMsgObjFromOrignalArr:RED_KPI];
  1669. [_IsSHowOrHideArray replaceObjectAtIndex:8 withObject:@"show"];
  1670. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  1671. }
  1672. }else{
  1673. [_subtitleArray replaceObjectAtIndex:8 withObject:@""];
  1674. [_timeArray replaceObjectAtIndex:8 withObject:@""];
  1675. [_bageCountArray replaceObjectAtIndex:8 withObject:@"0"];
  1676. }
  1677. [self caculateBages:0];
  1678. _refreshCount++;
  1679. for (NSInteger i = 0 ; i < _ShowArray.count; i ++) {
  1680. JXMsgAndUserObject * dict = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:i];
  1681. //如果是b2b的用户
  1682. if ([dict.user.userNickname isEqualToString:@"B2B提醒"]) {
  1683. [_ShowArray removeObjectAtIndex:i];
  1684. }
  1685. }
  1686. [_table reloadData];
  1687. [arr removeAllObjects];
  1688. [arr release];
  1689. [brr removeAllObjects];
  1690. [brr release];
  1691. }
  1692. /**
  1693. 查询消息数据
  1694. */
  1695. - (NSArray *)JOSelectTableForMsgTable
  1696. {
  1697. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  1698. /**创建或者打开数据库*/
  1699. NSArray *zbk = [[TIFmdbManager shareManager] findDataOnCurrentThreadWithDb:JOMSGFMDB excuteBlock:^NSArray *(FMDatabase *db) {
  1700. NSMutableArray * listarr=[[NSMutableArray alloc]init];
  1701. NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE JO_ZHANGTAO='%@' and JO_UUID='%@' and JO_TYPE='%@'",@"JOMsgtableName11",g_master,g_emcode,@"kpi"];
  1702. FMResultSet *rs = [db executeQuery:sql];
  1703. while ([rs next])
  1704. {
  1705. NSString * times =[rs stringForColumn:@"JO_STATUS"];
  1706. NSString * titles=[rs stringForColumn:@"title"];
  1707. NSString * timer =[rs stringForColumn:@"createTime"];
  1708. [listarr insertObject:times atIndex:0];
  1709. [listarr insertObject:titles atIndex:0];
  1710. [listarr insertObject:timer atIndex:0];
  1711. }
  1712. return listarr;
  1713. }];
  1714. return zbk;
  1715. }
  1716. -(NSString *)caculateBagesWithOldBage:(int)index andNewBage:(NSString *)newBage{
  1717. NSString *oldBageStr = [NSString stringWithFormat:@"0"];
  1718. NSInteger oldBage = [oldBageStr integerValue];
  1719. NSInteger newBages = [newBage integerValue] + oldBage;
  1720. NSString *newBageStr = [NSString stringWithFormat:@"%ld",(long)newBages];
  1721. return newBageStr;
  1722. }
  1723. -(NSString *)otherCellCaculateBagesWithOldBage:(int)index andNewBage:(NSString *)newBage{
  1724. NSString *oldBageStr = [NSString stringWithFormat:@"%@",_bageCountArray[index]];
  1725. NSInteger oldBage = [oldBageStr integerValue];
  1726. NSInteger newBages = [newBage integerValue] + oldBage;
  1727. NSString *newBageStr = [NSString stringWithFormat:@"%ld",(long)newBages];
  1728. return newBageStr;
  1729. }
  1730. //添加系统消息
  1731. - (void)addMsgObjFromOrignalArr:(NSString *)titleName
  1732. {
  1733. for (int i=0; i<_originalArray.count; i++)
  1734. {
  1735. JXMsgAndUserObject * obj=_originalArray[i];
  1736. if ([obj.user.content isEqualToString:titleName])
  1737. {
  1738. [_ShowArray insertObject:obj atIndex:_recordCount];
  1739. }
  1740. obj=nil;
  1741. }
  1742. }
  1743. //来新消息生序
  1744. - (void)NewMsgObjFromOrignalArr:(NSString *)titleName
  1745. {
  1746. for (int i=0; i<_ShowArray.count; i++)
  1747. {
  1748. JXMsgAndUserObject * obj=_ShowArray[i];
  1749. if ([obj.user.content isEqualToString:titleName])
  1750. {
  1751. if (_ShowArray.count>5)
  1752. {
  1753. [_ShowArray removeObject:obj];
  1754. [_ShowArray insertObject:obj atIndex:_recordCount];
  1755. }
  1756. }
  1757. obj=nil;
  1758. }
  1759. }
  1760. #pragma mark -- XMPP发送消息
  1761. -(void)newMsgSend:(NSNotification *)notifacation
  1762. {
  1763. JXMessageObject *msg = notifacation.object;
  1764. [self doRefresh:msg showNumber:NO];
  1765. msg = nil;
  1766. }
  1767. #pragma mark -- XMPP好友请求消息
  1768. -(void)newRequest:(NSNotification *)notifacation
  1769. {
  1770. JXFriendObject * friend = notifacation.object;
  1771. JXMessageObject* msg = [[JXMessageObject alloc]init];
  1772. msg.fromUserId = friend.userId;
  1773. msg.content = [friend getLastContent];
  1774. msg.type = friend.type;
  1775. msg.timeSend = friend.timeSend;
  1776. [self doRefresh:msg showNumber:YES];
  1777. [msg release];
  1778. friend = nil;
  1779. }
  1780. #pragma mark -- 来消息
  1781. -(void)newMsgCome:(NSNotification *)notifacation
  1782. {
  1783. JXMessageObject *msg = notifacation.object;
  1784. [self doRefresh:msg showNumber:YES];
  1785. msg = nil;
  1786. }
  1787. #pragma mark -- 来消息发消息刷新UI
  1788. -(void)doRefresh:(JXMessageObject*)msg showNumber:(BOOL)showNumber
  1789. {
  1790. NSString* s;
  1791. // if([msg.fromUserId isEqualToString:@"10000"])
  1792. // {
  1793. // msg.fromUserName = @"UU小助手";
  1794. //
  1795. // }
  1796. //1,过滤掉不要的消息类型
  1797. if ([msg.type isEqualToNumber:@508]||[msg.type isEqualToNumber:@505]||[msg.type isEqualToNumber:@504])
  1798. {
  1799. return;
  1800. }
  1801. //2,消息类型推送
  1802. if (msg.isGroup)//如果是群聊
  1803. {
  1804. s = msg.toUserId;
  1805. [g_server setQunLiaoBPush:[[NSUserDefaults standardUserDefaults] objectForKey:@"memberIdStr"] inputString:[[NSUserDefaults standardUserDefaults] objectForKey:@"testMessage"] roomIdStr:[[NSUserDefaults standardUserDefaults] objectForKey:@"roomidStr"] toView:self];
  1806. }
  1807. else//单聊
  1808. {
  1809. s = [msg getTableName];
  1810. //DLog(@"id:%@",s);
  1811. [g_server setNotiBPush:MY_USER_ID toUserId:msg.toUserId toView:self];
  1812. }
  1813. JXMsgAndUserObject *oldobj = nil;
  1814. //3,查询消息页面上是否有该对象类
  1815. for(int i=0;i<[_ShowArray count];i++)
  1816. {
  1817. oldobj=[_ShowArray objectAtIndex:i];
  1818. if([oldobj.user.userId isEqualToString:s])//列表中存在该对象
  1819. {
  1820. oldobj.message.content = [msg getLastContent];
  1821. oldobj.message.timeSend = msg.timeSend;
  1822. oldobj.user.newMsgs = [NSNumber numberWithInt:[oldobj.user.newMsgs intValue]+1];
  1823. if([current_chat_userId isEqualToString:s] || msg.isMySend || !showNumber)//假如是我发送的,或正在这个界面,或不显示数量时
  1824. oldobj.user.newMsgs = [NSNumber numberWithInt:0];
  1825. else if([s isEqualToString:FRIEND_CENTER_USERID])//假如是朋友验证消息,总为1
  1826. oldobj.user.newMsgs = [NSNumber numberWithInt:1];
  1827. [oldobj retain];
  1828. [_ShowArray removeObjectAtIndex:i];
  1829. break;
  1830. }
  1831. oldobj = nil;
  1832. }
  1833. //列表中有此对象
  1834. if(oldobj)
  1835. { //对消息存储模型进行替换
  1836. [_ShowArray insertObject:oldobj atIndex:_recordCount];
  1837. [oldobj release];
  1838. _refreshCount++;
  1839. [_table reloadData];
  1840. //DLog(@"%d",[oldobj.user.newMsgs intValue]);
  1841. [self caculateBages:[oldobj.user.newMsgs intValue]];
  1842. oldobj = nil;
  1843. }
  1844. //列表中没有此对象
  1845. else
  1846. {
  1847. if ([msg.type isEqualToNumber:@10])
  1848. {
  1849. return;
  1850. }
  1851. //列表中没有此用户:
  1852. JXMsgAndUserObject* newobj = [[JXMsgAndUserObject alloc]init];
  1853. newobj.user = [[JXUserObject sharedInstance] getUserById:s];
  1854. if (newobj.user == nil)
  1855. {//往表里面插入数据
  1856. FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:MY_USER_ID];
  1857. NSString *sql = [NSString stringWithFormat:@"INSERT INTO %@ (%@,%@,%@,%@,%@,%@,%@, %@,%@,%@,%@,%@,%@,%@) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",@"friend",kUSER_ID,kUSER_NICKNAME,kUSER_DESCRIPTION,kUSER_USERHEAD,kUSER_ROOM_FLAG,kUSER_CONTENT,kUSER_TYPE,kUSER_TIME_SEND,kUSER_TIME_CREATE,kUSER_NEW_MSGS,kUSER_STATUS,kUSER_COMPANY_ID,kUSER_isMySend,kROOM_ID];
  1858. BOOL result = [db executeUpdate:sql,
  1859. msg.toUserId,
  1860. msg.toUserName,
  1861. @"",
  1862. @"",
  1863. @"",
  1864. msg.content,
  1865. @"",
  1866. msg.timeSend,
  1867. msg.timeSend,
  1868. @"0",
  1869. @"0",
  1870. @"0",
  1871. @"1",
  1872. @""];
  1873. if (result) {
  1874. }else{
  1875. }
  1876. return;
  1877. }
  1878. [newobj.user release];
  1879. newobj.message = msg;
  1880. newobj.user.newMsgs = [NSNumber numberWithInt:1];
  1881. newobj.user.userId=s;
  1882. //DLog(@"复制了ID%@ %@",newobj.user.userId,s);
  1883. //假如是我发送的,或正在这个界面,或不显示数量时
  1884. if([current_chat_userId isEqualToString:s] || msg.isMySend || !showNumber)
  1885. {
  1886. newobj.user.newMsgs = [NSNumber numberWithInt:0];
  1887. }
  1888. else if([s isEqualToString:FRIEND_CENTER_USERID])
  1889. {
  1890. newobj.user.newMsgs = [NSNumber numberWithInt:1];
  1891. }
  1892. //往消息中添加新元素
  1893. [_ShowArray insertObject:newobj atIndex:_recordCount];
  1894. [newobj release];
  1895. NSMutableArray *indexPaths = [[NSMutableArray alloc] init];
  1896. NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_recordCount inSection:0];
  1897. [indexPaths addObject:indexPath];
  1898. [_table beginUpdates];
  1899. [_table insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone ];
  1900. [_table endUpdates];
  1901. [indexPaths release];
  1902. [_table gotoFirstRow:YES];
  1903. newobj = nil;
  1904. [self caculateBages:[oldobj.user.newMsgs intValue]];
  1905. }
  1906. }
  1907. #pragma mark -- **********************tableView相关代理以及数据源方法*************************
  1908. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  1909. {
  1910. JXCell *cell=nil;
  1911. NSString* cellName = [NSString stringWithFormat:@"msg_%d_%ld",_refreshCount,(long)indexPath.row];
  1912. cell = [tableView dequeueReusableCellWithIdentifier:cellName];
  1913. JXMsgAndUserObject *dict;
  1914. if (_SeePanelArr.count >0) {
  1915. if (indexPath.row ==2) {
  1916. dict = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:_ShowArray.count -1];
  1917. }else if (indexPath.row < 2)
  1918. {
  1919. dict = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  1920. }else{
  1921. dict = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row -1];
  1922. }
  1923. }else{
  1924. dict = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  1925. }
  1926. if(cell==nil)
  1927. {
  1928. cell = [[JXCell alloc]init];;
  1929. [_table addToPool:cell];
  1930. }
  1931. cell.userId = nil;
  1932. cell.subtitle = nil;
  1933. cell.bage = nil;
  1934. cell.bottomTitle = nil;
  1935. [cell.contentView removeAllSubviews];
  1936. /**
  1937. 1,userId处理
  1938. */
  1939. if ([dict.user.userId length]==32)
  1940. {
  1941. NSUserDefaults *userdefaults=[NSUserDefaults standardUserDefaults];
  1942. NSString * userid=[userdefaults objectForKey:[NSString stringWithFormat:@"jobor%@",dict.user.userId]];
  1943. cell.userId=userid;
  1944. }else{
  1945. cell.userId = dict.user.userId;
  1946. }
  1947. //显示红点
  1948. cell.showHong=YES;
  1949. /**
  1950. 2,设置title和subTitle
  1951. */
  1952. if ([dict.user.userId intValue]>=[UAS_SCHEDULE_ID intValue] && [dict.user.userId intValue]<[UAS_END_ID intValue])
  1953. {//系统固定类
  1954. cell.title = dict.user.userNickname;
  1955. /*
  1956. //固定
  1957. #define UAS_DAIBAN_ID @"10010" //我的审批
  1958. #define UAS_WORKDO_ID @"10011" //工作待办
  1959. #define UAS_DINGYU_ID @"10012" //我的订阅
  1960. #define UAS_YUYUE_ID @"10013" //预约小秘书
  1961. #define UAS_SCHEDULE_ID @"10009" //日程管理
  1962. //不固定
  1963. #define UAS_WORKWAR_ID @"10014" //工作提醒
  1964. #define UAS_NOTE_ID @"10015" //通知公告
  1965. #define UAS_CRM_ID @"10016"//CRM提醒
  1966. #define UAS_KPI_ID @"10017"//考勤提醒
  1967. #define UAS_MEET_ID @"10018"//会议提醒
  1968. #define UAS_PRO_ID @"10019"//审批知会
  1969. #define UAS_TASK_ID @"10020"//任务提醒
  1970. #define UAS_JOB_ID @"10021"//稽核提醒
  1971. #define UAS_B2B_ID @"10022"//b2b提醒
  1972. #define UAS_SYSTEM_ID @"10023"//知会消息
  1973. #define UAS_COMMON_ID @"10024"//普通知会
  1974. */
  1975. if ([dict.user.userNickname isEqualToString:@"我的审批"] || [dict.user.userId isEqualToString:@"10010"])
  1976. {
  1977. cell.subtitle=_subtitleArray[0];
  1978. cell.bage=_bageCountArray[0];
  1979. cell.bottomTitle=_timeArray[0];
  1980. }
  1981. else if ([dict.user.userNickname isEqualToString:@"待办工作"] || [dict.user.userId isEqualToString:@"10011"])
  1982. {
  1983. cell.subtitle=_subtitleArray[1];
  1984. cell.bage=_bageCountArray[1];
  1985. cell.bottomTitle=_timeArray[1];
  1986. }
  1987. else if ([dict.user.userNickname isEqualToString:@"我的订阅"] || [dict.user.userId isEqualToString:@"10012"])
  1988. {
  1989. cell.subtitle=_subtitleArray[2];
  1990. cell.bage=_bageCountArray[2];
  1991. cell.bottomTitle=_timeArray[2];
  1992. if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"Mydingyue"] isEqualToString:@"click"])
  1993. {
  1994. cell.showHong = NO;
  1995. cell.hongtitle = @"查看订阅详情";
  1996. }
  1997. }
  1998. else if ([dict.user.userNickname isEqualToString:Localized(@"UU_Appointment_secretary")])
  1999. {
  2000. cell.subtitle=_subtitleArray[3];
  2001. cell.bage=_bageCountArray[3];
  2002. cell.bottomTitle=_timeArray[3];
  2003. }
  2004. else if ([dict.user.userNickname isEqualToString:Localized(@"UU_work_ScheduleManage")])
  2005. {
  2006. cell.subtitle=_subtitleArray[4];
  2007. cell.bage=_bageCountArray[4];
  2008. cell.bottomTitle=_timeArray[4];
  2009. }
  2010. else if ([dict.user.userNickname isEqualToString:@"工作提醒"])
  2011. {
  2012. if ([_subtitleArray[5] isEqualToString:@"1"])
  2013. {
  2014. cell.subtitle=@"";
  2015. }else
  2016. cell.subtitle=_subtitleArray[5];
  2017. cell.bage=_bageCountArray[5];
  2018. cell.bottomTitle=_timeArray[5];
  2019. }
  2020. else if ([dict.user.userNickname isEqualToString:Localized(@"UU_message_notificationNotice")])
  2021. {
  2022. cell.subtitle=_subtitleArray[6];
  2023. cell.bage=_bageCountArray[6];
  2024. cell.bottomTitle=_timeArray[6];
  2025. }
  2026. else if ([dict.user.userNickname isEqualToString:@"CRM提醒"])
  2027. {
  2028. cell.subtitle=_subtitleArray[7];
  2029. cell.bage=_bageCountArray[7];
  2030. cell.bottomTitle=_timeArray[7];
  2031. }
  2032. else if ([dict.user.userNickname isEqualToString:@"考勤提醒"])
  2033. {
  2034. cell.subtitle=_subtitleArray[8];
  2035. cell.bage=_bageCountArray[8];
  2036. cell.bottomTitle=_timeArray[8];
  2037. }
  2038. else if ([dict.user.userNickname isEqualToString:@"会议提醒"])
  2039. {
  2040. cell.subtitle=_subtitleArray[9];
  2041. cell.bage=_bageCountArray[9];
  2042. cell.bottomTitle=_timeArray[9];
  2043. }
  2044. else if ([dict.user.userNickname isEqualToString:@"审批知会"])
  2045. {
  2046. cell.subtitle=_subtitleArray[10];
  2047. cell.bage=_bageCountArray[10];
  2048. cell.bottomTitle=_timeArray[10];
  2049. }
  2050. else if ([dict.user.userNickname isEqualToString:@"任务提醒"])
  2051. {
  2052. cell.subtitle=_subtitleArray[11];
  2053. cell.bage=_bageCountArray[11];
  2054. cell.bottomTitle=_timeArray[11];
  2055. }
  2056. else if ([dict.user.userNickname isEqualToString:@"稽核提醒"])
  2057. {
  2058. cell.subtitle=_subtitleArray[12];
  2059. cell.bage=_bageCountArray[12];
  2060. cell.bottomTitle=_timeArray[12];
  2061. }
  2062. else if ([dict.user.userNickname isEqualToString:@"B2B提醒"])
  2063. {
  2064. cell.subtitle=_subtitleArray[13];
  2065. cell.bage=_bageCountArray[13];
  2066. cell.bottomTitle=_timeArray[13];
  2067. }
  2068. else if ([dict.user.userNickname isEqualToString:@"知会消息"])
  2069. {
  2070. cell.subtitle=_subtitleArray[14];
  2071. cell.bage=_bageCountArray[14];
  2072. cell.bottomTitle=_timeArray[14];
  2073. }
  2074. else if ([dict.user.userNickname isEqualToString:Localized(@"UU_message_ordinaryNotification")])
  2075. {
  2076. cell.subtitle=_subtitleArray[15];
  2077. cell.bage=_bageCountArray[15];
  2078. cell.bottomTitle=_timeArray[15];
  2079. } else if ([dict.user.userNickname isEqualToString:Localized(@"UU_me_set_uuSport")])
  2080. {
  2081. cell.subtitle=_subtitleArray[16];
  2082. cell.bage=_bageCountArray[16];
  2083. cell.bottomTitle=_timeArray[16];
  2084. } else if ([dict.user.userNickname isEqualToString:@"商家统计"])
  2085. {
  2086. cell.subtitle=_subtitleArray[17];
  2087. cell.bage=_bageCountArray[17];
  2088. cell.bottomTitle=_timeArray[17];
  2089. }
  2090. if ([dict.user.userNickname isEqualToString:@"餐饮"] || [dict.user.userId isEqualToString:@"10026"])
  2091. {
  2092. cell.subtitle = @"美味齐全";
  2093. //
  2094. // cell.bage=_bageCountArray[0];
  2095. //
  2096. // cell.bottomTitle=_timeArray[0];
  2097. }if ([dict.user.userNickname isEqualToString:@"美容美发"] || [dict.user.userId isEqualToString:@"10027"])
  2098. {
  2099. cell.subtitle= @"时尚潮流";
  2100. //
  2101. // cell.bage=_bageCountArray[0];
  2102. //
  2103. // cell.bottomTitle=_timeArray[0];
  2104. }if ([dict.user.userNickname isEqualToString:@"KTV"] || [dict.user.userId isEqualToString:@"10028"])
  2105. {
  2106. cell.subtitle = @"音乐节";
  2107. //
  2108. // cell.bage=_bageCountArray[0];
  2109. //
  2110. // cell.bottomTitle=_timeArray[0];
  2111. }if ([dict.user.userNickname isEqualToString:@"运动健身"] || [dict.user.userId isEqualToString:@"10029"])
  2112. {
  2113. cell.subtitle=@"hi动起来";
  2114. //
  2115. // cell.bage=_bageCountArray[0];
  2116. //
  2117. // cell.bottomTitle=_timeArray[0];
  2118. }if ([dict.user.userNickname isEqualToString:@"会所"] || [dict.user.userId isEqualToString:@"10030"])
  2119. {
  2120. cell.subtitle=@"预约有优惠";
  2121. //
  2122. // cell.bage=_bageCountArray[0];
  2123. //
  2124. // cell.bottomTitle=_timeArray[0];
  2125. }
  2126. if ([dict.user.userNickname isEqualToString:@"医院挂号"] || [dict.user.userId isEqualToString:@"10031"])
  2127. {
  2128. cell.subtitle=@"您的健康助手";
  2129. //
  2130. // cell.bage=_bageCountArray[0];
  2131. //
  2132. // cell.bottomTitle=_timeArray[0];
  2133. }
  2134. }
  2135. else//单聊群聊类
  2136. {
  2137. cell.title=dict.user.userNickname;
  2138. cell.subtitle=dict.message.content;
  2139. //判断副标题是否为图片
  2140. if (([dict.message.content rangeOfString:@"http"].location !=NSNotFound) ||([dict.message.content rangeOfString:@"gif"].location !=NSNotFound) )
  2141. {
  2142. cell.subtitle=@"[图片]";
  2143. }
  2144. //如果是单聊取真名
  2145. // DLog(@"这个ID为什么为空啊%@",dict.user.userId);
  2146. NSString * danliao;
  2147. if (dict.user.userId==nil)
  2148. {
  2149. danliao=nil;
  2150. }else{
  2151. danliao=[[NSUserDefaults standardUserDefaults] objectForKey:dict.user.userId];
  2152. }
  2153. if (danliao==nil)//偏好设置中没有存储相关的值
  2154. {
  2155. cell.title=dict.user.userNickname;
  2156. }else{
  2157. cell.title=danliao;
  2158. }
  2159. cell.bottomTitle=[TimeUtil getTimeStrStyle1:[dict.message.timeSend timeIntervalSince1970]];
  2160. danliao=nil;
  2161. /**
  2162. 3,设置bage红点
  2163. */
  2164. if ([dict.user.newMsgs isKindOfClass:[NSNull class]] || dict.user.newMsgs==nil)
  2165. {
  2166. cell.bage=@"0";
  2167. }
  2168. else
  2169. {
  2170. if ([dict.user.newMsgs intValue] == 0) {
  2171. cell.subtitle = @"";
  2172. cell.bottomTitle = @"";
  2173. }
  2174. cell.bage = [NSString stringWithFormat:@"%d",[dict.user.newMsgs intValue]];
  2175. }
  2176. }
  2177. //4,cell初始化
  2178. [cell initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
  2179. //取消点击效果
  2180. cell.selectionStyle=UITableViewCellSelectionStyleDefault;
  2181. cell.backgroundColor= [UIColor whiteColor];
  2182. dict = nil;
  2183. cell.delegate = self;
  2184. cell.index = indexPath.row;
  2185. cell.didTouch = @selector(onHeadImage:);
  2186. cell.didDragout=@selector(onDrag:);
  2187. if(g_B2BUser){
  2188. }else{
  2189. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  2190. }
  2191. UIView *bgView = [[UIView alloc] init];
  2192. bgView.backgroundColor = [UIColor colorWithRed:242.0/255.0 green:242/255.0 blue:242/255.0 alpha:1.0];
  2193. [cell.contentView addSubview:bgView];
  2194. [bgView mas_makeConstraints:^(MASConstraintMaker *make) {
  2195. make.left.bottom.right.equalTo(cell.contentView);
  2196. make.height.mas_equalTo(1.0);
  2197. }];
  2198. bgView = nil;
  2199. return cell;
  2200. }
  2201. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  2202. {
  2203. return _ShowArray.count;
  2204. }
  2205. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  2206. {
  2207. return 66+cellScale;
  2208. }
  2209. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  2210. {
  2211. return 1;
  2212. }
  2213. #pragma mark --对选中的Cell进行编辑
  2214. - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
  2215. {
  2216. if (indexPath.section == 0) {
  2217. JXCell *cell = [tableView cellForRowAtIndexPath:indexPath];
  2218. JXMsgAndUserObject *model ;
  2219. if (_SeePanelArr.count >0) {
  2220. _recordCount = 5;
  2221. if (indexPath.row ==2) {
  2222. model = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:_ShowArray.count -1];
  2223. }else if (indexPath.row < 2)
  2224. {
  2225. model = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  2226. }else{
  2227. model = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row -1];
  2228. }
  2229. }else{
  2230. model = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  2231. }
  2232. if (indexPath.row>_recordCount-1)
  2233. {
  2234. if ([model.user.content isEqualToString:RED_UUSPORTS] ) {
  2235. return @[];
  2236. }else if ([model.user.content isEqualToString:RED_BUSSNESSCOUNT])
  2237. {
  2238. if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"MerchantSettingKey"] isEqualToString:@"1"])
  2239. {
  2240. return @[];
  2241. }
  2242. }
  2243. UITableViewRowAction * deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction *_Nonnull action, NSIndexPath *_Nonnull indexPath)
  2244. {
  2245. JXMsgAndUserObject *p=[_ShowArray objectAtIndex:indexPath.row];
  2246. if ([p.user.userId intValue]>=[UAS_SCHEDULE_ID intValue] && [p.user.userId intValue]<[UAS_END_ID intValue])
  2247. {//除聊天类以外的cell
  2248. [self deleteSysMsg:p withStatu:@"hide"];
  2249. [self HadReadSysMsg:_ShowArray[indexPath.row]];
  2250. [self deleteDataFromFMDB:[NSString stringWithFormat:@"delete from '%@' WHERE JO_ZHANGTAO='%@' and JO_UUID='%@' and JO_TYPE='%@'",@"JOMsgtableName11",g_master,g_emcode,p.user.content]];
  2251. [self saveDataInSandbox];
  2252. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  2253. }else{//聊天类的cell
  2254. [self saveDataInSandbox];
  2255. g_remind.msgTotal -= [p.user.newMsgs intValue];
  2256. [p.user reset];
  2257. [p.message deleteAll];
  2258. if([p.message.fromUserId isEqualToString:@"10000"])
  2259. {
  2260. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:FORMAT(@"%@.db",g_server.myself.userId)];
  2261. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:FORMAT(@"%@.db",g_server.myself.userId) excuteDbBlock:^(FMDatabase *db) {
  2262. [db executeUpdate:[NSString stringWithFormat:@"delete from %@",@"MSG_100001"]];
  2263. }];
  2264. }
  2265. }
  2266. p =nil;
  2267. [_ShowArray removeObjectAtIndex:indexPath.row];
  2268. _refreshCount++;
  2269. [_table reloadData];
  2270. [self caculateBages:0];
  2271. }];
  2272. deleteRowAction.backgroundColor = [UIColor redColor];
  2273. NSString *readOrNot;
  2274. UITableViewRowAction * hadRead;
  2275. if(![cell.bage isEqualToString:@"0"]){//没有阅读
  2276. readOrNot = @"标为已读";
  2277. hadRead = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:readOrNot handler:^(UITableViewRowAction *_Nonnull action, NSIndexPath *_Nonnull indexPath)
  2278. {
  2279. if ([model.user.userId intValue]>=[UAS_SCHEDULE_ID intValue] && [model.user.userId intValue]<[UAS_END_ID intValue])
  2280. {//除聊天类以外的cell
  2281. [self HadReadSysMsg11:_ShowArray[indexPath.row]];
  2282. _refreshCount++;
  2283. [self saveDataInSandbox];
  2284. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  2285. }else{//聊天类的cell
  2286. model.user.newMsgs = @0;
  2287. [self saveDataInSandbox];
  2288. BOOL result = [self messageMarkAreadlyReadOrNotWithStatus:readOrNot andModel:model];
  2289. if(result){
  2290. }else{
  2291. }
  2292. }
  2293. [self caculateBages:0];
  2294. [_table reloadData];
  2295. }];
  2296. }else{
  2297. readOrNot = @"标为未读";
  2298. hadRead = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:readOrNot handler:^(UITableViewRowAction *_Nonnull action, NSIndexPath *_Nonnull indexPath)
  2299. {
  2300. if ([model.user.userId intValue]>=[UAS_SCHEDULE_ID intValue] && [model.user.userId intValue]<[UAS_END_ID intValue])
  2301. {//除聊天类以外的cell
  2302. [self messageHadMarkedHaveNoReadWithMsg:_ShowArray[indexPath.row]];
  2303. _refreshCount++;
  2304. [self saveDataInSandbox];
  2305. }
  2306. else{//聊天类的cell
  2307. model.user.newMsgs = @1;
  2308. BOOL result = [self messageMarkAreadlyReadOrNotWithStatus:readOrNot andModel:model];
  2309. if(result){
  2310. }else{
  2311. }
  2312. }
  2313. [self saveDataInSandbox];
  2314. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  2315. [_table reloadData];
  2316. [self caculateBages:0];
  2317. }];
  2318. }
  2319. hadRead.backgroundColor = [UIColor grayColor];
  2320. [self saveDataInSandbox];
  2321. [[NSUserDefaults standardUserDefaults] setObject:_bageCountArray forKey:ERPbageCount];
  2322. return@[deleteRowAction,hadRead];
  2323. }else{
  2324. return @[];
  2325. }
  2326. }else{
  2327. return @[];
  2328. }
  2329. }
  2330. -(BOOL)messageMarkAreadlyReadOrNotWithStatus:(NSString *)status andModel:(JXMsgAndUserObject *)model{
  2331. BOOL success = NO;
  2332. if([status isEqualToString:@"标为已读"]){
  2333. FMDatabase *db = [[JXXMPP sharedInstance] openUserDb:MY_USER_ID];
  2334. NSString *sqlStr = [NSString stringWithFormat:@"update friend set newMsgs=0 where userId=%@",model.user.userId];
  2335. success = [db executeUpdate:sqlStr];
  2336. }else{
  2337. FMDatabase *db = [[JXXMPP sharedInstance] openUserDb:MY_USER_ID];
  2338. NSString *sqlStr = [NSString stringWithFormat:@"update friend set newMsgs=1 where userId=%@",model.user.userId];
  2339. success = [db executeUpdate:sqlStr];
  2340. }
  2341. return success;
  2342. }
  2343. - (void)deleteDataFromFMDB:(NSString *)sql
  2344. {
  2345. //初始化数据库操作对象
  2346. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  2347. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  2348. [db executeUpdate:sql];
  2349. }];
  2350. }
  2351. - (void)HadReadSysMsg11:(JXMsgAndUserObject *)obj{
  2352. NSArray *arr = [self JOSelectTableForMsgTable11:g_master AndUUID:g_emcode with:obj.user.content];
  2353. if (arr.count > 0) {
  2354. for (NSInteger i = 0 ; i < arr.count; i ++) {
  2355. JLMsgModel * model=arr[i];
  2356. model.JO_STATUS=@"已读";
  2357. [self up_FMDB_DataWithTableName:[NSString stringWithFormat:@"UPDATE '%@' SET JO_STATUS='已读' WHERE JOid='%@' ",tableNames11,model.JOid]];
  2358. }
  2359. }
  2360. [self HadReadSysMsg:obj];
  2361. }
  2362. //标记已读
  2363. #pragma mark -- 点击进入消息类--标记已读
  2364. - (void)HadReadSysMsg:(JXMsgAndUserObject *)obj
  2365. {
  2366. if ([obj.user.userId isEqualToString:UAS_DINGYU_ID])
  2367. {
  2368. [_bageCountArray replaceObjectAtIndex:2 withObject:@"0"];
  2369. // [_subtitleArray replaceObjectAtIndex:2 withObject:@""];
  2370. // [_timeArray replaceObjectAtIndex:2 withObject:@""];
  2371. }
  2372. if ([obj.user.userId isEqualToString:UAS_YUYUE_ID])
  2373. {
  2374. [_bageCountArray replaceObjectAtIndex:3 withObject:@"0"];
  2375. // [_subtitleArray replaceObjectAtIndex:3 withObject:@""];
  2376. // [_timeArray replaceObjectAtIndex:3 withObject:@""];
  2377. }
  2378. if ([obj.user.userId isEqualToString:UAS_SCHEDULE_ID])
  2379. {
  2380. [_bageCountArray replaceObjectAtIndex:4 withObject:@"0"];
  2381. }
  2382. if ([obj.user.content isEqualToString:RED_WORKWAR])
  2383. {
  2384. [_bageCountArray replaceObjectAtIndex:5 withObject:@"0"];
  2385. // [_timeArray replaceObjectAtIndex:4 withObject:@""];
  2386. }
  2387. else if ([obj.user.content isEqualToString:RED_NOTE])
  2388. {
  2389. [_bageCountArray replaceObjectAtIndex:6 withObject:@"0"];
  2390. // [_timeArray replaceObjectAtIndex:5 withObject:@""];
  2391. }
  2392. else if ([obj.user.content isEqualToString:RED_CRM])
  2393. {
  2394. [_bageCountArray replaceObjectAtIndex:7 withObject:@"0"];
  2395. // [_timeArray replaceObjectAtIndex:6 withObject:@""];
  2396. }
  2397. else if ([obj.user.content isEqualToString:RED_KPI])
  2398. {
  2399. [_bageCountArray replaceObjectAtIndex:8 withObject:@"0"];
  2400. // [_timeArray replaceObjectAtIndex:7 withObject:@""];
  2401. [_subtitleArray replaceObjectAtIndex:8 withObject:@""];
  2402. }
  2403. else if ([obj.user.content isEqualToString:RED_MEET])
  2404. {
  2405. [_bageCountArray replaceObjectAtIndex:9 withObject:@"0"];
  2406. // [_timeArray replaceObjectAtIndex:8 withObject:@""];
  2407. }
  2408. else if ([obj.user.content isEqualToString:RED_PRO])
  2409. {
  2410. [_bageCountArray replaceObjectAtIndex:10 withObject:@"0"];
  2411. // [_timeArray replaceObjectAtIndex:9 withObject:@""];
  2412. }
  2413. else if ([obj.user.content isEqualToString:RED_TASK])
  2414. {
  2415. [_bageCountArray replaceObjectAtIndex:11 withObject:@"0"];
  2416. // [_timeArray replaceObjectAtIndex:10 withObject:@""];
  2417. }
  2418. else if ([obj.user.content isEqualToString:RED_JOB])
  2419. {
  2420. [_bageCountArray replaceObjectAtIndex:12 withObject:@"0"];
  2421. // [_timeArray replaceObjectAtIndex:11 withObject:@""];
  2422. }
  2423. else if ([obj.user.content isEqualToString:RED_B2B])
  2424. {
  2425. [_bageCountArray replaceObjectAtIndex:13 withObject:@"0"];
  2426. // [_timeArray replaceObjectAtIndex:12 withObject:@""];
  2427. }
  2428. else if ([obj.user.content isEqualToString:RED_SYSTEM])
  2429. {
  2430. [_bageCountArray replaceObjectAtIndex:14 withObject:@"0"];
  2431. // [_timeArray replaceObjectAtIndex:13 withObject:@""];
  2432. }
  2433. else if ([obj.user.content isEqualToString:RED_COMMON])
  2434. {
  2435. [_bageCountArray replaceObjectAtIndex:15 withObject:@"0"];
  2436. // [_timeArray replaceObjectAtIndex:14 withObject:@""];
  2437. }
  2438. else if ([obj.user.content isEqualToString:RED_UUSPORTS])
  2439. {
  2440. if (_bageCountArray.count > 16) {
  2441. [_bageCountArray replaceObjectAtIndex:16 withObject:@"0"];
  2442. }
  2443. }
  2444. else if ([obj.user.content isEqualToString:RED_BUSSNESSCOUNT])
  2445. {
  2446. if (_bageCountArray.count > 17) {
  2447. [_bageCountArray replaceObjectAtIndex:17 withObject:@"0"];
  2448. }
  2449. }
  2450. }
  2451. //信息被标志为未读显示的标志为红点显示为1
  2452. -(void)messageHadMarkedHaveNoReadWithMsg:(JXMsgAndUserObject*)obj{
  2453. NSDate *nowDate = [NSDate date];
  2454. NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
  2455. [dateFormat setDateFormat:@"YYYY-MM-dd"];
  2456. NSString * str = [dateFormat stringFromDate:nowDate];
  2457. if ([obj.user.userId isEqualToString:UAS_DINGYU_ID])
  2458. {
  2459. [_bageCountArray replaceObjectAtIndex:2 withObject:@"1"];
  2460. [_subtitleArray replaceObjectAtIndex:2 withObject:@""];
  2461. [_timeArray replaceObjectAtIndex:2 withObject:str];
  2462. }
  2463. if ([obj.user.userId isEqualToString:UAS_YUYUE_ID])
  2464. {
  2465. [_bageCountArray replaceObjectAtIndex:3 withObject:@"1"];
  2466. [_subtitleArray replaceObjectAtIndex:3 withObject:@""];
  2467. [_timeArray replaceObjectAtIndex:3 withObject:str];
  2468. }
  2469. if ([obj.user.userId isEqualToString:UAS_SCHEDULE_ID])
  2470. {
  2471. [_bageCountArray replaceObjectAtIndex:4 withObject:@"1"];
  2472. [_subtitleArray replaceObjectAtIndex:4 withObject:@""];
  2473. [_timeArray replaceObjectAtIndex:4 withObject:str];
  2474. }
  2475. if ([obj.user.content isEqualToString:RED_WORKWAR])
  2476. {
  2477. [_bageCountArray replaceObjectAtIndex:5 withObject:@"1"];
  2478. [_timeArray replaceObjectAtIndex:5 withObject:str];
  2479. }
  2480. else if ([obj.user.content isEqualToString:RED_NOTE])
  2481. {
  2482. [_bageCountArray replaceObjectAtIndex:6 withObject:@"1"];
  2483. [_timeArray replaceObjectAtIndex:6 withObject:str];
  2484. }
  2485. else if ([obj.user.content isEqualToString:RED_CRM])
  2486. {
  2487. [_bageCountArray replaceObjectAtIndex:7 withObject:@"1"];
  2488. [_timeArray replaceObjectAtIndex:7 withObject:str];
  2489. }
  2490. else if ([obj.user.content isEqualToString:RED_KPI])
  2491. {
  2492. [_bageCountArray replaceObjectAtIndex:8 withObject:@"1"];
  2493. [_timeArray replaceObjectAtIndex:8 withObject:str];
  2494. [_subtitleArray replaceObjectAtIndex:8 withObject:@""];
  2495. }
  2496. else if ([obj.user.content isEqualToString:RED_MEET])
  2497. {
  2498. [_bageCountArray replaceObjectAtIndex:9 withObject:@"1"];
  2499. [_timeArray replaceObjectAtIndex:9 withObject:str];
  2500. }
  2501. else if ([obj.user.content isEqualToString:RED_PRO])
  2502. {
  2503. [_bageCountArray replaceObjectAtIndex:10 withObject:@"1"];
  2504. [_timeArray replaceObjectAtIndex:10 withObject:str];
  2505. }
  2506. else if ([obj.user.content isEqualToString:RED_TASK])
  2507. {
  2508. [_bageCountArray replaceObjectAtIndex:11 withObject:@"1"];
  2509. [_timeArray replaceObjectAtIndex:11 withObject:str];
  2510. }
  2511. else if ([obj.user.content isEqualToString:RED_JOB])
  2512. {
  2513. [_bageCountArray replaceObjectAtIndex:12 withObject:@"1"];
  2514. [_timeArray replaceObjectAtIndex:12 withObject:str];
  2515. }
  2516. else if ([obj.user.content isEqualToString:RED_B2B])
  2517. {
  2518. [_bageCountArray replaceObjectAtIndex:13 withObject:@"1"];
  2519. [_timeArray replaceObjectAtIndex:13 withObject:str];
  2520. }
  2521. else if ([obj.user.content isEqualToString:RED_SYSTEM])
  2522. {
  2523. [_bageCountArray replaceObjectAtIndex:14 withObject:@"1"];
  2524. [_timeArray replaceObjectAtIndex:14 withObject:str];
  2525. }
  2526. else if ([obj.user.content isEqualToString:RED_COMMON])
  2527. {
  2528. [_bageCountArray replaceObjectAtIndex:15 withObject:@"1"];
  2529. [_timeArray replaceObjectAtIndex:15 withObject:str];
  2530. }else if ([obj.user.content isEqualToString:RED_UUSPORTS])
  2531. {
  2532. if (_bageCountArray.count > 16 && _timeArray.count > 16) {
  2533. [_bageCountArray replaceObjectAtIndex:16 withObject:@"1"];
  2534. [_timeArray replaceObjectAtIndex:16 withObject:str];
  2535. }
  2536. }
  2537. else if ([obj.user.content isEqualToString:RED_BUSSNESSCOUNT])
  2538. {
  2539. if (_bageCountArray.count > 17 && _timeArray.count > 17) {
  2540. [_bageCountArray replaceObjectAtIndex:17 withObject:@"1"];
  2541. [_timeArray replaceObjectAtIndex:17 withObject:str];
  2542. }
  2543. }
  2544. }
  2545. //删除消息类
  2546. - (void)deleteSysMsg:(JXMsgAndUserObject *)obj withStatu:(NSString *)statu
  2547. {
  2548. if ([obj.user.content isEqualToString:RED_WORKWAR])
  2549. {
  2550. [_subtitleArray replaceObjectAtIndex:5 withObject:@"1"];
  2551. [_timeArray replaceObjectAtIndex:5 withObject:@""];
  2552. // [_bageCountArray replaceObjectAtIndex:4 withObject:@"0"];
  2553. [_IsSHowOrHideArray replaceObjectAtIndex:4 withObject:statu];
  2554. }
  2555. else if ([obj.user.content isEqualToString:RED_NOTE])
  2556. {
  2557. [_subtitleArray replaceObjectAtIndex:6 withObject:@""];
  2558. [_timeArray replaceObjectAtIndex:6 withObject:@""];
  2559. // [_bageCountArray replaceObjectAtIndex:5 withObject:@"0"];
  2560. [_IsSHowOrHideArray replaceObjectAtIndex:6 withObject:statu];
  2561. }
  2562. else if ([obj.user.content isEqualToString:RED_CRM])
  2563. {
  2564. [_subtitleArray replaceObjectAtIndex:7 withObject:@""];
  2565. [_timeArray replaceObjectAtIndex:7 withObject:@""];
  2566. // [_bageCountArray replaceObjectAtIndex:6 withObject:@"0"];
  2567. [_IsSHowOrHideArray replaceObjectAtIndex:7 withObject:statu];
  2568. }
  2569. else if ([obj.user.content isEqualToString:RED_KPI])
  2570. {
  2571. [_subtitleArray replaceObjectAtIndex:8 withObject:@""];
  2572. [_timeArray replaceObjectAtIndex:8 withObject:@""];
  2573. // [_bageCountArray replaceObjectAtIndex:7 withObject:@"0"];
  2574. [_IsSHowOrHideArray replaceObjectAtIndex:8 withObject:statu];
  2575. }
  2576. else if ([obj.user.content isEqualToString:RED_MEET])
  2577. {
  2578. [_subtitleArray replaceObjectAtIndex:9 withObject:@""];
  2579. [_timeArray replaceObjectAtIndex:9 withObject:@""];
  2580. // [_bageCountArray replaceObjectAtIndex:8 withObject:@"0"];
  2581. [_IsSHowOrHideArray replaceObjectAtIndex:9 withObject:statu];
  2582. }
  2583. else if ([obj.user.content isEqualToString:RED_PRO])
  2584. {
  2585. [_subtitleArray replaceObjectAtIndex:10 withObject:@""];
  2586. [_timeArray replaceObjectAtIndex:10 withObject:@""];
  2587. // [_bageCountArray replaceObjectAtIndex:9 withObject:@"0"];
  2588. [_IsSHowOrHideArray replaceObjectAtIndex:10 withObject:statu];
  2589. }
  2590. else if ([obj.user.content isEqualToString:RED_TASK])
  2591. {
  2592. [_subtitleArray replaceObjectAtIndex:11 withObject:@""];
  2593. [_timeArray replaceObjectAtIndex:11 withObject:@""];
  2594. // [_bageCountArray replaceObjectAtIndex:10 withObject:@"0"];
  2595. [_IsSHowOrHideArray replaceObjectAtIndex:11 withObject:statu];
  2596. }
  2597. else if ([obj.user.content isEqualToString:RED_JOB])
  2598. {
  2599. [_subtitleArray replaceObjectAtIndex:12 withObject:@""];
  2600. [_timeArray replaceObjectAtIndex:12 withObject:@""];
  2601. // [_bageCountArray replaceObjectAtIndex:11 withObject:@"0"];
  2602. [_IsSHowOrHideArray replaceObjectAtIndex:12 withObject:statu];
  2603. }
  2604. else if ([obj.user.content isEqualToString:RED_B2B])
  2605. {
  2606. [_subtitleArray replaceObjectAtIndex:13 withObject:@""];
  2607. [_timeArray replaceObjectAtIndex:13 withObject:@""];
  2608. // [_bageCountArray replaceObjectAtIndex:12 withObject:@"0"];
  2609. [_IsSHowOrHideArray replaceObjectAtIndex:13 withObject:statu];
  2610. }
  2611. else if ([obj.user.content isEqualToString:RED_SYSTEM])
  2612. {
  2613. [_subtitleArray replaceObjectAtIndex:14 withObject:@""];
  2614. [_timeArray replaceObjectAtIndex:14 withObject:@""];
  2615. // [_bageCountArray replaceObjectAtIndex:13 withObject:@"0"];
  2616. [_IsSHowOrHideArray replaceObjectAtIndex:14 withObject:statu];
  2617. }
  2618. else if ([obj.user.content isEqualToString:RED_COMMON])
  2619. {
  2620. [_subtitleArray replaceObjectAtIndex:15 withObject:@""];
  2621. [_timeArray replaceObjectAtIndex:15 withObject:@""];
  2622. // [_bageCountArray replaceObjectAtIndex:14 withObject:@"0"];
  2623. [_IsSHowOrHideArray replaceObjectAtIndex:15 withObject:statu];
  2624. }else if ([obj.user.content isEqualToString:RED_UUSPORTS])
  2625. {
  2626. if (_subtitleArray.count > 16 && _timeArray.count > 16 && _IsSHowOrHideArray.count > 16) {
  2627. [_subtitleArray replaceObjectAtIndex:16 withObject:@""];
  2628. [_timeArray replaceObjectAtIndex:16 withObject:@""];
  2629. [_IsSHowOrHideArray replaceObjectAtIndex:16 withObject:statu];
  2630. }
  2631. // [_bageCountArray replaceObjectAtIndex:14 withObject:@"0"];
  2632. }
  2633. else if ([obj.user.content isEqualToString:RED_BUSSNESSCOUNT])
  2634. {
  2635. if (_subtitleArray.count > 17 && _timeArray.count > 17 && _IsSHowOrHideArray.count > 17){
  2636. [_subtitleArray replaceObjectAtIndex:17 withObject:@""];
  2637. [_timeArray replaceObjectAtIndex:17 withObject:@""];
  2638. // [_bageCountArray replaceObjectAtIndex:14 withObject:@"0"];
  2639. [_IsSHowOrHideArray replaceObjectAtIndex:17 withObject:statu];
  2640. }
  2641. }
  2642. //缓存控制显示或者隐藏的数组
  2643. [[NSUserDefaults standardUserDefaults] setObject:_IsSHowOrHideArray forKey:@"UAS_SHOW_REDMASSAGE"];
  2644. }
  2645. #pragma mark -- 点击cell
  2646. -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  2647. {
  2648. if (indexPath.section == 0 ) {
  2649. //打开刷新
  2650. NeedRefrash=YES;
  2651. [tableView deselectRowAtIndexPath:indexPath animated:NO];
  2652. JXMsgAndUserObject *p;
  2653. //DLog(@"%@",p.user.userId);
  2654. if (_SeePanelArr.count >0) {
  2655. if (indexPath.row ==2) {
  2656. p = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:_ShowArray.count -1];
  2657. }else if (indexPath.row < 2)
  2658. {
  2659. p = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  2660. }else{
  2661. p = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row -1];
  2662. }
  2663. }else{
  2664. p = (JXMsgAndUserObject*) [_ShowArray objectAtIndex:indexPath.row];
  2665. }
  2666. if ([p.user.userId intValue]>=[UAS_SCHEDULE_ID intValue] && [p.user.userId intValue]<[UAS_END_ID intValue])
  2667. {
  2668. [self HadReadSysMsg:p];
  2669. _refreshCount += 1;
  2670. [_table reloadData];
  2671. [self caculateBages:0];
  2672. if ([p.user.userId isEqualToString:UAS_DAIBAN_ID])
  2673. {//我的审批
  2674. if (g_ERPUser) {
  2675. UASNewapprovalprocessVC *apVC = [[UASNewapprovalprocessVC alloc]init];
  2676. // ApprovalprocessVC *apVC = [[ApprovalprocessVC alloc]init];
  2677. apVC.style = approvall;
  2678. [apVC autorelease];
  2679. apVC.hidesBottomBarWhenPushed = YES;
  2680. [self.navigationController pushViewController:apVC animated:YES];
  2681. }
  2682. else if (g_B2BUser) {
  2683. B2BApprovalVC *b2bVC = [[B2BApprovalVC alloc]init];
  2684. [b2bVC autorelease];
  2685. [self.navigationController pushViewController:b2bVC animated:YES];
  2686. }
  2687. }
  2688. else if ([p.user.userId isEqualToString:UAS_WORKDO_ID])
  2689. {//工作待办
  2690. if (g_ERPUser) {
  2691. // ERPHandleTaskVC *taskVc = [[ERPHandleTaskVC alloc]init];
  2692. // [taskVc autorelease];
  2693. // [self.navigationController pushViewController:taskVc animated:YES];
  2694. UASNewapprovalprocessVC *apVC = [[UASNewapprovalprocessVC alloc]init];
  2695. // ApprovalprocessVC *apVC = [[ApprovalprocessVC alloc]init];
  2696. apVC.style = NOfineshTask;
  2697. [apVC autorelease];
  2698. apVC.hidesBottomBarWhenPushed = YES;
  2699. [self.navigationController pushViewController:apVC animated:YES];
  2700. }
  2701. else if (g_B2BUser) {
  2702. B2BMyHandleWorkVC * bvc = [[B2BMyHandleWorkVC alloc]init];
  2703. [bvc autorelease];
  2704. [self.navigationController pushViewController:bvc animated:YES];
  2705. }
  2706. }
  2707. else if ([p.user.userId isEqualToString:UAS_DINGYU_ID])
  2708. {//我的订阅
  2709. //点击取消红点
  2710. [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"Mydingyue"];
  2711. JONEWDYTableView * vc=[[JONEWDYTableView alloc]init];
  2712. [vc autorelease];
  2713. [self.navigationController pushViewController:vc animated:YES];
  2714. }else if ([p.user.userId isEqualToString:UAS_YUYUE_ID])
  2715. {//预约小秘书
  2716. AppointmentVC *vc = [[AppointmentVC alloc]init];
  2717. [vc autorelease];
  2718. [self.navigationController pushViewController:vc animated:YES];
  2719. }else if ([p.user.userId isEqualToString:UAS_SCHEDULE_ID])
  2720. {//日程管理
  2721. ScheduleManageVC *vc = [[ScheduleManageVC alloc]init];
  2722. [vc autorelease];
  2723. [self.navigationController pushViewController:vc animated:YES];
  2724. }else if ([p.user.userId isEqualToString:UAS_WORKWAR_ID])
  2725. {//工作提醒
  2726. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2727. vc.title = Localized(@"UU_message_workRemind");
  2728. vc.httpTepy=p.user.content;
  2729. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2730. NSDictionary *dic = _HongDianArr[i];
  2731. if ([dic[@"type"] isEqualToString:RED_WORKWAR]) {
  2732. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2733. break;
  2734. }
  2735. }
  2736. [vc autorelease];
  2737. [self.navigationController pushViewController:vc animated:YES];
  2738. }else if ([p.user.userId isEqualToString:UAS_NOTE_ID])
  2739. {//通知公告
  2740. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2741. vc.title = Localized(@"UU_message_notificationNotice");
  2742. vc.httpTepy = p.user.content;
  2743. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2744. NSDictionary *dic = _HongDianArr[i];
  2745. if ([dic[@"type"] isEqualToString:RED_NOTE]) {
  2746. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2747. break;
  2748. }
  2749. }
  2750. [vc autorelease];
  2751. [self.navigationController pushViewController:vc animated:YES];
  2752. }else if ([p.user.userId isEqualToString:UAS_CRM_ID])
  2753. {//crm提醒
  2754. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2755. vc.title = Localized(@"UU_message_CRMRemind");
  2756. vc.httpTepy=p.user.content;
  2757. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2758. NSDictionary *dic = _HongDianArr[i];
  2759. if ([dic[@"type"] isEqualToString:RED_CRM]) {
  2760. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2761. break;
  2762. }
  2763. }
  2764. [vc autorelease];
  2765. [self.navigationController pushViewController:vc animated:YES];
  2766. }else if ([p.user.userId isEqualToString:UAS_KPI_ID])
  2767. {//考勤提醒
  2768. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2769. vc.title = Localized(@"UU_message_attendanceRemind");
  2770. vc.httpTepy=p.user.content;
  2771. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2772. NSDictionary *dic = _HongDianArr[i];
  2773. if ([dic[@"type"] isEqualToString:RED_KPI]) {
  2774. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2775. break;
  2776. }
  2777. }
  2778. [vc autorelease];
  2779. [self.navigationController pushViewController:vc animated:YES];
  2780. }else if ([p.user.userId isEqualToString:UAS_MEET_ID])
  2781. {//会议提醒
  2782. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2783. vc.title = Localized(@"UU_message_meetingRemind");
  2784. vc.httpTepy=p.user.content;
  2785. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2786. NSDictionary *dic = _HongDianArr[i];
  2787. if ([dic[@"type"] isEqualToString:RED_MEET]) {
  2788. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2789. break;
  2790. }
  2791. }
  2792. [vc autorelease];
  2793. [self.navigationController pushViewController:vc animated:YES];
  2794. }else if ([p.user.userId isEqualToString:UAS_PRO_ID])
  2795. {//审批知会
  2796. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2797. vc.title = Localized(@"UU_message_approvalOrdinary");
  2798. vc.httpTepy=p.user.content;
  2799. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2800. NSDictionary *dic = _HongDianArr[i];
  2801. if ([dic[@"type"] isEqualToString:RED_PRO]) {
  2802. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2803. break;
  2804. }
  2805. }
  2806. [vc autorelease];
  2807. [self.navigationController pushViewController:vc animated:YES];
  2808. }else if ([p.user.userId isEqualToString:UAS_TASK_ID])
  2809. {//任务提醒
  2810. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2811. vc.title = Localized(@"UU_message_missionRemind");
  2812. vc.httpTepy=p.user.content;;
  2813. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2814. NSDictionary *dic = _HongDianArr[i];
  2815. if ([dic[@"type"] isEqualToString:RED_TASK]) {
  2816. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2817. break;
  2818. }
  2819. }
  2820. [vc autorelease];
  2821. [self.navigationController pushViewController:vc animated:YES];
  2822. }else if ([p.user.userId isEqualToString:UAS_JOB_ID])
  2823. {//稽核提醒
  2824. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2825. [vc autorelease];
  2826. vc.title = Localized(@"UU_message_checkRemind");
  2827. vc.httpTepy=p.user.content;
  2828. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2829. NSDictionary *dic = _HongDianArr[i];
  2830. if ([dic[@"type"] isEqualToString:RED_JOB]) {
  2831. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2832. break;
  2833. }
  2834. }
  2835. [vc autorelease];
  2836. [self.navigationController pushViewController:vc animated:YES];
  2837. }else if ([p.user.userId isEqualToString:UAS_B2B_ID])
  2838. {//b2b提醒
  2839. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2840. vc.title = Localized(@"UU_message_B2BRemind");
  2841. vc.httpTepy=p.user.content;
  2842. [vc autorelease];
  2843. [self.navigationController pushViewController:vc animated:YES];
  2844. }else if ([p.user.userId isEqualToString:UAS_SYSTEM_ID])
  2845. {//知会消息
  2846. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2847. vc.title = Localized(@"UU_message_notificationMessage");
  2848. vc.httpTepy=p.user.content;
  2849. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2850. NSDictionary *dic = _HongDianArr[i];
  2851. if ([dic[@"type"] isEqualToString:RED_SYSTEM]) {
  2852. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2853. break;
  2854. }
  2855. }
  2856. [vc autorelease];
  2857. [self.navigationController pushViewController:vc animated:YES];
  2858. }else if ([p.user.userId isEqualToString:UAS_COMMON_ID])
  2859. {//普通知会
  2860. JLHONGDIANDetailVC * vc=[[JLHONGDIANDetailVC alloc]init];
  2861. // if (g_B2BUser)
  2862. // {
  2863. // vc.title=@"B2B商务提醒";
  2864. // }else{
  2865. vc.title = Localized(@"UU_message_ordinaryNotification");
  2866. // }
  2867. vc.httpTepy=p.user.content;
  2868. for (NSInteger i = 0; i < _HongDianArr.count; i ++) {
  2869. NSDictionary *dic = _HongDianArr[i];
  2870. if ([dic[@"type"] isEqualToString:RED_COMMON]) {
  2871. vc.aaarr = [NSMutableArray arrayWithArray:dic[@"detail"]];
  2872. break;
  2873. }
  2874. }
  2875. [vc autorelease];
  2876. [self.navigationController pushViewController:vc animated:YES];
  2877. }else if ([p.user.userId isEqualToString: USA_UUSPROTS_ID])
  2878. {
  2879. //跳转步数排行
  2880. [self buttonAction];
  2881. }else if ([p.user.userId isEqualToString: UAS_MERCHANTSTATISTICS])
  2882. {
  2883. LYYBussnessMTVC *vc = [[LYYBussnessMTVC alloc] init];
  2884. [self.navigationController pushViewController:vc animated:YES];
  2885. // [self buttonAction];
  2886. }
  2887. else if ( [p.user.userId isEqualToString:UAS_DINNER_ID] || [p.user.userNickname isEqualToString:@"餐饮"])
  2888. {
  2889. StoreListVC *vc = [[StoreListVC alloc]init];
  2890. vc.typeStr = @"10003";
  2891. [self.navigationController pushViewController:vc animated:YES];
  2892. }else if ( [p.user.userId isEqualToString:UAS_HAIR_ID] || [p.user.userNickname isEqualToString:@"美容美发"])
  2893. {
  2894. StoreListVC *vc = [[StoreListVC alloc]init];
  2895. vc.typeStr = @"10004";
  2896. [self.navigationController pushViewController:vc animated:YES];
  2897. }else if ( [p.user.userId isEqualToString:UAS_KTV_ID] || [p.user.userNickname isEqualToString:@"KTV"])
  2898. {
  2899. StoreListVC *vc = [[StoreListVC alloc]init];
  2900. vc.typeStr = @"10006";
  2901. [self.navigationController pushViewController:vc animated:YES];
  2902. }else if ( [p.user.userId isEqualToString:UAS_SPORT_ID] || [p.user.userNickname isEqualToString:@"运动健身"])
  2903. {
  2904. StoreListVC *vc = [[StoreListVC alloc]init];
  2905. vc.typeStr = @"10002";
  2906. [self.navigationController pushViewController:vc animated:YES];
  2907. }else if ( [p.user.userId isEqualToString:UAS_CLUB_ID] || [p.user.userNickname isEqualToString:@"会所"])
  2908. {
  2909. StoreListVC *vc = [[StoreListVC alloc]init];
  2910. vc.typeStr = @"10005";
  2911. [self.navigationController pushViewController:vc animated:YES];
  2912. }else if ( [p.user.userId isEqualToString:UAS_HOSPITAL_ID] || [p.user.userNickname isEqualToString:@"医院挂号"])
  2913. {
  2914. StoreListVC *vc = [[StoreListVC alloc]init];
  2915. vc.typeStr = @"10001";
  2916. [self.navigationController pushViewController:vc animated:YES];
  2917. }else if ( [p.user.userId isEqualToString:UAS_SEEPLANEL_ID] || [p.user.userNickname isEqualToString:@"实时看板"])
  2918. {
  2919. LYYSeePlanVC *vc = [[LYYSeePlanVC alloc] init];
  2920. [self.navigationController pushViewController:vc animated:YES];
  2921. }
  2922. }
  2923. else
  2924. {
  2925. DLog(@"进来啦吗");
  2926. #pragma mark -- 如果是聊天窗被点击
  2927. JXCell* cell = (JXCell*)[tableView cellForRowAtIndexPath:indexPath];
  2928. //DLog(@"g_remind.msgTotal=%d ,cell.bage=%@", g_remind.msgTotal,cell);
  2929. g_remind.msgTotal -= [cell.bage intValue];
  2930. cell.bage = @"0";
  2931. p.user.newMsgs = [NSNumber numberWithInt:0];
  2932. [p.user update];
  2933. if([p.user.userId isEqualToString:FRIEND_CENTER_USERID])
  2934. {
  2935. JXNewFriendViewController* vc = [[JXNewFriendViewController alloc]init];
  2936. [((AppDelegate*)[[UIApplication sharedApplication] delegate]).window addSubview:vc.view];
  2937. return;
  2938. }else if ([p.user.userId isEqualToString:UAS_UUHELPER_ID])
  2939. {
  2940. LYYUUHleperVC *vc = [[LYYUUHleperVC alloc] init];
  2941. vc.title = @"UU助手";
  2942. [vc autorelease];
  2943. [self.navigationController pushViewController:vc animated:YES];
  2944. return;
  2945. }
  2946. #pragma mark -- 只在消息界面的title
  2947. JXChatViewController *sendView=[JXChatViewController alloc];
  2948. JOEmployeeModel * model = [[JOEmployeeModel alloc]init];
  2949. model.EM_NAME = p.user.userNickname;
  2950. model.EM_IMID = (NSInteger)p.user.userId;
  2951. model.EM_MOBILE = p.user.telephone;
  2952. sendView.model = model;
  2953. NSString * idname = nil;
  2954. if (p.user.userId != nil)
  2955. {
  2956. idname=[[NSUserDefaults standardUserDefaults] objectForKey:p.user.userId];
  2957. }
  2958. if (idname==nil)
  2959. {
  2960. sendView.title = p.user.userNickname;
  2961. }
  2962. else
  2963. {
  2964. sendView.title=idname;
  2965. }
  2966. idname=nil;
  2967. if([p.user.roomFlag intValue] > 0)
  2968. {
  2969. if(![JXXMPP sharedInstance].isLogined){
  2970. //[g_server showLogin];
  2971. return;
  2972. }
  2973. //sendView.isGoToRoomDetail = @"NO";
  2974. sendView.roomName = p.user.userId;
  2975. sendView.roomId = p.user.roomId;
  2976. sendView.chatRoom = [[JXXMPP sharedInstance].roomPool joinRoom:p.user.userId title:p.user.userNickname];
  2977. }
  2978. else
  2979. {
  2980. }
  2981. [sendView setChatPerson:p.user];
  2982. [sendView init];
  2983. [self.navigationController pushViewController:sendView animated:YES];
  2984. }
  2985. [self HadReadSysMsg:p];
  2986. [self caculateBages:0];
  2987. [_table reloadData];
  2988. }
  2989. }
  2990. #pragma mark -- 删除好友后刷新UI
  2991. -(void)delFriend:(NSNotification *)notifacation
  2992. {
  2993. NSString* userId = (NSString *)notifacation.object;
  2994. if(userId==nil)
  2995. return;
  2996. for(int i=[_originalArray count]-1;i>=0;i--){
  2997. JXMsgAndUserObject *p=[_originalArray objectAtIndex:i];
  2998. if([p.user.userId isEqualToString:userId]){
  2999. [_originalArray removeObjectAtIndex:i];
  3000. break;
  3001. }
  3002. p =nil;
  3003. }
  3004. _refreshCount++;
  3005. [_table reloadData];
  3006. }
  3007. #pragma mark -- 即时通讯网络请求数据
  3008. -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
  3009. //通知朋友圈红点
  3010. if ([aDownload.action isEqualToString:act_MsgList])
  3011. {
  3012. if ([array1 count] == 0)
  3013. {
  3014. }else
  3015. {
  3016. NSString *test1 = [[array1 objectAtIndex:0][@"time"] stringValue];
  3017. NSString *test2 = [[[NSUserDefaults standardUserDefaults] objectForKey:@"friendCircleFirstMsgTime"] stringValue];
  3018. NSString *test3 = [[array1 objectAtIndex:0][@"userId"] stringValue];
  3019. NSString *test4 = [[[NSUserDefaults standardUserDefaults] objectForKey:@"friendCircleFirstMsgUserId"] stringValue];
  3020. if ((![test1 isEqualToString:test2]) && (![test3 isEqualToString:test4]))
  3021. {
  3022. [[NSNotificationCenter defaultCenter] postNotificationName:@"friendCircleHaveMsg" object:nil];
  3023. }else
  3024. {
  3025. [[NSNotificationCenter defaultCenter] postNotificationName:@"hideFriendCircleRedPoint" object:nil];
  3026. }
  3027. }
  3028. }
  3029. if( [aDownload.action isEqualToString:act_UserNewLogout] ){//新退出的接口
  3030. [self performSelector:@selector(doSwitch) withObject:nil afterDelay:0.5];
  3031. [self closeautodaka];
  3032. }else{
  3033. [_wait stop];
  3034. }
  3035. }
  3036. //请求结果错误
  3037. -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
  3038. //[_wait hide];
  3039. return show_error;
  3040. }
  3041. //请求错误
  3042. -(int) didServerConnectError:(JXConnection*)aDownload error:(NSError *)error{//error为空时,代表超时
  3043. //[_wait hide];
  3044. return show_error;
  3045. }
  3046. //请求开始
  3047. -(void) didServerConnectStart:(JXConnection*)aDownload{
  3048. //[_wait start];
  3049. }
  3050. -(void)closeautodaka //关闭自动内勤
  3051. {
  3052. [[NSNotificationCenter defaultCenter] postNotificationName:@"guanbizidongneiqing" object:nil];
  3053. [[NSNotificationCenter defaultCenter] postNotificationName:@"guanbizidongwaiqing" object:nil];
  3054. }
  3055. #pragma mark -- 群聊,单聊界面变化
  3056. - (void)onDrag:(UIView*)sender
  3057. {
  3058. sender.hidden = YES;
  3059. }
  3060. - (void)onReceiveRoomRemind:(NSNotification *)notifacation//修改房名
  3061. {
  3062. JXRoomRemind* p = (JXRoomRemind *)notifacation.object;
  3063. JXUserObject* user = [[JXUserObject sharedInstance] getUserById:p.objectId];
  3064. if([p.type intValue] == kRoomRemind_RoomName){
  3065. if(!user)
  3066. return;
  3067. user.userNickname = p.content;
  3068. [user update];
  3069. for(int i=0;i<[_originalArray count];i++){
  3070. JXMsgAndUserObject* room=[_originalArray objectAtIndex:i];
  3071. if([room.user.userId isEqualToString:p.objectId]){
  3072. room.user.userNickname = p.content;
  3073. _refreshCount++;
  3074. [_table reloadData];
  3075. break;
  3076. }
  3077. room = nil;
  3078. }
  3079. }
  3080. if([p.type intValue] == kRoomRemind_DelMember){
  3081. if(!user)
  3082. return;
  3083. if([p.toUserId isEqualToString:MY_USER_ID]){
  3084. [JXUserObject deleteUserAndMsg:user.userId];
  3085. [[JXXMPP sharedInstance].roomPool delRoom:user.userId];
  3086. }else
  3087. [[JXMessageObject sharedInstance] deleteWithFromUser:p.toUserId roomId:user.userId];
  3088. for(int i=0;i<[_originalArray count];i++){
  3089. JXMsgAndUserObject* room=[_originalArray objectAtIndex:i];
  3090. if([room.user.userId isEqualToString:p.objectId] && [p.toUserId isEqualToString:MY_USER_ID]){
  3091. [_originalArray removeObjectAtIndex:i];
  3092. _refreshCount++;
  3093. [_table reloadData];
  3094. break;
  3095. }
  3096. room = nil;
  3097. }
  3098. }
  3099. if([p.type intValue] == kRoomRemind_AddMember){
  3100. if([p.toUserId isEqualToString:MY_USER_ID]){
  3101. if(![[JXXMPP sharedInstance].roomPool getRoom:p.objectId]){
  3102. JXUserObject* user = [[JXUserObject alloc]init];
  3103. user.userNickname = p.content;
  3104. user.userId = p.objectId;
  3105. user.userDescription = p.content;
  3106. user.roomId = p.roomId;
  3107. [user insertRoom];
  3108. [[JXXMPP sharedInstance].roomPool createRoom:user.userId title:user.userNickname];
  3109. _refreshCount++;
  3110. [_table reloadData];
  3111. [user release];
  3112. }
  3113. }
  3114. }
  3115. if([p.type intValue] == kRoomRemind_DelRoom){
  3116. if(!user)
  3117. return;
  3118. [JXUserObject deleteUserAndMsg:user.userId];
  3119. [[JXXMPP sharedInstance].roomPool delRoom:user.userId];
  3120. for(int i=0;i<[_originalArray count];i++){
  3121. JXMsgAndUserObject* room=[_originalArray objectAtIndex:i];
  3122. if([room.user.userId isEqualToString:p.objectId] && [p.toUserId isEqualToString:MY_USER_ID]){
  3123. [_originalArray removeObjectAtIndex:i];
  3124. _refreshCount++;
  3125. [_table reloadData];
  3126. break;
  3127. }
  3128. room = nil;
  3129. }
  3130. }
  3131. p = nil;
  3132. }
  3133. - (void)onQuitRoom:(NSNotification *)notifacation//超时未收到回执
  3134. {
  3135. JXRoomObject* p = (JXRoomObject *)notifacation.object;
  3136. for(int i=0;i<[_originalArray count];i++){
  3137. JXMsgAndUserObject* room=[_originalArray objectAtIndex:i];
  3138. if([room.user.userId isEqualToString:p.roomJid]){
  3139. [_originalArray removeObjectAtIndex:i];
  3140. _refreshCount++;
  3141. [_table reloadData];
  3142. break;
  3143. }
  3144. room = nil;
  3145. }
  3146. p = nil;
  3147. }
  3148. -(void)initAleartView{
  3149. NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
  3150. NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];
  3151. NSString * visionNum =[[NSUserDefaults standardUserDefaults] objectForKey:@"FrontAppCurVersionNum1"];
  3152. if(![visionNum isEqualToString:appCurVersionNum]){
  3153. [[NSUserDefaults standardUserDefaults] setObject:appCurVersionNum forKey:@"FrontAppCurVersionNum1"];
  3154. UIAlertView * av = [[UIAlertView alloc]initWithTitle:Localized(@"UU_message_GetScore") message:Localized(@"UU_message_Think") delegate:self cancelButtonTitle:Localized(@"UU_message_Later") otherButtonTitles:Localized(@"UU_message_scoreNow")
  3155. ,Localized(@"UU_message_Feedback"), nil];
  3156. av.tag = 300001;
  3157. [av show];
  3158. }
  3159. }
  3160. - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
  3161. if(alertView.tag==300001){
  3162. if(buttonIndex == 1){
  3163. NSString *appID = @"1093004522";
  3164. NSString *url = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", appID];
  3165. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
  3166. }
  3167. else if(buttonIndex == 2){
  3168. UserFeedbackVC * fvc = [[UserFeedbackVC alloc]init];;
  3169. [self.navigationController pushViewController:fvc animated:YES];
  3170. }
  3171. }
  3172. //登录超时
  3173. if(alertView.tag==300000){
  3174. [self doLogout];
  3175. }
  3176. //在其他设备登录
  3177. if(alertView.tag==300002){
  3178. [self doLogout];
  3179. }
  3180. }
  3181. -(void)doLogout{
  3182. NSString *str1 = [NSString stringWithFormat:@"%f",[[NSDate date] timeIntervalSince1970] ];
  3183. NSRange range = [str1 rangeOfString:@"."];//匹配得到的下标
  3184. str1 = [str1 substringToIndex:range.location];
  3185. [g_server newlogout:[[NSUserDefaults standardUserDefaults] objectForKey:kMY_USER_ID] offlineTime:str1 toView:self];
  3186. NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
  3187. [userDefaults setBool:NO forKey:@"loginState"];
  3188. [userDefaults setBool:NO forKey:isAutoLoginOrNot];
  3189. [userDefaults setBool:NO forKey:@"erpOpen"];
  3190. [userDefaults setBool:NO forKey:@"b2bOpen"];
  3191. }
  3192. -(void)doSwitch{
  3193. [UIView animateWithDuration:0.2 animations:^{
  3194. [[JXXMPP sharedInstance] logout];
  3195. loginVC* login = [[loginVC alloc]init];
  3196. [[NSUserDefaults standardUserDefaults] setBool:NO forKey:isAutoLoginOrNot];
  3197. [[NSUserDefaults standardUserDefaults] setBool:YES forKey:isSwitchUserOrNot];
  3198. [UIApplication sharedApplication].keyWindow.rootViewController = login;
  3199. }];
  3200. }
  3201. -(NSString *)montageCacheStrWithStr:(NSString *)str{
  3202. NSString *strTemp = [NSString stringWithFormat:@"%@%@",g_companyName,g_companyMaster];
  3203. NSString *strOne = [NSString stringWithFormat:@"%@%@",strTemp,str];
  3204. return strOne;
  3205. }
  3206. #pragma mark -- 视图生命周期
  3207. -(void)viewDidLoad
  3208. {
  3209. [super viewDidLoad];
  3210. if (iOS11) {
  3211. [self setUpUI];
  3212. }else{
  3213. }
  3214. if (_indexPath1 == 2) {
  3215. self.headerView.hidden = NO;
  3216. self.rigBtn.userInteractionEnabled = NO;
  3217. [UIView animateWithDuration:1 animations:^{
  3218. [self.tableView setContentOffset:CGPointMake(0, -121)];
  3219. } completion:^(BOOL finished) {
  3220. self.tableView.contentInset = UIEdgeInsetsMake(121, 0, 0, 0);
  3221. self.rigBtn.userInteractionEnabled = YES;
  3222. }];
  3223. }
  3224. }
  3225. -(void)viewWillAppear:(BOOL)animated
  3226. {
  3227. [super viewWillAppear:animated];
  3228. _titleLabel.text = Localized(@"UU_TabBarLabel0");
  3229. [self setNeedsNavigationBackground:0.0];
  3230. [self setrightView];
  3231. self.navigationController.navigationBar.titleTextAttributes=@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName :YBLBFont(18)};
  3232. [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
  3233. [self JOBORrefrashTable];
  3234. [self msgCount:nil];
  3235. [[NSNotificationCenter defaultCenter] postNotificationName:@"showTabBar"object:nil];
  3236. }
  3237. -(void)viewDidDisappear:(BOOL)animated{
  3238. [super viewDidDisappear:animated];
  3239. if (statusX) {
  3240. [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UU_newbg3"] forBarMetrics:UIBarMetricsDefault];
  3241. }else{
  3242. [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UU_newbg2"] forBarMetrics:UIBarMetricsDefault];
  3243. }
  3244. // [[LYYDAKAManager ShareTXLDAT] stopDingwei];
  3245. }
  3246. -(void)viewDidLayoutSubviews{
  3247. [super viewDidLayoutSubviews];
  3248. }
  3249. #pragma mark -- dealloc方法
  3250. -(void)dealloc
  3251. {
  3252. [self removeAllNotification];
  3253. [super dealloc];
  3254. }
  3255. #pragma mark - 数据库相关操作
  3256. - (NSArray *)searchMotonerlog
  3257. {
  3258. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3259. NSArray *zbk = [[TIFmdbManager shareManager] findDataOnCurrentThreadWithDb:JOMSGFMDB excuteBlock:^NSArray *(FMDatabase *db) {
  3260. NSMutableArray * listarr=[[NSMutableArray alloc]init];
  3261. NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@",@"UU_monitor_log_detail"];
  3262. FMResultSet *rs = [db executeQuery:sql];
  3263. while ([rs next])
  3264. {
  3265. /*
  3266. @"MD_LATITUDE",
  3267. @"MD_LONGITUDE",
  3268. @"MPD_ACTDATE",
  3269. @"MPD_ADDRESS",
  3270. @"MPD_ARRIVEDATE",
  3271. @"MPD_COMPANY",
  3272. @"MPD_DISTANCE",
  3273. @"MPD_ID",
  3274. @"MPD_KIND",
  3275. @"MPD_LOCATION",
  3276. @"MPD_MPID",
  3277. @"MPD_OUTDATE",
  3278. @"MPD_RECORDDATE",
  3279. @"MPD_REMARK",
  3280. @"MPD_STATUS",
  3281. @"MP_ID",
  3282. @"JO_STATUS",
  3283. @"JO_ZHANGTAO",
  3284. @"JO_UUID"
  3285. */
  3286. LYYMonitorLogModel *model1 = [[LYYMonitorLogModel alloc] init];
  3287. model1.aa_date = [rs stringForColumn:@"aa_date"];
  3288. model1.aa_type = [rs stringForColumn:@"aa_type"];
  3289. model1.aa_remark = [rs stringForColumn:@"aa_remark"];
  3290. model1.aa_location = [rs stringForColumn:@"aa_location"];
  3291. model1.aa_telephone = [rs stringForColumn:@"aa_telephone"];
  3292. [listarr addObject:model1];
  3293. }
  3294. return listarr;
  3295. }];
  3296. return zbk;
  3297. }
  3298. - (void)createMontorLog
  3299. {
  3300. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3301. [self createUUMonitorLogDetailsurface];
  3302. }
  3303. - (void)createUUMonitorLogDetailsurface
  3304. {
  3305. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3306. NSString *createTableSqlStr=[NSString stringWithFormat:
  3307. @"CREATE TABLE IF NOT EXISTS %@ (id INTEGER PRIMARY KEY AUTOINCREMENT,%@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT)",@"UU_monitor_log_detail",
  3308. @"aa_type",
  3309. @"aa_location",
  3310. @"aa_remark",
  3311. @"aa_date",
  3312. @"aa_telephone"
  3313. ];
  3314. [db executeUpdate:createTableSqlStr];
  3315. }];
  3316. }
  3317. - (void)insertUUMonitorLogDetaiSurface:(NSDictionary *) dic
  3318. {
  3319. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3320. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3321. NSString *sql = [NSString stringWithFormat:@"INSERT INTO %@ (%@, %@,%@, %@, %@) VALUES ( ?, ?, ? ,?, ?)",@"UU_monitor_log_detail",
  3322. @"aa_type",
  3323. @"aa_location",
  3324. @"aa_remark",
  3325. @"aa_date",
  3326. @"aa_telephone"
  3327. ];
  3328. if (![db executeUpdate:sql,
  3329. [dic objectForKey:@"aa_type"],
  3330. [dic objectForKey:@"aa_location"],
  3331. [dic objectForKey:@"aa_remark"],
  3332. [dic objectForKey:@"aa_date"],
  3333. [dic objectForKey:@"aa_telephone"]
  3334. ])
  3335. {
  3336. }
  3337. }];
  3338. }
  3339. -(void)selectTablewithtableName:(NSString *)tableName completed:(void(^)(NSArray *arr))completed{
  3340. [[TIFmdbManager shareManager]createOrOpenDatabasaWithDbName:TONGXUNLUDATA completed:^(BOOL result) {
  3341. if (result) {
  3342. NSMutableArray *dataArr = [NSMutableArray new];
  3343. [[TIFmdbManager shareManager] executeWithDb:TONGXUNLUDATA excuteBlock:^(FMDatabaseQueue *dbQueue) {
  3344. [dbQueue inDatabase:^(FMDatabase *db) {
  3345. NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@",tableName];
  3346. FMResultSet *rs = [db executeQuery:sql];
  3347. while ([rs next])
  3348. {
  3349. JOEmployeeModel *model1 = [[JOEmployeeModel alloc] init];
  3350. model1.EM_ID = [rs intForColumn:_em_id];
  3351. model1.EM_IMID = [rs intForColumn:_em_imid];
  3352. model1.FLAG=[rs stringForColumn:_em_flag];
  3353. model1.EM_DEFAULTORID=[rs intForColumn:_em_defaultorid];
  3354. model1.EM_CODE = [rs stringForColumn:_em_code];
  3355. model1.EM_NAME = [rs stringForColumn:_em_name];
  3356. model1.EM_POSITION = [rs stringForColumn:_em_position];
  3357. model1.EM_JOBS = [rs stringForColumn:_em_jobs];
  3358. model1.EM_LASTDATE = [rs stringForColumn:_em_lastdate];
  3359. model1.EM_DEFAULTORNAME = [rs stringForColumn:_em_defaultorname];
  3360. model1.EM_DEPART = [rs stringForColumn:_em_depart];
  3361. model1.EM_TEL = [rs stringForColumn:_em_tel];
  3362. model1.EM_MOBILE = [rs stringForColumn:_em_mobile];
  3363. model1.EM_EMAIL = [rs stringForColumn:_em_email];
  3364. model1.EM_UU = [rs stringForColumn:_em_uu];
  3365. model1.EM_IMAGEID = [rs stringForColumn:_em_iamgeid];
  3366. model1.COMPANY = [rs stringForColumn:_company];
  3367. model1.WHICHSYS = [rs stringForColumn:_whichsys];
  3368. [dataArr addObject:model1];
  3369. }
  3370. }];
  3371. } completed:^{
  3372. if (completed) {
  3373. completed(dataArr);
  3374. }
  3375. }];
  3376. }
  3377. }];
  3378. }
  3379. -(void)saveDataInSandbox{
  3380. // if(g_B2BUser){
  3381. //
  3382. // [userDefaults setObject:_subtitleArray forKey:self.b2bSubTitleStr];
  3383. // [userDefaults setObject:_timeArray forKey:self.b2bTimerArrStr];
  3384. //
  3385. // }else if(g_ERPUser){
  3386. //
  3387. // [userDefaults setObject:_subtitleArray forKey:self.erpSubTitleStr];
  3388. // [userDefaults setObject:_timeArray forKey:self.b2bTimerArrStr];
  3389. // }
  3390. }
  3391. //显示系统消息
  3392. - (void)showSysMsgWithIndex:(int)index andString1:(NSString *)text andString2:(NSString *)bage andTimes:(NSString *)times
  3393. {
  3394. //DLog(@"%d %@ %@ %@",index,text,bage,times);
  3395. if ([text isEqualToString:@"(null)"]) {
  3396. text = @"";
  3397. }
  3398. if ([bage isEqualToString:@"(null)"]) {
  3399. text = @"";
  3400. }
  3401. for (int i=0; i<_bageCountArray.count; i++)
  3402. {
  3403. }
  3404. [_subtitleArray replaceObjectAtIndex:index withObject:[NSString deleOtherString:FORMAT(@"%@",[NSString flattenHTML:text]])];
  3405. // DLog(@"%@",times);
  3406. [_timeArray replaceObjectAtIndex:index withObject:FORMAT(@"%@",[NSString calculaterTimes:times])];
  3407. NSString *newBageStr = [self caculateBagesWithOldBage:index andNewBage:bage];
  3408. [_bageCountArray replaceObjectAtIndex:index withObject:newBageStr];
  3409. }
  3410. #pragma mark -----------------步数 排行榜
  3411. - (void)buttonAction
  3412. {
  3413. //LYHealthKitManage *manage = [LYHealthKitManage shareInstance];
  3414. // __weak typeof(self) weakSelf = self;
  3415. // __weak typeof(self) weakSelf = self;
  3416. // if (![CMPedometer isStepCountingAvailable ]) {
  3417. //
  3418. //
  3419. // }
  3420. // //开始计步
  3421. // self.step = [[CMPedometer alloc] init];
  3422. // [self.step startPedometerUpdatesFromDate:[NSDate date] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {
  3423. // if (error){
  3424. //
  3425. //
  3426. //
  3427. // }else{
  3428. //
  3429. //
  3430. // }
  3431. //
  3432. //
  3433. //
  3434. //
  3435. //
  3436. // }];
  3437. //
  3438. //
  3439. //
  3440. // LYHealthKitManage *manage = [LYHealthKitManage shareInstance];
  3441. // [manage authorizeHealthKit:^(BOOL success, NSError *error) {
  3442. //
  3443. // if (success) {
  3444. // DLog(@"success");
  3445. // [manage getStepCount:^(double value, NSError *error) {
  3446. //
  3447. // dispatch_async(dispatch_get_main_queue(), ^{
  3448. //
  3449. // NSString *str1 = [NSString stringWithFormat:@"%.0f", value];
  3450. // [weakSelf updateSet:str1];
  3451. //
  3452. // });
  3453. //
  3454. // }];
  3455. // }
  3456. // else {
  3457. // DLog(@"fail");
  3458. // }
  3459. // }];
  3460. //
  3461. // __weak typeof(self) weakSelf = self;
  3462. // if (![CMPedometer isStepCountingAvailable ]) {
  3463. //
  3464. // }
  3465. // //开始计步
  3466. // self.step = [[CMPedometer alloc] init];
  3467. // [self.step startPedometerUpdatesFromDate:[NSDate date] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {
  3468. // if (error){
  3469. //
  3470. //
  3471. //
  3472. // }else{
  3473. //
  3474. //
  3475. // }
  3476. //
  3477. //
  3478. //
  3479. //
  3480. //
  3481. // }];
  3482. //
  3483. //
  3484. //
  3485. // LYHealthKitManage *manage = [LYHealthKitManage shareInstance];
  3486. // [manage authorizeHealthKit:^(BOOL success, NSError *error) {
  3487. //
  3488. // if (success) {
  3489. // DLog(@"success");
  3490. // [manage getStepCount:^(double value, NSError *error) {
  3491. //
  3492. // dispatch_async(dispatch_get_main_queue(), ^{
  3493. //
  3494. // NSString *str1 = [NSString stringWithFormat:@"%.0f", value];
  3495. // [weakSelf updateSet:str1];
  3496. //
  3497. // });
  3498. //
  3499. // }];
  3500. // }
  3501. // else {
  3502. // DLog(@"fail");
  3503. // }
  3504. // }];
  3505. TestViewControllerTwo *vc = [[TestViewControllerTwo alloc]init];
  3506. vc.title = @"UU运动";
  3507. [self.navigationController pushViewController:vc animated:YES];
  3508. }
  3509. #pragma mark -------------------------- 上传最新步数
  3510. - (void)updateSet:(NSString *)str1
  3511. {
  3512. // DLog(@"%@",g_personChineseName);
  3513. // //NSString *strB = [g_personChineseName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  3514. // NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:g_server.myself.userId,@"as_userid",
  3515. // g_personChineseName,@"as_username",
  3516. // str1,@"as_uusteps",
  3517. // [NSString getYYYYMMDDLongCurenTime],@"as_date",nil];
  3518. // NSString *str = [NSString dictionaryToJson:dic];
  3519. // // NSString *str = [str111 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  3520. // //NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:str,@"map",
  3521. // // g_token,@"token",nil];
  3522. // [LYHTTPRequest Post:UU_Sports_upload page:str Completion:^(id ObjectData, NSError *error) {
  3523. // if (error == nil) {
  3524. // LYYUUSprotsRankingVC *vc = [[LYYUUSprotsRankingVC alloc] init];
  3525. // [vc autorelease];
  3526. // [self.navigationController pushViewController:vc animated:YES];
  3527. // }else{
  3528. //
  3529. // NSData *returnData = [[error userInfo] objectForKey:@"com.alamofire.serialization.response.error.data"];
  3530. // if (returnData) {
  3531. // NSDictionary *content = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil];//转换数据格式
  3532. //
  3533. // NSString *errorStr = [NSString stringWithFormat:@"%@",[content objectForKey:@"exceptionInfo"]];
  3534. //
  3535. // DLog(@"错误的原因:%@",errorStr);
  3536. // [JOShowMessageFromNavi showDropViewWithMessage:errorStr ToNavi:self.navigationController withColor:nil];
  3537. // }
  3538. // else{
  3539. // [JOShowMessageFromNavi showDropViewWithMessage:@"请检查网络情况" ToNavi:self.navigationController withColor:nil];
  3540. // }
  3541. //
  3542. //
  3543. // }
  3544. // }];
  3545. }
  3546. #pragma mark -- 创建数据库
  3547. - (void)CreateFMDB
  3548. {
  3549. /**创建数据库对象*/
  3550. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3551. [self JOCreateMsgTableWithTableName:tableNames11];
  3552. }
  3553. /**
  3554. 创建消息表
  3555. */
  3556. - (void)JOCreateMsgTableWithTableName:(NSString *)tableName
  3557. {
  3558. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3559. NSString *createTableSqlStr=[NSString stringWithFormat:
  3560. @"CREATE TABLE IF NOT EXISTS %@ (id INTEGER PRIMARY KEY AUTOINCREMENT,%@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT,%@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT)",tableName,
  3561. @"createTime",
  3562. @"JOid",
  3563. @"title",
  3564. @"subTitle",
  3565. @"releaser",
  3566. @"JO_TYPE",
  3567. @"JO_STATUS",
  3568. @"JO_ZHANGTAO",
  3569. @"JO_UUID",
  3570. @"caller",
  3571. @"keyValue"
  3572. ];
  3573. [db executeUpdate:createTableSqlStr];
  3574. }];
  3575. //创建表sql
  3576. //创建表
  3577. }
  3578. /**
  3579. 插入数据
  3580. */
  3581. - (void)JOInsetTableWithMsgDataArray:(NSArray *)arrDict withTableName:(NSString *)tableName
  3582. {
  3583. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3584. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3585. for (int i=0; i<[arrDict count]; i++)
  3586. {
  3587. NSDictionary *modelDic =[arrDict objectAtIndex:i];
  3588. NSString *sql = [NSString stringWithFormat:@"INSERT INTO %@ (%@, %@, %@,%@, %@, %@, %@, %@, %@, %@, %@) VALUES (?, ?, ?,?,?,?,?,?,?,?,?)",tableName,
  3589. @"createTime",
  3590. @"JOid",
  3591. @"title",
  3592. @"subTitle",
  3593. @"releaser",
  3594. @"JO_TYPE",
  3595. @"JO_STATUS",
  3596. @"JO_ZHANGTAO",
  3597. @"JO_UUID",
  3598. @"caller",
  3599. @"keyValue"
  3600. ];
  3601. if (![db executeUpdate:sql,
  3602. [modelDic objectForKey:@"createTime"],
  3603. [modelDic objectForKey:@"id"],
  3604. [modelDic objectForKey:@"title"],
  3605. [modelDic objectForKey:@"subTitle"],
  3606. [modelDic objectForKey:@"releaser"],
  3607. [modelDic objectForKey:@"JO_TYPE"],
  3608. [modelDic objectForKey:@"JO_STATUS"],
  3609. [modelDic objectForKey:@"JO_ZHANGTAO"],
  3610. [modelDic objectForKey:@"JO_UUID"],
  3611. [modelDic objectForKey:@"caller"],
  3612. [modelDic objectForKey:@"keyValue"]
  3613. ])
  3614. {
  3615. }else{
  3616. }
  3617. }
  3618. }];
  3619. }
  3620. - (void)JOInsetTableWithMsgDataArray11:(NSMutableArray <JLMsgModel *>*)arrDict withTableName:(NSString *)tableName
  3621. {
  3622. //插入表
  3623. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3624. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3625. for (int i=0; i<[arrDict count]; i++)
  3626. {
  3627. JLMsgModel *model =[arrDict objectAtIndex:i];
  3628. NSString *sql = [NSString stringWithFormat:@"INSERT INTO %@ (%@, %@, %@,%@, %@, %@, %@, %@, %@, %@, %@) VALUES (?, ?, ?,?,?,?,?,?,?,?,?)",tableName,
  3629. @"createTime",
  3630. @"JOid",
  3631. @"title",
  3632. @"subTitle",
  3633. @"releaser",
  3634. @"JO_TYPE",
  3635. @"JO_STATUS",
  3636. @"JO_ZHANGTAO",
  3637. @"JO_UUID",
  3638. @"caller",
  3639. @"keyValue"
  3640. ];
  3641. if (![db executeUpdate:sql,
  3642. model.createTime,
  3643. model.JOid,
  3644. model.title,
  3645. model.subTitle,
  3646. model.releaser,
  3647. model.JO_TYPE,
  3648. model.JO_STATUS,
  3649. model.JO_ZHANGTAO,
  3650. model.JO_UUID,
  3651. model.caller,
  3652. model.keyValue
  3653. ])
  3654. {
  3655. }
  3656. }
  3657. }];
  3658. }
  3659. /**
  3660. 更新数据
  3661. */
  3662. - (void)up_FMDB_DataWithTableName:(NSString *)sql
  3663. {
  3664. //初始化数据库操作对象
  3665. [[TIFmdbManager shareManager] createOrOpenDatabasaOnCurrentThreadWithDbName:JOMSGFMDB];
  3666. [self JOCreateMsgTableWithTableName:tableNames11];
  3667. [[TIFmdbManager shareManager] executeOnCurrentThreadWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  3668. [db executeUpdate:sql];
  3669. }];
  3670. }
  3671. /**
  3672. 查询消息数据
  3673. */
  3674. - (NSArray *)JOSelectTableForMsgTable:(NSString *)zhangtao AndUUID:(NSString *)uuid with:(NSString *)httpTepy
  3675. {
  3676. NSArray *zbk = [[TIFmdbManager shareManager] findDataOnCurrentThreadWithDb:JOMSGFMDB excuteBlock:^NSArray *(FMDatabase *db) {
  3677. NSMutableArray * listarr=[[NSMutableArray alloc]init];
  3678. NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE JO_ZHANGTAO='%@' and JO_UUID='%@' and JO_TYPE='%@'",tableNames,zhangtao,uuid,httpTepy];
  3679. FMResultSet *rs = [db executeQuery:sql];
  3680. while ([rs next])
  3681. {
  3682. JLMsgModel * model=[[JLMsgModel alloc]init];
  3683. model.createTime=[rs stringForColumn:@"createTime"];
  3684. model.JOid=[rs stringForColumn:@"JOid"];
  3685. model.title=[rs stringForColumn:@"title"];
  3686. model.subTitle=[rs stringForColumn:@"subTitle"];
  3687. model.releaser=[rs stringForColumn:@"releaser"];
  3688. model.JO_TYPE=[rs stringForColumn:@"JO_TYPE"];
  3689. model.JO_UUID=[rs stringForColumn:@"JO_UUID"];
  3690. model.JO_ZHANGTAO=[rs stringForColumn:@"JO_ZHANGTAO"];
  3691. model.JO_STATUS=[rs stringForColumn:@"JO_STATUS"];
  3692. //[listarr addObject:model];
  3693. [listarr insertObject:model atIndex:0];
  3694. }
  3695. return listarr;
  3696. }];
  3697. return zbk;
  3698. }
  3699. /**
  3700. 查询消息数据
  3701. */
  3702. - (NSArray *)JOSelectTableForMsgTable11:(NSString *)zhangtao AndUUID:(NSString *)uuid with:(NSString *)httpTepy
  3703. {
  3704. NSArray *zbk = [[TIFmdbManager shareManager] findDataOnCurrentThreadWithDb:JOMSGFMDB excuteBlock:^NSArray *(FMDatabase *db) {
  3705. NSMutableArray * listarr=[[NSMutableArray alloc]init];
  3706. NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@ WHERE JO_ZHANGTAO='%@' and JO_UUID='%@' and JO_TYPE='%@' and JO_STATUS='未读'",tableNames11,zhangtao,uuid,httpTepy];
  3707. FMResultSet *rs = [db executeQuery:sql];
  3708. while ([rs next])
  3709. {
  3710. JLMsgModel * model=[[JLMsgModel alloc]init];
  3711. model.createTime=[rs stringForColumn:@"createTime"];
  3712. model.JOid=[rs stringForColumn:@"JOid"];
  3713. model.title=[rs stringForColumn:@"title"];
  3714. model.subTitle=[rs stringForColumn:@"subTitle"];
  3715. model.releaser=[rs stringForColumn:@"releaser"];
  3716. model.JO_TYPE=[rs stringForColumn:@"JO_TYPE"];
  3717. model.JO_UUID=[rs stringForColumn:@"JO_UUID"];
  3718. model.JO_ZHANGTAO=[rs stringForColumn:@"JO_ZHANGTAO"];
  3719. model.JO_STATUS=[rs stringForColumn:@"JO_STATUS"];
  3720. model.caller = [rs stringForColumn:@"caller"];
  3721. model.keyValue = [rs stringForColumn:@"keyValue"];
  3722. //[listarr addObject:model];
  3723. [listarr insertObject:model atIndex:0];
  3724. }
  3725. return listarr;
  3726. }];
  3727. return zbk;
  3728. }
  3729. - (void)upadte11:(NSMutableArray *)_aaarr with:(NSString *)httpTepy
  3730. {
  3731. //2,更新数据
  3732. NSMutableArray * crr=[[NSMutableArray alloc]init];
  3733. for (int i=0; i<_aaarr.count; i++)
  3734. {
  3735. //[crr addObject:[JLMsgModel mj_objectWithKeyValues:brr[i]]];
  3736. JLMsgModel * model=[[JLMsgModel alloc]init];
  3737. model.createTime=[_aaarr[i] objectForKey:@"createTime"];
  3738. model.JOid=[_aaarr[i] objectForKey:@"id"];
  3739. model.releaser=[_aaarr[i] objectForKey:@"releaser"];
  3740. model.subTitle=[_aaarr[i] objectForKey:@"subTitle"];
  3741. model.title=[_aaarr[i] objectForKey:@"title"];
  3742. model.caller = [_aaarr[i] objectForKey:@"caller"];
  3743. model.keyValue= FORMAT(@"%@",[_aaarr[i] objectForKey:@"keyValue"]);
  3744. [crr addObject:model];
  3745. }
  3746. //1,插入数据
  3747. // [self JOInsetTableWithMsgDataArray:_aaarr withTableName:tableNames11];
  3748. for (int i=0; i<crr.count; i++)
  3749. {
  3750. JLMsgModel * model=crr[i];
  3751. //2,更新数据
  3752. [self up_FMDB_DataWithTableName:[@"" stringByAppendingFormat:@"UPDATE '%@' SET JO_STATUS='%@',JO_ZHANGTAO='%@',JO_UUID='%@',JO_TYPE='%@' WHERE JOid='%@' ",tableNames11,@"未读", g_master,g_emcode,httpTepy,model.JOid]];
  3753. }
  3754. }
  3755. /**
  3756. 查询消息数据
  3757. */
  3758. #pragma mark ----打卡代理LYYDAKaManagerDelegate
  3759. - (void)postDataFromDakaAddress:(NSMutableArray *)dataArr
  3760. {
  3761. [_dakaDataArr removeAllObjects];
  3762. [_dakaDataArr release];
  3763. _dakaDataArr = [[NSMutableArray alloc] init];
  3764. _dakaYes = 1;
  3765. if (_indexPath1 !=21){
  3766. if (dataArr.count == 0)
  3767. {
  3768. _dakaYes = 0;
  3769. [self settting:1];
  3770. self.headerView.hidden = YES ;
  3771. [UIView animateWithDuration:1 animations:^{
  3772. [self.tableView setContentOffset:CGPointMake(0, 0)];
  3773. } completion:^(BOOL finished) {
  3774. self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
  3775. self.rigBtn.userInteractionEnabled = YES;
  3776. }];
  3777. }else{
  3778. _dakaYes = 1;
  3779. }
  3780. }
  3781. self.headerView.dataArr = dataArr;
  3782. }
  3783. -(void)sucessDaka:(BOOL)yesOrno error:(NSString *)errorStr
  3784. {
  3785. if(yesOrno)
  3786. {
  3787. [[LYYDAKAManager ShareTXLDAT] loadDataServerData];
  3788. [JOShowMessageFromNavi showDropViewWithMessage:@"打卡成功!" ToNavi:self.navigationController withColor:nil];
  3789. [[LYYDAKAManager ShareTXLDAT] playerVadio:@"voice_sign" withStyle:@"mp3"];
  3790. }
  3791. else
  3792. {
  3793. if ([errorStr isEqualToString:@"当前账套没有找到班次"])
  3794. {
  3795. [self settting:1];
  3796. _dakaYes = 0;
  3797. }
  3798. // }else if ([errorStr containsString:@"|"])
  3799. // {
  3800. // NSArray *arr = [errorStr componentsSeparatedByString:@"|"];
  3801. // MobileChangeVC * mcc = [[MobileChangeVC alloc]init];
  3802. // mcc.address = FORMAT(@"%@",arr[0]);
  3803. // mcc.myMacAddress = FORMAT(@"%@",arr[1]);
  3804. // [self.navigationController pushViewController:mcc animated:YES];
  3805. // }
  3806. else{
  3807. // [MBProgressHUD hideHUD];
  3808. [JOShowMessageFromNavi showDropViewWithMessage:errorStr ToNavi:self.navigationController withColor:nil];
  3809. }
  3810. }
  3811. }
  3812. -(void)sucessDaka1:(BOOL)yesOrno error1:(NSString *)errorStr
  3813. {
  3814. _needValidateFace = yesOrno;
  3815. }
  3816. - (void)sucessDaka
  3817. {
  3818. [self FaceLoginJudgeMyself];
  3819. }
  3820. -(void)scrollViewDidScroll:(UIScrollView *)scrollView{
  3821. if(!self.rigBtn.userInteractionEnabled){
  3822. return;
  3823. }
  3824. if(_indexPath1 == 2 )
  3825. {
  3826. if(scrollView.contentOffset.y < -121){
  3827. [scrollView setContentOffset:CGPointMake(0, -121)];
  3828. return;
  3829. }
  3830. if (scrollView.contentOffset.y > -70)
  3831. {
  3832. self.rigBtn.userInteractionEnabled = NO;
  3833. [self settting:1];
  3834. scrollView.userInteractionEnabled = NO;
  3835. [UIView animateWithDuration:0.6 animations:^{
  3836. self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
  3837. } completion:^(BOOL finished) {
  3838. [self.tableView setContentOffset:CGPointMake(0, 0)];
  3839. scrollView.userInteractionEnabled = YES;
  3840. self.headerView.hidden = YES;
  3841. self.rigBtn.userInteractionEnabled = YES;
  3842. }];
  3843. }
  3844. }
  3845. }
  3846. - (void)setNeedsNavigationBackground:(CGFloat)alpha {
  3847. [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
  3848. if(statusX){
  3849. [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UU_newPG0X"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
  3850. }else{
  3851. [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"UU_newPG0"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
  3852. }
  3853. [self.navigationController.navigationBar setShadowImage:[UIImage new]];
  3854. }
  3855. - (void)settting:(NSInteger)row {
  3856. _indexPath1 = row;
  3857. }
  3858. - (void)dakagetData{
  3859. NSString *str = FORMAT(@"%@%@%@xianshidakaUUUU",g_emcode,g_companyMaster,g_companyName);
  3860. NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
  3861. SLog(@"%@",[user objectForKey:str]);
  3862. if (FORMAT(@"%@",[user objectForKey:str]).length == 0 ) {
  3863. [user setObject:@"1" forKey:str];
  3864. _indexpath11 = 1;
  3865. }else {
  3866. _indexpath11 = [FORMAT(@"%@",[user objectForKey:str]) integerValue];
  3867. }
  3868. if (_indexpath11 ==1) {
  3869. self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0);
  3870. self.headerView.hidden = YES;
  3871. }
  3872. [LYYDAKAManager ShareTXLDAT].delegate = self;
  3873. [[LYYDAKAManager ShareTXLDAT] loadDataServerData];
  3874. }
  3875. -(void)viewDidAppear:(BOOL)animated{
  3876. [super viewDidAppear:animated];
  3877. if (_indexPath1 != 21)
  3878. {
  3879. [self settting:1];
  3880. }
  3881. [self dakagetData];
  3882. if (_indexPath1 ==21) {
  3883. self.headerView.hidden = NO;
  3884. self.rigBtn.userInteractionEnabled = NO;
  3885. [UIView animateWithDuration:1 animations:^{
  3886. [self.tableView setContentOffset:CGPointMake(0, -121)];
  3887. } completion:^(BOOL finished) {
  3888. self.tableView.contentInset = UIEdgeInsetsMake(121, 0, 0, 0);
  3889. self.rigBtn.userInteractionEnabled = YES;
  3890. _indexPath1 = 2;
  3891. }];
  3892. }else{
  3893. self.rigBtn.userInteractionEnabled = NO;
  3894. [UIView animateWithDuration:0.6 animations:^{
  3895. self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
  3896. } completion:^(BOOL finished) {
  3897. [self.tableView setContentOffset:CGPointMake(0, 0)];
  3898. self.headerView.hidden = YES;
  3899. self.rigBtn.userInteractionEnabled = YES;
  3900. [self settting:1];
  3901. }];
  3902. }
  3903. }
  3904. @end