SET NAMES utf8mb4;

-- ----------------------------
-- 能源分类
-- ----------------------------
drop table if exists dim_gb_ems_cls;
create table dim_gb_ems_cls (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `code`          varchar(16)     not null                   comment '能源代码',
  `name`          varchar(32)     not null                   comment '能源种类',
  `desc`          varchar(256)    default null               comment '说明',
  `level`         int(4)          default 0                  comment '分类层级 1-大类，2-中类，3-小类',
  `parent_code`   varchar(16)     default null               comment '父类代码',
  `version`       varchar(64)     default null               comment '数据版本',
  primary key (`id`),
  unique key ux_ems_cls_code(`code`)
) engine=innodb auto_increment=1 comment = '能源分类';

-- 能源分类初始数据
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('10',       '煤炭及煤制品',                 null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1001',     '无烟煤',                      null, 2, '10', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1002',     '烟煤',                        null, 2, '10', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100201',	 '贫煤',                        null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100202',	 '贫瘦煤',                      null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100203',	 '瘦煤',                        null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100204',	 '焦煤',                        null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100205',	 '肥煤',                        null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100206',	 '1/3焦煤',                     null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100207',	 '气肥煤',                      null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100208',	 '气煤',                        null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100209',	 '1/2中黏煤',                    null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100210',	 '弱黏煤',                       null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100211',	 '不黏煤',                       null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100212',   '长焰煤',                      null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100299',	 '其他烟煤',                     null, 3, '1002', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1003',     '褐煤',                        null, 2, '10', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1004',     '煤制品',                      '指除煤制油以外的煤炭制品',  2, '10', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100401',	 '焦炭',                        '包括焦炉焦炭、煤气焦炭、焦炭渣和半焦炭等0',  3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100402',	 '型煤',                        '包括煤球、煤砖、蜂窝煤等', 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100403',	 '煤制二甲醚',                   null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100404',	 '炼焦油',                      null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100405',	 '焦炉气',                      null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100406',	 '炼厂煤气',                    null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100407',	 '再利用煤气',                  '包括高炉煤气、氧化煤气等', 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100408',	 '煤制天然气',                  null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100499',	 '其他煤制品',                  null, 3, '1004', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1005',     '煤制油',                     null, 2, '10', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100501',	 '煤制石脑油',                  null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100502',	 '煤制汽油',                    null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100503',	 '煤制柴油',                    null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100504',	 '煤制航空燃料',                 null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100505',	 '煤制石蜡',                    null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('100599',	 '其他煤制油',                  null, 3, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('1099',     '其他煤炭及煤制品',             null, 2, '1005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('15',	     '泥炭及泥炭产物',               '又名“泥煤”、“草煤”、“草碳”，包括泥碳片、碾碎泥炭、泥炭产物等', 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('20',	     '油页岩/油沙',                 null, 1,  '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2001',     '页岩气',                     '指主体以上吸附或游离状态存在于泥岩、高碳泥岩、页岩及粉砂质岩类夹层中的天然气', 2,  '20', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2099',     '其他油页岩/油砂',             null, 2, '20', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('25',	     '天然气',                     null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2501',     '常规天然气',                  '指由常规油器藏开发出的天然气', 2, '25', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250101',	 '纯气田天然气',                '指气藏中以气相存的天然气，通过气井开采出来的非伴生气', 3, '2501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250102',	 '凝析气田天然气',              '指天然气从地层流出井口后，随着压力和温度的下降，分离生成的气相伴生气', 3, '2501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250103',	 '伴生天然气',                 '指与石油伴生的天然气', 3, '2501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250199',	 '其他常规天然气',              null, 3, '2501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2502',     '非常规天然气',                '指难于用传统油气生成理论解释，在地下的赋存状态和聚集方式与常规天然气藏具有明显差异的天然气聚集', 2, '25', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250201',	 '煤成气',                     '指含煤岩层中有机质在成煤过程中所生成的天然气', 3, '2502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250202',	 '煤层气',                     '又名“煤层甲烷”、“瓦斯”，指赋存在煤层中以甲烷为主要成分、以吸附在煤基质颗粒表面为主、部分游离于煤孔隙中或溶解于煤层水中的烃类气体', 3, '2502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250203',	 '深层气',                     '指深埋层位生成与储集的天然气，即地球沉积层深部层位形成或赋存的天然气', 3, '2502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250204',	 '天然气水合物',                '又名“可燃冰”', 3, '2502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250299',	 '其他非常规天然气',             null, 3, '2502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2503',     '天然气加工制品',               null, 2, '25', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250301',	 '液化天然气',                  null, 3, '2503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250302',	 '压缩天然气',                  null, 3, '2503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('250399',	 '其他天然气加工制品',           null, 3, '2503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('2599',     '其他天然气',                  null, 2, '25', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('30',	     '石油及石油制品',               null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3001',     '原油',                        null, 2, '30', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3002',     '天然气凝析液',                 null, 2, '30', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3003',     '石油制品',                    null, 2, '30', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300301',	 '汽油',                       '包括航空汽油和车用汽油', 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300302',	 '煤油',                       '包括航空煤油和灯用煤油等', 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300303',	 '柴油',                       null, 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300304',	 '燃料油',                     '包括船用燃料和工业用燃料油等', 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300305',	 '燃料气',                     '包括野花石油气、炼厂干气和甲烷氢等', 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300306',	 '石蜡',                       null, 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300307',	 '沥青',                       '包括煤焦沥青和石油沥青等', 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300308',	 '石焦油',                     null, 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('300399',	 '其他石油制品',                null, 3, '3003', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3099',     '其他石油及石油制品',           null, 2, '30', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('35',	     '生物质能',                   null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3501',     '固态生物燃料',                null, 2, '35', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350101',	 '薪材、木材残渣和副产品',        '包括树皮、薪柴、锯末刨花等', 3, '3501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350102',	 '动物肥料',                    null, 3, '3501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350103',	 '植物材料和剩余物',             '包括玉米棒、稻壳、木索、麻等', 3, '3501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350104',	 '木炭',                       null, 3, '3501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350199',	 '其他固态生物燃料',             null, 3, '3501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3502',     '液态生物燃料',                null, 2, '35', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350201',	 '生物汽油',                   null, 3, '3502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350202',	 '生物柴油',                   null, 3, '3502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350203',	 '生物航空煤油',                null, 3, '3502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350299',	 '其他液体生物燃料',             null, 3, '3502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3503',     '生物气',                     null, 2, '35', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350301',	 '沼气',                       null, 3, '3503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350302',	 '热处理过程中生物气',           null, 3, '3503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('350303',	 '其他生物气',                  null, 3, '3503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('3599',     '其他生物质能',                null, 2, '35', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('40',	     '废料能',                     null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('45',	     '电能',                       null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4501',     '火力发电',                    '指利用煤、石油、天然气等固体、液体、气体燃料燃烧时产生的热能，通过发电动力装置转换成电能的一种发电方式', 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450101',	 '燃煤发电',                    null, 3, '4501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450102',	 '燃油发电',                    null, 3, '4501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450103',	 '燃气发电',                    null, 3, '4501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450199',	 '其他火力发电',                 null, 3, '4501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4502',     '水力发电',                    '指将河流、湖泊或海洋等水体所蕴藏的水能转变为电能的发电方式', 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450201',	 '大型水电站发电',               '指装机容量在300000kw以上的水电站', 3, '4502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450202',	 '中型水电站发电',               '指装机容量在50000kw-300000kw的水电站', 3, '4502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450203',	 '抽水蓄能',                    null, 3, '4502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450299',	 '其他水力发电',                 null, 3, '4502', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4503',     '核能发电',                    null, 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450301',	 '大、中型商用核电',             '指用于电网基荷电源的核电', 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450302',	 '小型模块式核电',               '指用于偏远地区、岛屿及专用用户供电的核电', 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450303',	 '电热联供核电',                 null, 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450304',	 '空间核反应堆电源',              '指航天器与空间站专用电源', 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450305',	 '同位素电池',                   null, 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450399',	 '其他核能发电',                 null, 3, '4503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4504',     '可再生能源发电',               null, 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450401',	 '风力发电',                    null, 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450402',	 '太阳能发电',                  '包括太阳能光伏发电、太阳能热发电等', 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450403',	 '小型水电站发电',               '指装机容量在50000kw以下的小水电站', 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450404',	 '生物质能发电',                 null, 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450405',	 '地热能发电',                   null, 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450406',	 '海洋能发电',                   '包括海洋温差能发电、潮汐能发电和波浪能发电等', 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('450499',	 '其他可再生能源发电',            null, 3, '4504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4505',     '垃圾发电',                    '指通过特殊的焚烧锅炉和燃烧城市固体垃圾，再通过蒸汽轮机发电机组发电', 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4506',     '余热余压发电',                 '指利用企业生产过程中释放出来多余的副产热能、压差能来发电', 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('4599',     '其他电能',                    null, 2, '45', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('50', 	     '热能',                       null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5001',     '太阳能供热',                  null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5002',     '生物质能供热',                '包括秸秆、薪柴、粪便燃烧取热等', 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5003',     '地热能产热',                  null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5004',     '化石燃烧供热',                null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5005',     '核能直接供热',                null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('500501',	 '高温核供热',                  '指供热温度高于550℃的冶金、化工工艺', 3, '5005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('500502',	 '低温核供热',                  null, 3, '5005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('500503',	 '热电联供核电厂供热',           null, 3, '5005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('500599',	 '其他核能直接供热',             null, 3, '5005', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5006',     '废料燃烧供热',                null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5007',     '电热锅炉供热',                null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5008',     '热泵供热',                   '包括地源、空气源荷水源热泵产热', 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5009',     '余热余压供热',                null, 2, '50', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('55',	     '核能',                      null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5501',     '天然铀矿藏',                 null, 2, '55', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550101',	 '砂岩型矿石',                 null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550102',	 '碳硅泥岩型矿石',              null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550103',	 '花岗岩型矿石',                null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550104',	 '火山岩型矿石',                null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550105',	 '岩浆岩型矿石',                null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550199',	 '其他天然铀矿藏',              null, 3, '5501', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5502',     '钍矿藏',                     null, 2, '55', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5503',     '铀矿生产的中间产品',           '指从天然铀到核燃料生产过程中可供销售的产品', 2, '55', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550301',	 '黄饼',                       null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550302',	 '四氟化铀',                    null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550303',	 '六氟化铀',                    null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550304',	 '铀金属及铀合金',               null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550305',	 '低富集铀',                    '指铀-235富集度＜20％的富集铀产品', 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550306',	 '高富集铀',                    '指铀-235富集度>=20%富集铀产品', 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550307',	 '二氧化铀',                    null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550308',	 '钚',                         null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550309',	 '回收铀',                      null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550310',	 '铀钚混合氧化物',               null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550311',	 '贫铀',                        null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550312',	 '铀钍混合氧化物',               null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550313',	 '碳铀化物及氮铀化物',            null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550399',	 '其他铀生产的中间产品',          null, 3, '5503', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5504',     '核聚变反应材料或其原材料',       null, 2, '55', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550401',	 '氘',                         null, 3, '5504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550402',	 '氚',                         null, 3, '5504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550403',	 '锂',                         null, 3, '5504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('550499',   '其他核聚变反应材料或其原材料',    null, 3, '5504', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5599',     '其他核能',                     null, 2, '55', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('60',	     '氢能',                        null, 1, '-1', 'GB/T 29870-2013');
INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('99',	     '其他',                        null, 1, '-1', 'GB/T 29870-2013');


-- ----------------------------
-- 能源设施/系统分类
-- ----------------------------
drop table if exists dim_ems_facs_type;
create table dim_ems_facs_type (
  `id`        bigint(20)      not null auto_increment    comment '序号',
  `code`      varchar(8)      not null                   comment '设施系统代码',
  `name`      varchar(16)     not null                   comment '设施系统名称',
  `desc`      varchar(64)     default null               comment '说明',
  `version`   varchar(64)     default null               comment '数据版本',
  primary key (`id`),
  unique key ux_ems_facs_type_code(`code`)
) engine=innodb auto_increment=1 comment = '能源设施/系统分类';

-- 能源设施/系统初始数据
INSERT INTO `dim_ems_facs_type` (`code`, `name`, `desc`, `version`) VALUES ('E', '能源生产系统', '全站码', 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_type` (`code`, `name`, `desc`, `version`) VALUES ('T', '中转系统', '全站码', 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_type` (`code`, `name`, `desc`, `version`) VALUES ('W', '传输系统', '区位码', 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_type` (`code`, `name`, `desc`, `version`) VALUES ('C', '存储系统', '全站码', 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_type` (`code`, `name`, `desc`, `version`) VALUES ('Z', '用能系统', '区位码', 'GB/T 43033-2013');


-- ----------------------------
-- 能源设施/系统子类
-- ----------------------------
drop table if exists dim_ems_facs_subtype;
create table dim_ems_facs_subtype (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `code`          varchar(8)      not null                   comment '设施子类代码',
  `name`          varchar(16)     not null                   comment '设施子类名称',
  `parent_code`   varchar(8)      not null                   comment '所属设施系统分类代码',
  `desc`          varchar(64)     default null               comment '说明',
  `version`       varchar(64)     default null               comment '数据版本',
  primary key (`id`),
  unique key ux_ems_facs_sub_code(`code`)
) engine=innodb auto_increment=1 comment = '能源设施/系统子类';

-- 能源设施/系统初始数据
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E1', '天然气分布式供能站', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E2', '生物质发电站', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E3', '分布式风力发电场', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E4', '小型水力发电站', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E5', '分布式光伏发电系统', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E6', '太阳能供热站', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('E7', '锅炉供热站（电、燃气等型式）', 'E', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('T1', '换热站', 'T', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('T2', '制冷/热站', 'T', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('T3', '热泵站', 'T', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('T4', '供氢站', 'T', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W1', '管网', 'W', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W2', '配电网', 'W', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W3', '中继泵站', 'W', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C1', '电化学储能站', 'C', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C2', '飞轮、压缩空气等机械储能站', 'C', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C3', '蓄冷/热站', 'C', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C4', '储氢站', 'C', null, 'GB/T 43033-2013');
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z001', '室内照明', 'Z', null, null);
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z002', '室外照明', 'Z', null, null);
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z010', '公共设施', 'Z', null, null);
INSERT INTO `dim_ems_facs_subtype` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z020', '空调设施', 'Z', null, null);

-- ----------------------------
-- 标签分类
-- ----------------------------
drop table if exists dim_ems_tag;
create table dim_ems_tag (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `tag_model`     varchar(128)    not null                   comment '标签模型',
  `tag_code`      varchar(64)     not null                   comment '标签代码',
  `tag_name`      varchar(128)    not null                   comment '标签名称',
  primary key (`id`),
  unique key ux_ems_tag(`tag_code`)
) engine=innodb auto_increment=1 comment = '标签分类';

INSERT INTO `dim_ems_tag` (`tag_model`, `tag_code`, `tag_name`) VALUES ('Area', 'Area_00', '公共区域');
INSERT INTO `dim_ems_tag` (`tag_model`, `tag_code`, `tag_name`) VALUES ('Area', 'Area_01', '商户区域');

-- ----------------------------
-- 设备类型
-- ----------------------------
drop table if exists dim_devc_type;
create table dim_devc_type (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `type_code`     int             not null                   comment '类型代码',
  `type_name`     varchar(128)    not null                   comment '类型名称',
  primary key (`id`),
  unique key ux_devc_type(`type_code`)
) engine=innodb auto_increment=1 comment = '设备类型';

INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (0, '未分类');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (1, '照明设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (2, '暖通设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (3, '电气设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (4, '安防设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (5, '信息设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (6, '服务设备');
INSERT INTO `dim_devc_type` (`type_code`, `type_name`) VALUES (7, '运输设备');

-- ----------------------------
-- 动力柜电器设备符号
-- ----------------------------
drop table if exists dim_box_eleceqpt_type;
create table dim_box_eleceqpt_type (
    `id`               bigint(20)      not null auto_increment    comment '序号',
    `type_code`     varchar(16)     not null                   comment '类型代码',
    `type_name`     varchar(64)     not null                   comment '类型名称',
    primary key (`id`),
    unique key ux_eleceqpt_type(`type_code`)
) engine=innodb auto_increment=1 comment = '动力柜电器设备类型';

INSERT INTO `dim_box_eleceqpt_type` (`type_code`, `type_name`) VALUES ('QF', '空气开关');
INSERT INTO `dim_box_eleceqpt_type` (`type_code`, `type_name`) VALUES ('RCD', '漏电保护');
INSERT INTO `dim_box_eleceqpt_type` (`type_code`, `type_name`) VALUES ('K', '继电器');

-- ----------------------------
-- 电价计量分类
-- ----------------------------
drop table if exists dim_ems_elecprice_type;
create table dim_ems_elecprice_type (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `code`          int             not null                   comment '分类类型',
  `name`          varchar(16)     not null                   comment '分类名称',
   primary key (`id`),
   unique key ux_elecprice_type_code(`code`)
) engine=innodb auto_increment=1 comment = '电价计量分类';

INSERT INTO `dim_ems_elecprice_type` (`code`, `name`) VALUES ('1', '居民生活用电');
INSERT INTO `dim_ems_elecprice_type` (`code`, `name`) VALUES ('2', '农业用电');
INSERT INTO `dim_ems_elecprice_type` (`code`, `name`) VALUES ('3', '单一制');
INSERT INTO `dim_ems_elecprice_type` (`code`, `name`) VALUES ('4', '两部制');

-- ----------------------------
-- 排放因子维表
-- ----------------------------
drop table if exists dim_ems_emission_factor;
create table dim_ems_emission_factor (
  `id`            bigint(20)      not null auto_increment    comment '序号',
  `region_code`   varchar(8)      not null                   comment '地区码',
  `region_name`   varchar(16)     not null                   comment '地区名称',
  `region_type`   int             not null                   comment '地区类型 0：国家，1：地区，2：省份，3：城市',
  `factor_value`  double          default null               comment '因子值 单位: kgCO2/kWh',
  `factor_type`   int             default null               comment '1：电力平均二氧化碳排放因子 2：电力平均二氧化碳排放因子（不含市场化交易的非化石能源电量）3：化石能源电力二氧化碳排放因子',
  `version`       varchar(64)     default null               comment '数据版本',
  primary key (`id`),
  unique key ux_ems_emission_factor(`region_code`,`region_type`,`factor_type`)
) engine=innodb auto_increment=1 comment = '排放因子维表';

-- 排放因子初始数据
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('CN', '中国', '0', '0.5568', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('HB', '华北', '1', '0.7120', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('DB', '东北', '1', '0.6012', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('HD', '华东', '1', '0.5992', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('HZ', '华中', '1', '0.5354', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('XB', '西北', '1', '0.5951', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('HN', '华南', '1', '0.4326', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('XN', '西南', '1', '0.2113', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('110000', '北京', '2', '0.5688', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('120000', '天津', '2', '0.7355', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('130000', '河北', '2', '0.7901', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('140000', '山西', '2', '0.7222', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('150000', '内蒙古', '2', '0.7025', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('210000', '辽宁', '2', '0.5876', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('220000', '吉林', '2', '0.5629', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('230000', '黑龙江', '2', '0.6342', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('310000', '上海', '2', '0.5834', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('320000', '江苏', '2', '0.6451', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('330000', '浙江', '2', '0.5422', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('340000', '安徽', '2', '0.7075', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('350000', '福建', '2', '0.4711', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('360000', '江西', '2', '0.5835', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('370000', '山东', '2', '0.6838', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('410000', '河南', '2', '0.6369', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('420000', '湖北', '2', '0.3672', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('430000', '湖南', '2', '0.5138', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('440000', '广东', '2', '0.4715', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('450000', '广西', '2', '0.5154', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('460000', '海南', '2', '0.4524', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('500000', '重庆', '2', '0.4743', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('510000', '四川', '2', '0.1255', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('520000', '贵州', '2', '0.5182', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('530000', '云南', '2', '0.1235', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('610000', '陕西', '2', '0.6336', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('620000', '甘肃', '2', '0.4955', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('630000', '青海', '2', '0.1326', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('640000', '宁夏', '2', '0.6546', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('650000', '新疆', '2', '0.6577', '1', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('CN', '中国', '0', '0.5942', '2', '2021');
INSERT INTO `dim_ems_emission_factor` (`region_code`, `region_name`, `region_type`, `factor_value`, `factor_type`, `version`) VALUES ('CN', '中国', '0', '0.8426', '3', '2021');


-- ----------------------------
-- 服务区表
-- ----------------------------
drop table if exists adm_service_area;
create table adm_service_area (
  `id`             bigint(20)      not null auto_increment    comment '序号',
  `area_code`      varchar(32)     not null                   comment '服务区代码',
  `area_name`      varchar(32)     not null                   comment '服务区名称',
  `short_name`     varchar(16)     default null               comment '简称',
  `service_star`   int             default null               comment '服务星级',
  `city`           varchar(16)     default null               comment '所在城市',
  `highway`        varchar(32)     default null               comment '所在高速',
  `direction`      varchar(32)     default null               comment '方向',
  `address`        varchar(64)     default null               comment '地址',
  `attr_org`       varchar(32)     default null               comment '所有单位',
  `mgr_org`        varchar(32)     default null               comment '管理单位',
  `open_date`      date            default null               comment '开业时间',
  `land_area`      double          default null               comment '占地面积（亩）',
  `floor_area`     double          default null               comment '建筑面积（平方米）',
  `longitude`      double          default null               comment '经度',
  `latitude`       double          default null               comment '纬度',
  primary key (`id`),
  unique key ux_area_code(`area_code`)
) engine=innodb auto_increment=1 comment = '服务区表';


-- ----------------------------
-- 建筑基本信息表
-- ----------------------------
drop table if exists adm_area_building;
create table adm_area_building (
  `id`               bigint(20)      not null auto_increment    comment '序号',
  `bldg_code`        varchar(64)     not null                   comment '建筑编码',
  `bldg_name`        varchar(32)     not null                   comment '建筑名称',
  `address`          varchar(64)     default null               comment '详细地址',
  `up_bldg_floor`    int             default null               comment '建筑层数（地上）',
  `down_bldg_floor`  int             default null               comment '建筑层数（地下）',
  `bldg_height`      double          default null               comment '建筑高度',
  `floor_area`       double          default null               comment '建筑面积（平方米 m²）',
  `bldg_usage`       varchar(64)     default null               comment '主要用途',
  `area_code`        varchar(32)     default null               comment '服务区代码',
  primary key (`id`),
  unique key ux_structure_code(`bldg_code`)
) engine=innodb auto_increment=1 comment = '建筑基本信息表';


-- ----------------------------
-- 建筑划分表
-- ----------------------------
drop table if exists adm_area_building_zoning;
create table adm_area_building_zoning (
  `id`               bigint(20)      not null auto_increment    comment '序号',
  `bldg_code`        varchar(64)     not null                   comment '建筑编码',
  `zoning_code`      varchar(64)     not null                   comment '分区编码',
  `zoning_name`      varchar(64)     not null                   comment '分区名称',
  `floor`            int             default null               comment '楼层',
  `room_no`          varchar(16)     default null               comment '房间号',
  `bldg_ld_area`     double          default null               comment '建筑划分面积',
  `usage_detail`     varchar(200)    default null               comment '使用详情',
  primary key (`id`),
  unique key ux_building_zoning_code(`bldg_code`, `zoning_code`)
) engine=innodb auto_increment=1 comment = '建筑区域划分表';


-- ----------------------------
-- 能源设施/系统表
-- ----------------------------
drop table if exists adm_ems_facs;
create table adm_ems_facs  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `facs_code`       varchar(16)     not null                     comment '设施代码',
  `facs_name`       varchar(32)     not null                     comment '设施名称',
  `facs_type`       varchar(32)     not null                     comment '设施分类',
  `facs_subtype`    varchar(32)     not null                     comment '设施子类',
  `enable`          int             default '0'                  comment '启用状态0-停用，1-启用',
  `ref_area`        varchar(32)     not null                     comment '归属区域代码',
  `create_time`     datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`     datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_ems_facs_code(`facs_code`)
) engine=innodb auto_increment=1 comment = '能源设施表';


-- ----------------------------
-- 能源设施属性表
-- ----------------------------
drop table if exists adm_ems_facs_attr;
create table adm_ems_facs_attr  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `facs_code`       varchar(16)     not null                     comment '设施代码',
  `attr_name`       varchar(32)     not null                     comment '属性名称',
  `attr_desc`       varchar(64)     default null                 comment '属性描述',
  `attr_value`      varchar(64)     default null                 comment '属性值',
  `attr_unit`       varchar(32)     default null                 comment '属性单位',
   primary key (`id`),
   key ux_ems_facs_code(`facs_code`)
) engine=innodb auto_increment=1 comment = '能源设施属性表';


-- ----------------------------
-- 能源设施能力表
-- ----------------------------
drop table if exists adm_ems_facs_ability;
create table adm_ems_facs_ability  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `facs_code`       varchar(16)     not null                     comment '设施代码',
  `ability_name`    varchar(32)     not null                     comment '能力名称',
  `ability_desc`    varchar(64)     default null                 comment '能力描述',
  `ability_param`   varchar(64)     default null                 comment '属性值',
  primary key (`id`),
  key ux_ems_facs_ability(`facs_code`)
) engine=innodb auto_increment=1 comment = '能源设施能力表';


-- ----------------------------
-- 能源设施事件表
-- ----------------------------
drop table if exists adm_ems_facs_event;
create table adm_ems_facs_event  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `facs_code`       varchar(16)     not null                     comment '设施代码',
  `event_name`      varchar(32)     not null                     comment '事件名称',
  `event_type`      int             not null                     comment '事件类型',
  `event_desc`      varchar(64)     default null                 comment '事件描述',
  `event_code`      varchar(32)     default null                 comment '事件代码',
  `ext_event_code`  varchar(64)     default null                 comment '外系统事件代码',
  primary key (`id`),
  key ux_ems_facs_event(`facs_code`)
) engine=innodb auto_increment=1 comment = '能源设施事件表';


-- ----------------------------
-- 能源子系统表
-- ----------------------------
drop table if exists adm_ems_subsystem;
create table adm_ems_subsystem  (
  `id`                 bigint(20)      not null auto_increment      comment '序号',
  `system_code`        varchar(16)     not null                     comment '系统代码',
  `system_name`        varchar(32)     not null                     comment '系统名称',
  `short_name`         varchar(16)     default null                 comment '系统简称',
  `man_facturer`       varchar(64)     default null                 comment '厂商',
  `contact_person`     varchar(32)     default null                 comment '联系人',
  `contact_number`     varchar(128)    default null                 comment '联系电话',
  `maintainer_person`  varchar(32)     default null                 comment '维护人',
  `maintainer_number`  varchar(128)    default null                 comment '维护电话',
  `descr`              varchar(1024)   default null                 comment '备注说明',
  primary key (`id`),
  unique key ux_ems_facs_code(`system_code`)
) engine=innodb auto_increment=1 comment = '能源子系统表';


-- ----------------------------
-- 能源设施能流关系表
-- ----------------------------
drop table if exists adm_ems_facs_flow_rel;
create table adm_ems_facs_flow_rel  (
  `id`                bigint(20)      not null auto_increment      comment '序号',
  `code`              varchar(32)     not null                     comment '编码',
  `export_facs_code`  varchar(16)     not null                     comment '能源输出设施',
  `input_facs_code`   varchar(16)     not null                     comment '能源流入设施',
  `ems_cls`           varchar(16)     not null                     comment '能源流动介质',
  `state`             int             not null                     comment '供能状态 0-停止，1-供应中',
  `action_type`       varchar(6)      not null                     comment '4501-购电，4502-上网，4503-充电，4504-放电，4505-自产自销',
  `create_time`     datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`     datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_ems_facs_flow_rel_code(`code`),
  key idx_ems_facs_flow_rel_code(`export_facs_code`,`input_facs_code`)
) engine=innodb auto_increment=1 comment = '能源设施能流关系表';


-- ----------------------------
-- 用能设备表
-- ----------------------------
drop table if exists adm_ems_device;
create table adm_ems_device  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `device_code`     varchar(16)     not null                     comment '设备代码',
  `device_name`     varchar(32)     not null                     comment '设备名称',
  `device_type`     int             default null                 comment '设备类型',
  `device_status`   int             default null                 comment '设备状态',
  `area_type`       varchar(32)     default null                 comment '设备类型',
  `ref_area`        varchar(64)     default null                 comment '归属区域代码',
  `ref_facs`        varchar(64)     default null                 comment '归属设施代码',
  `subsystem_code`  varchar(16)     default null                 comment '子系统名称',
  `create_time`     datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`     datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_device_code(`device_code`)
) engine=innodb auto_increment=1 comment = '用能设备表';


-- ----------------------------
-- 计量设备表
-- ----------------------------
drop table if exists adm_meter_device;
create table adm_meter_device  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `device_code`     varchar(32)     not null                     comment '设备代码',
  `area_code`       varchar(16)     default null                 comment '区域代码',
  `meter_cls`       int             not null                     comment '计量类别25-天然气 45-电 70-水',
  `obj_type`        int             not null                     comment '计量对象类型 1-区域 2-设备',
  `obj_sub_type`    int             not null                     comment '计量对象子类型',
  `obj_code`        varchar(32)     not null                     comment '计量对象编码',
  `obj_tag`         int             default null                 comment '对象标记',
  `col_cycle`       int             default null                 comment '采集周期',
  `col_mode`        int             default null                 comment '采集方式',
  `magnification`   int             default 1                    comment '倍率',
  `spec_desc`       varchar(128)    default null                 comment '规格描述',
  primary key (`id`),
  unique key ux_meter_device(`device_code`)
) engine=innodb auto_increment=1 comment = '计量设备表';


-- ----------------------------
-- 动力箱柜表
-- ----------------------------
drop table if exists adm_power_box;
create table adm_power_box  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `box_code`        varchar(32)     not null                     comment '箱柜代码',
  `box_type`        int             not null                     comment '箱体类型',
  `area_code`       varchar(32)     default null                 comment '归属园区',
  `location`        varchar(200)    default null                 comment '安装位置',
  `box_size`        varchar(128)    default null                 comment '箱体尺寸',
  `gateway_addr`    varchar(128)    default null                 comment '网关地址',
  `gateway_port`    int             default null                 comment '网关端口',
  primary key (`id`),
  unique key ux_power_box(`box_code`)
) engine=innodb auto_increment=1 comment = '动力箱柜表';


-- ----------------------------
-- 动力箱柜电气设备表
-- ----------------------------
drop table if exists adm_box_elec_eqpt;
create table adm_box_elec_eqpt  (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `box_code`        varchar(32)     not null                     comment '箱柜代码',
  `eqpt_code`       varchar(32)     not null                     comment '电气编码',
  `ext_eqpt_code`   varchar(64)     default null                 comment '外部系统编码',
  `eqpt_type`       varchar(16)     not null                     comment '电气符号代码',
  `eqpt_spec`       varchar(64)     default null                 comment '电气型号',
  `rated_voltage`   int             default null                 comment '额定电压',
  `rated_current`   int             default null                 comment '额定电流',
  `ancestors`       varchar(256)    default null                 comment '祖籍列表',
  `parent_eqpt`     varchar(32)     default null                 comment '上级电气件',
  `sub_circuit`     varchar(64)     default null                 comment '下级支路',
  primary key (`id`),
  unique key ux_box_elec_eqpt(`box_code`,`eqpt_code`)
) engine=innodb auto_increment=1 comment = '动力箱柜电气设备表';


-- ----------------------------
-- 能源策略表
-- ----------------------------
drop table if exists adm_op_energy_strategy;
create table adm_op_energy_strategy  (
  `id`                bigint(20)      not null auto_increment      comment '序号',
  `strategy_code`     varchar(16)     not null                     comment '策略代码',
  `strategy_name`     varchar(32)     not null                     comment '策略名称',
  `strategy_desc`     varchar(128)    default null                 comment '策略描述',
  `strategy_type`     int             not null                     comment '1:源网协调，2：源荷互动',
  `exec_mode`         int             not null                     comment '0：固定策略 1：规则引擎 2：定时执行（cron）99：手动执行',
  `exec_rule`         varchar(64)     default null                 comment '执行规则',
  `allow_modify`      boolean         not null                     comment '允许修改标记',
  `create_time`       datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`       datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_op_energy_strategy_code(`strategy_code`)
) engine=innodb auto_increment=1 comment = '能源策略表';


-- ----------------------------
-- 能源策略步骤
-- ----------------------------
drop table if exists adm_op_energy_strategy_step;
create table adm_op_energy_strategy_step  (
  `id`                bigint(20)      not null auto_increment      comment '序号',
  `strategy_code`     varchar(16)     not null                     comment '策略代码',
  `step_code`         varchar(16)     not null                     comment '步骤代码',
  `step_name`         varchar(32)     not null                     comment '步骤名称',
  `step_index`        int             not null                     comment '步骤顺序',
  `step_handler`      varchar(128)    not null                     comment '步骤处理',
  `step_param`        varchar(256)    default null                 comment '步骤参数',
  `target_facs`       varchar(16)     default null                 comment '目标设施',
  `target_device`     varchar(16)     default null                 comment '目标设备',
  `create_time`       datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`       datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_op_energy_strategy_step_key(`strategy_code`,`step_code`,`step_index`)
) engine=innodb auto_increment=1 comment = '能源策略步骤';


-- ----------------------------
-- 能源策略步骤
-- ----------------------------
drop table if exists adm_op_energy_strategy_step;
create table adm_op_energy_strategy_step  (
  `id`                bigint(20)      not null auto_increment      comment '序号',
  `strategy_code`     varchar(16)     not null                     comment '策略代码',
  `step_code`         varchar(16)     not null                     comment '步骤代码',
  `step_name`         varchar(32)     not null                     comment '步骤名称',
  `step_index`        int             not null                     comment '步骤顺序',
  `step_handler`      varchar(128)    not null                     comment '步骤处理',
  `step_param`        varchar(256)    default null                 comment '步骤参数',
  `target_facs`       varchar(16)     default null                 comment '目标设施',
  `target_device`     varchar(16)     default null                 comment '目标设备',
  `create_time`       datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`       datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_op_energy_strategy_step_key(`strategy_code`,`step_code`,`step_index`)
) engine=innodb auto_increment=1 comment = '能源策略步骤';


-- ----------------------------
-- 碳核算账户配置表
-- ----------------------------
drop table if exists adm_ems_carbon_account_cfg;
create table adm_ems_carbon_account_cfg  (
  `id`                  bigint(20)      not null auto_increment      comment '序号',
  `cfg_code`            varchar(128)    not null                     comment '配置代码',
  `definition`          varchar(32)     not null                     comment '定义',
  `emission_activity`   varchar(32)     not null                     comment '排放活动',
  `emission_source`     varchar(32)     not null                     comment '排放源',
  `gas_category`        varchar(128)    not null                     comment '气体类别',
  `factor_value`        double          default null                 comment '排放因子',
  `create_time`         datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`         datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`)
) engine=innodb auto_increment=1 comment = '碳核算账户配置表';

INSERT INTO `adm_ems_carbon_account_cfg` (`cfg_code`, `definition`, `emission_activity`, `emission_source`, `gas_category`, `factor_value`) VALUES ('direct.gas.statCombustion', '直接温室气体排放', '固定源化石燃料燃烧排放', '柴油发电机', 'CO₂', null);
INSERT INTO `adm_ems_carbon_account_cfg` (`cfg_code`, `definition`, `emission_activity`, `emission_source`, `gas_category`, `factor_value`) VALUES ('direct.gas.movCombustion', '直接温室气体排放', '移动源化石燃料燃烧排放', '柴油发电机', 'CH₄,N₂O', null);
INSERT INTO `adm_ems_carbon_account_cfg` (`cfg_code`, `definition`, `emission_activity`, `emission_source`, `gas_category`, `factor_value`) VALUES ('indirect.gas.electricity', '间接温室气体排放', '外购电力生产消耗排放', '外购电力使用', 'CO₂', null);


-- ----------------------------
-- 能源设施告警表策略表
-- ----------------------------
drop table if exists adm_op_alarm_policy;
create table adm_op_alarm_policy  (
  `id`                      bigint(20)      not null auto_increment      comment '序号',
  `policy_code`             varchar(16)     not null                     comment '策略代码',
  `policy_name`             varchar(32)     not null                     comment '策略名称',
  `alarm_obj_type`          int             not null                     comment '告警对象类型',
  `alarm_obj_index`         varchar(64)     not null                     comment '告警对象指标',
  `alarm_rule_type`         int             default null                 comment '告警规则 1：大于 2：小于',
  `alarm_threshold_value`   double          default null                 comment '告警阈值',
  `alarm_code`              varchar(64)     default null                 comment '告警代码',
  `alarm_msg`               varchar(200)    default null                 comment '告警描述',
  `alarm_type`              int             default null                 comment '告警类型 1：一般告警 2：重要告警 3：紧急告警 4：恢复告警 5：诊断告警 6：其他告警',
  primary key (`id`)
) engine=innodb auto_increment=1 comment = '能源设施告警表策略表';


-- ----------------------------
-- 能源设施告警表
-- ----------------------------
drop table if exists adm_op_alarm;
create table adm_op_alarm  (
  `id`                  bigint(20)      not null auto_increment      comment '序号',
  `area_code`           varchar(32)     not null                     comment '园区代码',
  `system_code`         varchar(16)     default null                 comment '子系统代码',
  `obj_type`            int             not null                     comment '对象类型 0：园区，1：区块，2：设施，3：设备',
  `obj_code`            varchar(32)     not null                     comment '对象代码',
  `alarm_date`          date            default null                 comment '告警日期',
  `alarm_time`          datetime        default null                 comment '告警时间',
  `alarm_code`          varchar(64)     default null                 comment '告警代码',
  `alarm_msg`           varchar(64)     default null                 comment '告警描述',
  `alarm_type`          int             default null                 comment '告警类型 1：一般告警 2：重要告警 3：紧急告警 4：恢复告警 5：诊断告警 6：其他告警',
  `alarm_state`         int             default null                 comment '告警状态 0-新增，1-处置中，2-已处置，3-消散',
  primary key (`id`),
  key inx_op_alarm_date(`alarm_date`)
) engine=innodb auto_increment=1 comment = '能源设施告警表';


-- ----------------------------
-- 巡检任务表
-- ----------------------------
drop table if exists adm_op_inspection_task;
create table adm_op_inspection_task (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `task_code`       varchar(64)     not null                     comment '任务代码',
  `task_name`       varchar(16)     not null                     comment '任务名称',
  `task_type`       int             default null                 comment '任务类型 1：自动，2：手动',
  `task_status`     int             default null                 comment '任务名称 0：未执行 1：执行中 2：已完成',
  `start_time`      datetime        default null                 comment '开始时间',
  `end_time`        datetime        default null                 comment '结束时间',
  `executor`        varchar(32)     default null                 comment '执行人',
  `obj_type`        int             default null                 comment '0：园区，1：区块，2：设施',
  `obj_code`        varchar(16)     default null                 comment '对象编码',
  `obj_name`        varchar(64)     default null                 comment '对象名称',
  primary key (`id`),
  unique key ux_op_inspection_task_code(`task_code`)
) engine=innodb auto_increment=1 comment = '巡检任务表';


-- ----------------------------
-- 巡检报告表
-- ----------------------------
drop table if exists adm_op_inspection_report;
create table adm_op_inspection_report (
  `id`              bigint(20)      not null auto_increment      comment '序号',
  `task_code`       varchar(64)     not null                     comment '任务代码',
  `result_status`   int             not null                     comment '结果状态 0：正常  1：异常',
  `result_msg`      text            default null                 comment '结果描述',
  `finish_time`     datetime        default null                 comment '完成时间',
  `sub_time`        datetime        default null                 comment '提交时间',
  `submitter`       varchar(32)     default null                 comment '提交人',
  primary key (`id`),
  key inx_op_inspection_report(`task_code`)
) engine=innodb auto_increment=1 comment = '巡检报告表';


-- ----------------------------
-- 设备台账表
-- ----------------------------
drop table if exists adm_ems_device_rbook;
create table adm_ems_device_rbook (
  `id`               bigint(20)      not null auto_increment      comment '序号',
  `record_code`      varchar(32)     not null                     comment '记录编号',
  `obj_type`         int             not null                     comment '对象类型 1：设施 2：设备',
  `obj_code`         varchar(32)     not null                     comment '对象代码',
  `obj_name`         varchar(64)     default null                 comment '对象名称',
  `ins_location`     varchar(128)    default null                 comment '安装位置',
  `maintain_title`   varchar(128)    not null                     comment '维护标题',
  `maintain_content` text            default null                 comment '维护内容',
  `maintain_person`  varchar(32)     default null                 comment '维护人',
  `create_time`      datetime        default null                 comment '创建时间',
  `update_time`      datetime        default null                 comment '更新时间',
  primary key (`id`),
  key inx_ems_device_rbook(`record_code`)
) engine=innodb auto_increment=1 comment = '设备台账表';


-- ----------------------------
-- 对象&标签关系表
-- ----------------------------
drop table if exists adm_obj_tag_rel;
create table adm_obj_tag_rel (
  `tag_type`         int             not null                     comment '标签类型',
  `tag_code`         varchar(64)     not null                     comment '标签代码',
  `obj_code`         varchar(64)     not null                     comment '对象代码',
  key inx_obj_tag_rel(`tag_type`, `tag_code`)
) engine=innodb auto_increment=1 comment = '对象&标签关系表';


-- ----------------------------
-- 抄表记录表
-- ----------------------------
drop table if exists adm_meter_reading;
create table adm_meter_reading (
  `id`               bigint(20)      not null auto_increment      comment '序号',
  `device_code`      varchar(16)     not null                     comment '计量设备code',
  `area_code`        varchar(16)     not null                     comment '服务区代码',
  `year`             varchar(4)      not null                     comment '年份yyyy',
  `meter_month`      varchar(6)      not null                     comment '计量月yyyyMM',
  `last_reading`     int             default null                 comment '上次示数',
  `last_time`        date            default null                 comment '上次抄表日期',
  `meter_reading`    int             not null                     comment '抄表值',
  `meter_time`       date            not null                     comment '本次抄表日期',
  `increase`         int             not null                     comment '增量',
  `create_time`      datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`      datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  key meter_reading_manual(`device_code`)
) engine=innodb auto_increment=1 comment = '抄表记录表';


-- ----------------------------
-- 对象&标签关系表
-- ----------------------------
drop table if exists adm_obj_tag_rel;
create table adm_obj_tag_rel (
  `tag_type`         int             not null                     comment '标签类型',
  `tag_code`         varchar(64)     not null                     comment '标签代码',
  `obj_code`         varchar(64)     not null                     comment '对象代码',
  key inx_obj_tag_rel(`tag_type`, `tag_code`)
) engine=innodb auto_increment=1 comment = '对象&标签关系表';


-- ----------------------------
-- 服务区用电属性表
-- ----------------------------
drop table if exists adm_area_elec_attr;
create table adm_area_elec_attr (
  `id`                   bigint(20)      not null auto_increment       comment '序号',
  `area_code`            varchar(32)     not null                      comment '园区代码',
  `price_code`           varchar(16)     not null                      comment '价格编码',
  `req_capacity_flag`    int             default 0                     comment '容（需）量标识',
  `trans_capacity`       double          default null                  comment '变压器容量（千伏安·月）',
  `req_quantity`         double          default null                  comment '最大需量（千瓦·月）',
  `create_time`         datetime         default CURRENT_TIMESTAMP     comment '创建时间',
  `update_time`         datetime         default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_area_elec_attr(`area_code`)
) engine=innodb auto_increment=1 comment = '服务区用电属性表';


-- ----------------------------
-- 国网电价配置表
-- ----------------------------
drop table if exists adm_gw_elecprice_config;
create table adm_gw_elecprice_config (
  `id`                    bigint(20)      not null auto_increment      comment '序号',
  `cfg_code`              varchar(4)      not null                     comment '配置代码',
  `elec_type`             int             not null                     comment '用电分类 1-居民 2-农业 3-工业单一制 4-工业两部制',
  `voltage_level`         varchar(32)     not null                     comment '电压等级',
  `degree_price`          double          not null                     comment '电度用电价格',
  `fs_peak_degree_price`  double          default null                 comment '分时尖峰时段价格',
  `fs_high_degree_price`  double          default null                 comment '分时高峰时段价格',
  `fs_flat_degree_price`  double          default null                 comment '分时平峰时段价格',
  `fs_low_degree_price`   double          default null                 comment '分时低谷时段价格',
  `max_req_price`         double          default null                 comment '最大需量用电价格',
  `trans_capacity_price`  double          default null                 comment '变压器容量用电价格',
  primary key (`id`),
  unique key ux_gw_elecprice_config(`cfg_code`)
) engine=innodb auto_increment=1 comment = '电价配置表';


-- ----------------------------
-- 光伏电价配置表
-- ----------------------------
drop table if exists adm_pv_elecprice_config;
create table adm_pv_elecprice_config (
  `id`                    bigint(20)      not null auto_increment      comment '序号',
  `cfg_code`              varchar(16)      not null                    comment '配置代码',
  `price_name`            varchar(32)     not null                     comment '价格名称',
  `obj_price`             double          default null                 comment '对象价格',
  `state_subsidy`         double          default null                 comment '国家补贴',
  `local_subsidy`         double          default null                 comment '地方补贴',
  primary key (`id`),
  unique key ux_pv_elecprice_config(`cfg_code`)
) engine=innodb auto_increment=1 comment = '光伏电价配置表';


-- ----------------------------
-- 电价策略表
-- ----------------------------
drop table if exists adm_elecprice_strategy;
create table adm_elecprice_strategy (
  `id`                   bigint(20)      not null auto_increment      comment '序号',
  `strategy_code`        varchar(32)     not null                     comment '策略代码',
  `strategy_name`        varchar(16)     not null                     comment '策略名称',
  `strategy_desc`        varchar(128)    default null                 comment '策略描述',
  `repeat_type`          int             not null                     comment '重复类型',
  `repeat_param`         varchar(128)    default null                 comment '重复参数',
  `priority`             int             default 0                    comment '优先级',
  `edit_flag`            int             default 1                    comment '编辑标识',
  `create_time`          datetime        default CURRENT_TIMESTAMP    comment '创建时间',
  `update_time`          datetime        default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
  primary key (`id`),
  unique key ux_elecprice_strategy(`strategy_code`)
) engine=innodb auto_increment=1 comment = '电价策略表';


-- ----------------------------
-- 电价策略小时表
-- ----------------------------
drop table if exists adm_elecprice_strategy_hour;
create table adm_elecprice_strategy_hour (
  `id`                   bigint(20)      not null auto_increment      comment '序号',
  `strategy_code`        varchar(16)     not null                     comment '策略代码',
  `start_time`           time            not null                     comment '开始时间',
  `end_time`             time            not null                     comment '结束时间',
  `type`                 int             not null                     comment '计量类型',
  primary key (`id`)
) engine=innodb auto_increment=1 comment = '电价策略小时表';


-- ----------------------------
-- 商户能源计费配置
-- ----------------------------
drop table if exists adm_co_charging_config;
create table adm_co_charging_config (
  `id`                    bigint(20)      not null auto_increment      comment '序号',
  `area_code`             varchar(16)     not null                     comment '服务区代码',
  `elec_unit_price`       double          not null                     comment '电计量单价 1度',
  `elec_gt_compute_type`  int             not null                     comment '电公摊计算类型',
  `elec_compute_desc`     varchar(200)    default null                 comment '电费计算说明',
  `water_unit_price`      double          not null                     comment '水计量单价 1吨',
  `water_gt_compute_type` int             not null                     comment '水公摊计算类型',
  `water_compute_desc`    varchar(200)    default null                 comment '水费计算说明',
  primary key (`id`),
  unique key ux_co_charging_config(`area_code`)
) engine=innodb auto_increment=1 comment = '商户能源计费配置';


-- ----------------------------
-- 商户能源计费关系表
-- ----------------------------
drop table if exists adm_co_charging_config_rel;
create table adm_co_charging_config_rel (
  `price_cfg_id`          bigint(20)      not null auto_increment      comment '计费序号',
  `zoning_code`           varchar(16)     not null                     comment '区块编码',
  unique key ux_co_emsprice_config_rel(`price_cfg_id`, `zoning_code`)
) engine=innodb comment = '商户能源计费关系表';


-- ----------------------------
-- 电网供应计量表
-- ----------------------------
drop table if exists adm_ems_pg_supply_h;
create table adm_ems_pg_supply_h (
  `id`                 bigint(20)      not null auto_increment      comment '序号',
  `area_code`          varchar(16)     not null                     comment '园区代码',
  `facs_code`          varchar(16)     not null                     comment '设施代码',
  `date`               date            not null                     comment '日期 yyyy-MM-dd',
  `time`               time            not null                     comment '时间 HH:mm:ss',
  `time_index`         int             not null                     comment '时间序列',
  `meter_type`         int             default null                 comment '计量类型 -1：低谷电 0：平峰电 1：高峰电 2：尖峰电',
  `meter_unit_price`   double          default null                 comment '单位电价（1度电）',
  `use_elec_quantity`  double          default null                 comment '用电量 单位：kW-h（千瓦时）',
  `use_elec_cost`      double          default null                 comment '用电电费 单位: ￥（元）',
  primary key (`id`),
  unique key ux_ems_pg_supply_h(`area_code`, `facs_code`, `date`, `time_index`)
) engine=innodb auto_increment=1 comment = '电网供应计量表-小时';


-- ----------------------------
-- 光伏并网计量表
-- ----------------------------
drop table if exists adm_ems_pv_supply_h;
create table adm_ems_pv_supply_h (
  `id`                 bigint(20)      not null auto_increment      comment '序号',
  `area_code`          varchar(16)     not null                     comment '园区代码',
  `facs_code`          varchar(16)     not null                     comment '设施代码',
  `date`               date            not null                     comment '日期 yyyy-MM-dd',
  `time`               time            not null                     comment '时间 HH:mm:ss',
  `time_index`         int             not null                     comment '时间序列',
  `up_unit_price`      double          default null                 comment '单位电价（1度电）',
  `gen_elec_quantity`  double          default null                 comment '发电量 单位：kW-h（千瓦时）',
  `use_elec_quantity`  double          default null                 comment '自用电量 单位：kW-h（千瓦时）',
  `up_elec_quantity`   double          default null                 comment '上网电量 单位：kW-h（千瓦时）',
  `up_elec_earn`       double          default null                 comment '上网收益 单位: ￥（元）',
  primary key (`id`),
  unique key ux_ems_pg_supply_h(`area_code`, `facs_code`, `date`, `time_index`)
) engine=innodb auto_increment=1 comment = '光伏并网计量表光伏并网计量表-小时';


-- ----------------------------
-- 用能计量表
-- ----------------------------
drop table if exists adm_ems_facs_use_h;
create table adm_ems_facs_use_h (
  `id`                 bigint(20)      not null auto_increment      comment '序号',
  `area_code`          varchar(16)     not null                     comment '园区代码',
  `facs_code`          varchar(16)     not null                     comment '设施代码',
  `date`               date            not null                     comment '日期 yyyy-MM-dd',
  `time`               time            not null                     comment '时间 HH:mm:ss',
  `time_index`         int             not null                     comment '时间序列',
  `elec_quantity`      double          default null                 comment '用电量 单位：kW-h（千瓦时）',
  primary key (`id`),
  unique key ux_ems_facs_use_h(`area_code`, `facs_code`, `date`, `time_index`)
) engine=innodb auto_increment=1 comment = '用能计量表-小时';


-- ----------------------------
-- 储能计量表
-- ----------------------------
drop table if exists adm_ems_elec_store_h;
create table adm_ems_elec_store_h (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      time            not null                     comment '时间 HH:mm:ss',
  `time_index`                int             not null                     comment '时间序列',
  `charge_elec_quantity`      double          default null                 comment '充电电量 单位：kW-h（千瓦时）',
  `discharge_elec_quantity`   double          default null                 comment '放电电量 单位：kW-h（千瓦时）',
  primary key (`id`),
  unique key ux_ems_elec_store_h(`area_code`, `facs_code`, `date`, `time_index`)
) engine=innodb auto_increment=1 comment = '储能计量表-小时';


-- ----------------------------
-- 电能计量日表
-- ----------------------------
drop table if exists adm_ems_elec_meter_d;
create table adm_ems_elec_meter_d (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `total_use_quantity`        double          default null                 comment '总用电量 单位：kW-h（千瓦时）',
  `pg_quantity`               double          default null                 comment '电网供应电量 单位：kW-h（千瓦时）',
  `pv_gen_quantity`           double          default null                 comment '光伏发电电量 单位：kW-h（千瓦时）',
  `pv_online_quantity`        double          default null                 comment '光伏上网电量 单位：kW-h（千瓦时）',
  `pv_oneself_quantity`       double          default null                 comment '光伏自用电量 单位：kW-h（千瓦时）',
  `pg_cost`                   double          default null                 comment '电网电量花费 单位：￥（元）',
  `pv_online_earn`            double          default null                 comment '光伏上网营收 单位：￥（元）',
  `pv_oneself_save_cost`      double          default null                 comment '光伏自用节省支出 单位：￥（元）',
  primary key (`id`),
  unique key ux_ems_elec_meter_d(`area_code`, `date`)
) engine=innodb auto_increment=1 comment = '电能计量日表';


-- ----------------------------
-- 碳计量日表
-- ----------------------------
drop table if exists adm_ems_ca_meter_d;
create table adm_ems_ca_meter_d (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `ca_emission_quantity`      double          default null                 comment '碳排放量 单位：单位：kg（千克）',
  `ca_sink_quantity`          double          default null                 comment '碳汇量 单位：单位：kg（千克）',
  primary key (`id`),
  unique key ux_ems_elec_meter_d(`area_code`, `date`)
) engine=innodb auto_increment=1 comment = '碳计量日表';


-- ----------------------------
-- 能源指标范围表
-- ----------------------------
drop table if exists adm_ems_index_range;
create table adm_ems_index_range (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `obj_code`                  varchar(16)     not null                     comment '对象代码',
  `obj_type`                  int             not null                     comment '对象类型',
  `index_name`                varchar(64)     not null                     comment '指标名称',
  `index_desc`                varchar(200)    default null                 comment '指标描述',
  `index_upper_limit`         double          default null                 comment '指标上限',
  `index_lower_limit`         double          default null                 comment '指标下限',
  primary key (`id`),
  key ux_ems_elec_pg_index(`obj_code`)
) engine=innodb auto_increment=1 comment = '能源指标范围表';


-- ----------------------------
-- 电网设施指标表
-- ----------------------------
drop table if exists adm_ems_elec_pg_index;
create table adm_ems_elec_pg_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `voltage`                   double          default null                 comment '电压 单位：kV（千伏）',
  `electricity`               double          default null                 comment '电流 单位：A（安培）',
  `power`                     double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_ems_elec_pg_index(`facs_code`, `time`)
) engine=innodb auto_increment=1 comment = '电网设施指标表';


-- ----------------------------
-- 光伏设施指标表
-- ----------------------------
drop table if exists adm_ems_elec_pv_index;
create table adm_ems_elec_pv_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `voltage`                   double          default null                 comment '电压 单位：kV（千伏）',
  `electricity`               double          default null                 comment '电流 单位：A（安培）',
  `power`                     double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_ems_elec_pg_index(`facs_code`, `time`)
) engine=innodb auto_increment=1 comment = '光伏设施指标表';


-- ----------------------------
-- 储能设施指标表
-- ----------------------------
drop table if exists adm_ems_elec_store_index;
create table adm_ems_elec_store_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `input_voltage`             double          default null                 comment '输入电压 单位：kV（千伏）',
  `input_electricity`         double          default null                 comment '输入电流 单位：A（安培）',
  `output_voltage`            double          default null                 comment '输出电压 单位：kV（千伏）',
  `output_electricity`        double          default null                 comment '输出电流 单位：A（安培）',
  `current_capacity`          double          default null                 comment '当前容量 单位：kW-h（千瓦·时）',
  primary key (`id`),
  unique key ux_ems_elec_store_index(`facs_code`, `time`)
) engine=innodb auto_increment=1 comment = '储能设施指标表';


-- ----------------------------
-- 电力负荷设施指标表
-- ----------------------------
drop table if exists adm_ems_elec_load_index;
create table adm_ems_elec_load_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `voltage`                   double          default null                 comment '电压 单位：kV（千伏）',
  `electricity`               double          default null                 comment '电流 单位：A（安培）',
  `power`                     double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_ems_elec_load_index(`facs_code`, `time`)
) engine=innodb auto_increment=1 comment = '电力负荷设施指标表';


-- ----------------------------
-- 动力箱指标表
-- ----------------------------
drop table if exists adm_ems_elec_box_index;
create table adm_ems_elec_box_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `box_code`                  varchar(32)     not null                     comment '箱体代码',
  `box_type`                  int             not null                     comment '箱体类型',
  `area_code`                 varchar(16)     not null                     comment '服务区代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `voltage_a`                 double          default null                 comment '电压(A相) 单位：V（伏）',
  `voltage_b`                 double          default null                 comment '电压(B相) 单位：V（伏）',
  `voltage_c`                 double          default null                 comment '电压(C相) 单位：V（伏）',
  `electricity_a`             double          default null                 comment '电流(A相) 单位：A（安培）',
  `electricity_b`             double          default null                 comment '电流(B相) 单位：A（安培）',
  `electricity_c`             double          default null                 comment '电流(C相) 单位：A（安培）',
  `power`                     double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_elec_box_index(`box_code`, `time`)
) engine=innodb auto_increment=1 comment = '动力箱指标表';


-- ----------------------------
-- 动力箱元器件指标表
-- ----------------------------
drop table if exists adm_ems_elec_box_eqpt_index;
create table adm_ems_elec_box_eqpt_index (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `box_code`                  varchar(32)     not null                     comment '箱体代码',
  `eqpt_code`                 varchar(32)     not null                     comment '元件代码',
  `area_code`                 varchar(16)     not null                     comment '服务区代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `time`                      datetime        not null                     comment '时间 yyyy-MM-dd HH:mm:ss',
  `voltage`                   double          default null                 comment '电压 单位：V（伏）',
  `current`                   double          default null                 comment '电流 单位：A（安培）',
  `power`                     double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_elec_box_eqpt_index(`box_code`, `eqpt_code`, `time`)
) engine=innodb auto_increment=1 comment = '动力箱元器件指标表';


-- ----------------------------
-- 电力产能预测表
-- ----------------------------
drop table if exists adm_ems_elec_prod_forecast;
create table adm_ems_elec_prod_forecast (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `facs_code`                 varchar(16)     not null                     comment '设施代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `elec_prod_quantity`        double          not null                     comment '发电量 单位：kW-h（千瓦·时）',
  `avg_power`                 double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_ems_elec_prod_forecast(`facs_code`, `date`)
) engine=innodb auto_increment=1 comment = '电力产能预测表';


-- ----------------------------
-- 电力消耗预测表
-- ----------------------------
drop table if exists adm_ems_elec_expend_forecast;
create table adm_ems_elec_expend_forecast (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `obj_code`                  varchar(32)     not null                     comment '对象代码',
  `obj_type`                  int             not null                     comment '1-建筑 2-设施 3-设备',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `elec_use_quantity`         double          default null                 comment '功率 单位：kW（千瓦）',
  primary key (`id`),
  unique key ux_ems_elec_expend_forecast(`obj_code`, `date`)
) engine=innodb auto_increment=1 comment = '电力消耗预测表';


-- ----------------------------
-- 碳排放预测表
-- ----------------------------
drop table if exists adm_ems_ca_emission_forecast;
create table adm_ems_ca_emission_forecast (
  `id`                        bigint(20)      not null auto_increment      comment '序号',
  `area_code`                 varchar(16)     not null                     comment '园区代码',
  `date`                      date            not null                     comment '日期 yyyy-MM-dd',
  `ca_emission`               double          default null                 comment '单位：kg（千克）',
  primary key (`id`),
  unique key ux_ems_ca_emission_forecast(`area_code`, `date`)
) engine=innodb auto_increment=1 comment = '碳排放预测表';