all.sql 160 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318
  1. use lawe;
  2. -- (1)基础设施
  3. -- 建表语句
  4. DROP TABLE IF EXISTS `bi_itm_hardware_resources`;
  5. CREATE TABLE `bi_itm_hardware_resources` (
  6. `itm_hardware_resources_id` varchar(100) DEFAULT NULL COMMENT '设备ID',
  7. `itm_hardware_resources_type` varchar(100) DEFAULT NULL COMMENT '设备型号ID',
  8. `itm_hardware_resources_cntype` varchar(100) DEFAULT NULL COMMENT '设备型号归类',
  9. `itm_hardware_resources_areacode` varchar(100) DEFAULT NULL COMMENT '设备区域',
  10. `ITM_HARDWARE_RESOURCES_ASSNO` varchar(100) DEFAULT NULL COMMENT '国资码暂时用来存储设备所属应用名称',
  11. `ITM_HARDWARE_RESOURCES_CODE` varchar(200) DEFAULT NULL COMMENT '设备编码',
  12. `ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称',
  13. `ITM_HARDWARE_RESOURCES_IP` varchar(64) DEFAULT NULL COMMENT '设备IP',
  14. `ITM_HARDWARE_RESOURCES_STATUS` varchar(64) DEFAULT NULL COMMENT '使用状态:在用,停用',
  15. `itm_monitor_flag` varchar(10) DEFAULT NULL COMMENT '监控状态:监控,未监控',
  16. `create_time` datetime DEFAULT NULL COMMENT '设备创建时间',
  17. `NAME` varchar(512) DEFAULT NULL COMMENT '设备名称',
  18. `resclasscnname` varchar(255) DEFAULT NULL COMMENT '设备类型',
  19. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系',
  20. `ROOM_JIFANG` varchar(64) DEFAULT NULL COMMENT '所属机房',
  21. `UID` varchar(100) DEFAULT NULL COMMENT 'UID',
  22. `pinpai` varchar(255) DEFAULT NULL COMMENT '设备品牌',
  23. `xinghao` varchar(255) DEFAULT NULL COMMENT '设备型号',
  24. `mac` varchar(255) DEFAULT NULL COMMENT 'mac地址',
  25. `guoziguishurenyuan` varchar(255) DEFAULT NULL COMMENT '国资归属人员',
  26. `guoziguishubumen` varchar(255) DEFAULT NULL COMMENT '国资归属部门',
  27. `yunweirenyuan` varchar(255) DEFAULT NULL COMMENT '运维人员',
  28. `servicename` varchar(255) DEFAULT NULL COMMENT '服务app名',
  29. `relatedappid` varchar(255) DEFAULT NULL COMMENT '关联appid',
  30. `mantancevendor` varchar(255) DEFAULT NULL COMMENT '运维厂商',
  31. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台',
  32. KEY `bi_itm_hardware_resources_itm_hardware_resources_id_IDX` (`itm_hardware_resources_id`) USING BTREE
  33. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  34. truncate table bi_itm_hardware_resources;
  35. insert into bi_itm_hardware_resources
  36. SELECT
  37. IzGoY.itm_hardware_resources_id,
  38. IzGoY.itm_hardware_resources_type,
  39. case
  40. when IzGoY.itm_hardware_resources_type = '000100001' then '物理机'
  41. when IzGoY.itm_hardware_resources_type = '000100002' then '云主机'
  42. when IzGoY.itm_hardware_resources_type = '000100004' then '宿主机'
  43. when substr(IzGoY.itm_hardware_resources_type,1,4) = '0001' then '其他主机'
  44. when IzGoY.itm_hardware_resources_type = '000200001' then '交换机'
  45. when IzGoY.itm_hardware_resources_type = '000200002' then '路由器'
  46. when IzGoY.itm_hardware_resources_type = '000300001' then '存储设备'
  47. when substr(IzGoY.itm_hardware_resources_type,1,4) = '0004' then '安全设备'
  48. else '非资产设备' end as itm_hardware_resources_cntype,
  49. case when IzGoY.itm_hardware_resources_areacode is null then '无区域' else IzGoY.itm_hardware_resources_areacode end as itm_hardware_resources_areacode,
  50. IzGoY.ITM_HARDWARE_RESOURCES_ASSNO,
  51. IzGoY.ITM_HARDWARE_RESOURCES_CODE,
  52. IzGoY.ITM_HARDWARE_RESOURCES_NAME,
  53. IzGoY.ITM_HARDWARE_RESOURCES_IP,
  54. IzGoY.ITM_HARDWARE_RESOURCES_STATUS,
  55. case when IzGoY.itm_monitor_flag = '1' then '监控' else '未监控' end as itm_monitor_flag,
  56. case when IzGoY.create_time is null then IzGoY.update_time else IzGoY.create_time end as create_time,
  57. XVuSA. NAME,
  58. -- dHSPj.resclasscnname,
  59. dHSPj.ITM_HARDWARE_RESOURCES_TYPE_NAME as resclasscnname,
  60. AIiKi.ITM_APPCATAGORY_NAME as NET_NAME,
  61. case when thd.ITM_HARDWARE_RESOURCES_NAME is null then '无机房' else thd.ITM_HARDWARE_RESOURCES_NAME end as ROOM_JIFANG,
  62. Qfqdl.UID,
  63. Qfqdl.pinpai,
  64. Qfqdl.xinghao,
  65. Qfqdl.mac,
  66. Qfqdl.guoziguishurenyuan,
  67. Qfqdl.guoziguishubumen,
  68. case when IzGoY.itm_hardware_resources_type = '000100002' then Qfqdl.business_director else Qfqdl.yunweirenyuan end as yunweirenyuan,
  69. Qfqdl.servicename,
  70. Qfqdl.relatedappid,
  71. case when IzGoY.itm_hardware_resources_type = '000100002' then Qfqdl.contractor else Qfqdl.mantancevendor end as mantancevendor,
  72. IzGoY.cloud
  73. FROM
  74. itm_hardware_resources IzGoY
  75. LEFT JOIN
  76. (SELECT
  77. ITM_HARDWARE_RESOURCES_ID AS UID,
  78. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'brand_name') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS pinpai,
  79. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'model') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS xinghao,
  80. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'macaddress') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS mac,
  81. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'manager') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS guoziguishurenyuan,
  82. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'department') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS guoziguishubumen,
  83. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'mantance_duty') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS yunweirenyuan,
  84. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'service_name') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS servicename,
  85. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'related_app_id') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS relatedappid,
  86. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'mantance_vendor') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS mantancevendor,
  87. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'business_director') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS business_director,
  88. max((CASE WHEN (ITM_HARDWARE_RESOURCES_PROCODE = 'contractor') THEN ITM_HARDWARE_RESOURCES_VALUE ELSE '' END)) AS contractor
  89. FROM
  90. itm_hardware_resources_value
  91. GROUP BY
  92. ITM_HARDWARE_RESOURCES_ID
  93. ) Qfqdl ON IzGoY.ITM_HARDWARE_RESOURCES_ID = Qfqdl.UID
  94. LEFT JOIN pub_organ XVuSA ON IzGoY.ORGAN_ID = XVuSA. CODE
  95. LEFT JOIN itm_appcatagory AIiKi ON IzGoY.ITM_HARDWARE_RESOURCES_NETCODE = AIiKi.ITM_APPCATAGORY_CODE
  96. -- LEFT JOIN (select distinct case when substr(resclassenname,1,2) = 'P_' then substr(resclassenname,3) else resclassenname end as resclassenname,resclasscnname from m_resclass) dHSPj ON IzGoY.ne_type = dHSPj.resclassenname
  97. left join (select ITM_HARDWARE_RESOURCES_TYPE,ITM_HARDWARE_RESOURCES_TYPE_NAME from itm_hardware_resources_type) dHSPj on IzGoY.ITM_HARDWARE_RESOURCES_TYPE = dHSPj.ITM_HARDWARE_RESOURCES_TYPE
  98. left join itm_hardware_resources thd
  99. on IzGoY.ITM_HARDWARE_RESOURCES_ROOMCODE = thd.itm_hardware_resources_id where IzGoY.ITM_HARDWARE_RESOURCES_PTYPE IN ('0001','0002','000300001','0004')
  100. AND IzGoY.ITM_HARDWARE_RESOURCES_STATUS != '报废'
  101. and IzGoY.stateflag='0';
  102. -- (2)基础设施告警、基础设施故障告警、网络中断趋势、应用系统告警趋势、应用系统故障趋势
  103. -- 建表语句
  104. DROP TABLE IF EXISTS `bi_alm_group_by_time`;
  105. CREATE TABLE `bi_alm_group_by_time` (
  106. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期格式',
  107. `thedvalue` varchar(17) DEFAULT NULL COMMENT '告警时间',
  108. `alarm_object_ip` varchar(300) DEFAULT NULL COMMENT '告警设备IP',
  109. `alarm_object_type` varchar(50) NOT NULL DEFAULT '' COMMENT '设备类型',
  110. `ITM_HARDWARE_RESOURCES_AREACODE` varchar(64) DEFAULT NULL COMMENT '告警设备区域',
  111. `ITM_HARDWARE_RESOURCES_ASSNO` varchar(100) DEFAULT NULL COMMENT '国资编码',
  112. `ITM_HARDWARE_RESOURCES_CODE` longtext COMMENT '设备编码',
  113. `ITM_HARDWARE_RESOURCES_NAME` varchar(512) DEFAULT NULL COMMENT '设备名称',
  114. `ITM_HARDWARE_RESOURCES_IP` varchar(300) DEFAULT NULL COMMENT '设备IP',
  115. `pinpai` varchar(255) DEFAULT NULL COMMENT '设备品牌',
  116. `xinghao` varchar(255) DEFAULT NULL COMMENT '设备型号',
  117. `ITM_HARDWARE_RESOURCES_NETNAME` varchar(255) DEFAULT NULL COMMENT '网系名称',
  118. `ITM_HARDWARE_RESOURCES_STATUS` varchar(64) DEFAULT NULL COMMENT '设备状态',
  119. `severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警等级',
  120. `title` varchar(256) DEFAULT NULL COMMENT '告警标题',
  121. `alarm_text` mediumtext COMMENT '告警内容',
  122. `guoziguishubumen` varchar(255) DEFAULT NULL COMMENT '国资归属部门',
  123. `yunweirenyuan` varchar(255) DEFAULT NULL COMMENT '运维人员',
  124. `alarm_count` double DEFAULT NULL COMMENT '告警次数',
  125. `alarm_time` decimal(58,4) DEFAULT NULL COMMENT '告警时长(h)',
  126. `alarm_zy_num` decimal(42,0) DEFAULT NULL COMMENT '故障次数',
  127. `total_zy_num` decimal(29,8) DEFAULT NULL COMMENT '总资产数(取平均)',
  128. `process_type_name` varchar(64) DEFAULT NULL COMMENT '故障类型',
  129. `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
  130. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台'
  131. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  132. -- 涉及视图
  133. create or replace view `v_bi_alm_all_alarm` as
  134. select
  135. `t_alm_active_alarm`.`alarm_object_ip` as `alarm_object_ip`,
  136. `t_alm_active_alarm`.`alarm_object_id` as `alarm_object_id`,
  137. `t_alm_active_alarm`.`alarm_object_type` as `alarm_object_codetype`,
  138. (case
  139. when (`t_alm_active_alarm`.`alarm_object_type` = '000100001') then '物理机'
  140. when (`t_alm_active_alarm`.`alarm_object_type` = '000100002') then '云主机'
  141. when (`t_alm_active_alarm`.`alarm_object_type` = '000100004') then '宿主机'
  142. when (substr(`t_alm_active_alarm`.`alarm_object_type`, 1, 4) = '0001') then '其他主机'
  143. when (`t_alm_active_alarm`.`alarm_object_type` = '000200001') then '交换机'
  144. when (`t_alm_active_alarm`.`alarm_object_type` = '000200002') then '路由器'
  145. when (`t_alm_active_alarm`.`alarm_object_type` = '000300001') then '存储设备'
  146. when (substr(`t_alm_active_alarm`.`alarm_object_type`, 1, 4) = '0004') then '安全设备'
  147. when (substr(`t_alm_active_alarm`.`alarm_object_type`, 1, 4) = '0014') then '网络'
  148. when ((`t_alm_active_alarm`.`alarm_object_type` like '%0012%')
  149. or (`t_alm_active_alarm`.`alarm_object_type` like '%app%')) then '应用'
  150. else '其它未知类型'
  151. end) as `alarm_object_type`,
  152. `t_alm_active_alarm`.`alarm_object_name` as `alarm_object_name`,
  153. (`t_alm_active_alarm`.`alarm_count` + 0) as `alarm_count`,
  154. `t_alm_active_alarm`.`severity_id` as `severity_id`,
  155. `t_alm_active_alarm`.`occur_time` as `occur_time`,
  156. (case
  157. when isnull(`t_alm_active_alarm`.`update_time`) then `t_alm_active_alarm`.`insert_time`
  158. else `t_alm_active_alarm`.`update_time`
  159. end) as `end_time`,
  160. `t_alm_active_alarm`.`title` as `title`,
  161. `t_alm_active_alarm`.`alarm_text` as `alarm_text`,
  162. `t_alm_active_alarm`.`clr_status` as `clr_status`,
  163. 1 as `is_active_alarm`
  164. from
  165. `t_alm_active_alarm`
  166. union all
  167. select
  168. `t_alm_history_alarm`.`alarm_object_ip` as `alarm_object_ip`,
  169. `t_alm_history_alarm`.`alarm_object_id` as `alarm_object_id`,
  170. `t_alm_history_alarm`.`alarm_object_type` as `alarm_object_codetype`,
  171. (case
  172. when (`t_alm_history_alarm`.`alarm_object_type` = '000100001') then '物理机'
  173. when (`t_alm_history_alarm`.`alarm_object_type` = '000100002') then '云主机'
  174. when (`t_alm_history_alarm`.`alarm_object_type` = '000100004') then '宿主机'
  175. when (substr(`t_alm_history_alarm`.`alarm_object_type`, 1, 4) = '0001') then '其他主机'
  176. when (`t_alm_history_alarm`.`alarm_object_type` = '000200001') then '交换机'
  177. when (`t_alm_history_alarm`.`alarm_object_type` = '000200002') then '路由器'
  178. when (`t_alm_history_alarm`.`alarm_object_type` = '000300001') then '存储设备'
  179. when (substr(`t_alm_history_alarm`.`alarm_object_type`, 1, 4) = '0004') then '安全设备'
  180. when (substr(`t_alm_history_alarm`.`alarm_object_type`, 1, 4) = '0014') then '网络'
  181. when ((`t_alm_history_alarm`.`alarm_object_type` LIKE '%0012%')
  182. or (`t_alm_history_alarm`.`alarm_object_type` like '%app%')) then '应用'
  183. else '其它未知类型'
  184. end) as `alarm_object_type`,
  185. `t_alm_history_alarm`.`alarm_object_name` as `alarm_object_name`,
  186. (`t_alm_history_alarm`.`alarm_count` + 0) as `alarm_count`,
  187. `t_alm_history_alarm`.`severity_id` as `severity_id`,
  188. `t_alm_history_alarm`.`occur_time` as `occur_time`,
  189. (case
  190. when isnull(`t_alm_history_alarm`.`clear_time`) then `t_alm_history_alarm`.`insert_time`
  191. else `t_alm_history_alarm`.`clear_time`
  192. end) as `end_time`,
  193. `t_alm_history_alarm`.`title` as `title`,
  194. `t_alm_history_alarm`.`alarm_text` as `alarm_text`,
  195. `t_alm_history_alarm`.`clr_status` as `clr_status`,
  196. 0 as `is_active_alarm`
  197. from
  198. `t_alm_history_alarm`;
  199. truncate table bi_alm_group_by_time;
  200. insert into bi_alm_group_by_time
  201. select
  202. 'HOUR' AS dtype,
  203. DATE_FORMAT(occur_time,'%Y%m%d%H') as thedvalue,
  204. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  205. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  206. sum(alarm_count) as alarm_count,
  207. sum(alarm_time) as alarm_time,count(1) as alarm_zy_num,
  208. (select count(1) from bi_itm_hardware_resources where itm_hardware_resources_cntype != '非资产设备') as total_zy_num,
  209. process_type_name, app_id,m.cloud
  210. from (
  211. select
  212. a.occur_time,
  213. a.alarm_object_id,
  214. a.alarm_object_ip,
  215. a.alarm_object_type,
  216. b.ITM_HARDWARE_RESOURCES_AREACODE,
  217. b.ITM_HARDWARE_RESOURCES_ASSNO,
  218. b.ITM_HARDWARE_RESOURCES_CODE,
  219. b.ITM_HARDWARE_RESOURCES_NAME,
  220. b.ITM_HARDWARE_RESOURCES_IP,
  221. b.pinpai,
  222. b.xinghao,b.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME,b.ITM_HARDWARE_RESOURCES_STATUS,
  223. case a.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
  224. a.title,
  225. a.alarm_text,
  226. b.guoziguishubumen,
  227. b.yunweirenyuan,
  228. a.is_active_alarm,
  229. a.alarm_count,
  230. timestampdiff(MINUTE,a.occur_time,a.end_time)*1.0/60 as alarm_time,
  231. wf.process_type_name,wrr.app_id,b.cloud
  232. from (select * from v_bi_alm_all_alarm where alarm_object_type not in ('网络','应用')) a
  233. left join bi_itm_hardware_resources b on a.alarm_object_id = b.itm_hardware_resources_id
  234. LEFT JOIN icm_bpm.t_work_resource_real wrr on wrr.object_id = a.alarm_object_id
  235. left join icm_bpm.t_work_flow wf on wf.id=wrr.work_id) m
  236. group by
  237. DATE_FORMAT(occur_time,'%Y%m%d%H'),
  238. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  239. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name,app_id,m.cloud;
  240. insert into bi_alm_group_by_time
  241. select
  242. 'DAY' AS dtype,
  243. substr(thedvalue,1,8) as thedvalue,
  244. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  245. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  246. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num, process_type_name, app_id, cloud
  247. from bi_alm_group_by_time where dtype = 'HOUR' and alarm_object_type not in ('网络','应用')
  248. group by
  249. substr(thedvalue,1,8),
  250. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  251. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name,app_id,cloud;
  252. insert into bi_alm_group_by_time
  253. select
  254. 'MONTH' AS dtype,
  255. substr(thedvalue,1,6) as thedvalue,
  256. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  257. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  258. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num,process_type_name, app_id,cloud
  259. from bi_alm_group_by_time where dtype = 'DAY' and alarm_object_type not in ('网络','应用')
  260. group by
  261. substr(thedvalue,1,6),
  262. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  263. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name,app_id,cloud;
  264. insert into bi_alm_group_by_time
  265. select
  266. 'YEAR' AS dtype,
  267. substr(thedvalue,1,4) as thedvalue,
  268. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  269. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  270. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num,process_type_name,app_id,cloud
  271. from bi_alm_group_by_time
  272. where dtype = 'MONTH' and alarm_object_type not in ('网络','应用')
  273. group by
  274. substr(thedvalue,1,4),
  275. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  276. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name,app_id,cloud;
  277. insert into bi_alm_group_by_time (dtype,thedvalue,itm_hardware_resources_name,itm_hardware_resources_ip,itm_hardware_resources_areacode,
  278. pinpai,itm_hardware_resources_status,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,xinghao,alarm_object_type,alarm_count,alarm_time,alarm_zy_num,total_zy_num,process_type_name,app_id
  279. )
  280. select
  281. 'HOUR' AS dtype,
  282. DATE_FORMAT(occur_time,'%Y%m%d%H') as thedvalue,
  283. m.itm_app_name as itm_hardware_resources_name,
  284. m.itm_app_systemurl as itm_hardware_resources_ip,
  285. m.net_name as itm_hardware_resources_areacode,
  286. m.priority as pinpai,
  287. m.stateflag as itm_hardware_resources_status,
  288. m.severity_type as severity_type,
  289. m.title as title,
  290. m.alarm_text as alarm_text,
  291. m.mantancevendor as guoziguishubumen,
  292. m.yunweirenyuan as yunweirenyuan,
  293. m.app_type_name as xinghao,
  294. '应用' as alarm_object_type,
  295. sum(alarm_count) as alarm_count,
  296. sum(alarm_time) as alarm_time,count(1) as alarm_zy_num,
  297. (select count(1) from itm_app) as total_zy_num,process_type_name,app_id
  298. from (
  299. select
  300. a.occur_time,
  301. a.alarm_object_id,
  302. case a.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
  303. a.title,
  304. a.alarm_text,
  305. a.is_active_alarm,
  306. a.alarm_count,
  307. timestampdiff(MINUTE,a.occur_time,a.end_time)*1.0/60 as alarm_time,
  308. b.itm_app_name as itm_app_name,
  309. b.itm_app_systemurl as itm_app_systemurl,
  310. case b.stateflag when 0 then '已应用' else '未应用' end as stateflag,
  311. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY,
  312. d.name as app_type_name,
  313. e.name as net_name,
  314. '' as mantancevendor,
  315. b.mantance_duty as yunweirenyuan,
  316. wf.process_type_name,wrr.app_id
  317. from (select * from v_bi_alm_all_alarm where alarm_object_type ='应用') a
  318. left join itm_app b
  319. on a.alarm_object_id = b.ITM_APP_ID
  320. LEFT JOIN icm_bpm.t_work_resource_real wrr on wrr.object_id = a.alarm_object_id
  321. left join icm_bpm.t_work_flow wf on wf.id=wrr.work_id
  322. LEFT JOIN m_com_dict d on b.app_type=d.value
  323. LEFT JOIN m_com_dict e on e.value = b.ITM_NETGROUP_ID
  324. WHERE d.dict_index='app_type' and e.dict_index='itm_resources_netcode'
  325. ) m
  326. group by
  327. DATE_FORMAT(occur_time,'%Y%m%d%H'),
  328. pinpai,m.itm_app_name,m.itm_app_systemurl,m.net_name,m.priority,m.stateflag,m.severity_type,m.title,m.alarm_text,m.mantancevendor,m.yunweirenyuan,m.app_type_name,process_type_name,app_id;
  329. insert into bi_alm_group_by_time
  330. select
  331. 'DAY' AS dtype,
  332. substr(thedvalue,1,8) as thedvalue,
  333. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  334. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  335. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num, process_type_name, app_id,cloud
  336. from bi_alm_group_by_time where dtype = 'HOUR' and alarm_object_type = '应用'
  337. group by
  338. substr(thedvalue,1,8),
  339. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  340. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name,app_id,cloud;
  341. insert into bi_alm_group_by_time
  342. select
  343. 'MONTH' AS dtype,
  344. substr(thedvalue,1,6) as thedvalue,
  345. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  346. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  347. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num, process_type_name, app_id,cloud
  348. from bi_alm_group_by_time where dtype = 'DAY' and alarm_object_type = '应用'
  349. group by
  350. substr(thedvalue,1,6),
  351. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  352. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name, app_id,cloud;
  353. insert into bi_alm_group_by_time
  354. select
  355. 'YEAR' AS dtype,
  356. substr(thedvalue,1,4) as thedvalue,
  357. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  358. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,
  359. sum(alarm_count) as alarm_count,sum(alarm_time) as alarm_time,sum(alarm_zy_num) as alarm_zy_num,max(total_zy_num) as total_zy_num,process_type_name, app_id,cloud
  360. from bi_alm_group_by_time
  361. where dtype = 'MONTH' and alarm_object_type = '应用'
  362. group by
  363. substr(thedvalue,1,4),
  364. alarm_object_ip,alarm_object_type,ITM_HARDWARE_RESOURCES_AREACODE,ITM_HARDWARE_RESOURCES_ASSNO,ITM_HARDWARE_RESOURCES_CODE,
  365. ITM_HARDWARE_RESOURCES_NAME,ITM_HARDWARE_RESOURCES_IP,pinpai,xinghao,ITM_HARDWARE_RESOURCES_NETNAME,ITM_HARDWARE_RESOURCES_STATUS,severity_type,title,alarm_text,guoziguishubumen,yunweirenyuan,process_type_name, app_id,cloud;
  366. DROP TABLE IF EXISTS `bi_work_flow_group_row`;
  367. CREATE TABLE `bi_work_flow_group_row` (
  368. `dtype` varchar(5) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
  369. `thedvalue` varchar(15) CHARACTER SET utf8mb3 DEFAULT NULL,
  370. `process_type_name` varchar(255) DEFAULT NULL,
  371. `app_id` varchar(64) DEFAULT NULL,
  372. `app_name` varchar(64) DEFAULT NULL,
  373. `serve_area` varchar(32) DEFAULT NULL,
  374. `serve_department` varchar(32) DEFAULT NULL,
  375. `serve_firm` varchar(32) DEFAULT NULL,
  376. `agg` varchar(10) DEFAULT NULL,
  377. `unit` varchar(20) DEFAULT NULL,
  378. `kind` varchar(40) NOT NULL DEFAULT '',
  379. `value` double DEFAULT NULL
  380. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  381. truncate table bi_work_flow_group_row;
  382. insert into bi_work_flow_group_row
  383. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '件', 'total_works' as 'kind', total_works as 'value'
  384. from bi_work_flow_group_by_time m
  385. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  386. union all
  387. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '件', 'total_works_end' as 'kind', total_works_end as 'value'
  388. from bi_work_flow_group_by_time m
  389. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  390. union all
  391. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '件', 'total_works_noend' as 'kind', total_works_noend as 'value'
  392. from bi_work_flow_group_by_time m
  393. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  394. union all
  395. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '件', 'total_works_notimeout' as 'kind', total_works_notimeout as 'value'
  396. from bi_work_flow_group_by_time m
  397. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  398. union all
  399. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '件', 'total_works_timeout' as 'kind', total_works_timeout as 'value'
  400. from bi_work_flow_group_by_time m
  401. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  402. union all
  403. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'SUM', '秒', 'total_time_consuming' as 'kind', total_time_consuming as 'value'
  404. from bi_work_flow_group_by_time m
  405. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  406. union all
  407. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'AVG', '秒', 'avg_time_consuming' as 'kind', avg_time_consuming as 'value'
  408. from bi_work_flow_group_by_time m
  409. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  410. union all
  411. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'AVG', '分', 'satisfaction' as 'kind', satisfaction as 'value'
  412. from bi_work_flow_group_by_time m
  413. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  414. union all
  415. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'AVG', '%', 'total_works_notimeout_pct' as 'kind', 100*total_works_notimeout/total_works as 'value'
  416. from bi_work_flow_group_by_time m
  417. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  418. union all
  419. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'AVG', '%', 'total_works_timeout_pct' as 'kind', 100*total_works_timeout/total_works as 'value'
  420. from bi_work_flow_group_by_time m
  421. left join itm_app ia on ia.ITM_APP_ID=m.app_id
  422. union all
  423. select m.dtype, m.thedvalue,m.process_type_name,m.app_id,ia.ITM_APP_NAME,m.serve_area,m.serve_department,m.serve_firm, 'AVG', '%', 'total_works_end_pct' as 'kind', 100*total_works_end/total_works as 'value'
  424. from bi_work_flow_group_by_time m
  425. left join itm_app ia on ia.ITM_APP_ID=m.app_id;
  426. -- (3)基础设施监控覆盖率趋势
  427. -- 建表语句
  428. DROP TABLE IF EXISTS `bi_hardware_fugai`;
  429. CREATE TABLE `bi_hardware_fugai` (
  430. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  431. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  432. `itm_hardware_resources_id` varchar(200) DEFAULT '' COMMENT '告警设备ID',
  433. `itm_hardware_resources_type` varchar(64) DEFAULT NULL COMMENT '设备类型',
  434. `itm_hardware_resources_cntype` varchar(5) DEFAULT '' COMMENT '设备类型中文',
  435. `itm_hardware_resources_areacode` varchar(64) DEFAULT NULL COMMENT '告警设备区域',
  436. `ITM_HARDWARE_RESOURCES_ASSNO` varchar(100) DEFAULT NULL COMMENT '国资编码',
  437. `ITM_HARDWARE_RESOURCES_CODE` varchar(200) DEFAULT NULL COMMENT '设备编码',
  438. `ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称',
  439. `ITM_HARDWARE_RESOURCES_IP` varchar(64) DEFAULT NULL COMMENT '设备IP',
  440. `ITM_HARDWARE_RESOURCES_STATUS` varchar(64) DEFAULT NULL COMMENT '设备状态',
  441. `itm_monitor_flag` varchar(64) DEFAULT NULL COMMENT '是否进行监控 0未纳入监控 1纳入监控',
  442. `create_time` datetime DEFAULT NULL COMMENT '创建日期',
  443. `NAME` varchar(512) DEFAULT NULL COMMENT '所属组织',
  444. `resclasscnname` varchar(255) DEFAULT NULL COMMENT '所属类型(网系)',
  445. `UID` varchar(100) DEFAULT NULL COMMENT 'UID 同告警设备ID',
  446. `pinpai` varchar(255) DEFAULT NULL COMMENT '设备品牌',
  447. `xinghao` varchar(255) DEFAULT NULL COMMENT '设备型号',
  448. `mac` varchar(255) DEFAULT NULL COMMENT 'MAC地址',
  449. `guoziguishurenyuan` varchar(255) DEFAULT NULL COMMENT '国资归属人员',
  450. `guoziguishubumen` varchar(255) DEFAULT NULL COMMENT '国资归属部门',
  451. `yunweirenyuan` varchar(255) DEFAULT NULL COMMENT '运维人员',
  452. `ITM_HARDWARE_RESOURCES_NETNAME` varchar(100) DEFAULT NULL,
  453. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台'
  454. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  455. truncate table bi_hardware_fugai;
  456. insert into bi_hardware_fugai
  457. select 'MONTH' AS dtype, a.thedvalue, b.itm_hardware_resources_id,b.itm_hardware_resources_type,b.itm_hardware_resources_cntype,b.itm_hardware_resources_areacode,b.ITM_HARDWARE_RESOURCES_ASSNO,b.ITM_HARDWARE_RESOURCES_CODE
  458. ,b.ITM_HARDWARE_RESOURCES_NAME,b.ITM_HARDWARE_RESOURCES_IP,b.ITM_HARDWARE_RESOURCES_STATUS,b.itm_monitor_flag,b.create_time
  459. ,b.NAME,b.resclasscnname,b.UID,b.pinpai,b.xinghao,b.mac
  460. ,b.guoziguishurenyuan,b.guoziguishubumen,b.yunweirenyuan,b.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME,b.cloud from (
  461. select distinct date_format(dt_d,'%Y%m') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-12-31') a
  462. left join bi_itm_hardware_resources b
  463. on a.thedvalue >= date_format(b.create_time,'%Y%m')
  464. UNION ALL
  465. select 'YEAR' AS dtype, a.thedvalue, b.itm_hardware_resources_id,b.itm_hardware_resources_type,b.itm_hardware_resources_cntype,b.itm_hardware_resources_areacode,b.ITM_HARDWARE_RESOURCES_ASSNO,b.ITM_HARDWARE_RESOURCES_CODE
  466. ,b.ITM_HARDWARE_RESOURCES_NAME,b.ITM_HARDWARE_RESOURCES_IP,b.ITM_HARDWARE_RESOURCES_STATUS,b.itm_monitor_flag,b.create_time
  467. ,b.NAME,b.resclasscnname,b.UID,b.pinpai,b.xinghao,b.mac
  468. ,b.guoziguishurenyuan,b.guoziguishubumen,b.yunweirenyuan,b.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME,b.cloud from (
  469. select distinct date_format(dt_d,'%Y') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-12-31') a
  470. left join bi_itm_hardware_resources b
  471. on a.thedvalue >= date_format(b.create_time,'%Y')
  472. UNION ALL
  473. select 'DAY' AS dtype, a.thedvalue, b.itm_hardware_resources_id,b.itm_hardware_resources_type,b.itm_hardware_resources_cntype,b.itm_hardware_resources_areacode,b.ITM_HARDWARE_RESOURCES_ASSNO,b.ITM_HARDWARE_RESOURCES_CODE
  474. ,b.ITM_HARDWARE_RESOURCES_NAME,b.ITM_HARDWARE_RESOURCES_IP,b.ITM_HARDWARE_RESOURCES_STATUS,b.itm_monitor_flag,b.create_time
  475. ,b.NAME,b.resclasscnname,b.UID,b.pinpai,b.xinghao,b.mac
  476. ,b.guoziguishurenyuan,b.guoziguishubumen,b.yunweirenyuan,b.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME,b.cloud from (
  477. select distinct date_format(dt_d,'%Y%m%d') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-12-31') a
  478. left join bi_itm_hardware_resources b
  479. on a.thedvalue >= date_format(b.create_time,'%Y%m%d');
  480. -- (4)基础设施资源利用率趋势、服务器资源负载趋势、网络设备带宽利用率趋势、网络设备效能分析、磁盘性能分析、存储设备资源利用率趋势
  481. -- 建表语句
  482. DROP TABLE IF EXISTS `bi_app_stat_group_by_time`;
  483. CREATE TABLE `bi_app_stat_group_by_time` (
  484. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  485. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  486. `dhour` varchar(15) DEFAULT NULL COMMENT '小时',
  487. `itm_hardware_resources_id` varchar(200) NOT NULL DEFAULT '' COMMENT '告警设备ID',
  488. `itm_hardware_resources_type` varchar(64) DEFAULT NULL COMMENT '设备类型',
  489. `itm_hardware_resources_cntype` varchar(5) NOT NULL DEFAULT '' COMMENT '设备类型中文',
  490. `QGorZG` varchar(10) DEFAULT NULL COMMENT '全国/最高',
  491. `itm_hardware_resources_areacode` varchar(64) DEFAULT NULL COMMENT '告警设备区域',
  492. `ITM_HARDWARE_RESOURCES_ASSNO` varchar(100) DEFAULT NULL COMMENT '国资编码',
  493. `ITM_HARDWARE_RESOURCES_CODE` varchar(200) DEFAULT NULL COMMENT '设备编码',
  494. `ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称',
  495. `ITM_HARDWARE_RESOURCES_IP` varchar(64) DEFAULT NULL COMMENT '设备IP',
  496. `ITM_HARDWARE_RESOURCES_STATUS` varchar(64) DEFAULT NULL COMMENT '设备状态',
  497. `ITM_HARDWARE_RESOURCES_NETNAME` varchar(255) DEFAULT NULL COMMENT '网系名称',
  498. `itm_monitor_flag` varchar(64) DEFAULT NULL COMMENT '是否进行监控 0未纳入监控 1纳入监控',
  499. `create_time` datetime DEFAULT NULL COMMENT '设备创建时间',
  500. `NAME` varchar(512) DEFAULT NULL COMMENT '所属组织',
  501. `resclasscnname` varchar(255) DEFAULT NULL COMMENT '所属类型(网系)',
  502. `UID` varchar(100) DEFAULT NULL COMMENT 'UID 同告警设备ID',
  503. `pinpai` varchar(255) DEFAULT NULL COMMENT '设备品牌',
  504. `xinghao` varchar(255) DEFAULT NULL COMMENT '设备型号',
  505. `mac` varchar(255) DEFAULT NULL COMMENT 'MAC地址',
  506. `guoziguishurenyuan` varchar(255) DEFAULT NULL COMMENT '国资归属人员',
  507. `guoziguishubumen` varchar(255) DEFAULT NULL COMMENT '国资归属部门',
  508. `yunweirenyuan` varchar(255) DEFAULT NULL COMMENT '运维人员',
  509. `IND_VALUE_Network_Cpurate` decimal(20,6) DEFAULT NULL COMMENT 'cpu利用率(原始)',
  510. `IND_VALUE_Network_Cpurate_High` decimal(16,2) DEFAULT NULL COMMENT 'CPU利用率峰值(原始)',
  511. `IND_VALUE_Network_Memrate` decimal(20,6) DEFAULT NULL COMMENT '内存利用率(原始)',
  512. `IND_VALUE_Network_Memrate_High` decimal(16,2) DEFAULT NULL COMMENT '内存利用率峰值(原始)',
  513. `IND_VALUE_HOST_DISK_TOTAL` decimal(38,4) DEFAULT NULL COMMENT '磁盘总大小(原始)',
  514. `IND_VALUE_HOST_DISK_USED` decimal(38,4) DEFAULT NULL COMMENT '已使用磁盘大小(原始)',
  515. `IND_VALUE_HOST_DISK_UTILIZATION` decimal(16,4) DEFAULT NULL COMMENT '磁盘利用率峰值(原始)',
  516. `Band_widthrate` decimal(38,4) DEFAULT NULL COMMENT '实时带宽利用率',
  517. `Bandwidthrate_High` decimal(38,4) DEFAULT NULL COMMENT '带宽峰值用率',
  518. `Network_delay` decimal(38,4) DEFAULT NULL COMMENT '网络时延',
  519. `Network_flow` decimal(38,4) DEFAULT NULL COMMENT '端口流量',
  520. `Network_PacketErrorrate` decimal(38,4) DEFAULT NULL COMMENT '丢包率',
  521. `Network_PacketLossrate` decimal(38,4) DEFAULT NULL COMMENT '错包率',
  522. `Write_rate` decimal(38,4) DEFAULT NULL COMMENT '读写速率',
  523. `network_Ifinrate` decimal(38,4) DEFAULT NULL COMMENT '下行利用率',
  524. `network_Ifortrate` decimal(38,4) DEFAULT NULL COMMENT '上行利用率',
  525. `Device_total` decimal(38,4) DEFAULT NULL COMMENT '设备总量',
  526. `Device_used` decimal(38,4) DEFAULT NULL COMMENT '设备已用容量',
  527. `Device_UTILIZATION` decimal(38,4) DEFAULT NULL COMMENT '资源利用率',
  528. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台',
  529. KEY `bi_app_stat_group_by_time_dtype_IDX` (`dtype`,`thedvalue`) USING BTREE
  530. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  531. DROP TABLE IF EXISTS `bi_save_tempbgtime`;
  532. CREATE TABLE `bi_save_tempbgtime` (
  533. `bg_time` varchar(300) DEFAULT NULL
  534. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  535. drop procedure if exists wk_app_stat_group_by_time;
  536. delimiter $$
  537. create procedure wk_app_stat_group_by_time(in bg_time varchar(300), in ed_time varchar(300))
  538. begin
  539. delete from bi_app_stat_group_by_time where dtype = 'HOUR' and thedvalue >= concat(bg_time,'00') and thedvalue < concat(ed_time,'00');
  540. delete from bi_app_stat_group_by_time where dtype = 'DAY' and thedvalue >= bg_time and thedvalue < ed_time;
  541. delete from bi_app_stat_group_by_time where dtype = 'MONTH' and thedvalue >= date_format(STR_TO_DATE(bg_time,'%Y%m%d'),'%Y%m') and thedvalue <= date_format(DATE_ADD(STR_TO_DATE(ed_time,'%Y%m%d'), INTERVAL -1 day),'%Y%m');
  542. delete from bi_app_stat_group_by_time where dtype = 'YEAR' and thedvalue >= date_format(STR_TO_DATE(bg_time,'%Y%m%d'),'%Y') and thedvalue <= date_format(DATE_ADD(STR_TO_DATE(ed_time,'%Y%m%d'), INTERVAL -1 day),'%Y');
  543. insert into bi_app_stat_group_by_time
  544. select
  545. 'HOUR' as dtype,
  546. date_format(b.IND_VALUE_TIME,'%Y%m%d%H') as thedvalue,
  547. date_format(b.IND_VALUE_TIME,'%H') as dhour,
  548. a.itm_hardware_resources_id,a.itm_hardware_resources_type,a.itm_hardware_resources_cntype,case when a.NAME = '最高人民法院' then '最高' else '全国' end QGorZG,a.itm_hardware_resources_areacode,
  549. a.ITM_HARDWARE_RESOURCES_ASSNO,a.ITM_HARDWARE_RESOURCES_CODE,a.ITM_HARDWARE_RESOURCES_NAME,a.ITM_HARDWARE_RESOURCES_IP,a.ITM_HARDWARE_RESOURCES_STATUS,a.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME
  550. ,a.itm_monitor_flag,a.create_time,a.NAME,a.resclasscnname,a.UID,a.pinpai,a.xinghao,a.mac
  551. ,a.guoziguishurenyuan,a.guoziguishubumen,a.yunweirenyuan,
  552. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  553. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  554. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  555. avg(IND_VALUE_Network_Bandwidthrate) as Band_widthrate,
  556. max(IND_VALUE_Network_Bandwidthrate_High) as Bandwidthrate_High,
  557. 0 as Network_delay,
  558. avg(TRANSSIZE_Up + TRANSSIZE_Down) as Network_flow,
  559. avg(IND_VALUE_Network_PacketErrorrate) as Network_PacketErrorrate,
  560. avg(IND_VALUE_Network_PacketLossrate) as Network_PacketLossrate,
  561. avg(IND_VALUE_Network_Bandwidthrate) as Write_rate,
  562. avg(IND_VALUE_Network_Ifinrate) as network_Ifinrate,
  563. avg(IND_VALUE_Network_Ifoutrate) as network_Ifortrate,
  564. 0.0 as Device_total,
  565. 0.0 as Device_used,
  566. 0.0 as Device_UTILIZATION,
  567. a.cloud
  568. from bi_itm_hardware_resources a
  569. inner join app_network_stat b
  570. on a.itm_hardware_resources_id = b.INT_ID
  571. where b.IND_VALUE_TIME >= date_format(STR_TO_DATE(bg_time,'%Y%m%d'),'%Y-%m-%d') and b.IND_VALUE_TIME < date_format(STR_TO_DATE(ed_time,'%Y%m%d'),'%Y-%m-%d')
  572. GROUP BY date_format(b.IND_VALUE_TIME,'%Y%m%d%H'),date_format(b.IND_VALUE_TIME,'%H'),
  573. a.itm_hardware_resources_id,a.itm_hardware_resources_type,a.itm_hardware_resources_cntype,case when a.NAME = '最高人民法院' then '最高' else '全国' end,a.itm_hardware_resources_areacode,
  574. a.ITM_HARDWARE_RESOURCES_ASSNO,a.ITM_HARDWARE_RESOURCES_CODE,a.ITM_HARDWARE_RESOURCES_NAME,a.ITM_HARDWARE_RESOURCES_IP,a.ITM_HARDWARE_RESOURCES_STATUS,a.NET_NAME
  575. ,a.itm_monitor_flag,a.create_time,a.NAME,a.resclasscnname,a.UID,a.pinpai,a.xinghao,a.mac
  576. ,a.guoziguishurenyuan,a.guoziguishubumen,a.yunweirenyuan,a.cloud
  577. union all
  578. select
  579. 'HOUR' as dtype,
  580. date_format(b.IND_VALUE_TIME,'%Y%m%d%H') as thedvalue,
  581. date_format(b.IND_VALUE_TIME,'%H') as dhour,
  582. a.itm_hardware_resources_id,a.itm_hardware_resources_type,a.itm_hardware_resources_cntype,case when a.NAME = '最高人民法院' then '最高' else '全国' end as QGorZG,a.itm_hardware_resources_areacode,
  583. a.ITM_HARDWARE_RESOURCES_ASSNO,a.ITM_HARDWARE_RESOURCES_CODE,a.ITM_HARDWARE_RESOURCES_NAME,a.ITM_HARDWARE_RESOURCES_IP,a.ITM_HARDWARE_RESOURCES_STATUS,a.NET_NAME as ITM_HARDWARE_RESOURCES_NETNAME
  584. ,a.itm_monitor_flag,a.create_time,a.NAME,a.resclasscnname,a.UID,a.pinpai,a.xinghao,a.mac
  585. ,a.guoziguishurenyuan,a.guoziguishubumen,a.yunweirenyuan,
  586. 0.0 as IND_VALUE_Network_Cpurate,0.0 as IND_VALUE_Network_Cpurate_High,0.0 as IND_VALUE_Network_Memrate,0.0 as IND_VALUE_Network_Memrate_High,
  587. sum(b.IND_VALUE_HOST_DISK_TOTAL) as IND_VALUE_HOST_DISK_TOTAL, sum(b.IND_VALUE_HOST_DISK_USED) as IND_VALUE_HOST_DISK_USED,
  588. max(b.IND_VALUE_HOST_DISK_UTILIZATION) as IND_VALUE_HOST_DISK_UTILIZATION,
  589. 0.0 as Band_widthrate,
  590. 0.0 as Bandwidthrate_High,
  591. 0.0 as Network_delay,
  592. 0.0 as Network_flow,
  593. 0.0 as Network_PacketErrorrate,
  594. 0.0 as Network_PacketLossrate,
  595. 0.0 as Write_rate,
  596. 0.0 as network_Ifinrate,
  597. 0.0 as network_Ifortrate,
  598. max(IND_VALUE_HOST_DISK_TOTAL) as Device_total,
  599. max(IND_VALUE_HOST_DISK_USED) as Device_used,
  600. max(b.IND_VALUE_HOST_DISK_UTILIZATION) as Device_UTILIZATION,
  601. a.cloud
  602. from bi_itm_hardware_resources a
  603. inner join app_host_stat b
  604. on a.itm_hardware_resources_id = b.INT_ID
  605. where b.IND_VALUE_TIME >= date_format(STR_TO_DATE(bg_time,'%Y%m%d'),'%Y-%m-%d') and b.IND_VALUE_TIME < date_format(STR_TO_DATE(ed_time,'%Y%m%d'),'%Y-%m-%d')
  606. GROUP BY date_format(b.IND_VALUE_TIME,'%Y%m%d%H'),date_format(b.IND_VALUE_TIME,'%H'),
  607. a.itm_hardware_resources_id,a.itm_hardware_resources_type,a.itm_hardware_resources_cntype,case when a.NAME = '最高人民法院' then '最高' else '全国' end,a.itm_hardware_resources_areacode,
  608. a.ITM_HARDWARE_RESOURCES_ASSNO,a.ITM_HARDWARE_RESOURCES_CODE,a.ITM_HARDWARE_RESOURCES_NAME,a.ITM_HARDWARE_RESOURCES_IP,a.ITM_HARDWARE_RESOURCES_STATUS,a.NET_NAME
  609. ,a.itm_monitor_flag,a.CREATE_TIME,a.NAME,a.resclasscnname,a.UID,a.pinpai,a.xinghao,a.mac
  610. ,a.guoziguishurenyuan,a.guoziguishubumen,a.yunweirenyuan,a.cloud;
  611. insert into bi_app_stat_group_by_time
  612. select
  613. 'DAY' as dtype,
  614. substr(thedvalue,1,8) as thedvalue,
  615. dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  616. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  617. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan,
  618. avg(IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  619. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  620. sum(IND_VALUE_HOST_DISK_TOTAL) as IND_VALUE_HOST_DISK_TOTAL, sum(IND_VALUE_HOST_DISK_USED) as IND_VALUE_HOST_DISK_USED,
  621. max(IND_VALUE_HOST_DISK_UTILIZATION) as IND_VALUE_HOST_DISK_UTILIZATION,
  622. avg(Band_widthrate) as Band_widthrate,
  623. max(Bandwidthrate_High) as Bandwidthrate_High,
  624. 0 as Network_delay,
  625. 0 as Network_flow,
  626. avg(Network_PacketErrorrate) as Network_PacketErrorrate,
  627. avg(Network_PacketLossrate) as Network_PacketLossrate,
  628. 0 as Write_rate,
  629. avg(network_Ifinrate) as network_Ifinrate,
  630. avg(network_Ifortrate) as network_Ifortrate,
  631. max(Device_total) as Device_total,
  632. max(Device_used) as Device_used,
  633. max(Device_UTILIZATION) as Device_UTILIZATION,
  634. cloud
  635. from bi_app_stat_group_by_time
  636. where dtype = 'HOUR' and thedvalue >= concat(bg_time,'00') and thedvalue < concat(ed_time,'00')
  637. group by substr(thedvalue,1,8),dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  638. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  639. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan, cloud;
  640. insert into bi_app_stat_group_by_time
  641. select
  642. 'MONTH' as dtype,
  643. substr(thedvalue,1,6) as thedvalue,
  644. dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  645. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  646. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan,
  647. avg(IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  648. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  649. sum(IND_VALUE_HOST_DISK_TOTAL) as IND_VALUE_HOST_DISK_TOTAL, sum(IND_VALUE_HOST_DISK_USED) as IND_VALUE_HOST_DISK_USED,
  650. max(IND_VALUE_HOST_DISK_UTILIZATION) as IND_VALUE_HOST_DISK_UTILIZATION,
  651. avg(Band_widthrate) as Band_widthrate,
  652. max(Bandwidthrate_High) as Bandwidthrate_High,
  653. 0 as Network_delay,
  654. 0 as Network_flow,
  655. avg(Network_PacketErrorrate) as Network_PacketErrorrate,
  656. avg(Network_PacketLossrate) as Network_PacketLossrate,
  657. 0 as Write_rate,
  658. avg(network_Ifinrate) as network_Ifinrate,
  659. avg(network_Ifortrate) as network_Ifortrate,
  660. max(Device_total) as Device_total,
  661. max(Device_used) as Device_used,
  662. max(Device_UTILIZATION) as Device_UTILIZATION,
  663. cloud
  664. from bi_app_stat_group_by_time
  665. where dtype = 'DAY' and thedvalue >= bg_time and thedvalue < ed_time
  666. group by substr(thedvalue,1,6),dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  667. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  668. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan, cloud;
  669. insert into bi_app_stat_group_by_time
  670. select
  671. 'YEAR' as dtype,
  672. substr(thedvalue,1,4) as thedvalue,
  673. dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  674. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  675. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan,
  676. avg(IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  677. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  678. sum(IND_VALUE_HOST_DISK_TOTAL) as IND_VALUE_HOST_DISK_TOTAL, sum(IND_VALUE_HOST_DISK_USED) as IND_VALUE_HOST_DISK_USED,
  679. max(IND_VALUE_HOST_DISK_UTILIZATION) as IND_VALUE_HOST_DISK_UTILIZATION,
  680. avg(Band_widthrate) as Band_widthrate,
  681. max(Bandwidthrate_High) as Bandwidthrate_High,
  682. 0 as Network_delay,
  683. 0 as Network_flow,
  684. avg(Network_PacketErrorrate) as Network_PacketErrorrate,
  685. avg(Network_PacketLossrate) as Network_PacketLossrate,
  686. 0 as Write_rate,
  687. avg(network_Ifinrate) as network_Ifinrate,
  688. avg(network_Ifortrate) as network_Ifortrate,
  689. max(Device_total) as Device_total,
  690. max(Device_used) as Device_used,
  691. max(Device_UTILIZATION) as Device_UTILIZATION,
  692. cloud
  693. from bi_app_stat_group_by_time
  694. where dtype = 'MONTH' and thedvalue >= date_format(STR_TO_DATE(bg_time,'%Y%m%d'),'%Y%m') and thedvalue <= date_format(DATE_ADD(STR_TO_DATE(ed_time,'%Y%m%d'), INTERVAL -1 day),'%Y%m')
  695. group by substr(thedvalue,1,4),dhour ,itm_hardware_resources_id ,itm_hardware_resources_type ,itm_hardware_resources_cntype ,QGorZG ,itm_hardware_resources_areacode ,
  696. ITM_HARDWARE_RESOURCES_ASSNO ,ITM_HARDWARE_RESOURCES_CODE ,ITM_HARDWARE_RESOURCES_NAME ,ITM_HARDWARE_RESOURCES_IP ,ITM_HARDWARE_RESOURCES_STATUS ,
  697. ITM_HARDWARE_RESOURCES_NETNAME ,itm_monitor_flag ,create_time ,NAME ,resclasscnname ,UID ,pinpai ,xinghao ,mac ,guoziguishurenyuan ,guoziguishubumen ,yunweirenyuan, cloud;
  698. end $$
  699. delimiter ;
  700. -- 循环执行(按天循环运行,并将执行完成的结果插入bi_save_tempbgtime)
  701. drop procedure if exists wk_app_stat_group_by_time_xunhuan;
  702. delimiter $$
  703. create procedure wk_app_stat_group_by_time_xunhuan(in bg_time varchar(300), in ed_time varchar(300))
  704. begin
  705. declare i varchar(300);
  706. set i = bg_time;
  707. while i < ed_time do
  708. call wk_app_stat_group_by_time(i, date_format(DATE_ADD(STR_TO_DATE(i,'%Y%m%d'), INTERVAL 1 day),'%Y%m%d'));
  709. insert into bi_save_tempbgtime values(i);
  710. set i = date_format(DATE_ADD(STR_TO_DATE(i,'%Y%m%d'), INTERVAL 1 day),'%Y%m%d');
  711. end while;
  712. end $$
  713. delimiter ;
  714. -- 按时间段一次运行(只包含开始时间,不包含结束时间,输入格式为20230801这种格式)
  715. truncate table bi_save_tempbgtime;
  716. call wk_app_stat_group_by_time_xunhuan('20230101','20231230');
  717. -- (5)四级法院网络中断趋势
  718. -- 建表语句
  719. DROP TABLE IF EXISTS `bi_pub_organ_siji`;
  720. CREATE TABLE `bi_pub_organ_siji` (
  721. `ID` varchar(32) DEFAULT NULL,
  722. `CODE` varchar(64) DEFAULT NULL,
  723. `FYJB1` varchar(512) DEFAULT NULL,
  724. `FYJB2` varchar(512) DEFAULT NULL,
  725. `FYJB3` varchar(512) DEFAULT NULL,
  726. `FYJB4` varchar(512) DEFAULT NULL,
  727. `FYJB1_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  728. `FYJB2_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  729. `FYJB3_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
  730. `FYJB4_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
  731. `organ_type` varchar(6) NOT NULL DEFAULT '',
  732. `COURT_NUM` varchar(255) DEFAULT NULL,
  733. `COURT_TYPE` varchar(36) DEFAULT NULL,
  734. `SHORT_NAME` varchar(255) DEFAULT NULL,
  735. `STATUS` char(1) DEFAULT NULL,
  736. `PUB_LONGITUDE` varchar(255) DEFAULT NULL,
  737. `PUB_LATITUDE` varchar(255) DEFAULT NULL,
  738. `PUB_ORGAN_IP` varchar(100) DEFAULT NULL,
  739. `FYJB1_JC` varchar(512) DEFAULT NULL,
  740. `FYJB2_JC` varchar(512) DEFAULT NULL,
  741. `FYJB3_JC` varchar(512) DEFAULT NULL,
  742. `FYJB4_JC` varchar(512) DEFAULT NULL,
  743. KEY `index_1` (`CODE`) USING BTREE,
  744. KEY `index_2` (`FYJB2`) USING BTREE,
  745. KEY `index_3` (`FYJB3`) USING BTREE,
  746. KEY `index_4` (`FYJB4`) USING BTREE,
  747. KEY `index_5` (`FYJB2_JC`) USING BTREE,
  748. KEY `index_6` (`FYJB3_JC`) USING BTREE,
  749. KEY `index_7` (`FYJB4_JC`) USING BTREE
  750. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  751. truncate table bi_pub_organ_siji;
  752. insert into bi_pub_organ_siji
  753. select
  754. m.ID,m.CODE,m.NAME AS FYJB1,'-' as FYJB2,'-' as FYJB3,'-' as FYJB4,a.org_code as FYJB1_CODE,'-' as FYJB2_CODE,'-' as FYJB3_CODE,'-' as FYJB4_CODE,
  755. 'FYJB.1' as organ_type,m.COURT_NUM,m.COURT_TYPE,m.SHORT_NAME,m.STATUS,m.PUB_LONGITUDE,m.PUB_LATITUDE,m.PUB_ORGAN_IP,
  756. m.SHORT_NAME AS FYJB1_JC,'-' as FYJB2_JC,'-' as FYJB3_JC,'-' as FYJB4_JC
  757. from pub_organ_tree a
  758. left join pub_organ m
  759. on a.org_code = m.code
  760. where a.parent_code = '0'
  761. union all
  762. select
  763. m.ID,m.CODE,l.NAME AS FYJB1,m.NAME as FYJB2,'-' as FYJB3,'-' as FYJB4,b.org_code as FYJB1_CODE,a.org_code as FYJB2_CODE,'-' as FYJB3_CODE,'-' as FYJB4_CODE,
  764. 'FYJB.2' as organ_type,m.COURT_NUM,m.COURT_TYPE,m.SHORT_NAME,m.STATUS,m.PUB_LONGITUDE,m.PUB_LATITUDE,m.PUB_ORGAN_IP,
  765. l.SHORT_NAME AS FYJB1_JC,m.SHORT_NAME as FYJB2_JC,'-' as FYJB3_JC,'-' as FYJB4_JC
  766. from pub_organ_tree a
  767. left join pub_organ_tree b
  768. on a.parent_code = b.org_code
  769. left join pub_organ l
  770. on b.org_code = l.code
  771. left join pub_organ m
  772. on a.org_code = m.code
  773. where b.parent_code = '0'
  774. union all
  775. select
  776. m.ID,m.CODE,k.NAME AS FYJB1,l.NAME as FYJB2,m.NAME as FYJB3,'-' as FYJB4,c.org_code as FYJB1_CODE,b.org_code as FYJB2_CODE,a.org_code as FYJB3_CODE,'-' as FYJB4_CODE,
  777. 'FYJB.3' as organ_type,m.COURT_NUM,m.COURT_TYPE,m.SHORT_NAME,m.STATUS,m.PUB_LONGITUDE,m.PUB_LATITUDE,m.PUB_ORGAN_IP,
  778. k.SHORT_NAME AS FYJB1_JC,l.SHORT_NAME as FYJB2_JC,m.SHORT_NAME as FYJB3_JC,'-' as FYJB4_JC
  779. from pub_organ_tree a
  780. left join pub_organ_tree b
  781. on a.parent_code = b.org_code
  782. left join pub_organ_tree c
  783. on b.parent_code = c.org_code
  784. left join pub_organ k
  785. on c.org_code = k.code
  786. left join pub_organ l
  787. on b.org_code = l.code
  788. left join pub_organ m
  789. on a.org_code = m.code
  790. where c.parent_code = '0'
  791. union all
  792. select
  793. m.ID,m.CODE,j.NAME AS FYJB1,k.NAME as FYJB2,l.NAME as FYJB3,m.NAME as FYJB4,d.org_code as FYJB1_CODE,c.org_code as FYJB2_CODE,b.org_code as FYJB3_CODE,a.org_code as FYJB4_CODE,
  794. 'FYJB.4' as organ_type,m.COURT_NUM,m.COURT_TYPE,m.SHORT_NAME,m.STATUS,m.PUB_LONGITUDE,m.PUB_LATITUDE,m.PUB_ORGAN_IP,
  795. j.SHORT_NAME AS FYJB1_JC,k.SHORT_NAME as FYJB2_JC,l.SHORT_NAME as FYJB3_JC,m.SHORT_NAME as FYJB4_JC
  796. from pub_organ_tree a
  797. left join pub_organ_tree b
  798. on a.parent_code = b.org_code
  799. left join pub_organ_tree c
  800. on b.parent_code = c.org_code
  801. left join pub_organ_tree d
  802. on c.parent_code = d.org_code
  803. left join pub_organ j
  804. on d.org_code = j.code
  805. left join pub_organ k
  806. on c.org_code = k.code
  807. left join pub_organ l
  808. on b.org_code = l.code
  809. left join pub_organ m
  810. on a.org_code = m.code
  811. where d.parent_code = '0';
  812. -- 建表语句
  813. DROP TABLE IF EXISTS `bi_sijifayuan_alm_group_by_time`;
  814. CREATE TABLE `bi_sijifayuan_alm_group_by_time` (
  815. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  816. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  817. `dhour` varchar(7) DEFAULT NULL COMMENT '日期',
  818. `alarm_object_id` varchar(64) DEFAULT NULL COMMENT '告警ID(网络CODE)',
  819. `alarm_object_ip` varchar(300) DEFAULT NULL COMMENT '告警IP(网络IP)',
  820. `alarm_object_type` varchar(6) NOT NULL DEFAULT '' COMMENT '告警对象类型',
  821. `severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警级别',
  822. `title` varchar(256) DEFAULT NULL COMMENT '告警标题',
  823. `alarm_text` mediumtext COMMENT '告警标题',
  824. `is_active_alarm` bigint(20) NOT NULL DEFAULT '0' COMMENT '告警正文',
  825. `FYJB1` varchar(512) DEFAULT NULL COMMENT '1级法院名称',
  826. `FYJB2` varchar(512) DEFAULT NULL COMMENT '2级法院名称',
  827. `FYJB3` varchar(512) DEFAULT NULL COMMENT '3级法院名称',
  828. `FYJB4` varchar(512) DEFAULT NULL COMMENT '4级法院名称',
  829. `FYJB1_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '1级法院CODE',
  830. `FYJB2_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '2级法院CODE',
  831. `FYJB3_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '3级法院CODE',
  832. `FYJB4_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '4级法院CODE',
  833. `organ_type` varchar(6) DEFAULT NULL COMMENT '法院级别',
  834. `COURT_NUM` varchar(255) DEFAULT NULL,
  835. `COURT_TYPE` varchar(36) DEFAULT NULL,
  836. `SHORT_NAME` varchar(255) DEFAULT NULL,
  837. `STATUS` char(1) DEFAULT NULL,
  838. `PUB_LONGITUDE` varchar(255) DEFAULT NULL,
  839. `PUB_LATITUDE` varchar(255) DEFAULT NULL,
  840. `PUB_ORGAN_IP` varchar(100) DEFAULT NULL,
  841. `alarm_count` double DEFAULT NULL COMMENT '告警次数',
  842. `alarm_time` decimal(65,5) DEFAULT NULL COMMENT '告警时长',
  843. `alarm_zy_num` decimal(42,0) DEFAULT NULL COMMENT '中断次数(故障次数)',
  844. `total_zy_num` decimal(24,4) DEFAULT NULL COMMENT '总资产数(取平均)',
  845. `pingall` double(17,0) DEFAULT NULL COMMENT 'ping次数',
  846. `pingdown` double(17,0) DEFAULT NULL COMMENT 'ping不通次数'
  847. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  848. truncate table bi_sijifayuan_alm_group_by_time;
  849. insert into bi_sijifayuan_alm_group_by_time
  850. select
  851. 'HOUR' AS dtype,
  852. date_format(occur_time,'%Y%m%d%H') as thedvalue,
  853. date_format(occur_time,'%H') as dhour,
  854. alarm_object_id,
  855. alarm_object_ip,
  856. alarm_object_type,severity_type,
  857. title,
  858. alarm_text,
  859. is_active_alarm,
  860. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP,
  861. sum(alarm_count) as alarm_count,
  862. sum(alarm_time) as alarm_time,
  863. count(1) as alarm_zy_num,
  864. (select count(1) from bi_itm_hardware_resources where itm_hardware_resources_cntype != '非资产设备') as total_zy_num,
  865. 0 as pingall,
  866. 0 as pingdown
  867. from (
  868. select
  869. a.occur_time,
  870. a.alarm_object_id,
  871. a.alarm_object_ip,
  872. a.alarm_object_type,
  873. case a.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
  874. a.title,
  875. a.alarm_text,
  876. a.is_active_alarm,
  877. a.alarm_count,
  878. timestampdiff(MINUTE,a.occur_time,a.end_time)*1.0/60 as alarm_time,
  879. b.FYJB1,b.FYJB2,b.FYJB3,b.FYJB4,b.FYJB1_CODE,b.FYJB2_CODE,b.FYJB3_CODE,b.FYJB4_CODE,b.organ_type,b.COURT_NUM,b.COURT_TYPE,b.SHORT_NAME,b.STATUS,b.PUB_LONGITUDE,b.PUB_LATITUDE,b.PUB_ORGAN_IP
  880. from (select * from v_bi_alm_all_alarm where alarm_object_type in ('网络','路由器','交换机')) a
  881. left join bi_pub_organ_siji b
  882. on a.alarm_object_id = b.CODE) m
  883. group by
  884. date_format(occur_time,'%Y%m%d%H') ,
  885. date_format(occur_time,'%H') ,
  886. alarm_object_id,
  887. alarm_object_ip,
  888. alarm_object_type,severity_type,
  889. title,
  890. alarm_text,
  891. is_active_alarm,
  892. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP;
  893. insert into bi_sijifayuan_alm_group_by_time
  894. select
  895. 'DAY' AS dtype,
  896. substring(thedvalue,1,8) AS thedvalue,
  897. dhour as dhour,
  898. alarm_object_id,
  899. alarm_object_ip,
  900. alarm_object_type,severity_type,
  901. title,
  902. alarm_text,
  903. is_active_alarm,
  904. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP,
  905. sum(alarm_count) as alarm_count,
  906. sum(alarm_time) as alarm_time,
  907. SUM(alarm_zy_num) as alarm_zy_num,
  908. AVG(total_zy_num) as total_zy_num,
  909. SUM(pingall) as pingall,
  910. SUM(pingdown) as pingdown
  911. FROM bi_sijifayuan_alm_group_by_time
  912. where dtype = 'HOUR'
  913. GROUP BY
  914. substring(thedvalue,1,8),
  915. dhour,
  916. alarm_object_id,
  917. alarm_object_ip,
  918. alarm_object_type,severity_type,
  919. title,
  920. alarm_text,
  921. is_active_alarm,
  922. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP;
  923. insert into bi_sijifayuan_alm_group_by_time
  924. select
  925. 'MONTH' AS dtype,
  926. substring(thedvalue,1,6) AS thedvalue,
  927. dhour as dhour,
  928. alarm_object_id,
  929. alarm_object_ip,
  930. alarm_object_type,severity_type,
  931. title,
  932. alarm_text,
  933. is_active_alarm,
  934. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP,
  935. sum(alarm_count) as alarm_count,
  936. sum(alarm_time) as alarm_time,
  937. SUM(alarm_zy_num) as alarm_zy_num,
  938. AVG(total_zy_num) as total_zy_num,
  939. SUM(pingall) as pingall,
  940. SUM(pingdown) as pingdown
  941. FROM bi_sijifayuan_alm_group_by_time
  942. where dtype = 'DAY'
  943. GROUP BY
  944. substring(thedvalue,1,6),
  945. dhour,
  946. alarm_object_id,
  947. alarm_object_ip,
  948. alarm_object_type,severity_type,
  949. title,
  950. alarm_text,
  951. is_active_alarm,
  952. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP;
  953. insert into bi_sijifayuan_alm_group_by_time
  954. select
  955. 'YEAR' AS dtype,
  956. substring(thedvalue,1,4) AS thedvalue,
  957. dhour as dhour,
  958. alarm_object_id,
  959. alarm_object_ip,
  960. alarm_object_type,severity_type,
  961. title,
  962. alarm_text,
  963. is_active_alarm,
  964. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP,
  965. sum(alarm_count) as alarm_count,
  966. sum(alarm_time) as alarm_time,
  967. SUM(alarm_zy_num) as alarm_zy_num,
  968. AVG(total_zy_num) as total_zy_num,
  969. SUM(pingall) as pingall,
  970. SUM(pingdown) as pingdown
  971. FROM bi_sijifayuan_alm_group_by_time
  972. where dtype = 'MONTH'
  973. GROUP BY
  974. substring(thedvalue,1,4),
  975. dhour,
  976. alarm_object_id,
  977. alarm_object_ip,
  978. alarm_object_type,severity_type,
  979. title,
  980. alarm_text,
  981. is_active_alarm,
  982. FYJB1,FYJB2,FYJB3,FYJB4,FYJB1_CODE,FYJB2_CODE,FYJB3_CODE,FYJB4_CODE,organ_type,COURT_NUM,COURT_TYPE,SHORT_NAME,STATUS,PUB_LONGITUDE,PUB_LATITUDE,PUB_ORGAN_IP;
  983. -- (6) 虚拟化资源分配趋势、虚拟化资源使用趋势
  984. -- 建表语句
  985. DROP TABLE IF EXISTS `bi_host_stat`;
  986. CREATE TABLE `bi_host_stat` (
  987. `dtype` VARCHAR ( 10 ) NOT NULL DEFAULT '',
  988. `thedvalue` VARCHAR ( 10 ) DEFAULT NULL,
  989. `COMPANY` VARCHAR ( 30 ) DEFAULT NULL COMMENT '数据来源',
  990. `target` VARCHAR ( 20 ) NOT NULL DEFAULT '',
  991. `dim` VARCHAR ( 20 ) NOT NULL DEFAULT '',
  992. `dim_value` DECIMAL ( 50, 20 ) DEFAULT NULL,
  993. `group_agg` VARCHAR ( 10 ) NOT NULL DEFAULT '',
  994. `unit` VARCHAR ( 10 ) NOT NULL DEFAULT '单位' ,
  995. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台'
  996. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  997. TRUNCATE table bi_host_stat;
  998. INSERT INTO bi_host_stat
  999. select
  1000. 'HOUR' as dtype,
  1001. a.thedvalue,
  1002. a.COMPANY,
  1003. case b.mm when 1 then 'CPU' when 2 then '内存' when 3 then '硬盘'when 4 then 'CPU' when 5 then '内存' when 6 then '硬盘'when 7 then 'CPU' when 8 then '内存' when 9 then '硬盘' when 10 then 'CPU' when 11 then '内存' when 12 then '硬盘' else '' end as target,
  1004. case b.mm when 1 then '额定量' when 2 then '额定量' when 3 then '额定量' when 4 then '分配量'
  1005. when 5 then '分配量' when 6 then '分配量'when 7 then '剩余可用' when 8 then '剩余可用' when 9 then '剩余可用' when 10 then '分配占比' when 11 then '分配占比' when 12 then '分配占比' else '' end as dim,
  1006. round(case b.mm when 1 then dim1 when 2 then dim2 when 3 then dim3 when 4 then dim4 when 5 then dim5 when 6 then dim6 when 7 then dim7 when 8 then dim8 when 9 then dim9 when 10 then IF(dim1<>0,dim4/dim1,0) when 11
  1007. then IF(dim2<>0,dim5/dim2,0) when 12 then IF(dim3<>0,dim6/dim3,0) else null end ,2) as dim_value,
  1008. case b.mm when 1 then 'avg' when 2 then 'max' when 3 then 'max'when 4 then 'avg' when 5 then 'max' when 6 then 'max'when 7 then 'avg' when 8 then 'max' when 9 then 'max' else 'avg' end as group_agg,
  1009. case b.mm when 1 then 'GB' when 2 then 'GB' when 3 then 'GB' when 4 then 'GB'
  1010. when 5 then 'GB' when 6 then 'GB'when 7 then 'GB' when 8 then 'GB' when 9 then 'GB' when 10 then '%' when 11 then '%' when 12 then '%' else '' end as unit,
  1011. cloud from (
  1012. SELECT
  1013. date_format( temp1.CREATE_TIME, '%Y%m%d%H' ) AS thedvalue,
  1014. CASE
  1015. temp1.COMPANY
  1016. WHEN 'huawei' THEN
  1017. '太极云资源池'
  1018. WHEN 'huawei-xc' THEN
  1019. '信创云资源池'
  1020. WHEN 'shouxin' THEN
  1021. '首信云资源池'
  1022. WHEN 'unicom' THEN
  1023. '联通云资源池' ELSE '其它'
  1024. END AS COMPANY,
  1025. avg( IND_VALUE_HOST_CPU_UTILIZATION ) AS dim1,
  1026. MAX( IND_VALUE_HOST_MEMORY_TOTAL ) AS dim2,
  1027. MAX( IND_VALUE_HOST_DISK_TOTAL ) AS dim3,
  1028. avg( IND_VALUE_HOST_CPU_TOP ) AS dim4,
  1029. MAX( IND_VALUE_HOST_MEMORY_USED ) AS dim5,
  1030. MAX( IND_VALUE_HOST_DISK_USED ) AS dim6,
  1031. avg( IND_VALUE_HOST_CPU_UTILIZATION_LOW ) AS dim7,
  1032. MAX( IND_VALUE_HOST_MEMORY_UNUSED ) AS dim8,
  1033. MAX( IND_VALUE_HOST_DISK_UNUSED ) AS dim9,
  1034. temp2.cloud
  1035. FROM
  1036. app_host_stat temp1
  1037. LEFT JOIN itm_hardware_resources AS temp2 ON temp1.int_id = temp2.ITM_HARDWARE_RESOURCES_ID
  1038. WHERE
  1039. temp1.COMPANY IS NOT NULL
  1040. GROUP BY
  1041. temp1.COMPANY,
  1042. date_format( temp1.CREATE_TIME, '%Y%m%d%H' ),
  1043. temp2.cloud
  1044. ) a
  1045. cross join
  1046. (select 1 mm
  1047. union all select 2
  1048. union all select 3
  1049. union all select 4
  1050. union all select 5
  1051. union all select 6
  1052. union all select 7
  1053. union all select 8
  1054. union all select 9
  1055. union all select 10
  1056. union all select 11
  1057. union all select 12) b;
  1058. INSERT INTO bi_host_stat
  1059. select 'DAY' as dtype,substring(thedvalue,1,8) AS thedvalue,COMPANY,target,dim,AVG(dim_value),group_agg,unit,cloud
  1060. from bi_host_stat
  1061. where group_agg = 'avg' AND dtype = 'HOUR'
  1062. GROUP BY substring(thedvalue,1,8),COMPANY,target,dim,group_agg,unit,cloud
  1063. UNION ALL
  1064. select 'DAY' as dtype,substring(thedvalue,1,8) AS thedvalue,COMPANY,target,dim,MAX(dim_value),group_agg,unit,cloud
  1065. from bi_host_stat
  1066. where group_agg = 'MAX' AND dtype = 'HOUR'
  1067. GROUP BY substring(thedvalue,1,8),COMPANY,target,dim,group_agg,unit,cloud ;
  1068. INSERT INTO bi_host_stat
  1069. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,COMPANY,target,dim,AVG(dim_value),group_agg,unit,cloud
  1070. from bi_host_stat
  1071. where group_agg = 'avg' AND dtype = 'DAY'
  1072. GROUP BY substring(thedvalue,1,6),COMPANY,target,dim,group_agg,unit,cloud
  1073. UNION ALL
  1074. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,COMPANY,target,dim,MAX(dim_value),group_agg,unit,cloud
  1075. from bi_host_stat
  1076. where group_agg = 'MAX' AND dtype = 'DAY'
  1077. GROUP BY substring(thedvalue,1,6),COMPANY,target,dim,group_agg,unit,cloud;
  1078. INSERT INTO bi_host_stat
  1079. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,COMPANY,target,dim,AVG(dim_value),group_agg,unit,cloud
  1080. from bi_host_stat
  1081. where group_agg = 'avg' AND dtype = 'MONTH'
  1082. GROUP BY substring(thedvalue,1,4),COMPANY,target,dim,group_agg,unit,cloud
  1083. UNION ALL
  1084. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,COMPANY,target,dim,MAX(dim_value),group_agg,unit,cloud
  1085. from bi_host_stat
  1086. where group_agg = 'MAX' AND dtype = 'MONTH'
  1087. GROUP BY substring(thedvalue,1,4),COMPANY,target,dim,group_agg,unit,cloud;
  1088. DROP TABLE IF EXISTS `bi_host_stat_2`;
  1089. CREATE TABLE `bi_host_stat_2` (
  1090. `dtype` VARCHAR ( 10 ) NOT NULL DEFAULT '',
  1091. `thedvalue` VARCHAR ( 10 ) DEFAULT NULL,
  1092. `COMPANY` VARCHAR ( 30 ) DEFAULT NULL COMMENT '数据来源',
  1093. `dim` VARCHAR ( 20 ) NOT NULL DEFAULT '',
  1094. `CPU` DECIMAL ( 50, 20 ) DEFAULT NULL,
  1095. `内存` DECIMAL ( 50, 20 ) DEFAULT NULL,
  1096. `硬盘` DECIMAL ( 50, 20 ) DEFAULT NULL,
  1097. `CPU unit` VARCHAR ( 10 ) NOT NULL DEFAULT 'CPU unit' ,
  1098. `内存 unit` VARCHAR ( 10 ) NOT NULL DEFAULT '内存 unit' ,
  1099. `硬盘 unit` VARCHAR ( 10 ) NOT NULL DEFAULT '硬盘 unit' ,
  1100. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台'
  1101. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  1102. INSERT INTO bi_host_stat_2
  1103. select
  1104. 'HOUR' as dtype,
  1105. a.thedvalue,
  1106. a.COMPANY,
  1107. case b.mm when 1 then '额定量' when 2 then '分配量' when 3 then '剩余可用' when 4 then '分配占比' else '' end as dim,
  1108. round(case b.mm when 1 then dim1 when 2 then dim4 when 3 then dim7 when 4 then IF(dim1<>0,dim4/dim1,0) end,2) as 'CPU',
  1109. round(case b.mm when 1 then dim2 when 2 then dim5 when 3 then dim8 when 4 then IF(dim2<>0,dim5/dim2,0) end,2) as '内存',
  1110. round(case b.mm when 1 then dim3 when 2 then dim6 when 3 then dim9 when 4 then IF(dim3<>0,dim6/dim3,0) end,2) as '硬盘',
  1111. '%' as 'CPU unit', IF(b.mm=4, '%','GB') as '内存 unit', IF(b.mm=4, '%','GB') as '硬盘 unit',
  1112. cloud from (
  1113. SELECT
  1114. date_format( temp1.CREATE_TIME, '%Y%m%d%H' ) AS thedvalue,
  1115. CASE
  1116. temp1.COMPANY
  1117. WHEN 'huawei' THEN
  1118. '太极云资源池'
  1119. WHEN 'huawei-xc' THEN
  1120. '信创云资源池'
  1121. WHEN 'shouxin' THEN
  1122. '首信云资源池'
  1123. WHEN 'unicom' THEN
  1124. '联通云资源池' ELSE '其它'
  1125. END AS COMPANY,
  1126. avg( IND_VALUE_HOST_CPU_UTILIZATION ) AS dim1,
  1127. MAX( IND_VALUE_HOST_MEMORY_TOTAL ) AS dim2,
  1128. MAX( IND_VALUE_HOST_DISK_TOTAL ) AS dim3,
  1129. avg( IND_VALUE_HOST_CPU_TOP ) AS dim4,
  1130. MAX( IND_VALUE_HOST_MEMORY_USED ) AS dim5,
  1131. MAX( IND_VALUE_HOST_DISK_USED ) AS dim6,
  1132. avg( IND_VALUE_HOST_CPU_UTILIZATION_LOW ) AS dim7,
  1133. MAX( IND_VALUE_HOST_MEMORY_UNUSED ) AS dim8,
  1134. MAX( IND_VALUE_HOST_DISK_UNUSED ) AS dim9,
  1135. temp2.cloud
  1136. FROM
  1137. app_host_stat temp1
  1138. LEFT JOIN itm_hardware_resources AS temp2 ON temp1.int_id = temp2.ITM_HARDWARE_RESOURCES_ID
  1139. WHERE
  1140. temp1.COMPANY IS NOT NULL
  1141. GROUP BY
  1142. temp1.COMPANY,
  1143. date_format( temp1.CREATE_TIME, '%Y%m%d%H' ),
  1144. temp2.cloud
  1145. ) a
  1146. cross join
  1147. (select 1 mm
  1148. union all select 2
  1149. union all select 3
  1150. union all select 4) b;
  1151. INSERT INTO bi_host_stat_2
  1152. select 'DAY' as dtype,substring(thedvalue,1,8) AS thedvalue,COMPANY,dim,AVG(`CPU`),MAX(`内存`),MAX(`硬盘`),`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1153. from bi_host_stat_2
  1154. where dtype = 'HOUR'
  1155. GROUP BY substring(thedvalue,1,8),COMPANY,dim,`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1156. INSERT INTO bi_host_stat_2
  1157. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,COMPANY,dim,AVG(`CPU`),MAX(`内存`),MAX(`硬盘`),`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1158. from bi_host_stat_2
  1159. where dtype = 'DAY'
  1160. GROUP BY substring(thedvalue,1,6),COMPANY,dim,`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1161. INSERT INTO bi_host_stat_2
  1162. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,COMPANY,dim,AVG(`CPU`),MAX(`内存`),MAX(`硬盘`),`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1163. from bi_host_stat_2
  1164. where dtype = 'MONTH'
  1165. GROUP BY substring(thedvalue,1,4),COMPANY,dim,`CPU unit`,`内存 unit`,`硬盘 unit`,cloud
  1166. -- (7)设备回收趋势
  1167. -- 建表语句
  1168. DROP TABLE IF EXISTS `bi_recycle_trend`;
  1169. CREATE TABLE `bi_recycle_trend` (
  1170. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1171. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  1172. `itm_hardware_resources_cntype` varchar(15) DEFAULT NULL COMMENT '设备类型',
  1173. `NET_NAME` varchar(50) DEFAULT NULL COMMENT '网系',
  1174. `total` decimal(38,4) DEFAULT NULL COMMENT '设备回收数',
  1175. `total_recycled` decimal(38,4) DEFAULT NULL COMMENT '已回收数',
  1176. `total_no_recycled` decimal(38,4) DEFAULT NULL COMMENT '未回收数'
  1177. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1178. -- https://blog.csdn.net/helloxiaozhe/article/details/78570016
  1179. set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  1180. TRUNCATE table bi_recycle_trend;
  1181. insert into bi_recycle_trend
  1182. SELECT
  1183. 'HOUR' as dtype,
  1184. date_format(a.start_time,'%Y%m%d%H') as thedvalue,
  1185. c.itm_hardware_resources_cntype,
  1186. c.NET_NAME,
  1187. count(1) as total,
  1188. sum(case when a.end_time is not null then 1 else 0 end) as total_recycled,
  1189. sum(case when a.end_time is null then 1 else 0 end) as total_no_recycled
  1190. from icm_bpm.t_work_flow a
  1191. LEFT JOIN icm_bpm.t_work_resource_real b on a.id = b.work_id
  1192. -- LEFT JOIN v_bi_itm_hardware_resources c on c.itm_hardware_resources_id=b.resource_id
  1193. left join (select itm_hardware_resources_ip,itm_hardware_resources_cntype,NET_NAME from (
  1194. select itm_hardware_resources_ip,itm_hardware_resources_cntype,NET_NAME from bi_itm_hardware_resources) a
  1195. group by itm_hardware_resources_ip) c on c.itm_hardware_resources_ip = b.object_id
  1196. WHERE a.process_type_name='基础设施退网'
  1197. GROUP BY date_format(a.start_time,'%Y%m%d%H') ,c.itm_hardware_resources_cntype,c.NET_NAME;
  1198. insert into bi_recycle_trend
  1199. select
  1200. 'DAY' as dtype,
  1201. substr(thedvalue,1,8) as thedvalue,
  1202. itm_hardware_resources_cntype,
  1203. NET_NAME,
  1204. sum(total) as total,
  1205. sum(total_recycled) as total_recycled,
  1206. sum(total_no_recycled) as total_no_recycled
  1207. from bi_recycle_trend
  1208. where dtype = 'HOUR'
  1209. GROUP BY substr(thedvalue,1,8),itm_hardware_resources_cntype,
  1210. NET_NAME;
  1211. insert into bi_recycle_trend
  1212. select
  1213. 'MONTH' as dtype,
  1214. substr(thedvalue,1,6) as thedvalue,
  1215. itm_hardware_resources_cntype,
  1216. NET_NAME,
  1217. sum(total) as total,
  1218. sum(total_recycled) as total_recycled,
  1219. sum(total_no_recycled) as total_no_recycled
  1220. from bi_recycle_trend
  1221. where dtype = 'DAY'
  1222. GROUP BY substr(thedvalue,1,6),itm_hardware_resources_cntype,
  1223. NET_NAME;
  1224. insert into bi_recycle_trend
  1225. select
  1226. 'YEAR' as dtype,
  1227. substr(thedvalue,1,4) as thedvalue,
  1228. itm_hardware_resources_cntype,
  1229. NET_NAME,
  1230. sum(total) as total,
  1231. sum(total_recycled) as total_recycled,
  1232. sum(total_no_recycled) as total_no_recycled
  1233. from bi_recycle_trend
  1234. where dtype = 'MONTH'
  1235. GROUP BY substr(thedvalue,1,4),itm_hardware_resources_cntype,
  1236. NET_NAME;
  1237. -- (8)应用系统监控覆盖率趋势
  1238. -- 建表语句
  1239. DROP TABLE IF EXISTS bi_app_fugai;
  1240. CREATE TABLE `bi_app_fugai` (
  1241. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1242. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  1243. `ITM_APP_ID` varchar(255) NOT NULL,
  1244. `ITM_APP_CODE` varchar(45) DEFAULT NULL COMMENT '编码',
  1245. `ITM_APP_NAME` varchar(200) DEFAULT NULL COMMENT '应用名称',
  1246. `ITM_APP_SHORTNAME` varchar(100) DEFAULT NULL COMMENT '应用简称',
  1247. `ITM_APP_DESC` text COMMENT '系统简介',
  1248. `ITM_APP_DEPT` varchar(300) DEFAULT NULL COMMENT '归口部门',
  1249. `ITM_APP_COURTCODE` varchar(45) DEFAULT NULL COMMENT '承建单位\n例如:最高法、山东省高法\n取法院系统的组织机构编码',
  1250. `ITM_NETGROUP_ID` varchar(30) DEFAULT NULL COMMENT '应用所属网系\n更新字典表\nNG000:外部专网\nNG001:法院专网\nNG002:互联网\nNG003:移动专网\nNG004:涉密内网',
  1251. `ITM_APPCATAGORY_ID` varchar(45) DEFAULT NULL,
  1252. `ITM_APP_VENDOR` varchar(45) DEFAULT NULL COMMENT '供应商:浪潮、太极等',
  1253. `ITM_APP_UPTIME` datetime DEFAULT NULL COMMENT '上线时间',
  1254. `ITM_APP_VERSION` varchar(45) DEFAULT NULL,
  1255. `ITM_APP_MAINTENANCE_ID` varchar(45) DEFAULT NULL COMMENT '运维团队,关联运维表,使用内码连接\n',
  1256. `ITM_APP_ORDER` int(45) DEFAULT NULL COMMENT '应用顺序,展示',
  1257. `ITM_APP_NETID` varchar(45) DEFAULT NULL COMMENT '专网编号',
  1258. `ITM_APP_ICONSRC` varchar(100) DEFAULT NULL COMMENT '应用分类\n三类和25类字典表表现',
  1259. `ITM_APP_SYSTEMURL` varchar(300) DEFAULT NULL,
  1260. `ORGAN_ID` varchar(30) DEFAULT NULL COMMENT '机构id,关联机构表',
  1261. `IS_GLOBAL` varchar(45) DEFAULT NULL COMMENT '是否是全局\n如果是全局,则拓扑图是全局的\n如果是非全局,需要维护各自的',
  1262. `ITM_APP_PID` varchar(45) DEFAULT NULL COMMENT '父类系统\n',
  1263. `PLATFORM` varchar(100) DEFAULT NULL COMMENT '七大平台',
  1264. `PRIORITY` varchar(10) DEFAULT NULL COMMENT '优先级:核心-high;重要-important;一般-low',
  1265. `ITM_APP_IP` varchar(30) DEFAULT NULL COMMENT '应用所在服务器IP',
  1266. `ITM_APP_PORT` varchar(10) DEFAULT NULL COMMENT '应用所在服务器端口',
  1267. `ITM_APP_WEBROOT` varchar(100) DEFAULT NULL COMMENT '应用访问路径根目录',
  1268. `ITM_LOCATION` varchar(100) DEFAULT NULL COMMENT '位置信息',
  1269. `ITM_APP_ASSURE_LEVEL` varchar(1) DEFAULT NULL COMMENT '应用保障级别1一级保障',
  1270. `SHOW_TYPE` varchar(10) DEFAULT NULL,
  1271. `ITM_SHOW_FLAG` varchar(10) DEFAULT NULL,
  1272. `int_id` int(22) DEFAULT NULL COMMENT '其他系统关联用ID',
  1273. `INSERT_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录插入时间',
  1274. `mantance_vendor` varchar(64) DEFAULT NULL,
  1275. `mantance_duty` varchar(64) DEFAULT NULL,
  1276. `mantance_duty_phone` varchar(128) DEFAULT NULL,
  1277. `start_date` datetime DEFAULT NULL,
  1278. `mantance_year_number` int(16) DEFAULT NULL,
  1279. `ne_type` varchar(64) DEFAULT NULL,
  1280. `creator` varchar(64) DEFAULT NULL,
  1281. `create_time` datetime DEFAULT NULL,
  1282. `modifier` varchar(64) DEFAULT NULL,
  1283. `modify_time` datetime DEFAULT NULL,
  1284. `time_stamp` datetime DEFAULT NULL,
  1285. `stateflag` mediumtext,
  1286. `ruuid` varchar(128) NOT NULL,
  1287. `dataType` varchar(50) DEFAULT NULL,
  1288. `login_action` text,
  1289. `localize_flag` varchar(32) DEFAULT NULL COMMENT '是否国产化,1为国产化,0为非国产化',
  1290. `current_stat` varchar(32) DEFAULT NULL,
  1291. `contract` varchar(64) DEFAULT NULL,
  1292. `emergency_flag` varchar(32) DEFAULT NULL,
  1293. `monitor_flag` varchar(32) DEFAULT NULL,
  1294. `development_language` varchar(32) DEFAULT NULL,
  1295. `app_type` varchar(64) DEFAULT NULL,
  1296. `contract_money` varchar(32) DEFAULT NULL,
  1297. `unified_login` varchar(12) DEFAULT NULL COMMENT '统一登录:0:以接入统一桌面;1:未接入统一桌面',
  1298. `stateflag1` varchar(20) DEFAULT NULL COMMENT '应用状态',
  1299. `PRIORITY1` varchar(20) DEFAULT NULL COMMENT '重要程度',
  1300. `app_type_name` varchar(20) DEFAULT NULL COMMENT '分类',
  1301. `net_name` varchar(20) DEFAULT NULL COMMENT '网系',
  1302. `cloud_flag` varchar(20) DEFAULT NULL COMMENT '应用对应资源是否上云1为上云,0为不上云',
  1303. `organ_name` varchar(200) DEFAULT NULL COMMENT '区域',
  1304. `itm_hardware_resources_areacode` varchar(100) DEFAULT NULL COMMENT '设备区域',
  1305. `on_line` varchar(255) DEFAULT NULL,
  1306. `cloud` varchar(255) DEFAULT NULL COMMENT '云平台'
  1307. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  1308. TRUNCATE table bi_app_fugai;
  1309. insert into bi_app_fugai
  1310. select 'DAY' AS dtype, a.thedvalue, b.ITM_APP_ID ,b.ITM_APP_CODE ,b.ITM_APP_NAME ,b.ITM_APP_SHORTNAME ,b.ITM_APP_DESC ,b.ITM_APP_DEPT ,b.ITM_APP_COURTCODE ,
  1311. b.ITM_NETGROUP_ID ,b.ITM_APPCATAGORY_ID ,b.ITM_APP_VENDOR ,b.ITM_APP_UPTIME ,b.ITM_APP_VERSION ,b.ITM_APP_MAINTENANCE_ID ,b.ITM_APP_ORDER ,b.ITM_APP_NETID ,
  1312. b.ITM_APP_ICONSRC ,b.ITM_APP_SYSTEMURL ,b.ORGAN_ID ,b.IS_GLOBAL ,b.ITM_APP_PID ,b.PLATFORM ,b.PRIORITY ,b.ITM_APP_IP ,b.ITM_APP_PORT ,b.ITM_APP_WEBROOT ,
  1313. b.ITM_LOCATION ,b.ITM_APP_ASSURE_LEVEL ,b.SHOW_TYPE ,b.ITM_SHOW_FLAG ,b.int_id ,b.INSERT_TIME ,b.mantance_vendor ,b.mantance_duty ,b.mantance_duty_phone ,
  1314. b.start_date ,b.mantance_year_number ,b.ne_type ,b.creator ,b.create_time ,b.modifier ,b.modify_time ,b.time_stamp ,b.stateflag ,b.ruuid ,b.data_Type ,b.login_action ,
  1315. b.localize_flag ,b.current_stat ,b.contract ,b.emergency_flag ,b.monitor_flag ,b.development_language ,b.app_type ,b.contract_money ,b.unified_login,
  1316. case b.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  1317. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  1318. c.name as app_type_name,
  1319. d.net_name as net_name,
  1320. e.cloud_flag as cloud_flag,
  1321. f.`SHORT_NAME` as organ_name,
  1322. e.itm_hardware_resources_areacode as itm_hardware_resources_areacode,
  1323. b.on_line as on_line,
  1324. e.cloud
  1325. from (
  1326. select distinct date_format(dt_d,'%Y%m%d') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-11-09') a
  1327. left join itm_app b
  1328. on a.thedvalue >= date_format(b.create_time,'%Y%m%d')
  1329. LEFT JOIN m_com_dict c on b.app_type=c.value
  1330. LEFT JOIN itm_organ_net d on d.NET_ID = b.ITM_NETGROUP_ID
  1331. -- 只要app的一个资源上云了 就说明上云了
  1332. LEFT JOIN (SELECT servicename,itm_hardware_resources_areacode,concat(max(CASE WHEN itm_hardware_resources_cntype = '云主机' then 1 else 0 end),'') as cloud_flag,cloud
  1333. from bi_itm_hardware_resources where servicename is not null and servicename != '' group by servicename,itm_hardware_resources_areacode,cloud) e
  1334. on b.ITM_APP_NAME= e.servicename
  1335. left join pub_organ f
  1336. on b.ORGAN_ID = f.`CODE`
  1337. WHERE c.dict_index='app_type'
  1338. UNION ALL
  1339. select 'MONTH' AS dtype, a.thedvalue, b.ITM_APP_ID ,b.ITM_APP_CODE ,b.ITM_APP_NAME ,b.ITM_APP_SHORTNAME ,b.ITM_APP_DESC ,b.ITM_APP_DEPT ,b.ITM_APP_COURTCODE ,
  1340. b.ITM_NETGROUP_ID ,b.ITM_APPCATAGORY_ID ,b.ITM_APP_VENDOR ,b.ITM_APP_UPTIME ,b.ITM_APP_VERSION ,b.ITM_APP_MAINTENANCE_ID ,b.ITM_APP_ORDER ,b.ITM_APP_NETID ,
  1341. b.ITM_APP_ICONSRC ,b.ITM_APP_SYSTEMURL ,b.ORGAN_ID ,b.IS_GLOBAL ,b.ITM_APP_PID ,b.PLATFORM ,b.PRIORITY ,b.ITM_APP_IP ,b.ITM_APP_PORT ,b.ITM_APP_WEBROOT ,
  1342. b.ITM_LOCATION ,b.ITM_APP_ASSURE_LEVEL ,b.SHOW_TYPE ,b.ITM_SHOW_FLAG ,b.int_id ,b.INSERT_TIME ,b.mantance_vendor ,b.mantance_duty ,b.mantance_duty_phone ,
  1343. b.start_date ,b.mantance_year_number ,b.ne_type ,b.creator ,b.create_time ,b.modifier ,b.modify_time ,b.time_stamp ,b.stateflag ,b.ruuid ,b.data_Type ,b.login_action ,
  1344. b.localize_flag ,b.current_stat ,b.contract ,b.emergency_flag ,b.monitor_flag ,b.development_language ,b.app_type ,b.contract_money ,b.unified_login,
  1345. case b.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  1346. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  1347. c.name as app_type_name,
  1348. d.net_name as net_name,
  1349. e.cloud_flag as cloud_flag,
  1350. f.`SHORT_NAME` as organ_name,
  1351. e.itm_hardware_resources_areacode as itm_hardware_resources_areacode,
  1352. b.on_line as on_line,
  1353. e.cloud
  1354. from (
  1355. select distinct date_format(dt_d,'%Y%m') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-11-09') a
  1356. left join itm_app b
  1357. on a.thedvalue >= date_format(b.create_time,'%Y%m')
  1358. LEFT JOIN m_com_dict c on b.app_type=c.value
  1359. LEFT JOIN itm_organ_net d on d.NET_ID = b.ITM_NETGROUP_ID
  1360. -- 只要app的一个资源上云了 就说明上云了
  1361. LEFT JOIN (SELECT servicename,itm_hardware_resources_areacode,concat(max(CASE WHEN itm_hardware_resources_cntype = '云主机' then 1 else 0 end),'') as cloud_flag,cloud
  1362. from bi_itm_hardware_resources where servicename is not null and servicename != '' group by servicename,itm_hardware_resources_areacode,cloud) e
  1363. on b.ITM_APP_NAME= e.servicename
  1364. left join pub_organ f
  1365. on b.ORGAN_ID = f.`CODE`
  1366. WHERE c.dict_index='app_type'
  1367. UNION ALL
  1368. select 'YEAR' AS dtype, a.thedvalue, b.ITM_APP_ID ,b.ITM_APP_CODE ,b.ITM_APP_NAME ,b.ITM_APP_SHORTNAME ,b.ITM_APP_DESC ,b.ITM_APP_DEPT ,b.ITM_APP_COURTCODE ,
  1369. b.ITM_NETGROUP_ID ,b.ITM_APPCATAGORY_ID ,b.ITM_APP_VENDOR ,b.ITM_APP_UPTIME ,b.ITM_APP_VERSION ,b.ITM_APP_MAINTENANCE_ID ,b.ITM_APP_ORDER ,b.ITM_APP_NETID ,
  1370. b.ITM_APP_ICONSRC ,b.ITM_APP_SYSTEMURL ,b.ORGAN_ID ,b.IS_GLOBAL ,b.ITM_APP_PID ,b.PLATFORM ,b.PRIORITY ,b.ITM_APP_IP ,b.ITM_APP_PORT ,b.ITM_APP_WEBROOT ,
  1371. b.ITM_LOCATION ,b.ITM_APP_ASSURE_LEVEL ,b.SHOW_TYPE ,b.ITM_SHOW_FLAG ,b.int_id ,b.INSERT_TIME ,b.mantance_vendor ,b.mantance_duty ,b.mantance_duty_phone ,
  1372. b.start_date ,b.mantance_year_number ,b.ne_type ,b.creator ,b.create_time ,b.modifier ,b.modify_time ,b.time_stamp ,b.stateflag ,b.ruuid ,b.data_Type ,b.login_action ,
  1373. b.localize_flag ,b.current_stat ,b.contract ,b.emergency_flag ,b.monitor_flag ,b.development_language ,b.app_type ,b.contract_money ,b.unified_login,
  1374. case b.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  1375. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  1376. c.name as app_type_name,
  1377. d.net_name as net_name,
  1378. e.cloud_flag as cloud_flag,
  1379. f.`SHORT_NAME` as organ_name,
  1380. e.itm_hardware_resources_areacode as itm_hardware_resources_areacode,
  1381. b.on_line as on_line,
  1382. e.cloud
  1383. from (
  1384. select distinct date_format(dt_d,'%Y') as thedvalue from bi_m_date where dt_d >= '2021-01-01' and dt_d < '2023-11-09') a
  1385. left join itm_app b
  1386. on a.thedvalue >= date_format(b.create_time,'%Y')
  1387. LEFT JOIN m_com_dict c on b.app_type=c.value
  1388. LEFT JOIN itm_organ_net d on d.NET_ID = b.ITM_NETGROUP_ID
  1389. -- 只要app的一个资源上云了 就说明上云了
  1390. LEFT JOIN (SELECT servicename,itm_hardware_resources_areacode,concat(max(CASE WHEN itm_hardware_resources_cntype = '云主机' then 1 else 0 end),'') as cloud_flag, cloud
  1391. from bi_itm_hardware_resources where servicename is not null and servicename != '' group by servicename,itm_hardware_resources_areacode,cloud) e
  1392. on b.ITM_APP_NAME= e.servicename
  1393. left join pub_organ f
  1394. on b.ORGAN_ID = f.`CODE`
  1395. WHERE c.dict_index='app_type';
  1396. -- (9)基础设施上线趋势
  1397. -- 建表语句
  1398. DROP TABLE IF EXISTS `bi_online_trend`;
  1399. CREATE TABLE `bi_online_trend` (
  1400. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1401. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  1402. `itm_hardware_resources_areacode` varchar(100) DEFAULT NULL COMMENT '区域/机房',
  1403. `itm_hardware_resources_cntype` varchar(15) DEFAULT NULL COMMENT '设备类型',
  1404. `itm_hardware_resources_name` varchar(100) DEFAULT NULL COMMENT '设备名称',
  1405. `NET_NAME` varchar(50) DEFAULT NULL COMMENT '网系',
  1406. `total` decimal(38,4) DEFAULT NULL COMMENT '上线总量',
  1407. `ended_total` decimal(38, 4) DEFAULT NULL COMMENT '退网总量',
  1408. `ending_total` decimal(38, 4) DEFAULT NULL COMMENT '退网中总量'
  1409. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1410. set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  1411. truncate table bi_online_trend;
  1412. insert into bi_online_trend
  1413. SELECT
  1414. 'HOUR' as dtype,
  1415. date_format(a.end_time,'%Y%m%d%H') as thedvalue,
  1416. c.itm_hardware_resources_areacode,
  1417. c.itm_hardware_resources_cntype,
  1418. c.itm_hardware_resources_name,
  1419. c.NET_NAME,
  1420. SUM(CASE WHEN a.process_type_name='基础设施入网' and a.end_time is not null THEN 1 ELSE 0 END) as 'total',
  1421. SUM(CASE WHEN a.process_type_name='基础设施退网' and a.end_time is not null THEN 1 ELSE 0 END) as 'ended_total',
  1422. SUM(CASE WHEN a.process_type_name='基础设施退网' and a.end_time is null THEN 1 ELSE 0 END) as 'ending_total'
  1423. from icm_bpm.t_work_flow a
  1424. LEFT JOIN icm_bpm.t_work_resource_real b on a.id = b.work_id
  1425. left join (
  1426. select itm_hardware_resources_id,itm_hardware_resources_cntype,NET_NAME,itm_hardware_resources_areacode,itm_hardware_resources_name from (
  1427. select itm_hardware_resources_id,itm_hardware_resources_cntype,NET_NAME,itm_hardware_resources_areacode, itm_hardware_resources_name from bi_itm_hardware_resources) a
  1428. group by itm_hardware_resources_id
  1429. ) c on c.itm_hardware_resources_id = b.object_id
  1430. GROUP BY date_format(a.end_time,'%Y%m%d%H'),c.itm_hardware_resources_areacode,c.itm_hardware_resources_cntype,c.NET_NAME;
  1431. insert into bi_online_trend
  1432. select
  1433. 'DAY' as dtype,
  1434. substr(thedvalue,1,8) as thedvalue,
  1435. itm_hardware_resources_areacode,
  1436. itm_hardware_resources_cntype,
  1437. itm_hardware_resources_name,
  1438. NET_NAME,
  1439. sum(total) as total,
  1440. sum(ended_total) as ended_total,
  1441. sum(ending_total) as ending_total
  1442. from bi_online_trend
  1443. where dtype = 'HOUR'
  1444. GROUP BY substr(thedvalue,1,8),itm_hardware_resources_areacode,itm_hardware_resources_cntype,NET_NAME;
  1445. insert into bi_online_trend
  1446. select
  1447. 'MONTH' as dtype,
  1448. substr(thedvalue,1,6) as thedvalue,
  1449. itm_hardware_resources_areacode,
  1450. itm_hardware_resources_cntype,
  1451. itm_hardware_resources_name,
  1452. NET_NAME,
  1453. sum(total) as total,
  1454. sum(ended_total) as ended_total,
  1455. sum(ending_total) as ending_total
  1456. from bi_online_trend
  1457. where dtype = 'DAY'
  1458. GROUP BY substr(thedvalue,1,6),itm_hardware_resources_areacode,itm_hardware_resources_cntype,NET_NAME;
  1459. insert into bi_online_trend
  1460. select
  1461. 'YEAR' as dtype,
  1462. substr(thedvalue,1,4) as thedvalue,
  1463. itm_hardware_resources_areacode,
  1464. itm_hardware_resources_cntype,
  1465. itm_hardware_resources_name,
  1466. NET_NAME,
  1467. sum(total) as total,
  1468. sum(ended_total) as ended_total,
  1469. sum(ending_total) as ending_total
  1470. from bi_online_trend
  1471. where dtype = 'MONTH'
  1472. GROUP BY substr(thedvalue,1,4),itm_hardware_resources_areacode,itm_hardware_resources_cntype,NET_NAME;
  1473. -- (10)操作次数趋势、响应时间趋势、应用系统用户趋势
  1474. -- 建表语句
  1475. DROP TABLE IF EXISTS `bi_app_log_result`;
  1476. CREATE TABLE `bi_app_log_result` (
  1477. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1478. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  1479. `dhour` varchar(15) DEFAULT NULL COMMENT '小时',
  1480. `PRIORITY` varchar(20) DEFAULT NULL COMMENT '重要程度',
  1481. `app_type_name` varchar(50) DEFAULT NULL COMMENT '分类',
  1482. `net_name` varchar(50) DEFAULT NULL COMMENT '网系',
  1483. `id` bigint(20) NOT NULL DEFAULT '0' COMMENT '自增标记,用于数据同步',
  1484. `app_id` varchar(200) DEFAULT NULL COMMENT '应用ID',
  1485. `app_name` varchar(200) DEFAULT NULL COMMENT '应用名称',
  1486. `orgin_id` varchar(32) DEFAULT NULL COMMENT '组织ID',
  1487. `net_id` varchar(30) DEFAULT NULL,
  1488. `independent_visits_num` varchar(10) DEFAULT NULL COMMENT '独立访客数/活跃用户数',
  1489. `visits_num` varchar(10) DEFAULT NULL COMMENT '访客数',
  1490. `oper_num` varchar(10) DEFAULT NULL COMMENT '操作次数/访问量',
  1491. `slow_oper` varchar(10) DEFAULT NULL COMMENT '慢操作占比',
  1492. `min_resp_time` varchar(10) DEFAULT NULL COMMENT '最小响应时间(毫秒)',
  1493. `max_resp_time` varchar(10) DEFAULT NULL COMMENT '最大响应时间(毫秒)',
  1494. `avg_resp_time` varchar(10) DEFAULT NULL COMMENT '平均响应时间(毫秒)',
  1495. `time_stamp` varchar(32) DEFAULT NULL COMMENT '时间戳',
  1496. `monitor_time` varchar(32) DEFAULT NULL COMMENT '推送时间',
  1497. `territory_visitor` varchar(32) DEFAULT NULL COMMENT '地域访问数',
  1498. `reg_user_num` varchar(32) DEFAULT NULL COMMENT '注册用户数',
  1499. `sign_num` varbinary(32) DEFAULT NULL COMMENT '登录次数',
  1500. `new_reg_user_num` varchar(32) DEFAULT NULL COMMENT '新注册用户数',
  1501. `time_type` varchar(32) DEFAULT NULL COMMENT '类型(hour:小时 day:天 month:月 国内:domestic 国外:foreign)',
  1502. `create_time` varchar(32) DEFAULT NULL COMMENT '插入时间',
  1503. `organ_name` varchar(200) DEFAULT NULL COMMENT '区域'
  1504. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1505. truncate table bi_app_log_result;
  1506. insert into bi_app_log_result
  1507. select
  1508. 'HOUR' as dtype,
  1509. date_format(a.monitor_time,'%Y%m%d%H') as thedvalue,
  1510. date_format(a.monitor_time,'%H') as dhour,
  1511. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY,
  1512. d.name as app_type_name,
  1513. c.net_name as net_name,
  1514. a.id ,a.app_id ,a.app_name ,a.orgin_id ,a.net_id,sum(a.independent_visits_num) as independent_visits_num,sum(a.visits_num) as visits_num,
  1515. sum(a.oper_num) as oper_num,avg(a.slow_oper + 0.0) as slow_oper,min(a.min_resp_time) as min_resp_time,max(max_resp_time) as max_resp_time,
  1516. avg(a.avg_resp_time + 0.0) as avg_resp_time,date_format(a.monitor_time,'%H') as time_stamp,'' as monitor_time,
  1517. sum(a.territory_visitor) as territory_visitor,sum(a.reg_user_num) as reg_user_num,'' as sign_num,sum(a.new_reg_user_num) as new_reg_user_num,
  1518. '' as time_type,'' as create_time,
  1519. e.`SHORT_NAME` as organ_name
  1520. from t_ind_obj_app_log_result a
  1521. LEFT JOIN itm_app b on a.app_id =b.ITM_APP_ID
  1522. LEFT JOIN itm_organ_net c on c.NET_ID = a.net_id
  1523. inner JOIN (select * from m_com_dict where dict_index = 'app_type') d on b.app_type=d.value
  1524. left join pub_organ e
  1525. on b.ORGAN_ID = e.`CODE`
  1526. WHERE
  1527. time_type in('hour')
  1528. group by
  1529. date_format(a.monitor_time,'%Y%m%d%H'),date_format(a.monitor_time,'%H'),
  1530. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end,d.name,c.net_name,a.id ,a.app_id ,a.app_name ,a.orgin_id ,a.net_id,e.`SHORT_NAME`;
  1531. insert into bi_app_log_result
  1532. select
  1533. 'DAY' as dtype,
  1534. substring(thedvalue,1,8) AS thedvalue,
  1535. dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,sum(independent_visits_num) as independent_visits_num,sum(visits_num) as visits_num,
  1536. sum(oper_num) as oper_num,avg(slow_oper + 0.0) as slow_oper,min(min_resp_time) as min_resp_time,max(max_resp_time) as max_resp_time,
  1537. avg(avg_resp_time + 0.0) as avg_resp_time,dhour as time_stamp,'' as monitor_time,
  1538. sum(territory_visitor) as territory_visitor,sum(reg_user_num) as reg_user_num,'' as sign_num,sum(new_reg_user_num) as new_reg_user_num,
  1539. '' as time_type,'' as create_time,organ_name
  1540. from bi_app_log_result
  1541. where dtype = 'HOUR'
  1542. group by substring(thedvalue,1,8),dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,organ_name;
  1543. insert into bi_app_log_result
  1544. select
  1545. 'MONTH' as dtype,
  1546. substring(thedvalue,1,6) AS thedvalue,
  1547. dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,sum(independent_visits_num) as independent_visits_num,sum(visits_num) as visits_num,
  1548. sum(oper_num) as oper_num,avg(slow_oper + 0.0) as slow_oper,min(min_resp_time) as min_resp_time,max(max_resp_time) as max_resp_time,
  1549. avg(avg_resp_time + 0.0) as avg_resp_time,dhour as time_stamp,'' as monitor_time,
  1550. sum(territory_visitor) as territory_visitor,sum(reg_user_num) as reg_user_num,'' as sign_num,sum(new_reg_user_num) as new_reg_user_num,
  1551. '' as time_type,'' as create_time,organ_name
  1552. from bi_app_log_result
  1553. where dtype = 'DAY'
  1554. group by substring(thedvalue,1,6),dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,organ_name;
  1555. insert into bi_app_log_result
  1556. select
  1557. 'YEAR' as dtype,
  1558. substring(thedvalue,1,4) AS thedvalue,
  1559. dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,sum(independent_visits_num) as independent_visits_num,sum(visits_num) as visits_num,
  1560. sum(oper_num) as oper_num,avg(slow_oper + 0.0) as slow_oper,min(min_resp_time) as min_resp_time,max(max_resp_time) as max_resp_time,
  1561. avg(avg_resp_time + 0.0) as avg_resp_time,dhour as time_stamp,'' as monitor_time,
  1562. sum(territory_visitor) as territory_visitor,sum(reg_user_num) as reg_user_num,'' as sign_num,sum(new_reg_user_num) as new_reg_user_num,
  1563. '' as time_type,'' as create_time,organ_name
  1564. from bi_app_log_result
  1565. where dtype = 'MONTH'
  1566. group by substring(thedvalue,1,4),dhour,PRIORITY,app_type_name,net_name,id ,app_id ,app_name ,orgin_id ,net_id,organ_name;
  1567. -- (16)应用漏洞变化趋势
  1568. -- 建表语句
  1569. DROP TABLE IF EXISTS `bi_panoramic_view_app_ld_trend`;
  1570. CREATE TABLE `bi_panoramic_view_app_ld_trend` (
  1571. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1572. `thedvalue` varchar(8) DEFAULT NULL COMMENT '日期类型',
  1573. `app_name` varchar(128) DEFAULT NULL COMMENT '应用名称',
  1574. `score_count` varchar(53) DEFAULT NULL COMMENT '指标值',
  1575. `NET_NAME` varchar(30) DEFAULT NULL COMMENT '网系名称',
  1576. `score_name` varchar(25) DEFAULT NULL COMMENT '覆盖率,合格率'
  1577. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1578. truncate table bi_panoramic_view_app_ld_trend;
  1579. insert into bi_panoramic_view_app_ld_trend
  1580. select
  1581. 'DAY' as dtype,date_format(savi.insert_time,'%Y%m%d') as thedvalue,
  1582. savi.name as app_name,
  1583. max(savi.vul_total_count) as score_count,
  1584. ion.NET_NAME as NET_NAME,
  1585. mcd.name as score_name
  1586. from safe_app_vul_info savi
  1587. LEFT JOIN itm_app ia on savi.name = ia.ITM_APP_NAME
  1588. LEFT JOIN m_com_dict mcd on ia.app_type = mcd.dispindex and mcd.dict_index='app_type'
  1589. LEFT JOIN itm_organ_net ion on ia.ITM_NETGROUP_ID = ion.NET_ID
  1590. GROUP BY date_format(savi.insert_time,'%Y%m%d'),savi.name,ion.NET_NAME,mcd.name;
  1591. insert into bi_panoramic_view_app_ld_trend
  1592. select
  1593. 'MONTH' as dtype,
  1594. substr(thedvalue,1,6) as thedvalue,
  1595. app_name,
  1596. sum(score_count) as score_count,
  1597. NET_NAME,
  1598. score_name
  1599. from bi_panoramic_view_app_ld_trend
  1600. where dtype = 'DAY'
  1601. GROUP BY substr(thedvalue,1,6),app_name,NET_NAME,score_name;
  1602. insert into bi_panoramic_view_app_ld_trend
  1603. select
  1604. 'YEAR' as dtype,
  1605. substr(thedvalue,1,4) as thedvalue,
  1606. app_name,
  1607. sum(score_count) as score_count,
  1608. NET_NAME,
  1609. score_name
  1610. from bi_panoramic_view_app_ld_trend
  1611. where dtype = 'MONTH'
  1612. GROUP BY substr(thedvalue,1,4),app_name,NET_NAME,score_name;
  1613. -- 建表语句
  1614. DROP TABLE IF EXISTS `bi_panoramic_new_trend`;
  1615. CREATE TABLE `bi_panoramic_new_trend` (
  1616. `dtype` varchar(10) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '日期类型',
  1617. `thedvalue` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '日期',
  1618. `app_name` varchar(50) DEFAULT NULL COMMENT '设备资产名称',
  1619. `score_name` varchar(50) DEFAULT NULL COMMENT '选择对象',
  1620. `the_score` double DEFAULT NULL COMMENT '网系名称',
  1621. `NET_NAME` varchar(100) DEFAULT NULL COMMENT '网系名称',
  1622. `organ_name` varchar(100) DEFAULT NULL COMMENT '区域'
  1623. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1624. -- 用cross join进行的列转行
  1625. truncate table bi_panoramic_new_trend;
  1626. insert into bi_panoramic_new_trend
  1627. select
  1628. 'DAY' as dtype,
  1629. thedvalue,
  1630. '' as app_name,
  1631. case b.mm when 1 then '安全设备' when 2 then '网络设备' when 3 then '终端PC' when 4 then '服务器' else '' end as score_name,
  1632. case b.mm when 1 then security_device_vul_total_count when 2 then network_device_vul_total_count when 3 then terminal_vul_total_count when 4 then server_vul_total_count else 0.0 end as the_score,
  1633. null as NET_NAME,
  1634. null as organ_name
  1635. from
  1636. (select
  1637. date_format(insert_time,'%Y%m%d') as thedvalue,
  1638. max(security_device_vul_total_count) + 0.0 as security_device_vul_total_count,
  1639. max(network_device_vul_total_count) + 0.0 as network_device_vul_total_count,
  1640. max(terminal_vul_total_count) + 0.0 as terminal_vul_total_count,
  1641. max(server_vul_total_count) + 0.0 as server_vul_total_count
  1642. from safe_index_info_1
  1643. group by date_format(insert_time,'%Y%m%d'),id) a
  1644. cross join
  1645. (select 1 mm
  1646. union all select 2
  1647. union all select 3
  1648. union all select 4) b
  1649. union all
  1650. select
  1651. 'DAY' as dtype,
  1652. date_format(savi.insert_time,'%Y%m%d') as thedvalue,
  1653. savi.name as app_name,
  1654. '应用系统' as score_name,
  1655. max(savi.vul_total_count) as the_score,
  1656. ion.NET_NAME as NET_NAME,
  1657. f.name as organ_name
  1658. from safe_app_vul_info savi
  1659. LEFT JOIN itm_app ia on savi.name = ia.ITM_APP_NAME
  1660. LEFT JOIN m_com_dict mcd on ia.app_type = mcd.dispindex and mcd.dict_index='app_type'
  1661. LEFT JOIN itm_organ_net ion on ia.ITM_NETGROUP_ID = ion.NET_ID
  1662. left join pub_organ f on ia.ORGAN_ID = f.`CODE`
  1663. GROUP BY date_format(savi.insert_time,'%Y%m%d'),savi.name,ion.NET_NAME,f.name;
  1664. insert into bi_panoramic_new_trend
  1665. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1666. app_name,score_name,avg(the_score) as the_score,NET_NAME,organ_name
  1667. from bi_panoramic_new_trend
  1668. where dtype = 'DAY'
  1669. GROUP BY substring(thedvalue,1,6),app_name,score_name,NET_NAME,organ_name;
  1670. insert into bi_panoramic_new_trend
  1671. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1672. app_name,score_name,avg(the_score) as the_score,NET_NAME,organ_name
  1673. from bi_panoramic_new_trend
  1674. where dtype = 'MONTH'
  1675. GROUP BY substring(thedvalue,1,4),app_name,score_name,NET_NAME,organ_name;
  1676. -- (20)综合安全评分趋势
  1677. -- 建表语句
  1678. DROP TABLE IF EXISTS `bi_panoramic_view_safe_trend`;
  1679. CREATE TABLE `bi_panoramic_view_safe_trend` (
  1680. `dtype` varchar(10) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '日期类型',
  1681. `thedvalue` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '日期',
  1682. `id` varchar(50) NOT NULL DEFAULT '0' COMMENT '设备名称暂时没有数据',
  1683. `score_name` varchar(50) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '指标名称',
  1684. `the_score` double DEFAULT NULL COMMENT '指标值'
  1685. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1686. truncate table bi_panoramic_view_safe_trend;
  1687. insert into bi_panoramic_view_safe_trend
  1688. select
  1689. 'DAY' as dtype,
  1690. thedvalue,
  1691. '' as id,
  1692. case b.mm when 1 then '综合分' when 2 then '网络资源明晰度评分' when 3 then '资产脆弱性安全指数得分' when 4 then '网络攻击安全指数得分'
  1693. when 5 then '边界安全指数得分' when 6 then '应用系统合规性得分' when 7 then '运维风险可控度得分' else '' end as score_name,
  1694. case b.mm when 1 then global_score when 2 then network_resource_score when 3 then asset_vul_score when 4 then network_security_score
  1695. when 5 then border_security_score when 6 then application_system_score when 7 then operation_risk_score else 0.0 end as the_score
  1696. from
  1697. (select
  1698. date_format(insert_time,'%Y%m%d') as thedvalue,
  1699. max(global_score) + 0.0 as global_score,
  1700. max(network_resource_score) + 0.0 as network_resource_score,
  1701. max(asset_vul_score) + 0.0 as asset_vul_score,
  1702. max(network_security_score) + 0.0 as network_security_score,
  1703. max(border_security_score) + 0.0 as border_security_score,
  1704. max(application_system_score) + 0.0 as application_system_score,
  1705. max(operation_risk_score) + 0.0 as operation_risk_score
  1706. from safe_index_score
  1707. group by date_format(insert_time,'%Y%m%d'),id) a
  1708. cross join
  1709. (select 1 mm
  1710. union all select 2
  1711. union all select 3
  1712. union all select 4
  1713. union all select 5
  1714. union all select 6
  1715. union all select 7) b;
  1716. insert into bi_panoramic_view_safe_trend
  1717. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1718. '' as id,score_name,avg(the_score) as the_score
  1719. from bi_panoramic_view_safe_trend
  1720. where dtype = 'DAY'
  1721. GROUP BY substring(thedvalue,1,6),score_name;
  1722. insert into bi_panoramic_view_safe_trend
  1723. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1724. '' as id,score_name,avg(the_score) as the_score
  1725. from bi_panoramic_view_safe_trend
  1726. where dtype = 'MONTH'
  1727. GROUP BY substring(thedvalue,1,4),score_name;
  1728. -- (21)网络攻击变化趋势
  1729. -- 建表语句
  1730. DROP TABLE IF EXISTS `bi_panoramic_view_net_attack_trend`;
  1731. CREATE TABLE `bi_panoramic_view_net_attack_trend` (
  1732. `dtype` varchar(10) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '日期类型',
  1733. `thedvalue` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '日期',
  1734. `score_name` varchar(50) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '指标名称',
  1735. `the_score` double DEFAULT NULL COMMENT '指标值'
  1736. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1737. truncate table bi_panoramic_view_net_attack_trend;
  1738. insert into bi_panoramic_view_net_attack_trend
  1739. select
  1740. 'DAY' as dtype,
  1741. thedvalue,
  1742. case b.mm when 1 then '网络攻击尝试数' when 2 then '网络攻击成功数' when 3 then '网络攻击结果不明数' when 4 then '恶意程序数' else '' end as score_name,
  1743. case b.mm when 1 then network_attack_try_count when 2 then network_attack_success_count when 3 then network_attack_unknown_count when 4 then server_vul_total_count else 0.0 end as the_score
  1744. from
  1745. (select
  1746. date_format(insert_time,'%Y%m%d') as thedvalue,
  1747. max(network_attack_try_count) + 0.0 as network_attack_try_count,
  1748. max(network_attack_success_count) + 0.0 as network_attack_success_count,
  1749. max(network_attack_unknown_count) + 0.0 as network_attack_unknown_count,
  1750. max(server_vul_total_count) + 0.0 as server_vul_total_count
  1751. from safe_index_info_1
  1752. group by date_format(insert_time,'%Y%m%d'),id) a
  1753. cross join
  1754. (select 1 mm
  1755. union all select 2
  1756. union all select 3
  1757. union all select 4) b;
  1758. insert into bi_panoramic_view_net_attack_trend
  1759. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1760. score_name,avg(the_score) as the_score
  1761. from bi_panoramic_view_net_attack_trend
  1762. where dtype = 'DAY'
  1763. GROUP BY substring(thedvalue,1,6),score_name;
  1764. insert into bi_panoramic_view_net_attack_trend
  1765. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1766. score_name,avg(the_score) as the_score
  1767. from bi_panoramic_view_net_attack_trend
  1768. where dtype = 'MONTH'
  1769. GROUP BY substring(thedvalue,1,4),score_name;
  1770. -- (22)设备漏洞变化趋势
  1771. -- 建表语句
  1772. DROP TABLE IF EXISTS `bi_panoramic_view_sb_ld_trend`;
  1773. CREATE TABLE `bi_panoramic_view_sb_ld_trend` (
  1774. `dtype` varchar(10) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '日期类型',
  1775. `thedvalue` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '日期',
  1776. `app_name` varchar(50) NOT NULL DEFAULT '0' COMMENT '设备名称暂时没有数据',
  1777. `score_name` varchar(50) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
  1778. `the_score` double DEFAULT NULL
  1779. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1780. truncate table bi_panoramic_view_sb_ld_trend;
  1781. insert into bi_panoramic_view_sb_ld_trend
  1782. select
  1783. 'DAY' as dtype,
  1784. thedvalue,
  1785. '' as app_name,
  1786. case b.mm when 1 then '安全设备漏洞' when 2 then '网络设备漏洞' when 3 then '终端PC漏洞' when 4 then '服务器漏洞' else '' end as score_name,
  1787. case b.mm when 1 then security_device_vul_total_count when 2 then network_device_vul_total_count when 3 then terminal_vul_total_count when 4 then server_vul_total_count else 0.0 end as the_score
  1788. from
  1789. (select
  1790. date_format(insert_time,'%Y%m%d') as thedvalue,
  1791. max(security_device_vul_total_count) + 0.0 as security_device_vul_total_count,
  1792. max(network_device_vul_total_count) + 0.0 as network_device_vul_total_count,
  1793. max(terminal_vul_total_count) + 0.0 as terminal_vul_total_count,
  1794. max(server_vul_total_count) + 0.0 as server_vul_total_count
  1795. from safe_index_info_1
  1796. group by date_format(insert_time,'%Y%m%d'),id) a
  1797. cross join
  1798. (select 1 mm
  1799. union all select 2
  1800. union all select 3
  1801. union all select 4) b;
  1802. insert into bi_panoramic_view_sb_ld_trend
  1803. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1804. '' as app_name,score_name,avg(the_score) as the_score
  1805. from bi_panoramic_view_sb_ld_trend
  1806. where dtype = 'DAY'
  1807. GROUP BY substring(thedvalue,1,6),score_name;
  1808. insert into bi_panoramic_view_sb_ld_trend
  1809. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1810. '' as app_name,score_name,avg(the_score) as the_score
  1811. from bi_panoramic_view_sb_ld_trend
  1812. where dtype = 'MONTH'
  1813. GROUP BY substring(thedvalue,1,4),score_name;
  1814. -- (23)设备准入变化趋势、双因子认证变化趋势、纳入4A变化趋势
  1815. -- 建表语句
  1816. DROP TABLE IF EXISTS `bi_panoramic_view_shaung_yin_a4_trend`;
  1817. CREATE TABLE `bi_panoramic_view_shaung_yin_a4_trend` (
  1818. `dtype` varchar(10) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '日期类型',
  1819. `thedvalue` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '日期',
  1820. `id` varchar(50) NOT NULL DEFAULT '0' COMMENT '设备名称暂时没有数据',
  1821. `score_name` varchar(50) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '指标名称',
  1822. `the_score` double DEFAULT NULL COMMENT '指标值'
  1823. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1824. truncate table bi_panoramic_view_shaung_yin_a4_trend;
  1825. insert into bi_panoramic_view_shaung_yin_a4_trend
  1826. select
  1827. 'DAY' as dtype,
  1828. thedvalue,
  1829. case b.mm when 1 then '终端PC' when 2 then '终端PC' when 3 then '终端PC' when 4 then ''
  1830. when 5 then '' when 6 then '' when 7 then '' when 8 then '' else '' end as id,
  1831. case b.mm when 1 then '入网数' when 2 then '准入数' when 3 then '审计数' when 4 then '安全设备双因子认证'
  1832. when 5 then '网络设备双因子认证' when 6 then '服务器双因子认证' when 7 then '服务器4A' when 8 then '应用4A' else '' end as score_name,
  1833. case b.mm when 1 then dim1 when 2 then dim2 when 3 then dim3 when 4 then dim4
  1834. when 5 then dim5 when 6 then dim6 when 7 then dim7 when 8 then dim8 else 0.0 end as the_score
  1835. from
  1836. (select
  1837. date_format(insert_time,'%Y%m%d') as thedvalue,
  1838. max(terminal_count) + 0.0 as dim1,
  1839. max(terminal_admittance_count) + 0.0 as dim2,
  1840. max(terminal_audit_count) + 0.0 as dim3,
  1841. max(1.0 - security_device_unused_eactor_percent) + 0.0 as dim4,
  1842. max(1.0 - network_device_unused_factor_percent) + 0.0 as dim5,
  1843. max(1.0 - server_unused_factor_percent) + 0.0 as dim6,
  1844. max(1.0 - case when server_resource_failure_count + server_resource_success_count = 0 then 0.0 else server_resource_failure_count/(server_resource_failure_count + server_resource_success_count) * 1.0 end) + 0.0 as dim7,
  1845. max(1.0 - application_unused_factor_percent) as dim8
  1846. from safe_index_info_1
  1847. group by date_format(insert_time,'%Y%m%d'),id) a
  1848. cross join
  1849. (select 1 mm
  1850. union all select 2
  1851. union all select 3
  1852. union all select 4
  1853. union all select 5
  1854. union all select 6
  1855. union all select 7
  1856. union all select 8) b;
  1857. insert into bi_panoramic_view_shaung_yin_a4_trend
  1858. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1859. id,score_name,avg(the_score) as the_score
  1860. from bi_panoramic_view_shaung_yin_a4_trend
  1861. where dtype = 'DAY'
  1862. GROUP BY substring(thedvalue,1,6),score_name,id;
  1863. insert into bi_panoramic_view_shaung_yin_a4_trend
  1864. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1865. id,score_name,avg(the_score) as the_score
  1866. from bi_panoramic_view_shaung_yin_a4_trend
  1867. where dtype = 'MONTH'
  1868. GROUP BY substring(thedvalue,1,4),score_name,id;
  1869. -- (24)运维工单总量趋势、工单按时解决率趋势、各类工单未按时解决排名、工单满意度趋势、工单处理耗时排名、工单平均处理时长
  1870. -- 建表语句
  1871. DROP TABLE IF EXISTS `bi_work_flow_group_by_time`;
  1872. CREATE TABLE `bi_work_flow_group_by_time` (
  1873. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  1874. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  1875. `process_type_name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '流程定义类型名称',
  1876. `serve_area` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '所属区域',
  1877. `serve_department` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '所属部门',
  1878. `serve_firm` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '所属厂商',
  1879. `total_works` bigint(21) NOT NULL DEFAULT '0' COMMENT '工单总量',
  1880. `total_works_end` decimal(23,0) DEFAULT NULL COMMENT '已解决总量',
  1881. `total_works_noend` decimal(23,0) DEFAULT NULL COMMENT '未解决总量',
  1882. `total_works_notimeout` decimal(23,0) DEFAULT NULL COMMENT '未超时总量',
  1883. `total_works_timeout` decimal(23,0) DEFAULT NULL COMMENT '超时总量',
  1884. `total_time_consuming` double DEFAULT NULL COMMENT '总耗时',
  1885. `avg_time_consuming` double DEFAULT NULL COMMENT '平均耗时',
  1886. `satisfaction` double DEFAULT NULL COMMENT '满意度',
  1887. `app_id` varchar(20) DEFAULT NULL COMMENT 'appID'
  1888. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1889. truncate table bi_work_flow_group_by_time;
  1890. insert into bi_work_flow_group_by_time
  1891. select
  1892. 'HOUR' as dtype,
  1893. date_format(a.start_time,'%Y%m%d%H') as thedvalue, -- str_to_date
  1894. a.process_type_name,
  1895. a.serve_area,
  1896. c.display_name as serve_department,
  1897. d.manufacturer_name as serve_firm,
  1898. count(*) as total_works,
  1899. sum(case when end_time is not null then 1 else 0 end) as total_works_end,
  1900. sum(case when end_time is not null then 0 else 1 end) as total_works_noend,
  1901. sum(case when time_out =1 then 1 else 0 end) as total_works_notimeout,
  1902. sum(case when time_out =0 then 1 else 0 end) as total_works_timeout,
  1903. sum(time_consuming) as total_time_consuming,
  1904. avg(time_consuming + 0.0) as avg_time_consuming,
  1905. avg(satisfaction + 0.0) as satisfaction,
  1906. b.app_id
  1907. from icm_bpm.t_work_flow a
  1908. left join icm_bpm.t_work_resource_real b
  1909. on a.id = b.work_id
  1910. left join icm.sys_org c
  1911. on a.serve_department = c.org_code
  1912. left join icm.cfg_manufacturer d
  1913. on a.handler_firm = d.id
  1914. group by
  1915. date_format(a.start_time,'%Y%m%d%H'),
  1916. a.process_type_name,
  1917. a.serve_area,
  1918. c.display_name,
  1919. d.manufacturer_name,b.app_id;
  1920. insert into bi_work_flow_group_by_time
  1921. select
  1922. 'DAY' as dtype,substring(thedvalue,1,8) AS thedvalue,
  1923. process_type_name,
  1924. serve_area,
  1925. serve_department,
  1926. serve_firm,
  1927. sum(total_works) as total_works,
  1928. sum(total_works_end) as total_works_end,
  1929. sum(total_works_noend) as total_works_noend,
  1930. sum(total_works_notimeout) as total_works_notimeout,
  1931. sum(total_works_timeout) as total_works_timeout,
  1932. sum(total_time_consuming) as total_time_consuming,
  1933. avg(avg_time_consuming + 0.0) as avg_time_consuming,
  1934. avg(satisfaction + 0.0) as satisfaction,
  1935. app_id
  1936. from bi_work_flow_group_by_time
  1937. where dtype = 'HOUR'
  1938. group by
  1939. substring(thedvalue,1,8),
  1940. process_type_name,
  1941. serve_area,
  1942. serve_department,
  1943. serve_firm,app_id;
  1944. insert into bi_work_flow_group_by_time
  1945. select
  1946. 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  1947. process_type_name,
  1948. serve_area,
  1949. serve_department,
  1950. serve_firm,
  1951. sum(total_works) as total_works,
  1952. sum(total_works_end) as total_works_end,
  1953. sum(total_works_noend) as total_works_noend,
  1954. sum(total_works_notimeout) as total_works_notimeout,
  1955. sum(total_works_timeout) as total_works_timeout,
  1956. sum(total_time_consuming) as total_time_consuming,
  1957. avg(avg_time_consuming + 0.0) as avg_time_consuming,
  1958. avg(satisfaction + 0.0) as satisfaction,
  1959. app_id
  1960. from bi_work_flow_group_by_time
  1961. where dtype = 'DAY'
  1962. group by
  1963. substring(thedvalue,1,6),
  1964. process_type_name,
  1965. serve_area,
  1966. serve_department,
  1967. serve_firm,app_id;
  1968. insert into bi_work_flow_group_by_time
  1969. select
  1970. 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  1971. process_type_name,
  1972. serve_area,
  1973. serve_department,
  1974. serve_firm,
  1975. sum(total_works) as total_works,
  1976. sum(total_works_end) as total_works_end,
  1977. sum(total_works_noend) as total_works_noend,
  1978. sum(total_works_notimeout) as total_works_notimeout,
  1979. sum(total_works_timeout) as total_works_timeout,
  1980. sum(total_time_consuming) as total_time_consuming,
  1981. avg(avg_time_consuming + 0.0) as avg_time_consuming,
  1982. avg(satisfaction + 0.0) as satisfaction,
  1983. app_id
  1984. from bi_work_flow_group_by_time
  1985. where dtype = 'MONTH'
  1986. group by
  1987. substring(thedvalue,1,4),
  1988. process_type_name,
  1989. serve_area,
  1990. serve_department,
  1991. serve_firm,app_id;
  1992. -- (26)最高法院效能分析排序
  1993. -- 建表语句
  1994. DROP TABLE IF EXISTS `bi_app_stat_group_transposed`;
  1995. CREATE TABLE `bi_app_stat_group_transposed` (
  1996. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  1997. `itm_hardware_resources_id` varchar(200) NOT NULL DEFAULT '' COMMENT '告警设备ID',
  1998. `ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称',
  1999. `col_name` varchar(200) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
  2000. `col_value` decimal(24,10) DEFAULT NULL,
  2001. KEY `idx_1` (`thedvalue`,`col_name`) USING BTREE
  2002. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  2003. truncate table bi_app_stat_group_transposed;
  2004. insert into bi_app_stat_group_transposed
  2005. select
  2006. thedvalue,itm_hardware_resources_id,ITM_HARDWARE_RESOURCES_NAME,
  2007. case b.mm when 1 then 'CPU平均利用率' when 2 then 'CPU峰值利用率' when 3 then '内存平均利用率' when 4 then '内存峰值利用率'
  2008. when 5 then '磁盘利用率' when 6 then '带宽平均利用率' when 7 then '带宽峰值利用率' when 8 then '交换机错包率' when 9 then '交换机丢包率' else '' end as col_name,
  2009. case b.mm when 1 then dim1 when 2 then dim2 when 3 then dim3 when 4 then dim4
  2010. when 5 then dim5 when 6 then dim6 when 7 then dim7 when 8 then dim8 when 9 then dim9 else 0.0 end as col_value
  2011. from (
  2012. select
  2013. thedvalue,itm_hardware_resources_id,ITM_HARDWARE_RESOURCES_NAME,
  2014. avg(IND_VALUE_Network_Cpurate) as dim1,max(IND_VALUE_Network_Cpurate_High) as dim2,avg(IND_VALUE_Network_Memrate) as dim3,avg(IND_VALUE_Network_Memrate_High) as dim4,
  2015. avg(IND_VALUE_HOST_DISK_UTILIZATION) as dim5,avg(Band_widthrate) as dim6,max(Bandwidthrate_High) as dim7,avg(Network_PacketLossrate) as dim8,avg(Network_PacketErrorrate) as dim9
  2016. from bi_app_stat_group_by_time
  2017. where dtype = 'DAY' and QGorZG = '最高'
  2018. group by thedvalue,itm_hardware_resources_id,ITM_HARDWARE_RESOURCES_NAME) a
  2019. cross join
  2020. (select 1 mm
  2021. union all select 2
  2022. union all select 3
  2023. union all select 4
  2024. union all select 5
  2025. union all select 6
  2026. union all select 7
  2027. union all select 8
  2028. union all select 9) b;
  2029. -- (27)应用系统业务指标
  2030. -- 建表语句
  2031. DROP TABLE IF EXISTS `bi_app_tsc_stat`;
  2032. CREATE TABLE `bi_app_tsc_stat` (
  2033. `dtype` varchar(10) NOT NULL DEFAULT '' COMMENT '日期类型',
  2034. `thedvalue` varchar(12) DEFAULT NULL COMMENT '日期',
  2035. `app_id` varchar(20) NOT NULL DEFAULT '' COMMENT 'appID',
  2036. `app_name` varchar(255) NOT NULL DEFAULT '' COMMENT 'app名称',
  2037. `dim` varchar(255) NOT NULL DEFAULT '' COMMENT '维度',
  2038. `dim_tuli` varchar(255) DEFAULT NULL COMMENT '图例',
  2039. `dim_value` decimal(20,2) DEFAULT NULL COMMENT '指标值',
  2040. `dim_value_unit` varchar(255) DEFAULT NULL COMMENT '指标单位',
  2041. `value_calculate` varchar(255) DEFAULT NULL COMMENT '指标计算方式',
  2042. `dim_tuli_value` decimal(20,2) DEFAULT NULL COMMENT '图例值'
  2043. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  2044. drop procedure if exists wk_app_new;
  2045. delimiter $$
  2046. create procedure wk_app_new()
  2047. begin
  2048. declare i int default 0;
  2049. declare continue_handler int default 0;
  2050. declare c_app_id varchar(200);
  2051. declare c_app_name varchar(200);
  2052. declare c_fieldname varchar(64);
  2053. declare c_fielddesc varchar(64);
  2054. declare c_statmodel varchar(255);
  2055. declare c_quotaUnit varchar(10);
  2056. declare c1 cursor for
  2057. select
  2058. distinct a.APP_ID,a.APP_NAME,b.fieldname,b.fielddesc,b.statmodel,b.quotaUnit
  2059. from
  2060. (select distinct ITM_APP_ID as APP_ID,ITM_APP_NAME as APP_NAME from itm_app) a
  2061. left join
  2062. (select a.appid,a.fieldname,a.fielddesc,a.statmodel,a.quotaUnit
  2063. from itm_app_tsc_set a where transtype = '62' and showType = 'line') b
  2064. on a.APP_ID = b.appid
  2065. where (fieldname is not null) and (statmodel is not null and statmodel != '');
  2066. declare c2 cursor for
  2067. select
  2068. distinct a.APP_ID,a.APP_NAME,b.fieldname,b.fielddesc,b.statmodel,b.quotaUnit
  2069. from
  2070. (select distinct ITM_APP_ID as APP_ID,ITM_APP_NAME as APP_NAME from itm_app) a
  2071. left join
  2072. (select distinct a.appid,a.fieldname,b.fielddesc,a.statmodel,a.quotaUnit
  2073. from
  2074. (select appid,fieldname,fielddesc,statmodel,quotaUnit,showType from itm_app_tsc_set where transtype = '62') a
  2075. left join
  2076. (select appid,fieldname,fielddesc,statmodel,quotaUnit,showType from itm_app_tsc_set where transtype = '62') b
  2077. on a.appid = b.appid and a.fieldname = b.fieldname
  2078. where a.showType = 'bar' and b.showType = 'line') b
  2079. on a.APP_ID = b.appid
  2080. where (fieldname is not null) and (statmodel is not null and statmodel != '');
  2081. declare continue handler for not found set i=1;
  2082. declare continue handler for sqlexception,sqlwarning set continue_handler=1;
  2083. open c1;
  2084. while i = 0 do
  2085. fetch c1 into c_app_id,c_app_name,c_fieldname,c_fielddesc,c_statmodel,c_quotaUnit;
  2086. set @need_sql=concat("
  2087. insert into bi_app_tsc_stat
  2088. select \'MONTH\' as dtype,date_format(TRANSED_DT,\'%Y%m\') as thedvalue,\'',c_app_id,'\' as app_id,\'',c_app_name,'\' as app_name,\'',c_fielddesc,'\' as dim,\'',c_fielddesc,'\' as dim_tuli,'
  2089. ,c_statmodel,'(',c_fieldname,') as dim_value,\'',c_quotaUnit,'\' as dim_value_unit,\'',c_statmodel,'\' as value_calculate,null as dim_tuli_value
  2090. from t_ind_obj_app_tsc_stat where APP_ID = \'',c_app_id, '\' and TRANS_TYPE = \'62\' and (CEXT0 is null or CEXT0 = \'\')
  2091. group by date_format(TRANSED_DT,\'%Y%m\')");
  2092. PREPARE final_sql FROM @need_sql;
  2093. EXECUTE final_sql;
  2094. -- if continue_handler = 1 THEN
  2095. -- insert into bi_app_tsc_default values(c_app_id,c_app_name,c_fieldname,c_fielddesc,c_statmodel,c_quotaUnit);
  2096. -- end if;
  2097. end while;
  2098. close c1;
  2099. set i = 0;
  2100. open c2;
  2101. while i = 0 do
  2102. fetch c2 into c_app_id,c_app_name,c_fieldname,c_fielddesc,c_statmodel,c_quotaUnit;
  2103. set @need_sql=concat("
  2104. insert into bi_app_tsc_stat
  2105. select \'MONTH\' as dtype,date_format(TRANSED_DT,\'%Y%m\') as thedvalue,\'',c_app_id,'\' as app_id,\'',c_app_name,'\' as app_name,\'',c_fielddesc,'\' as dim,CEXT0 as dim_tuli,
  2106. null as dim_value,\'',c_quotaUnit,'\' as dim_value_unit,\'',c_statmodel,'\' as value_calculate,',c_statmodel,'(',c_fieldname,') as dim_value
  2107. from t_ind_obj_app_tsc_stat where APP_ID = \'',c_app_id, '\' and TRANS_TYPE = \'62\' and CEXT0 is not null and cext0 != \'\'
  2108. group by date_format(TRANSED_DT,\'%Y%m\'), CEXT0");
  2109. PREPARE final_sql FROM @need_sql;
  2110. EXECUTE final_sql;
  2111. -- if continue_handler = 1 THEN
  2112. -- insert into bi_app_tsc_default values(c_app_id,c_app_name,c_fieldname,c_fielddesc,c_statmodel,c_quotaUnit);
  2113. -- end if;
  2114. end while;
  2115. close c2;
  2116. end $$
  2117. delimiter ;
  2118. -- truncate table bi_app_tsc_default;
  2119. truncate table bi_app_tsc_stat;
  2120. call wk_app_new();
  2121. delete from bi_app_tsc_stat where dtype = 'YEAR';
  2122. insert into bi_app_tsc_stat
  2123. select 'YEAR' as dtype,substring(thedvalue,1,4) as thedvalue,app_id,app_name,dim,dim_tuli,sum(dim_value) as dim_value,dim_value_unit,value_calculate,sum(dim_tuli_value) as dim_tuli_value
  2124. from bi_app_tsc_stat where dtype = 'MONTH' and value_calculate = 'SUM'
  2125. group by substring(thedvalue,1,4), app_id, app_name, dim,dim_tuli,dim_value_unit,value_calculate
  2126. union all
  2127. select 'YEAR' as dtype,substring(thedvalue,1,4) as thedvalue,app_id,app_name,dim,dim_tuli,avg(dim_value) as dim_value,dim_value_unit,value_calculate,avg(dim_tuli_value) as dim_tuli_value
  2128. from bi_app_tsc_stat where dtype = 'MONTH' and value_calculate = 'AVG'
  2129. group by substring(thedvalue,1,4), app_id, app_name, dim,dim_tuli,dim_value_unit,value_calculate
  2130. union all
  2131. select 'YEAR' as dtype,substring(thedvalue,1,4) as thedvalue,app_id,app_name,dim,dim_tuli,max(dim_value) as dim_value,dim_value_unit,value_calculate,max(dim_tuli_value) as dim_tuli_value
  2132. from bi_app_tsc_stat where dtype = 'MONTH' and value_calculate = 'MAX'
  2133. group by substring(thedvalue,1,4), app_id, app_name, dim,dim_tuli,dim_value_unit,value_calculate
  2134. union all
  2135. select 'YEAR' as dtype,substring(thedvalue,1,4) as thedvalue,app_id,app_name,dim,dim_tuli,min(dim_value) as dim_value,dim_value_unit,value_calculate ,min(dim_tuli_value) as dim_tuli_value
  2136. from bi_app_tsc_stat where dtype = 'MONTH' and value_calculate = 'MIN'
  2137. group by substring(thedvalue,1,4), app_id, app_name, dim,dim_tuli,dim_value_unit,value_calculate;
  2138. -- (28) 工单报表
  2139. -- 建表语句
  2140. DROP TABLE IF EXISTS `bi_workflow`;
  2141. CREATE TABLE `bi_workflow` (
  2142. `before_handler` varchar(255) DEFAULT NULL,
  2143. `a_id` varchar(255) NOT NULL COMMENT '主键id',
  2144. `theme` varchar(255) DEFAULT NULL COMMENT '工单主题',
  2145. `proposer_phone` varchar(255) DEFAULT NULL COMMENT '申请人联系方式',
  2146. `proposer_name` varchar(255) DEFAULT NULL COMMENT '申请人姓名',
  2147. `proposer` varchar(255) DEFAULT NULL COMMENT '申请人id',
  2148. `serial_number` varchar(255) DEFAULT NULL COMMENT '工单流水号',
  2149. `process_key` varchar(255) DEFAULT NULL COMMENT '流程定义的key',
  2150. `serve_type` varchar(255) DEFAULT NULL COMMENT '服务类型',
  2151. `process_id` varchar(255) DEFAULT NULL COMMENT '流程定义id',
  2152. `parent_process_type_name` varchar(255) DEFAULT NULL COMMENT '流程定义类型名称',
  2153. `process_type` varchar(255) DEFAULT NULL COMMENT '流程定义类型名称',
  2154. `setting_data` longtext COMMENT '流程定义设置信息json格式数据',
  2155. `process_type_name` varchar(64) DEFAULT NULL,
  2156. `parent_process_type` varchar(64) DEFAULT NULL,
  2157. `form_key` varchar(255) DEFAULT NULL,
  2158. `form_data` longtext COMMENT '对应的自定义表单json格式数据',
  2159. `urg_degree` varchar(255) DEFAULT NULL COMMENT '工单紧急程度',
  2160. `start_account` varchar(255) DEFAULT NULL COMMENT '发起人',
  2161. `start_account_id` varchar(255) DEFAULT NULL COMMENT '发起人id',
  2162. `start_account_phone` varchar(32) DEFAULT NULL,
  2163. `expect_time` varchar(255) DEFAULT NULL COMMENT '期望完成时间',
  2164. `end_time` varchar(255) DEFAULT NULL COMMENT '完成时间',
  2165. `start_time` varchar(255) DEFAULT NULL COMMENT '开始时间',
  2166. `process_status` varchar(255) DEFAULT NULL COMMENT '流程状态',
  2167. `handler` longtext COMMENT '待处理人',
  2168. `next_handler` varchar(255) DEFAULT NULL COMMENT '下一环节处理人',
  2169. `attention` varchar(64) DEFAULT NULL COMMENT '关注状态',
  2170. `node_id` varchar(64) DEFAULT NULL COMMENT '流程节点id',
  2171. `press` tinyint(4) DEFAULT '0' COMMENT '催办状态 0表示未催办 1表示催办',
  2172. `opinion` varchar(255) DEFAULT NULL COMMENT '审批意见',
  2173. `result` int(11) DEFAULT NULL COMMENT '审批结果',
  2174. `form_id` varchar(255) DEFAULT NULL COMMENT '自定义表单id',
  2175. `proc_def_id` varchar(255) DEFAULT NULL COMMENT '流程部署id',
  2176. `relevance` varchar(64) DEFAULT NULL COMMENT '关联状态',
  2177. `handler_name` varchar(255) DEFAULT NULL COMMENT '待处理人姓名',
  2178. `next_handler_name` varchar(255) DEFAULT NULL COMMENT '下一节点处理人姓名',
  2179. `node_type` varchar(255) DEFAULT NULL COMMENT '节点类型',
  2180. `update_time` varchar(255) DEFAULT NULL COMMENT '更新时间',
  2181. `appraise` tinyint(4) DEFAULT NULL COMMENT '工单是否已评价 0已评价 1未评价',
  2182. `failure_type` varchar(255) DEFAULT NULL,
  2183. `satisfaction` varchar(32) DEFAULT NULL COMMENT '满意度',
  2184. `serve_department` varchar(32) DEFAULT NULL COMMENT '发起人所属部门',
  2185. `serve_firm` varchar(32) DEFAULT NULL COMMENT '发起人所属厂商',
  2186. `serve_area` varchar(32) DEFAULT NULL COMMENT '发起人所属区域',
  2187. `time_consuming` varchar(32) DEFAULT NULL COMMENT '工单耗时',
  2188. `time_out` varchar(32) DEFAULT NULL COMMENT '是否超时 0超时 1未超时',
  2189. `performance` varchar(255) DEFAULT NULL COMMENT '绩效得分',
  2190. `proposer_serve_department` varchar(255) DEFAULT NULL COMMENT '申请人所属部门',
  2191. `proposer_serve_firm` varchar(255) DEFAULT NULL COMMENT '申请人所属厂商',
  2192. `proposer_serve_area` varchar(255) DEFAULT NULL COMMENT '申请人所属区域',
  2193. `start_user` varchar(255) DEFAULT NULL,
  2194. `order_desc` varchar(255) DEFAULT NULL COMMENT '工单描述',
  2195. `cocall` varchar(255) DEFAULT NULL,
  2196. `handler_firm` longtext,
  2197. `b_id` int(11) DEFAULT '0',
  2198. `work_id` varchar(32) DEFAULT NULL COMMENT '工单id',
  2199. `alarm_uuid` varchar(255) DEFAULT NULL COMMENT '告警uuid',
  2200. `alarm_type` varchar(32) DEFAULT NULL COMMENT '告警类型',
  2201. `object_id` varchar(255) DEFAULT NULL,
  2202. `app_id` varchar(64) DEFAULT NULL,
  2203. `c` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '设备名称'
  2204. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  2205. truncate table bi_workflow;
  2206. insert into bi_workflow
  2207. select '',a.id as a_id,theme,proposer_phone,proposer_name,proposer,serial_number,process_key,serve_type,process_id,parent_process_type_name,process_type,setting_data,process_type_name,parent_process_type,form_key,form_data,urg_degree,start_account,start_account_id,start_account_phone,expect_time,end_time,start_time,process_status,handler,next_handler,attention,node_id,press,opinion,result,form_id,proc_def_id,relevance,handler_name,next_handler_name,node_type,a.update_time,appraise,failure_type,satisfaction,serve_department,serve_firm,serve_area,time_consuming,
  2208. time_out,performance,proposer_serve_department,proposer_serve_firm,proposer_serve_area,start_user,order_desc,cocall,handler_firm,b.id as b_id,work_id,alarm_uuid,alarm_type,object_id,app_id,ihr.ITM_HARDWARE_RESOURCES_NAME c
  2209. from icm_bpm.t_work_flow a
  2210. left join icm_bpm.t_work_resource_real b on a.id = b.work_id
  2211. left join itm_hardware_resources ihr on ihr.itm_hardware_resources_id = b.object_id;
  2212. -- 结构化数据容量分析
  2213. -- 建表语句
  2214. DROP TABLE IF EXISTS `bi_structured_data_capacity`;
  2215. CREATE TABLE `bi_structured_data_capacity` (
  2216. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2217. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2218. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2219. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2220. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID',
  2221. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  2222. `totalsize` varchar(255) DEFAULT NULL COMMENT '当前数据库对应数量存储量 单位是GB'
  2223. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2224. truncate table bi_structured_data_capacity;
  2225. insert into bi_structured_data_capacity
  2226. select
  2227. 'DAY' as dtype,
  2228. date_format(IND_VALUE_TIME,'%Y%m%d') as thedvalue,
  2229. adds.NETID,
  2230. d.name,
  2231. adds.ORGAN_ID,
  2232. po.short_name,
  2233. SUM(adds.totalsize)
  2234. from app_db_detail_stat adds
  2235. left join (select value,name from m_com_dict where dict_index='itm_resources_netcode') d on d.value=adds.NETID
  2236. left join pub_organ po on po.ID=adds.ORGAN_ID
  2237. group by date_format(IND_VALUE_TIME,'%Y%m%d'),adds.NETID,adds.ORGAN_ID,d.name,po.short_name;
  2238. insert into bi_structured_data_capacity
  2239. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  2240. NET_ID,NET_NAME, ORGAN_ID,ORGAN_NAME, SUM(totalsize)
  2241. from bi_structured_data_capacity
  2242. where dtype = 'DAY'
  2243. GROUP BY substring(thedvalue,1,6),NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME;
  2244. insert into bi_structured_data_capacity
  2245. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  2246. NET_ID,NET_NAME, ORGAN_ID,ORGAN_NAME, SUM(totalsize)
  2247. from bi_structured_data_capacity
  2248. where dtype = 'MONTH'
  2249. GROUP BY substring(thedvalue,1,4),NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME;
  2250. -- 存储使用率占比分析
  2251. -- 建表语句
  2252. DROP TABLE IF EXISTS `bi_storage_usage_rate`;
  2253. CREATE TABLE `bi_storage_usage_rate` (
  2254. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2255. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2256. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2257. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2258. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID',
  2259. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  2260. `used` decimal(20,10) DEFAULT NULL COMMENT '存储使用量',
  2261. `total` decimal(20,10) DEFAULT NULL COMMENT '存储总量',
  2262. `usage_rate` decimal(20,10) DEFAULT NULL COMMENT '存储使用率'
  2263. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2264. truncate table bi_storage_usage_rate;
  2265. insert into bi_storage_usage_rate
  2266. select
  2267. 'DAY' as dtype,
  2268. date_format(IND_VALUE_TIME,'%Y%m%d') as thedvalue,
  2269. asds.NETID,
  2270. d.name,
  2271. asds.ORGAN_ID,
  2272. po.short_name,
  2273. SUM(asds.IND_VALUE_StorageDevice_UsedSpace),
  2274. SUM(asds.IND_VALUE_StorageDevice_TotalSpace),
  2275. SUM(asds.IND_VALUE_StorageDevice_UsedSpace) / SUM(asds.IND_VALUE_StorageDevice_TotalSpace) as 'usage_rate'
  2276. from app_storage_day_stat asds
  2277. left join (select value,name from m_com_dict where dict_index='itm_resources_netcode') d on d.value=asds.NETID
  2278. left join pub_organ po on po.ID=asds.ORGAN_ID
  2279. group by date_format(IND_VALUE_TIME,'%Y%m%d'),asds.NETID,asds.ORGAN_ID,d.name,po.short_name;
  2280. insert into bi_storage_usage_rate
  2281. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  2282. NET_ID, NET_NAME,ORGAN_ID,ORGAN_NAME, SUM(used), SUM(total), SUM(used)/SUM(total)
  2283. from bi_storage_usage_rate
  2284. where dtype = 'DAY'
  2285. GROUP BY substring(thedvalue,1,6),NET_ID,ORGAN_ID,NET_NAME,ORGAN_NAME;
  2286. insert into bi_storage_usage_rate
  2287. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  2288. NET_ID, NET_NAME,ORGAN_ID,ORGAN_NAME, SUM(used), SUM(total), SUM(used)/SUM(total)
  2289. from bi_storage_usage_rate
  2290. where dtype = 'MONTH'
  2291. GROUP BY substring(thedvalue,1,4),NET_ID,ORGAN_ID,NET_NAME,ORGAN_NAME;
  2292. -- 应用数据分析
  2293. -- 建表语句
  2294. DROP TABLE IF EXISTS `bi_app_data_analysis`;
  2295. CREATE TABLE `bi_app_data_analysis` (
  2296. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2297. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2298. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2299. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2300. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID',
  2301. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  2302. `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
  2303. `app_name` varchar(255) DEFAULT NULL COMMENT '应用名称',
  2304. `priority` varchar(10) DEFAULT NULL COMMENT '优先级:核心-high;重要-important;一般-low',
  2305. `visit_count` decimal(20,2) DEFAULT NULL COMMENT '访问量',
  2306. `user_count` decimal(20,2) DEFAULT NULL COMMENT '用户量',
  2307. `quality` decimal(20,6) DEFAULT NULL COMMENT '数据质量'
  2308. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2309. truncate table bi_app_data_analysis;
  2310. insert into bi_app_data_analysis
  2311. select
  2312. 'MONTH' as dtype,
  2313. date_format(visit_time,'%Y%m') as thedvalue,
  2314. ia.ITM_NETGROUP_ID,
  2315. d.name,
  2316. arl.organ_id,
  2317. po.short_name,
  2318. arl.app_id,
  2319. ia.itm_app_name,
  2320. ia.PRIORITY,
  2321. sum(arl.visit_count),
  2322. sum(arl.user_count),
  2323. 0.0
  2324. from app_region_log arl
  2325. left join itm_app ia on ia.ITM_APP_ID=arl.app_id
  2326. left join (select value,name from m_com_dict where dict_index='itm_resources_netcode') d on d.value=ia.ITM_NETGROUP_ID
  2327. left join pub_organ po on po.id=CAST(arl.organ_id AS CHAR)
  2328. group by date_format(visit_time,'%Y%m'),ia.ITM_NETGROUP_ID,arl.organ_id,arl.app_id,ia.itm_app_name,ia.PRIORITY,d.name,po.short_name;
  2329. insert into bi_app_data_analysis
  2330. select
  2331. 'MONTH' as dtype,
  2332. replace(aadq.`month`,'-','') as thedvalue,
  2333. ia.ITM_NETGROUP_ID,
  2334. d.name,
  2335. ia.organ_id,
  2336. po.name,
  2337. ia.ITM_APP_ID,
  2338. ia.itm_app_name,
  2339. ia.PRIORITY,
  2340. 0,
  2341. 0,
  2342. sum(aadq.quality)
  2343. from t_asset_app_data_quality aadq
  2344. left join itm_app ia on ia.ITM_APP_ID=aadq.app_id
  2345. left join (select value,name from m_com_dict where dict_index='itm_resources_netcode') d on d.value=ia.ITM_NETGROUP_ID
  2346. left join pub_organ po on po.ID=ia.organ_id
  2347. group by replace(aadq.`month`,'-',''),ia.ITM_NETGROUP_ID,ia.organ_id,ia.ITM_APP_ID,ia.itm_app_name,ia.PRIORITY,d.name,po.name;
  2348. insert into bi_app_data_analysis
  2349. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  2350. NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME,app_id,app_name,priority,sum(visit_count),sum(user_count),sum(quality)
  2351. from bi_app_data_analysis
  2352. where dtype = 'MONTH'
  2353. GROUP BY substring(thedvalue,1,4),NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME,app_id,app_name,priority;
  2354. -- 应用备份覆盖率分析
  2355. -- 建表语句
  2356. DROP TABLE IF EXISTS `bi_app_backup_coverage`;
  2357. CREATE TABLE `bi_app_backup_coverage` (
  2358. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2359. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2360. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2361. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2362. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID',
  2363. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  2364. `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
  2365. `app_name` varchar(255) DEFAULT NULL COMMENT '应用名称',
  2366. `priority` varchar(10) DEFAULT NULL COMMENT '优先级:核心-high;重要-important;一般-low',
  2367. `bak_size` decimal(20,10) DEFAULT NULL COMMENT '备份数据容量',
  2368. `total_size` decimal(20,10) DEFAULT NULL COMMENT '总容量',
  2369. `backup_coverage` decimal(20,10) DEFAULT NULL COMMENT '备份覆盖率'
  2370. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2371. truncate table bi_app_backup_coverage;
  2372. insert into bi_app_backup_coverage
  2373. select
  2374. 'MONTH' as dtype,
  2375. replace(abi.`month`,'-','') as thedvalue,
  2376. ia.ITM_NETGROUP_ID,
  2377. d.name,
  2378. ia.ORGAN_ID,
  2379. po.short_name,
  2380. abi.app_id,
  2381. ia.ITM_APP_NAME,
  2382. ia.PRIORITY,
  2383. sum(abi.bak_size),
  2384. sum(abi.total_size),
  2385. IF(sum(abi.total_size)<>0, sum(abi.bak_size) / sum(abi.total_size), 0)
  2386. from t_asset_app_bak_info abi
  2387. left join itm_app ia on ia.ITM_APP_ID=abi.app_id
  2388. left join (select value,name from m_com_dict where dict_index='itm_resources_netcode') d on d.value=ia.ITM_NETGROUP_ID
  2389. left join pub_organ po on po.id=ia.ORGAN_ID
  2390. group by replace(abi.`month`,'-',''),ia.ITM_NETGROUP_ID,ia.ORGAN_ID,abi.app_id,ia.ITM_APP_NAME,ia.PRIORITY,d.name,po.short_name;
  2391. insert into bi_app_backup_coverage
  2392. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  2393. NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME,app_id,app_name,priority,
  2394. sum(bak_size),
  2395. sum(total_size),
  2396. IF(sum(total_size)<>0, sum(bak_size) / sum(total_size), 0)
  2397. from bi_app_backup_coverage
  2398. where dtype = 'MONTH'
  2399. GROUP BY substring(thedvalue,1,4),NET_ID,NET_NAME,ORGAN_ID,ORGAN_NAME,app_id,app_name,priority;
  2400. set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  2401. DROP TABLE IF EXISTS `bi_app_resource_group_by_time`;
  2402. CREATE TABLE `bi_app_resource_group_by_time` (
  2403. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2404. `thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
  2405. `dhour` varchar(15) DEFAULT NULL comment '小时',
  2406. `ITM_APP_ID` varchar(255) NOT NULL COMMENT '应用ID',
  2407. `ITM_APP_CODE` varchar(45) DEFAULT NULL COMMENT '编码',
  2408. `ITM_APP_NAME` varchar(200) DEFAULT NULL COMMENT '应用名称',
  2409. `ITM_APP_SHORTNAME` varchar(100) DEFAULT NULL COMMENT '应用简称',
  2410. `ITM_APP_DESC` text COMMENT '系统简介',
  2411. `ITM_APP_DEPT` varchar(300) DEFAULT NULL COMMENT '归口部门',
  2412. `ITM_APP_COURTCODE` varchar(45) DEFAULT NULL COMMENT '承建单位\n例如:最高法、山东省高法\n取法院系统的组织机构编码',
  2413. `ITM_NETGROUP_ID` varchar(30) DEFAULT NULL COMMENT '应用所属网系\n更新字典表\nNG000:外部专网\nNG001:法院专网\nNG002:互联网\nNG003:移动专网\nNG004:涉密内网',
  2414. `ITM_APPCATAGORY_ID` varchar(45) DEFAULT NULL,
  2415. `ITM_APP_VENDOR` varchar(45) DEFAULT NULL COMMENT '供应商:浪潮、太极等',
  2416. `ITM_APP_UPTIME` datetime DEFAULT NULL COMMENT '上线时间',
  2417. `ITM_APP_VERSION` varchar(45) DEFAULT NULL,
  2418. `ITM_APP_MAINTENANCE_ID` varchar(45) DEFAULT NULL COMMENT '运维团队,关联运维表,使用内码连接\n',
  2419. `ITM_APP_ORDER` int(45) DEFAULT NULL COMMENT '应用顺序,展示',
  2420. `ITM_APP_NETID` varchar(45) DEFAULT NULL COMMENT '专网编号',
  2421. `ITM_APP_ICONSRC` varchar(100) DEFAULT NULL COMMENT '应用分类\n三类和25类字典表表现',
  2422. `ITM_APP_SYSTEMURL` varchar(100) DEFAULT NULL COMMENT '',
  2423. `ORGAN_ID` varchar(30) DEFAULT NULL COMMENT '机构id,关联机构表',
  2424. `IS_GLOBAL` varchar(45) DEFAULT NULL COMMENT '是否是全局\n如果是全局,则拓扑图是全局的\n如果是非全局,需要维护各自的',
  2425. `ITM_APP_PID` varchar(45) DEFAULT NULL COMMENT '父类系统\n',
  2426. `PLATFORM` varchar(100) DEFAULT NULL COMMENT '七大平台',
  2427. `PRIORITY` varchar(10) DEFAULT NULL COMMENT '优先级:核心-high,重要-important,一般-low',
  2428. `ITM_APP_IP` varchar(30) DEFAULT NULL COMMENT '应用所在服务器IP',
  2429. `ITM_APP_PORT` varchar(10) DEFAULT NULL COMMENT '应用所在服务器端口',
  2430. `ITM_APP_WEBROOT` varchar(100) DEFAULT NULL COMMENT '应用访问路径根目录',
  2431. `ITM_LOCATION` varchar(100) DEFAULT NULL COMMENT '位置信息',
  2432. `ITM_APP_ASSURE_LEVEL` varchar(1) DEFAULT NULL COMMENT '应用保障级别1一级保障',
  2433. `SHOW_TYPE` varchar(10) DEFAULT NULL,
  2434. `ITM_SHOW_FLAG` varchar(10) DEFAULT NULL,
  2435. `int_id` int(22) DEFAULT NULL COMMENT '其他系统关联用ID',
  2436. `INSERT_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录插入时间',
  2437. `mantance_vendor` varchar(64) DEFAULT NULL,
  2438. `mantance_duty` varchar(64) DEFAULT NULL,
  2439. `mantance_duty_phone` varchar(128) DEFAULT NULL,
  2440. `start_date` datetime DEFAULT NULL,
  2441. `mantance_year_number` int(16) DEFAULT NULL,
  2442. `ne_type` varchar(64) DEFAULT NULL,
  2443. `creator` varchar(64) DEFAULT NULL,
  2444. `create_time` datetime DEFAULT NULL,
  2445. `modifier` varchar(64) DEFAULT NULL,
  2446. `modify_time` datetime DEFAULT NULL,
  2447. `time_stamp` datetime DEFAULT NULL,
  2448. `stateflag` mediumtext,
  2449. `ruuid` varchar(128) NOT NULL,
  2450. `data_type` varchar(50) DEFAULT NULL,
  2451. `login_action` text,
  2452. `localize_flag` varchar(32) DEFAULT NULL,
  2453. `current_stat` varchar(32) DEFAULT NULL,
  2454. `contract` varchar(64) DEFAULT NULL,
  2455. `emergency_flag` varchar(32) DEFAULT NULL,
  2456. `monitor_flag` varchar(32) DEFAULT NULL,
  2457. `development_language` varchar(32) DEFAULT NULL,
  2458. `app_type` varchar(64) DEFAULT NULL,
  2459. `contract_money` varchar(32) DEFAULT NULL,
  2460. `unified_login` varchar(12) DEFAULT NULL COMMENT '统一登录:0:以接入统一桌面,1:未接入统一桌面',
  2461. `img_url` varchar(50) DEFAULT NULL,
  2462. `dataType` text,
  2463. `on_line` mediumtext,
  2464. `stateflag1` varchar(20) DEFAULT NULL COMMENT '应用状态',
  2465. `PRIORITY1` varchar(20) DEFAULT NULL COMMENT '重要程度',
  2466. `app_type_name` varchar(20) DEFAULT NULL COMMENT '分类',
  2467. `net_name` varchar(20) DEFAULT NULL COMMENT '网系',
  2468. `IND_VALUE_Network_Cpurate` decimal(20 ,6) DEFAULT NULL comment 'cpu利用率(原始)',
  2469. `IND_VALUE_Network_Cpurate_High` decimal(16 ,2) DEFAULT NULL comment 'CPU利用率峰值(原始)',
  2470. `IND_VALUE_Network_Memrate` decimal(20 ,6) DEFAULT NULL comment '内存利用率(原始)',
  2471. `IND_VALUE_Network_Memrate_High` decimal(16 ,2) DEFAULT NULL comment '内存利用率峰值(原始)',
  2472. `IND_VALUE_HOST_DISK_TOTAL` decimal(38 ,4) DEFAULT NULL comment '磁盘总大小(原始)',
  2473. `IND_VALUE_HOST_DISK_USED` decimal(38 ,4) DEFAULT NULL comment '已使用磁盘大小(原始)',
  2474. `IND_VALUE_HOST_DISK_UTILIZATION` decimal(16 ,4) DEFAULT NULL comment '磁盘利用率峰值(原始)',
  2475. `Band_widthrate` decimal(38,4) DEFAULT NULL COMMENT '实时带宽利用率',
  2476. `Bandwidthrate_High` decimal(38,4) DEFAULT NULL COMMENT '带宽峰值用率',
  2477. `Network_delay` decimal(38,4) DEFAULT NULL COMMENT '网络时延',
  2478. `Network_flow` decimal(38,4) DEFAULT NULL COMMENT '端口流量',
  2479. `Network_PacketErrorrate` decimal(38,4) DEFAULT NULL COMMENT '丢包率',
  2480. `Network_PacketLossrate` decimal(38,4) DEFAULT NULL COMMENT '错包率',
  2481. `Write_rate` decimal(38,4) DEFAULT NULL COMMENT '读写速率',
  2482. `network_Ifinrate` decimal(38,4) DEFAULT NULL COMMENT '下行利用率',
  2483. `network_Ifortrate` decimal(38,4) DEFAULT NULL COMMENT '上行利用率',
  2484. `Device_total` decimal(38,4) DEFAULT NULL COMMENT '设备总量',
  2485. `Device_used` decimal(38,4) DEFAULT NULL COMMENT '设备已用容量',
  2486. `Device_UTILIZATION` decimal(38,4) DEFAULT NULL COMMENT '资源利用率'
  2487. )ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2488. insert into bi_app_resource_group_by_time
  2489. select
  2490. 'HOUR' as dtype,
  2491. date_format(b.CREATE_TIME,'%Y%m%d%H') as thedvalue,
  2492. date_format(b.CREATE_TIME,'%H') as dhour,
  2493. a.*,
  2494. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2495. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2496. d.name as app_type_name,
  2497. e.net_name as net_name,
  2498. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2499. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2500. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2501. rand(10) * 100 as Band_widthrate,
  2502. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2503. rand() * 100 as Network_delay,
  2504. rand() * 10000 as Network_flow,
  2505. rand() as Network_PacketErrorrate,
  2506. rand() as Network_PacketLossrate,
  2507. rand() * 10000 as Write_rate,
  2508. rand() as network_Ifinrate,
  2509. rand() as network_Ifortrate,
  2510. 0.0 * rand(20) * 10 as Device_total,
  2511. 0.0 * rand(20) * 10 as Device_used,
  2512. 0.0 as Device_UTILIZATION
  2513. from itm_app a
  2514. inner join (select * from bi_itm_hardware_resources where servicename !='') c
  2515. on a.ITM_APP_NAME = c.servicename
  2516. -- inner join bi_itm_hardware_resources f
  2517. -- on a.ruuid = c.relatedappid
  2518. inner join app_network_stat b
  2519. on c.itm_hardware_resources_id = b.INT_ID
  2520. inner JOIN m_com_dict d on a.app_type=d.value
  2521. inner JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2522. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m%d%H'),date_format(b.CREATE_TIME,'%H'),net_name
  2523. UNION ALL
  2524. select
  2525. 'HOUR' as dtype,
  2526. date_format(b.CREATE_TIME,'%Y%m%d%H') as thedvalue,
  2527. date_format(b.CREATE_TIME,'%H') as dhour,
  2528. a.*,
  2529. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2530. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2531. d.name as app_type_name,
  2532. e.net_name as net_name,
  2533. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2534. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2535. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2536. rand(10) * 100 as Band_widthrate,
  2537. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2538. rand() * 100 as Network_delay,
  2539. rand() * 10000 as Network_flow,
  2540. rand() as Network_PacketErrorrate,
  2541. rand() as Network_PacketLossrate,
  2542. rand() * 10000 as Write_rate,
  2543. rand() as network_Ifinrate,
  2544. rand() as network_Ifortrate,
  2545. 0.0 * rand(20) * 10 as Device_total,
  2546. 0.0 * rand(20) * 10 as Device_used,
  2547. 0.0 as Device_UTILIZATION
  2548. from itm_app a
  2549. inner join (select * from bi_itm_hardware_resources where servicename = '') c
  2550. on a.ruuid = c.relatedappid
  2551. -- inner join bi_itm_hardware_resources f
  2552. -- on a.ruuid = c.relatedappid
  2553. inner join app_network_stat b
  2554. on c.itm_hardware_resources_id = b.INT_ID
  2555. inner JOIN m_com_dict d on a.app_type=d.value
  2556. inner JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2557. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m%d%H'),date_format(b.CREATE_TIME,'%H'),net_name
  2558. union all
  2559. select
  2560. 'DAY' as dtype,
  2561. date_format(b.CREATE_TIME,'%Y%m%d') as thedvalue,
  2562. date_format(b.CREATE_TIME,'%H') as dhour,
  2563. a.*,
  2564. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2565. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2566. d.name as app_type_name,
  2567. e.net_name as net_name,
  2568. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2569. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2570. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2571. rand(10) * 100 as Band_widthrate,
  2572. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2573. rand() * 100 as Network_delay,
  2574. rand() * 10000 as Network_flow,
  2575. rand() as Network_PacketErrorrate,
  2576. rand() as Network_PacketLossrate,
  2577. rand() * 10000 as Write_rate,
  2578. rand() as network_Ifinrate,
  2579. rand() as network_Ifortrate,
  2580. 0.0 * rand(20) * 10 as Device_total,
  2581. 0.0 * rand(20) * 10 as Device_used,
  2582. 0.0 as Device_UTILIZATION
  2583. from itm_app a
  2584. inner join (select * from bi_itm_hardware_resources where servicename !='') c
  2585. on a.ITM_APP_NAME = c.servicename
  2586. inner join app_network_stat b
  2587. on c.itm_hardware_resources_id = b.INT_ID
  2588. LEFT JOIN m_com_dict d on a.app_type=d.value
  2589. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2590. WHERE d.dict_index='app_type'
  2591. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m%d'),date_format(b.CREATE_TIME,'%H')
  2592. union all
  2593. select
  2594. 'DAY' as dtype,
  2595. date_format(b.CREATE_TIME,'%Y%m%d') as thedvalue,
  2596. date_format(b.CREATE_TIME,'%H') as dhour,
  2597. a.*,
  2598. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2599. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2600. d.name as app_type_name,
  2601. e.net_name as net_name,
  2602. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2603. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2604. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2605. rand(10) * 100 as Band_widthrate,
  2606. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2607. rand() * 100 as Network_delay,
  2608. rand() * 10000 as Network_flow,
  2609. rand() as Network_PacketErrorrate,
  2610. rand() as Network_PacketLossrate,
  2611. rand() * 10000 as Write_rate,
  2612. rand() as network_Ifinrate,
  2613. rand() as network_Ifortrate,
  2614. 0.0 * rand(20) * 10 as Device_total,
  2615. 0.0 * rand(20) * 10 as Device_used,
  2616. 0.0 as Device_UTILIZATION
  2617. from itm_app a
  2618. inner join (select * from bi_itm_hardware_resources where servicename = '') c
  2619. on a.ruuid = c.relatedappid
  2620. -- inner join bi_itm_hardware_resources f
  2621. -- on a.ruuid = c.relatedappid
  2622. inner join app_network_stat b
  2623. on c.itm_hardware_resources_id = b.INT_ID
  2624. inner JOIN m_com_dict d on a.app_type=d.value
  2625. inner JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2626. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m%d'),date_format(b.CREATE_TIME,'%H'),net_name
  2627. union all
  2628. select
  2629. 'WEEK' as dtype,
  2630. date_format(b.CREATE_TIME,'%Y%u') as thedvalue,
  2631. date_format(b.CREATE_TIME,'%H') as dhour,
  2632. a.*,
  2633. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2634. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2635. d.name as app_type_name,
  2636. e.net_name as net_name,
  2637. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2638. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2639. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2640. rand(10) * 100 as Band_widthrate,
  2641. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2642. rand() * 100 as Network_delay,
  2643. rand() * 10000 as Network_flow,
  2644. rand() as Network_PacketErrorrate,
  2645. rand() as Network_PacketLossrate,
  2646. rand() * 10000 as Write_rate,
  2647. rand() as network_Ifinrate,
  2648. rand() as network_Ifortrate,
  2649. 0.0 * rand(20) * 10 as Device_total,
  2650. 0.0 * rand(20) * 10 as Device_used,
  2651. 0.0 as Device_UTILIZATION
  2652. from itm_app a
  2653. inner join (select * from bi_itm_hardware_resources where servicename != '') c
  2654. on a.ITM_APP_NAME = c.servicename
  2655. inner join app_network_stat b
  2656. on c.itm_hardware_resources_id = b.INT_ID
  2657. LEFT JOIN m_com_dict d on a.app_type=d.value
  2658. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2659. WHERE d.dict_index='app_type'
  2660. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%u'),date_format(b.CREATE_TIME,'%H')
  2661. union all
  2662. select
  2663. 'WEEK' as dtype,
  2664. date_format(b.CREATE_TIME,'%Y%u') as thedvalue,
  2665. date_format(b.CREATE_TIME,'%H') as dhour,
  2666. a.*,
  2667. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2668. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2669. d.name as app_type_name,
  2670. e.net_name as net_name,
  2671. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2672. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2673. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2674. rand(10) * 100 as Band_widthrate,
  2675. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2676. rand() * 100 as Network_delay,
  2677. rand() * 10000 as Network_flow,
  2678. rand() as Network_PacketErrorrate,
  2679. rand() as Network_PacketLossrate,
  2680. rand() * 10000 as Write_rate,
  2681. rand() as network_Ifinrate,
  2682. rand() as network_Ifortrate,
  2683. 0.0 * rand(20) * 10 as Device_total,
  2684. 0.0 * rand(20) * 10 as Device_used,
  2685. 0.0 as Device_UTILIZATION
  2686. from itm_app a
  2687. inner join (select * from bi_itm_hardware_resources where servicename = '') c
  2688. on a.ruuid = c.relatedappid
  2689. inner join app_network_stat b
  2690. on c.itm_hardware_resources_id = b.INT_ID
  2691. LEFT JOIN m_com_dict d on a.app_type=d.value
  2692. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2693. WHERE d.dict_index='app_type'
  2694. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%u'),date_format(b.CREATE_TIME,'%H')
  2695. union all
  2696. select
  2697. 'MONTH' as dtype,
  2698. date_format(b.CREATE_TIME,'%Y%m') as thedvalue,
  2699. date_format(b.CREATE_TIME,'%H') as dhour,
  2700. a.*,
  2701. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2702. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2703. d.name as app_type_name,
  2704. e.net_name as net_name,
  2705. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2706. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2707. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2708. rand(10) * 100 as Band_widthrate,
  2709. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2710. rand() * 100 as Network_delay,
  2711. rand() * 10000 as Network_flow,
  2712. rand() as Network_PacketErrorrate,
  2713. rand() as Network_PacketLossrate,
  2714. rand() * 10000 as Write_rate,
  2715. rand() as network_Ifinrate,
  2716. rand() as network_Ifortrate,
  2717. 0.0 * rand(20) * 10 as Device_total,
  2718. 0.0 * rand(20) * 10 as Device_used,
  2719. 0.0 as Device_UTILIZATION
  2720. from itm_app a
  2721. inner join (select * from bi_itm_hardware_resources where servicename != '') c
  2722. on a.ITM_APP_NAME = c.servicename
  2723. inner join app_network_stat b
  2724. on c.itm_hardware_resources_id = b.INT_ID
  2725. LEFT JOIN m_com_dict d on a.app_type=d.value
  2726. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2727. WHERE d.dict_index='app_type'
  2728. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m'),date_format(b.CREATE_TIME,'%H')
  2729. union all
  2730. select
  2731. 'MONTH' as dtype,
  2732. date_format(b.CREATE_TIME,'%Y%m') as thedvalue,
  2733. date_format(b.CREATE_TIME,'%H') as dhour,
  2734. a.*,
  2735. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2736. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2737. d.name as app_type_name,
  2738. e.net_name as net_name,
  2739. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2740. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2741. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2742. rand(10) * 100 as Band_widthrate,
  2743. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2744. rand() * 100 as Network_delay,
  2745. rand() * 10000 as Network_flow,
  2746. rand() as Network_PacketErrorrate,
  2747. rand() as Network_PacketLossrate,
  2748. rand() * 10000 as Write_rate,
  2749. rand() as network_Ifinrate,
  2750. rand() as network_Ifortrate,
  2751. 0.0 * rand(20) * 10 as Device_total,
  2752. 0.0 * rand(20) * 10 as Device_used,
  2753. 0.0 as Device_UTILIZATION
  2754. from itm_app a
  2755. inner join (select * from bi_itm_hardware_resources where servicename = '') c
  2756. on a.ruuid = c.relatedappid
  2757. inner join app_network_stat b
  2758. on c.itm_hardware_resources_id = b.INT_ID
  2759. LEFT JOIN m_com_dict d on a.app_type=d.value
  2760. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2761. WHERE d.dict_index='app_type'
  2762. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y%m'),date_format(b.CREATE_TIME,'%H')
  2763. union all
  2764. select
  2765. 'YEAR' as dtype,
  2766. date_format(b.CREATE_TIME,'%Y') as thedvalue,
  2767. date_format(b.CREATE_TIME,'%H') as dhour,
  2768. a.*,
  2769. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2770. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2771. d.name as app_type_name,
  2772. e.net_name as net_name,
  2773. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2774. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2775. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2776. rand(10) * 100 as Band_widthrate,
  2777. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2778. rand() * 100 as Network_delay,
  2779. rand() * 10000 as Network_flow,
  2780. rand() as Network_PacketErrorrate,
  2781. rand() as Network_PacketLossrate,
  2782. rand() * 10000 as Write_rate,
  2783. rand() as network_Ifinrate,
  2784. rand() as network_Ifortrate,
  2785. 0.0 * rand(20) * 10 as Device_total,
  2786. 0.0 * rand(20) * 10 as Device_used,
  2787. 0.0 as Device_UTILIZATION
  2788. from itm_app a
  2789. inner join (select * from bi_itm_hardware_resources where servicename != '') c
  2790. on a.ITM_APP_NAME = c.servicename
  2791. inner join app_network_stat b
  2792. on c.itm_hardware_resources_id = b.INT_ID
  2793. LEFT JOIN m_com_dict d on a.app_type=d.value
  2794. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2795. WHERE d.dict_index='app_type'
  2796. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y'),date_format(b.CREATE_TIME,'%H')
  2797. union ALL
  2798. select
  2799. 'YEAR' as dtype,
  2800. date_format(b.CREATE_TIME,'%Y') as thedvalue,
  2801. date_format(b.CREATE_TIME,'%H') as dhour,
  2802. a.*,
  2803. case a.stateflag when 0 then '已应用' else '未应用' end as stateflag1,
  2804. case a.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as PRIORITY1,
  2805. d.name as app_type_name,
  2806. e.net_name as net_name,
  2807. avg(b.IND_VALUE_Network_Cpurate) as IND_VALUE_Network_Cpurate,max(b.IND_VALUE_Network_Cpurate_High) as IND_VALUE_Network_Cpurate_High,
  2808. avg(IND_VALUE_Network_Memrate) as IND_VALUE_Network_Memrate,max(IND_VALUE_Network_Memrate_High) as IND_VALUE_Network_Memrate_High,
  2809. 0.0 as IND_VALUE_HOST_DISK_TOTAL, 0.0 as IND_VALUE_HOST_DISK_USED,0.0 as IND_VALUE_HOST_DISK_UTILIZATION,
  2810. rand(10) * 100 as Band_widthrate,
  2811. case when rand(10) * 100 + rand(10) * 10 > 100 then 100 else rand(10) * 100 + rand(10) * 10 end as Bandwidthrate_High,
  2812. rand() * 100 as Network_delay,
  2813. rand() * 10000 as Network_flow,
  2814. rand() as Network_PacketErrorrate,
  2815. rand() as Network_PacketLossrate,
  2816. rand() * 10000 as Write_rate,
  2817. rand() as network_Ifinrate,
  2818. rand() as network_Ifortrate,
  2819. 0.0 * rand(20) * 10 as Device_total,
  2820. 0.0 * rand(20) * 10 as Device_used,
  2821. 0.0 as Device_UTILIZATION
  2822. from itm_app a
  2823. inner join (select * from bi_itm_hardware_resources where servicename = '') c
  2824. on a.ruuid = c.relatedappid
  2825. inner join app_network_stat b
  2826. on c.itm_hardware_resources_id = b.INT_ID
  2827. LEFT JOIN m_com_dict d on a.app_type=d.value
  2828. LEFT JOIN itm_organ_net e on e.NET_ID = a.ITM_NETGROUP_ID
  2829. WHERE d.dict_index='app_type'
  2830. GROUP BY a.ITM_APP_NAME,date_format(b.CREATE_TIME,'%Y'),date_format(b.CREATE_TIME,'%H');
  2831. DROP TABLE IF EXISTS `bi_app_access_stat`;
  2832. CREATE TABLE `bi_app_access_stat` (
  2833. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2834. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2835. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2836. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2837. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID/数据来源',
  2838. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  2839. `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
  2840. `app_name` varchar(255) DEFAULT NULL COMMENT '应用名称',
  2841. `visit_count` decimal(20,10) DEFAULT NULL COMMENT '访问数',
  2842. `operate_count` decimal(20,10) DEFAULT NULL COMMENT '操作量',
  2843. `priority` varchar(10) DEFAULT NULL COMMENT '应用等级:核心-high;重要-important;一般-low',
  2844. `app_type` varchar(255) DEFAULT NULL COMMENT '应用分类'
  2845. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  2846. insert into bi_app_access_stat
  2847. SELECT
  2848. 'HOUR' AS dtype,
  2849. DATE_FORMAT(A.time_mark,'%Y%m%d%H') as thedvalue,
  2850. B.ITM_NETGROUP_ID AS NET_ID,
  2851. C.NAME AS net_name,
  2852. A.ORGAN_ID AS ORGAN_ID,
  2853. D.short_name AS ORGAN_name,
  2854. A.app_id as app_id,
  2855. B.ITM_APP_NAME AS app_name,
  2856. sum(A.visit_count) as visit_count,
  2857. sum(A.operate_count) as operate_count ,
  2858. CASE
  2859. B.PRIORITY
  2860. WHEN 'low' THEN
  2861. '一般应用'
  2862. WHEN 'important' THEN
  2863. '重要应用'
  2864. WHEN 'high' THEN
  2865. '核心应用' ELSE '未知'
  2866. END AS PRIORITY,
  2867. F.NAME
  2868. FROM app_visit_log_region as A
  2869. inner JOIN itm_app B on A.app_id=B.itm_app_id
  2870. inner JOIN ( SELECT VALUE, NAME FROM m_com_dict WHERE dict_index = 'itm_resources_netcode' ) C ON C.VALUE = B.ITM_NETGROUP_ID
  2871. inner JOIN pub_organ D ON D.id = A.ORGAN_ID
  2872. inner JOIN ( SELECT temp1.ITM_APP_ID, temp2.NAME FROM itm_app temp1 LEFT JOIN m_com_dict temp2 ON temp1.app_type = temp2.VALUE ) AS F ON A.app_id = F.itm_app_id
  2873. GROUP BY
  2874. A.app_id,
  2875. A.ORGAN_ID,
  2876. B.ITM_NETGROUP_ID,
  2877. B.ITM_APP_NAME,
  2878. C.NAME,
  2879. D.short_name,
  2880. B.priority,
  2881. F.NAME,
  2882. B.PRIORITY,
  2883. A.time_mark,
  2884. DATE_FORMAT(A.time_mark,'%Y%m%d%H');
  2885. insert into bi_app_access_stat
  2886. SELECT
  2887. 'DAY' AS dtype,
  2888. substring(thedvalue,1,8) AS thedvalue,
  2889. NET_ID,
  2890. net_name,
  2891. ORGAN_ID,
  2892. ORGAN_name,
  2893. app_id,
  2894. app_name,
  2895. sum(visit_count) as visit_count,
  2896. sum(operate_count) as operate_count ,
  2897. CASE
  2898. PRIORITY
  2899. WHEN 'low' THEN
  2900. '一般应用'
  2901. WHEN 'important' THEN
  2902. '重要应用'
  2903. WHEN 'high' THEN
  2904. '核心应用' ELSE '未知'
  2905. END AS PRIORITY,
  2906. app_type
  2907. FROM bi_app_access_stat WHERE dtype = 'HOUR'
  2908. GROUP BY
  2909. dtype,
  2910. thedvalue,
  2911. NET_ID,
  2912. net_name,
  2913. ORGAN_ID,
  2914. ORGAN_name,
  2915. app_id,
  2916. app_name,
  2917. priority,
  2918. app_type,
  2919. substring(thedvalue,1,8);
  2920. insert into bi_app_access_stat
  2921. SELECT
  2922. 'MONTH' AS dtype,
  2923. substring(thedvalue,1,6) AS thedvalue,
  2924. NET_ID,
  2925. net_name,
  2926. ORGAN_ID,
  2927. ORGAN_name,
  2928. app_id,
  2929. app_name,
  2930. sum(visit_count) as visit_count,
  2931. sum(operate_count) as operate_count ,
  2932. CASE
  2933. PRIORITY
  2934. WHEN 'low' THEN
  2935. '一般应用'
  2936. WHEN 'important' THEN
  2937. '重要应用'
  2938. WHEN 'high' THEN
  2939. '核心应用' ELSE '未知'
  2940. END AS PRIORITY,
  2941. app_type
  2942. FROM bi_app_access_stat WHERE dtype = 'DAY'
  2943. GROUP BY
  2944. dtype,
  2945. thedvalue,
  2946. NET_ID,
  2947. net_name,
  2948. ORGAN_ID,
  2949. ORGAN_name,
  2950. app_id,
  2951. app_name,
  2952. priority,
  2953. app_type,
  2954. substring(thedvalue,1,6);
  2955. insert into bi_app_access_stat
  2956. SELECT
  2957. 'YEAR' AS dtype,
  2958. substring(thedvalue,1,4) AS thedvalue,
  2959. NET_ID,
  2960. net_name,
  2961. ORGAN_ID,
  2962. ORGAN_name,
  2963. app_id,
  2964. app_name,
  2965. sum(visit_count) as visit_count,
  2966. sum(operate_count) as operate_count ,
  2967. CASE
  2968. PRIORITY
  2969. WHEN 'low' THEN
  2970. '一般应用'
  2971. WHEN 'important' THEN
  2972. '重要应用'
  2973. WHEN 'high' THEN
  2974. '核心应用' ELSE '未知'
  2975. END AS PRIORITY,
  2976. app_type
  2977. FROM bi_app_access_stat WHERE dtype = 'MONTH'
  2978. GROUP BY
  2979. dtype,
  2980. thedvalue,
  2981. NET_ID,
  2982. net_name,
  2983. ORGAN_ID,
  2984. ORGAN_name,
  2985. app_id,
  2986. app_name,
  2987. priority,
  2988. app_type,
  2989. substring(thedvalue,1,4)
  2990. -- 响应时间趋势
  2991. DROP TABLE IF EXISTS `bi_app_response_time_stat`;
  2992. CREATE TABLE `bi_app_response_time_stat` (
  2993. `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
  2994. `thedvalue` varchar(20) DEFAULT NULL COMMENT '日期',
  2995. `dhour` varchar(15) DEFAULT NULL COMMENT '小时',
  2996. `NET_ID` varchar(64) DEFAULT NULL COMMENT '网系ID',
  2997. `NET_NAME` varchar(64) DEFAULT NULL COMMENT '网系名称',
  2998. `ORGAN_ID` varchar(100) DEFAULT NULL COMMENT '区域ID/数据来源',
  2999. `ORGAN_NAME` varchar(100) DEFAULT NULL COMMENT '区域名称',
  3000. `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID',
  3001. `app_name` varchar(255) DEFAULT NULL COMMENT '应用名称',
  3002. `response_time` decimal(20,10) DEFAULT NULL COMMENT '响应时间',
  3003. `priority` varchar(10) DEFAULT NULL COMMENT '应用等级:核心-high;重要-important;一般-low',
  3004. `app_type` varchar(255) DEFAULT NULL COMMENT '应用分类'
  3005. ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
  3006. insert into bi_app_response_time_stat
  3007. select
  3008. 'HOUR' as dtype,
  3009. date_format(a.CREATE_TIME,'%Y%m%d%H') as thedvalue,
  3010. date_format(a.CREATE_TIME,'%H') as dhour,
  3011. b.ITM_NETGROUP_ID as NET_ID,
  3012. d.name as NET_NAME,
  3013. a.ORGAN_ID as ORGAN_ID,
  3014. e.`SHORT_NAME` as organ_name,
  3015. a.app_id as app_id,
  3016. b.ITM_APP_NAME as app_name,
  3017. avg(a.resp_time) as response_time,
  3018. case b.PRIORITY WHEN 'low' then '一般应用' when 'important' then '重要应用' when 'high' then '核心应用' else '未知' end as priority,
  3019. e.name as app_type
  3020. from app_app_detail_stat a
  3021. LEFT JOIN itm_app b on a.app_id =b.ITM_APP_ID
  3022. LEFT JOIN itm_organ_net c on c.NET_ID = a.net_id
  3023. inner JOIN (select * from m_com_dict where dict_index = 'app_type') d on b.app_type=d.value
  3024. left join pub_organ e on b.ORGAN_ID = e.`CODE`
  3025. group by
  3026. date_format(a.monitortime,'%Y%m%d%H'),date_format(a.monitortime,'%H'),
  3027. b.PRIORITY,
  3028. d.name,c.net_name,a.id ,a.app_id ,a.app_name ,a.ORGAN_ID ,a.net_id,e.`SHORT_NAME`,e.`NAME`;
  3029. insert into bi_app_response_time_stat
  3030. select 'DAY' as dtype,substring(thedvalue,1,8) AS thedvalue,
  3031. dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name, avg(response_time) as response_time, priority, app_type
  3032. from bi_app_response_time_stat
  3033. where dtype = 'HOUR'
  3034. GROUP BY substring(thedvalue,1,8),dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name,priority, app_type;
  3035. insert into bi_app_response_time_stat
  3036. select 'MONTH' as dtype,substring(thedvalue,1,6) AS thedvalue,
  3037. dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name, avg(response_time) as response_time, priority, app_type
  3038. from bi_app_response_time_stat
  3039. where dtype = 'DAY'
  3040. GROUP BY substring(thedvalue,1,6),dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name,priority, app_type;
  3041. insert into bi_app_response_time_stat
  3042. select 'YEAR' as dtype,substring(thedvalue,1,4) AS thedvalue,
  3043. dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name, avg(response_time) as response_time, priority, app_type
  3044. from bi_app_response_time_stat
  3045. where dtype = 'MONTH'
  3046. GROUP BY substring(thedvalue,1,4),dhour, NET_ID, NET_NAME, ORGAN_ID, ORGAN_NAME, app_id, app_name,priority, app_type;